Wednesday, December 16, 2009

Activate Motorola Droid / Milestone Multimedia Dock Mode with a magnet, Save £30

Some chap, not me, has figured out that the Motorola Multimedia Dock has a magnet in it which activates 'multimedia mode' on the Motorla Droid / Milestone Android devices, and guess what? it works!

Just put a magnet to the back of the device in the top left corner, like in the image below and it instantly says 'Multimedia Dock Connected', queue lots of cheap cardboard homebrew docs. You can even use your $$$$ phone as a digital picture frame.





Alternatively download DockRunner from the Android Market.

Monday, November 23, 2009

The Final Milestone?

From humble beginnings in a post on this blog in May the Battery Widget for Android has become a little more popular. The post from May shows it had 3061 installs and today I'm really rather chuffed to say it has just broken 250,000!!! In Android speak that's 'the final milestone'. The Android Market now lists Battery Widget as having '>250k' installs! Yay.

The install brackets are:
<50,
50 - 100
100 - 500
500 - 1,000
1,000 - 5,000
5,000 - 10,000
10,000 - 50,000
50,000 - 250,000
>250,000

You can get through the first 4 bands pretty quickly, but the last one has taken a while. Battery Widget is now high up in the Productivity Category and is receiving around 1,000 - 2,000 installs a day. Also with just under a 60% retention rate, it is still installed on around 150k devices.

The question that remains though, is whether or not 250k is actually the final milestone. Or is there a some secret next level, like >1,000,000 installs, accompanied by a letter from Andy Rubin maybe?

Friday, October 09, 2009

Buzz Deck reviewed on App Judgment

Being a fan of all things Revision 3, you can understand how shockingly happy I was when App Judgment reviewed Buzz Deck!



Now to work on those Cons... a new version is due today with custom web cards, and a faster UI!

Monday, September 21, 2009

Running rings around donut Part 2 - What does the end user get?

I've been running Android 1.6 (donut) on my handset for a week now, so here is a quick guide of what to expect, tied to a little expectation management.

Android Market Updates
The most obvious update is the much needed revamp of the Android Market. The new UI provides a far more compelling end user experience, now including application screenshots.


Good job, well done. Although I'd still love to see a recommendation engine included so you get a 'you may like' section. It is still quite easy to miss decent apps/games in the 'Just In' section and the Featured apps list is quite limited.

Quick Search Widget:
A great little addition to the default Android widgets. This little puppy lets you search contacts, applications, bookmarks and web information without actually launching the browser. It is location sensitive and I've used it a lot, +1 for productivity.






Battery Monitor:
So the bad news is that my battery life isn't any better, but on the plus side I can now tell where it is all going. The handy Battery Monitor is very quick to point out the Wireless LAN is a great big battery hog.



VPN Connectivity:
If your home or office has a VPN then this will be a very pleasant little suprise, built in VPN connectivity.


Toggle Switches Widget:
Another nice little add-on, makes simple tasks that little bit easier by giving you instant access to Wifi, Bluetooth, GPS, Sync and Brightness settings. Does a good job of making a lot of Market apps completely redundant.


Speech Synthesis:
So far only slightly interesting as all it can do is say its test phrase in multiple languages. Hopefully we'll see some apps using this soon.


General System Performance:
Always slightly subjective as every single machine on this rock we call Earth is faster after a wipe and clean operating system install. However I'd claim that it is still absolutely flying after a week of installing 50+ apps and using it more than a tortoise uses its shell.

Wednesday, September 16, 2009

Running rings around donut - Android 1.6 SDK Screen Sizes

Over the past couple of weeks Motorola, SonyEricsson, INQ, LG, GeekPhone ONE, Samsung, Archos and HTC have all make Android related announcements. For an Android fan like myself that is big. Now to top it all off the announcement of the Android 1.6 SDK makes it a pretty good week.

After a few hours hands on, here is what it means to us.

There are new screen sizes supported. In addtion to the regular 320x480px HVGA screen resolution there are now QVGA (240x320), WVGA800 (800x480) and WVGA854 (854x480). But what does that mean for applications? will developers have to update their apps to support the new sizes? Well I've tested all of our Android applications out and the news is good, here are the results:

News Buzz Widget Home Screen WVGA 480x856px:

News Buzz Widget Home Screen QVGA 240x320:


News Buzz Widget WVGA 480x856px:

News Buzz Widget QVGA 240x320px

