Archive | Technology

Tags: , , ,

ME4Android, the JavaME Solution for Android

Posted on 28 November 2007 by Hatem Ben Yacoub

JavaMEAfter the Jbed’s Esmertec solution for JavaME on Android, a new solution have just arrived by Carlos Bazzarella from Poliplus software, called : ME4Android. The solution aims to help developers port their JavaME applications into Android automatically without any single code change, only by making a small modification in the build scripts. The demo Flyer application already available shows the capabilities of ME4Android to run midlets that use the low level user interface API.

ME4Android sample
Sample Flyer application running on Android

We asked Carlos on full JavaME support for Android and he told us in email “right now ME4Android does not support a complete JavaME stack but in the long run it will, specially when the source code becomes available.”

The good news is that ME4Android will be open sourced with Android, Carlos confirmed to OHM “Since Android will eventually be fully open sourced, I intend to do the same with ME4Android. Actually as soon as Google releases all of their source code, I’ll do the same.”

When asked about Esmertec solution, he told us “I am familiar with Esmertec Jbed and given the fact that it will bean optional commercial component on the free Android platform, you can guarantee that it will not be used much and will never have 100% deployment on Android. ME4Android as a free alternative with complete source code available has absolutely no barriers for adoption and provides the best bridge for JavaME developers to take to Android.”

ME4Android could be the solution for JavaME developers looking for a quick way to get their application running on Android at low cost. Actually they can continue to develop on their own platforms, then just wait for full JavaME support using ME4Android from Poliplus or Jbed from Esmertec. Handset Manufacturers will have to decide on this.

Popularity: 19%

Comments (1)

Tags: , , , , ,

Running C++ Native Applications on Android, The Final Point

Posted on 22 November 2007 by Hatem Ben Yacoub

C++ programmingWith the launch of Android mobile platform, Google announced that developers can use Java as programming language to create applications for the platform and using Dalvik as the Java virtual machine. The choice of Java was itself a limitation for many developers, especially low level progammers used to deal directly with different mobile hardware issues…

It’s true that, for example, Symbian support programming in C++, but here is the full and real situation. There is a lot of application developed for Symbian, but you have to always compile your application for the different platforms separately. Applications for Symbian 3rd edition don’t run on 2nd, or 1st edition devices. Sometimes applications for S60 3rd edition are compatible with N73, but not with N80, while it should be the same operating system and there is no reason for an application to be hardware dependant.

Now back to Android, the fact is only Java language is supported doesn’t mean that you cannot develop applications in other languages. This have been proved by many developers, hackers and experts in application development for mobile. The guys at Elements Interactive B.V., the company behind Edgelib library, succeeded to run native C++ applications on the Android platform, even that at this time there is still many issues on display and sound … etc. This include the S-Tris2 game and a 3D animation demo of Edgelib.

Wouter ten Brink, Elements Interactive CTO, told us by email “As our company focuses on native (C++) development only, we will keep looking for solutions to bring native applications to Android.”. He added “Personally, I believe Google will eventually offer a way to run native code, but we’ll have to see what will happen on this area the coming months.”

Performance Vs Portability

It’s clear that Google, by making Dalvik the Java Virtual Machine for Android, is looking for maximum portability against performance. The MSM chipsets, currently supported by Android, include a Java hardware acceleration, which is supposed to provide high performance for Java applications running on Android Handsets. But it’s not everything.

The Google answer on running C/C++ applications on Android from the FAQs is : “No. Android applications are written using the Java programming language”. Very simple answer, but the problem here is for developers and companies having ready to use code and applications for other mobile platform and looking to get their code ported to Android at low cost.

Java-Not-In-Time and JIT

The performance issue in reality isn’t due to Java itself, but to the virtual machine running Java code on mobile devices. You can run Java very fastly on PCs today with JIT VMs, thing not available for mobile devices, which make Java applications and games very slow on mobile. So what about Dalvik ? Dan Morrill posted on the Android developers group that “a just-in-time compiler is definitely on the Dalvik roadmap”.

This should answer the performance question about Java, Android and Dalvik, even that we don’t know much at this time on the Dalvik VM.

Conclusion

Finally the choice of Java on Android is to make mobile application developement faster and easier for developers, and to make Android platform more stable. Probably many don’t agree on coding in Java for Android and looking for native support. This could solve some problems for native developers, but will open the door for a huge new problems and incompatibilities. If Google decided to make Android the best open mobile platform, it’s also their choice to keep this platform safe for a better future.

Popularity: 44%

Comments (1)

Tags: , , ,

Android got new Fonts from Ascender

Posted on 21 November 2007 by Hatem Ben Yacoub

Ascender, leading provider of advanced font products for mobile handsets and member of the OHA, announced the “Droid Fonts”, a set of seven typefaces specially designed for the Android for optimal quality and comfort on mobile handsets. The Droid fonts family have been optimized for a better rendering in application menus, web browsers and for other screen text.

Droid Fonts

