PocketLearn J2ME HTML Component

Accurate rendering of HTML on limited resource Java devices

 
       Home  Specification             Sample Renderings              Contact Us            Javadocs              Download  
 

About the Component

The PocketLearn J2ME HTML Component is a 100% Java/J2ME solution for rendering HTML on MIDP 2.0 devices such as cell phones and Personal Digital Assistants.  This component is currently utilized as the rendering engine of the PocketLearn Viewer software application for Java/MIDP.  The component is not a browser, but could serve as the foundation for one.  Its primary purpose is to accurately render HTML in J2ME environments and to provide APIs by which it can be controlled by the host application.  It is available for licensing either in source or binary form.  The following is a list of some major features.

  • Support for a majority of standard HTML tags
  • Integrated decoders for GIF and JPEG allow it to render those images on any device
  • HTML Tables
  • Inline CSS styles
  • Text foreground/background colors and styles
  • Ordered and unordered lists
  • API for setting the HTML page
  • Event notification for hypertext link and image events
  • API for controlling status and title bars
  • Vertical scroll bar
  • Highly object oriented design
  • Clean, commented source code
  • Approximately 90 Kilobytes compiled (after obfuscation)
  • Royalty-free source licensing available

A complete specification detailing all the features and the supported HTML tags and attributes can be found here

What is NOT Supported

At least as important to know about the component is what it does not support.  The following are not supported by the component:

  • HTML frames
  • CSS (style sheets) - only supports inline styles
  • HTML forms
  • Scripting support (i.e. - Javascript)
  • Java applets or ActiveX objects
  • Flash animation
  • Animated GIFs
  • Support for DOM (Document Object Model)

Performance

The J2ME environment has certain limitations that may adversely affect the performance of the component.  For example, there is no J2ME API for resizing images.  In such cases, the component  is forced to rely on its own CPU intensive algorithms to perform any resizing.  There is also a performance trade-off when utilizing a highly object-oriented design in J2ME environments.  On slow devices (which, in our opinion includes the Wireless Toolkit emulator), this is particularly evident.  Keeping this in mind, this component performs optimally under the following conditions.

  • You are rendering HTML that is not excessively complex
  • You will be rendering on devices with sufficiently fast processors and enough memory
  • You are rendering HTML that requires little or no image resizing

Copyright © 2006 - PocketLearn Inc.  All Rights Reserved
Java is a trademark of Sun Microsystems