Somehow Google/Android have managed to get the scaling algorithms to work like magic, they maintain aspect ratios where necessary and scale to fill as much of the screen as they can whenever possible. This knocks a big worry on the head for me, I was concerned about the fragmentation problems of different screen sizes. Of course there are still issues, but they are minimal and most importantly the apps are still perfectly useable and 100% functional.

Good job, well done.

Wednesday, June 24, 2009

How to Make an Android Home Screen Widget

Here's the presentation I gave on Android Home Screen Widgets at the last London Android User Group (Londroid) on 22nd June 2009.

Thursday, May 07, 2009

Android Widget Crazyness

Since my last post I've been Widget'ing away like a good dev, check the Mippin Blog for details of our 'Tech Buzz Widget'

I also wanted to launch a personal widget project as well, so I took a long hard think about what Widgets people really really need and came up with.... wait for it... yes you guessed it... a Battery Widget, doh! Well there wasn't one, so I thought I'd be first at least.

The first incarnation wasn't quite so pretty, but I've got it looking quite nice now. A little 24bit alpha blended glow around the widget helps it blend into any wallpaper. There is also a little charging indicator for the sake of completeness.

If you touch the widget it shows quick links to the Display, Wifi and GPS settings pages. Really this should be replaced with embedded toggles switches to turn GPS/Wifi/Bluetooth/Radio on and off as well as a brightness slider, hopefully I'll get time for that later.

Developing home screen widgets on Android is really enjoyable, so if you have any widget ideas, I may well take you up on them.

By the way, if you are wondering how strong the demand for Widgets on Andorid is right now, the Battery Widget hit 3000 downloads in the first 5 days.

Tuesday, April 21, 2009

Widgets on Android: Simple, powerful and beautifully formed

Today I have Google Joy and more specifically Android Joy. I was reading the Android Developers Blog and the latest article was on the topic of Widgets.

I reached the end of the article and set about creating my own Android home screen widget. It had to go off to Twitter, retrieve the latest status update for @flashy1980, a colleague and good friend, then display it on my home screen. In a period of time less than or equal to 20 minutes I was wondering around the office with a slightly inane grin on my face, showing off my first Android widget.

Some say I'm biased, and I am, I really am, but I love Android. I'm off to play some more with the Widgets API now. Source code for Google's example Widget that I based mine on is here

NB: you need version 1.5 of the Android SDK to create widgets and they only run on a device with a 1.5 firmware. I've installed the 5.0.2Hr3 firmware from the Sapphire-Port-Dream project. Many thanks to @Haykuro for all his firmware efforts.

Tuesday, April 14, 2009

The increasing complexity of mobile app stores, a developers view


Can manufacturers learn from the success of others, or do they always think they can do bigger and better? Apple innovated a beautifully simple end to end business model with a single piece of hardware running objective C apps. The genius of the iPhone app store is in its simplicity, 1 phone, 1 screen size, 1 feature set, 1 integrated way of purchasing and it was preinstalled on all devices from early on.

The second store to open up was the Android Market, it's based on the Apple model and is initially successful. It remains to be seen if this initially simple concept can stand up to the oncoming added complexity of new Android devices being launched with different hardware specs. Certainly Android developers will need to better consider screen resolution and whether a device has a 3D chip, a hardware keyboard, touchscreen or a trackball. It is all starting to get a little more complicated.

Then Blackberry joined the game. The Blackberry AppWorld is a trickier proposition for developers. There are 4 main different screen resolutions to worry about and the Storm of course is touchscreen while the other devices aren't, some have GPS some don't.

Nokia is now almost ready to go live with its offering. Looking at the Ovi store, it is a whole new level of complexity for the poor developer. For a start the uploads can be: Flash, Themes, Ringtones, WRT Widgets, Java apps or Symbian apps. Each of which work on some phones but not on others and for each type there are multiple screen resolutions, operating system varients, feature sets and signing requirements. On top of all of that the Ovi store isn't preinstalled on any devices yet, although the N97 is very likely to be the first.

From simple to complex in 4 steps. I hope no one else has an even more complicated model up their sleeves. What if Nokia had gone for an N97 only app store, pre-installed on all N97's from launch? A simple proposition that is easy to understand. Build up the base and then expand into a thriving environment on other devices. It remains to be seen if the Ovi store will attract the fanactical user base required to breathe life into it and motivate developers to get coding. Personally I think it will grow slowly and survive only due to being presintalled on a lot of high volume devices over the coming year, we shall see.

