Wednesday, June 05, 2013

Digital data transmission tests on Radio Australia


Please be advised of the second Radio Australia HF test using the digital text modes MFSK and FLARQ.  Freeware fldigi will handle these automatically - see http://voaradiogram.net/   and http://www.w1hkj.com/

The text will contain text and images from Radio Australia's web site as well as contact details for sending responses. Note 2150 UT Sunday is Monday morning 0750 EST in Melbourne etc.

All dates/times are in UT, all frequencies in kHz
Saturday/Sunday 8/9 June 2013

0850-0857 UT on

 7410 (PNG & south-west Pacific)


11945 (south Pacific, NZ, central America, Europe)

1230-1237 UT on

 6080 (PNG, west Pacific, Philippines, Japan),  new freq for MFSK

 9580 (central Pacific, NAM)

12065 (central Pacific, NAM)

2150-2157 UT on

11695 (south-east Asia, Europe)  new freq for MFSK

21740  (central Pacific, NAm)   new freq for MFSK

with 40s of RA tuning signal (Waltzing Matilda) at the start of each session.

Extremely poor reception here this morning of 11695. I could barely detect that there was a station there and only a few words were decoded.



Update

The tests have been a success and reports are coming in from around the globe. The Voice of America's Dr Kim Elliot, reports on his reception in Northern Virginia where despite poor audio reception, the digital text message was perfect.

Monday, June 03, 2013

Knobless Wonder 40m SSB QRP circuit from VK3YE

Peter, VK3YE, recently showed me a new home brew fixed frequency single sideband rig he dubbed the "knobless wonder". I think this is a great group project where the fact that it's fixed frequency is an advantage in encouraging contacts between builders.

He's given permission for the circuit to be published here (click to enlarge).



I highly recommend Peter's walkthrough video complete with a series of contacts on the actual rig.




Thanks Peter!

Sunday, June 02, 2013

Tune in to "Download this show" tonight

If you are near a radio this evening, tune in to ABC Radio National where I join host Marc Fennel and co-guest Claire Porter (from news.com.au) to chat about human technology matches and mis-matches.

Can't tune in? guess what, you can download this show or subscribe to the podcast by searching for it in your podcast app or iTunes.

Always a pleasure to join Marc and other guests on my beloved Radio National.

Tablet friendly M65 Jacket - as seen on TV

You don't get much fashion advice on this blog, until now. If the M65 field jacket seems familiar, it's because Robert De Niro wore one in Taxi Driver, Al Pacino wore one in Serpico, Sylvester Stallone wore one in multiple movies and Arnold Schwarzenegger wore a decorated one in Terminator. And that's just the start, check Wikipedia for about 40 references.

Introduced into the US military in 1965 to replace the M51 which replaced the M43 (you can figure the years).

The exterior is poly cotton mix, there is a 100% cotton lining and a further, buttoned on detachable inner warm layer. The instructions warn not to dry it on a stove, so I guess that was a problem.

What's amazing is that in 1965 they correctly predicted the dimensions of the now popular seven inch tablets and a Nexus 7 fits nicely in the side pockets. Great forethought there. Available at army disposals stores globally.

Saturday, June 01, 2013

First test with cheap $5 AD9850 DDS board and Arduino

News of the availability of very low cost AD9850 DDS boards from China via eBay has swept the home brew radio community in recent weeks. These chips alone were quite expensive and the surface mount soldering was a challenge.

Now the chip, mounted on a nice carrier board, with 125MHz crystal, is available for a very reasonable price. Here's mine sweeping a few frequencies near 10MHz:


The Arduino code I used is from NR80 which in turn is based on code from Andrew Smallbone.

I simply powered mine from the 5V on the Arduino and it seems to work just fine.

Our plan is to make a little crystal replacement board for QRP purposes with a multi-position switch to select the frequency.

Purchased a blank Arduino shield board and have now mounted the DDS board nicely for future software development.


Sunday, May 26, 2013

Melbourne meetup with homebrew legend VK3YE

