MozCamp – XForms and Declarative Applications

Steven Pemberton, author of the ABC programmin...

Steven PembertonImage via Wikipedia

XForms and Declarative Applications” – Steven Pemberton

HTML Forms are a great success, the basis of the e-commerce revolution etc. but unanticipated at the time.

After more than a decade of experience time to move on, move away from the misconception of HTML as a presentation language. More abstraction is needed for advanced purposes. Compare presentational HTML to the Zen Garden approach of basic HTML and rich CSS.

Principles:

  • Ease of authoring
  • Good user experience
  • Ease of changing
  • Device independence (mobile platforms anyone?)
  • Accessibility
  • i18n
  • Validation

The essence of XForms

Complete separation of Date from Content: Instances and Controls

The instance specifies the values being collected. Datatypes specify client side validation and constraints for values entered, even more complex logic like state is only required if county equals USA. Submission actions define the target for the data and what should be done with the result. Together this forms the model, the datasheet.

Abstract or intent-based controls. These are bound to the data (values). Syntax is simply binding an input control to a data item, by which the input knows what data type should be expected and the correct control is chosen. E.g. input for birthdate, whre birthdata is of type date, renders a calendar input popup.

The default XForms give you a toolbox which is very similar to a spreadsheet, no programming needed for common use cases. The actual XForms definition consist of standard XML and the data / values are transferred as XML as well.

Any XML data can be bound to a control, so there’s nothing which prevents editing a xhtml document (as instance) by using XForms syntax. Any page element can be bound by using XPath. Only restrictions: the page must be well-formed xhtml and the server must accept PUT or POST in order to update the page.

Other nice features include:

  • i18n for all form elemens, including labels.
  • auto-complete on form fields (demoed with live google translate per word, as you type.
  • live search: flickr images
  • geo-location as pair of lat/long or a map, bound to the same resource and so updating each other on change.

Implementations vary from plugins (for msie) and native (mozilla). Big vendors use XForms as part of their CMS and Application servers already. Most of this is not user visible, you just experience a rich user interface in the browser.

As a proof of concept, someone built a google-maps like application entirely in XForms which needed 25k of XForms data, compared to over 200k Javascript for Google Maps. Experience learns that one order of magnitude more code takes 34 times as much of effort (time, costs, bugs).

Current browser support is still limited, but the ubiquity-xforms library aims at extending existing Ajax libraries to add XForms support for a broad range of browsers.

Reblog this post [with Zemanta]

Popularity: 21%

Post to Twitter Tweet This Post to Delicious Delicious Post to Reddit Reddit This Post Post to StumbleUpon Stumble This Post

Tags: , , , , , ,
Comments (1)

MozCamp – linked media

Diagram for the LOD datasets

Image via Wikipedia - this version is in fact outdated again, by now the open resources have already doubled.

“Linked Media: Weaving non-textual content into the semantic web” – Raphaël Troncy

Traditional media cunsumption (like TV) is declining and moving to the web. The question is: how can we make media into a first class object on the web?

Lots of issues: codecs, metadata, content protection and so on. Is there a viable OSS alternative?

Media Fragments WG

Case: media fragments identification and selective retrieval of media fragments, the goal of the Media Fragments WG of the W3C. Basic principles apply: fragment identification needs to be based on the URI.

There are four dimensions which define a fragment: time (point or interval), space (rectangle for now), track (video, audio, subtitles) and id (the unique name of the fragment).

The possibilities are limited by the container format can express (e.g. quicktime and such) Protocols include http, rtsp and a lot of proprietary protocols like mms, and the various p2p protocols.

Much of the fragment identification is already possible for the most important players in the market, but the syntax is not standard in any way.

Warning, hardcore geekery ahead… Read the rest of this entry »

Popularity: 20%

Post to Twitter Tweet This Post to Delicious Delicious Post to Reddit Reddit This Post Post to StumbleUpon Stumble This Post

Tags: , , , ,
Comments (1)

MozCamp – open innovation

Mozilla Foundation logo
Image via Wikipedia

Explained by Tristan Nitot

The numbers are huge:

Now both numbers are huge, but there could be even more innovation happening with even more contributors. Most often these are just people “scratching their itch”. These are not only coders – for example an artist who couldn’t bear looking at the crappy logo designed an elegant new logo.

So what does the Mozilla foundation do to help this happen?

  • provide improved frameworks for development (under a OSS license)
  • organize events, Mozilla Labs nights and café (Paris & London)
  • concept series (online) and contests.

Technology

  • Ubiquity (command driven UI)
  • Personas (profiles beyond skins, more lightweight and easy to use, based on just a PNG image)
  • Weave (sync profiles between Firefox and Fennec instances)
  • Bespin (online collaborative source / text editing).

So what does the innovation cycle look like?

We start out with a smart idea, make a prototype which is in fact a bad product, see if it can live up to its expectations and either improve it to turn into a real product, or abandon it and work on something else.

Reblog this post [with Zemanta]

Popularity: 16%

Post to Twitter Tweet This Post to Delicious Delicious Post to Reddit Reddit This Post Post to StumbleUpon Stumble This Post

Tags: , , , ,
Comments off

MozCamp: legal aspects

ART.461. WETB.v.STRAFR.

Image by illustir via Flickr (Dutch property right)

“Legal Aspects of the Open Web” by Arnoud Engelfriet

Are you free to copy content or not? Is talking about sources for illegal content in itself illegal? In Holland (and other EU countries) there is no such thing as “fair use” – I didn’t know that!

Copyright law is so much entrenched (in the Bern convention) that it is almost impossible to change. So copyright will stay mostly as is for now.

Some specific rights:

  • copyright, on original content.
  • trademark right: you are not free to use a trademarked name in e.g. a domain name. So no “Buy & Large Sucks” domains.
  • database right: protection for telephone directories etc. to protect the investment in the database (only valid in EU). So in Holland we’re not allowed to use the postal codes freely.
  • property right (in Dutch: “art. 461 wetb. v. strafr.” is a well known sign for “do not enter my property”). Does this hold also for my server and services? It seems so…
  • privacy right: personal information must be removed from web sites on request. How does this affect the open web?

Bottom line: this is complicated stuff, especially in international/globally distributed context. Arnoud’s advice: contact your lawyer in advance or ask me if I’m allowed to blog about it ;-)

