Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

11 Java User Interface Libraries for Developing Mobile Applications


Published on

The current presentations will present interface concepts and technological solutions in current and future mass-market products and services of the mobile devices/applications market segment, up to which level and for which persons, as anticipated in the context of ÆGIS Integrating Project (Grant Agreement: 224348) of the 7th Framework Programme. These interface concepts can be used for designing and developing accessibility and accessible applications. ÆGIS aims to embed support for accessibility through the development of an Open Accessibility Framework (OAF), upon which, open source accessibility interfaces and applications for the users as well as accessibility toolkits for the developers will be built. Within ÆGIS, three mainstream markets are targeted, namely the desktop, rich Internet applications and mobile evices/applications market segments. It is obvious that achievements already made in ICT cannot be ignored; however need to be more “accessible”, more “open” whenever possible, and, most of all, embedded, built in the application from the beginning. It should be taken into account, for example, that even there are access solutions available in cell phones and PDA’s, still, they require special-case approaches and reverse engineering on the part of the expensive Assistive Technology solutions that are limited to only a few disabilities (blindness & low vision). In addition, many of them are “closed”; thus not feasible for 3rd party s/w to be loaded onto them – embedding accessibility support directly is the only feasible option. This paper will focus on which the recommended practices are for embedding accessible interface options in current and future mass-market mobile products and services. This paper describes existing Java user interface libraries and underlines some of their features regarding sound and graphics. These features can be used, modified, adapted or refined in conjunction with Operating System capabilities in order to provide accessibility and accessible support for any application.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