While in Melbourne for the fabulous "One More Thing" conference this weekend I had the pleasure of breakfast with ham radio home brew legend Peter Parker, VK3YE.

Gracious with his time, Peter brought along a number of recent projects including the famous "Beach 40" and a new fixed frequency SSB transceiver he dubbed the "knobless wonder" that has been recently completed.

Peter works in the public transport industry, (may I say how impressed I am with the Melbourne MyKi system), his knowledge of the network is impressive.

We talked of many things including cross-overs between amateur radio and public transport including Tony Sanderson, VK3AML, and the videos made by Dave VK3ASE of the Glenhuntly station crossing.

Peter is a self-taught radio electronics engineer who is performing a great service to all would-be home brew designers.

Here's some previews of the "Knobless Wonder":


Nice crystal filter array there.


Here's the popular Beach 40:


Thanks Peter for your time and generousity. Keep up the great work!

Update

Thanks to Bill of Soldersmoke for the mention.

Good news: Peter has updated the Knobless Wonder circuit and published a video here:



The circuit is here.

Saturday, May 25, 2013

A wonderful One more thing conference


Really enjoyed "One more thing" again this year in Melbourne and at the pub afterwards ran in to Luke Anear who pulled out a Google Glass device much to my amazement.

I put on the Google Glass headset and found the display incredibly clear. Despite the noisy pub environment, even with a band playing the speech recognition worked very well.

After returning to Sydney I introduced Luke to Marc Fennel who followed up with a great video story about Glass on SBS2's The Feed.

Wednesday, May 22, 2013

Looking forward to One More Thing...

On Friday I'm off to the "one more thing" iOS developer conference in Melbourne. Last year was great. At the time I was only a part time iOS developer, now it's 24/7.

Developing apps for smartphones, more than any other software I've worked on, is a team effort where programmers work closely with designers. I love the way we iterate and what is only learned by playing with the app as it comes together.

The phrase "one more thing" references something that Steve Jobs used to do sometimes at, what seemed like, the end of a keynote speech where he would reveal something amazing. Past "things" have been the MacBook Air, Apple TV, Powermac and Airport.

WWDC is a few weeks away and there is much discussion in my office about what Apple might announce to fill the product void that has opened up since the iPad Mini last year. We can be confident that pretty much all laptops will be refreshed with the new Intel Haswell chipsets, we can hope that a new MacPro line will begin and that HiDPI (Retina) screens will come to the desktop.

I think there are some important technology transitions taking place that Apple has chosen to wait for rather than bring out products that will be vastly superseded in a few months: Thunderbolt - which is jumping in bandwidth to 20Gbps, presumably enough for 4K video, plus the ability to put cards - such as video cards, in the monitor; Intel's new generation of CPUs that reportedly will use 1/5th of the power of the previous generation in laptops, and large high resolution displays which will have taken time to come down in price.

On the software side, I can't wait to see what's in MacOS X 10.9, Xcode, and of course iOS 7 under new management.

While it might be nostalgic to hear Tim Cook say "one more thing", perhaps it best left to a bunch of us in Melbourne this Friday.

Tuesday, May 21, 2013

MacOS X Calendar knows time zones!

Just discovered a great feature of Apple's Calendar application - you can add an appointment with a time in another time zone and it converts to local for you. Create a quick event with a time zone:



And it gets added to your calendar in local time:


I can't tell you how many times I've messed around figuring out when a keynote will be in local time.

Apple software often looks simple, but is really deep.

Saturday, May 18, 2013

Radio Australia Digital Test

In this age of information over the internet, the role of short wave broadcasting is being questioned. We thought that the internet would kill off Amateur Radio but instead low cost computers have led to an explosion of interest in digital modes over HF.

Countries that wish to prevent their citizens from reading news from external points of view are able to easily filter or even turn off the internet and while they can jam short wave radio, it turns out that digital modes can get through when voice would not.

