Opera Widgets: cross-platform applications
The Opera Widgets runtime is available on all platforms where Opera is available. This article discusses the nature of Opera Widgets, as cross-platform applications, goes through the benefits of their implementation model, and looks at some platform variations to be aware of when creating widgets.
Table of contents:
- The same Web technologies on all platforms
- Platforms have different characteristics
- Different use contexts
The same Web technologies on all platforms
A key feature of Opera is that the browser is based on a common implementation of Web technologies which is reused on all platforms where Opera is available.
The Opera Widgets runtime is based on the same common implementation of Web technologies as is used by the browser. A widget can use the same Web technologies even if its running on platforms as different as a Windows desktop machine or a mobile phone running a proprietary operating system. The Web developer has access to the same features with the same quality on all platforms.
The benefits of this include:
- Reuse of knowledge
- Reuse of code
- Shorter development time
- Less risk, higher quality
- Increases the user base for your widgets
- Simplification of development process
The Opera Widgets runtime is available on platforms such as the following:
- Windows Mobile
- Linux for various embedded systems architectures
- Linux on x86, Sparc and PowerPC architectures with support for a large number of distributions
- Microsoft Windows on x86 architecture
- Solaris on Sparc and x86
- Mac OS X
- FreeBSD on x86
- KDDI auWidgets – based on Opera 8
- Nintendo Wii
Platforms have different characteristics
Even though the same Web technologies are available on many platforms, a widget may not behave the same way on all platforms.
This is primarily due to the fact that platforms have different characteristics, for instance:
- CPU performance
- RAM amount available and access speed
- Permanent storage space and access speed
- Network bandwidth and latency
- Availability of fonts
Also, the devices will vary with respect to issues like:
- Input capabilities, support for full or limited keyboard, mouse, stylus, joystick, and so forth
- Screen size, available colours, pixel density, screen readability
- Power source and battery life.
Such characteristics either directly affect the performance of a widget limit, or even aid the user in interacting with the widget.
Different use contexts
Users use different devices in different settings, for instance, a desktop computer is used while sitting down, focusing fully on what’s on the screen. A mobile phone is mostly used when moving around, supporting the user in his primary task.
The user’s needs are not the same in different use contexts, even when using the same widget.
As an example, consider a travel-related widget:
- While planning a trip, users could use the widget on a desktop computer to research places they may want to visit
- When out traveling, users could use the widget on a mobile phone to get quick access to maps and key information aiding them in getting around
Widgets need to adapt to the use context in order to be successful.
Using your Web developer skills and the Opera Widgets runtime you can create applications able to run on a wide variety of platforms.
In order to develop successful widgets you must understand the use contexts and devices where the widget will be used. You also need to consider the characteristics of the device it will be running on.
- Characteristics of widgets on mobile phones.
- This article discusses what kind of characteristics mobiles have, and how they affect development.
- Cross device development techniques for widgets.
- Techniques for designing mobile applications and improving performance.
- Mobile widget development process advice.
- Here you will find some general tips on mobile widget development.
- Adding a docked mode to your widget.
- This articles will teach you how to add a docked or micro widget mode to your widgets.
- Optimizing PNG Graphics for Devices.
- This blog post gives some useful hints on optimizing PNGs for devices.
This article is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported license.