11 Java User Interface Libraries for Developing Mobile Applications

  1. 1. Kostas Kalogirou CE.R.T.H./Hellenic Institute of Transport Greece Java User Interface Libraries for Developing Mobile Applications
  2. 2. <ul><li>Rapid development of mobile devices </li></ul><ul><li>Many and different target groups use mobile devices </li></ul><ul><li>Many Java User Interface libraries exist </li></ul><ul><li>User interaction </li></ul><ul><ul><li>Accessibility issues </li></ul></ul>Motivation, Problem area
  3. 3. <ul><li>AEGIS target groups: </li></ul><ul><ul><li>Visual impairment users </li></ul></ul><ul><ul><li>Motor impairment users </li></ul></ul><ul><ul><li>Cognitive impairment users </li></ul></ul><ul><ul><li>Hearing impairment users </li></ul></ul><ul><ul><li>Speech / Communication impairment users </li></ul></ul>AEGIS target groups
  4. 4. <ul><li>Paper objectives: </li></ul><ul><ul><li>To present these tools and give tips to the development community </li></ul></ul><ul><ul><li>Whether it is possible to use, modify, extend or adapt some of the capabilities and features of these Java libraries. </li></ul></ul><ul><ul><ul><li>Keep in mind: Accessibility and Assistive Technology support </li></ul></ul></ul><ul><ul><li>How these libraries may be used to support accessibility to any type of new applications. </li></ul></ul><ul><ul><li>Describe the specifications of existing different type of mobile user interface libraries and take into account sound, graphics and specific OS features such as memory and CPU speed. </li></ul></ul>Objectives
  5. 5. <ul><li>Divided into: </li></ul><ul><ul><li>Open source and GPL/LGPL libraries </li></ul></ul><ul><ul><li>Third part libraries </li></ul></ul><ul><ul><li>JSRs and other UI libraries </li></ul></ul>Java U.I. libraries
  6. 6. <ul><li>AWT </li></ul><ul><ul><li>Abstract Window Toolkit (AWT). It is the Java's original platform-independent windowing, graphics, and user-interface widget toolkit. </li></ul></ul><ul><ul><li>The AWT is now part of the Java Foundation Classes (JFC) — the standard API for providing a GUI </li></ul></ul>Open source and GPL/LGPL libraries
  7. 7. <ul><li>LWUIT </li></ul><ul><ul><li>The Lightweight UI Toolkit is a lightweight widget library inspired by Swing but designed for constrained devices such as mobile phones and set-top boxes. </li></ul></ul><ul><ul><li>Lightweight UI Toolkit supports pluggable theme-ability, a component and container hierarchy, and abstraction of the underlying GUI toolkit. </li></ul></ul>Open source and GPL/LGPL libraries
  8. 8. <ul><li>LwVCL </li></ul><ul><ul><li>JSE LwVCL: for desktop </li></ul></ul><ul><ul><li>JME Personal Profile (Personal Java) LwVCL: for PDAs. </li></ul></ul><ul><ul><li>.NET LwVCL: This version has the same JSE LwVCL capabilities. </li></ul></ul><ul><ul><li>SWT LwVCL </li></ul></ul><ul><ul><li>JME MIDP LwVCL Use it for the resources limited devices. This version is under development now. </li></ul></ul>Open source and GPL/LGPL libraries
  9. 9. <ul><li>Synclast </li></ul><ul><ul><li>It is an extensible toolkit for creating colourful custom user interfaces on Java-enabled handheld devices. </li></ul></ul>Open source and GPL/LGPL libraries
  10. 10. <ul><li>Thinlet </li></ul><ul><ul><li>GUI toolkit based on XML structure. It supports both JME profiles, Personal and MID Profiles. </li></ul></ul><ul><ul><li>Porsche Engineering developed a version of Thinlet based on MIDP. </li></ul></ul>Open source and GPL/LGPL libraries
  11. 11. <ul><li>Kuix </li></ul><ul><ul><li>Forms and widgets components are organized through an XML approach that combined with CSS file, allow the programmers to build applications even faster. </li></ul></ul>Open source and GPL/LGPL libraries
  12. 12. <ul><li>MWT (Micro Window Toolkit) </li></ul><ul><ul><li>It is inspired by its UI big brothers as AWT, Swing and SWT, MWT comes into the scene providing an UI framework designed and optimized for small devices. </li></ul></ul><ul><li>Swing ME </li></ul><ul><ul><li>A Java ME implementation of Swing GUI, with Layouts, Borders, Renderers and lots of components including inline TextField, Buttons, Window, TabbedPane and many others. </li></ul></ul>Open source and GPL/LGPL libraries
  13. 13. <ul><li>TinyLine (Tinyline, 2002-2009) </li></ul><ul><ul><li>TinyLine SVG implements an SVG Tiny 1.1+ engine for Android and Java platform (JME CLDC/MIDP, CDC/PP, JSE). </li></ul></ul><ul><ul><li>TinyLine SVG allows incorporating SVG Tiny 1.1+ graphics into Android and Java applications. </li></ul></ul><ul><ul><li>The TinyLine library used to be free for JME until version 1.9. </li></ul></ul>Third part libraries
  14. 14. <ul><li>TWUIK </li></ul><ul><ul><li>Combines graphics, animation, rich-media user experience and interactivity for seamless deployment across an ever-wider range of supported JME devices. </li></ul></ul><ul><ul><li>It supports JavaME (CLDC 1.0/1.1-MIDP 2.0), BREW 3.1, Windows Mobile 5 and 6 , Symbian UIQ & Series 60 and DoCoMo Java 4.x & 5.x. </li></ul></ul>Third part libraries
  15. 15. <ul><li>Paxmodept JavaME Framework </li></ul>Third part libraries
  16. 16. <ul><li>Advanced GUI (JSR 209) </li></ul><ul><ul><li>AGUI is an optional package that sits on top of CDC at Foundation and Personal Basis Profile (PBP). </li></ul></ul>JSRs and other UI libraries
  17. 17. <ul><li>LCDUI </li></ul><ul><ul><li>The MIDP UI is composed of two core APIs, the high-level and the low-level </li></ul></ul><ul><ul><ul><li>The high-level API is designed for business applications whose client parts run on MIDlets. </li></ul></ul></ul><ul><ul><ul><li>The low-level is designed for applications that need precise placement and control of graphic elements (input events). </li></ul></ul></ul>JSRs and other UI libraries
  18. 18. <ul><li>SWT </li></ul><ul><ul><li>The “Standard Widget Toolkit” is an open source widget toolkit for Java designed to provide efficient, portable access to the user-interface facilities of the operating systems on which it is implemented. SWT is under Eclipse responsibility. </li></ul></ul>JSRs and other UI libraries
  19. 19. <ul><li>SVG </li></ul><ul><ul><li>The SVG JSR 226 defines an API for rendering scalable 2D vector graphics, including image files in W3C Scalable Vector Graphics (SVG) format. </li></ul></ul><ul><ul><li>The SVG JSR 287 is package for rendering enhanced 2D vector graphics and rich media content </li></ul></ul>JSRs and other UI libraries
  20. 20. <ul><li>Open GL ES </li></ul><ul><ul><li>OpenGL ES (OpenGL for Embedded Systems) is a subset of the OpenGL 3D graphics API designed for embedded devices such as mobile phones, PDAs, and video game consoles. </li></ul></ul>JSRs and other UI libraries
  21. 21. <ul><li>JSR 184 Mobile 3D Graphics </li></ul><ul><ul><li>The Mobile 3D Graphics API (M3G), is a specification defining an API for writing Java programs that produce 3D computer graphics. </li></ul></ul>JSRs and other UI libraries
  22. 22. <ul><li>JSR 135 Mobile Media API </li></ul><ul><ul><li>These APIs allow applications to play and record sounds and video, and to capture still images, depending on how it's implemented. </li></ul></ul>JSRs and other UI libraries
  23. 23. <ul><li>JSR 234: Advanced Multimedia Supplements (AMMS) </li></ul><ul><ul><li>It is an extension to JSR 135 Mobile Media API providing new features, such as positional 3D audio processing, audio and video effects processing, better controls for digital camera, and better support for analog radio tuner including Radio Data System. </li></ul></ul>JSRs and other UI libraries
  24. 24. <ul><li>BlackBerry UI library </li></ul><ul><ul><li>BlackBerry UI includes the net.rim.device.api.ui.accessibility package to allow a BlackBerry device application that uses custom UI components to send information to an assistive technology application. </li></ul></ul>JSRs and other UI libraries
  25. 25. <ul><li>Java Speech API 2.0 (JSR 113) </li></ul><ul><ul><li>The Java Speech API allows you to incorporate speech technology into user interfaces for your applets and applications based on Java technology </li></ul></ul><ul><ul><li>Third part implementations </li></ul></ul><ul><ul><ul><li>FreeTTS </li></ul></ul></ul>JSRs and other UI libraries
  26. 26. <ul><li>Java FX Mobile </li></ul><ul><ul><li>JavaFX Mobile is the JavaFX application platform for mobile devices and a part of JavaFX platform. </li></ul></ul><ul><ul><li>JavaFX Mobile applications can be developed in the same language, JavaFX Script, as JavaFX applications for browser or desktop, </li></ul></ul>JSRs and other UI libraries
  27. 27. <ul><li>Conclusions </li></ul><ul><ul><li>Analysis of existing UI libraries for JME platform including both CLDC and CDC configurations. </li></ul></ul><ul><ul><li>The specifications JME different type of mobile user interface libraries and take into account sound, graphics and specific OS features such as memory and CPU speed. </li></ul></ul><ul><ul><ul><li>They should be examined further in order to provide accessibility to AEGIS user target groups. </li></ul></ul></ul>Conclusions