How to get your Firefox Extension working on Minimo

June 1, 2006

One of my fun upcoming tasks is to get a fully event driven desktop like application working on a handheld device like an IPAQ. Ideally, I was hoping to reuse my firefox extension that acts a socket server to listen for events from the outside system and have the app respond to said events. For example... you're on a plane and someone wants to order a drink so they hit the service button on their seat. That button sends a message that is broadcast out to the rest of the system and if the crew member assigned to your section is signed in on their IPAQ they should get a little alert on their device, all asyncronously.

Enter Minimo...
Since I can't reuse my extension with Pocket IE, Minimo was my obvious choice. Minimo is the "mini" firefox browser for handheld devices. Although still VERY much in its infancy I was able to actually get my extension running with the of help of the mozilla forums.

This is a very basic tutorial on how to get a basic extension working in minimo. Since there is no packaging mechanism for minimo extension you kind of have to hack your way through it. First things first....You have to install Minimo on a handheld device. The good news is that was very simple, just download and follow the installer on windows. Next lets look at the file structure of the Minimo Application on the handheld device. Open up file explorer on the handheld and you can see its:

\Program Files\Minimo\chrome
\Program Files\Minimo\components
\Program Files\Minimo\greprefs
\Program Files\Minimo\res

The only thing we're going to do is drop 2 files into the Chrome directory
1. mytest.manifest
2. mytest.jar

There is no XPI file. We're just going to create an extension that does an alert() message from the XUL overlay file. This will get you started at at least let you know if you're able to install an extension.

Lets take a look at the first file we need mytest.manifest
This file contains the path information so minimo knows what do with our extension. Its a very simple file with two lines

content mytest jar:mytest.jar!/content/ xpcnativewrappers=no
overlay chrome/minimo/content/minimo.xul chrome/mytest/content/overlay.xul

1st line we're saying our jar file is mytest.jar and our junk can be found in the the /content/ directory of our jar file
2nd line we're saying overlay the overlay.xul file in my content directory over the minimo.xul file

take a careful look at the paths and make sure you're extension matches whats going on here.

So lets take a look at our extension folder on our local machine:

So now we have to create our overlay.xul file:

  2. <?xml version="1.0"?>
  3. <overlay id="pacsock_overlay"
  4. xmlns="">
  5. <script type="application/x-javascript">
  6. alert('hey dude!');
  7. </script>
  8. <!-- Context Menu -->
  9. </overlay>

thats it, just a simple alert message that says "hey dude". So now we have the two files we need. So next step is to right click on the content directory inside the C:\mytest directory and choose SEND TO -> COMPRESSED FILE which will create a .zip file next to the content directory. Change that to mytest.jar

Now we're ready to drop that sucker into Minimo. Open up Microsoft Active Sync and click Explore

Next click on My Windows Mobile-Based Device, Program Files, Minimo and you should be looking at a screen that looks like this:

Now go back to your local machines "mytest" directory and copy the mytest.manifest file and the mytest.jar file over to the "chrome" directory in the active sync file explorer page. Your chrome directory should now look like:

thats it! now just close Minimo and reopen it and it should prompt you with an alert that says "hey dude"


RSS feed for comments on this post.

  1. ;Op says:
    June 18, 2007 @ 07:31 — Reply

    Hi Jim. Thanks for this small tutorial. But actually I need to do more than a bare alert ;-) Do you know where I can get some documentation about the subset of features supported by minimo, compared to firefox? Thanks

  2. Arun says:
    August 4, 2009 @ 21:24 — Reply

    Hi Jim, //I was hoping to reuse my firefox extension that acts a socket server to listen for events from the outside system. Can you please provide a link to the extension you have mentioned? I searched around for this plugin and couldn't find any.

  3. blu ray ripper says:
    April 18, 2010 @ 04:29 — Reply

    Comment pending moderation

  4. World Cup Betting says:
    May 4, 2010 @ 12:13 — Reply

    Comment pending moderation

  5. 642-067 says:
    May 19, 2010 @ 00:34 — Reply

    Comment pending moderation

  6. notebook adapter manufacturer says:
    May 29, 2010 @ 00:35 — Reply

    Comment pending moderation

  7. virbram five fingers says:
    June 4, 2010 @ 20:32 — Reply

    Comment pending moderation

  8. coach outlet store says:
    June 7, 2010 @ 02:08 — Reply

    Comment pending moderation

  9. LOuIs VuItToN Damier Graphite Canvas says:
    June 9, 2010 @ 21:16 — Reply

    Comment pending moderation

  10. E20-322 says:
    June 12, 2010 @ 18:19 — Reply

    Comment pending moderation

  11. Louis Vuitton handbags says:
    June 16, 2010 @ 01:33 — Reply

    Comment pending moderation

  12. designer handbags says:
    June 19, 2010 @ 19:45 — Reply

    Comment pending moderation

  13. replica watches says:
    June 21, 2010 @ 03:42 — Reply

    Comment pending moderation

  14. replicas watches says:
    June 21, 2010 @ 18:14 — Reply

    Comment pending moderation

  15. air max says:
    June 24, 2010 @ 02:27 — Reply

    Comment pending moderation

Leave a Comment

Line and paragraph breaks automatic, HTML allowed: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <code> <em> <i> <strike> <strong>

Comments disabled due to spammers being losers that lead sad lives.