Mozpad Moon

March 06, 2008

Ben Longoria

Inside RIA: Mozilla Series Part 3

Heads up. The last part to the series I’ve written, entitled “Why Mozilla Deserves Our Attention”, is up on InsideRIA now.

In case you missed the first two, here they are.

by enefekt at March 06, 2008 12:56 PM

March 05, 2008

Mukunda Modell

R.I.P. Allpeers!

I am saddened to see that AllPeers has shut down their service. Very very sad. The announcement: AllPeers Service Shutting Down Today.

by 20after4 at March 05, 2008 05:13 PM

February 22, 2008

Ben Longoria

Some Mozilla RIA Love

powered_by_mozilla.jpg

Just a heads up, I’m writing a series of articles dealing with Mozilla and RIAs over on InsideRIA entitled “Why Mozilla Deserves Our Attention”.
Go check it out!

by enefekt at February 22, 2008 01:42 PM

January 28, 2008

Ben Longoria

Qtrax on Mozilla: Open For Closed

[Update]…and they’re gone, Matt in the comments was right. Didn’t quite have their game together.

Caught this news this morning. A service called Qtrax that allows unlimited, permanently free music downloads that apparently has the support of all the major record labels.

What I see as interesting is the client technology they are using and requiring for use. ReadWriteWeb mentions that it’s built on Songbird.

On the Qtrax site as well, they highlight in multiple spots it’s “A Mozilla Web Browser”, and a “Mozilla Based Browser”.

This is cool as it’s another use of Mozilla technology. Too bad it has so much press and is associating together Songbird, Mozilla, DRM, and Windows-only support not even including iPods. This is in direct opposition of some of the strongest aspects of Mozilla technology.

by enefekt at January 28, 2008 12:39 PM

January 12, 2008

Ben Longoria

XUL Dark Matter Series: Phloneme

I’m continuing with my XUL Dark Matter series, which I started with TabPress, a visual editor for simple tabbed content. (Which is at 0.3 now and has theme support)

Now I’ll be looking at Phloneme. Phloneme is a desktop authoring tool as well. It is currently configured to work hand-in-hand with Vocab Collab. Unlike the other XUL projects that I’ve done, Phloneme and Vocab Collab are personal projects that I’ve done in my scant personal free time. I wanted to discipline myself in sticking with something and finishing it through, and this combo was the guinea pig!

(Now, evangelizing a project is a whole different beast and I’m not really pushing that real hard right now with Phloneme and Vocab Collab, but if you know someone interested in the subject domain, pass it along!)

So the whole point of Phloneme (Combination of flow and phoneme), is to write rhymes. It allows you to create, edit, save and publish rhymes directly to Vocab Collab.

The interesting part of the whole thing comes from the ability for the author to easily create structured content, and then push that structure online in the form of a special microformat I’ve created just for rhymes. The structure they add are user-defined rhymes.

The authoring tool allows the user to designate rhyming words in a highly visual way. This is all edited and kept track of through microformat style overloaded class attributes. The document format is XHTML. The editing is taken care of via the awesome Mozilla Midas Spec.

So when the user publishes online, you get all the structured rhymes inserted into the database. The visual display of the rhyme also matches that in the authoring tool, since they can use pretty much the same CSS and everything.

One of the cool advantages of the structured content can be seen in the search feature in Phloneme. You can search for rhyming words for a particular word, and it will return live results from Vocab Collab.

If the user simply wants to copy and paste some rhymes from a search result into his own document, an automatic attribution and link will be created, so once published it will link to the work it derived from. That brings up another feature that I’ve added, which is the ability to select a Creative Commons license when publishing.

This was just one of those personal project ideas that I thought would be cool. Don’t really know what to do with it now. I sure did learn a lot about XULRunner, XUL, and the Midas spec while working on it though.

If you would like to play around with Phloneme, go ahead and have fun. You don’t need a Vocab Collab account unless you plan on publishing. Bust a rhyme!

Getting started tutorial on Phloneme. (With some screenshots)

Phloneme

I’m not done with the XUL Dark Matter series, still have a couple to go yet!

by enefekt at January 12, 2008 01:18 PM

January 03, 2008

Matthew Gertner

Creating XULRunner Applications with the Mozilla Build System

I’ve already received some encouraging feedback to my latest Mozpad post (I’ll be posting a followup soon). Further positive news is that I’ve made good, in a small way at least, on my pledge to devote some time to the Mozpad documentation project.

Having labored to get Prism to build using the Mozilla build system, I was struck by the lack of documentation on this topic for XULRunner developers in general. There’s a blog post by Songbird’s Ben Turner and there’s Dave Townsend’s McCoy project, which is a great practical example of how to do it. But nothing comprehensive on the documentation site.

So I decided to turn my original “Creating Custom Firefox Extensions with the Mozilla Build System” article into a franchise with “Creating XULRunner Apps with the Mozilla Build System”. The article has yet to be reviewed, and to quote Douglas Adams, “it has many omissions and contains much that is apocryphal, or at least wildly inaccurate.” (Unfortunately I didn’t think to adorn it with a prominent “Don’t Panic” label, although this would certainly have been apt.)

Stay tuned for new additions to the series, including “Traditional Chinese Calligraphy with the Mozilla Build System”, “Mastering the Mental Game of Golf with the Mozilla Build System” and the much-anticipated “12 Days to a Flatter Stomach with the Mozilla Build System”.

by Matt at January 03, 2008 04:14 PM

January 02, 2008

Mukunda Modell

A new year, a new mozpad

As a few people have pointed out recently, MozPad has been much less active in recent months. I too have been guilty of dropping the ball on MozPad activities. I think that the interest in MozPad was driven by a desire to make sure that the Mozilla platform is not forgotten, overshadowed by the Mozilla corporation's focus on Firefox. Mozilla has shown that they intend to invest in the platform, however, that doesn't mean that MozPad is no longer needed. We may have a shortage of resources to invest in MozPad initiatives, however, we should continue to keep the moon alive with interesting commentary while also finding ways to collaborate on work that will make the platform better for developers. Mozilla has an end-user focus but we need to focus on developers as end-users.

Developer Support

Microsoft established a dominant position by nurturing a developer community. I am no fan of Microsoft's products but one exception would be their developer tools. I like the XULRunner runtime better than any other but the tools to support it are still sadly lacking. As long as XULRunner is a viable platform there will be a need for tools that support such development. I hope to see MozPad continue to contribute to supporting the platform and I will do my best to help out along the way.

