Tuesday, May 17, 2005
As a Mac user, my heart sank a little when I first saw the post about the Google Video Upload Program. Clearly, the concept is cool. It was just that all-too-ubiquitous .exe file you must run to upload your videos. Of course I know that something like 90% of the desktop/notebook computers sold today run Windows. But in my circle of friends (admittedly a small one -- I blame the caffeine), almost everyone uses a Mac, and the rest use Linux or some other UNIX-like substance. Anyhow, this Video announcement inevitably led to a lot of flak (again) from my friends about how Google was shipping yet another Windows-only application. "I thought Google has lots of smart developers." "Doesn't Google know how to write platform independent software?" Blah, blah, blah.
But this time, I took it as a personal challenge. I shoot a lot of video, and I edit it on my Mac. How hard could it be to write a compatible video uploader that would run everywhere? As I soon discovered, not very hard at all. After all, I have access to the C++ source code for the existing Windows-specific uploader, and I can spend my 20% time working on whatever I want. And I have plenty of experience writing portable code, given that I program in Java.
Java comes pre-installed on the vast majority of operating systems in use today, or it's available as a free download from Sun. And software written in Java really, really does work across all those platforms, as a decade of work by software developers can attest. The Java mantra "Write once, run anywhere" is a reality -- it just works. Java programs also tend to be less buggy than their C/C++ counterparts, and programmers working in Java are a lot more productive - but these are topics for another post.
Anyway, now you can sign up for the Google Video Uploader for Macintosh, and ditto for Linux (and UNIX and Solaris and HP-UX and AIX and lots of other platforms). The same sign-up page goes to to the Windows version too. So now I can ponder a different problem - namely, which of my videos I want to share with the world.