Showing posts with label xhtml. Show all posts
Showing posts with label xhtml. Show all posts

Tuesday, 10 February 2009

MomoLondon: Mobile Web & Widgets

This was a great Mobile Monday London. Short, snappy presentations; an exciting and relevant topic with a real buzz going on; announcements that you heard here first; and really useful networking afterwards.

Many thanks to Dan, Alex, Jo & Helen!

GSMA One API

Kevin Smith — Vodafone

Kevin works closely with Dan Applequist.

Aim to produce network enabler APIs across mobile operators — charging, location, messaging, user profile, connection profile. They’re a network-level complement to OMTP BONDI, using a RESTful and lightweight web services system.

Major European & Asian operators all involved.

Have a reference implementation (beta) available at http://oneapi.aepona.com. Go try it out!

OMTP BONDI

Nick Allott — OMTP

I went to the OMTP BONDI codefest back in January (sorry, I ran out of time to blog about it). So I didn’t take many notes on this presentation.

OMTP is an organisation of mobile operators working together (who would have thought!), with manufacturers and system providers joining in the fun. They’re working on defining a javascript API through which a web runtime environment can access and interact with device-specific information.

So there’s a location API (compatible with the W3C spec as it goes), access to calendar and contacts, etc. Crucially, they’re actually building a reference implementation in order to figure out how the API should work. That way they can change their spec as they discover that it doesn’t quite work in real situations. The spec so far looks good — more details and the downloadable SDK at http://bondi.omtp.org.

The only problem is that the reference implementation is built on Pocket Internet Explorer. Great access to device information, but really hard to make a good-looking, functional widget using web standards…

They’ve got one demo widget so far:

  • EMCC Gig Guide w/last.fm
    • location
    • cached feeds
    • syncing calendars

And here’s where to find the latest widgets: http://bondi.omtp.org/widget-gallery/

Ikivo Enrich

Samuel Sweet, VP Sales

T-Omnia widget solution launched November 2008 in Korea. Based on Samsung, Windows Mobile & Ikivo Enrich.

  • SVG display engine (provided by Ikivo)
  • Javascript w/device APIs & AJAX support
  • Aiming to support HTML display engine later
  • W3C widget spec

“Putting lipstick on a pig” for Windows Mobile!

SK Telecom have had 300% increase in shipments month on month since they’ve launched the new interface.

Importantly, the W3C Widget spec now allows SVG as an alternate rendering option for widgets. This means that the Ikivo widget engine can be W3C-compatible.

Announcement tonight: Ikivo will be supporting BONDI

Firefox Mobile

Christian Sejersen

Currently called Fennec but will be called Firefox when it gets released. It runs on the same codebase.

Some countries currently have more than 50% Firefox usage. Mozilla are starting to wonder what they should do when they get a monopoly…

Fennec for Windows Mobile coming out soon (April?); Symbian version started not so long ago.

Shows a demo of running Fennec on Nokia N810 (Maemo) — Fennec Alpha Walkthrough on Vimeo

Browser controls are off the edge of the page to the left and right. Just scroll that way to see them.

Firefox Addons can be made compatible with Fennec. 20 or 30 Addons are available after a month, with no promotion from Mozilla.

There is full API compatibility between mobile and desktop, so once they add location & camera access to mobile, these APIs are available from the desktop build too.

My thoughts

As per Bruce Lawson’s talk at the Betavine birthday party, the browser writers don’t see the difference between mobile and desktop. I agree with them that the APIs and browser can be very similar, but I still think there’s a difference in how you would design a service.

A mobile service needs to take one particular function and “polish the hell out of it” (as goes the recommendation for iPhone app design). A desktop web app still needs to be polished, but has more leeway in its design. There’s also the interaction styles: a mouse is not a finger is not a d-pad, and you need to make the interface appropriate for each of these styles. Sure some of this can be done with stylesheets, but when you’ve got less screen space you want to deprioritise certain content off the screen completely.

Panel session

Chaired by Dan Appelquist

  • Francois Daoust (W3C)
  • Graham Thomas (T-Mobile)
    • 8 years at Nokia on UI & UX
    • Also bringing games into market (Club Nokia)
    • Been at T-Mobile for 7 years, now Head of Multimedia
    • T-Mobile very active in mobile internet — have iPhone and G1
  • Christian Sejersen (Mozilla)
  • Kevin Smith (Vodafone)
  • Brad Sipes (CTO, Ikivo)
  • Nick Allott (OMTP)

T-Mobile widget roadmap — want to have develop once, run across all handsets. Enabling the long tail…

SVG helps to bridge the gap between different screen sizes — since scalable. But Brad sees it more to “make things fun”.

Q: How does BONDI fit in with other web runtime initiatives, like Adobe AIR or Mozilla Prism?

  • CS: Prism currently in labs (local look & feel for web-based content). But don’t really have anything to say as Mozilla…
  • NA: OMTP did due diligence and found 25 different ways of doing the same thing. Operators decided on a common standard and then broke it in 25 different ways…
  • NA: 3 parts to standardisation
    1. APIs
    2. Display engine
    3. Security (one of the big problems for Java on mobile — see signed apps…)

Q: Sounds like lots of separate bits. Do they fit together?

  • NA: Yes. At least all the people on this panel do… OMTP working with W3C. SVG long-established as rendering tech. OMTP location API is W3C compatible, and could use One API as implementation by getting location from http query.

Q: How do I make money out of writing a widget?

  • GT: Key benefit of widgets — start using internet more, like iPhone & G1.
  • KS: Earn £20K from Voda competition…?
  • FD: sell the widget like the iPhone app store.