by 20after4 at January 02, 2008 08:12 AM

MozPad

MozPad is a group of developers which was started by Matt at AllPeers to focus on development of the Mozilla development platform (and Mozilla's cross-platform runtime, XULRunner.)

More Information

More information about MozPad can be found at the following sites:

by 20after4 at January 02, 2008 08:12 AM

December 22, 2007

Matthew Gertner

Whither Mozpad?

Mike Shaver asked me about Mozpad the other day, and a few hours later Brian King posed the same question on his blog. Clearly it’s high time to take a step back and evaluate where we are and where we’re going.

The short answer is that not much has happened on the Mozpad front recently. To some degree this is just a case of things taking time. There is definitely ongoing interest in a XULRunner IDE, and ActiveState has brought this a whole whack closer to reality with their Open Komodo initiative. But the initial excitement and momentum has largely dissipated.

I was musing months ago that the group lacked a clear raison d’être. The problem isn’t so much a dearth of things to do, but the commitment and time investment that would be necessary to do them right. This isn’t just a case of setting up some discussion forums for technical support (Mozilla already has them) or an IRC chat room (Mozilla has several) or a great, user-editable documentation site (cause, well, you get the point). Turning XULRunner into a real product with branding, packaging, development tools and marketing is perhaps too big a task for a volunteer organization without any full-time participants. Once folks realized how hard it was going to be to achieve anything substantive without jeopardizing their other projects (including the ones that pay the rent), their initial enthusiasm cooled. I can’t claim to be an exception in this regard.

There are other issues as well. First of all, where are all those XULRunner projects we’ve heard so much about? When we started Mozpad, I was expecting a lot of that XUL dark matter to come out of hiding and express interest in what we were up to. This simply didn’t happen. We got a lot of love from Mozilla die hards who find the idea of an open, multiplatform application development framework appealing, but virtually none from companies that are actually using the technology. It has to be said that Robert O’Callahan’s speculation about “hundreds or even thousands” of stealth XUL projects was based on rather scant evidence. Or perhaps the main interest is in developing intranet applications using a web server and XUL, rather than desktop apps on top of XULRunner. Or, equally plausibly, people are using XULRunner but weren’t aware of Mozpad or were waiting to see concrete results before making their interest known.

Moreover, I have to admit that I’ve cooled somewhat on the idea of XULRunner as a general purpose framework because I’m so excited about the potential of Prism. Since I believe rich web apps are the future, I’d rather spend whatever time I have for Mozilla platform work improving Prism rather than documenting XULRunner APIs and the like. And whereas Mozilla has stated unequivocally that a standalone XULRunner product is not a priority, Prism clearly is. I proposed Mozpad to a large degree because I felt that Mozilla had dropped the ball on the whole “future of apps” thing. Now I’ve got crow casserole heating in the oven as they pick up the ball and sprint for the goal line. (And with that let me pledge publicly: no more ball metaphors in 2007.)

(To be absolutely clear: none of this should be construed in any way as diminishing the heroic work that has been put into making XULRunner a viable platform and getting Firefox to run on top of libxul. Apart from anything else, Prism is a natural consequence of this extraordinary vision, which has been gestating for over three years.)

All this to say that a lot has changed since May, and I’m not sure that we need a Mozpad to further our goal of helping Mozilla to play a defining role in the future of applications. ActiveState has expressed interest in helping out with the development of a XULRunner IDE on top of Open Komodo. All the usual mechanisms are available for those who want to contribute ideas, bug reports and code to the Mozilla platform. Personally I’ve been spending a fair amount of time working on Prism. From my perspective, things are going great despite Mozpad’s lackluster second act.

It goes without saying that I’m extremely keen to hear what others have to say about this. While you’re tucking into your Christmas goose, please take a minute to give this some thought. Nothing would make me happier than an impassioned rant or two about why we desperately need Mozpad after all.

by Matt at December 22, 2007 11:31 AM

Mukunda Modell

Certificate Change Notifier

I'm working on a simple extension for Firefox that would notify the user when an SSL/TLS site's certificate changes. This way an informed user could decide if the certificate change was valid / expected and opt out of an ssl session in questionable circumstances. Is there any interest in such an extension? My friend ask me whether there was a way to do it so I'm working on proof of concept code, I will release it as open source if anyone cares.

Update:

Working proof of concept code released. See XPI attachment below. Note: this is tested in Firefox 3.0 beta 2 and it uses mozStorage (sqlite) to keep track of the url/certificate mappings. This isn't really usable, it's simply a proof of concept with no useful user interface. It will pop up an alert when you visit a site that has changed it's certificate since your last visit.

Update #2:

An updated version of this extension is now available on addons.mozilla.org (it's in the sandbox until it's been reviewed.) You have to log in before you can view the sandbox: Addon #6415

by 20after4 at December 22, 2007 08:20 AM

December 20, 2007

Brian King

Holiday Moz Snippets

Some random snippets/observatiosn…

  • Nat Torkington over at O’Reilly Radar want Mozilla to reverse its course on XULRunner. I’m confused. He seems to be implying that it should be dropped. shaver has already called him on it in the comments.
  • What has happened to MozPad. The initial enthusiasm and burst of action has evaporated. I hold my hands up as guilty of letting the momentum drop … must follow up in the appropriate channels about this.
  • If you missed my previous post about FOSDEM 2008, head on over to the Wiki to find out more. I’m wishing Gerv a speedy recovery in time.
  • Is it just me, or are the prices at the Mozilla International Store outrageous?! € 68.06 for a messenger bag, which does not include shipping which appears to run and around another € 20 per kg. I’m sure the goods are good, but are they that good?
  • Last night at a hair salon art studio(!) opening in Ljubljana, I was catching up with my friend Luka Frelih from Ljudmila. He is blown away by the speed of Firefox 3. So am I. Among the many interesting things he is working on, OpenStreetMap stood out.

by kinger at December 20, 2007 05:07 PM

November 30, 2007

Mukunda Modell

XUL Controls Example


Tonight I threw together a little XUL file that demonstrates most of the major user interface [controls|widgets|whatever] so that I could get a quick idea of how any given GTK theme would look on a variety of different interface elements. I'm sure there is a GTK application that does this but I thought that it would be an interesting use for XULExplorer.

So without further ado I present you with my mostly useless example-widgets.xul

by 20after4 at November 30, 2007 06:07 AM

November 12, 2007

Ben Longoria

AXUL - Android XML User Interface Language

Google’s new Android mobile platform chose Java for it’s application development language. But what’s lacking in developing a Java GUI app? Oh, but of course, something that Mozilla and Adobe have implemented already as part of their platforms, an XML based user interface language!

I made up the name of course, since I couldn’t find a name for it: AXUL.
The format looks a little like SWIXML without the Swing.

This reinforces the whole strategy of using a markup language to layout interfaces and custom widgets, taking advantage of a nice box layout mechanism. But one thing I don’t see is the ability to create new AXUL components by simply composing other AXUL components. (without a hosting Java class)

But why didn’t they choose HTML 5? Ha.

by enefekt at November 12, 2007 06:26 PM

November 11, 2007

Paul Rouget

Mozpad & XulRunner logos

Hi folks !

A generous artist, Marianne Thoyer, has made some work about the Mozpad identity. She works on some Mozpad logo attempts. Here some drafts:

mozpad logos

And my favorite one:

mozpad logo

After seeing these pictures, I thought the 'cell' ones could fit for a XulRunner logo, so, just for fun, I've asked her to change the label mozpad to xulrunner:

XulRunner logo

Before going forward, she needs to know the community feeling. Feel free to comment :)