Reblog this post [with Zemanta]

Popularity: 16%

Post to Twitter Tweet This Post to Delicious Delicious Post to Reddit Reddit This Post Post to StumbleUpon Stumble This Post

Tags: , , , , , ,
Comments (1)

MozCamp Utrecht – kick off

"What is the Open Web and Why it Matters" - Tristan Nitot

"What is the Open Web and Why it Matters" - Tristan Nitot (note: the slide mentions 2008 and there's a nice Fennec poster to the left)

Today is the first of a series of MozCamps, held at the Surfnet HQ in Utrecht. Some notes…

Tristan Nitot (chairman of Mozilla Europe) started his talk about the Open Web and why it matters. Quote: “standards are boring“, but they are essential for interoperability. So I can care about the brand of my phone (iPhone vs Nokia) and convey my lifestyle, rather than worrying about the network operator I’m using.

Also, standards enable the network effect: the value of all users combined on one single network is much more than the sum of users of disjoint networks.

Standardization worked out for telephony and email, but initially failed for IM (iCQ vs Yahoo vs MSN vs Jabber and so on – remember Excite PAL?).

Same considerations apply for using proprietary plugins in browsers (Adobe Flash) vs using native browser capabikities, based on open standards: Canvas as a widely implemented alternative.

All major brands (firefox 3.x, Safari 4.x, Google Chrome and Opera 10) except msie 8.0 implement SVG, Canvas native video, JIT Tracing for Javascript and HTML 5 features.

The message is: we should improve the market share of open standards based browsers and enjoy the interoperability.

Next Paul Rouget gives a demo of some these new cool features: native video, canvas, css3, filters, clip paths, canvas overlays… cool stuff indeed!

Tristan Nitot again: the web is not TV, we can not only consume the content but change it if we want!

Demo of people unknowingly working together: ThruYOU – a mix of youtube videos, resulting in a funky song. Each users’ contribution was useful even if they didn’t know in advance what their work would be used for. That is exactly how Open Source development is  working.

Followed by a demo by Olivier Gambier – Take back control over the Web using JavaScript (greasemonkey), Add-ons and Ubiquity – all means to take control over web content and interaction. Especially the pretty new Ubiquity is really useful!

Nitot again: do we want TV and passively consume content, or be part of a world where we can participate instead?

Reblog this post [with Zemanta]

Popularity: 14%

Post to Twitter Tweet This Post to Delicious Delicious Post to Reddit Reddit This Post Post to StumbleUpon Stumble This Post

Tags: , , , , , ,
Comments off

Twitter links powered by Tweet This v1.6.1, a WordPress plugin for Twitter.