Skip to main content

BlueBill Mobile Is Moving to Android: Android First Impressions

Posted by editor on April 21, 2010 at 9:24 AM PDT

Fabrizio Giudici recently announced that he is taking his blueBill Mobile project and moving it to the Android platform. Yesterday, he published some of his preliminary thoughts about Android in a JavaLobby article, Newbie Understanding of Android. BlueBill Mobile was originally programmed in JavaFX. Developing the Android version is Fabrizio's first experience in actually working with the Android platform. So, in the article, he shares some of his initial reactions. Here are a few of his newbie point-of-view findings (and ratings of Android):

  • Productivity (++). As Osvaldo Pinali recently said on the JavaPosse mailing list, from the programmer's point of view Android is Java: you don't learn a new language and you're confident with a good subset of the Java runtime. I was able to reuse some code I already had (simple for now, I'm going baby steps), but I know I'll scream out loud when I'll need BufferedImage. The missing Swing is a different story...
  • Software factory (+). Maven works pretty well (thanks to the maven-android-plugin) and since I've spent so many months to set up my standard software factory with Maven and Hudson, I don't want to depart from it, if possible. I've been able to use it, unchanged, for my Android project - this means that I've got immediately Cobertura coverage, Findbugs and other metrics and Hudson integration...
  • Runtime availability (-). The Android runtime is of course available for free, but it requires a graphical UI to install the real stuff (since it's downloaded from an update center). This is a PITA for my Hudson host, where I don't have a graphical console. I'll have to install it on a local Linux box and then upload a tarball. Since I'm a lazy guy, I've not done it yet and this is the reason for which there are red balls on Hudson. What about providing some text console alternatives to installation? Also, the required Maven stuff is not available at the Central Repo and you have to install it manually on your repo - fortunately it's a straightforward process and you find step-by-step instructions in the maven-android-plugin docs and links.
  • APIs not clean (--). This is the point that mostly stroke me. After so many year of bashing Swing for its 'old-style' and not completely congruent design, I really expected to find some super-clean-and-smart APIs in Android. This is not the case...

Read Newbie Understanding of Android for Fabrizio's full list of newbie Android findings. The extensive comments are also interesting.


In other Java Today news, Geertjan Wielenga completes his recent series with Creating Context-Sensitive Capabilities for File-Based Nodes (Part 4):

In this the final part of this ad-hoc series on context-sensitive actions for file-based nodes... we'll do something pretty radical—we'll use the loosely coupled ChildFactories from yesterday's blog entry to provide loosely coupled data sources. That's exactly what the Institute of Marine Research (IMR) in Bergen, Norway, needs. Look at the screenshots below, you see two nodes, each providing access to different data...

Alexis Moussine-Pouchkine points us to a New GlassFish deployment story - Fundamo:

"Financial services on the go" - check out what Fundamo does with GlassFish for its core business. If you have a GlassFish deployment story to share, feel free to email stories-at-sun.com...


In the Weblogs, I posted a small blog pointing people to Kirill Grouchnikov's recently published Design, uninterrupted #16. Kirill says:

Today’s post highlights the design of Jen.gs, the personal website of Jen Germann. An interesting color scheme uses dark melanzane for background, light gray for main text, light blue for section headers and sunset orange for links; the orange color is also used in the main logo and two separators. The main section uses Cufon for precise and clean typography...

Kohsuke Kawaguchi provides POTD: GitHub API for Java:

My project of the day (or "POTD") is GitHub API for Java — a library for accessing GitHub programmatically. As the Hudson community is embracing plugins developed in Git more and more, I needed to interact with GitHub as a part of the community infrastructure automation. I did a quick Google search to locate existing implementations, but unfortunately I couldn't find anything good. So I decided to just write my own. Thanks to a reasonable API design of GitHub and a good documentation, it was very easy to do so. The trick is to use the right library, which handles most of the JSON/Java databinding...

Fabrizio Giudici posted blueBill Mobile goes Android:

blueBill Mobile has been initially developed for JavaFX and has been blogged about a bit in the past. I already anticipated that a version in JME was in the pipeline; in the meantime, since unfortunately there hasn't been any announce from Oracle about JavaFX for Android phones, I started the development of a specific Android version. It is important also for start involving some users, as I've been unlucky in finding a good number of them able to test JavaFX Mobile applications...


In the Forums, rapiz posted GlassFish on port 80 - really strange problem...: Hello, I'm building a j2me application that talks to WebApplication. I soon realized that there are operator out there that blocking anything other than port 80. (In the j2me client i write data with DataOutputStream, and read it in...

cdecarlo asks about Customization on SimpleType for JAXB plugin: Hi, I've written a custom plugin for JAXB/XJC and have run into a problem. Part of what the plugin does is generate some code for a custom framework. I've been able to annotate the schema with custom annotations (in my ComplexType and...

In the LWUIT forum, klemensz asks about Removing softbuttons with Blackberry touch implementation: Hi, I want to behave the touch implementation ("official") like the non-touch implementation. That is, the menu shall pop up upon click on the Blackberry button. The softbuttons shall not be displayed at the bottom of the screen. Can this be...


Our Spotlight this week is the Java Developer Center on the Oracle Technology Network:

Java is one of the computer industry's best known brands and most widely deployed technologies. Oracle Fusion Middleware is built on Java technology in support of applications and services written in the Java language. With the acquisition of Sun, Oracle will drive continued innovation and investment in Java technology for the benefit of customers and the Java community.


This week's java.net Poll asks What's your reaction to the new cross-platform compiler restrictions in the iPhone Developer Agreement? The poll will be open until Friday.


Our latest Feature Article is Biswajit Sarkar's Using Styles, Themes, and Painters with LWUIT, in which you discover how to use some of the new and enhanced features in LWUIT version 1.3. We're also featuring Dibyendu Roy's Rethinking Multi-Threaded Design Principles, Part 2, which provides guidance on how to harness the processing powere of next generation multicore processors; and HTML5 Server-Push Technologies, Part 1 by Gregor Roth; this two-part series explains the new Server-Sent Events and WebSockets API in HTML5.


Current and upcoming Java Events:

Registered users can submit event listings for the java.net Events Page using our events submission form. All submissions go through an editorial review before being posted to the site.


Archives and Subscriptions: This blog is delivered weekdays as the Java Today RSS feed. Also, once this page is no longer featured as the front page of java.net it will be archived along with other past issues in the java.net Archive.

-- Kevin Farnham

O'Reilly Media
Twitter: @kevin_farnham