Category Archives: VMWare

VMWare and virtualisation

Developing for Android

Regular readers will realise that I’ve been rather quiet recently. The reason is that over the last couple of weeks I’ve bitten the bullet and started seriously developing an “app” for Android. As always when I have a programming project in progress other uses of my “project” time tend to take very much a back seat, so apologies if you’ve been watching for photos or words of wisdom… 🙂

I don’t want to say too much about the application itself until I have something ready to put on the market place. Suffice to say I think I’ve spotted an odd gap in the market where the weaknesses of iOS force a number of good solutions to one problem of information management, whereas Android’s more flexible architecture ironically mean the problem goes unsolved. Watch this space.

I was initially a bit worried that the learning curve for Android development might be very steep, especially when I started working through the standard Java-based examples in the official Google development toolkit. Like all Java development that approach seems to require a vast amount of “scaffolding” code, which must be constructed with very little environmental help, to achieve very simple results. This didn’t look good.

Then, thankfully, I discovered Basic4android. This is a remarkable toolkit developed by a small group in Israel which allows the development of Android software using a powerful but very accessible language and IDE based on Visual Basic. Behind the scenes, this is compiled into standard Android Java code, so ongoing delivery of applications is standard, but the coding and design process is close to “pure VB”.

The development environment has all the features you could reasonably ask for, including code completion, syntax highlighting, background compilation and the like. Remote debugging extends to devices connected over the Internet as well as via cable or local networks, and has a cunning feature where you can “hot swap” the code behind a running application allowing a range of changes to a running test application without restarting it. These are very impressive abilities for a product from a relatively small company.

Just as with the original VB, Basic4android has a model which allows developers to supplement the platform capabilities with shareable components, libraries and code snippets, and a very active community has rapidly built a library of “donationware” which provides easy access to the majority of Android features. I’ve had to be a bit ingenious in a few cases, but even as a newbie on my first project I haven’t yet found a requirement which can’t be met with a few lines of code.

On a slightly more negative note, Basic4android doesn’t seem to provide a good solution to the problem of supporting multiple screen sizes and orientations, except by writing multiple hard-coded scripts for the various options. This problem has been solved for websites with the concept of the “responsive grid”, and it ought to be possible to arrange the UI of an Android app with similar logic (e.g. “arrange these two controls side by side with the label taking 75% of the width, unless the screen is narrower than X, in which case arrange them vertically”). If this can be done in Basic4android I haven’t yet worked out how.

Debugging on a physical device connected directly to the PC is very straightforward, but of course limited to the devices you own, and a bit clumsy if you fancy doing a spot of work when travelling. While the Android development kit includes an emulator for the PC, it runs so slowly as to be completely unusable, even on a high-spec machine like my AlienWare M17x. I may have discovered a better compromise, in Android-x86, a port of Android which runs happily in a VMWare virtual machine. Installation was easy, but there are a few foibles I haven’t yet conquered. Again, watch this space.

Overall my adventure into Android development is shaping up well. More news later.

Posted in Android, Code & Development, Galaxy Note, VMWare | Leave a comment

The VMWare Disk IO Problem – Fixed At Last

Regular readers will know that I’m a great fan of VMWare desktop virtualisation, but my enthusiasm has for a long time been muted by an odd problem. After shutting down or suspending a VM my laptop was thrashing its disks Continue reading

Wednesday, August 15, 2012 in VMWare

Break Compatibility, Lose Loyalty

For almost 20 years I have been a fan of, and borderline apologist for, Microsoft. One of the main reasons was their focus on software usability, backed up by a visible intention to preserve backwards compatibility wherever possible. While each Continue reading

Monday, May 7, 2012 in Agile & Architecture, Thoughts on the World, VMWare

Macs Are Really Easy? Ha!

There is a myth. The myth goes “Windows is complicated. Macs are really easy – they just work.” Like most myths this may have started from an original truth, but is now a lie. I am it’s latest, but I Continue reading

Friday, April 13, 2012 in Code & Development, Thoughts on the World, VMWare

Mac OSX–A Third-Class OS?

Does Apple’s opposition to virtualisation create a technical ghetto? Continue reading

Wednesday, February 29, 2012 in Code & Development, PCs/Laptops, Thoughts on the World, VMWare

I Thought They Were Supposed To Be Getting Smaller?

Musings on why my laptops are getting bigger and heavier, instead of smaller and lighter Continue reading

Monday, November 14, 2011 in Humour, PCs/Laptops, Thoughts on the World, VMWare

Not from My Cold, Dead Hand…

My regular correspondent Malachy Martin recently posed another of his “research” questions: What would work look like if you only had an iPad as your computing device? My first reactions focused on whether my iPad could replace my laptop. Then Continue reading

Tuesday, August 2, 2011 in iPad, PCs/Laptops, Thoughts on the World, VMWare

Tyrannies and Broken Business Processes

I’ve posted previously about the inadequacies of the iOS/iTunes architecture, and in particular the content management nightmare it creates, but I haven’t really reflected on the commercial model of the iTunes / App Store. I’m afraid I can hold back Continue reading

Saturday, March 19, 2011 in iPad, Thoughts on the World, VMWare

Virtual PC vs VMware Player – Further Thoughts

I’ve added a brief addendum to my piece on Virtual PC technologies. It turns out that VMware Player seems to be able to “fix” unreliable VMs. Microsoft’s lack of attention to compatibility has led me to a better product, and Continue reading

Thursday, February 4, 2010 in Thoughts on the World, VMWare

Windows Virtual PC – Breaking Compatibility

How Microsoft have badly broken compatibility (again!) with Virtual PC and Windows 7 Continue reading

Sunday, January 17, 2010 in Thoughts on the World, VMWare