ICEmobile 1.2 Release Notes

You are viewing an old version (v. 36) of this page.
The latest version is v. 101, last edited on Jan 08, 2013 (view differences | )
<< View previous version | view page history | view next version >>

ICEmobile 1.2 Release Notes

NOTE: These are draft release notes for 1.2 Beta, and are still under construction. Final release notes will accompany 1.2 Final

Dec 05 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 to 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 control look and perform optimally on the full range of supported devices.
  • Device integration now supports contact selection.
  • Additional html5 feature supported with the ability to upload or take a photo/video/audio from a mobile device or upload one from the desktop browser if an enhanced browser or ICEmobile SX is not present.
  • Tools integration now includes a variety of templates that gets your mobile projects of the ground quickly and easily.

Contents

These Release Notes include the following sections:

Downloads


ICEmobile 1.2 is available for download in the following formats:

What's New in 1.2?


JSF

Components

The following new JSF components have been added.

The following new components are available in this release:

  • [augmentedRealityMarker]
  • DeviceResource
  • [fetchContact]
  • [getEnhanced]
  • [gMap]
  • [googleAnalytics]
  • [largeView]
  • [smallView]
  • [splitPane]

The following JSF components have had new features added:

  • [audioPlayer]
    • *autoPlay' attribute can direct the audio to begin playing automatically
  • [augmentedReality]
    • buttonLabel can be used to set the text of the button
  • Carousel
    • disabled attribute added
  • [commandButton]
    • openContentPane attribute allows the button to open a [contentPane] in a containing [contentStack]
  • [contentPane]
    • disabled attribute added
  • [contentStackMenu]
    • accordion attribute will allow use of a menu with contentMenuItem in each accordion for navigation through the contentStack. Simple transitions with sliding panes defined. ContentStackMenu allows navigation through the contentStack without elaborate or complicated navigation model structure in applications.
    • openHandle attribute added
  • Geolocation
    • continuousUpdates attribute allows an application to watch for location changes
    • enabledHighPrecision attribute allows the application to control whether the device GPS or other means are used to retrieve location information
    • maximumAge attribute determines the maximum age previously retrieved location will be cached for
    • timeout attribute determines the length of time the application will wait for location information
  • Camera & Camcorder
    • useNative attribute allows the use of an input element with the HTML5 accept type image on supported browsers. Users will then be able to upload an image file directly.
  • Camera & Camcorder & Microphone & QR Code Scanner
    • captureMessageLabel attribute allows the camera button to change text after a photo has been captured.
  • [panelPopup]
    • disabled attribute added

The following JSF component APIs have changed:

  • Accordion
    • currentId attribute has been renamed to selectedId
    • effect attribute has been removed
    • fixedHeight attribute has been renamed to height
  • [audioPlayer]
    • The audio content will no longer automatically play. The autoPlay attribute (default false) can now be used.
  • [commandButton]
    • buttonType 'default' is no longer used. The default style will be shown by default. The new buttonType value 'unimportant' can now be used.
  • [contentMenuItem]
    • menuHeader attribute has been removed
  • [contentNavBar]
    • menuButtonLabel has been removed
    • menuButtonTargetId has been removed
  • [panelPopup]
    • header is now headerText
    • minHeight & minWidth attributes have been removed

JSP

Tags

The following new JSP tags have been added.

The following JSP tags have had new features added:

  • Carousel
    • 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.
  • Geolocation
    • continuousUpdates attribute allows an application to watch for location changes
    • enabledHighPrecision attribute allows the application to control whether the device GPS or other means are used to retrieve location information
    • maximumAge attribute determines the maximum age previously retrieved location will be cached for
    • timeout attribute determines the length of time the application will wait for location information

The following JSP tag APIs have changed:

  • [panelPopup]
    • autoCloseButton attribute has been removed
    • closeButtonLabel attribute has been removed
    • title attribute has been changed to headerText

Device Containers

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

Tools

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.

Applications

  • mobileshowcase
    • New component examples added
  • icemobilespring
    • New user interface leverages available ICEmobile JSP layout tags
    • 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


JSF/ICEfaces

This release is based on ICEfaces 3.2 Final, and inherits supported JSF runtimes, browsers, and applications 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
<mobi:uploadhelper/> 

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:-
      <param-name>javax.faces.PROJECT_STAGE</param-name> 

    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 js.

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

    which returns java.util.TimeZone.getDefaultID(); to get default timeZone of 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 or a System Property or Session attribute of the same name:
    <context-param>
        <param-name>org.icemobile.simulator</param-name>
        <param-value>true</param-value>
    </context-param>
    

Known Issues


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.
  • 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
  • [panelPopup]
    • headerText attribute non-functional

JSP Tags

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

Containers

Android

  • 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.
  • Various 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.

Blackberry

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.
iOS
  • 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
Tools
  • Some cosmetic issues exist with components in Eclipse design time view.

Support


Open source community support is available at http://www.icesoft.org.

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 2017 ICEsoft Technologies Canada Corp.