Monday, March 30, 2009

Android (G1) Market Model: Low-volume Low-cost?


I absolutely love developing for the Android platform, I've never felt this way about any other platform. But what if that just isn't enough; In a market where the 'Top 100 Most Popular Games' doesn't contain a single paid game, is there money to be made? Is the userbase sufficient and willing enough to support a developer? is the Market growing fast enough to contribute to ongoing revenues? Here are my frank and open findings based on 3 applications I've made available in the Market over the past 6 weeks:


Case 1 - Shoot the Ducks


Shoot the Ducks is a simple game that's quick to play and looks pretty good. First round is based on the classic 'Duck Hunt', then second round is target practise and then skeet shooting, etc... It took 12-24 hours to developer and I launched it into the Market at a discounted rate for the first 100 installs of £0.50, increasing to £0.79 after that.

Revenues after all fees
Day 1 - £32.94
Day 2 - £36.70
Day 3 - £28.65
Day 4 - £15.60
Day 5 - £6.05
...
Day 9 - £3.30
Day10 - £6.80
Total so far £144.99

Lesson 1
As expected there is an intial peak while the game is in the top 10 Most Recent games. What wasn't expected was an ongoing revenue stream of around £5.00 per day after the app had dropped down the charts. Slow and steady with Low-volume Low-cost. If this revenue keeps up as new Android devices are launched, takeup increases and paid Markets open in other countries, there is hope yet.

An optimistic model would show a developer with 10 games in the Market averaging £5 per day per app. Multiplying that up you have £50 per day, £1500 per month, £18250 per year. I appreciate that isn't up to the standards of some of the iPhone Appstore stories, but it is better than a kick in the nuts for a months work. Of course it still remains to be seen whether 'Shoot the Ducks' is still generating revenue outside of its first month.


Case 2 - Ultimate Stopwatch & Timer


This didn't take too long to build approx 8-12 hrs, but it was designed to be and is regarded as the best Stopwatch / Timer in the Market. I orginally launched it for £0.50. After 2 weeks there had been 12 installs and 8 uninstalls, uninstalling an Android Market application in the first 24 hours results in a full refund. So total revenue after fees was about £1.50.
Not entirly happy with this outcome I decided I may as well make the application free and see what happens. Well what happened next suprised me, the application had 1000+ installs a day for the next few days and is currently at 13031 installs of which 10623 are still installed.

Lesson 2
There were other, very plain stopwatchs in the Market. If there is an app in the store which provides similar functionality to yours for lower cost, then the current G1 userbase won't pay for a nicer UI. However there is a strong demand for free high quality applications, unsuprisingly. Also highlighted by the 37027 installs of another of my free apps, Newton's Cradle.


Case 3 - Latitude Enabler for Root


There is a long and drawn out story behind this application. Check some of my previous Latitiude posts for details. But to nutshell it, T-Mobile UK barred Google Latitude on the T-Mobile G1 in the UK. I discovered a way to reenable it, but the fix only worked if you had "rooted" your G1 (the G1 equivalent to jailbreaking an iPhone, and hilarious to anyone from Austrailia)

Lesson 3
It turns out that G1 owners are a bunch of hackers. There are a lot of 'rooted' G1 phones out there and these guys are more likely to be techies and will pay for useful apps like Wifi Sharing, tethering, VPNs, etc...

In conclusion...
The Android Market is turning around. Paid games are climbing up the charts and I reckon we'll see a paid game break into the top 100 Most Popular Games within the next month. G1 users were slightly spoiled by apps being releassed for free, as payments weren't available in the Market from launch. But users are quickly getting used to the fact that premium content comes at a premium price and are prepared to pay. Developers are settling on relatively low price points, although similar to those found on the iPhone, to try and drive their apps up the Most Popular listings, as that is where the holy grail of seeing 250,000+ installs resides. Top paid games are currently struggling to get 5,000 installs. I'm holding out a lot of hope for some key improvements being made to the Market over the coming months, not least of all a proper website for browsing the apps.

Until then I'll try to exploit the potential of the slow and steady low-volume low-cost model by creating and launching some more quality Android games.

Friday, March 20, 2009

Gadgetshow Flashmob


The Gadgetshow presenters have been testing their abilities to get flashmob's together using different tools. Jason was only allowed to use Twitter and Susie (subs'ed very ably by Gail Porter as Susie was ill, get well soon Susie) used Facebook.