“Ascender is proud to be providing the font solution to the Android platform built by the Open Handset Alliance. We believe that handset manufacturers, wireless carriers and application developers will be very happy with the fonts provided and we look forward to addressing the future font needs across the platform,” said Ira Mirochnick, President of Ascender Corporation. “We are also very excited that the platform supports our Ascender Compact Asian Font solution (ACAF) which will make it easy for manufacturers to implement additional high quality Asian fonts in a small footprint.”

According to the press release, the Droid family of fonts consists of Droid Sans, Droid Sans Mono and Droid Serif. Each contains extensive character set coverage including Western Europe, Eastern/Central Europe, Baltic, Cyrillic, Greek and Turkish support. The Droid Sans regular font also includes support for Simplified and Traditional Chinese, Japanese and Korean support for the GB2312, Big 5, JIS 0208 and KSC 5601 character sets respectively.

It’s interesting to get Asian fonts supported for Android especially Japanese, Chinese and Korean, this also reflect the Google strategy to target the largest population. But what I notice here is that Android is missing middle eastern fonts such Arabic and Hebrew, in addition to other Asian fonts. So you will be missing these for current release, but we will probably see them supported in future releases according to Ascender.

Popularity: 22%

Comments (0)

Tags: , , , , ,

Synaptics and the Touch Interface Driver for Android

Posted on 16 November 2007 by Hatem Ben Yacoub

SynapticsJust noticed today a press release planned for next monday (19th November) by Synaptics, member of the OHA. Synaptics Inc., a leading developer of capacitive-based human interface solutions for mobile computing, communications and entertainment devices; and today they are announcing the touch interface driver for Android SDK. A good news for developers who were looking for a way to test the touch interface capabilities with Android SDK.

Synaptics is the only touch interface company in the alliance, and they are already providing mobile solutions for Onyx, Pantech, Samsung and many others. According to the press release, Synaptics will provide mobile handset designers with a powerful yet easy to use tool to develop advanced, multi-touch gestures for the Android platform.

“Synaptics is proud to be a founding member of the Open Handset Alliance,” said, Joseph Virginia, Vice President, Corporate Marketing and Handheld Business of Synaptics. “Our contribution to the Android platform will help bring dynamic touch user interfaces to everyone in the mobile market. By creating an open environment conducive to collaboration and partnering, the Alliance will allow key influencers to deliver innovative devices and services to meet the needs of the fast-changing mobile industry.”

Popularity: 35%

Comments (0)

Tags: , , , , ,

What’s on Android

Posted on 15 November 2007 by Hatem Ben Yacoub

Android System ArchitectureSince monday we started discovering what’s on Android, the system, the applications, the architecture … etc. It was important to know what’s already on Android to develop better applications for the system. In short, Android is running on a linux kernel and using Dalvik as Java Virtual Machine. Android features include :

Application Framework

The application Framework enable Android application to reuse and replace existent components. The Framework include Activity Manager, Window manager, Content providers, View system, notification manager, package manager, telephony manager, resource manager, location manager and XMPP service.

Android Libraries

Android system is based on set of C/C++ libraries used by various components of the Android system. Core libraries include :

  • System C library- a BSD-derived implementation of the standard C system library (libc), tuned for embedded Linux-based devices
  • Media Libraries- based on PacketVideo’s OpenCORE; the libraries support playback and recording of many popular audio and video formats, as well as static image files, including MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG
  • Surface Manager- manages access to the display subsystem and seamlessly composites 2D and 3D graphic layers from multiple applications
  • LibWebCore- a modern web browser engine which powers both the Android browser and an embeddable web view
  • SGL- the underlying 2D graphics engine
  • 3D libraries- an implementation based on OpenGL ES 1.0 APIs; the libraries use either hardware 3D acceleration (where available) or the included, highly optimized 3D software rasterizer
  • FreeType- bitmap and vector font rendering
  • SQLite- a powerful and lightweight relational database engine available to all applications

Dalvik Virtual Machine

Dalvik is the Java Virtual Machine that power Android systems, optimized for mobile phones, owned by google, and best of all going to be open sourced ! Dalvik executes files in the .dex format optimized for minimal footprint. The system itself is optimized to run multiple Dalvik VMs efficiently.

Android applications

The current SDK released came with a set of applications including Home, browser (based on webkit), contacts manager, Phone application, Maps, XMPP client, and according to documentation there will be also sms application, calendar and many others. I bet there will be other basic applications by Google such notes application, some games … etc, but the big job is left here for developers who will participate in the challenge.

Development tools

Android SDK, released this monday is defintely the best development environnement for Android applications. A plugin for eclipse is available to help coding, debugging, memory and performance profiling, in addition to the device emulator to see your application running live in Android before to see it on real handsets.

Some others Android’s Technical features

  • Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification
  • Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
  • GSM Telephony
  • Bluetooth, EDGE, 3G, and WiFi
  • Camera, GPS, compass, and accelerometer

Be sure to check Android documentation to learn more about this new technology.

Popularity: 31%

Comments (0)

Advertise Here
Advertise Here
Close
E-mail It