View Source

h1. ICEmobile 1.1 Release Notes



h3. *Aug 9 2012*

!http://wiki.icefaces.org/download/attachments/3309854/icemobile-app-icon-72x72.gif!
{anchor:about}

h2. About This Release
----
ICEmobile 1.1 expands the reach of ICEmobile capabilities beyond JSF support to include JSP and Spring MVC support. The ICEmobile project has been refactored to include 4 major sections:

* *Client:* Includes the client containers that provide integration to device capabilities and support hybrid mobile application development. Common client containers now support JSF, and JSP/Spring MVC.
* *JSF:* Includes the JSF/ICEfaces integration, and the ICEmobile Component Suite.
* *JSP:* Includes the JSP integration and specifically the ICEmobile JSP tags.
* *Samples:* Includes all the sample applications. Currently:
** *mobileshowcase:* Illustrates the JSF support and demonstrates all the ICEmobile JSF components
** *mediacast:* A JSF application that illustrates hybrid capabilities of ICEmobile, in particular media capture and sharing.
** *icemobilespring:* Illustrates JSP tags and integration with Spring MVC backend. You can view the demo [here|http://icemobilespring.icesoft.org/icemobilespring/].

h4. Contents

These Release Notes include the following sections:

* [About This Release|#about]
* [Downloads|#downloads]
* [New Features|#newfeatures]
** [JSF |#jsfenh]
** [JSP |#jspenh]
** [Containers|#containerenh]
** [Tools|#toolsenh]
** [Applications|#appsenh]
* [Supported Platforms|#supportedplatforms]
* [Development Tips|#devtips]
* [Known Issues|#knownissues]
* [Support|#support]


{anchor:downloads}

h3. Downloads
----
ICEmobile 1.1 is available for download in the following formats:

* Binary and source-code [bundles|http://www.icesoft.org/downloads/icemobile-downloads.jsf]
* [SVN repository checkout|http://anonsvn.icefaces.org/repo/icemobile/tags/icemobile-1.1.0/]
* [Android Client|https://play.google.com/store/apps/details?id=org.icemobile.client.android]
* [BlackBerry Client|http://appworld.blackberry.com/webstore/content/59555/?lang=en]
* [iOS Client|http://itunes.apple.com/us/app/icemobile-sx/id485908934?mt=8]

{anchor:newfeatures}

h2. New Features
----

{anchor:jsfenh}

h3. JSF
h4. Components

The following new components are available in this release:

h5. Layout and Navigation
* [Content Pane]
* [Content Stack]
* [Tab Set]
* [accordion]
* [Page Panel]
* [ViewSelector]

h5. Native
* [Augmented Reality]

{anchor:jsfenh}

h3. JSP
h4. Tags

The following JSP tags are available in this release:
geolocation

h5. Layout and Navigation
* deviceResource
* contentPane
* carousel
* carouselItem
* fieldSetGroup
* fieldSetRow
* tabset
* accordion
* headers
* header
* outputList
* outputListItem
* pagePanel
* pagePanelHeader
* pagePanelBody
* pagePanelFooter
* panelPopup

h5. Input and Selection
* inputtext
* flipSwitch
* commandButton
* dateSpinner
* timeSpinner

h5. Native
* augmentedReality
* camcorder
* camera
* microphone
* thumb
* qrscan

{anchor:containerenh}

h3. Device Containers

* Audio capture now uses native UI to perform capture.
* Augmented Reality Views now supported.

{anchor:toolsenh}
h3. Tools

* Tools bundles updated to support new JSF components available in this release
{note}Tooling is not yet available for JSP development.{note}

{anchor:appsenh}
h3. Applications

* icemobilespring demo application is now included. It illustrates the use of the JSP tags and Spring MVC integration. You can view the demo [here|http://icemobilespring.icesoft.org/icemobilespring/].

{anchor:supportedplatforms}
h2. Supported Platforms
----
h3. JSF/ICEfaces

This release is based on ICEfaces 3.1 Final, and inherits supported JSF runtimes, browsers, and applications servers from that release. See ICEfaces [release notes|http://wiki.icesoft.org/display/ICE/ICEfaces+3.1.0+Release+Notes] for details.

h3. Device Containers and Mobile Browsers

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

{anchor:devtips}

h2. Development Tips
----
h3. JSF Components

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

{code}
<mobi:uploadhelper/> {code}
to the form. For more advanced Ajax use see [Desktop Portability|ICEmobile Desktop Portability].

* Default for using minified javascript and css for components is dependent upon the following context parameter from web.xml:\-
{code}
<param-name>javax.faces.PROJECT_STAGE</param-name> {code}
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
{code}<f:convertDateTime...timeZone="#{date.timezone}" />{code}
which returns java.util.TimeZone.getDefaultID(); to get default timeZone of server.

* Hardware Acceleration may be required for videoPlayback on Android devices. See the new attribute for video and audio {code}
<mobi:audioPlayer value="#{audioBean.audioResourceData}"
linkLabel="Play"
controls="true" preload="auto"/> {code}
which will render a link for playback

{anchor:knownissues}

h2. Known Issues
----

h3. ICEmobile 1.1 Known Issues

* JSP documentation is incomplete and currently under construction.
* For Android 4.01 devices, media capture from camera and camcorder can result in a page orientation change and layout that does not match the current physical orientation of the device. Rotating the device will normally rectify the situation.

h3. Pre-existing Known Issues (from ICEmobile 1.0)

h4. JSF Components

h5. all

* 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.
* geolocation not supported on blackberry devices in browser api

h4. Demo Applications


h5. Mobile Showcase

* HTML5 input page is ill-behaved on Android tablets when soft keyboard is used. Use of "Next" and "Prev" buttons may not result in proper input field focus, and submit button may not perform as expected. Additionally, scrolling window to show active input field is not occurring. If active input field is not visible, the correct keyboard for that input type may not be shown. This is a result of the composite component used for layout of scrollable panels in this application. Should be replaced with a non-composite component in next release.

h5. ICEmobile Spring
* Date and Time Spinner example may display the popup partially off screen on an Android 4.x tablet. Touching the screen once will cause the spinner to be correctly displayed.

h4. Containers

h5. 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.
* Rapid button presses in Android container may result in discarded submissions. This can lead to a miss-match in state of flip-switch components between the client and the server.
* Android 3.x tablets support HW acceleration, but there are known issues with it.
** With HW Acceleration turned off, scrolling of the web view may be erratic, causing the page to disappear sporadically.
** With HW Acceleration turned off, embedded HTML5 video tags will play the audio portion only.
** With HW Acceleration turned on, the page may not paint instantaneously when page updates occur. Touching the screen causes the paint to occur correctly.

h5. Blackberry

h6. General issues

* Flash and zoom controls are not yet available on the Camera widget extension.
* Tactile feedback on camera and upload buttons (and various HTML5 elements) in the various camera screens is lacking. This can lead to multiple submission attempts (or none at all).
* 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:
{noformat}The aplication ICEmobile is attempting to reset the security timerĀ  [Allow][Deny]
{noformat}This appears to be a [common issue|http://supportforums.blackberry.com/t5/Java-Development/Security-Timer-dialog-appearing-during-video-playback-using/td-p/719235] 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.
* HTML5 Geolocation does not work in Blackberry container or standard Blackberry browser. Specificially, the *{_}navigator.geolocation.getCurrentPosition{_}{*}_()_ javascript method appears not to work.

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

h4. Tools

* Some cosmetic issues exist with components in Eclipse design time view.

{anchor:support}

h2. Support
----
Open source community support is available at [http://www.icesoft.org].

The [ICEmobile community forums|http://www.icefaces.org/JForum/forums/list.page] are available for questions, comments, or general discussions regarding ICEmobile.

!http://wiki.icefaces.org/download/attachments/3309854/icemobile-app-icon-72x72.gif!