Skip to Content

Frequently Asked Questions

  1. What are the software and hardware requirements for Workbench Developer?
  2. How can I obtain a Streamezzo Workbench Developer Licence?
  3. What is included in the Streamezzo Development Platform?
  4. What does the following error message means: “The operation you want to perform requires you set a valid JDK”?
  5. What are 'Device Packages'?
  6. What does this client-side error code mean?
  7. Questions about the RMC ID
  8. What is the Rich Media Client version used by my application?
  9. What is the difference between "NOW" and "0" as time values for startTime attribute?
  10. What are the knowledge requirements?
  11. What is the Rich Media Client footprint?
  12. What mobile device operating systems are supported?
  13. What is Streamezzo?
  14. What sort of applications can I develop with Streamezzo technology?
  15. What are the main steps to develop a mobile application with the Streamezzo technology?
  16. Is Streamezzo Rich Media Server a video streaming server?
  17. How much does it cost?
  18. How can I obtain support and training?
  19. How to test a Streamezzo Application on a mobile phone?
  20. What is Streamezzo language?
  21. How can I deploy a Streamezzo Application on iPhone?
  22. How long does it take to learn the Streamezzo technology?
  23. What level of effort is required to port an application on different OS or platforms?
  24. Can I use platform specific features such as viewport on the iPhone?
  25. Can I create an offline application with the Streamezzo Technology?
  26. Can I use my application when I am in a non-connected mode?
  27. How to test a Streamezzo Application on Android devices?
  28. How do I know the User-Agent device name?
  29. How can I get a native UI for my application on the iPhone?
  30. Will applications developed in Streamezzo be accepted on the Apple App Store?
  31. How can you 'Write Once - Run Anywhere' and not develop for the lowest common denominator i.e. low end Java phones?
  32. How can I obtain a Streamezzo Rich Media Server Licence?
  33. What is the difference between Emulate and Run in Workbench Developer?
  34. How to solve the following error "svn: Can't create tunnel: the specified file is not found"?

Printer-friendly version

Streamezzo Workbench Developer requires:

  • Hardware:
    • 1GHz Intel® Pentium® IV processor, 256 MB RAM (512 MB recommended), 100 MB available disk space.
  • Software:
    • Operating Systems supported: Windows XP
    • Java Virtual Machine supported: JDK 5.0 or JDK 6.0
    • Audio/Video Player: QuickTime

 

The following Microsoft Windows versions can be used, but Streamezzo does not guarantee correct behavior of the tool:

  • Windows 7
  • Windows Vista
  • Windows 2000 Server
  • Windows 2000 Professional
  • Windows Server® 2003

 

Printer-friendly version

When you register on Streamezzo developer's corner, you automatically receive a trial licence. This trial licence is valid for 3 months, and is renewable on demand: contact us.

Printer-friendly version

Streamezzo Development Platform is composed of the following products:

  • Streamezzo Workbench Developer (WD): Rich Media Applications authoring tool based on the Eclipse IDE, featuring auto-completion, a powerful debugger and application test tools such as an emulator, a memory usage tracker and a performance optimizer. Developments are made in RSP (Rich Media Streamezzo Pages) a XML-based language including rich APIs and scripting capabilities (InstantScript).
  • Streamezzo Rich Media Client: (RMC): the Rich Media Applications rendering client and core technology generated from Device Packages. It is a powerful, cross platform runtime engine available for all major O/S.
  • Streamezzo Rich Media Server (RMS) : a high-performance J2EE webapp for Rich Media Applications deployment and management. Available in 2 versions: Developer Edition & Production Edition.
  • Streamezzo Device Database: online device database where you can find access to detailed information on handsets e.g. provides detailed info other device DBs don’t have and download access to Streamezzo Rich Media Client for more than 500 phones.
  • Streamezzo Components: a fully loaded library that matches mobile apps hot topics (+30 components).

Printer-friendly version

The compilation of RSP files in Streamezzo Workbench Developer requires that a JDK is installed on your desktop. You can add several JDKs to the list of available JDKs.

To configure the default JDK and others in Streamezzo Workbench Developer, please refer to the following tutorial: How to configure JDK in Streamezzo Workbench Developer?

Printer-friendly version

A Device Package is the elementary toolkit that will enable you create a Client Package (i.e. an application installer) for a given device.
A Device Package comprises a generator that allows you to create a portable package on your device. The Device Package configuration is specifically designed to fit in a particular handset or a device platform (MIDP, Symbian 60, etc.).

Workbench Developer is responsible for creating a Client Package from a specified Device Package given that you provide the project to be packaged as an application.

 