by Paul Rouget at November 11, 2007 03:12 PM

November 02, 2007

Ben Longoria

Prism, no competition for AIR

Just read the NYTimes write-up on Prism.

Interesting comments by Mark Finkle:

if the Web can’t do it, Prism can’t do it

and

We’re not asking Web apps to change at all.

So thats the big thing really. It’s an incremental nicety to classic web browsing. This is really not in competition to Adobe AIR at all.

It’s more in line with something like Mac OS X’s new Safari Web Clips. Yank an app out of the browser and run it by itself.

As a real-world example, imagine Google Analytics without browser chrome, and then look at the Google Analytics AIR app. Designing an experience more with the user in mind, than browser limitations. And this is using Open Internet protocols and APIs. Maybe that’s not as good as the Open Web though, not sure?

by enefekt at November 02, 2007 12:24 PM

October 29, 2007

Ben Longoria

Prism: Install Story?

Wow, a lot of writing and discussion over Prism lately! And to think, all from a new name, logo, and a Labs post. (And I guess some weight from being an officially sanctioned experiment too.)

Of course, I’ll follow suit. Partly because I am interested in the technology, and partly because I am interested in how this relates to Adobe AIR, and Mozilla’s own technologies, like XUL. How is it integrated? How can some important features and functionality be integrated with HTML/JavaScript only?

I thought I would start by comparing the installation story with Adobe AIR. A lot has been made of how easy it is (or will be?) to make a web app into a desktop app. (A simple menu command from Firefox, and voila!) But that’s not the whole story. How does Prism get installed in the first place?

With Adobe AIR (which runs web apps as well on the desktop, built with HTML/CSS and JavaScript), there is a really cool installation story. You can create a special badge that a user can install your app (with permission of course) from a web page. The cool part though, is if they don’t have the Adobe AIR runtime, it will be installed auto-magically (with permission of course) along with your app! No need to direct them to a different website, instruct them to download something, then come back and get your app.

So how will Prism get installed? Sure, after it’s installed it’s somewhat smooth sailing. But getting software installed is a hurdle which should not be ignored. Adobe has excellent experience with this. Heck, installs of Firefox are dwarfed by Flash Player. So what’s Prism’s installation story?

by enefekt at October 29, 2007 12:19 PM

October 28, 2007

Ben Longoria

First Flex Prism App

I was waiting for this to happen. Didn’t think it would happen this soon though.
The very first Prism app built with Flex.

Speaks to the pervasiveness of the Flash Player, since in the first batch of Prism apps out of the gate, one is built with Flex. It also speaks to the flexibility and strength of the Prism idea, especially since it’s already wooing prime Adobe AIR candidates: Flex developers.

A Flex app as a Prism app?! This doesn’t fall in lock step with the shining goal of the “open web” as defined by some folks.

But, man wouldn’t that be cool if Mozilla had their own user interface markup language? Oh, wait they do, XUL. Does something like this, and that Mozilla doesn’t even mention XUL with Prism mean that it’s pretty much lost the fight to Flex/MXML?

by enefekt at October 28, 2007 01:29 PM

October 25, 2007

Ben Longoria

Glazman’s Deep Sadness

Daniel has posted his unpleasant surprise about eBay using Adobe AIR for their internet desktop application instead of XULRunner.

Here are two lists attempting to document the application landscapes with each technology:
Mozpad’s Mozilla App List
AIRApps Adobe AIR App List

by enefekt at October 25, 2007 01:34 PM

October 18, 2007

Robert Kaiser

Powered By... Erm, Some Cool Thing!

When reading those recent posts about better riding on the "Firefox" brand instead of "Mozilla" for telling what technology our apps share in return to the IMHO great "Powered by Mozilla" logo/initiative, I really start to wonder if the worlds we all are living in are really that different.

While Matthew tells us he 'must say "you know, the guys who make Firefox" about ten times a day', this interestingly happens very rarely to me. When I'm talking to people about what I'm doing, most haven't heard about SeaMonkey, but when I ask "do you know Mozilla then?" most people I talk to say "Oh, Mozilla Firefox!" - they clearly connect those two. Some even know the old Mozilla suite, esp. those that are a bit into web stuff.

And then, who are we targeting with a "Powered by Mozilla" logo on a website or product package? The normal user doesn't care about those fancy logos, they might just note "a lot of colored logos" on the package or website, only those that are at least a bit tech-savvy care about what those logos really tell. And I'm pretty sure those have at least noticed that it's "Mozilla Firefox" and know at least both brands.

Let's make sure that Firefox as well as our products does carry the "Powered by Mozilla" logo, and I'm pretty sure it works out well for those who really care about those logos. Only those who know that it's cool technology do actually care about this, and those should be pointed to the technology, not some random major app that is built with it.
Unless we're really living in different worlds - one can never know ;-)

by KaiRo at October 18, 2007 02:52 PM

Matthew Gertner

Mozilla, Branding and Smoking Good Shit

Daniel Glazman has a followup post on the whole “Powered by Mozilla” thing (excellent initiative, did I mention?), which points to a droll and frustratingly anonymous rant on a new blog called “The Truth about Mozilla”.

