model view controller

"Megafreeze" development broken, Abstract User Interfaces

Melt the Megafreeze, let it trickle

Tuomo Valkonen writes that The megafreeze development model is broken in GNU/Linux distributions. He argues for a very long release cycle for an extremely stable base system (in line with Kernel releases) and then separate repositories for applications which are constantly upgraded.

I've often thought that in a world where security updates can be trickled over the Internet as they become available, it's odd that new features come in big chunks with each new release of a distribution. With Ubuntu, I upgrade every 6 months to see new features, why can't the features just appear as they become available like we're used to with Software as a Service?

Sam has tried to explain the reasons for the status quo to me on numerous occasions (him knowing a lot more about building Linux distributions than I), but like Valkonen I still remain unconvinced that the Megafreeze is the best approach.

Abstract User Interfaces: "Plasticity"

While I was on Tuomo Valkonen's homepage I noticed the Ion window manager that he developed. I found the UI ideas very interesting because they're very similar to a lot of things I'm trying to achieve with Webscope.

Ion has "tiling workspaces with tabbed frames" and the screen is always filled at any one time, like the multi-level resource tabs I want to create.

Ion also has a "query module" which "implements a line editor similar to mini buffers in many text editors. It is used to implement many different queries with tab-completion support: show manual page, run program, open SSH session, view file, goto named client window or workspace, etc." which is a similar concept to the Natural Language Command Line I am trying to develop.

In a paper entitled Vis/Vapourware Interface Synthesiser Valkonen describes a system for describing user interface semantics and then automatically generating actual interfaces based on user's preferences with the use of stylesheets. This seems very much like a transform view in a Model View Controller design pattern and he's essentially talking about doing for the desktop what I want to do for the multimodal web. Starting with a semantic description of a user interface (e.g. using DIAL) and then transforming that semantic description into various different presentations using XSL stylesheets.

In his bibliography, he links to papers which use the term "Plasticity" in user interfaces, which I might explore further. User interfaces these days have to go "above the level of a single device" -- O'Reilly.

tola – Wed, 2007 – 03 – 14 12:15

Google Web Toolkit Open Sourced

Google have released the latest version of the Google Web Toolkit under the Apache 2.0 License. The Google Web Toolkit is a toolkit for creating "AJAX" web applications by creating a Java application, then "compiling" it to JavaScript and HTML.

I've always been quite interested in the toolkit, but "compiling" Java to JavaScript always seemed like a novel but messy idea to me. However, after to listening to two podcast episodes by its creators, I've become more interested.

It seems that the choice of the Java language is purely based on the tools available to create applications with that particular language. The GWT is for creating cross-browser JavaScript and HTML user interfaces without having to worry about browser quirks, using existing powerful development tools. You can use any server-side language to generate the JavaScript & HTML once you know what needs generating, so GWT could easily be used in conjunction with PHP, Python et. al.

Something I particularly like is the philosophy of not forcing you down any particular design path, but supporting as many as possible. For example, if you happen to be using the Model View Controller design pattern, GWT would be brilliant for creating the "view" part, and you could use something else for the Model and Controller parts. Or you could not use Model View Controller at all. Also, you don't have to use the whole toolkit, you can use just parts of it, the components are designed to work independently of one another.

I'm still not sure that "AJAX" web applications are the best solution for software as a service in the long term, but they're certainly the best technology currently widely supported, even if you have to deal with browser quirks to ensure compatibility.

tola – Thu, 2006 – 12 – 14 00:01
Syndicate content