Firefox Mobile Add-ons – One Small Step for Mankind

By small in the title, I mean small devices. One large step was taken in the Fennec add-ons ecosystem over the weekend at the Mozilla/Maemo get together in Copenhagen [pictures, tweets]. Present were a large chunk of the Fennec developement team, add-on developers, localisers, and community members. We shared the space with Maemo developers and community members, and while there was not much overlap during sessions and hacking, there were some useful discussions on how we can work better together. The weekend was a mix of sessions and hacking, with the focus more on the latter. We ported add-ons, made new ones, found bugs, and had discussions on best practices and ways to improve the user experience. Here is a mini-report of what went down, from an add-ons perspective.

Target

It might be obvious to say this, but Fennec add-ons are much different beasts than their desktop counterparts. All the goodness of the Mozilla Platform is there and available to use, but the UI is completely different. Less hooks are available simply because there is less space, but the design and UI flow provide different challenges. Sure, there are toolstrips, aka vertical bars to stick icons on to, but what would happen if every extension did that. Pretty soon yours would be lost in the mix.

Madhava Enros did a good job of explain the design behind the Fennec UI. Dialogs and context menus are just 2 things among others that are out in Fennec, and their usage is strongly discouraged. With regard to dialogs, one concern I was hearing from devs is how to show preferences. Recent builds of Fennec (get desktop builds here, or ask on irc.mozilla.org#mobile) have already taken steps to address this.

Fennec Add-ons Manager
Fennec Add-ons Manager

So as you can see, when Options is selected, the UI appears inline and not in a dialog. While there are still bugs, it is clever, but is it scalable for larger pref sets? Or should extension authors scale down?

Stepping Back

I started off my talk about porting existing extensions [Slides: PDF | PPT] by challenging authors to really think whether they should do it. Ask yourself, does it make sense in this context? Does it fit into the browsing habits of users of smaller devices, which is different than desktop usage? For example, users on the go want more information suggested to them as opposed to go hunting for it which can be cumbersome. Now I don’t want to discourage you from porting your add-on. We certainly need more. Keep in mind that it will be more work than just adding Fennec as a target application in install.rdf, and while doing it, get inspiration for new ideas. I think some of the best add-ons will be ones built from the ground up that take advantage of device capabilities such as GPS and voice.

The document story needs to get better. Mark Finkle posted last week about his documentation efforts so far, and thanks to Mark for that. It gives us a solid foundation to add more. I urge everyone working in this area to post your finding on the Mozilla wiki / Devmo / your blog / anywhere to make life easier for those who follow and help promote adoption. I’ll be personally following up with all participants to make sure they do so.

The Winners

Before the event, we offered a challenge at short notice on Mozdev to developers to propose ports of their existing work or new add-ons for Fennec. 4 entrants got to go to Copenhagen. The winners were (in no particular order):

  1. Fabrice Desre – Develop a “local guide” application leveraging the geolocation support in recent Fennec builds. The geoguide will show informations relevant for the user, like touristic information, photos, retaurants and hotel etc. using various data sources such as flickr and dbpedia. The focus here is not to rely on a cluttered map display, but to provide a clean UI : in the same spirit of the experiments going on for the “new tab” in Firefox, but for a “new place”.
  2. Chris Neale – Port Link Widgets to Fennec.
  3. Marien Zwart – Port RadialContext-mz to Fennec.
  4. Benoit BailleuxautoOpenID looks for OpenID sign-in forms and (depending on its configuration) can log-in automaticaly (or propose to) with no more than one click.

Of the four, Fabrice completed GeoGuide, Chris is almost complete, and Marien and Benoit are still working on it.

GeoGuide
GeoGuide

GeoGuide determines your location using the Geolocation API, and with that data present you with a map view, weather, local events, images, and wikipedia articles.

And The Rest

Some other good work came out the weekend.

  • Nicolas Belloni and Mattias Rost are working on Detector which is their own words, “is an add-on to bring more fingerfriendliness to the content of webpages on Fennec. We strongly support Mozilla’s effort to make a browser adapted for mobile users. So we are aiming at adding more interaction to phone numbers, addresses and contacts’ names. The type of interaction style that we add to the content needs to be thought in order not to be destructive and to take into account the lack of contextual menu. To begin with, we want to detect phones numbers and give the possibility to users to call, save or sms this number”.
  • Jesper Hansen is working on a few things — The first is Save Image. Since Fennec has no possibility to save images, then this addon will provide a list of all images on the loaded page with name, ext, size and a single button to save it. Save Image will also provide a simple canvas dialog (or alternative) that slides up from the bottom of the screen when a onmousedown is being detected for longer than a specific time on an image. Second up, Toastercat: an add-on to monitor and display content of icanhascheezburger.com (and friends, see https://addons.mozilla.org/en-US/firefox/addon/11945) RSS feeds in a simple way without having to load the entire page but only rely on the content provided in the feed. A third add-on is related to about:config since Fennec is missing some features there.
  • Fabrice followed up the excellent GeoGuide with the equally excellent GrafiTwit. This brings a new twist to tweeting, allow you to doodle on a canvas, send the picture off to Twitpic, and post the link to your stream.
  • I ported Zemanta, a few hours of effort, and it now works as the desktop version bar a couple of bugs related to the icon in the location bar. Let me know if you want to try it out, it is not public yet.
Zemanta on Fennec
Zemanta on Fennec

There are a few more add-ons for Fennec available on Mozilla Add-ons. UPDATE: More than a few.

Lessons Learned and Bugs

One of the lessons learned is best summed up by the mantra ‘performance, performance, performance’. Things you take for granted on the desktop may bite you on the mobile device. Here are some performance related guidelines. Another important point is to try if at all possible to test on one of the mobile devices that Fennec runs on. When testing existing add-ons on Nokia developer devices, it was apparent quickly that this was not done for some existing ones. The desktop versions just don’t highlight some issues, e.g. related to touch. Another alternative is to run Maemo virtually.

Mozilla/Maemo Danish Weekend 2009
Mozilla/Maemo Danish Weekend 2009

At this point, bugs are good. If you come across any, please report them and make them block bug 492546 [Develop an extension showing a xul page in BrowserCanvas].

Reblog this post [with Zemanta]

69 Replies to “Firefox Mobile Add-ons – One Small Step for Mankind”

  1. I would like to express some appreciation to you for rescuing me from this particular issue. After looking through the world wide web and finding notions which were not beneficial, I figured my life was done. Being alive without the solutions to the problems you have sorted out as a result of the article is a crucial case, as well as ones which could have badly damaged my entire career if I hadn’t encountered your blog. That skills and kindness in playing with every part was vital. I am not sure what I would have done if I had not come upon such a thing like this. It’s possible to at this time look ahead to my future. Thanks a lot so much for this high quality and effective guide. I won’t think twice to endorse your web blog to anybody who requires recommendations on this matter.

  2. I simply wanted to appreciate you yet again. I do not know what I might have done without these techniques documented by you over that situation. It actually was a real frightening problem in my view, nevertheless taking note of a new well-written style you processed that took me to jump for happiness. I am just grateful for this information as well as hope you really know what a great job your are carrying out educating the mediocre ones thru your web page. Probably you have never met any of us.

  3. Thank you a lot for providing individuals with an extraordinarily splendid possiblity to check tips from this website. It is usually very pleasurable and as well , jam-packed with amusement for me and my office peers to visit your site at the least three times a week to see the new secrets you have got. And indeed, I’m just actually amazed considering the spectacular strategies you give. Certain 4 facts in this article are without a doubt the best we have ever had.

  4. I have to get across my admiration for your kind-heartedness supporting those people that really need assistance with this particular subject matter. Your very own commitment to getting the solution across became incredibly insightful and have helped folks much like me to arrive at their aims. Your personal invaluable report can mean a lot to me and substantially more to my mates. With thanks; from all of us.

  5. Needed to write you a bit of observation so as to say thank you yet again with your unique tricks you’ve discussed here. This has been tremendously open-handed of you to convey unhampered precisely what a lot of folks could have advertised as an e-book to end up making some dough on their own, principally considering the fact that you might well have tried it in case you desired. The tricks in addition served to be a easy way to recognize that someone else have similar fervor like my personal own to learn a little more with regard to this condition. I know there are numerous more fun moments up front for people who read your site.

  6. I am glad for writing to let you be aware of of the notable experience my wife’s daughter experienced viewing your site. She came to understand lots of things, most notably what it’s like to possess a very effective teaching nature to let many others with ease completely grasp specific impossible subject matter. You undoubtedly did more than our desires. Thank you for showing these beneficial, dependable, revealing and even easy tips about this topic to Emily.

  7. I wanted to post you one little bit of remark to finally thank you over again relating to the beautiful views you’ve discussed here. This has been so pretty open-handed of you to allow unreservedly what most of us would’ve made available as an electronic book in making some cash for themselves, particularly now that you could have tried it if you decided. These ideas also served to provide a easy way to comprehend someone else have similar zeal just like mine to learn good deal more when it comes to this issue. I am certain there are lots of more pleasant periods in the future for individuals that start reading your site.

  8. First of all I would like to say fantastic blog! I had a quick question in which I?? like to ask if you don?? mind. I was interested to find out how you center yourself and clear your mind prior to writing. I have had a tough time clearing my thoughts in getting my thoughts out. I do take pleasure in writing however it just seems like the first 10 to 15 minutes are lost just trying to figure out how to begin. Any ideas or tips? Thank you!
    nike air foamposite one

  9. Thank you a lot for providing individuals with such a remarkable opportunity to check tips from this blog. It really is very ideal and jam-packed with fun for me and my office mates to search your website at a minimum thrice a week to learn the fresh secrets you will have. And indeed, I’m actually contented for the fabulous inspiring ideas served by you. Certain 1 areas in this post are surely the most efficient we’ve had.

  10. I wanted to make a small remark in order to appreciate you for the amazing tips and hints you are showing at this website. My particularly long internet research has finally been recognized with incredibly good ideas to talk about with my co-workers. I ‘d tell you that we site visitors actually are rather blessed to live in a perfect network with so many perfect individuals with great strategies. I feel very happy to have discovered your weblog and look forward to plenty of more amazing moments reading here. Thanks again for all the details.

  11. I precisely wanted to thank you very much yet again. I do not know the things I might have taken care of in the absence of the techniques discussed by you about this problem. It had been an absolute troublesome setting for me, nevertheless considering your professional avenue you solved the issue made me to leap for joy. I’m happier for this service and even wish you recognize what a powerful job you were undertaking training others using your webpage. Most likely you haven’t come across all of us.

  12. Thank you so much for providing individuals with an extraordinarily spectacular chance to read critical reviews from this web site. It really is so kind and full of a great time for me and my office mates to visit your website at minimum three times in one week to study the newest stuff you have got. Of course, I am also at all times pleased for the amazing tactics you serve. Certain 2 areas in this post are undoubtedly the most suitable we’ve had.

Leave a Reply

Your email address will not be published. Required fields are marked *