I fell off my chair when I read that AllPeers is a “Mozpad front-company” and not just because of the incorrect hyphenation. (Save your cards, flowers and chocolates, I’m fine beyond a few psychological bumps and bruises.) That said, Mr. Anonymous does provide a reasonable if caustic counterpoint to Daniel’s and my contention that Mozilla platform developers would benefit if there were some way for them to leverage the better-known Firefox brand. (But what’s all this about Schrödinger’s cat? I’ve heard of mixing metaphors, but throwing in a physics thought experiment is a bold move. What good shit are you smoking, dude?)

Anyway, as my previous post on the topic implies, I disagree with the idea of trying to create a second trips-off-the-tongue brand out of Mozilla. Like I said, it’s hard enough to get traction with even one brand. As things stand, I must say “you know, the guys who make Firefox” about ten times a day.

And then there’s the general problem of what to call the platform. Mozilla, Gecko and XULRunner are often used interchangeably, and all of them have considerable drawbacks. Calling the platform “Firefox” is obviously problematic too, as Anonymous Mozilla Guy points out. But what about taking a feather out of BitTorrent’s cap? “Firefox DNA” is a bit me-too-ish. But something that uses the word “Firefox”, gets across the idea that “this is the stuff inside Firefox” while remaining clearly distinct from Firefox The Browser would be killer.

UPDATE: Before anyone else chastises me for “feeding the troll,” let me say in my defense that I didn’t read the earlier, more obnoxious posts on the “Truth about Mozilla” blog before linking to it. The post I link to seemed reasonable enough to me. I’d be on thin ice, after all, if I criticized his sarcastic tone and childish sense of humor (though I might plausibly demand royalties). Anyway, a lot of the posts do look like trolling, and the whole idea of a muck-raking Mozilla blog is silly, so please don’t patronize or link to his blog unless I explicitly say it’s okay.

UPDATE: Apparently it isn’t obvious that the bold portion of the previous update is tongue-in-cheek, at least if Cedric is any guide (a dubious premise, I admit). So lest it be too obtuse for some: I’m kidding!

by Matt at October 18, 2007 11:53 AM

Help! Mozpad Website Needs a Makeover

I often talk to people who aren’t developers but still want to be able to contribute somehow to the open source world. If you have any kind of graphic design skills and want to support our effort to promote the Mozilla platform for developers, why not consider giving the Mozpad website a makeover? Let’s face it, considering the way it looks currently, it wouldn’t take much work to improve it.

by Matt at October 18, 2007 08:30 AM

October 17, 2007

Matthew Gertner

Powered by… What Exactly?

Daniel Glazman comments on John Slater’s post about the excellent “Powered by Mozilla” initiative. I’ve seen this phenomenon directly or from a distance a number of times in my professional career. It’s hard to build a brand, and it’s doubly hard to build separate brands for a company and its flagship product.

In my experience, what inevitably happens is that the product garners much larger mind share, and the company eventually adopts its name in order to leverage its brand. Just thinking out loud, mind you…

by Matt at October 17, 2007 04:03 PM

Paul Rouget

mozpad.org website is boring

mozpad.pngWell... the mozpad.org website is not really sexy. Currently, the default Dokuwiki theme is used. What about redesigning it ? There's a set of templates here. I've tried the r7throot template. Really easy to install and to setup. It could be a good opportunity to clean the wiki (a real home page, a clean projects page, a news page, ...). BTW, we should work on a logo :) Any good designer here ?

by Paul Rouget at October 17, 2007 01:51 AM

October 14, 2007

Matthew Gertner

Mozpad IDE Project Meeting on Monday

Paul Rouget and Mariano Cuenze have been pushing forward the Mozpad IDE project, and we’re all jazzed up by the potential of Open Komodo to serve as the basis for an IDE for Mozilla developers. Shane Caraveo of ActiveState (makers of Komodo) has kindly offered to provide some guidance as to how we can best extend their product. Paul has written up some preliminary requirements in PDF and ODT formats. (I promised I would edit the text for grammar, but it actually looks fine to me for our current purposes.)

We’ll be meeting tomorrow at 4pm UTC in #mozpad. If anyone else is interested in talking about a Mozpad IDE built on Open Komodo, please feel free to join in the discussion.

by Matt at October 14, 2007 04:11 PM

New Mozpad API Project Statistics Online

I’ve updated the Mozpad API analysis page with additional statistics I received for Mozilla projects. I am planning to massage the results in various ways to provide additional views (e.g. sorted by frequency rather than interface). but this should tide us over in the meantime.

Many thanks to Nick Nassar of Miro, Wladimir Palant of TomTom, Javier Pedemonte of the AJAX Toolkit Framework, Pete Wilson of Mozdev and Matt Crocker of Songbird for providing data for their projects. I ended up biting the bullet and compiling the figures from the various files I received using Python, which meant (wait for it) I had to learn Python on Friday. This went surprisingly well due to a very supportive group of folks on IRC, notably Jason Orendorff, who has made a Python convert out of me in less than an hour.

It goes without saying that we’d love to feed more data into the stats. Please take a few minutes to run the script on your project and send me the results.

by Matt at October 14, 2007 04:05 PM

October 01, 2007

Mukunda Modell

Web Fonts and Mozilla

An interesting read: A List Apart has a recent article by Håkon Wium Lie (CTO of Opera Software) which demonstrates the use of True Type Font support in CSS. I'm really surprised that this isn't already supported by major browsers Gecko. With the major text rendering changes in Firefox 3.0 (plus cool new features such as APNG) I'm confused as to why such a seemingly important CSS feature is not implemented in Gecko. It turns out that there is a bug (#70132) which was filed in 2001 and is aparently not getting much attention. Is anyone interested in working on this?

Update:

I just noticed that WebKit has recently added support for @font-face

by 20after4 at October 01, 2007 03:38 AM

September 28, 2007

Matthew Gertner

Mozpad API Project Update

I’ve updated the API usage analysis for the AllPeers source tree as part of the Mozpad API project. The main update is that mozI* interfaces are now counted in addition to nsI* interfaces. The next step is to get other Mozilla-based projects to run the script and send me their results. I would really appreciate it if anyone reading this who is working on a large Mozilla project could run the script in their source tree root (make sure you don’t have other files like patches in the same tree that might pollute the statistics) and send me the results. Please specify if you want the data to be anonymous or if we can cite your project. I’m planning to nag people about this so why not be proactive? You’ll sleep more soundly, I promise.

