Welcome to the overview of the Streamezzo Rich Media Solution! If
you're new to Streamezzo solution, then this overview will help you
getting started fast in understanding rich media authoring and
developing rich media applications on a large set of devices.
The purpose of this article is to provide you an overview on
Streamezzo rich media solution, so you know what it deals with and what
you can successfully achieve with it.
Here you will find the overall description of
Streamezzo Rich Media Solution, which kind of rich media application
can be realized with this solution, what are the specific advanced key
features brought by this solution, and a brief description of the
language to be used to develop your own Streamezzo powered rich media
applications.
Last but not least, you will find a focus on the 2
mains issues related to such rich media applications targeting a large
set of devices: portability and evolutivity.
There we will briefly describe all facilities brought by
Streamezzo Rich Media Solution to cover those 2 issues, in order to
achieve the best user experience and address the widest audience.
Introduction
What is Rich Media?
Talking about "Rich Media" may be confusing - anyone may have his own interpretation of what it covers - as long as a clear definition is not given to it.
Rich Media content is a presentation that can combine in space and in time the following elements:
- Texts, Shapes, Bitmaps, Audio and Video - what we call Integrated media
- Animations
- User Interactions
This combination leads to a Rich User Interface that you can design at your will.
Why developing Rich Media contents?
As versatile and ubiquitous devices, the mobile devices are expected to bring a large set of services to its end-users.
The design and the intuitiveness of such services are key to differentiate one service offer from another and to demonstrate its added value to your audience. Rich Media contents are the most appropriate way to present highly interactive user interfaces, complex data visualization or multimedia assets.
Streamezzo Rich Media Solution was designed with the objective to reduce the development cost, improve responsiveness of applications and increase revenue opportunities by providing the most compelling services in a short timeframe.
What is Streamezzo Rich Media Solution?
... a client - server solution
Streamezzo rich media solution is mainly based on the client - server paradigm, i.e. a distributed approach based on streaming:
- Client-side
- Rich media content embedded on the device (local/pre-embedded rich media scenes)
- Interoperability with device capabilities
- Use of InstantScript APIs for local operations on rich media content
- Interaction with the server side of the rich media service, i.e. requesting dynamic server-side processed rich media content to Rich Media Server instances hosted webapps
- Server-side
- Rich media scene content dynamically built on a server
- Interoperability with back-ends (i.e. Service Providers...)
- Use of Java programming (including Streamezzo Service APIs)
- Answers client requests
The following figure illustrates the overall client - server architecture (note: components displayed in grey are usually interfaced with Streamezzo Rich Media Solution but they are not part of it):

