Hello XUL Runner

I have been playing with XUL Runner. It feels like writing a web app, but runs on the desktop. Windows, Linux and Mac desktops. Sweet!

Other things I like:

  • Nice selection of widgets and layouts
  • XBL allows new widgets and behavior to be added.
  • XPCOM allows calls to JavaScript and C++ non-GUI code.
  • SVG support is builtin. (soon)

UI Frameworks Are Pigs

Why are UI frameworks pigs? Because they don’t love you back.

You know the story: You meet this new UI framework. It seems so fresh and exciting. You start spending more time together, just doing small stuff. Things are so easy, not forced or boring like with your previous frameworks. So what if it acts a little immature. Before you know it, you’re writing specialized controls from scratch, embedding large amounts of business logic and enjoying every minute of it. You’re head over heels. Next thing you know, you’re crying yourself to sleep and listening to Barry Manilow.

Come on buddy! Snap out of it. UI frameworks don’t love you back. They don’t care about you. You need to watch out for yourself. Protect yourself. Isolate your code.

If your not ready to drop your current UI framework and switch to something else right now because it could take person-years to port, you have problems. If you have team members that love your current UI framework too much to want to change, you have problems.

They don’t love you back.

The experiences above are not about me, but I have this friend…

AJAX and Rocket Science

Seems I am not the only one disturbed by the FUD some groups are pushing about AJAX being very difficult to implement. This post has some good examples of how easy it can be.

Writing good, quality software is non-trivial in any language. Wizards and RAD designers do not automagically generate great software.

Scalable User Experience

John Montgomery on Scalable User Experience. Although I disagree with the rocket scientist required myth, I agree with John’s conclusions. I especially like this quote:

Rather than trying to replace every application model in use today with one perfect model, a better solution is to let them flourish and to connect them together so that each can do what it does best. This vision, which I’d call the “Scalable User Experience,” is where Atlas begins to take application models. This team is building off three tenets (even if they don’t know it):

  • Respect the richness of the client (whatever that is) to provide the best possible user experience
  • Contain complexity on the server to build on existing administration skills and infrastructure
  • Leave no developer behind by using existing developer skills, code, and tools

I believe that AJAX is a methodology which can help achieve scalable user experiences. I am hoping toolkits like ATLAS can help with some of the weaker aspects of web applications, mainly integration with the desktop client.