May wrap up

Confirmation doc screenshotMay was a fairly uneventful month. I spent most of my time just working on my PhD confirmation document (read the finished draft) and made but a few editorial changes to the Widgets 1.0 Requirements document.

I’m supposed to submit the confirmation soon (on June 13th to be exact). I still have a bit of work to do on it, especially in regards to methodology and a contextual review of widgets and widget engines… a contextual review basically looks at what widgets are, what they do, and what are the forces (markets, usefulness, web 2.0, etc) that are driving the continual popularity of widgets. As one can imagine, the contextual review is an ongoing process.

In regards to the requirements documents, I’ve was quite influenced by a chapter I read from the book Advanced Topics in Information Technology Standards and Standardization Research. In that book, there is a chapter title “Open Standards Requirements”, by Ken Krechmer, that provides a set of criteria for basically deciding if a standard is “open”. I took a few idea and used them in the requirements document to make sure that the standard remains “open” as defined by Krenchmer and that no one company controls it… even if not all widget engine vendors are taking part in the discussion.

Creative Industries Network Alert Widget

CIF Network Alert WidgetFinally finished the Creative Industries Network Alerts Widgets (CIAlerts.widget Yahoo! flat-file, ~250k). Its purpose is to allow system administrators at QUT, where I work, to send out network alerts to staff and students when things go wrong on any of the servers.

You are free to download it, but be warned that you probably wont see very much (if anything) because it requires that someone send out an alert; and only Admins at QUT, where I work/study, can do that. The widget’s dynamically loaded source code is also available.

The widget is accompanied by a website from which the alerts are sent. Network admin can send three kinds of alerts: “Please Note”, “Attention”, and “Very Important”; each kind of alert comes with its own color (as seen above and below).

CIF Network Alert Widget in Please Note state CIF Network Alert Widget in Very Important state

Using XMLHttpRequest, The widget works by periodically polling the server for new alerts. The alerts are sent as a JSON header string and processed in the widget. The widget features:

Dynamic BootStrapper (bootstrap.js):
…details coming soon.
Custom Animation Engine:
…details coming soon.
Custom event subscription model:
…details coming soon.
Alerts database:
…details coming soon.
Simple Dock manager:
…details coming soon.

Widget Processing Model

Widget Processing ModelStarted to diagram the a high-level flow-chart of the Widget Processing Model for the Widgets 1.0 Spec using Visio. It is still early days, but hoping to submit it to the WAF Working Group soon for discussion. I’ve particularly focused on resolving the localization of content problem following the model used by Apple, Yahoo, and Microsoft. Opera does not support localization of their widgets through automated folder selection, which makes them the odd one out.

If you have comments, you can post them here or on the WAF public list (public-appformats@w3.org). I’m also hoping to republish the Widgets 1.0 Requirements document within the next few weeks.

April wrap up…

Anne Van Kesteren and Marcos CaceresApril was a pretty crazy month. I held a WAF Working Group meeting at QUT, left the HTML Working Group, and then took a week off to walk the Overland Track in Tasmania (flickr photos!).

The working group meeting went well despite the fairly average attendance: we only had six members attend. I had hoped that at least 10 people would show up. On the upside, I finally got to meet Cameron McCormack and Lachlan Hunt (two new Australian recruits to the WAF Working Group) and we got lots of stuff done. The other people who attended included Art Barstow (Nokia, the Working Group chair), Guido Grassel (Nokia), and the always entertaining Anne van Kesteren (see picture, on the left). The minutes of the meeting are publically available at the w3c.

Wombat

The meeting centered around our current work:

And Anne van Kesteren gave a presentation to QUT staff and students about the future of HTML… HTML5. Continue reading

New look

New look template. I’m currently working on a new look for this web site… hopefully I will get some time to finish the new template. I’m trying to explore the widget design concept a bit further through this template.

Widgets 1.0 responses and thoughts

Responses to the Widgets 1.0 spec on the web have been mixed, but mostly positive with a few negative comments here and there. There have been some positive responses, like the one on Ajaxian. The brief article on Ajaxian seems to clearly capture the point of the spec:

Everyone and their mother have created their own widget specifications, and now as a developer you need to make choices. Do you want it to work on Dashboard? Google? MSN? Yahoo!?
If the big hitters supported this widget standard then we could write once, widget everywhere. Kinda :)

And another really good point they make is that…

This standard will live and die by the support that it gets.

Dare Obasanjo wrote a fairly negative blog entry about the Widgets spec seems to kinda miss the point (and Mark Baker points that out in the comments), because he seems to think that Widgets 1.0 is trying to address web page embedded widgets, which it is not.

Arve Bersvendsen, who edited the very first versions of the Widgets 1.0 spec, took time to briefly blog about the widget spec; and so did Anne van Kesteren (currently the other editor of the Widgets spec), stating in his blog entry about Widgets 1.0 that for some time I thought widgets were the latest marketing trick and pretty useless. Now I think they can actually be really useful (and fun) for creating simple applications using HTML, ECMAScript and CSS. The website Musings from Mars also thought that Widgets 1.0 was a good idea, saying let’s hope the world came settle on a standard that would let developers write widgets that would work on all the various platforms (Yahoo, Apple, Opera, Google, and, yes, Microsoft).

It seems that in general people get what Widgets 1.0 is all about. For those who don’t, lets be clear. The purpose of the spec is (IMHO):

  1. stop fragmentation of the Widget development space, particularly in relation to metadata and the APIs.
  2. to provide a standardized way to package, sign, code, and record metadata about widgets. The theory being that, if adopted by vendors, you could write a widget once and run it on any conforming widget engine (Yes! the same as Java applets). Of course, this second point is very complex (or screwed!) because of the API problem, which is the greatest challenge for the standardization of widgets. I return to this massive issue later.

I think the cause of confusion has partly been the name “Widgets 1.0″ and the lack of historical context around this spec. I guess this is why the original requirements document I wrote was named “packaging client-side web applications”. Even though the title made sure that very few people knew what the hell i was talking about, the title of my document captured (part) of the problem well… but capturing the problem well doesn’t help if people don’t know what the hell you are talking about. However, the Widget spec is wider in scope and so is the now renamed “Client-Side Web Applications (Widgets) Requirements” document. As I already discussed above, the scope of both documents now covers five issues surrounding widgets:

Continue reading