Thursday, December 24, 2009

A couple of short links - December 24, 2009

1. 16 Cool Cellphone Concepts Which Won't Be Implemented - cellphone concepts that look amazing, ranging from customizable back sides like the Nokia Unik, to cellphones that act as a bangle like the LG Helix.

2. The (Last and Next) Decade in Gadgets - breakthroughs in technology of the past decade and prediction of  future trends. The areas covered are Computers/OS, Cellphones, Web, cameras, Home Entertainment, Music, Movies, Video Games (here it mentions Microsoft's Natal project), and Print.

3. Top Ten Stories on Digg in 2009 - the title says it all.

4. Java Design Patterns book - written by IBM's James Cooper, an excellent free resource on Design Patterns implemented in Java. Bruce Eckel has a similar book, entitled Thinking in Patterns.

Tuesday, December 22, 2009

Cross-Platform Mobile Development


I don't have to tell you that there are multiple mobile platforms out there, such as Symbian, Blackberry, iPhone, Android, Windows Mobile, BREW, webOS, Limo, Bada, and others. As a mobile applications developer, one should try to cover as many platforms as possible. Developing on these platforms requires knowledge of Java, C++, .NET, Objective-C, clearly too many languages. As if this would not be enough, there is the fragmentation issue within each platform. So, what can one do to alleviate these problems? Fortunately, there are some tools that mitigate this issue by allowing to design/code once, and port to different platforms afterwards. I am just going to mention some of them, leaving up to you to go and further investigate if you deem necessary. A quick note: when HTML is mentioned, JavaScript and CSS are included by default.

Airplay allows you to code in Visual C++ and build for x86 and ARM compilers, thus building your application as an "OS-agnostic binary file that contains native CPU instructions". The platforms supported are iPhone, Android, Symbian, Windows Mobile, and BREW.

Alchemo is useful if you have a Java ME application that has to be ported to other platforms such as Android, BREW, iPhone, and Windows Mobile.

PhoneGap is an open source tool for web developers that want to take advantage of features such as location, accelerometer, etc, and still write applications using HTML. The platforms supported are iPhone, Android, Blackberry, Palm, and Windows Mobile.

With Pyxis Mobile, you can take advantage of their Application Studio and configure your application to run on Blackberry, Windows Mobile, and iPhone platforms. The platform offers support for connectivity to enterprise data sources.

Rhodes is an open source framework where you can build native applications (despite the use of HTML or Ruby for development) that run on the iPhone, Windows Mobile, Blackberry, Symbian, and Android.

Smartface Designer allows you to design you application using the tool and deploy it to Blackberry, Symbian, and J2ME. You can drag-and-drop existing components when using the designer tool, thus avoiding writing code.

Sybase Unwired Platform follows the same line of designing your applications once, and deploy it on several mobile platforms such as Windows Mobile, Windows 32 (Laptops/Tablets), iPhone, and Blackberry. The platforms is geared towards enterprise, offering integration with Sybase, Oracle, IBM, and Microsoft based databases, SAP, Remedy, etc enterprise applications, and Web Services.

Titanium Mobile uses Web Technologies (such as HTML, JavaScript, etc) to build native applications for the iPhone and Android platforms.

Voyager allows you to code in your favorite development language (Java, .NET languages, C++), and deploy it on various platforms such as Android, JavaFX, Windows Mobile, Java ME, Linux, Blackberry, Symbian, BREW, iPhone, with future support for Real-Time OSs. This is the platform that covers most of the existing mobile platforms, and allows for enterprise integration.

Other platforms that may be worth looking into are Dexterra ConcertSpring Wireless, and QuickConnect.

Below is a table summarizing the info supplied above (last updated on: July 17, 2010):



Airplay
Alchemo
PhoneGap
Pyxis Mobile App Studio
Rhodes
Smartface Designer
Sybase Unwired Platform
Titanium Mobile
Voyager
Platforms Supported
Android
X
X
X

X


X
X
Java FX








X
Windows Mobile
X
X
X
X
X

X

X
Linux








X
Blackberry


X
X
X
X
X

X
Symbian
X

X

X
X


X
BREW
X
X






X
iPhone
X
X
X
X
X

X
X
X
Java ME





X


X
Development Languages
C++
X







X
Java ME

X







Java








X
.NET








X
HTML


X

X


X

Own Visual Language



X

X
X


Other Properties
Open Source


X

X




Enterprise Integration



X


X

X
Free
X (only for iPhone)

X

X (if using GPL)






There will be a book that will come out on April of 2010 August 31, 2010 entitled "Pro Smartphone Cross-Platform Development: iPhone, Blackberry, Windows Mobile and Android Development and Distribution", by Sarah Allen and Vidal Graupera, and which should offer valuable resource for anyone involved with cross-platform development.

Please drop me a message if you know of any other cross-platform tool(s) worth mentioning.

Tuesday, December 15, 2009

Sliding Puzzle Full - First Review

I found the first review of my Android game, Sliding Puzzle Full, review made for an older version (1.0.0). I am glad James enjoyed the game. From the review:

"Sliding Puzzle Full v1.1.0 is a fun application that makes your photos take on a whole new life of their own. I liked the grid size option and the ability to choose a picture or create a new puzzle using my phones camera.


The controls are overall simple to use, the touchscreen sliding mechanism is very functional and the program offers simple fun. If you're a puzzler fan you'll love this game."

Some notes:
 - the game is available on Android Market, but it was built with version 1.6, hence some phones might not *see* it yet.
 - I will not update the slideme version of the game (which is 1.0.0). The newest version is 1.1.1 and can be found in the Android Market.