While we gather the data, I’m planning to devote some time to the Mozpad documentation project.

by Matt at September 28, 2007 10:52 AM

September 24, 2007

Matthew Gertner

iPhone and the Future of Apps

When the iPhone was released, there was plenty of bellyaching about the lack of an SDK for third-party apps. Then Apple stepped up and announced that the “SDK” for the new device would be the Safari web browser, combined with Web 2.0 techniques (i.e. gobs of JavaScript on the client). Some hailed this as a visionary idea while others griped (somewhat paradoxically) that “web apps are not applications”. The situation became muddier when rogue developers quickly released a user interface toolkit and a package manager that makes it braindead simple to install native (albeit unauthorized) OS X apps designed for the iPhone.

I’ve been plugging the idea of web apps as the future of applications for a while, with a particular emphasis on WebRunner. So naturally I’ve been intrigued by Apple’s decision to make the web their official SDK. Having got my hot little hands on one, however, I’m disappointed by the current lack of features that would make this direction viable. As far as I can see, you can’t even add an app to the pretty grid of colorful icons that serves as the iPhone’s main menu. Besides integration with the underlying OS, there are many other gaps if the browser is to serve as an application platform: offline storage, Flash, more sophisticated web forms, etc. (Mike Shaver had a great overview of future web browser features at Mozilla 24.)

When Apple announced Safari for Windows I hypothesized that this would allow them to roll out exactly these kinds of proprietary browser-as-a-platform features. I still think that the use of web apps as the standard iPhone development paradigm is brilliant, but the current offering is totally inadequate. I predict that Apple will start to announce fancy new features for Safari or (hopefully) jump on board of existing efforts like XUL, Flex, Google Gears and the like.

by Matt at September 24, 2007 10:07 AM

September 20, 2007

Matthew Gertner

Building Media Distribution Apps Video Now Online

The good folks from the Media in Transition conference have put the video of my presentation online. The title of the talk was “Building Media Distribution Apps”, touching on the trade-offs between various distribution techniques (e.g. streaming vs. downloads) and the new generation of rich internet application platforms (including XULRunner and WebRunner).

There is also a short video of an interview I gave after the talk.

UPDATE: I should have mentioned that the slides that go with the presentation can be found here.

by Matt at September 20, 2007 05:39 PM

September 12, 2007

Matthew Gertner

Which Newsgroup For Mozilla Platform Questions?

There’s been some discussion on mozilla.dev.platform about whether that newsgroup should be used for newbie questions and other platform user support issues. Some platform developers are understandably concerned that this type of traffic will obscure internal communication.

We set up Mozpad exactly for application developers using the Mozilla platform, and we have a newsgroup (mozilla.community.mozpad) which could be used for this purpose. Personally I’d be thrilled to see this happen since it would be a significant contribution to the community. The main issue is that there aren’t nearly as many people subscribed to m.c.mozpad (I’m guessing) so the chance of getting an intelligent answer is not as high.

Gavin Sharp suggested to me that mozilla.development.extensions would be the right place for questions about using the platform. Gavin’s proposal is certainly sensible, particularly since it apparently corresponds to the status quo. But I still think that the “extensions” name is potentially confusing to newcomers, that the target audiences don’t overlap completely and that there would be value in a group specifically devoted to users of XULRunner and WebRunner.

Whatever the case might be, don’t hesitate to point people to m.c.mozpad if they have platform questions, even if this isn’t considered to be the “official” destination.

by Matt at September 12, 2007 04:29 PM

September 10, 2007

Ben Longoria

XAPGen for Xcode

I’ve put together an Xcode project template for XAPGen. So if you have the Xcode development tools, just download, unzip, and drop the files packaged up below in the right spot, and you’re ready to rock.

After setup, in Xcode just go to File->New Project, and choose XUL->XAPGen. You have an instant XULRunner project directory ready to build. Just choose the build-and-run target, click “Build”, and you’ll see the default Hello World app get packaged up and launched all automatically.

And of course, the build-all target will build Windows and Linux distributions as well!

When naming your new project name, remember to use all lowercase.

XAPGen for Xcode

by enefekt at September 10, 2007 12:11 PM

Matthew Gertner

Mozpad Meeting in Prague?

Mark Finkle posted an entry on the Mozilla wiki proposing a Mozilla Developer Day in Prague in the November timeframe along the lines of the one that took place in Paris in June. Reviews for the Paris day were glowing, but I know that a lot of people couldn’t make it and that others were left wanting more. If we can drum up enough interest, I’d also like to combine the Developer Day with a Mozpad face-to-face meeting. If there’s a chance you might attend, please sign up on the wiki so we can see whether the interest level is high enough to move to the next phase of planning.

by Matt at September 10, 2007 07:44 AM

September 07, 2007

Mukunda Modell

Customizing WebRunner Behavior

I would like to share a technique that I am using to customize WebRunner's behavior without directly changing the source code. In my AppRunner extension I have created an overlay for webrunner.xul and within the overlay I include my custom apprunner.js script. Today I decided that I want to modify the behavior of a function in the core WebRunner application object.

In webrunner.js there is a global WebRunner object which is defined like this:

var WebRunner = {
   _profile : null,
   _ios : null,

   //  webrunner functions omitted...

}

In my apprunner.js file I have my own global AppRunner namespace object, defined similarly to the WebRunner object above. I will try to let the code speak for it's self with a short explanation afterward:

window.addEventListener("load", function() { apprunner.startup(); }, false);
window.addEventListener("unload", function() { apprunner.shutdown(); }, false);
var apprunner = {
	startup: function() {
		self = this;
		var browserContext = document.getElementById("popup_main");
		browserContext.addEventListener("popupshowing", self._popupShowing, false);
		
		//replace the webrunner _isLinkExternal function with a modified version:
		WebRunner._isLinkExternal = this._isLinkExternal;
               
	},
	shutdown: function() {
		self = this;
		window.removeEventListener("popupshowing",self._popupShowing, false);
	},
	_popupShowing: function(aEvent) {
		var isAnchor = (document.popupNode instanceof HTMLAnchorElement);
		document.getElementById("menuitem_copylink").setAttribute("hidden",!isAnchor);
		document.getElementById("link_popup_separator").setAttribute("hidden",!isAnchor);
	},
	_isLinkExternal : function(aLink) {
		if (aLink instanceof HTMLAnchorElement) {
		  if (aLink.target == "_self" || aLink.target == "_top")
			return false;
		  
		  var currentURL = this._ios.newURI(aLink.href, null, null).QueryInterface(Ci.nsIURL);
		  var commonBase = currentURL.getCommonBaseSpec(this._getBrowser().currentURI);
		  //alert(commonBase + ":" + aLink.href + ":" + this._getBrowser().currentURI.href);
		  return (commonBase.length == 0);
		}
		return true;
	},
	copylink: function(event) {
		var gClipboardHelper = Components.classes["@mozilla.org/widget/clipboardhelper;1"].
                                getService(Components.interfaces.nsIClipboardHelper);
		gClipboardHelper.copyString(document.popupNode.href);
	},
	doCommand : function(aCmd) {
	    switch (aCmd) {
	      case "cmd_aboutconfig":
	        window.open("chrome://global/content/config.xul", "About:Config", "chrome,extrachrome,dependent,menubar,resizable,scrollbars,status,toolbar");
	        break;
		}
	}
}

