11 Java User Interface Libraries for Developing Mobile Applications

27
FOSS-AMA Satellite event Kostas Kalogirou CE.R.T.H./Hellenic Institute of Transport Greece Java User Interface Libraries for Developing Mobile Applications

description

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.

Transcript of 11 Java User Interface Libraries for Developing Mobile Applications

Page 1: 11 Java User Interface Libraries for Developing Mobile Applications

FOSS-AMASatellite event

Kostas KalogirouCE.R.T.H./Hellenic Institute of

TransportGreece

Java User Interface Libraries for Developing Mobile Applications

Page 2: 11 Java User Interface Libraries for Developing Mobile Applications

27-28 March 2010, Paphos, Cyprus

FOSS-AMASatellite event

Rapid development of mobile devices Many and different target groups use mobile

devices Many Java User Interface libraries exist User interaction

◦ Accessibility issues

Motivation, Problem area

Page 3: 11 Java User Interface Libraries for Developing Mobile Applications

27-28 March 2010, Paphos, Cyprus

FOSS-AMASatellite event

AEGIS target groups:◦ Visual impairment users ◦ Motor impairment users◦ Cognitive impairment users ◦ Hearing impairment users◦ Speech / Communication impairment users

AEGIS target groups

Page 4: 11 Java User Interface Libraries for Developing Mobile Applications

27-28 March 2010, Paphos, Cyprus

FOSS-AMASatellite event

Paper objectives:◦ To present these tools and give tips to the development

community ◦ Whether it is possible to use, modify, extend or adapt

some of the capabilities and features of these Java libraries. Keep in mind: Accessibility and Assistive Technology support

◦ How these libraries may be used to support accessibility to any type of new applications.

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

Objectives

Page 5: 11 Java User Interface Libraries for Developing Mobile Applications

27-28 March 2010, Paphos, Cyprus

FOSS-AMASatellite event

Divided into:◦ Open source and GPL/LGPL libraries ◦ Third part libraries ◦ JSRs and other UI libraries

Java U.I. libraries

Page 6: 11 Java User Interface Libraries for Developing Mobile Applications

27-28 March 2010, Paphos, Cyprus

FOSS-AMASatellite event

AWT◦ Abstract Window Toolkit (AWT). It is the Java's

original platform-independent windowing, graphics, and user-interface widget toolkit.

◦ The AWT is now part of the Java Foundation Classes (JFC) — the standard API for providing a GUI

Open source and GPL/LGPL libraries

Page 7: 11 Java User Interface Libraries for Developing Mobile Applications

27-28 March 2010, Paphos, Cyprus

FOSS-AMASatellite event

LWUIT◦ 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.

◦ Lightweight UI Toolkit supports pluggable theme-ability, a component and container hierarchy, and abstraction of the underlying GUI toolkit.

Open source and GPL/LGPL libraries

Page 8: 11 Java User Interface Libraries for Developing Mobile Applications

27-28 March 2010, Paphos, Cyprus

FOSS-AMASatellite event

LwVCL◦ JSE LwVCL: for desktop◦ JME Personal Profile (Personal Java) LwVCL: for PDAs.◦ .NET LwVCL: This version has the same JSE LwVCL

capabilities.◦ SWT LwVCL◦ JME MIDP LwVCL Use it for the resources limited

devices. This version is under development now.

Open source and GPL/LGPL libraries

Page 9: 11 Java User Interface Libraries for Developing Mobile Applications

27-28 March 2010, Paphos, Cyprus

FOSS-AMASatellite event

Synclast◦ It is an extensible toolkit for creating colourful

custom user interfaces on Java-enabled handheld devices.

Open source and GPL/LGPL libraries

Page 10: 11 Java User Interface Libraries for Developing Mobile Applications

27-28 March 2010, Paphos, Cyprus

FOSS-AMASatellite event

Thinlet◦ GUI toolkit based on XML structure. It supports both

JME profiles, Personal and MID Profiles. ◦ Porsche Engineering developed a version of Thinlet

based on MIDP.

Open source and GPL/LGPL libraries

Page 11: 11 Java User Interface Libraries for Developing Mobile Applications

27-28 March 2010, Paphos, Cyprus

FOSS-AMASatellite event

Kuix◦ Forms and widgets components are organized through an

XML approach that combined with CSS file, allow the programmers to build applications even faster.

Open source and GPL/LGPL libraries

Page 12: 11 Java User Interface Libraries for Developing Mobile Applications

27-28 March 2010, Paphos, Cyprus

FOSS-AMASatellite event

MWT (Micro Window Toolkit)◦ 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.

Swing ME ◦ A Java ME implementation of Swing GUI, with Layouts,

Borders, Renderers and lots of components including inline TextField, Buttons, Window, TabbedPane and many others.

Open source and GPL/LGPL libraries

Page 13: 11 Java User Interface Libraries for Developing Mobile Applications

27-28 March 2010, Paphos, Cyprus

FOSS-AMASatellite event

