Back to my page

Developer Blog



UWA developers: Patrice Bernard (i-Métro)

i-Métro logoWe already wrote about the i-Métro widget and its makers, Patrice Bernard and Frank van Caenegem. But since this is one very useful service/widget, and it makes good use of the Universal Widget API, we thought it might well be worth the time to have a chat with Mr. Bernard, the man behind the widget itself, and let him give us his thoughts on UWA…

i-Métro is a very complex widget, using both a lot of JavaScript code, and a lot of server data. What made you choose to build the whole code from scratch rather than loading one of your existing Web version through an iFrame?

Our previous versions of i-Métro were “old-fashioned” web applications and we thought the NetVibes platform offered a good opportunity to build something more dynamic, kind of “web 2.0-ish”, especially with the promise of supporting multiple platforms. On a more practical point of view, none of our existing versions would have fit nicely in a widget and adjusting one of these would have required some work anyway.

However and despite the size of the main file, the widget has not been so complex to build since I actually re-used existing code for most of it, including styles, javascript and HTML code, not to mention the back-end providing the core of the service.

What are the advantages of generating your HTML code on the serverside, rather than using the browser’s DOM methods?

This is one instance where I wanted to re-use existing code. At first I considered that choice to be some kind of a trade-off, but I was also wary of possible performance problems when relying too much on javascript code.

When I see how slow Safari can sometimes be on my iPod Touch, I just congratulate myself on selecting this approach!
I also think the widget would not benefit much from using DOM’s methods, which I consider more adept at controlling the user interface at an elementary level. In i-Métro’s case, the interaction logic is still mostly based on a “page” paradigm.

How easy/hard was it to adapt your MétrO service into a UWA widget? How long did it take?

As I said above, building the widget itself was not very difficult. It just took a bit of time learning the specific UWA APIs - whose simplicity is a blessing - and all I had to do then was wrapping i-Métro in a dynamic interface - i.e. developping the “interaction” logic above the core services. Although I also created a dedicated version of these core services for efficiency’s sake, our internal server-side architecture let me do this very quickly.

All in all, I think I have spent between 30 and 50 hours building the widget and adjusting details.

What were the worst parts of building this widget? Were you able to include all the functionalities you wanted?

The worst part of building a widget are the same as for any web application: ensuring it is compatible with different browsers and platforms. At times, it is frustrating not to be sure whether a problem lies in one’s code or in the UWA library but thanks to the active developer forum I have never been stuck with bugs for very long.

There are a few features I’d like to add to the widget but the main reason they are not yet implemented is the lack of time - I have to maintain data for transportation systems in about 400 cities! - rather than limitations in UWA. I’m afraid you provide new features faster than I can use them :-)

How was it received by your existing community?

I must admit I am quite disappointed with the lack of feedback I have received about the widget. I know, through the NetVibes Ecosystem and our own back-end logs, that there are quite a few users but I don’t really know what they think of the service.

There is an exception, with the recent addition of an iPhone version of the NetVibes portal: our long-time users really enjoy having access to a rich version of our software on their phone.

What are the improvements you would like to see in UWA?

This is a tough question and after giving it much thought I have not come up with any bright idea ;-) The only problem I would like to point out is about the publishing process: every time I want to update the widget in the Ecosystem, I scratch my head wondering how and where I should do it. Why is it not clearly explained in the documentation (or would it be that it is so obvious I can’t see it)?

And I wish you’d deliver much faster on the compatibility with the various widget platforms… (OK, maybe I shouldn’t expect miracles).

I also have a few ideas over the NetVibes platform itself: first, I’d love to be able to provide a direct URL to an iPhone version of i-Métro for users who do not want to setup an account. Second, I’d suggest adding a standard option to the widgets letting users directly post a comment in the Ecosystem - yes, I’d like to get some feedback :-)

Tags: , ,

Leave a Reply