VOA has been doing tests in recent months and tonight Radio Australia did their own test on 7.410 MHz at 6:30pm Australian Eastern Time and here in Sydney I received it perfectly.


I decoded with fldigi:


As you can see, decode is perfect.




And here's reception from Colombia:



Here's my reception on Sunday night:



I remember as a teenager decoding RTTY news broadcasts which used to be a regular feature of shortwave, perhaps it's time for a new era of digital news over short wave taking advantage of robust new modes and widely available decoding software?

Information about similar tests in the future can be found via the VOA Radiogram blog.

Monday, May 13, 2013

Beaglebone black first impressions on MacOS

I'm a bit of a sucker for a cheap unix computer. In recent months I've been playing with Raspberry Pi devices but ran in to problems with audio over the USB. When the $60 Beaglebone black went on sale, I couldn't resist.


This board, which is about the size of an Altoids tin, features:

  • 1GHz ARM Cortex-A8 processor
  • uHDMI video socket
  • uSD card socket
  • 2GB on-board storage all ready to boot
  • 5V in socket
  • 2 USB sockets
  • Ethernet socket

To get started, I've done the following:

  • Plug the board in to the USB port on my Mac using the supplied cable (no other power is needed for the board)
  • A USB storage device mounts and all the documentation and drivers are available. Open START.htm to read the documentation.
  • From the Drivers folder, there are two drivers, one for serial over USB and the other for a network connection over USB. I already have the serial FTDI driver so I installed the RNDIS driver (which seems to be an Android open source thing).
  • Unmounted the BEAGLEBONE disk, unplugged it from USB.
  • Re-plugged the USB and waited for the drive to mount.
  • At this point I could ping 192.168.7.2 and load http://192.168.7.2
  • In terminal ssh root@192.168.7.2 (hit return for password)
  • Plugged the board into a hub on my network with an ethernet cable
  • ifconfig shows that the board now has an IP address and can reach the internet
  • opkg update
  • opkg upgrade # this runs for some time (I left it over night)
It's marvellous that the board has enough storage on-board to boot up linux and there is a socket for extra storage. Angstrom linux is a mystery to me but I'm going to give it a go and maybe switch to something more familiar to me later if I hit a wall.

Later...

Hmm, I left the opkg upgrade running over night but in the morning I notice that it didn't complete correctly - looks like it lost network connection.


 * opkg_install_pkg: Failed to download perl-module-unicode-collate-locale-da. Perhaps you need to run 'opkg update'?
 * pkg_run_script: package "bonescript" postinst script returned status 1.
 * opkg_configure: bonescript.postinst returned 1.
root@beaglebone:~# reboot


It did not reboot. I've tried with the ethernet cable disconnected (a user reported this as a possible issue). I have to go to the office so will come back to this and report when I figure out how to re-flash.

Today, I picked up a 4GB uSD card and followed the instructions here to re-flash the built-in on-board flash and all is well.

MacOS

The provided instructions are rather focussed on Windows for imaging a uSD card for re-flashing but I was able to do it on MacOS as follows:

Use 'diskutil list' before and after inserting the card to figure out which /dev/diskX it is.


$ diskutil unmountDisk /dev/disk2
Unmount of all volumes on disk2 was successful
$ sudo dd if=BBB-eMMC-flasher-2013.05.08.img of=/dev/disk2
Password:
7143424+0 records in
7143424+0 records out
3657433088 bytes transferred in 12416.160438 secs (294570 bytes/sec)


It's rather slow, this took 3.5 hours.

I like the way the default linux registers the beaglebone on mDNS (bonjour) so I can find it on the network like this:

ssh root@beaglebone.local

Incidentally, these things really do fit in a lolly tin, here's mine in a "Fisherman's Friend" tin along side a Raspberry Pi.


Resources

There is a big list of projects.  Angstrom Linux has a marvellous list of pre-built packages. I notice that gnu-radio is there...

Sunday, May 05, 2013

PA0RDT Mini-Whip E-Field antenna

