That’s essentially the question Cynthia, a friend of mine, asked me today. I’m gonna try to answer it as completely as possible here. Her exact question was the following:
I was just wondering if there are any significant differences between Apple Mac/ Windows PC / Linux based systems? I presume you’re all very familiar with each system and their compatibility?
Since this is obviously a vast topic, I asked her more precision about why she had this question.
I’m using Ubuntu on an originally Windows-based laptop. My fiance is using an iMac.
I got an auntie in Canada who needs court recordings transcribe with a specific format called Tulip which is not compatible to be used on Ubuntu nor the Mac so my fiance and I had to reboot his Mac into Windows in order to have that work done – now how do we resolve the compatibility issues between the three?
Sometimes I complete certain forms and have them sent back to the relevant people and they said they can’t open it with their Windows PC, problems with Open Office doc?
These are only the simple day to day examples of compatibility issues. but what if, on the commercial side of things, organisations need to improve their systems and ended up switch from Windows to Apple …. what are the consequences and how do they resolve any issues that may arise due to the differences in the two?Because the last thing you want is to have something as ’supposedly simple and easily resolved issues’ like compatibility to hinder progress or improvement or increase in efficiency by switching systems.
And she’s right, the problem is real as more and more people are using Macs as a personal computer but most companies have only PC’s on their network. So it’s an issue more and more IT departments are facing. Some just decide not to support those exotic computers… until VIP’s come to them with the same request: make it work!
First off, why are there several “types” of computers. The world would be so much easier if computers were all the same. Well, we all know the dangers of unique thought. Fortunately for us, the three main “kinds” of computers have philosophical roots. Windows was created with accessibility in mind (in the widest possible meaning). MacOS is all about quality of the user experience. Linux is all about freedom. But I’m going too far here. Cynthia probably doesn’t care about the historical roots of this situation. So let’s just start from there: we have different kinds of hardware running different brands of operating systems with various applications. How do we collaborate more efficiently in this heterogeneous world?
First of all, let’s talk about applications. There are a lot of very common applications that have versions for most popular systems out there. For example, Microsoft Office has a Mac version in addition to its more widespread Windows version. It’s not the same at all, it’s usually lacking behind in terms of features, but the fact that it comes from the same software vendor is a guarantee that documents created with Office on Windows can be edited with Office on the Mac… to a certain extent. It’s the same for Adobe’s Creative Suite for example. Now those versions have to be profitable for the software vendor. Microsoft wouldn’t have invested in building a Mac version of Office if it could sell only a few hundred copies at a few hundred bucks. And some very specific applications are just not worth the additional investment. So some software vendors simply choose to develop one version of their application for the most widely spread system in their target. Most of the time it’s Windows, but on certain markets, it’s the Mac (like in advertisement for example).
For example, there is no version of Microsoft Office for Linux systems. Why? Simply because very few potential customers for Office are using Linux. Linux is very popular on server, on software developer machines and so on, but those markets are not big enough for Microsoft to invest money in them. Luckily for us, there is another kind of compatility: format compatibility. In other words, some applications can work with various files and documents in formats they didn’t create themselves. For example, Sun Microsystems sponsors the development of a free application, Open Office, that can open and edit Microsoft Office documents. And the good news is that Open Office is available on all three popular systems out there, Windows, Mac and Linux. Open Office has even created its own open standard documents formats in order to ease the exchange between heterogeneous platforms. Now the problem is that, even though building format-level compatibility is much less expensive than actually building a whole version of an application for another system, because it’s done by different companies, competition issues are at stake. For example, Microsoft is not really willing to disclose information about how Word documents are formatted, which forces Sun Microsystem to “guess” it. And sometimes they don’t guess it well. That’s why some more complex documents are hardly interoperable between applications and platforms, even though they’re supposed to be.
So what do you do when you really need to open a document with the original application with which it was created (like for this Tulip format). Of course there’s always the solution to install several systems on you computer and switch between them depending on the applications you need. But not all systems run easily on all machines, and switching is a long and exclusive process. That’s why there’s a new hope now: virtual machines. Some software vendors have been building applications that emulate the hardware they’re running on. With those virtual machines, you can for instance run Windows within MacOSX, or Windows within Linux, and have all sorts of different tools to ease the exchange of files between both systems. Now of course there is a downside: an operating system is a pretty heavy beast. It eats up a lot of hardware resources like memory, hard drive space and computation time. So running virtual machines usually requires higher end hardware. Have a lot at Parallels or VMWare for cheap and easy-to-use virtual machines.
Last but not least, let’s go beyond the apparent issue. We have been using different kinds of computers with different systems for decades now, so why are compatibility and interoperability issues becoming more and more present now? Because of the Internet. Internet makes it easier for us to collaborate beyond the boundaries of our company and its homogeneous environment, even outside of any company. So we’re slowly leaving a world in which we were keeping our files and documents to ourselves, or sharing them only with our colleagues, towards a more collaborative world. And of course our first solution to that problem is to share files, email attachments and so on, leading to the compability issues we have been talking about here. But what if we could just collaborate directly, without using files and messages. It exists, and we call it “The Cloud”. It’s a rather new trend, that have been gaining a lot of momentum over the past few years: more and more software vendors are building applications directly on the Internet. Not applications that you need to install on your local machines, that saves files and sends messages to collaborate. But applications that are installed onto some sort of giant virtual machine and that many users can use at the same time. Google documents, Acrobat.com or Office Live Workspace are examples of such cloud-based applications. And it’s just the beginning because software vendors are already working on whole new ways to collaborate and communicate, like Google Wave.
So to sum it up, dear Cynthia, there are at least 4 generic solutions to your compatibility issues between Windows, Linux, Mac and all:
- First look for a version of the application you need for your system created by the same vendor that created the application used by whoever sent you that document. If you need to know if there is such a version for a specific application, feel free to ask me.
- Second, look for other applications that work on your system, created by other software vendors, but which know how to work with the same file format. If you need such compatible applications for a specific file format, don’t hesitate to ask me: I have several lists of compatible applications. You can also use filext.com.
- If no other version or application can deal with the file you collaborate on, try installing the original system and application withing a virtual machine, and possibly upgrade your hardware so that it can take the load without making your collaboration too slow. I’m there if you need advice on the best virtual machine for your hardware platform.
- Finally, if possible, look for online ways to collaborate without usual applications and their compatibility issues. Once again, through my technology watch I know a lot of such cloud-based systems, so feel free to ask.
Finally, if you have any more questions regarding my answer, feel free to leave a comment. The same for all other experts out there, or other people having similar issues: this post is just the beginning of what I hope to be a giant discussion about compatibility issues and collaboration between heterogeneous computer platforms.
Oh, and if any of you readers has a remark, question or suggestion regarding XUL itself, please leave a comment over there.