The code above is mostly for other functionality that I have added in my webrunner extension, however, the startup function shows the technique which I wanted to highlight. Notice the bold face code which replaces a function in WebRunner with my own version of the same function. This doesn't have much effect right now because I have not rewritten the function to my liking, however, my changes to that function will override WebRunner's version of the same function, all without touching webrunner.js or webrunner.xul.

This is the beauty of Mozilla's platform for extensibility and the flexibility of JavaScript makes it even more powerful. This is incredible extensibility due to the simple and intelligent design of the Mozilla platform in general and WebRunner in particular.

by 20after4 at September 07, 2007 03:44 AM

September 05, 2007

Matthew Gertner

Open Komodo

Shane Caraveo of ActiveState sent me a heads up about their new Open Komodo initiative. This looks like a pretty big deal. They’re open sourcing portions of their Mozilla-based IDE in order to cultivate a community-driven development effort. Considering that many people have cited Komodo as a potential starting point for an IDE tailored to the Mozilla platform “if only it were open source”, this could be a big step towards my long-awaited Dream Firefox IDE. I’m looking forward to giving it a spin as soon as I get back to the office.

by Matt at September 05, 2007 05:27 PM

September 04, 2007

Ben Longoria

XUL Dark Matter Series: TabPress

TabPress

I have been working on an authoring tool code-named TabPress. This is being built on XULRunner and is meant to be a relatively simple tool to create small learning objects delivered in a tab container.

I am experimenting with a different way of editing structured/complex content utilizing the editor and overloaded images. So far it’s working decently, but I need to conduct some more usability tests to flesh things out further.

Some quick points about the app:

  • Uses XSLT for publishing
  • Publishes content using YUI components
  • Opt-in Creative Commons licensing
  • Streamlined SWF insertion
  • Streamlined MP3 player insertion

It’s in an alpha state without any user documentation at the moment. Feel free to play around with it though and see whats discoverable. Just wanted to get this early version out there and make sure it doesn’t end up as dark matter. :)

Updated!
Now at 0.3, there has been some bug fixes, enhancements with visual editing capabilities and support for themes when publishing.

TabPress 0.3 - Mac UB (20.4 MB)

TabPress 0.3 - Win (7.6 MB)

by enefekt at September 04, 2007 12:18 PM

August 31, 2007

Matthew Gertner

Mozpad Meeting Notes

We had a great discussion on Wednesday about where to take Mozpad. Thanks to everyone who attended. Mukunda posted the transcript on his blog.

Some highlights from my perspective: we agreed that Mozpad should be focused on making Mozilla platform products more appealing to developers, but should not itself be a destination site for product information. Instead we should use the appropriate Mozilla websites (particularly MDC). I’d still like to have a nicer-looking Mozpad site to summarize our activities, who is involved, how to get involved, etc. Mukunda said he might be able to help make this happen since my graphical design skills haven’t developed much since fingerpainting in kindergarten.

Further agreement that there isn’t a XULRunner/WebRunner dichotomy. We can work on improving materials for both, and in fact there is considerable overlap (considering that WebRunner is a XULRunner application).

Personally I am planning to finish my API project and shift my focus to documentation, especially high-level descriptions of the products and why they are important. I’m hoping to find time to give some thought to what the XULRunner and WebRunner sections of MDC should look like. One of the various first steps is obviously to coordinate with the relevant documentation people at Mozilla. You know who you are. I’ll be in touch.

Hopefully we’ll see further progress on the outreach website(s) as well (the equivalent of SpreadFirefox but for the platform). Mark Finkle said he would try to get Asa to give us some guidance from his experience with SpreadFirefox.

Finally, we seemed to agree that Komodo was worth looking at in the context of a Mozilla platform IDE since they already have most of what we need. Discussions will continue once we’ve had a chance to take a look.

by Matt at August 31, 2007 12:49 PM

August 29, 2007

Mukunda Modell

August 29th Mozpad Meeting

Here is a quick transcript of today's meeting for those who missed it and don't want to wait for thebot.

by 20after4 at August 29, 2007 05:14 PM

Ben Longoria

WebRunner:Instant AIR Competitor

I’ve been trying my best to try and figure out the current landscape of technology offerings for RIA and IDA development. So forgive me for this rant-ish post, and correct me or help me where I’m just dead wrong.

I believe in choosing the right technology for a project’s or product’s requirements. Some of the projects I work on are obviously web applications, so I target the browser and either use HTML/JavaScript for simple interfaces, or Flex/ActionScript for advanced interfaces or rich media integration.

But we’ve frequently found ourselves in the position of needing to create relatively light-weight desktop applications with advanced UI requirements, that can easily work with web technologies.

Building these IDAs with client technologies like Flash/Flex/XUL/ECMAScript has been awesome in developing fast and good, and not having to code Swing layouts. This idea has pretty much been hackish at best in the past until XULRunner came along. But now AIR is here, and I’m trying to evaluate both. So this is the type of target I’m referring to with this post, Internet Desktop Applications with advanced interface requirements.

This post and chat transcript posted by Matt of AllPeers really kind of set off some alarm bells. Not gonna summarize it, so you may have to read it. But I’m replying to some thoughts presented in it.

HTML? Hyper-text Markup Language: Formatting text documents.

XUL? XML User Interface Language: Creating user interfaces

Merge XUL into HTML, gradually over time? Why? Use the best tool for the job! Leave HTML for what it does best, for documents. And talking about some future idea that may be cool (or the worst thing ever done), is not NOW. There are excellent tools and technologies available NOW that do these things (Flex, ActionScript 3, AIR)