A recent presentation at the WIANSW Home Brew group about receiving on the 630m band mentioned that a very small E-Field antenna works almost as well as a full size antenna at these very low frequencies.

I wrote off to Roelof Bakker and ordered his pre-built "Mini Whip" antenna (plus another for local ham James, VK2JN). The circuit is very simple and Roelof has published it but I decided to go with his selected parts and weather proof construction on this occasion.

A few weeks later and the antennas arrived. Construction of the external probe part and also the power injection box are both very solid. BNC connectors are used everywhere.

The antenna came with a "9V" out 230V plug pack with european round prongs.

This is an active antenna with a small area of copper for receiving that should be mounted a bit above roof line on an insulating pole. Power is sent up the co-ax and is injected with a little box in the shack.

At first I had trouble - it turned out that there is water in my co-ax and the 15V inserted in the shack was just 3V at the antenna! (Amazingly I've been having WSPR contacts on 20m for months with this arrangement).

I find that the PA0RDT Mini Whip works best at 40m and lower frequencies. It's not quite as good as a full size dipole but has the benefit of being broad band. Here's a video of the parts and a bit of local reception on 40m.


If you don't have room for a full size antenna and are interested in lower bands I can recommend one of these active antennas.

Here's how I receive Ross, VK1UN who is about 750km away on 80m WSPR:


Given the tiny size of this antenna, it's amazing to receive anything at all on 80m in a suburban house.

Saturday, May 04, 2013

Wearable computers for health

Inspired by colleague Jason Crane, I've started wearing a little clip-on bluetooth connected dongle from Fitbit.

The device itself is quite small and I barely notice it clipped to my shirt - how long until it goes through the washing machine?

It records how many steps I walk each day plus how many floors up climbed. If you wear it at night (they have a wrist strap that makes it comfortable) it records how "efficiently" I sleep.

The device stores data until synced over bluetooth 4 (very low power) using an app - I'm using the iPhone app which is good but crashes rather a lot at the time of writing.

The app uploads the recorded activity to a web site where it can be graphed in even more ways than in the iPhone app, plus you can friend people and enter in to a bit of friendly competition.

The scary thing is how much of my day is spent totally idle sitting in a chair staring at a computer screen.

I am over weight although thankfully not "obese" at this stage. Wearing the tracker does motivate me to climb the stairs where possible and walk to the shops on the weekends.

Bluetooth 4 is a good technology. The device lasts all week even though it's listening for a connection from the phone app at all times.

This week I purchased the Fitbit scales. They connect to the home Wifi network and by simply standing on them it measures my weight and uploads it to the site. The most impressive bit (for me) was how it was configured and given the details of my Wifi network by running an app on my computer. I'm not quite sure how this was achieved as clearly scales don't have much of an input device.

Of course Fitbit isn't the only game in town, there's Nike, Jawbone, Basis, Striiv, Larklife and many others.

All this current interest in wearable computing, like Google Glass and the rumoured Apple watch, are good things if they help us to avoid turning into the blobs like in the Pixar Wall-E movie. Computers have freed us from physical activity, now hopefully they can help us stay active enough to live.

Thursday, April 25, 2013

WSPR Watch for iPhone updated

I'm pleased to announce that a new version of the iPhone App "WSPR Watch" is now available in the App store.

New features are:

  • Sort spots by Time, distance, SNR and Km/W
  • Show only recent spots from 2 hours, 1 hour, 30 mins or 15 mins
  • 600m band
Plus there's some cosmetic and operational improvements. WSPR Watch is free and pulls its data from the old database page of WSPRnet.org (thanks to those folks!).

Thanks to Will and Ross for suggestions and testing.


Sunday, April 21, 2013

iOS seems to download files over Wifi 3.5x slower than Android

I hope I'm mistaken about this but my experiments seem to suggest that iOS downloads large files significantly slower than an Android device on the same Wifi network.

For the test I download a 70MB test jpeg file in the Chrome browser on both an iPad Mini running 6.1.3 and a Nexus 7 running 4.2.2. The Wifi network is an Apple Airport Express running 7.6.3.


Android downloads the file in 91 seconds,  iOS takes 314 seconds.

I forgot to show it in this video, but the Android version is really there at full resolution if you tap on it.

I've repeated this test using Safari on iOS and it's the same so I think it's something to do with Wifi or the TCP stack.

Has anyone else noticed this?

Thursday, April 11, 2013

Fibre to the premises or to the node?

The complex and expensive national infrastructure project to create a National Broadband Network in Australia is underway. Not surprisingly it is taking longer and costing more than initially hoped and now the opposition is proposing to cut costs by cutting an important corner.

Rather than doing the hard part, taking optical fibre to each home, they propose to run fibre to nodes and re-use existing copper to get to houses. This approach will deliver an improved internet at a lower cost but both only in the short term.

To me, it's like building a highway system with dirt road off-ramps.

Looking back at the history of internet speeds it's clear that speeds grow logarithmically and there is not sign that this will slow or stop. It's inevitable that the last mile of copper will be a choke point and a future government will have to come back and finish the job.

ABC Radio National Breakfast aired interviews with me and finance correspondent Sheryle Bagwell where we looked, in turn, at the technical and financial analysis of the alternate plans.

As I said in the interview, this is not really about politics, it's about the relentless march of technology.

Sunday, March 31, 2013

630m operation and Class E at Home Brew Group

Two excellent talks at the ARNSW Home Brew Group meeting today. The main talk was by Nick, VK2DX, who talked about getting on the 630 meter band (472-479kHz).


Nick talked about his long history of listening to interesting things he's seen on the waterfall including over the horizon radar and non directional beacons. Getting on air with such a low frequency is a challenge anywhere but particularly in a dense metropolitan area.

The challenge is the antenna and matching to it. Ironically, while the best antenna is something huge like a beverage antenna, the second best is a tiny E-Field probe like the PA0RDT mini whips.

Nick uses a vertical antenna that is resonant on 80m but with the addition of a huge 600uH loading coil (60 turns on a bucket), a home built variometer and an impudence matching transformer he's getting to QLD, SA and NZ using the WSPR mode.

The supporting talk was my regular Mike, VK2BMR who talked about his experiments making a tesla generator operating in class E.


Mike is getting great efficiency, which is the great benefit of Class E, and his biggest challenge seems to have been to build attenuators and dummy loads that can handle the power he's generating. I was hoping for a demonstration with a bit of indoor lightning but maybe next time.

As always, thanks to the organisers for another great day at Dural.

Saturday, March 30, 2013

Raspberri Pi as a WSPR beacon

I've been trying out the threeme3/WsprryPi source that cleverly turns a Raspberry Pi into a little WSPR beacon. It really works! Here's my in-house big power transmitting station:


Here's the command line I used to transmit, pause twice, and transmit:


So, note that the arguments to ./wspr are call locator dBm freq freq freq...

To pause you put a zero for a frequency. And here's how it looks on a local WSPR receiver:


While there is some spurious signals there, it's basically quite stable and on time (that last one ended early because I killed it).

Mine was 1.4KHz below frequency and to get it close to 14,097100 (mid wspr band) I had to tell it to transmit on 14,095700.

Later when band conditions improve I'll connect it to an antenna and see how we go.

Friday, March 29, 2013

Converted to Cocoapods

Went to an excellent Sydney CocoaHeads meeting last week where Mark Aufflick explained and demonstrated CocoaPods. I have now "seen the light" and am using them extensively.

Years ago, I used Perl as my scripting language of choice, the language was similar enough to C, had regular expressions built right in and didn't need a compile tool chain to run. The greatest thing about Perl wasn't the language but the amazing library of modules people had written to do just about anything, this library, called CPAN could be searched and installed from the command line.

CPAN has 119,767 modules, which is overwhelming but means that anything you need to do has probably been done and packaged up pretty well.

When I "saw the light" and moved to Python (thanks Alastair!), it eventually got a similar system called PyPi with just 29,430 packages. Then again, python has batteries included so there's a lot of stuff built right in.

CocoaPods is built on top of Git. There is a GitHub repository of specs that tell the tool where to get the files for each library. There are 1,277 pods so far. I won't reproduce the getting started guide here, but suffice to say, it's simple. You add a Podfile to your project directory and it brings in the source and adds it to your xcode project. Here's a Podfile for one of my projects:


platform :ios
pod 'MBProgressHUD', '~>0.6'
pod 'Facebook-iOS-SDK', '~>3.2'
pod 'FlurrySDK', '~>4.1'


The first thing I've noticed is that many of my projects had old versions of the Facebook, and Flurry SDKs and cocoaPods quickly fixed that.

I was worried about ending up with projects with external dependencies being left in our source code repository, but the solution to that is to add your Pods directory so the last source is always available even if the pod goes away in the future.

Sunday, March 24, 2013

iOS face detection

While playing around drawing text over images that ended up looking bad because the faces would be obscured, I had the idea of trying to find faces and then avoid them.

You can see the end result on the right. The software finds faces in the image and gives you a box that contains the features. I make a green box that encloses all of the faces. Finally I find the largest area between the edge of the enclosing box and the edge of the image and use that to place the text.

The code on iOS is incredibly simple, (although being cocoa the words get rather long).


The resulting array of features objects have a .bounds CGRect that is the location of the face.

NSDictionary *detectorOptions = [[NSDictionary alloc] initWithObjectsAndKeys:CIDetectorAccuracyLow, CIDetectorAccuracy, nil];

CIDetector *faceDetector = [CIDetector detectorOfType:CIDetectorTypeFace context:nil options:detectorOptions];

CIImage *ciImage = [[CIImage alloc] initWithImage:image];
NSDictionary *imageOptions = @{CIDetectorImageOrientation: @(1),
                                   CIDetectorAccuracyHigh: @(1)};
    
NSArray *features = [faceDetector featuresInImage:ciImage options:imageOptions];

The face detector needs a full face, it doesn't recognise heads turned to the side so that one eye is gone but interestingly it does detect a few cartoon characters.


It's very fast and can even be passably used on video - I guess the code is in there for the face detection in the camera. CIDetector has only one concrete sub-class but I wonder how hard it would be to implement detectors for other things?

Saturday, March 23, 2013

On News24 this morning

I was asked to comment on the inquiry into IT pricing which is under way in Australia at the moment on ABC News24 this morning.


Being a fairly experienced radio pundit, I've developed some habits that need to be avoided when on screen. (Like reading my notes and slouching while talking). ABC News24 is an impressive setup with a surprisingly small number of people producing a 24 hour news service.


The studio has remote controlled cameras "robot cameras" they call them. Everyone is very professional and nice. I brought my daughter along and she took the photo above from the control room. She had a great time and reflected on how a regular viewer of TV doesn't really understand what goes in to that smooth presentation we're used to.

My actual job is iOS programming but hopefully I do a passable job at technology analysis, including on TV.

Wednesday, March 20, 2013

Samsung Chromebook Australia review

The long-awaited ARM based Samsung Chromebook finally appeared in local stores yesterday. I rushed to hand over $346 to try one out.


It's hard not to compare this device with an 11" MacBook Air, but that's unfair as it's a third of the price. For this money, it is excellent value. The keyboard is full size, rather Mac like (see there I go). The screen is the same resolution as an 11" Air but not quite as bright.


The keyboard has a huge "alt" key oddly and caps lock is a search button - rather like the Windows key on a linux box. Happily the track pad supports two-finger scrolling and even mac natural mode. (They call it "Australian" scrolling for some reason).

Boot and shut down is very fast so I tend to turn it off rather than sleeping it. They say the battery life is 6.5 hours but mine doesn't quite indicate that much at this stage - perhaps it's a calibration issue. (Update: now it says 7.5 hours)


Speaking of power, one hardware criticism I have is that the DC charge plug is really thin and seems like it might break if pulled the wrong way. (No Magsafe here).


I have read, but not confirmed, that it takes 12V which means this might be a good laptop for use on a 12V supply like in my solar powered shack.

Being ARM processor based and using a 16GB SSD, this device has no moving parts such as fan or disk. You can plug in an SD card, but it's not designed to be left in and sticks out.


I tend to live in Google's cloud world, being a GMail and Docs user so this works well for me but I do miss a few apps starting with DropBox and Skype. This is a great device for sharing on the living room couch where you want a keyboard, perhaps for doing some writing or replying to email. I imagine they might will be attractive to business or education where they've gone to Google Apps.

It can work off line after initial set up and syncing of recent documents in Google Drive.

The only problem I've had so far is with Wifi - it works brilliantly on my home WPA2 network but I cannot get it to connect to the office PEAP MSCHAPv2 authentication network and I did have quite a bit of difficulty getting it to see my iPhone personal hotspot on the bus. It seems I'm not alone with the enterprise connection problems.

JB HiFi and Harvey Norman are stocking these but only the largest stores so far.

Hacking update

I've now enabled developer mode, which gives you another virtual console with access to a root shell. (There is a built in console normally accessible with ctrl-alt-T but it's very limited and just enough to look at top and ssh out).