On the day the twitter crowd won out by a large margin, I'm guessing around 150 in the twitter crowd compared to about 15 in the Facebook crowd.

A dance off ensued, all good fun, catch the show on Channel 5 on Monday 27th April at 8:00pm.

Monday, March 09, 2009

Re-enabling Latitude on your rooted UK T-Mobile G1

UPDATE: 10th March 2009 - I've released an application to do all this for you automatically now, it only works on ROOTED G1's and it is availabe in the Android Marketplace as 'Latitude Enabler for Root' and also on GoogleCode latitude_launcher.apk

--------------
Original Post:
--------------
This has all got out of hand now, I became so frustrated with the Latitude situation on my UK RC9 T-Mobile G1 that I resorted to underhand techniques to re enable latitude on it after it disappeared again.

Google Maps is checking for a value in the gservices table, it checks that "maps_enable_friend_finder" has a value of "1". If it is then it shows the Latitude options in the Maps menu.

I added this value into the table on my rooted RC9 G1 and Latitude reappeared. I'll knock up an App today or tomorrow which resets this value and launches Google Maps, so that latitude is always enabled. If you want to do it for yourself now and you're braver than some and happy with words like adb and sql then you need to:

1) Connect your Rooted G1 to your PC via USB and run 'adb shell' (or use the G1 Terminal App no the phone)
2) su
3) cd /data/data/com.android.providers.settings/databases
4) sqlite3 settings.db
5) .dump gservices (to see all your current settings and check if maps_enable_friend_finder already exists)
6) INSERT INTO "gservices" (name,value) VALUES('maps_enable_friend_finder','1');
7) .quit
8) exit

Now the Join Latitude button will be shown in Maps again, no need for a reboot.

If it doesn't appear make sure you have the values
<boolean name="FF_SHOWN" value="true" />
<boolean name="SHOW_MY_FRIENDS" value="true" />

in the file /data/data/com.google.android.apps.maps/shared_prefs/com.google.android.maps.MapsActivity.xml

hope it works and helps some of you out there. I'm off to write an app to do this automatically now.

Friday, March 06, 2009

Google Latitude on T-Mobile UK G1 RC9 my final solution

7th March 2009 - UPDATE: After a couple of days and reboots Latitude has managed to disable itself again on my G1. Now looking for ways to either reset Google Maps and Latitude to their original state or find a different fix.....

OK I was about to post a blog post (now attached to the end of this one as a 'what not to do'), thinking that all my G1 Latitude problems were solved, but I checked and Latitude had returned to its disabled state. Instead I've found a much better solution here. This has worked for me and I'm now running a version of RC9 which has Latitude enabled. You do need to get root access to your device before you can do this, so the steps are:

1) follow these instructions to get root access on your G1
2) follow this guide to install this updated JF RC9 firmware without a sim in the phone.

and Robert's your Father's brother, you'll end up with this:



And for posterity here is what NOT to do:
Some people across the digital sphere have been claiming that Latitude has been working for them on the UK G1, personally I still have nada. So I've decided to take action and hook my G1 up with JesusFreke's UK RC9 firmware. This is a hacked firmware that first requires you to gain root access on your G1. Also there were reports of Latitude not working on that either, so I went to the US RC33 firmware first, oh and to get root access you first have to downgrade your phone to RC7. So 3 firmwares later I finally have Latitude running on a UK G1 with RC9, was it worth it? of course not, but if you fancy trying it, it takes about an hour and of course I take no responsibility for borked phones:

1) follow these instructions to get root access on your G1
2) Install JF RC33 firmware
3) You should have a UK device running US RC33 firmware now, check that latitude is running. Now you could choose to leave your G1 in this state, personally I didn't like the US formatting of the phone numbers, too many hyphens, and my phone became unstable when opening and closing the keyboard. So I decided to continue to the UK firmware.
4) Download the JF RC9 firmware and rename it to update.zip and place it in the root of your SD Card.
5) Download JFUpdater and install it on your G1. Easiest way is to go to http://code.google.com/p/jfupdater/downloads/list on your G1.
6) Run JFUpdater and choose to install the update.zip that it finds on your SD card.

These are the steps I followed and as I say I now have a UK G1 running RC9 firmware with Latitude and the latest marketplace running.

Note: after a couple of reboots Latitude has disappeared, not happy. Question is do I go back to RC33 or not.

Tuesday, March 03, 2009

T-Mobile UK G1 updated to Firmware RC9 ( no latitude or voice search? )

