Seconds Pro for Android

The latest Android app I’ve been working on for Runloop’s, the hugely successful iOS interval timer Seconds Pro, is now live. Packed with the following features:

• Quickly create timers for interval training, tabata, circuit training
• Save your tim…

The latest Android app I’ve been working for Runloop, the hugely successful iOS interval timer Seconds Pro, is now live. Packed with the following features:

• Quickly create timers for interval training, tabata, circuit training
• Save your timers, as many as you need
• Organize Timers into groups
• Text to speech
• Install timers from the timer repository
• Send your timers to your friends
• Full control over every interval
• Assign music to intervals or timers
• Large display
• The choice of personal trainers up and down the country

seconds

You can download the app now from the Google Play Store.

If you’re looking for high quality Android development, head over to my company’s website – Valis Interactive.

Getting Started with NFC on Android for .NET Magazine

A tutorial I wrote for .NET Magazine is now up on their site. This tutorial takes you through the basics of getting NFC working with Android 4.0+ with a “Top Trumps” like demo. It covers both reading and writing data to/from NFC tags, stickers or cards.…

A tutorial I wrote for .NET Magazine is now up on their site. This tutorial takes you through the basics of getting NFC working with Android 4.0+ with a “Top Trumps” like demo. It covers both reading and writing data to/from NFC tags, stickers or cards.

nfc-netmag

Head over to .NET Magazine to read the tutorial!

Winners at Create London NFC Hackathon

We had what was probably the first BBQ weather over the weekend, but I wouldn’t know about that. Instead I spent the weekend hacking away at the NFC Hackathon (sponsored by O2) with my team members George Medve and Aaron Newton.

The idea was to spend…

We had what was probably the first BBQ weather of the year over the weekend, but I wouldn’t know about that. Instead I spent the time coding away at the NFC Hackathon (sponsored by O2) with my fellow team members George Medve and Aaron Newton.

The idea was to spend 28 hours designing and coding something that made use of NFC (Near Field Communication). We were supplied with NFC enabled Galaxy S2s and some useful SDKs from Proxama and BlueVia for tracking NFC campaigns, making payments and tracking users.

We spent the night before the event thinking about just what we could do that was new. Even at this fledgling stage it felt as if everything had been done in some way already, we needed something unique. One idea we explored was transforming shopping by allowing customers to scan NFC price stickers in the many aisles instead of at the till; simply weighing in their shopping at the self checkout (to reduce unpaid bagging) and scanning their phone to transfer the shopping list and payment. Fortunately we didn’t go with this idea as another team at the event did (albeit without the weighing part).

At some point that night another idea came to me, “StreetScreen“. We could allow retailers and advertisers to directly interact with customers by using an NFC sticker in shop windows to initiate a connection between the screen and the phone, and with a multi-user server allow the customer to control the screen in real time.

At the event we used technologies like node.js, HTML, JavaScript and Flash to create some demos including browsing and rotating products, buying flowers for mother’s day and even a 2 player game (see “Connect 4” game pictured). I’m pleased to say with this we won the Finance category prize sponsored by Visa. Thanks to the truly excellent Isobar and sponsors, the whole event was a lot of fun and I think I’ll be looking forward to developing a product around NFC in the near future.

The potential applications for this technology are endless. The number of NFC enabled handsets is expected to reach 1 in 6 by 2014, but that’s not going to stop us pushing the envelope in the meantime.

If you are interested in using this technology in your campaign please get in touch via the contact form. You can read more about the event over at the Isobar site.

Snowball Fight for iOS and Android

I’m pleased to announce a game we’ve been working on is finally out. A collaboration between The Creation Agency and Bitmode, we bring you The Great Snowball Fight!The game is played over Google Maps, launching virtual snowballs at unsuspecting p…

I’m pleased to announce a game we’ve been working on is now out. A collaboration between The Creation Agency and Bitmode (my previous home), we bring you The Great Snowball Fight!

Snowball Fight

The game is played over Google Maps, launching virtual snowballs at unsuspecting players in order to rank up, earn points and even win prizes from retailers you hit. You can also add buddies, connect via Facebook and receive special powerups.

Utilising Flash with AIR 3 and native extensions, we were able to build a game for iOS, Android and also PC. The game uses native extensions for deeper platform integration, such as the compass sensor or push notifications, as well as GPS to pin-point your location.

Head on over to the site to download the game and get throwing some snowballs!

Update: See comments for iOS compass extension source.

Nexus One Review

I was lucky enough to receive one of the first waves of Nexus One’s (N1) from Google’s direct online shop. Before I go on, the shopping experience was a little too slick IMHO. I signed in with my Gmail account, clicked buy, clicked confirm and it was shi…