... with key advantages
The key features of Streamezzo rich media solution are:
- Rich Media content design:
- Audio, Video, Image, Text, Shape
- Animation
- User Interaction
- Applications availability on low-end to high-end devices
- Streaming technologies: Streamezzo solution optimizes the content delivery and increases the content responsiveness:
- Rich media content streaming (allows a quick start and a on-the-fly delivery)
- Rich media content updating (transferred data optimization / available data strong reusability
- Audio / Video streaming (various formats and standards are compatible with Streamezzo solution)
- Lightweight format
- Java programmatic benefit
... reaching the widest set of devices
Streamezzo rich media client-side solution (Rich Media Client) supports the widest range of devices:
- Native
- Symbian
- Windows Mobile
- LINUX
- BREW
- iPhone
- J2ME & alike
- MIDP 2
- RIM BlackBerry
- Android

Streamezzo rich media server-side solution (Rich Media Server) is a J2EE application that can be installed and run on any J2EE compliant Application Server. As a consequence there is no need to support a new server architecture and to adapt your current web server platforms.

... granting a complete software suite
Benefit from a complete set of tools to deploy and improve your customer applications.
Streamezzo offers a complete Software Suite for rich media applications: not only this client - server solution, but an end-to-end solution, from authoring / development to deployment and packaging.
Indeed this solution also includes a fully equipped IDE (Workbench Developer) to develop your own rich media application with ease, including emulation, publication on server (Rich Media Server instance) and packaging for client (Rich Media Client powered).
In addition, to ease rich media application development, Streamezzo also offers Components which are reusable pieces of rich media content that can be used to include features in your rich media application with little or few coding.

Which kind of application can be realized?
The sky is the limit: with Streamezzo Rich Media Solution you have a complete framework to develop your rich media application whatever it is.
The following showcase illustrates common use-cases you can address:

Advanced key features
Apart from the "basic" key features mentioned above that you definitely need to develop an efficient rich media application, Streamezzo Rich Media Solution also offers specific advanced key features that you will rapidly take advantage of in order to move forward with Streamezzo solution.
Network optimized usage
An optimal bandwidth usage is key for rich media application responsiveness / in terms of end-user experience
- Compressed lightweight format: transferred data footprint is optimized
- Rich media scene content streaming (Access Units): data is transfered progressively / response to client request is as quick as possible
- Audio/Video streaming (Media Units): media data is transferred progressively, with respect of playback timing
- Rich media scene content incremental update (append mode): only missing data is transferred / available data is reused on client
- Advanced client cache management: client-side valid data is reused / no extra data is transferred + data can be downloaded in background when connection becomes available
- Server cache management: rich media content processing optimal timing, storing processed scenes and external resources
- Files download: including OMA download, resuming
- Files upload: including packet segmentation, resuming
Device interaction
Interfacing with the device data and capabilities is key for an integrated rich media application.
- Device stored data manipulation (display / update / add / remove): contacts, agenda alerts, messages, files
- Device embedded applications launch: click to call, send SMS, launch WAP browser, integrate / launch camera capture
- Device metrics: cache occupation, memory occupation, network level, battery level, sound level
Audio / Video controls
Many rich media applications include audio / video content, providing standard controls on such media.
- Controls: play / play at / pause / stop
- Events: connection / playback status / errors
- Time: animation enslavement to current playback time
Language
The language you will use for developing a Streamezzo powered rich media application (namely RSP, standing for Rich Media Service Pages) can be compared - in some extent - to Java Server Pages (JSP):
- Proprietray XML syntax to define the static rich media content, executed at runtime on client ; can be compared to the HTML part of a JSP
- InstantScript (Java-based) statements, executed at runtime client-side ; can be compared to the JavaScript part of a JSP
- Java statements, executed at runtime server-side ; can be compared to Java statements in a JSP
Remember Workbench Developer is an Integrated Development Environment that will help you both to learn using this language and to accelerate your development process.
Portability
Bringing to live a rich media application that has the ability to efficiently - and at low cost - adapt to the fragmented set of devices available around the place is definitely the trickiest issue to deal with.
In order to address this fragmentation issue, Streamezzo offers many facilities:
- Device qualification: for each new device coming on the market, Streamezzo will pass a full suite of tests to check the behavior of Rich Media Client on this device ; the result of this is a fine adaptation to each device for an optimal integration, but also a qualification report that will highlight all issues related to the device (i.e. bugs, unavailable features...) ; having such information available before addressing this device with your rich media application is key to ensure the required workload to have the best user experience on it and so the highest adoption rate
- Adaptation framework: the provided environment comes with a framework easing device adaptation issue handling (note: this framework is fully integrated in Workbench Developer from version 2.1.0.0) : this framework will provide you all facilities to address multiple screen sizes (picking the appropriate skin and layout), but also device specificities (like fonts configuration and highlighted points in the device qualification report)
Evolutivity
Having the ability to update your rich media application once it has been deployed is key for your end-users to keep on using it, benefiting from attractive evolutions.
The key here is not to require from your end-users some tricky operations that will make a significant part of them leave.
That's why Streamezzo rich media solution provides all means to make your rich media application evolve not having to reinstall it on the device, brought evolutions being all driven server-side through multiple supported features:
- Client-side rich media content update: identifying which version of such content is available client-side vs server-side will enable the server to drive the client-side cached content, keeping on benefiting from the incremental update feature that will allow sending only the required data from the server to the client, optimizing the latency related to bandwidth usage and so the user experience
- SMS Listener: this optional feature enables waking up or notifying the client rich media application with a SMS ; such specifically formed SMS will be intercepted by this daemon client application and transport all required information to trigger side-effects on the client rich media application (such as downloading updated rich media content...)