Tag Archive for 'mobile widgets'

Opera Mobile 9.5 - New Betas for WinMo, UIQ and (almost) S60

Widget Manager - LauncherOpera Software released three new Betas of Opera Mobile 9.5, today. The new releases are:

  • Opera Mobile V9.5 Beta 2 for touchscreen Windows Mobile 5 and 6.
  • Opera Mobile V9.5 Beta 1 for UIQ 3.n touchscreen devices.
  • A V9.5 Widget Manager for S60 FP1 and later.

The Windows Mobile and UIQ Beta's can be downloaded here. The S60 Widget Manager is only available as part of the Widget SDK which can be found here.

The key feature of these new releases is widgets.  The Windows Mobile and UIQ Betas provide run-time support for Opera Widgets.  These are similar to Nokia, Access Netfront and Motorola's widgets - applications built with HTML, CSS and JavaScript that depend on a browser based run-time.  The neat thing about Opera's Widgets are that they are cross-platform, they run in Opera for Windows, Apple and Linux, the Nintendo Wii game console, some Archos Media players and now on Windows Mobile, UIQ and S60.  Initially not all of the approximately 1000 Opera Widgets will run on the new mobile platforms.  Widget developers have to do two things turn existing Opera Widgets into "X-Widgets",  Opera's name for cross-platform widgets.  Controls, fonts, images etc have to be adjusted do they display properly on the smaller screen.  In many cases this can be done by modifying the widget's CSS file to load different resources dynamically using Media Queries.  Once the developer gets everything looking right on mobile they just need to resubmit the widget to widgets.opera.com and add "mobile" to the supported platforms on the submision form.  To date there are 12 widgets approved for the mobile platforms.

I've been salivating over Opera Mobile 9.5 ever since the first Beta was released for Windows Mobile back in July.  Opera Mobile 9.5 has gotten some rave reviews. In theory it should be the best Opera mobile browser yet,  combining the latest rendering engine with support for Ajax, SVG, HTML5 and CSS3, the robustness of a standalone browser and the slick UI of Opera Mini.  Unfortunately I don't own a Windows Mobile phone so I haven't been able to try 9.5 other than a few minutes playing with it on the HTC Touch Diamond and Sony Ericsson X1 at CTIA.

I do have a UIQ 3.1 device, a Motorola Z8, so when I heard that there was a new UIQ release I got excited.  Then I read "touchscreen only" and knew I was out of luck as the Z8 is one of only two non-touchscreen UIQ phones.

I do have an S60 N95-3 which is my main phone these days.  I've been waiting for a 9.5 Beta for S60 for three months and it looks like I'll be waiting at bit longer.  According to an Opera  press release,  Opera CEO, Jon von Tetzchner will announce tomorrow that Opera is committed to releasing 9.5  for S60 "...in 2009".  That doesn't sound too promising. He's not  saying  "Q1 2009", he's saying "2009".  I've been following software releases long enough to know that  "2009" translates to,  "if all goes well we hope to have a release at the end of 2009".

Although there's no 9.5 Beta for S60 yet, there is something Opera calls a "Widget Manger" which I've been playing with today. What's a Widget manager?  In Opera's case it's a web run-time that supports Opera Widgets and includes a GUI for finding, downloading, managing and launching widgets.  It's almost a browser, widgets running under the Widget Manager can load and render web pages.  There's no field to enter arbitrary URLs and no bookmarking support so you are limited to the web content that current widgets link to - which at the moment seems to be Wikipedia and Yahoo Answers.  I wonder how hard it would be to create a widget that functioned as a rudimentary browser?

Accuweather WidgetThe Widget Manager is a Symbian S60 .sis file. It doesn't seem to be available as a standalone download. To get it you have to download the Widget SDK which provides documentation, code samples, an emulator for testing widgets on the desktop and the Widget Manager .sis.  The SDK download is a .zip file.  The Widget Manager is in the util\manager directory and is named Opera_Widgets_Manager_9.50-141.sis.  Install it to you phone using Bluetooth or with PC Suite.  When I tried to install it, I initially I kept getting an "Update Error" from the S60 Installer program.  This seems to be related to having Opera Mobile 8.65 installed on the phone.  I removed 8.65 which was an expired evaluation copy and the Widget Manager installation proceeded smoothly. Unlike some S60 applications, the Widget Manager seems to work equally well whether its installed on a memory card or in main memory.

The Widget Manager comes with four Widgets pre-installed and there are eight more that can be downloaded using the Widget Manager's "Add Widget" function, which is itself a widget.  I particularly like the Accuweather Widget. It compares favorably with the similar Nokia  Weatherbug Widget.  I thought the Opera widget was much more responsive, updating and switching views more or less instantly unlike the Nokia one which is quite sluggish.

On the other hand, the Nokia widgets have a big advantage in that they appear as standalone applications with their own icons on the S60 desktop. Opera's mobile widgets (at least in the current S60 Beta) live inside the Widget Manager.  You start the Manager then choose and launch a Widget just like you do with  Java ME based Widget platforms like Widsets, WebWag or Plusmo. According to the SDK documentation, this is a temporary limitation, future releases will support stand alone widgets which will even be capable of running on the phone's idle screen.