The resulting Client Package is an installer for your device. Additionally, Client Packages can contain local (client-side) scenes and resources required by the application. The following diagram describes the basic process from Device Package import to Client Package delivery.

Printer-friendly version

Here are the descriptions associated to the each RMC error code.

  • 0 - ERMSuccess: not actually an error.
  • 1 - ERMErrGeneral: the RME encoutered a severe error during execution and managed to catch it.
  • 2 - ERMErrPanic: the RME encoutered a really severe error and managed to catch it.
  • 3 - ERMErrSystemRes: the RME encoutered an error while trying to access some local resource. Such local resource include memory...
  • 4 - ERMErrNotFound: the RME encountered an error while trying to access a local or remote content. Error code was 404 before.
  • 5 - ERMErrArgument: the RME encoutered a severe error during execution.
  • 6 - ERMErrCorrupted: the RME read corrupted data from an URN. This error is raised when a file or server stream is corrupted, but the most frequent use case is when the RME reads a HTTP 200 response from a server with a HTML page giving a visual 404 error.
  • 7 - ERMErrNotAvailable: the RME has requested an unavailable resource. This may happen when trying to access sound card.
  • 8 - ERMErrNotSupported: The RME has attempted to use an unsupported format feature. RME raises this error when trying to read a non supported format (yet).
  • 9 - ERMErrCompletion: not actually an error. Noone shall never se this.
  • 10 - ERMErrTimeOut: deprecated error code.
  • 11 - ERMErrMalformedURI: the RME has encountered a malformed URI during execution.
  • 12 - ERMErrDNS: the RME has encoutered an error while resolving host names. Since this call is the first network when trying to access a remote content, it will be raised when there is a 'device level' issue accessing network: no modem, no SIM card, no APN configured or unproper operator agreement.
  • 13 - ERMErrRequest: the RME has encoutered an error while sending a request to server. This is a detailled HTTP failure error code and general ERMErrNotFound error code may be raised instead.
  • 14 - ERMErrOpenResource: the RME has encoutered an error while reading content from a server. This error is raised when the server sends an explicit '404' error code. This is a detailled HTTP failure error code and general ERMErrNotFound error code may be raised instead.
  • 15 - ERMErrConnectRefused: the RME has encoutered an error while connecting to a server. This error is raised when the TCP connection is refused. This is a detailled HTTP failure error code and general ERMErrNotFound error code may be raised instead.
  • 16 - ERMErrHttpHeader: the RME has received an invalid HTTP header while reading from an HTTP server. This is a detailled HTTP failure error code and general ERMErrNotFound error code may be raised instead.
  • 17 - ERMErrHttpRequest: deprecated.
  • 18 - ERMErrHttpResponse: the RME has received an invalid response while reading from an HTTP server. This is a detailled HTTP failure error code and general ERMErrNotFound error code may be raised instead.
  • 19 - ERMErrHttpRedirect: the RME has encountered an invalid HTTP field for redirection. This is a detailled HTTP failure error code and general ERMErrNotFound error code may be raised instead.
  • 20 - ERMErrPredictiveNetError: the RME has foreseen a future network error (e.g. because of offline mode) or because there is no SIM card.
  • 21 - ERMErrNetConnection: the RME has encountered an error when establishing a network connection. This may append when a wrong APN has been selected or when device is out of network range.
  • 22 - ERMErrNetConnectionCancel: the user has canceled the network connection
  • 23 - ERMErrNetHttpNoSecureSupport: RM Engine has detected HTTPS is required and is not supported.
  • 24 - ERMErrNetHttpInvalidCertificate: RM Engine has detected an invalid certificate has been returned by server.

You can also find this list in the Workbench Developer Help > Streamezzo Language Guide > Commands, on the page dediacted to registerError command.

Printer-friendly version

RMC ID (Rich Media Client IDentifier) is a key that identifies a given application on a given device.

1. How is generated the RMC ID?

The RMC ID is generated at the very first connection of the Rich Media Client to the Rich Media Server, which then returns a RMC ID which is then stored on the handset. This RMC ID will then be transmitted in every request of this RMC to any Rich Media Server

2. For how long is the RMC ID kept?

There is no time limit for the RMC ID.
If a new version of the Rich Media Client is installed "over" a former RMC, the RMC ID will be kept.
On the other hand, if the current RMC is uninstalled before the installation of a new RMC, then the RMC ID will be different (a new one will be generated server-side, folliwng the process explained above).

3. Is the RMC ID unique?