The news of the latest UK firmware for the T-Mobile G1 has been spreading across the internet this morning. So I put my brave hat on, downloaded the firmware file from here and got on with the update.

A few different sites have published the guide to manually upgrading your G1, it goes like this:

  1. Grab the RC9 update from here

  2. Rename it to update.zip, and place it in the root of your Micro SD

  3. Turn off your G1, then turn it back on by holding the Home+End (House key + On key) keys until you see an icon popup after the T-Mobile G1 logo.

  4. From the icon screen, open the keyboard and hit Alt+L. This will display the log saying what is happening

  5. Now press Alt+S to begin the update. Remember, the update needs to be in the root of the Micro SD card and needs to be named update.zip.

  6. Once it finishes, just follow the onscreen instructions and press Home+Back to finish.

  7. The G1 will reboot a few times, showing various different icons, flashing different parts of the firmware. Be patient


If all went well, you should now be running the latest update, RC9. To make sure all your hard work wasn’t for nothing, hit Menu > Settings > About Phone > scroll to Build Number. You should see RC9 at the bottom.

So what do I have that is new? Firstly and most disappointingly I can't seem to get Google Latitude working, Google Maps launches but there are no obvious latitude options :-( If I go in the browser to google.com/latitude it says I have it and offers to launch it, but then Google Maps just launches. I'll double check this later and see if I can figure it out.

Secondly I now have the updated Marketplace, it tells me when updates for my apps are available.
Thirdly there is a new icon called 'Sim Toolkit' offers services from the operator like Horoscopes and football scores, I can't see that I'll ever use this.


Fingers crossed I can get latitude working as that was my main reason for the upgrade, there is some hope as Google thinks I have it installed. If I do I'll update this post.

Thursday, February 12, 2009

Newton's Cradle goes for a drive

This is great, one minute I'm knocking up fun apps up for the G1 / Android app store and then out of the blue a nice guy from the USA (hi Nat B) mails me to say he loves it and drives his delivery route with it running on his dash. With the addition of a little clock at the bottom of the screen for recording delivery times, he is a happy customer ;-)

Check out his vid:

Friday, January 16, 2009

More Android? is it even possible



Apart from a most interesting trip to the ICA London last night for the Every Single One Of Us powwow I've spent a lot of the last week playing with balls!

I thought I'd set myself a little Christmas project this year; to create a Newton's Cradle app for the G1. I've had some maths lessons in my past so I figured it couldn't be that hard. I kicked off with the Lunar Lander demo to get a nicely set up canvas with physics run thread and worked from there. Unfortunately either my maths isn't as good as I suspected, or I never gave Newton all the credit he was due. Anyway, a few Sin, Cos, Tan's, circles and triangles later we have the Newton's Cradle app for the G1 in the Android Marketplace.

I've decided not to put code snippets in this time as again the entire source code is available here.

Monday, January 12, 2009

Playing with the Android source: Bookmarker



Since Christmas I've been wanting to achieve 2 small goals (1) get to grips with the Android OS Source code and (2) make another Android application.

As is usual with these things I've started but not finished 6 android apps, various things from a Newtons Cradle model to a Comic strip reader, the former sent me right back to maths class. The application that I decided to complete first was a tiny tool which allows you to re-order the bookmarks in an Android devices web browser.

So how do you go about replicating the bookmarks page of the web browser on Android? well it is pretty simple - you go to the Android source code at http://android.git.kernel.org/ and scroll down to platform/packages/apps/Browser.git where you are free to browse the source of the various branches of the android web browser from Release 1.0 upto and including the cupcake branch. Dig a little deeper and you end up at BrowserBookmarksPage.java. Now you can create a new project in eclispe download the appropriate source files (BrowserBookmarksAdapter.java is the key to it all) and marvel at how powerful open source operating systems really are.

Add a couple of buttons over the top of the ListView to enable moving, deleting and launching of the bookmarks and really it is a suprisingly quick and easy app to knock up. Although admittedly a little more attention could make it a lot prettier. You also need 2 permissions in the manifest file to get read/write access to the bookmarks
<uses-permission name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"></uses-permission>
<uses-permission name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"></uses-permission>

This time I have released the project source code on Google Code, the project is called AndroidBookmarker at http://androidbookmarker.googlecode.com/

On a side note if you have any experience modelling balls on peices of string then I'd like to talk to you, this Newtons Cradle app is doing my head in, angular velocities, gravity, momentum, agghhhhhh.