What is WebRunner’s or Firefox 3’s interface developed in? XUL, not HTML. Maybe once we see Firefox shipping with an all HTML interface then I’ll be able to see HTML as some sort of capable user interface language.

If Mozilla’s own evangelists are encouraging HTML over XUL, then it would be downright foolish to champion it, and makes me uneasy choosing it to develop with.

So who is putting their weight behind a modern, advanced, rich, and internet friendly programming language and user interface markup language? Adobe, with Flex and ActionScript 3.

In more than one spot I have seen this evangelism of using HTML over XUL for developing rich applications, and wonder what is at it’s core. Maybe it is because the Mozilla Foundation/Corporation is unsure of the future API or compatibility and stability of using XUL and its companions. And they figure HTML is the safe way to go for the “masses”.

Again, who has the awesome history of distributing a runtime far and fast, proven backwards compatibility in a runtime, and is at the same time making great advancements with innovation for rich media, RIA, and internet desktop application developers? Adobe. With the Flash Player, and no doubt soon to come AIR.

I’m trying my best to find something to keep me hackin’ on XUL and JavaScript, but I keep seeing these confusing mixed signals as to the future of a capable RIA/IDA platform or runtime using Mozilla technologies. (Or no signals at all)

Don’t get me wrong, I love working with XUL, JavaScript, and XULRunner, and I have a number of projects using the technology. So I’ll be continuing to develop with it. But for new and future projects I’m gonna have give it some serious thought.

by enefekt at August 29, 2007 11:47 AM

August 28, 2007

Matthew Gertner

Mozpad and WebRunner

As I mentioned the other day, I’m grappling with the Mozpad mission, trying to find an encapsulation of our activities that is intuitive, useful and doesn’t overlap with activities that are already well served by other forums. In my previous post I suggested that we might take the platform under our wing and make sure that associated resources (white papers, the SDK, documentation, demos/samples, some sort of IDE, etc.) are accessible to interested parties without excessive trawling.

I had a long chat about this yesterday with Benjamin Smedberg and Mark Finkle (joined later by Robert Kaiser). I would strongly encourage anyone interested in the future of Mozilla, applications and the web to read the chat log. What came out of the discussion is a new hypothesis that all three of us appear to support: the importance of a C++ SDK is diminishing and the value of a platform for deploying web apps on the desktop is growing. I’m very sympathetic to this viewpoint, not least because I spend a lot of time coding in C++ (the verbose Mozilla dialect, that is), and I’m sure I’d be a calmer, happier, better grounded and more fulfilled person with more hair and lower blood pressure if I didn’t.

What this means, concretely, is that the platform to bet on may well be WebRunner. I can’t see any reason why something like WebRunner couldn’t be the basis for most if not all kinds of apps in the future. Naturally there’s a lot of work required to achieve this, not least implementing the relevant items from various people’s XULRunner wishlists to reduce (and ideally eliminate) the need for binary code in Mozilla-based applications and better integrate with the operating system desktop. (By the way, I used to be a proponent of replacing the desktop with the browser interface, but that was before I switched from Windows to Mac.) We need to figure out our strategy for local storage (Google Gears? mozStorage? A combination? Something else entirely?) We need to decide what the fate of XUL is, since the argument that “XUL is for desktop apps and HTML is for web apps” makes less and less sense as the boundary between the two blurs.

Anyway, I probably don’t have to go on about this too much since I made exactly this point in the conclusion of my Future of Applications essay. So alongside the “people-oriented” vs. “product-oriented” discussion, I think Mozpad needs to have a serious discussion about the relative merits of XULRunner and WebRunner and where we should be investing time.

by Matt at August 28, 2007 04:14 PM

August 27, 2007

Matthew Gertner

Mozpad Meeting This Wednesday

I was encouraged by the feedback (public and private) to my previous Mozpad post. I’d like to have a Mozpad meeting this Wednesday (usual time and place) to drill down on this idea. A few specific things spring to mind:

  • Since Mike Shaver suggested they might find room for the SDK builds on the community build hosts, does anyone want to take charge of setting up the build system? This looks like it’s pretty much covered by our Automated Application Packaging Project.
  • What about documentation? Mukunda is working on some documentation stuff but said (if I’m not mistaken) that he’s not necessarily comfortable with taking responsibility for the whole XULRunner section on Devmo.
  • The Outreach project is huge in the context of a “productized” platform. I feel very strongly that we need to have a name, logo, etc. and do proper branding. Further outreach can wait until we have a first rev of the website set up.
  • Speaking of which, it would be super to have someone who could help us make a great looking website. DokuWiki with the default theme was great to get started, but I think we’re ready to take this to the next level. This is a great opportunity for someone who wants to help out but isn’t a developer.
  • Nothing about the proposed refinement of our mission affects the platform viability and patches projects, in my opinion. Both continue to be extremely useful to ongoing improvement of the platform.
  • As far as the IDE project is concerned, my honest feeling is there is a lot of fragmented work going on that would benefit from consolidation. I understand that this is hard because everyone has their own vision and priorities for the IDE. I’m very interested in talking about the road forward with people who are involved with various aspects of Mozilla IDE development.

If there are other things that people feel will be important to discuss, please let me know.

by Matt at August 27, 2007 12:38 PM

August 23, 2007

Ben Longoria

Super Add-Ons Possible!

Looks like my idea of Super Add-Ons might be possible with Firefox 3!

It appears its all experimental right now, but hey I’m not to proud to gobble up table scraps!

Some shortcomings to note right away:

  • Firefox prefs and commandline handlers are still in effect.
  • On Mac the dock icon will be Firefox
  • On Windows the shared taskbar icon will have the Firefox logo.

Let’s see what we can’t do.

by enefekt at August 23, 2007 01:43 PM

August 22, 2007

Matthew Gertner

Mozpad Musings

I’ve been thinking lately about Mozpad and its raison d’être. I can’t seem to shake the feeling that the purpose of the organization is not entirely clear, and that this will turn into a major barrier to achieving something useful. I’m starting to understand why some people (particularly Simon Lucy of Joost, who deserves credit for raising this issue) were pushing to get a clear mission statement formulated.

I originally conceived of Mozpad as a “user group” for people developing on top of Mozilla. But I’m coming around to the view that this doesn’t give it enough to do considering that Mozilla itself is an open source project and has many open forums for developers (something Mike Shaver pointed out). If I want to ask a technical question, I’d rather go to one of the newsgroups or IRC channels where I can reach the broadest possible community of Mozilla core and application developers. And that’s most of what a user group does.

