Adventures in Widget Development

Life is hard, developing a widget is even harder…

I could never imagine how hard it is to get a widget running or better to get it accepted. Maybe it is just for the JIL specification or especially for the Vodafone Appstar Competition which I attended. I definitely don’t know.

Imagine this: You have a good idea about some piece of software (widget) you would want to have on your mobile, what do you do ? You read the W3C widgets specification and a lot of tutorials and then you are ready to develop your own widgets.

Life is hard, developing a widget is even harder…

I could never imagine how hard it is to get a widget running or better to get it accepted. Maybe it is just for the JIL specification or especially for the Vodafone Appstar Competition which I attended. I definitely don’t know.

Imagine this: You have a good idea about some piece of software (widget) you would want to have on your mobile, what do you do ?

I also did this and developed a widget acording the opera/w3c specification. Before thinking about joining the Vodafone competition I was just testing the widget with the Opera browser. The first submission was not approved, which was somehow expected, because I had some opera specific functions in use. While submitting I also read the Terms and Conditions and they pointed out that you have to use the JIL specification for programming.

It is just a later version of the W3C specification. The opera specification is based on the W3C Widgets working draft from 9 November 2006, JIL specification on the other hand is based of the working draft from 22 December 2008. They also offer a framework which should make everything easier.

Should…I haven’t seen so many advantages.

Disadvantages:

It is not really stable under Windows. I experienced a lot of crashes. Which is not common for eclipse based frameworks. Aptana for instance is really stable and much better to use when programming javascript

It is not possible to include JavaScript frameworks for code assist. Which is the main programming language for the W3C based widgets.

Advatages:

Every time you save your project it will also be packed as a .wgt file.

You can run your widget in an emulator.

2 vs. 2 you can say, but the packaging is not a real problem, since you can do it with Zip functionality which is included in Windows. The emulator can just used for basic testing.

What would you expect from an emulator ?

My expectation was that it will look the same when I run it on a real phone, which was not the case. It was just the normal android emulator with a preinstalled widget runtime. Which leaves just the disadvantages and the problem is really large. What is the point using a programming framework if I don’t get any assist on my code.

<sarcasm>

I could have used Notepad for that too with the same resul.

</sarcasm>

I understand that it is still beta, but they should focus on JavaScript a lot.

In my expectation I set up everything to look good and fit. Which also ended in a disapproval again. So I tried the service of Perfecto Mobile. They offer a service for testing your widgets on a real phone. By chance they offered a test phase for 3 hours. When testing my widget on a real handset I got a shock…Everything was really large and not fitting at all. So some more hours of refactoring had to be spend.

The deadline was close and my widget was still not approved. After in whole 5 submissions and a lot of cold sweat while refactoring it was finally approved on the last day some hours before deadline. But the joke comes in the end. I had to change from JIL specification back to Opera specification. I could have saved a lot of time and anger with the JIL specification. So everything after the first submission was somehow in vain. Not completely, but I would have had much less problems with just using Aptana, Perfecto Mobile and Windows compression tool.

It was a hard time, but I learned a lot. I will definitely spend more time on the widget topic and next time it will not be such a pain. Perfecto Mobile is a really nice service and I will write about my experiece with them in a later post.