I did install Ubuntu on an 8GB SD card which turned out to be extremely slow, probably because of my card, but also the track pad is very annoying to use so I've given up on that approach for now.

Tuesday, March 19, 2013

Home Brew Group net - with a special guest

It was the ARNSW Home Brew Group radio net tonight and it was a great pleasure to hear Peter, VK3YE, on 7.159MHz 5 and 7 running a home brew SSB rig about the size of a house brick.

In the end John VK2ASU faded out for me although, as is the way with HF sometimes, Peter who is some 800Km away was still quite readable.

I thanked Peter for all his contributions to AR in recent times and complimented him on his very readable audio here in Sydney even though he's only running 3W.

Saturday, March 16, 2013

Should app developers target Android first?


As a mobile app developer specialising in iOS I get a lot of comments from Android users to the effect that as there are now more android devices in the market than iOS devices, apps should be made for Android first or at least made for both at once.

There is no doubt that there are now more Android devices in the market. But does that mean that the extra effort (yes really) is worth it in terms of the usage an app would get?

How big is the "Android" target market?

Android is a fragmented market. Not only are there many screen and resolution sizes, there are many versions and not all are easy to develop for. In fact it only makes sense to develop for version 4.1 and later if you need to use modern features. This chart from Google illustrates that the actual interesting Android market is quite small. (These are from March 2013).




