ICEmobile 1.2 Release Notes

Table of Contents

ICEmobile 1.2 Release Notes

Dec 12 2012

About This Release

ICEmobile 1.2 delivers a wide spectrum of hybrid mobile features for Java EE development for both JSP and JSF. Some of the key new features and enhancements include:

  • A core rendering mechanism has been introduced that provides common rendering capabilities for both JSF and JSP tags. This ensures consistent functionality and styling across ICEmobile web controls, and improves code reuse and maintainability.
  • A variety of new mobile web controls have been added for both JSF and JSP.
  • Layout components have been added to improve and simplify page design for different form factor displays
  • A wide spectrum of style and performance enhancements have been implemented.
  • Device and browser detection has been improved to ensure web controls look and perform optimally on a full range of supported devices.
  • Device integration now supports contact/address book selection.
  • Additional HTML5 features supported, such as the ability to upload or take a photo/video/audio from a mobile device or upload one from a browser if the ICEmobile container or ICEmobile SX is not present.
  • Tools integration now includes a variety of templates that will get your mobile projects off the ground quickly and easily.


These Release Notes include the following sections:


ICEmobile 1.2 Beta is available for download in the following formats:

What's New in 1.2?


  • Support for iOS 6 Smart App Banners
  • Carousel, both JSP and JSF, are now supported by the most recent version of iScroll v4.2.
  • PanelPopup now has exposed javascript api for opening and closing a panelPopup if the clientSide attribute is true

JSF Components

The following new JSF components are available in this release:

The following JSF components have had new features added:

  • [audioPlayer]
    • autoPlay attribute can direct the audio to begin playing automatically on page load
  • Augmented Reality
    • buttonLabel can be used to set the label text of the button
  • Command Button
  • Content Stack Menu
    • accordion attribute allows the use of a menu with contentMenuItem in each accordion for navigation through the contentStack. Simple transitions with sliding panes defined.
  • Geolocation
    • continuousUpdates attribute allows an application to watch for location changes
    • enableHighPrecision attribute allows the application to control whether the device GPS or alternative mechanism is used to retrieve location information
    • maximumAge attribute determines the maximum age previously retrieved location information will be cached for
    • timeout attribute determines the length of time the application will wait for location information
  • Camera & Camcorder
    • useNative attribute will render an input element with the HTML5 accept type image/* on supported browsers. Users will then be able to upload an image file directly from the browser. This attribute is not required when an enhancedBrowser/container or ICEmobile-SX is NOT present, as it will be rendered in that case anyways.
  • Camera & Camcorder & Microphone & QR Code Scanner
    • captureMessageLabel attribute allows the camera button label text to change once a photo has been captured.

The following JSF component APIs have changed:

  • Accordion
    • currentId attribute has been renamed to selectedId
    • fixedHeight attribute has been renamed to height
  • [audioPlayer]
    • The audio content will no longer play automatically on page load. The autoPlay attribute (default false) can now be used.
  • Command Button
    • buttonType 'default' is no longer used. The default style will be shown by default. The new buttonType value 'unimportant' can now be used for a more subtle style.
  • [contentMenuItem]
    • menuHeader attribute has been removed
  • Content Navigation Bar
    • menuButtonLabel has been removed
    • menuButtonTargetId has been removed
  • [panelPopup]
    • header is now headerText

JSP Tags

The following new JSP tags have been added.

The following JSP tags have had new features added:

  • augmentedReality
    • buttonLabel attribute added
  • camcorder
    • buttonLabel attribute added
    • maxheight attribute added
    • maxwidth attribute added
    • maxtime attribute added
  • camera
    • buttonLabel attribute added
    • maxheight attribute added
    • maxwidth attribute added
    • containerSimulator attribute added
  • carousel
    • name attribute added. The tag now has ability to submit the selected item/index of the carousel (similar to JSF). Markup for this component has significantly changed so please see example in icemobilespring.
  • [carouselItem]
    • id attribute added
  • DeviceResource
    • includeIOSSmartAppBanner attribute added
    • includePush attribute added
  • geolocation
    • continuousUpdates attribute allows an application to continue watching for location changes, once initial location values have been retrieved
    • enableHighPrecision attribute allows the application to control whether the device GPS or alternative mechanism is used to retrieve location information
    • maximumAge attribute determines the maximum age previously retrieved location information will be cached for
    • timeout attribute determines the length of time the application will wait for location information
  • inputText
    • disabled attribute added
    • readOnly attribute added
  • microphone
    • maxtime attribute added
    • buttonLabel attribute added
  • pagePanel
    • styleClass attribute added
  • [pagePanelBody]
    • styleClass attribute added
  • [panelPopup]
    • width attribute added
    • height attribute added
  • tabSet
    • autoWidth attribute added

The following JSP tag APIs have changed:

  • accordion
    • maxheight has been renamed to height
  • carousel
    • collection attribute has been removed. The list of carousel items now are created with a JSTL <c:forEach> tag.
    • selectedIndex has been renamed to selectedItem
  • [carouselItem]
    • ref attribute has been removed
    • type attribute has been removed
  • [deviceResource]
    • library attribute has been removed
    • view attribute has been removed
    • jqversion attribute has been removed
  • [fieldsetGroup]
    • fieldSetGroup tag has been renamed to fieldsetGroup
  • [fieldsetRow]
    • fieldSetRow tag has been renamed to fieldsetRow
  • flipswitch
    • flipSwitch tag has been renamed to flipswitch
  • geolocation
    • name attribute is now required and should be used for bean binding and form submission. id can no longer be used for this purpose.
  • inputText
    • inputtext tag has been renamed to inputText
  • [panelPopup]
    • autoCloseButton attribute has been removed
    • closeButtonLabel attribute has been removed
    • title attribute has been changed to headerText
  • [scan]
    • qrscan tag has been renamed to scan
  • tabSet
    • tabset tag has been renamed to tabSet
  • [thumbnail]
    • thumb tag has been renamed to thumbnail

Device Containers

  • Native contact list/address book selection now supported
  • Android container now fully supports hardware acceleration
  • Augmented reality improvements for both Android and iOS
    • iOS
      • Support added for 3D Augmented Reality based on Qualcomm Vuforia library
      • Landscape and protrait views now supported
    • Android
      • Supports icon rendering in the Augmented Reality location view
      • Devices without rear cameras supported with black background
      • Location positioning improved


JSF Tooling

  • Eclipse
    • Updated component palette icons
    • Added required multipart-config to web.xml
    • Revised design-time renderers for most mobi components
    • Project templates now available for tab, menu, and accordion-based navigation
    • Enhanced template provider with Freemarker support
  • NetBeans
    • Updated component palette icons
    • Updated splash page with new deviceResource component
    • Enforced condition of JavaEE 6 for mobi components
    • Added required multipart-config to web.xml
    • Merged ICEmobile editor support with ICEfaces editor support module

JSP Tooling

  • Tag completion supported based on icemobile TLD.


  • mobileshowcase
    • New component examples added
  • icemobilespring
    • New user interface leverages available ICEmobile JSP layout tags
    • Large and small views now supported
    • Example pages vastly improved to better match examples in mobileshowcase
    • New example pages added for new ICEmobile JSP tags
  • mediacast
    • User interface revamped to use ICEmobile layout components
    • Large and small views now supported
    • Media sharing now supports multiple media types and keyword tagging
  • mvc-mediacast
    • New sample application matching features of mediacast but leveraging Spring MVC, and ICEmobile JSP tags

Supported Platforms


This release is based on ICEfaces 3.2 Final, and inherits supported JSF runtimes, browsers, and application servers from that release. See ICEfaces release notes for details.

Device Containers and Mobile Browsers

  • Google Android 2.3 or later
  • Apple iOS 4 or later
  • Blackberry Platform 6.0

Development Tips

JSF Components

  • If your application uses camera, microphone, or camcorder and you wish it to work in IE9, add

to the form. For more advanced Ajax use see [Desktop Portability].

  • Default for using minified javascript and css for components is dependent upon the following context parameter from web.xml:-

    if using Production for param-value, the minified js and css will be used. if Development, will get non-minified (easier to read) CSS and JavaScript.

  • timeZone support on timeSpinner may show values from different timezones for sample apps (tested using MST). Just use
    <f:convertDateTime...timeZone="#{date.timezone}" />

    which returns java.util.TimeZone.getDefaultID(); to get the default time zone of the server.

  • ICEmobile now includes a basic "mobile simulator" for demos on desktop browsers. In a typical production application, the desired behavior for the native components is to fall back to desktop equivalents (such as file upload in the case of the camera), but for demo purposes it is useful to "simulate" the experience of the mobile user (so, for instance, the simulated camera component displays a photo gallery selection popup). This can be enabled with a context parameter, system property or session attribute of the same name:

Known Issues


  • Ajax Push may not initialize properly require a page refresh on some devices for Push notifications to be received.
  • Due to HTTP connection contention on some devices with a lower connection limit, request queueing in Ajax Push-enabled ICEmobile applications may result in delayed page updates, and a significant delay may be seen while dynamically fetched resources, such as new images for the page, are requested.

JSF Components

  • use of new core rendering means that attribute names for some components may have changed to reflect a more appropriate name used by JSP or JSF counterpart. If you have existing XHTML or JSP pages, check the attribute names to be certain to have the latest API version.
  • mobi:ajax support. Components which are naming containers (like Carousel) have limited use for mobi:ajax tag due to jsf findComponent method which will only search to the nearest naming container.
  • [contentMenuItem]
    • icon attribute is not yet implemented and will have no effect
  • Geolocation not supported on blackberry devices in browser api
  • viewSelector is now deprecated and developers are encouraged to use the new smallView and largeView components to achieve view-specific layouts.
  • Tabset bottom orientation is not currently supported in large view themes for the iPad or Android. Setting orientation="bottom" in a large view will result in top-oriented tabs.

JSP Tags

  • Carousel tag is not backwards compatible. New carouselItem tag allows for any valid JSP markup.
  • Accordion now takes accordionPane children.



  • HTML5 audio and video tags are not well supported prior to Android 2.3. Video and audio playback may not work on devices running Android 2.2 or earlier.
  • Occasional rendering issues have been encountered with Hardware Acceleration. An orientation change or interaction with the page will normally rectify these issues. Results will vary from device to device.
  • Android 3.x tablets exhibit a wide range of rendering problems. It is highly recommended that 3.x device be upgraded to 4.x whereever possible.
  • inputText component with type="date" will show that android devices (latest Android operating systems) are showing support for this feature, but it may block submits on some devices, so not yet supported with "useNative" attribute in dateSpinner or timeSpinner components.
  • The Augmented Reality video layer is not available for devices without a back-facing camera, such as the Nexus 7. These devices will show a black background with the markers.
  • The reliability of Ajax Push may be affected on some older devices after the system video player is activated. In these cases, Ajax Push notifications may not be received until the page is refreshed or the ICEmobile application is restarted.


General issues
  • Flash and zoom controls are not yet available on the Camera widget extension.
  • On devices with a slide out keyboard, having the keyboard extended automatically puts the device in Portrait mode. The photo component depends on the Device.getOrientation method call to orient the thumbnail to the screen, so the thumbnail may be rotated incorrectly in this situation.
  • In a related sense, the video camera widget sized at 640x480 does not show up fullscreen unless it's used in Landscape mode. This is similar to the RIM camera application where the the same aspect ratio is maintained.
  • When using the video recorder, the user is asked for the following permission when using the video camera:
    The aplication ICEmobile is attempting to reset the security timer  [Allow][Deny]
    This appears to be a common issue on some devices when using APIs related to using the video camera in either recording or playback.
    Other uses of an API to reset the backlight timer cause this to occur, but the ICEmobile application does not use this API. If this question is asked repeatedly during normal use, it can be
    disabled through the application permissions menu:
    Options (wrench) -> Device -> Application Management -> ICEFaces Mobile Container -> Edit Permissions -> Interactions -> Reset Security Timer -> [Allow]
  • Dongle can be attached to Blackberry device in "charge only" mode only if attempting to write to the filesystems. Camera and videocamera extensions wont work if user is trying to share filesystem with a desktop client.
  • Simulator code is extremely slow and can be temperamental depending on simulator networking performance.
  • When a video is displayed in the WebKit browser, it renders a black rectangle that persists after the container (and the browser) navigates to a new page. The user must reload the current page to force the browser clear the rectangle.
    *Blackberry OS6 uses zxing version 6, which requires the user taking a photo. The container then applies a series of Java image processing operations on the resulting image. For a successful scan, QRCode must be well lit, and the photo taken from such a place that there is no reflection and the image is focusable (via autofocus). Also it seems that the image must be black/white as experience has showed poor results with green or red images.
  • GeoLocation now works on the Blackberry, but must be high precision mode. The <mobi:geolocation> component will detect the Blackberry container and use the appropriate mode.
  • Augmented Reality pages not available for Blackberry.
Development issues
  • Special care must be taken to execute javascript (including the executeScript(String script) calls) in the ScriptEngine instance fetched from the BrowserField instance when the document loads. The convenience method to execute scripts in the BrowserField instance results in a new ScriptEngine being created which does not have access to the javascript namespace defined by ICEmobile components and Bridge constructs.
  • The Augmented Reality Marker view startup may take 20 seconds and a progress bar has not yet been added; please be patient. The view may remain black if the display goes to sleep while it is active. To fix, restart ICEmobile-SX by holding down the home button and pressing the "minus" badge. The view only displays the first model even though all models are loaded.
  • Audio playback does not work for all device-supported formats in the iOS container (audio playback issues are not seen with Safari with ICEmobile-SX).
  • iPad iOS6 camera integration currently not functional in this release, and will be addressed via an update on the App Store.
  • Some cosmetic issues exist with components in Eclipse design time view.
  • The stock internal Eclipse browser does not support the ICEmobile device themes, and users are encouraged, when running an ICEmobile application in Eclipse to change the default browser. The default web browser can be changed in Eclipse by changing the menu setting in Window > Web Browser .. to a non-internal browser.
Sample Applications
  • mvc-mediacast is a new alpha-quality sample application showcasing the media upload capabilities and Spring MVC integration of ICEmobile-JSP.


Open source community support is available at

The ICEmobile community forums are available for questions, comments, or general discussions regarding ICEmobile.

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.

© Copyright 2016 ICEsoft Technologies Canada Corp.