Sans Browser

Archives Posts

XULRunner File Remove Bug and Work-around

January 12th, 2009 by enefekt

I’m working on a tool based on XULRunner that generates some content. (HTML content, images, etc.) It produces a directory to put the content into, and then offers the user the option of viewing that content right away.

The problem lies in leaving that content open in a another application like a web browser. Upon returning to the tool, and attempting to re-publish the content, an NS_ERROR_FAILURE exception is thrown coming from the nsIFile.remove call to remove the directory recursively. This is because of some sort of file exclusivity the web browser process has already.

So easy, just catch that error, inform the user to close their content in any other open application, rinse and repeat, right? Well unfortunately under XULRunner on Mac OS 10.5, the initial failure gunks up any further attempts. So even reinitializing a new nsIFile instance doesn’t work. Only restarting the app works! Yech.

Well I found that manually doing a recursive loop and removing each file individually, and then removing the parent directory, works. Definitely not efficient, as the native code would be better over JavaScript. (TraceMonkey should help with this right?) But there isn’t a grossly high number of files or that deep of a hiearchy anyways.

So meanwhile over on Windows, that technique throws it’s own lovely exception. But on Windows, catching the initial exception, and warning the user about files open in other application and closing them, works fine, so thats what I’m using over there.

Archives Posts

Inside RIA: Mozilla Series Part 3

March 6th, 2008 by enefekt

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.

Filed under Firefox, IDA, Mozilla, Mozpad, XULRunner having Comments Off

Archives Posts

Some Mozilla RIA Love

February 22nd, 2008 by enefekt


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!

Archives Posts

Qtrax on Mozilla: Open For Closed

January 28th, 2008 by enefekt

[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.

Archives Posts

XUL Dark Matter Series: Phloneme

January 12th, 2008 by enefekt

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)


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

Archives Posts

AXUL – Android XML User Interface Language

November 12th, 2007 by enefekt

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.

Filed under AXUL, Adobe, Android, MXML, Mobile, Mozilla, Mozpad, XULRunner having Comments Off

Archives Posts

Glazman’s Deep Sadness

October 25th, 2007 by enefekt

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

Filed under AIR, Adobe, IDA, Mozilla, Mozpad, XULRunner having Comments Off

Archives Posts

XAPGen for Xcode

September 10th, 2007 by enefekt

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

Filed under IDA, Mac, Mozpad, XAPGen, XULRunner having 2 Comments »

Archives Posts

XUL Dark Matter Series: TabPress

September 4th, 2007 by enefekt


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. :)

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)

Filed under Mozilla, Mozpad, XULRunner, XULRunnerApp having Comments Off

Archives Posts

Super Add-Ons Possible!

August 23rd, 2007 by enefekt

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.

« Previous Entries