One advantage of interoperable widgets is that you can buy your widget from anywhere. You can have your own payment mechanism

  • DA: Can we build interoperable application stores? Micropayments never really went anywhere with the web. Will we get there with widgets?
  • FD: There were some standards about micropayments 10-15 years ago, but they werer never finished… Maybe it’s time to dust them off and complete them.

Q: What benefits do I get from a widget that I don’t get from HTML5? (Hugo from Google)

  • FD: Widgets give you more context, but it’s just a wrapper.
  • CS: A lot of the widget issues have come up because of security issues. But in essence it’s the same thing that needs to be solved across mobile and desktop.
  • BS: Widgets give you local application feel that HTML5 isn’t aiming for initially. But HTML5 will converge in the longer term.
  • NA: Some of the widget stuff has been created as a sticking plaster to avoid 15-20 different solutions while HTML5 gets itself ready.
  • DA: BONDI allows HTML5 over https to take advantage of secured APIs.

Q: My question: widgets on the standby screen? What about battery life?

  • GT: want them on the idle screen, with notification etc. Want eBay etc event-based dynamic.
  • CS: Palm Pre will be fully web-based
  • BS: T-Omnia has widget framework attached to button on the side of the phone. Can have lightweight widget framework on low-level phones that aren’t capable of running full HTML5 browser.
  • NA: battery notification & event APIs planned for BONDI 1.1

Q: What sort of security model?

  • NA: BONDI — consumer delegates trust to an entity. Doesn’t work to prompt the user for everything. Instead they should be able to trust Norton, Google, T-Mobile, etc.
  • DA: using XML digital certificates within the widget

Q: If you had one widget, what would it be and how would you interact?

  • BS: weather. would beep at me if thunderstorm coming in.
  • KS: widget that tells me if my 8 year old daughter has turned off her light…
  • CS: can I have a browser instead?
  • FD: tells me which way I should vote on W3C…
  • GT: M25 road traffic info
  • NA: a widget that syncs my contacts
  • DA: location-based ski conditions. What’s important is that the bar is lowered. I want my mom to write widgets!

Q: Have Palm come up with a way to make webapps feel like native apps? (Hugo, Google)

  • CS: Mozilla often have discussions about how to make the browser look native. But people don’t care. They want Facebook to look like Facebook, not a T-Mobile application.

Q: What do operators feel about making widgets more available? (David Stone)

  • GH: Shortly launching service with idle screen. Demo on idle screen. Gallery also available.

Friday, 4 April 2008

OverTheAir: WICD -- Daniel Herzog (Vodafone)

Two profiles: WICD Full & WICD Mobile. Full gives you SVG full and full XHTML, CSS & EcmaScript.

Mobile requires EcmaScript 3rd edition Compact Mobile (no eval) as well as CSS & XHTML

Browsers that support it:

  • Opera 9.5 beta 1
  • Safari 3.1
  • Firefox 3 beta 5 (though not officially, yet)

Big feature in WICD SVG is rightsizing

  • if the browser just defines the width as a percentage
  • go ask the SVG for its aspect ratio
  • assign the height appropriately

WICD also includes media queries. These include things such as dpi which can be very useful on smaller devices. Opera will update media queries in real-time when resizing the browser window :-)

Can interact with SVG and XHTML — e.g. hover over a link and get the SVG to respond immediately; also create SVG animated circular radius over a clicked point on a google map.

SVG has Javascript within it so can encapsulate functions within. Can then address each object’s methods from javascript in the XHTML page.

SVG:

Object.prototype.myAnim = new animatorClass();

XHTML Javascript:

document.objectOfTypeMyAnim.animatorClassMethod(params)

At the moment, designers have Illustrator to create static images. Animations are harder to create. Debugging is now easier using Firebug. There’s another tool called Inkscape available for Linux, Mac & Windows. It’s getting better all the time.

OverTheAir: Volantis Mobility Server (Adrian Jackson & Julian Ludwikowski)

Has three parts:

  1. Multi-Channel Server — content delivery
  2. Message Preparation Server — rich messages & text
  3. Media Access Proxy — media transcoding

All three have been open-sourced (community edition — released under GPLv3) with professional edition that has regular (weekly) updates to devices — close to 200 devices per month.

Community edition is limited:

  • device database updated much less regularly
  • no database support from XDIME

Can generate AJAX for higher capabilities and optimize page size for lower end

Content

Content developed in XDIME — XML Device-Independent Markup

  • XDIME 1: based on XHTML 1, CSS 2 and early draft of XForms
  • XDIME 2: based on DIAL (developed by DIWG), using XHTMLTM 2.0 which includes XForms 1.1 & DISelect.

Can provide XDIME content using a plugin from any source (i.e. dynamic content). There is a webservices plugin built-in. The database plugin is for the pro version only.

Two common ways to set up:

  1. servlet filter
  2. remote site rewrite (like Apache mod_rewrite)

Device database

  • has 530+ attributes including things such as as one-handed use
  • repository editor is an Eclipse extension
  • covers non-phone devices as well, such as Voice & TV browsers

Doesn’t deal with Novarra gateways by default, but could create a secondary rule to fetch the real device. I didn’t get a useful answer to how this would work — they seemed to say that if the MCS was lied to in the user agent then it wouldn’t know to be clever and look elsewhere.

There’s a wide range of logging options, including an unknown devices log that can be sent back to Volantis. MCS uses log4j, so can extend using the usual methods.

Layouts

How you decide where the content is presented on screen. Includes things such as “dissecting panes” (automatic pagination) and iterators.

There is an Eclipse plugin to edit the layouts — you control their appearance with Themes (CSS styles) that are attached to their class attributes.

Themes

Effectively CSS stylesheets. Also edited with an Eclipse plugin.

MAP image transformation

Can be used by itself to transcode and resize images, but you’ll need to provide the required width yourself.