J-F Bilodeau's Blog @ chronogears.com

Thursday, September 25, 2008

Is Google Harming Linux

Google is a huge supporter of Linux and open source. They strive to ensure that their products work on Windows, Mac and Linux. However, it recently hit me that their cross-platform development may actually be harming the image of my favourite OS: Linux

Recently, Google released the Chrome browser. In my opinion, the fine developers at Google did a marvelous job re-inventing the browser on every level. After trying-out the browser, I must say that I am more than impressed. There is only one detail that annoys me: Chrome is only available on Windows. Google promises that it will eventually make its way into Linux and the Mac. But when?

This is what is harming Linux (and the Mac to some degree). I personally feel that it was a mistake to release Chrome for Windows only. That seems to communicate that development on Linux is very difficult compared to Windows. I agree that there are important differences between both operating system, but there is a slew of open-source cross-platform libraries that could have been used to permit a simultaneous release between Linux, Mac and Windows.

Google is not alone in that. The MyEclipse IDE, which runs on Linux, Mac and Windows, has some features that are either stripped down, or unavailable outside of Windows. Again, that communicates not only a lack of love towards my favourite OS, but it furthers the impression that Linux is a difficult platform to develop for.

It's true that Windows has a huge market share compare to the Mac or even Linux. Thus, there is more money in the Windows world. However, the Windows market share is slowly being eroded by Apple and even Linux. I'm a very poor prophet of the future, but current trends seems to indicate that alternative operating system will become very important. For example:
  • UMPC - Ultra-Mobile PCs. Many come with Linux pre-loaded thanks to the smaller foot-print.
  • Cell phones — Again, Windows is not very prominent there
  • The rising Apple market share
  • One word: Vista

I'm willing to bet that in not too long, development for alternate operating system will be seen as a necessity. This type of situation is not uncommon. I remember the web about 10 years ago. It was considered normal by web developers to code their HTML for Internet Explorer specifically. Today, that is a big no-no. I don't remember seeing one of the infamous 'Best View With...' button on a website in so long. Thank you W3C!
Another issue to keep in mind is the current distrust that many organizations and governments have with Microsoft. The OOXML fiasco has harmed ISO's reputation in a way that it may never recover, and Microsoft's tactic of committee stuffing has been well documented. The EU still have their eye on the behemoth, and even my province of birth is challenging Microsoft's dominance.
Microsoft may be the next IBM. They will not disappear tomorrow, or even after tomorrow, but their relevance and influence over the market will lessen over time. This will open the playing field for alternative operating system.
As a software house, you have two choice:
  1. Edge your bet on the Microsoft platform, and ignore the alternatives
  2. Develop products with cross-platform compatibility in mind

Which one are you going to choose? If you choose option 1, then get ready to fork out money into the four to five digits (at least) to buy the Windows development stack. That will typically include Windows (XP, Vista or Server), Visual Studio, Microsoft Office and so on.
On the other hand, most of the cross-platform development tools are open-source with optional corporate support if desired.

Labels: , , , , , ,

Wednesday, September 17, 2008

Wine Success Stories

I've had a bit too much Wine recently. Not the hard kind, but the soft(ware) kind. I'm talking about the Wine project, a great piece of software that allows a user to run Windows program natively on Linux. The name Wine is a recursive acronym that stands for Wine Is Not an Emulator. The reason for the name is to emphasize the fact that Wine does not 'emulate' Windows, but provides a translation layer instead. This means that instead of re-writing the Windows functionality (API) in Linux, Wine simply translate a regular Windows function into a regular Linux function. Thus, a Windows application running in Wine thinks it's running in Windows, however, whenever it asks Windows to perform a task, the request is processed by Linux. From the perspective of Linux, Wine is just another program that runs in memory. Linux will receive request from Wine, and execute them normally, not knowing that it comes from a Windows application.

Wine is also available for other operating system like the Mac.

In the past week alone, for different reasons, I ended up going back to Wine. Normally, I prefer to run native Linux applications. For example, I use OpenOffice instead of Microsoft Office, GIMP instead of PhotoShop and Eclipse instead of Visual Studio. Typically, an application written specifically for Linux will 'feel' natural and better integrate itself with my desktop. This is important since Linux is not Windows, Since there are things I can do in Linux that I can't do in Windows, I want to be able to take advantage of that!

I don't mind paying for a piece of software if I feel it's worthwhile. For example, I purchased a license for Mandriva Linux, Cedega and MyEclipse, even though they are mostly free software. I use free software because it is free as in free speech, not because it's free as in free beer. However, most of my money usually goes towards games.

Sure, I have a Wii and a PlayStation 2, and I enjoy both greatly. However, there are too many great games for the PC to ignore that market. Though many great games are available for Linux, like Doom 3, Unreal Tournament and Neverwinter Nights, many are not.

One such game is Morrowind. I shudder to think how many hours I wasted on that game. It's one of the main reasons I purchased Cedega in the first place. Cedega is a product based heavily on Wine that concentrates on providing as seamless an experience for running Windows games on Linux.

My loving wife is currently on maternity leave, taking care of Mr. George Henri. She selflessly invests much of the time taking care of the kid. But I don't want her to get overly bored. So, what is a husband to do to keep a wife busy? Buy her computer games, of course!

Labels: , , , ,