This isn’t to say that we don’t have great and useful action items. But I feel that we would benefit from more clarity of purpose. Specifically, I’m beginning to think that Mozpad should aim to create and distribute a real product. People should be able to go to mozpad.org to get the latest version of the platform and access documentation, demos and other materials (hosted locally or through links to the appropriate mozilla.org). As I’ve made clear, I believe that a truly usable SDK is a must so that people don’t have to go through the fiery crucible of the build system as their very first experience with Mozilla (the software development equivalent of spending a week as a crash test dummy before being allowed to buy a car). I’m also a huge fan of the IDE-in-Eclipse idea. The nice thing is that none of this contradicts our existing action items, it just gives us a better handle on where we are heading.

In fact, I’d like to brand the platform “Mozpad”. It’s a cool name for a platform although it wasn’t conceived as such. There might be some issues with this, however, which I’m looking into.

What do people think of a Mozpad product based on Mozilla, with an SDK, IDE and platform documentation so that it is a viable choice for people who want to develop “rich internet applications” or other multiplatform software? Am I seeing a problem where there isn’t one? Is this far too ambitious? Personally I can’t invest silly amounts of time into this, so if this doesn’t jibe with what other people were hoping to get from Mozpad then it’s not going to fly.

by Matt at August 22, 2007 02:43 PM

July 30, 2007

Mukunda Modell

Feedback Request

I'm interested in hearing from developers who are working with XULRunner. Tell me what troubles you, what parts need better documentation and other things that need improvement. I'm going to be writing documentation for MDC, as part of my Mozpad responsibilities. I'm simply looking for feedback so that I can choose which documents would be most helpful.

by 20after4 at July 30, 2007 10:51 PM

Dragging widgets (Undecorated XUL windows)


The following is a simple bit of code that can make a borderless window dragable, currently tested only on Linux. While this may not be needed in most X Windows Managers (due to alt-click dragability) it's still an important part of any desktop widget runtime. In WidgetRunner you can simply include this JavaScript file to provide the functionality automatically.
/* widget.js - shared code used in all widgets.
*/

window.addEventListener("load", startup, false);
var widgetRunner= window.opener.widgetRinner;

function startup() {
	
	window.opener.widgetLoaded(window);
	if (loadWidget) {
		loadWidget();
	}


	var startPos=0;
	var mouseDown = function(event) {
		startPos = [ event.clientX, event.clientY];

	}
	
	var mouseMove = function(event) {
		if (startPos != 0) {
			var newX = event.screenX-startPos[0];
			var newY = event.screenY-startPos[1];
			window.moveTo(newX,newY);
		}
	}
	
	var mouseUp = function(event) {
		startPos=0;
	}

	window.addEventListener("mousedown",mouseDown, false);
	window.addEventListener("mouseup",mouseUp, false);
	window.addEventListener("mousemove",mouseMove, false);
}
I have published a stripped down version of this code as an example on the Mozilla Developer Connection wiki. That document is here: Code_snippets:Windows#Draggable_windows

by 20after4 at July 30, 2007 07:19 AM

July 29, 2007

Mukunda Modell

Mozilla kills Thunderbird

Warning: This blog contains biased, inflammatory and quite possibly unpopular personal opinions. My apologies to everyone at Mozpad. You have been warned. I am horrified. I guess we all saw it coming but WTF!? I have officially lost faith in Mozilla co. Before I let negativity take over, I must emphasize that I think the Mozilla community is wonderful. I am proud to participate in such a diverse and interesting group, however small my contributions may be. I have been using Thunderbird exclusively for years. I have been a major advocate of Firefox for years. I will continue to advocate open standards and open software. I will continue to support mozilla, with some reservations, to the extent that mozilla earns my support. Now, the negativity: I don't think Mozilla corporation deserves to have the name Mozilla. Mozilla, to me, means Thunderbird, Seamonkey, Camino, Sunbird. etc. Mozilla corporation should be called simply "Firefox, Inc." P.S: This article says it better than I just did: http://www.bengoodger.com/2007/04/the_autonomous_future.html Update: Daniel Glazman has an interesting take on this matter: http://glazman.org/weblog/dotclear/index.php?2007/07/30/3721-thunderbird

by 20after4 at July 29, 2007 12:44 PM

July 26, 2007

Matthew Gertner

Flex Sells

I just attended a session here at OSCON squaring off a couple of new Rich Internet Application (RIA) technologies: Sun’s JavaFX and Adobe Flex. Nandini Ramani of Sun and James Ward of Adobe were on hand to demo their respective approaches.

As I understand it, JavaFX is Java but better integrated with other web technologies. The original pitch for Java was as a way to run multiplatform code on a webpage. As it transpires, it had its clock cleaned by JavaScript and Flash, and has found far more success as a server-side technology. Nandini plausibly suggested that one of the biggest barriers to adoption has been the inadequacies of Java graphics frameworks such as Swing. Now Sun is giving it another go, using HTML as the UI language with lots of whiz bang script goodness. The result looks a lot like, well, Flash.

This is certainly a big improvement. The only problem is that Adobe has moved on, and the Flex demos were nothing short of jaw-dropping. James kept muttering mea culpas to the effect that “I’m not sure why anyone would actually want to do this,” but who cares when flipping the pages of a virtual book that overlay as transparencies or run live video looks so damn cool? He made a big deal about Adobe’s Tamarin scripting engine, which has been open sourced and donated to the Mozilla project. Thanks to just-in-time compilation, it apparently runs tens or even hundreds of times as fast as old school JavaScript.

Bottom line: If JavaFX is Sun’s last gasp in the web client space then they have their work cut out for them. When the session ended, James was mobbed by adoring open source geeks as Nandini looked on forlornly.

Seeing these sexy demos steeled my resolve to soup up the AllPeers user interface with some sort of RIA technology. As a Mozilla shop, the natural inclination would be to explore the use of more open technologies like SVG or simply HTML and JavaScript. (Am I still allowed to call it DHTML?) But Flex has the indisputable attraction of building on tried-and-true Flash and has a slick Eclipse-based IDE. I asked some Mozilla folks at their booth what they thought, and they said “try both”. Hopefully I’ll be able to free up some of our UI people’s cycles to do exactly that, in which case I’ll be reporting back here with our conclusions.