Showing posts with label Java ME. Show all posts
Showing posts with label Java ME. Show all posts

Saturday, March 26, 2011

Application Ecosystem for the BlackBerry PlayBook

According to their press release, RIM has officially announced the ecosystem for applications that will run on the PlayBook tablet. Below is a quote from the release:
  • BlackBerry PlayBook to support BlackBerry Java and Android apps
  • Native C/C++ development support added, in addition to HTML5, Flash and AIR support
  • Support from leading game engines: Ideaworks Labs (AirPlay) and Unity Technologies (Unity 3)
  • BlackBerry PlayBook becomes a new market opportunity for all the developers who have already created over 25,000 BlackBerry Java apps and more than 200,000 Android apps 
The most important part for me, and something that I've been hoping for a long time, is the added support for Android. What RIM was lacking was an application ecosystem. This will not be the case anymore. And it is not only about Android in the end. Moving away from Java ME is the first step (still need it for existing applications). When you can write applications using HTML, Flash, C/C++, Java ME, and Android, you can't go wrong. There is no other ecosystem out there that provides such a diversity. 

Thursday, January 22, 2009

BOLT - the Java-based Browser

What intrigued me about BOLT (which is in a beta version at the moment of this writing) is the fact that it is written in Java (Java ME). It is designed for entry-level phones (with MIDP 2.0 and CLDC 1.0 or higher), but certainly it runs just fine on smartphones too. It is considered to offer fast and secure web browsing. How secure? 128-bit SSL Connections, filtering done on the server to protect you from malicious code, certification error notifications, and pop-up blocker. How fast is it? Reports have mentioned that on a Nokia 6120 (which runs on the S60 platforms), BOLT loaded the phonearena.com website in 14 seconds, while the built-in browser loaded it in 40 seconds.

BOLT provides ECMA Script 262 JavaScript support (asynchronous java script will work) , but does not currently offer support for Java Applets. Data reductions and lower power consumptions are also achieved.

If you are looking for screenshots (and further test results), head to phonearena.

Tuesday, January 13, 2009

Related concepts from Android and Java ME

I was thinking about the main components that provide the building blocks for your Android application, and on how they relate to similar concepts from the Java Micro Edition (Java ME) platform:

Activity. Activities in Android are the presentation layer for the application you are building. For each screen you have, their will be a matching Activity. Similar to this concept, in Java ME you have Forms (and more general maybe Screens). An Activity uses Views to build the user interface; similarly, a Form uses different items such as text fields, data fields, choice groups, etc. Generally speaking, in Java ME, on a Screen (or on a displayable), you can place a Canvas, an Alert, a List, a TextBox, and finally a Form. All these elements are used to build the graphical user interface for displaying information to the user and interacting with him by responding to the user actions.

Services. Services are those components that run in the background, and which do not interact with the user. They can update your data sources and Activities, and trigger specific notifications. I tried to think of a similar component in Java ME, but could not come with one. The only concepts I could think of was Threads and Timers (a way for threads to schedule tasks for execution in a background thread). The concept of Threads exists separately in Android also, hence such a comparison is not quite precise. Until background MIDlets are available with the upcoming of MIDP 3, I guess we do not have any other options.

Content Providers. They encapsulate data and provide it to your application, therefor acting as interfaces to the application databases. Sharing data across applications is achieved also by means of Content Providers. Such a concept is related to the RecordStores in Java ME, and more general, to the Record Management System (RMS - the persistent storage mechanism in Java ME).

Intents. Intents are a way of specifying what intentions you have in terms of a specific action being performed. Intents are mostly used for launching Activities. A similar concept in Java ME is described in the Broadcast Receivers section.

Broadcast Receivers. These components listen for broadcast Intents that match some defined filter criteria, and can automatically start your application as a response to an intent. Looking closely at the Intents and Broadcast Receivers components, for me, PushRegistry comes into mind. A PushRegistry is used to request a wakeup call from the implementation. What is important to understand about PushRegistry is the fact that they have a lifetime beyond that of a MIDlet. It is part of the MIDlet management software that runs on the device. When your MIDlet registers (at runtime or at install time) for push notifications, the device is obligated to listen incoming network connections and start your MIDlet if the appropriate connection has been made.

Notifications. Notifications let you signal the user by alerting him of an incoming event, and without using a separate Activity to achieve that. For example, you are monitoring the weather, and you want to be notified when a hurricane warning is in effect for your area (common in South Florida where I leave). This can be accomplished by adding Notifications to your weather monitoring system. In Java ME, one similarity would be the use of Alerts that inform the user about different events.

In later posts, I will describe more similarities between the two platforms at different levels. Stay tuned!

Tuesday, May 13, 2008

Sony Ericsson's Project Capuchin

Sony Ericsson has announced Project Capuchin, a Java ME API that lets you run Flash Lite content files on the mobile phone's display, thus having Flash Lite as the front end, and Java ME as the back end of your application.

From the press release:

"Project Capuchin will provide developers with an intuitive tool to create applications with a cleaner user interface (UI) without sacrificing the strong, feature rich and widely deployed Java ME infrastructure, including secure, well-developed content distribution. Project Capuchin’s bridging software will empower two distinct developer communities to leverage their respective expertises to create the next generation of highly engaging and immersive mobile content."

The need for such a solution comes from the limited capability of the Mobile Information Device Profile's LCDUI API used on embedded devices to write (graphical) user interfaces for your mobile application. This technology will be made available in the second half of 2008.

Monday, April 14, 2008

BlackBerry JDE Plug-In for Eclipse

RIM came out with a beta version of the BlackBerry JDE Plug-In for Eclipse. You can now develop applications for the BlackBerry using my favorite IDE, Eclipse. The plug-in contains a subset of the features included in the BlackBerry Java Development Environment.

From the press release: "RIM values the Eclipse development community and recognizes the need for integrated tools that support the development of BlackBerry applications from within the Eclipse environment,” said David Yach, CTO for Software, Research In Motion. “The introduction of the BlackBerry JDE Plug-in for Eclipse builds on RIM’s robust offering of development tools to further enhance and simplify mobile application development for the BlackBerry platform."

Some of the characteristics are:
  • Write, compile, and test Java Micro Edition-based applications that run on the BlackBerry smartphone.
  • Simulates a wide range of BlackBerry smartphones.
  • Includes several JSRs that you can use when developing your mobile application
  • Leverages BlackBerry Enterprise Server
Read more about it here.