Archive for April, 2011

Wabash Notes

Posted: April 18, 2011 in Android, Java
Tags: ,

So Wabash is this set of ant scripts that I have been working on to support BDD and test instrumentation and some beginning MonkeyRunner stuff. The last set of steps is to switch to using the DroidDoclet the same one used by the android project.

This way I can combine different documents from child projects right in the same min-doc website along with the codeqa in a consistent manner. Plus for those projects where we might have jsdocs from webview and doxygen docs of C++ code makes it easy to incorporate that as well.

And than the final pain in the rear getting library project builds to work whereas the library project compiles first than the parent project.


Android App Marketing

Posted: April 7, 2011 in Android
Tags: ,

Everyone has been looking for a sales channels similar to Apple AppStore.  I found an innovative one that involves the context of the mobile device user in the process. It has some apis to access, but its not bad in that the coding time is somewhat small.

Now, to find a firm in Chicago that needs android development on a weekly basis so that I can use free time to put into action.

BDD vs TDD in Android

Posted: April 7, 2011 in Android, Java
Tags: ,

Several firms including PivotalLabs have advocated choosing TDD for android development. Thus, one has to ask what have they forgot to mention is part of the android platform that will force most developers the other way?

Yes, TDD is faster if you execute the process as that is not it. Android right now is a slightly crusted fragment platform. What is the most obvious choice to cope with that fragmentation? Let me put another way.

Do you have $1000 per month extra to pay deviceanywhere for their VirtualLab access? Show me the hands!  What can act as a sieve to allow you to make the correct performance, etc choices to target a majority of android OS versions in the market in users hands?

It is these things; the android sdk emulator and some smart programming choices. Think about it, the emulator does not emulate multiple core cpus or gpus which means it perfectly mirrors the low end android device.  Than by choosing BDD over TDD you are forcing yourself to examine those performance choices more closely as you will see them daily in operation as you execute all those BDD tests.

And to be blunt honest running BDD tests while coding in other areas is not that damn hard to make happen. Yes you kind of have to learn how your IDE operates so you can script some tasks, but so what?

Now lets go back to one of the first games on the G1, Replica Island. Guess what sieve they used to force them to make some performance and programming choices that happen to benefit the performance of the game? The sieve they used as the emulator and one G1 device which happen at the time to be very low end.

Now than look in the svn of ReplicaIsland you will see a game engine with very simple but powerful programming choice at its core. A modified mobile java singleton. With that and some other programming choices they got over 30fps on the G! devices.

Its not the agile process. Its going through every tool and process and asking does this tool or process fit within the constraints I have to work with. Now having stated that does an artificial sieve guarantee that you will make the right programming choices? NO, but you will see what happens if you do not right away right before your eyes as visual cues in that the application or game will run slow.

Android 4.0 at GoogleIO

Posted: April 4, 2011 in Android

There was of course that ice cream sundae doodle which may or not be an April fools joke. But, we know that Google and OHA engineers are hard at work on the next version of Android. We of course know that part of Android 4.0 is a port of the Honeycomb UI to the smartphone device trunk, but what else is in Android 4.0 that we might see at the GoogleIO?

One, renderscripting for smartphones as the real renderscript that you could write code to was introduced in Honeycomb. Two, the 3d scenegraph in Honeycomb obviously will be ported to Android 4.0. To say that a small emphasis on game development will be the focus at GoogleIO 2011 would be a vast understatement as Google knows with its hiring of Game development Advocates for the Android Platform that games is one of the ways independent developers can monetize application development on the android platform.

You can expect to see worker and P2P support in the webkit branch demo’d at GoogleIO 2011 along with a heavy does of new html5 additions. Hopefully, the webkit web widget that OPhone uses is part of that equation.

Continued NFC evolution will be shown in that a new feature of having NFC negotiate a bluetooth connection and than hand off to that established bluetooth connection, I am knick naming it the bump-for-blue. Remember, you can use encryption to keep a NFC connection secure so would be a perfect way to ask for permission to establish a bluetooth connection.

And of course before GoogleIO we have another Android Tools update. What is in this update of ADT? There is already a code commit in android tools to have the android sdk installer within the ADT plugin so you would download the ADT plugin if you were an android beginning developer and install the sdk form the ADT plugin.

I do not know if Google/OHA will call it android 4.0 at GoogleIO2011. They may call it ice-cream sandwich and demo parts of it as Android 3.1. But this thus far as my guess what will be demoed at GoogleIO2011.

Side Note: I started my MobileBytes Google Sites aggregation pages to aggregate demos, videos, tutorials, etc and so there is a left top link for that and eventually in this month it will some neat stuff. Google Sites is easier that doing the some of the html part by hand although I will still update the github pages from time-to-time.

While the Android project uses make to drive a specialized doclet called droiddoc and a jni extension of the claersilver template engine you can use DocLava to come close as you will than have a specialize doclet with the java version of clearsilve(jsilver) as the template engine.