Monday, December 1, 2008

software: desktop apps are hopelessly primitive

Against my better judgment I installed the free update to Norton 360 2.0. At one point it showed a dialog

What is a subscription?

You have 140 days of subscription remaining.

You can sign in to your Norton Account at any time by visiting www.myNortonAccount.com

Let's count the ways that this fails:
  • I can't hover over the "What is" link to see where it goes
  • I can't right-click on the link to get a context menu to copy the link location
  • So there's no way to determine if clicking that link will open a new window or replace the current one, and no way to control what happens
  • I can't zoom the text
  • I can't View > Source the text
  • I can't save the HTML of the dialog as a record of my subscription status
  • I can't select and copy the text to record my subscription status
I'd get all this for free if the application was a Web application, or Powered by Mozilla.

I cringe every time I run software that doesn't run in the browser.

Now's a good time to remind people you don't need MS Office. Write your next letter or presentation or spreadsheet on the web, in your browser, for free, using Google Docs or one of its competitors.

Labels: , ,

Friday, August 8, 2008

web: XULRunner means every app can be a Firefox app

The most excellent Firefox browser (see my tips) is built on Mozilla code. So is the Thunderbird e-mail client, and a bunch of other applications are “powered by Mozilla”. The name for the underlying code to talk to the network, render HTML, display controls, etc. is XULRunner.

An app powered by Mozilla is better than most Windows apps. As I've complained on the IntarWub
I wish my native apps worked as well as web apps in Firefox: ubiquitous text selection, spell-checking in every field, smart zooming, superb auto-update, user data cleanly separated in profiles, and powerful notions like bookmarking, caching, etc. But they don’t, they’re CRAP in comparison. I hate leaving the browser to screw around in native apps like iTunes, media players, and Norton Justshootme Virus. Then, to add insult to injury, these native apps are peppered with web links that don’t have Firefox’s context menu and so lack vital commands like “Bookmark this link” and “Copy link location”.
If native apps used the underlying code of Firefox, they'd work more like it and be better. However, Mozilla-based apps are heavier than they need to be:
  • another .exe installer
  • another copy of the XULRunner code on disk (18MB!) and in memory that you have to update.
There is a way to keep them lightweight, which is to run the application off the XULRunner code in Firefox. Firefox has an undocumented -app command line option to run a XULRunner application using the platform code that came with Firefox 3. (See my post about standalone ChatZilla for an example).

Strangely, Mozilla Corp and third-party vendors put no effort into promoting this. Mozilla folk seem to love extensions that improve Firefox, they have a Firefox extension called Prism that lets you turn Web sites that are sophisticated "Web applications" (like GMail) into icons on the desktop, and they tolerate Mozilla-based applications. But the idea of "use your Firefox code to run lightweight local applications" is well-hidden. Maybe they're afraid of tying other products to Firefox requirements and upgrade schedules, or they assume disk space and memory is "cheap"

The best future is one where Firefox and Thunderbird ship as just another relatively small application that runs off a "central" XULRunner binary, same as all other "powered by Mozilla" applications. That's how the Browse activity on my One Laptop Per Child XO machine works.

One platform to rule them all

I realize you have to pick your battles and Mozilla has to focus on making great products that give users a better Internet experience. But it would be a shame if the solid, coherent, Web-friendly XULRunner platform lost out because it didn't promote itself. Fortunately there's next to no money in platforms (just bragging rights, lock-in, and mindshare) so no one else is trying too hard. The competitors:
  • Every few years Microsoft promotes a different platform for building applications, currently it's Silverlight. No thanks, I keep declining it in Windows Update.
  • Macromedia/Adobe has spent years getting people to write Flash-based applications, first as lightweight gadgets in Macromedia Central, then as Adobe AIR. But text and scrollbars alone in Flash are so jarringly inconsistent that I find Flash apps uncomfortable.
  • Sun's Java is still around on the desktop, I think I have Eclipse and maybe BitTorrent apps using it.
One development that could quickly bring the promised land of all Mozilla-powered apps all the time are the coming low-cost 4PCs (power-performance-price-portability) and network tablets. Once you put Firefox or a Gecko-based browser on these, you've got that 18MB of code in memory, so reuse it to create the small fraction of your computing that isn't Web browsing. That's the vision behind this fantasy? Firefox web tablet.

Labels: , ,

Tuesday, August 5, 2008

web: Chat powered by Firefox's XULRunner

I want all my applications to work as well as Firefox by running off its core technology. Here's an example of running an application off the XULRunner code built into Firefox. I've started using ChatZilla more to interact with OLPC and MediaWiki developers on IRC. This is available as a Firefox extension, but then it closes down when Firefox shuts down. The developer also provides it as a standalone XULRunner app separate from the XULRunner runtime. Although it's undocumented you can run it using your Firefox 3 code:
  1. download the XULRunner version of chatzilla
  2. unzip it (only 2.5 MB)
  3. In a command window, enter \path\to\firefox.exe -app \path\to\unpacked_chatzilla\application.ini
  4. Cool! You're executing a second instance of the firefox code, but it's running a different set of files
  5. To create a shortcut for it (Windows)
    1. Explore your Firefox folder in the Start menu
    2. Copy the Firefox shortcut, rename it Chatzilla XULRunner on Firefox
    3. In the shortcut's Properties, change Target to \path\to\firefox.exe -app application.ini and Start in to \path\to\unpacked_chatzilla
    4. click Change Icon and navigate to \path\to\unpacked_chatzilla\chrome\icons\default and choose the chatzilla .ico as the icon
If this is too geeky, don't worry about it. (Just download and run those “powered by Mozilla” applications like Songbird music player, Miro, etc. Disk and memory are cheap.)

Labels: , ,