Not only are there many different screen sizes, each manufacturer supports different hardware features, and most importantly for media app makers, different streaming capabilities, so we need to choose the most popular devices to target. OpenSignal published a nice breakdown last year:


Happily, one is very dominant, the big green block is is the Samsung Galaxy SII followed by another Samsung and the HTC desire HD. So maybe we should go for the top three?

Note that we only target a few of the iOS devices out there. Xcode only builds for iOS 5.1 and later and there are really only three phone screens: 3.5", 3.5" retina and 4" retina plus two tablet sizes.

If I make an app for Android will they use it?

iOS users browse the web twice as much as Android users according to NetMarketShare:

This is hard to explain as Chrome and mobile Safari are pretty much the same.

If you are trying to make money, Android users are even less "engaged" than their iOS counterparts. Asymco published stats last year showing online shopping by OS.


So despite being dominant in numbers, Android shoppers are 21% compared to 77% for iOS. 

Even simple paid web browsing on flights as reported by GoGo shows a similar ratios:


App Annie shows that App store revenues for Apps in the Google Play store are rising but iOS is still four times that of the most "popular" devices.


Does it cost the same to develop for Android as iOS?

I am reliably informed by people who have commissioned Android versions of iOS apps that it costs 30% more to make an Android version than the iOS version. This could be because they are targeting too many Android devices or it could be that the Android SDK is not as mature as the iOS SDK and takes more effort to implement the same features.