Theoretically, it is mathematically not impossible to have two RMC with the same ID. But this possibility is infinitesimal, and you can consider that this situation might never happen, as its generation takes into account (among other data) the Rich Media Server licence ID, the time in milliseconds and a random number (32 bits).

4. How to get the RMC ID?

You can obtain it on the server side thanks to the UserAgent object provided in the StzService API. Check the Javadoc entry in the "doc" directory of Workbench Developer installation folder. Typically, in you RSP code, you can use the Java method "stzRequest.getUserAgent().getID()".

5. Do all applications installed on a device share the same RMC ID?

The RMC ID is associated to a RMC, not to an application:

  • On Java devices, every MIDlet embeds its own engine, so every application will have a different RMC ID
  • On native devices,
    • If the RMC (Viewer) and the Launchers are installed separated applications, the RMC ID will be identical for every application that shares the same Viewer
    • Else if you install a single applications that gathers in a same installer both the RMC and the Launcher, then the application will have its own RMC ID.
Printer-friendly version

Thanks to the getRMEVersion command, the following code will tell you the used RMC version.

 

Printer-friendly version

The scene time is an internal clock that is initialized after the first Access Unit was received by client side. “0” is a value in this scene’s timeline, whereas “NOW” means “right now” at the decoding time. When the instructions are parsed on client side, “0” refers to an anchor in the timeline (i.e. the rendering of the very first Access Unit of the current scene), whereas “NOW” means “do it now” (whenever we are in the timeline when the access unit is effectively rendered).
The “0” value belongs to a synchronous process and “NOW” to an asynchronous one.

If the processing of an Access Units is slow, the anchor “0” in the timeline can be outdated when the Access Unit is effectively processed on client side. Hence the startable node would never be started.

Printer-friendly version

To develop with the Streamezzo technology, you only need some experience with tag based languages (XML, HTML...) and Java programming.

Knowledge of J2EE basics (JSP) is preferred.

Knowledge of Objective C, C++ and J2ME is NOT required.

 

Printer-friendly version

For Java devices, the Rich Media Client footprint is less than 300 KBytes.

For Native devices, The Rich Media Client footprint is between 450 KBytes and 1MBytes.

 

Printer-friendly version

Streamezzo supports the following device operating systems:

  • Android
  • Apple iPhone
  • BlackBerry
  • BREW
  • Java MIDP 2.0
  • LINUX
  • Symbian 7, 8, 9, UIQ
  • Windows Mobile 5, 6

See the list of supported devices here.

 

Printer-friendly version

Streamezzo develops and publishes a complete development and runtime platform to easily create and deploy Rich Internet Applications (RIA) on any mobile device: Android™, BlackBerry®, Brew®, iPhone™, Java®, Linux®, Symbian® (including S60 5th Edition) and Windows Mobile®.

More details on the About page.

 

Printer-friendly version

The Streamezzo development platform is a general purpose technology that allows to power any type of mobile application.

Interactive Mobile TV, VOD, ODP, Storefront, Mobile Email, storefront Client, Maps, Photo Album, RSS Reader, Dynamic Adress Book, MP3 Player…

 

Printer-friendly version
  1. Create and test your mobile application with Streamezzo Workbench Developer.
  2. Select your Device Packages and generate mobile packages for the targeted devices.
  3. Deploy your application on Streamezzo Rich Media Server (only applicable for connected applications).
  4. Install your mobile packages on devices and run them.


production chain

Printer-friendly version

No, but Streamezzo solution can interact with streaming video server to display videos in mobile applications.
Streamezzo RTSP

Printer-friendly version

Products pricing is available on the licensing page.

For more details, you can contact us.

Printer-friendly version

Dedicated technical support is available for customer members only. It provides direct access to Streamezzo technical experts through an online support tool. Trial members can find answers to their questions on our technical forum or in the documentation section.

Streamezzo training is open for any member. We currently offer the following two classes:

  • Streamezzo Quick Start (On-site and open enrollment)
  • Streamezzo Project Starter (On-site – Custom Program)

For more information please contact us.

Printer-friendly version

To test an application on a mobile phone, you should:

  1. Publish your application on the Rich Media Server (only required for connected applications): How to publish your webapp on a Rich Media Server
  2. Create the client package for the targeted device: How to create a client package for your rich media application

After a successful installation, you will be able to test the application by clicking on the dedicated icon.

Printer-friendly version

Streamezzo language is a XML-based language where the developer can insert Java source code to introduce dynamic content, similary to Java Server Pages (JSP).

Printer-friendly version

You will find the detailed procedure in this tutorial: How to create an application for iPhone devices.

Printer-friendly version