I was lucky enough to receive one of the first waves of Nexus One’s (N1) from Google’s direct online shop. Before I go on, the shopping experience was a little too slick IMHO. I signed in with my Gmail account, clicked buy, clicked confirm and it was shipping, if you’ve used Google Checkout before they will likely have your card details and address. You do have 15 mins to cancel the order though. When you see Google’s ever growing list of properties getting together you can see why they are so immensely disruptive.

So the Nexus One, possibly erroneously construed as the “Google Phone”, when in reality Google have already sold two Android dev phones. The N1 is more like the first of many in a Google Phone shop, which if you ask me is pretty much like Phones 4 U. A way of purchasing a sim-free or network contracted phone from a broker.

I was a little hesitant about this phone, it was invariably going to be compared to the iPhone due to the way it was positioned, the capabilities, the Android market and the form factor (albeit slimmer). So with that on with the review…

Nexus One

Hardware

It has the usual “superphone” (more on that another time) credentials; a large capacitive touchscreen (albeit a much improved OLED), sensors galore, but the most standout feature is probably the 1GHz Snapdragon CPU. It’s a huge risk to put such a beast in a small device with current battery technology. This thing has the potential to drink a lithium ion like a student with a beer bong. The Acer A1 (which I had very briefly) suffers from this, it just cannot tame the CPU to satisfy the tiny battery. It’s not just the CPU burning through electrons, Android itself is architected to be a multi-tasking, never-quit-an-app OS. But I’m pleased to say N1 deals with this well without resorting to task-killer apps. The battery is large enough (but if a 2000mAh came out of course I’d get it), and it managed memory hyper effectively through Android 2.1 and a couple of power management chips on the motherboard.

It’s fair to continue to make comparisons to the iPhone 3GS, there are a few things the iPhone wins out on, which considering it’s an older device is still encouraging, but on the whole the N1 is equally polished, with a super hard yet soft to the touch Teflon coating, it’s what the iPhone might look like if aesthetics weren’t so highly weighted in the design (that’s not a dig, it’s a design philosphy that makes Apple products so desirable). Every lesson and trick learned from building and using the iPhone has been considered by HTC.

The N1 comes with 512Mb of RAM (yep!), but only 4Gb of space on the SD card in order to reduce the purchase cost. The point it it’s a removable micro-SD card, these things already cost peanuts, come in up to 32Gb (for the iPhone comparison), and will continue to fall in price as the sizes go up this year.

The camera is a good 5MP shooter, with intelligent focus, LED flash, and a good lense. I think the one to look out for in this department will be the Sony Ericsson X10, which has all their camera know-how surrounding an 8MP ready to blitz the competition. Without going onto talking about Android itself just yet, suffice to say your immediate sharing options are impressive.

There are plenty of little touches which make it pleasant to use. The myriad sensors; proximity to dim the screen and prevent accidental touches, compass to support immersive augmented reality, trackball which if you ask me provides that essential accuracy required for some tasks which touch-screens can really let you down on, and doubles up as a tri-color indicator for notifications. The combination of these sensors and powerful CPU really starts to make sense when you try applications like Google Goggles. This is a visual search app, you point the camera, shoot, it scans the image for text and details, and will recognise and bring up results for books, barcodes, media, paintings, scan business cards and plenty more. The thing is, it’s so fast, the scan takes several seconds on the Acer, on the N1 it does it in one swipe, and on the N1 it also adjusts the flash brighter and dimmer until it gets a good image.

I had heard of it’s secondary mic, used for noise cancellation, but I didn’t expect to have someone remark on the quality of the call the first time I made one, comparable to a good quality land-line.

Software

Perhaps a killer feature of Android is Google’s role on the net. If you are a Google user, you will get a shockingly good setup experience. I entered my email address and password, it downloaded my calendars, gmail, contacts (with photos and maps) and that was it, setup was 1 click. Even more scary, it also populated my Gallery with live images from my Picasa account, which I use as a backup for Flickr, but I may switch over now.

Android is through and through a web OS. You really get a feeling for interconnectivity between apps and services on Android. Not only does it allow developers to write any app they desire with no approval required, you can write background services, fullscreen apps, widgets or live wallpapers. The OS itself it built on top of a system of notifications and intents that allow these things to communicate and interact in a secure manner. So when you open a photo you get sharing options for all the apps that registered as such, Picasa, Flickr, Email, SMS, from built-in to 3rd party and back again.

For the developers reading this, you can write in Java (optionally using XML layouts), Webkit (HTML/JS/CSS) or native C using the ADT plugin for Eclipse and supplied emulator. However the way it has been built allows you to leverage all the layers below, so you can write an app in JavaScript using Webkit, and embed a Java or native C class exposed as a javascript function, for real number crunching power.