I'm also told that there's more money in Android development, presumably a greater demand for those skills and a smaller supply of developers - so perhaps the developers are being paid more thus pushing up the cost.

Draft conclusion

I would love to see every app developed for every device, that includes iOS, Android, Windows Phone, Blackberry, Symbian, Ubuntu, Firefox and more, but resources are limited.

When evaluating Android for the first target compared to iOS I think about [proportion of v1.4+] * [proportion of Samsung GSII and HTC] * [usage of device] * [willingness to pay]. (Reminds me of the Drake equation).

The result is very small compared to iOS at the moment.

Why don't Android owners use their devices, and why do they complain so bitterly?

Android devices are generally cheaper than Apple devices. If you are not prepared to pay a few dollars more for the device, presumably you are not interested in paying for Apps. 

Feature phones, for people who just want to make calls and maybe send a text, have now disappeared and have been replaced by low end (old OS version) Android phones, so a proportion of the market have devices that have features they never really wanted.

My theory on complaints is that many consumers see an iPhone running apps and decide they want one. Those who don't go directly to an Apple store are met at a phone shop by sales staff who get a higher commission for selling Android phones so they tell the customer to buy this one as it's cheaper and "the same".

When these users start looking for apps beyond Facebook and Twitter they find that the pickings are slim. They're angry (with themselves) for falling for the sales talk and figure that abusing the developers for not porting to their cheaper phone is the most likely way to get what they want. (This post is my answer to that enquiry).

