This post was previously on the Pathfinder Software site. Pathfinder Software changed its name to Orthogonal in 2016. Read more.
I’ve spent a bunch of time testing two nascent Mozilla Labs projects recently and thought I’d share my experiences, one awful and one awesome.
After casting aspersions on Mozilla’s progress in the mobile space yesterday, I thought I should probably back up my comments with a real-world example: my utter failure, after five attempts, to get Mozilla Weave up and running.
For those not yet acquainted with it, Mozilla Weave is an initiative to bind the Mozilla experience more tightly with web services. To date, that initiative has taken the form of a Firefox plug-in that syncs bookmarks, browser history and cookies between multiple machines through the power of the cloud. Eventually, Weave will provide a set of APIs for individual application and plugin developers to provide similar syncing mechanisms. But at this early stage, Weave is more demoware than anything else. The folks at Ars Technica took Weave for a spin several months ago, but despite subsequent updates, the plug-in still offers a complicated, error-prone and just plain broken user experience.
To install Weave, you must sign up for a user account, click a magical link in a confirmation email, follow a prompt to install the plugin, restart Firefox and then follow the instructions that appear. Unfortunately, in my case, despite five attempts with five separate registration email addresses and five separate uninstall/reinstall cycles, the steps never worked the way they were supposed to. I never got the chance to go through the Weave setup wizard and I was therefore never able to authenticate my Weave account within the browser plugin. Whenever I would attempt to manually set Weave up through its preferences pane, it would ask me for an encryption key that I had never previously set. Presumably, I would have chosen that encryption passphrase during the automatic setup process – had that process ever actually occurred.
I don’t know whether there’s a conflict between Weave and my other extensions or some other bug that is keeping me from completing the process. But 90 minutes of frustration later, I’m only too happy to return to Foxmarks for my bookmark-syncing needs.
All of the Weave documentation takes pains to announce that the product is still a prototype, not even an alpha or a beta. Still, it’s clear that Weave’s promise of a unified Firefox user experience across locations and devices is a long way from becoming a reality for early adopters, let alone mainstream users. I’d like to say I support Mozilla’s approach of releasing products into the wild at an early stage. But surely there should be at least the bare bones of a robust user experience before the open-source community is asked to road-test a service. From what I can tell, it takes a very precise set of steps to get Mozilla Weave set up and running. None of the fail safes – for instance, password recovery and the resending of confirmation emails – work yet.
I’m happy to report I’ve had a much better experience with Mozilla Prism, the recently rebranded WebRunner standalone runtime. Prism allows you to run multiple simultaneous instances of the Gecko rendering engine, one per web application, so that you can separate your actual web browsing from cloud-based apps such as Gmail and Remember the Milk. If your Gmail crashes in a Prism window, that doesn’t affect the 50 tabs you have open in Firefox.
Better yet, each Prism instance has its own separate cookie jar, so if you’ve got multiple identities at Google, Yahoo or other big service providers, you don’t constantly have to log out and log back in. You can log into Gmail as email@example.com while simultaneously logging into Google Code as firstname.lastname@example.org.
Setting up individual web apps within Prism is easy. You just launch Prism, enter the URL of your application, give it a nickname, and choose where to plop the shortcuts. Thereafter, each shortcut link acts like a shortcut to a desktop app, launching that web app in its own process with a minimal set of browser chrome. Prism windows don’t look that pretty yet, nor do they provide the full set of Firefox functionality. But for a large subset of the webapps you use on a daily basis, they do get the job done. There’s even a Firefox add-on that allows you to create Prism instances from within Firefox itself.
As with any prototype, Prism suffers from some wonkiness and less-than-ideal user experience. On Mac OS X, the Dock icon for each Prism instance gets pulled from the favicon of the associated web app. Those little 16×16 icons look terrible blown up to Dock size. Luckily, you can cut and paste Dock icons from the Get Info pane of other applications. I gave my Gmail Prism instance the Apple Mail icon, my Google Calendar instance the iCal icon, and so on. It’s not perfect, but at least it helps me differentiate my various Prism instances without making my eyes hurt.
It’s also hard to get used to the way Prism associates each instance with exactly one web app. Links from within that web app to other websites or applications will open up in your default browser. So you’ll have to get used to bouncing from Prism to various Firefox (or Safari, or whatever) tabs instead of just rotating through tabs in a single application. Still, once I got used to this limitation, it started to seem natural. Now, it’s the Gmail experience within Firefox that feels weird to me, not within Prism.
Prism and Firefox also sometimes play a shell game with each other. If Firefox is your default browser and you have a Prism instance running but don’t have Firefox up, OS X sometimes thinks your Prism process is Firefox. When you click a link in another application and expect it to open in Firefox, it instead tries to open in Prism. But because your running Prism instance is associated with a specific web app, all that gets opened is a blank Prism window. This happens to me with the NetNewsWire RSS reader all the time.
One final wrinkle occurs when you have Prism instances running and want to create a new one for a new web app. When you try to launch Prism the application, it simply activates one of your running Prism instances – say, Gmail. You must first quit all of your existing Prism web apps and then launch the Prism application itself to create new instances. Not a huge deal, but bewildering the first time you encounter it.
All these user-experience hiccups aside, Prism’s current 0.9 version number makes sense. It’s a cool idea that usually works as expected and is almost ready for prime time. I look forward to Mozilla Weave inching closer to that stage in its development; maybe by then, I’ll have the patience to give it another shot.