The OS itself is responsive and polished, but it doesn’t do anything to sacrifice what is so important in devices you rely on when you need something done fast, devices such as phones and cars. When designing a touch-screen devices it’s easy to lose speed and efficiency amongst gloss and animation, that’s why the N1 has a Car Home app that provides instant voice enabled access to navigation, search and calling (I’ve heard this app can be launched whenever you put it in a car docking cradle). On top of that every text input is voice enabled, you can speak your search input or SMS messages. This can be a complete joke on some devices, but Google does this on a server, a server that has been learning from millions of Google Voice transcripts the last couple of years, this makes it very accurate indeed.

App-Store vs. Android Market

I can’t believe those professional journalists saying that there’s no competition because the App-Store has ~120k apps, and Android Market only has ~20k… Surely that’s a given because of how long these devices have been out, the Android Market targets a much much wider range of devices from several manufacturers from phones to tablets and TVs, and dare I say a great deal more potential customers than the App-Store. It’s just a matter of months.

The purchase experience is definitely better than the App-Store in 2.1. The Market app (screenshot) itself is much like the App-Store app, full-screen image previews, top free/paid, and purchase is a single click with instant download and install. Apple have the edge on how it looks, but with Market you can purchase a paid app and refund it within 24 hours, this gets around approval/testing because if it doesn’t work on a brand new handset yet you can just refund it, it also means you don’t always need a trial version (however that can be a good marketing technique).

You can of course also purchase direct from developers because you do not have to use Google’s own Market, or you can use some 3rd party markets that have sprung up, in particular for adult content.

So that’s it, a pretty positive review so far. I’ll update if anything changes. HTC are one to watch in 2010 that’s a given. Something that I’ve taken away from this is that we are finally getting to where us mobile-fanatics have been wanting to get to for some time. That was the promise that your mobile would be your primary device, not your laptop or desktop. IMHO, laptops and desktops will be the exclusive domain of software developers.

SWF2JAR – Project Capuchin from Sony Ericsson

I’m just watching the seminar (recording here) about Sony Ericssons project Capuchin. It looks incredible. Ask anyone that’s developed with Flash Lite and they’ll tell you that distribution is one of the biggest problems they face.The problem is that…

I’m just watching the seminar (recording here) about Sony Ericssons project Capuchin. It looks incredible. Ask anyone that’s developed with Flash Lite and they’ll tell you that distribution is one of the biggest problems they face.

The problem is that traditionally SWF files have been treated by some as nothing more than animated gifs (this is particularly the case with a lot of the older Sony Ericsson phones), and treated by others (for example Nokia) as applications that run standalone (and more recently as a web plugin). This makes it tricky to classify how to treat a SWF when it comes to getting it on a phone, particularly when you haven’t been able update your software anywhere near as easily on mobile as on the desktop. Do you run it from a browser link? do you bluetooth it from a PC or to a friend like an image? or do you go ahead and “install” it somehow, to get an application icon? Of course until now every manufacturer has dealt with the problem differently.

Trying to give guarantees regarding how many and which phones it will work on to the people holding purse strings is heart-wrenching, particularly when they try to transfer a SWF to their own phone that doesn’t support Flash Lite and get nothing, no message telling the user what they need to do. When money is involved this is usually only circumvented by sniffing the handset on a server or asking the user to select the exact handset. Handset support is still something of a weakpoint with Flash Lite. It has been a little bit like the pre-PC home computer scene, with you producing products for specific machines only.

Enter project Capuchin. In a nutshell you can turn a Flash app/game into a JAR file that installs as would any Java midlet, but it also provides lots of extra functionality that up until now people have typically achieved by running a separate local socket server written in Java or Symbian native… alternatives have included SWF2SIS applications for certain flavours of Symbian smartphones (S60)… ugly and problematic.

I’m still waiting on whether this will be Sony Ericsson only, they’ve announced so far that one supported handset is coming out in October and that all future handsets should support it. So we may need to take another step back in terms of penetration, but let’s hope that the trend holds out, tackling the problem once and for all. Of course Sony Ericsson is a big market, but in marketing you’re insane to cut out any audience voluntarily, so fingers are crossed more handset manufacturers jump on board as collaboration and sharing of technology has been mentioned previously.

Meanwhile I’ve just received my Nokia E71… hands down the best phone I’ve ever owned, it’s truly marvelous. The Wifi, HSDPA, GPS maps and location based services are extremely useful. Best of all it syncs with Macs and acts as a bluetooth modem, on an unlimited data plan that’s a cheap alternative to a USB dongle. I’ve had to wait this long for Nokia to finally slim down their smartphones (after putting up with an N70 for a year and later abandoning the brick for something more stylish). So this phone comes pre-installed with Flash Lite 3 and I’m keen to try out some of the new content the community has been producing.

