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

Scarily Good

My new phone (I upgraded to a Galaxy Note 2 as I was running up against memory limitations on the Note 1) has a potentially useful but also quite scary feature. There’s a service running on it called “Google Now”. Continue reading

Friday, January 31, 2014 in Thoughts on the World

Getting Ahead of the Curve – Update

When I bought the Panasonic GX7 on the day of release I realised there might be a short delay before it was fully supported by third party software. A few weeks on and there was support from Adobe and some Continue reading

Tuesday, December 24, 2013 in Photography, Thoughts on the World

Morocco – Did I Need Two Camera Systems?

Here’s the list of the main kit I took to Morocco: Canon 7D body Canon 550D body Canon lenses: 15-85mm,  17-85mm, 70-300mm, 10-22mm (The 550D and 17-85 were basically “spares”, although both got a small amount of use.) Panasonic GX7 Continue reading

Thursday, December 19, 2013 in Micro Four Thirds, Morocco Travel Blog, Photography, Travel

Camera History

While my memory works tolerably well, and as I suspect I’m about to enter one of my periodic phases of camera replacement, I thought it would be interesting to write up a list of the cameras I have owned and Continue reading

Tuesday, December 3, 2013 in Micro Four Thirds, Photography

Morocco – What Worked and What Didn’t

As a tail piece to my Morocco blog, and as a service to anyone else considering a photo trip there, here are a few notes on what worked, what didn’t, and how you might increase your own chance of a Continue reading

Sunday, December 1, 2013 in Micro Four Thirds, Morocco Travel Blog, Photography, Thoughts on the World, Travel

First Attempt at a Star Trail

I’ve tried processing my star trail shots from Morocco, and the results are better than I expected. The above is from my first night in the Erg Chebbi. With a full moon the foreground is perhaps a bit overexposed, but Continue reading

Wednesday, November 27, 2013 in Morocco Travel Blog, Photography, Travel

Back to Marrakech

The final day of the trip was mainly a long, hot drive over the two mountain ranges between N’Kob and Marrakech. Unfortunately I was on the left side of the minibus, and the sun carefully matched the gentle rotation of Continue reading

Thursday, November 21, 2013 in Morocco Travel Blog, Travel

Starting Back

After a very cold start (see previous post) we had an early start and trekked the short distance across the remainder of the Erg Chebbi. At the edge we said goodbye to the camels and transferred to a couple of Continue reading

Shooting Camels

It may be the middle (OK, edge) of the Sahara, but it’s bloody freezing. I’m currently lying in all my clothes, in my sleeping bag, under a heavy Berber blanket, with my cheche on my head, but it’s so cold Continue reading

Tuesday, November 19, 2013 in Morocco Travel Blog, Travel

Into the a Sahara – Sort Of…

The “entertainment” last night is best glossed over – lots of drumming but no real way to distinguish any part from any other – a 10s repeating loop would be much the same. We woke up to quite a strong Continue reading

Getting Covered

We had a dawn start to photograph the town of Tineghir from a panoramic overlook. It’s suddenly very cold – not much above freezing first thing. The angle of the light was again a challenge, but I got some good Continue reading

Saturday, November 16, 2013 in Morocco Travel Blog, Travel