Thursday, October 30th, 2008

Widgetplus: Server side Ajax widgets

Category: Framework, JavaScript

>

Mikael Bergkvist has created Widgetplus, a gadget platform. He told us about it.

XML Runtime

The structure of an application is defined in XML.

It’s loaded into the serverside runtime like this: javascript:xin.app(' http://www.naltabyte.se/desktop/xin/demo/programs/basics.xml ');

We get this as a result. (the ‘test this’ link)

Changes to the app remain persistent because on the server, the xml object has changed.

Of course, different users gets different versions of the same widget, because they have their own xml runtimes.

A widget can contain any amount of javascript to execute clientside, and also include any css to style it, like this calendar application.

A widget can also split itself into subsets, this example opens a new widget as a dialog, which is really a part of the same widget, and saves data back to itself from it.

XML objects can access each other on the server within the boundaries of the same account.

It means that widgets can access other widgets and send/recieve data from them.

Data can also be sent / retrieved cross domain, without opening the widget on the client at all.

The xml for this app in this example, which is behaving much like a webservice, is here.

File system access

Widgetplus allows complete filesystem access for a widget, but only within the user account.

By default, widgets always access the demo account, but when logged in, they access the users home account, it’s files and folders, and other settings.

This is crossdomain by default, like this example on Blogger, which accesses all files on the demo account.

There are several more ways this can play out:

The API lets anyone build their own solutions/variations of this.

Conclusion

These two parts, together, define what widgetplus is.

It’s a serverside xml runtime for widgets, which can access and manipulate files and folders that belong to the free user account.

Users can always sign up / log in to any widget (by default), the developer wont have to bother about that.

Widgetplus clones all widgets as soon as someone signs up, and also automatically creates a webspace directory for the new user with the default folders in place.

Otherwise, whenever someone logs in, it simply serves the requested xml object(s) associated with that user.

It’s important to note that widgetplus isn’t a BOX.net service, the webspace is for widgets – and whatever they do with it – it’s not for uploading your entire music collection. We will move to a server network in about two months, after which we plan to offer unlimited file storage, but for now, we need to keep a tight leach.

Related Content:

  • Direct Ajax - Goodbye to Ajax Deadly Sins
    A tech lead was assigned to enrich his company's "Expense Claim" application with Ajax technologies. At first, he planned to deliver the application...
  • Choosing an Ajax framework
    Your customers won't have to fear Ajax if they have the right tools to work with. Help them determine which Ajax-specific framework, library or...
  • Ajax Learning Guide
    Are you a Web developer? The time has come to rethink your entire approach to developing Web applications. Find out about the Ajax approach...
  • Ajax Learning Guide
    Are you a Web developer? The time has come to rethink your entire approach to developing Web applications. Find out about the Ajax approach...
  • ClearNova integrates Java and Ajax
    Making sure that Java-built Web services don't end at the server level, ClearNova has built a development environment that plugs Java into an Ajax...

Posted by Dion Almaer at 2:30 am
2 Comments

++---
2.3 rating from 27 votes

2 Comments »

Comments feed TrackBack URI

>>a tight leach.

That’s not how you spell “leech.”

This seems neat, but I read the whole thing and can’t quite understand what’s going on. Am I right in assuming that my widgets (that I would make) live on their server?

Comment by Nosredna — October 30, 2008

No.

Comment by Mikael Bergkvist — November 2, 2008

Leave a comment

You must be logged in to post a comment.