[Techtalk] Mozilla v. Firefox

jennyw jennyw at dangerousideas.com
Fri Jan 28 15:39:29 EST 2005


----- Original Message ----- 
From: "Carla Schroder" <carla at bratgrrl.com>
> So another way of asking the question is how do you avoid getting
> locked-in to a particular platform? Obviously Aieee is the king of
> lockin, and migrating away from it is going to cause pain and expense.
> Suppose you wake up one fine day, decide Firefox sucks, and want to
> move your Web apps to something else- how painful would it be? Can you
> really design complex Web applications to be browser-agnostic? 

Another question might be: Can you design Web applications so that
migrating from one browser to another is easy?  Designing Web
applications that target a particular browser is certainly an issue, but
I think a bigger design issue is the degree of coupling between the user
interface and the rest of the application. Not only does coupling affect
the ease of migration from one browser to another, but it can also
affect things like localization.  Although you can certainly write
applications in languages like PHP that completely separate presentation
from logic, it seems like it's common practice for a lot of programmers
to tightly couple user interface with code (and it can be argued that
languages like PHP our page-centric, or at least originally developed
that way). 

For example, it would be really difficult to migrate an application that
was targeted towards Internet Explorer if you'd have to change every
file that comprises the application.  However, if you separate your
logic from your interface, it might turn out that only a small portion
of your application needs to change (e.g., templates) to target another
browser.

Loose coupling in general is a really great idea.  In addition to
separating the UI from business logic, it also makes sense to separate
presentation from information.  Hence, the Semantic Web -- all of the
markup (e.g. HTML) is geared towards making sense from an information
standpoint.  Decorative (as opposed to illustrative) images, font
selection, and layout can all be done in CSS and JavaScript.

----- Original Message ----- 
From: "Akkana Peck" <akkana at shallowsky.com>

> technologies will obviously lock you in.  Using XUL will lock you in
> just as much, and the only difference is that with XUL, if you decide
> you hate mozilla and firefox, or if Mozilla.org decides to change the
> XUL spec in a way that creates problems for you, you do have the
> option of taking the source and forking your own app that does just
> what you want.  (But then you have to maintain it.)

That's a great point!  Just because it's open source, doesn't mean
you're not being locked in to a certain extent.  Maintaining something
as complicated as the user interface framework could be a lot of work,
possibly even more work that would be writing the business application
in the first place. 

I think in the case of applications requiring richer user interfaces
than Web pages typically can provide, the choice isn't so much what
browser to target as it is what application development platform to
target, Web browsers being one of several choices.  For example, you
might choose between using Mozilla/Firefox (XUL), Internet Explorer,
wxWindows, Fox Toolkit, an integrated system like Squeak (Morphic).

I find myself in this position right now -- in the next couple weeks,
I'm going to begin work on an application that requires spreadsheet-like
views.  I've considered using wxWindows with Python, Fox with Ruby, and
Squeak (which is integrated with Morphic) since they're all
multiplatform and open source.  Squeak was the top choice because it
runs on the most platforms, even if the UI is a little weird for people
used to native apps.  That was before I realized how flexible XUL was;
now I'm considering doing the application interface in a combination of
HTML and XUL.  I don't currently know enough about soul to know whether
this is feasible, but I did see a sample spreadsheet application and I'm
impressed with both Firefox and Thunderbird.  The advantage of XUL over
the other choices is that I'll only have to worry about installing the
server; if people don't already have Firefox, they can get it easily
enough.

Akkana -- I don't suppose you have any insight into developing using
XUL?  I had heard that some people are using it to develop interfaces
which then communicate with the backend using XML-RPC.  Sounds
interesting!

Jen



More information about the Techtalk mailing list