Cross platform development?

There are a lot of cross platform development toolkits. I think if it's possible to do something as a web app then it should be done that way so that it will be available on everything with a modern browser. But users like native apps for their responsiveness and robustness in an unreliable network environment. Facebook is a good example of this.

Cross platform development is always a compromise, it must abstract away the platform and often ends up being a lowest common denominator set of features. Users don't like apps that feel alien on their device.

I think the ideal approach, if funds were available, would be to have a team with a UX designer, graphic designer and specialist developers for each platform who can provide the "love" and focus to make an app that uses the features of each platform.

There is no silver bullet so far.

Apple needs competition

Don't misunderstand me, I want strong competition for Apple. It keeps them focussed and moving forward. I've spent much of my working life developing for platforms other than Windows and I know what it's like to miss out on Applications.

Apple has had amazing success in recent years making phones and tablets that non-computer nerds can learn to use in minutes. Apple is not targeting technical users in iOS and that group will be looking elsewhere for highly customisable devices. Fair enough.

I don't want Apple to "do a Microsoft" and start adding every feature they can think of - making the OS complex and confusing. 

The proposition that Android is the first choice for developers right now is not correct in my opinion.

I welcome your feedback.

Friday, March 08, 2013

Helping each other with StackOverflow and github

There was a story this week about programmers getting half their documentation from StackOverflow. It's certainly true for me, I'm there many times a day and often a search for whatever programming problem is confounding me ends up there. I do try to answer questions when I can on StackOverflow but it's very unbalanced so far.

The other site I get help from is github where people share code. I'm happy to report that at the prompting of a friend, I've contributed my first snippet of code to github.


It's a minimal iOS project that illustrates a way to make an iPhone app with a side menu - like Facebook and many other apps do these days. It does this by making a View Controller Container.

Let me know if you see any bugs or can improve it, or, as they say - "fork me on github".

Friday, March 01, 2013

Try the ABC Vegie Guide iPhone app - just out

I'm excited to announce that an app I've been working on in recent months is now in the Australian Apple App store.

Vegie Guide includes great wisdom from the popular ABC Gardening Australia team.

Getting an app to this point is a team effort, combining the skills of content authors, artists, user experience designers and a touch of engineering (my bit).

The app looks at your location and the time of year and recommends the best plants to plant. Once planted you can record progress in the form of notes and photos. As well as a plant encyclopaedia there are useful fact sheets to read.

I hope you'll try the app (it's free) and tell your friends about it. Please let us know what you think.