Wikipedia WidgetMost of the current widgets display a limited amount of web content themselves and have hyperlinks that launch the phone's native browser to display additional data. As I mentioned earlier, the Wikipedia and Yahoo Answer's widgets function more like dedicated browsers.  You search for a Wiki page or Yahoo answer and the widget loads a summary page with hyperlinks that load the Wikipedia and Yahoo Answers web pages right in the widget rather than in S60Webkit.  This ability to load web content seems to be limited to links that are on the widget's respective (Yahoo or Wikipedia) domains.  I tried loading Wikipedia's entry for Google and clicking the google.com link at the bottom of the page in an attempt to get out to the wider web using the widget engine.  It didn't work, Google.com launched in S60Webkit rather than the Widget Manager.

As an early Beta targeted at developers, the Widget Manager seems pretty capable and stable.  I played with it for several hours and had only one crash.  Not surprisingly, there are are some bugs.  The most noticeable one is mentioned in the SDK's known issues list; when a widget is retrieving web content to render internally,  the S60 native browser still launches and comes to the foreground, obscuring the widget. You have to use the S60 Task Switcher (long press on the menu button) to get back to the Widget to view the content.  There are also some scrolling and cursor control issues in some of the widgets, but for the most part the S60 widgets are quite usable.

Developing widgets looks to be pretty easy for anyone who has done a little web development.  The SDK has some good introductory documentation and there is an excellent video "guided tour" walk though of the creation of a "Hello World" widget.

It you need a little encouragement to develop Opera X-Widgets, there's a developer's challenge, the "X-Widgets Challenge" with the top three widgets getting $5000, $2000 and $1000 respectively. Plus the best widget each week gets a $300 price and the first 20 developers to submit a widget win a $50 Amazon gift card and a t-shirt. The deadline to submit widgets to the Challenge is November 23rd, 2008.

InMobi - Global Mobile Ad Network

Mobile Browser Based Applications

Last week at both Mobile Web Megatrends and the CTIA Mobile Jam Session a major theme using the browser and mobile web technologies as a replacement for Java, BREW and native mobile applications.

Many of the developers attending both events who have been doing Java and native applications expressed frustration with the economic and technical inefficiencies of the mobile application model.  They mentioned platform fragmentation that requires hundreds of versions of an app to support even a fraction of the market, deployment and support issues, and the difficulties of marketing applications - both through the carriers and off-portal.  A number of different groups in the mobile industry, not just developers but also device manufacturers and carriers are looking to the browser to solve this problem.

There are really two separate models of web based mobile applications that are being discussed.  One is widgets, which on mobile currently means downloadable applications which look and act like traditional apps but are implemented using web technologies including JavaScript, HTML and CSS.  Widgets use and depend on web APIs exposed either by the browser or by a widget engine such as  Widsets, WebWag or Plusmo. The other model is Ajax based Rich Internet Apps (RIAs) such as Google Docs. For all the buzz about widgets I think Ajax RIAs have the greater potential because they have less friction, nothing to download making users who are adverse to downloading feel safer plus they can live in a browser tab temporarily for intuitive context switching between related tasks.

As a mobile web guy all of this is music to my ears. But but as Michael Mace pointed out at the Jam Session, two requirements need to be met before browser based technologies are capable being a general replacement for applications:

  1. They need to be functional offline.  The ability to edit a document can't depend on the availability of a network signal.
  2. There needs to be access to core phone features like the phone book, calendar, camera and location.

There are at least two cross platform initiatives dedicated to solving these problem, Google's Gears and the OMTP's BONDI project.  There are undoubtedly others but Gears and BONDI are the most visible.

Gears Gears is an open source project originated by and supported by Google.  It is licensed under a BSD license. Gears is currently available for Windows Mobile 5 and 6 devices as a plug-in for Internet Explorer Mobile.  Opera has announced that future releases of Opera Mobile 9.5 will include Gears. Android will also include Gears but probably not in the initial release.

At this point Gears does not include everything an application developer might want. There is no access to PIM data or the phone camera for example.  What Gears does provide on mobile is online storage and data synchronization, a geolocation API  and asynchronous background proceesing. Google has espressed commitment to aligning the Gears APIs with the evolving W3C HTML 5 and WebAPI standards for offline data, synchronization and location.

Gears security uses a same-origin and permission based security model. Same-origin means that a script can only access an online resource via its own domain, protocol and port, in other words cross-site scripting is blocked.  At the device level the plug-in prompts the user when an application using the Gears API attempts to  access local resources.  The user can grant or deny access. Gears can persistently store the permissions granted to a particular domain and API function so that the user is not prompted each time.  For access to native functions Gears is ultimately limited by the device's own security features.

