As you must know, cell phones are the "new" PCs. As a VAR for virtual technology, we can see the days of routinely running VMs from your cell (or tablet) coming fast. On top of that, purpose-built OSs (Chrome) are going to multiply, and your cross-platform dev needs will continue exploding. Have you considered pulling in more resources to help you with cross-platform work, while you concentrate on what you do best? Many on your forum would be willing to pay more for faster form development, for instance. From a different direction-- have you considered publishing some "public" APIs to allow the kind of ecosystem growth that Android itself is experiencing? Of course, the fact that many share their DB's on your site is a version of that, but I'm talking about something which allows a sync with Quickbooks (for instance).

Perhaps you are already addressing these issues and I haven't noticed yet. Not telling you how to run things, either. I like your software, wish like heck it was already there on Android.

I've been asked through email and here from a number of people how development is coming along and decided I'd try to post some updates so you can track where things are in the process and ask questions about it if you'd like!

Update for 6/2/10:

HanDBase on Android in it's current form can now open and display any HanDBase database (PDB file). I am using a combination of the Java end for the User Interface and the NDK (native development kit) to create a library that handles all the heavy lifting (reading and writing from database files, etc). It's working really well and seems speedy though I haven't tested with any sort of benchmarks thus far.

When I do development I do it in iterations. I always focus on getting the core library code to run first meaning that the platform can handle the internals of HanDBase- opening tables, querying the database for records, etc. Then I begin on UI development of the main three screens you use- the Choose Database screen, the List View, and the Edit record screen. These are the hardest screens to implement as they always contain a lot more dynamically generated material. In other words, a screen like the sorting screen which has a few drop down selectors to pick the fields to sort by and the sorting direction is but a fraction of the development time of a screen like the Edit Record screen which has to create all sorts of controls based on the content of the database, load it with data from a record, handle interaction of that data, and then saving back to the database, among other things. So while I typically spend the first few months on a lot of internal development and have little visible to show for it, the final month or two of programming shows much faster progress externally because the ancillary screens are much quicker and easier to implement.

So when developing HanDBase, I code up a series of progressively more functional versions of these core screens. For example, the first Android version of HanDBase displayed a fake list of databases, a fake list of records in the list view, and a fake edit record screen with a sampling of field types. Then the next iteration actually showed a list of files stored in the HandBase folder of the SD card. Then the next iteration showed only real databases stored in that location. The next one displayed a list of records from the actual database with only a single field, then the next one shows a list of records with multiple fields. The next one begins to support scrolling, and then.... well, you get the picture!

My goal for this week is to finish another iteration of the three main screens. By this time next week I hope that the core three screens will be at the stage where they are about 80% of the final functionality that these screens will exhibit. When I get to that point, I hope to get back to implementing some of the screens that extend that behavior, for example- the sorting, filtering, edit popups, and views screens.

As much as I'm excited about the progress and prospects for this Android version, I want to be careful in setting expectations for development- I am working on this project with the vast majority of my available development time for some time now and feel quite comfortable coding for Android at this point. But even still, it would be hard for me to give you a date when I expect to be finished. This is because there are many bumps in the road that cause development to stumble. Those can range from a particularly stubborn thing to implement on a given platform that was easy to do on other platforms (eg, on Android, making a screen that scrolls right and left as well as dynamically up and down is a real challenge!), to a personal/family issue or emergency (eg, the ambulance ride taken last night to the hospital for my 5 year old son who they suspected was about to have his appendix burst (it wasn't, but still cost me one of my coding late-night sessions that get me the most progress all week). So I don't want to potentially disappoint you with a release date.

That said, I am hoping to start a formal program by the end of June when I expect that most of the program features will be in place. I am still thinking through the details, and the fact that so many customers have asked to be part of the beta team has changed my plans for sticking with our tried and true private beta team model. The combination of so many device models and screen sizes mixed with so many excited HanDBase users means an open beta where a larger group of people may be possible. But frankly, I'm also worried I'll be overwhelmed with feedback as well. It's a fine line- during the beta stage you want feedback, but as a single developer I can only handle so much at once or my development will be crippled responding to bug reports and nits here and there. So I'm trying to carefully weigh this out, and may do something like start with a small private group for a week or two and then expanding to a larger group thereafter. I'd appreciate your thoughts on this, and thanks for reading!