TinyLine (Tinyline, 2002-2009)◦ TinyLine SVG implements an SVG Tiny 1.1+ engine for

Android and Java platform (JME CLDC/MIDP, CDC/PP, JSE). ◦ TinyLine SVG allows incorporating SVG Tiny 1.1+ graphics

into Android and Java applications.◦ The TinyLine library used to be free for JME until version 1.9.

Third part libraries

Page 14: 11 Java User Interface Libraries for Developing Mobile Applications

27-28 March 2010, Paphos, Cyprus

FOSS-AMASatellite event

TWUIK◦ Combines graphics, animation, rich-media user experience

and interactivity for seamless deployment across an ever-wider range of supported JME devices.

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

Third part libraries

Page 15: 11 Java User Interface Libraries for Developing Mobile Applications

27-28 March 2010, Paphos, Cyprus

FOSS-AMASatellite event

Paxmodept JavaME Framework

Third part libraries

Page 16: 11 Java User Interface Libraries for Developing Mobile Applications

27-28 March 2010, Paphos, Cyprus

FOSS-AMASatellite event

Advanced GUI (JSR 209)◦ AGUI is an optional package that sits on top of CDC at

Foundation and Personal Basis Profile (PBP).

JSRs and other UI libraries

Page 17: 11 Java User Interface Libraries for Developing Mobile Applications

27-28 March 2010, Paphos, Cyprus

FOSS-AMASatellite event

LCDUI◦ The MIDP UI is composed of two core APIs, the

high-level and the low-level The high-level API is designed for business

applications whose client parts run on MIDlets. The low-level is designed for applications that need

precise placement and control of graphic elements (input events).

JSRs and other UI libraries

Page 18: 11 Java User Interface Libraries for Developing Mobile Applications

27-28 March 2010, Paphos, Cyprus

FOSS-AMASatellite event

SWT◦ 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.

JSRs and other UI libraries

Page 19: 11 Java User Interface Libraries for Developing Mobile Applications

27-28 March 2010, Paphos, Cyprus

FOSS-AMASatellite event

SVG◦ The SVG JSR 226 defines an API for rendering

scalable 2D vector graphics, including image files in W3C Scalable Vector Graphics (SVG) format.

◦ The SVG JSR 287 is package for rendering enhanced 2D vector graphics and rich media content

JSRs and other UI libraries

Page 20: 11 Java User Interface Libraries for Developing Mobile Applications

27-28 March 2010, Paphos, Cyprus

FOSS-AMASatellite event

Open GL ES◦ 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.

JSRs and other UI libraries

Page 21: 11 Java User Interface Libraries for Developing Mobile Applications

27-28 March 2010, Paphos, Cyprus

FOSS-AMASatellite event

JSR 184 Mobile 3D Graphics◦ The Mobile 3D Graphics API (M3G), is a

specification defining an API for writing Java programs that produce 3D computer graphics.

JSRs and other UI libraries

Page 22: 11 Java User Interface Libraries for Developing Mobile Applications

27-28 March 2010, Paphos, Cyprus

FOSS-AMASatellite event

JSR 135 Mobile Media API◦ These APIs allow applications to play and record

sounds and video, and to capture still images, depending on how it's implemented.

JSRs and other UI libraries

Page 23: 11 Java User Interface Libraries for Developing Mobile Applications

27-28 March 2010, Paphos, Cyprus

FOSS-AMASatellite event

JSR 234: Advanced Multimedia Supplements (AMMS)◦ 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.

JSRs and other UI libraries

Page 24: 11 Java User Interface Libraries for Developing Mobile Applications

27-28 March 2010, Paphos, Cyprus

FOSS-AMASatellite event

BlackBerry UI library◦ BlackBerry UI includes the net.rim.device.api.ui.accessibilitynet.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.

JSRs and other UI libraries

Page 25: 11 Java User Interface Libraries for Developing Mobile Applications

27-28 March 2010, Paphos, Cyprus

FOSS-AMASatellite event

Java Speech API 2.0 (JSR 113)◦ The Java Speech API allows you to incorporate

speech technology into user interfaces for your applets and applications based on Java technology

◦ Third part implementations FreeTTS

JSRs and other UI libraries

Page 26: 11 Java User Interface Libraries for Developing Mobile Applications

27-28 March 2010, Paphos, Cyprus

FOSS-AMASatellite event

Java FX Mobile◦ JavaFX Mobile is the JavaFX application platform for

mobile devices and a part of JavaFX platform. ◦ JavaFX Mobile applications can be developed in the

same language, JavaFX Script, as JavaFX applications for browser or desktop,

JSRs and other UI libraries

Page 27: 11 Java User Interface Libraries for Developing Mobile Applications

27-28 March 2010, Paphos, Cyprus

FOSS-AMASatellite event

Conclusions◦ Analysis of existing UI libraries for JME platform

including both CLDC and CDC configurations. ◦ 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. They should be examined further in order to provide

accessibility to AEGIS user target groups.

Conclusions