software: interview: Antonio Gomes: Minimo Browser
for Nokia 770 and N800
The Nokia 770 internet tablet came with an Opera web
browser that made a reasonably good fist of most sites but could be
annoying in its faillure to deal with others, and also annoying in
not issuing any upgrades whatsoever. Then along comes a port of Mozilla's
Minimo browser. At first it crashes a lot and then, little by little
it is refined until it is close to being a contender. This is Open
Source at work and here we talk to the person who made it happen,
Antonio Gomes from Brazil.
Minimo Windows Mobile
Antonio's Minimo port Blog
Repository details for tablet users
You're a recent Computer Science grad - how did you first get interested in computers?
This did not happen on purpose. I got interested in computers by chance. I am just 23 now, and at the age of 16 I had not yet have advanced experience with computers. I got to like it more and more as the time went by, making me stay hours in front of PCs, coding, reading, and always fixing broken stuff for my own use.
Is there a lot of software development in Brazil? Any particular fields?
Well, I believe Brazil can not be yet considered as a software development center if compared to countries like India, Germany and USA, for example. Although we have been having fast growth in this area in the last 5 years, and this situation tends to change. The main problem I see is that the software development activity is still concentrated in specific parts of the country where Industry Districts are located at. In the South, software development basically supports the rich and diversified industry there. In the North (where I come from) the huge Industrial District invests money on Research Centers through R&D programs, which pushes this area ahead over here. In the other parts of the country, like states of Pernambuco, Paraíba and Rio Grande do Sul, multinational companies have their offices placed there, and also put money into software development.
You're a part of the Mozilla Minimo project. How did that come to be?
I started contributing to Minimo project by patching the currently obsolete GTK version of it, back in 2005. After a while I got CVS write access vouched by Doug Turner, the Minimo project leader. Later, when the project changed direction to WinCE devices and XUL for the graphical tookit, I began to think of ways to bring Minimo back to run on Linux-based devices and I decided to port minimo to Nokia 770 and 800 devices.
It's been interesting that Opera for the Linux-based Nokia 770 seems to have undergone no development at all - there haven't been any upgrades anyway. In contrast, Minimo has been steaming along and improving all the time. It's almost an ad for the good things that are possible with Open Source. What's your take on this?
I use to get emailed daily about Minimo issues by people suggesting or complaining about features, requesting improvements, and even better, sending me patches to fix a broken piece of it. That is the point of the open source community: if you do not like/enjoy something, you can take it and implement it in your way. It speeds development up and then releases become more frequent.
When you first got into this project, what techniques did you use to get your head around the code base? Did you first try and get a feel for the whole thing or did you head straight for the areas where work had to be done?
From college times, I got good skills with GTK Programming and one day, while searching for promising GTK projects to get involved with, I found the Minimo Project. At that time, I did not know about the main Mozilla development techniques/technologies like XPCOM, XPConnect, XUL and so on. I learned about them on demand, reading on-line tutorials, asking in mailing lists and mainly, looking over the code. So I can say that GTK made things easier being the opening door for me. Things changed, and for new beginners, I would suggest you to start with XUL, XULRunner, and Minimo Bugzilla.
What are the priority areas with Minimo for Maemo right now?
Regarding features, the main idea is environment (maemo) integration:
provide dbus interfaces for other applications to talk to Minimo as well as making it to talk with maemo connectivity system; provide a kiosk mode browsing through Minimo Implement command line parameters support to it
Minimo will not get "hildonized" as some had requested of me. One of the main goals with this port hackjob is having a XUL based applications on a Linux embedded device, and I intend to keep pushing XUL ahead.
And more generally, in the browser world, is there any kind of view about the future of the browser?
Although I see the "web 2.0" term as a buzz-word, I agree with the changes it claims to bring up, leading the web to the future: rich user interactions/experiences in websites, social web, peer-to-peer data exchange, XML, AJAX, and so on. In my opinion web browsers must support these technologies to keep in the browsers war. Mozilla has been doing it pretty well, by the way.
Some developers for the Nokia Internet Tablet have been very critical of Nokia, particularly about it having three incompatible Operating System updates in 16 months or so. All of this clearly hasn't dampened your enthusiasm, so what do you make of it all?
Well, back to 2006, migrating from maemo 1.x (arm based architecture) to maemo 2.x (and 3.x - armel based ones) was annoying, at least in the case of MiniMo. Finding out why the same code running on the earlier arm-based images was just not launching on the armel-based ones was a bit painful. Finally I was able to patch Mozilla in a low level layer (a compiler wrapper) and things were alright again. Migrating specifically from 2.x to 3.x API's changes were greatly documented so there was no big problems. After all, it was good to get some expertise in that part of the code (laughs).
I believe the worst case is if you look at these upgrades with an user perspective: users have to be notified somehow about there being an upgrade available, download the new image, a flasher tool from maemo website (which is a problem is the Internet connection the slow), and finally flash it manually.
Bookmark:post to Delicious Digg Reddit Facebook StumbleUpon
Recent on Mstation: music: Vivian Girls, America's Cup, music: Too Young to Fall..., music: Pains of Being Pure At Heart, Berlin Lakes, music: Atarah Valentine, Travel - Copenhagen, House in the Desert