Posts

Showing posts from 2004

What is a richer browser?

In a recent Info World article Jon Udell makes the point that Firefox's success may persuade people to reconsider how they can build richer applications without throwing the baby out. If part of the problem is 'managing complex interaction on the client' then perhaps the place to 'selectively and strategically enrich the browser' is at the level of an application controller? Something that can maintain client state between a pages.

Questions about embedding microcontent in an Atom feed

Imagine I wanted to write a new type of aggregator that could extract microcontent from feeds and then present that content in a way different from a normal 'news' aggregator. For example I might want to allow people to include 'event' information in their feeds and have my aggregator provide a calendar-like view onto all the events it had encountered. Does the Atom Syndication Format help me do that? Lets make the simplifying assumption that there is some well-defined, commonly-used way of representing a calendar event in XML with its own mime-type (lets postulate text/vcalendar+xml). I want to include both this 'structured' microcontent as well as my usual 'unstructured' ramblings into a single entry. My question is how is such hybrid content supposed to be included in an Atom feed? AFAICT entries in Atom may have multiple <content> elements. Thus you could include the calendar event information and the wordy bits in separate <content>

A remote control from Apple

With AirPort Express Apple really have begun to show how a Mac sitting somewhere in the house could be a 'digital hub'. Music stored on iTunes syncs to a portable iPod or is beamed wirelessly to the audio system in the lounge. But I've got to go into another room to select a different album! So what I want from Apple this Christmas is a remote control It could be boring; iPods already show how to control music on-the-move. So just put the same interface on some Wi-Fi enabled remote or maybe even provide some Wi-Fi add-on for an existing iPod. Alternatively... Invent a new category of mobile device; a Wi-Fi enabled mobile client. Sure its got to be small and mobile, but if its use is restricted to 'in the home/office' it doesn't have to have the form-factor of a mobile phone that can be hidden in a smart suit, it could be more like a PDA - even a bulky PDA. But it doesn't have to operate standalone like a PDA. For a device that can be assumed to be a

Architectures for 'richer' web applications

Now that JavaOne is over (not that I got to go) and we are all more up-to-date with where Java is going, I have a simple question: as Java developers are we in a better position to develop web applications that offer a richer user experience? To this end I have developed a simple test scenario: test scenario I have a service that can provide the metadata for several thousand items (id, title, creation date, status, etc) and a service that can deliver an HTML description giving further details of an item specified by its id. I want to develop a web application that displays the metadata in a table on the left (allowing the user to resize, reorder columns etc) and the HTML description of a 'selected' item on the right. When the user selects a row in the table, the HTML description on the right is updated. As a complication the description may also reference zero or more other items. Selecting one of these links should update the both the description and reset the selec

WebStart and Web Browsers

I posted the previous post ( JDNC and Rich Internet Applications ) to the JDNC forum and got a timely and well-considered reply from Mark Davidson. It has made me realise that I have completely failed to articulate what I find so attractive about the browser metaphor and, by extension, my perception of what a RIA should be. RIA is an acronym I saw first used by Macromeduia in conjunction with its Flex product. But I have seen it more generally used by those with a server-side Java perspective, trying to describe what are essentially web applications but with a richer interface. There are a variety of technologies for doing this but most share a common architecture. Rather than delivering HTML, the server-side is responsible for constructing an XML payload (which typically includes both declarative and procedural elements) that is delivered (sometimes via a proxy) to the browser. The browser (or a plug-in hosted by the browser) then presents the application to the user. To rec

JDNC and Rich Internet Applications

It seems impossible to find out whether JDNC (JDesktop Network Components) are really designed to contribute to the development of RIA or not. When used in a web-page, JNDC are essentially applets but they can be configured with the same XML configuration files as their desktop equivalents. Futhermore the components, because they are 'network' aware, can fetch their data from the originating web-site. Thus they have precisely the characteristics to make them a valuable component on a web-page. But the documentation seems only too keen to point out the problems with using them on web-pages (variable Java support, longer load times, the need to reload after a page refresh). JDNC demos are all WebStart based and nobody is saying anything about scripting JDNC or allowing them to interact with other page content, be it HTML content accessible through the DOM or a Flash component. While it might be possible to drive JDNC components with Javascript (just because it can already speak

clevercactus share

Congratulation to the people at clevercactus, there is now a public release of clevercactus share, described on the site as: clevercactus share is a private and secure environment to share files with people you know. clevercatcus takes something we all thought we understood, namely the internet, back to basics. Make it possible for pairs/groups of people to communicate directly with each other. No need for DNS, no need for FTP servers, no need for special handling of firewalls and the like. Just secure, ad-hoc, point-to-point connections between machines out on the edge. the technology Its Java based [UPDATE] using their own P2P framework, not JXTA, and they have gone to great lengths to provide a quality desktop look and feel. clevercactus has both desktop and web components. The desktop component installs itself nicely into your 'whatever it is called - bottom right on windows' bar. [UPDATE] It also updates itself, like JWS, but they've done it themselves

At last....

At last Sun has released something that acknowledges the need for a Java response to rich internet applications. The article introducing Java Desktop Integration Components talks of a desire to bridge the gap between 'browser-based applications' and 'rich desktop applications'. JDIC is just one of a number of Java technologies that can deliver on the desktop, Java Desktop Network Components is another. What is still missing is a clear vision of how all these parts are supposed to be used together for different types of application. For what its worth, my own preoccupation is with RIA - a possible convergence of 'browser-based' and 'rich desktop' apps accessed through a browser. Sun has seeded the JDIC project with an HTML rendering component and that ought to make a difference, but it has kept to its WORA principles (will the Java Desktop ever get a preferred status?) Consequently the level of control offered is very high-level. Making an HTML canv

RIA and Mozilla

With Longhorn, Microsoft are busy building a richer environment for delivering applications to the desktop. In the meantime some in the non-Microsoft world have been busy pushing the concept of Rich Internet Applications. Two of these (Laszlo System's presentation server and Macromedia's Flex) leverage the ubiquity of Flash. But the gamble that Microsoft is taking is that you really need to extend the browser. Microsoft need to deploy XAML compliant browsers to support their approach. In the same time-frame couldn't an open-source browser like Mozilla be extended to make it the preferred target for advanced RIA? Afterall it already contains functionality that has no equivalent in IE (e.g. XUL). And just how long will it be before there are more XAML capable browsers than Mozilla? I don't want to tread on anybody's definition of what a RIA is - or how they compare to what Microsoft is planning to do - so let me just be clear about what I would like to see from a

What is the best way to coordinate data over the Internet?

I've recently been subject to spam-like levels of Plaxo requests. Although Plaxo does some things I like (provides a remote copy of my contacts and a way to sync work and home contact lists) I would like to think there were alternative ways to handle the coordination aspect of what they do, i.e. keeping your contacts updated automatically. If a number of users wish to coordinate data over the Internet, what tools are available to them? There are various ways in which a casual user can serve data; they could set up a web-site/web-service or join some P2P network. However if the problem is simplified to merely becoming a source of data then they can send it out as messages, the most obvious form being email. I've seen estimates suggesting there are about 25 million web-sites out there, about 2 million users of some file-sharing network and goodness knows how many virus infected PCs that could act as servers to somebody. But Plaxo relies on messaging; you install an Outloo