Within a few days, an experimented XML/Java developer can create basic Rich Media Applications with the Streamezzo technology.

In less than 1 month, developers will be able to create advanced Rich Media Applications.

Printer-friendly version

No additional level of effort is required!

Once you have written your source code with Streamezzo technology, you can deploy it on any supported OSes and platforms.

Printer-friendly version

Yes, Streamezzo uses the best of the technology provided by devices.

For example, on touch screen equipped devices, Streamezzo offers the sliding feature.

Printer-friendly version

Yes. Streamezzo technology allows creatint a complete application with only local (client-side) scenes.

For example, you can develelop a Rich Media Application accessing the device Calendar, Address Book, Messages and File System.

Printer-friendly version

Yes, by using the cache management and local (client-side) scenes features, you can develop a Rich Media Application that supports the non-connected mode.

Printer-friendly version

To test on Android platform, you should create a client package for this platform using Workbench Developer, following this tutorial: How to create an application for Android devices.

Printer-friendly version This is a (partial and in motion) list of the devices User-Agent device name:
Device User Agent Name
Symbian Platform
Generic Rule S60 product identification code
E.g .
Some Old Platforms [BRAND] [MODEL]
E.g .
  • Nokia N80
  • Motorola A9xx
Android Platform
Generic Rule [BRAND]_[MODEL]
E.g.
  • HTC_G1
  • HTC_Magic
  • HTC_Hero
  • LG_GW880
Apple
IPhone Iphone
IPod Ipod
Java Phones (including BlackBerry)
Generic Rule [BRAND] [MODEL]
E.g.
  • BlackBerry_9500_STORM
  • SAMSUNG_SGH-E590
  • SAMSUNG_SGH-F480
Sony Ericsson SonyEricsson[Model]/[firmware]
E.g.
  • SonyEricssonW595/R3DA028,
  • SonyEricssonW850i/R1JE001
Some Samsungs [MODEL]/[firmware]
E.g.
  • S8300/S8300AEIC1 for Samsung Ultra Touch
  • GT-M8800/M8800AEHJ1 for Samsung Pixon
Nokia Java Nokia[MODEL]/[firmware]
E.g.
  • Nokia6230i/03.88
  • Nokia6300/05.00
  • Nokia6500s-1/08.30
Windows Mobile
Generic Rule
  • PocketPC
  • or Microsoft Windows CE Hardware Reference Platform
  • or Hornet Reference Platform
LG LG-[MODEL]
E.g.
  • LG-KS20
Samsung [MODEL]/[firmware]
E.g.
  • GT-B7300 for Samsung Buckingham
Printer-friendly version

Streamezzo apps can be very easily skinned (a skin is a set of graphical elements). You can choose to use a specific skin (for example reproducing iPhone UI) for a specific platform.
In Workbench Developer we provide skins for Android, Blackberry, iPhone and Symbian, integrated by default, for some components (see Styled Components).

Printer-friendly version

Many apps powered by Streamezzo - such as mobile TV for mobile carriers - have already been deployed on the iPhone App Store. The technology is not an issue regarding the terms and conditions of Apple. Of course it is the responsibility of the application developer not to break these terms & conditions, e.g. offending content, etc.
Tutorial on iPhone packaging can be found here.

Printer-friendly version

Adding the latest smartphone capabilities to our Rich Media Client is one of our top priority. For instance accelerometer and GPS have been added when the iPhone came out. We will add any new features as soon as they become available on a mass market phone.

As a developer you are able to use device properties such as IS_GPS_SUPPORTED to adapt your code to the phone capabilities. This way you can keep a single source code for your app and yet leverage any capabilities of high-end smartphones.

Printer-friendly version

When you register on Streamezzo developer's corner, you automatically receive a trial licence. This trial licence is valid for 3 months, and is renewable on demand: contact us.

Printer-friendly version

Streamezzo Workbench Developer offers 2 emulation features:

  • Local emulation (Service > Emulate Service): Workbench Developer will act both as a device (Rich Media Client emulator) and a server (Rich Media Server emulator); this mode will be very frequently used during the development phase in order to check the implementation progress and conformance with the requirements.
  • Distant emulation (Service > Run Service): Workbench Developer will act only as a device (Rich Media Client emulator) and will request a real Rich Media Server instance; this mode will usually be used after a publication on this Rich Media Server instance, in order to check the deployed application is ok.
Printer-friendly version

To avoid this error message when you try to connect svn+ssh repository, go to Workbench Developer Preferences (In menu, select Window > Preferences) and select Team > SVN to display the SVN interface. In the SVN Interface, replace JavaHL (JNI) with SVNKit.