Read more about Capuchin here (PDF).

Handset Detection (Mobile Browser Sniffing)

A huge challenge when developing web sites for mobile phones, either as a separate entity, or as a gracefully degraded version of the “desktop” version, is sniffing just what features the device has. This might include support for XHTML, JavaScript 1.5,…

handsetdetection logo

A huge challenge when developing web sites for mobile phones, either as a separate entity, or as a gracefully degraded version of the “desktop” version, is sniffing just what features the device has. This might include support for XHTML, JavaScript 1.5, Flash Lite (standalone or embedded in a page) and so on.

I just caught a post on the Flash Lite Google Group regarding a new site, handsetdetection.com, which provides a free API for sniffing over 7000 devices. The API is available through XML or JSON and the list of features the API documents is exhaustive, from screen size and streaming video support to HTTPS and SVG capability.

Find out more at the website.

Flash on the iPhone, an Alternative to Bringing Flash to Safari?

There are a few posts out there relating to Shantanu’s disclosure of a standalone Flash Player being developed for the iPhone using the newly released SDK, but of course that doesn’t answer the question as to whether people will be able to browse the web…

There are a few posts out there relating to Shantanu’s disclosure of a standalone Flash Player being developed for the iPhone using the newly released SDK, but of course that doesn’t answer the question as to whether people will be able to browse the web and view Flash content in-line, given that Flash makes up a huge chunk of the web, and also provides the revenue for a great many sites through advertisements (fallback GIFs are not what advertisers are paying so much money for).

I’ve been learning Objective-C and the iPhone SDK over the past week and it seems to me there might be an alternative option in using the WebKit engine, available in the SDK. Potentially identifying SWF embeds in web pages and replacing them with a Flash Player control. One thing I’m not clear on is whether this violates the agreement put forth by the SDK. In particular…

“No interpreted code may be downloaded and used in an Application except for code that is interpreted and run by Apple’s Published APIs and builtin interpreter(s).”

As a side-note, the iPhone SDK is a pretty well made package. If it weren’t for the possible confusion between the various frameworks and component parts that have arisen over the years, Carbon, Cocoa, QuickTime, Core Graphics, Core Animation (Leopard and iPhone/iPodTouch only) it would have been even better. But overall the video tutorials, reams of documentation and samples make learning these things fairly easy when compared with what you might have to go through; considering Objective-C is only a very thin layer on top of C, and for me had a much stranger syntax than C++ (when you assume Java, C#, ActionScript are all strikingly similar).

Microsoft Silverlight Coming to Nokia

In a press release today Nokia announced that Symbian OS will include Silverlight. This includes both high-end S60, and low-end series 40. Silverlight is of course the cross-platform RIA runtime from Microsoft, that can be considered a subset of WPF (at…

In a press release today Nokia announced that Symbian OS will include Silverlight. This includes both high-end S60, and low-end series 40. Silverlight is of course the cross-platform RIA runtime from Microsoft, that can be considered a subset of WPF (at least with version 2.0 which has a substantial feature list).

I wonder if Microsoft charged a per-device license fee to Nokia like Adobe did, and if so what the difference is. On top of that there was of course the controversial price to pay for the developer edition of the Flash Lite runtime for Series 60 which is thankfully now free. Clearly there is a fierce competition to be had in this space as the web continues to leak out onto what we currently call “devices”, and Microsoft have made it crystal clear Silverlight is high on their list of priorities.

Personally I see Windows Mobile taking a bit of a dive with the strong competition from RIM and Symbian, and more interestingly Google’s Android which I have extremely high hopes for. With that in mind, it’s sensible for Microsoft to find alternate, more up-to-date platforms for continued expansion, and just like the Flash Platform, a ubiquitous WPF/Silverlight stack would provide this.

Update: Using a GPRS, 3G or HSDPA Mobile with eee PC

I recently posted on using a mobile phone’s data connection with Mac OS X, and I’ve just had some sucess with my new eee Linux based laptop, again on Vodafone (but I imagine other operators will be similar).

To dial up a connection, plug the phone i…

I recently posted on using a mobile phone’s data connection with Mac OS X, and I’ve just had some sucess with my new eee Linux based laptop, again on Vodafone (but I imagine other operators will be similar).

To dial up a connection, plug the phone in via USB and setup a new Dialup Connection in the Network Connections manager with the following information:

Phone number: *99***internet#
User name: web
Password: web

The difference here is that I’m putting the access point name in the number to dial, no doubt the script I was using on OS X was doing this for me. These settings worked on a plain vanilla eee PC without messing around in /etc/ppp. So that might vary operator to operator. Best of luck, please post in the comments if your process varied for other operators or devices.