BONDI Bondi is named after the famous Australian surfing beach and aims to provide great, but safe surfing. It defines interfaces and API's that allow web based application access to device features and user data in a standard, controlled and secure manner. BONDI is a draft proposal of the Open Mobile Terminal Platform (OMTP), a non-profit mobile industry group founded by eight mobile operators. OMTP membership currently consists of over 35 companies  including carriers, device and chip manufacturers, developers and content publishers.  The OMTP's goal is drive standardization and inter-interoperability accross mobile platforms.  OMTP hopes that BONDI  will find it's way into handsets sometime next year.

The project's scope is extensive and covers just about anything anyone could want in terms of access to phone features. BONDI has or intends to define JavaScript API's for access to location; call log; camera and photo gallery; personal information including phone book, tasks and calendar; application invocation, persistent storage, making phone calls; messaging and message management; phone status such as signal strength and battery level as well as providing a set of standardized rich user interface controls including as alerts and resizable windows.  The OMTP recently joined the W3C to champion the inclusion of BONDI in future mobile web standards.

As you would expect from an initiative with operator input, there is a strong emphasis on security. BONDI defines an elaborate structure  of policies and access controls for granting web pages and widgets access to specific functionality based on certificates and certifications.  This is a big change for web based applications.  It goes way beyond the basic level of security provided by HTTPS secure web sites.  As I read the BONDI draft documents, it looks like each web page containing JavaScript that accesses handset features through BONDI will need to be signed with a special BONDI certificate. This certificate which will only be granted after the web service or widget has been  tested and verified for security and functionality by an independent testing lab.  This sounds a lot like the process that applications need to go through to receive certifications like Java Verified and Symbian Signed.

In summary, Gears and BONDI have similar goals but are quite different in both scope and security.

Gears is shipping today with limited functionality, BONDI is very comprehensive in scope but availability appears to be many months away.  I suspect that Gears will continue to gain more functionality and that BONDI will initially launch with a subset of its proposed APIs.

A more fundamental difference is in the way the two projects approach security.  Gears extends to mobile the traditional web and PC model: inform the user of risks and trust him or her to act in their self interest.  BONDI takes the paternalistic approach that users can't be trusted to make wise choices. The platform itself must enforce security through verification and certification.

Security is always a trade off betwen user empowerment and safety.  The BONDI approach undeniably does a better job of protecting both user data and network security.  But it also creates more barriers to entry for developers and vendors, tending to reduce innovation.  An open approach such as Gears' enables greater innovation with some increase in  risks for users and networks.  There is a place for both approaches.  Carriers and Enterprise IT will demand a secure verified application environment for the devices they sell and support. Open source developers, power users and new hardware makers without access to carrier distribution channels will appreciate the opportunities and low barriers to entry of the more open model.  I support both. Together they will help to define a new era of web based mobile applications.

Related Posts:
CTIA: Mobile Jam Session
Content is King on Mobile Too
Google Gears Opens Up Mobile LBS
Google I/O Wrapup

InMobi - Global Mobile Ad Network

Motorola launches Widgets and Mobile Linux SDK

Linux Studio AdWidget Studio AdNot to be outdone by Access, Motorola held their own developer event, MotoDev Workshop, at LinuxWorld today. It was much better attended than the Access get together with a SRO crowd of about 100 people. It probably helped that Motorola made the event free at the last minute (vs the advertised $95), included lunch and had signs up all over Moscone Center promoting the Workshop. There were a couple of significant announcements. The long promised, oft delayed SDK for native C++ development on Linux handsets was finally released and Moto also rolled out the WebUI widget platform built on the WebKit browser engine which will be shipping on MOTOMAGX Linux handsets in the near future.

Motorola now offers four separate versions of the Eclipse based Motodev Studio SDK and IDE; one each for  Java ME, UIQ, native Linux and Widget development. All are free downloads at developer.motorola.com.The Widget and Linux editions are technology previews and can't deploy code to an actual device yet. Lori Fraleigh, Manger of Developer Tools did demonstrate creating a Widget and running it on a handset with unreleased firmware. In the case of the Widgets there aren't any shipping MOTOMAGX phones with the WebKit browser yet so the limitation is understandable.

I'm not sure why MOTOMAGX handsets can't actually run native applications built with the Linux version of MOTODEV Studio. Fraleigh in her presentation implied that both a new version of Motodev Studio and new handset firmware were required. I'd think that if the toolset produces valid binary code which runs in the emulator, there ought to be some way to get it on the handset. I bet the Motorola Linux hackers who hang out at MotorolaFans.com will figure out a way to get around this limitation long before Motorola releases a fully functional development environment. It also sounds like the SDK only supports the new MOTOMAGX (aka Linux/Java) platform, not the EZX one that Motorola has been using since 2003 and which accounts for most of the 14 million Linux handsets Motorola has shipped, mainly in the Far East.

MOTOMAGX is an interesting platform in that it extends Linux to high volume feature phones like the MOTORAZR2, PEBL U9 and MOTOROKR Z6 and E8. One thing that will hold MOTOMAGX back is the lack of 3G support something that Motorola reperesentatives assured me will be corrected soon.

InMobi - Global Mobile Ad Network