Showing posts with label android. Show all posts
Showing posts with label android. Show all posts

Tuesday, June 10, 2008

iPhone v2: I Still Don't Buy It

Apple released iPhone v2 at their WWDC yesterday to much fan fair and Internet coverage.

I've probably established my preference for Android fairly well at this point, but with the changes announced in the iPhone's second incarnation I think it's worth pointing out a couple of deficiencies that still exist in His Jobs'ness's most gifted child.

Without true native background services the iPhone remains a shiny toy that offers the same-old mobile applications with a glossier skin. It's an improvement, but it's incremental. The game hasn't changed, it's just being played in a new stadium with nicer uniforms.
Before I go on let me state for the record that I'm a fan of the iPhone. If Apple had been selling them at stores the day it was unveiled I would have gladly ripped off my right arm and used it to beat my way through hoards of Apple fanboys to get one.

Fortunately for my dexterity, by the time iPhones were in stores I'd convinced myself that a total COO of almost £1000 was just too rich for my blood. I bought a new generation Nano instead and called it even.

I mention this because I really do think the iPhone is an impressive piece of kit. It's beautifully engineered and delivers both style and substance. The array of shiny touch screen mobiles now available can probably be credited to the iPhone setting a new standard in phone hardware and UI design.

But I'm still not buying a new iPhone.

Even with the 3G data and significant price drop I'll still be holding off my long overdue phone upgrade for when Android hits the shelves. Why? Because the iPhone is a really nice implementation of just-another-phone. Android promises to be more than that:

  1. Background services. The iPhone's push notification service is a 2nd class add-in compared to the fully integrated background Service and Notification models that are central to Android. More than any other factor, Android's native background service model exposes possibilities that just aren't possible on the iPhone.

    They are a true game-changer. Android's Alarm mechanism ensures that services don't consume resources if they're not needed, but when they wake up they have full control over when and how they're going to update and how they choose to notify the user. The iPhone generously lets you pick a notification sound. Right. In Android you can write a service that monitors the game and announces the current score using a Morse-code vibration pattern while flash the LEDs in the winning team's colours.

    Without the artificial dependency on Apple's 'notification server' your service can update based on anything you like--Internet data, GPS location, device orientation, whatever.

    I could go on, but I'll save it for a more appropriate forum.

  2. Map-based applications. Still no native support for embedded Google Maps. Not that that's Apple's fault, but it's an undeniable bonus point for Android.

  3. Sandboxed distribution. Jailbreaking aside, developers are still locked in to the Apple approved iTunes distribution channel. If they want to charge for their apps, they still have to pay. Fail.

Lets face it, my complaints are fairly developer focused. A lack of background service support isn't likely to slow down the thousands that have been patiently waiting for a 3G iPhone when they rush to queue up at their nearest Apple store on the 11th of next month.

Android's power and flexibility as a developer platform is well established, if it can match the level of iPhone consumer devotion remains to be seen.

Wednesday, June 04, 2008

Android for Professionals

It's been quiet around here for the last few months, and I can't blame a lack of exciting developments at Google.

As Tony over at Blogoscoped mentioned, the reason for my infrequent postings is now listed and available for pre-order over at Amazon:


It's still a few months away from release, but Professional Android Application Development has taken up every spare moment of time (and plenty that weren't spare) but I think the effort will be worth it.

In other Android news, the top 50 place getters in the first Adroid Developer Challenge were announced a couple of weeks back. According to an anonymous comment on this site, at least one of the semi-finalists hails from my home-town of Perth(!). Nice.

The good folk at Android Community also put up some footage of the Android presentation at Google I/O last week. It's an impressive demo that features a look at what's becoming an increasingly polished UI, shown off particularly well with the street view featuring accelerometer control.

There's also been some discussion on a likely Android Marketplace--a Google hosted catalog of 'trusted' Android applications. The concept seems like a win / win, giving developers' applications visibility while guaranteeing a level of safety for end-users. It would be particularly nice if Google Checkout was integrated for developers that choose to monetize their mobile apps.

Friday, March 14, 2008

Android v iPhone: SDK Showdown

Apple responded to Google’s Android SDK gauntlet in some style last week when they released details on the much anticipated iPhone SDK. Is it a legitimate challenger? Let’s take a look.

FeatureAndroidiPhone
SDK Cost$0$99 (to allow distribution)
Distribution Cost$030% of the list price
Distribution ChannelOpeniTunes exclusive
Mashable Maps?YesNo
Location Services?Per HardwareGPS Pending
Accelerometer?YesYes
Multitouch?NoYes
3D Graphics SupportYesAdvanced
Background ServicesYesNo
Application InteractionSupportedDisabled
Native P2P CommsGTalkNo
Actual Phones that Support the SDKQ4 20084 million and counting


Free versus Really Not Free

A 30% cut of the list price? Even my agent would blanch at demanding that sort of cut. The $100 fee is just baffling. Why charge? I’d love to have a play with the SDK but I’m not convinced it’s 10 books worth of entertaining. I’m not writing mobile apps for profit so where is the return on my investment? It’s a system designed to provide a smooth distribution channel for approved 3rd party providers but it’s going to discourage those who are simply ‘iPhone curious’.

Android’s approach charges nothing to experiment and there’s no distribution cost. If one of my experiments turns into something people will pay for I won’t have to hand back a third of the price to Mountain View or Cupertino.

Foreground versus Background

Techcruch pointed out this gem in the iPhone docs. Your iPhone applications can only run in the foreground. If you switch away for any reason it will close. In the process of creating examples for my book on Android development I found that background services are one of the most exciting features of Android, albeit not the flashiest, so it’s very disappointing to see this explicitly disallowed on the iPhone.

Foreground only apps are great if you’re writing games (clearly the big target for Apple) but 90% of the time my mobile lives on my desk or in my pocket until it rings, flashes, or vibrates.

Background services let you create applications that extend this event driven model. Maybe it’s an app that keeps track of the football and vibrates the phone when your team scores, or maybe it changes the LED color when your team's ahead or behind. Maybe you write a service that sends your location to your friends so they always know where you’re at. This is the sort of thing that’ll make my mobile more useful not just more entertaining.

Interprocess Communication

The iPhone explicitly disallows communication between processes, to the extent that each application and all its data are completely sandboxed. There’re a lot of good security reasons to do this but Android manages to handle it without the sky falling. Then again, if your application is only allowed to operate in the foreground there’s not much point trying to communicate between two apps.

Native Map Support

Since the iPhone release Google Maps has been its most popular application. In Android I can write on-phone mashups, on the iPhone I can’t.

Bottom Line?

The iPhone SDK is a way for game and mobile developers to write the same sorts of programs as they always have but on the shiniest new device on the block. That’s great if you want a 3D, accelerometer controlled version of breakout, or to play Spore on your mobile, but it doesn’t bring anything new to the party. Well, apart from an extortionate 30% licensing fee.

Three of the four iPhone apps demoed at the release were games. The iPhone looks like a great platform for mobile gaming. It’s about the size of a PSP or DS and the interface has some great possibilities. While it’s an excellent portable platform for running software the SDK restrictions make sure that no one is ever going to download an iPhone application that fundamentally changes the way they use their phone. An iPhone will always look, feel, and work the way Apple designed it.

Android lets you write applications that do more than just run on a portable device. It has the potential to create software that extends the functionality of the phone itself, to change how and why you use your mobile phone completely. More on that later.

Thursday, February 14, 2008

Android Updates

Google released a new version of the Android SDK today.

There's a range of improvements, the most impressive being the expansion of mapping services to include forward and reverse geocoding as well as business lookups. This feature plugs a big hole in the LBS and mapping functionality previously available in Android.

Other improvements include a new iteration of the still-being-worked-on Android GUI (screen shots here), a new Animation class for creating animations in layouts, and an improved MediPlayer class that supports additional audio formats.

Also, while I've been away getting married for the last month there's been a few important Android annoucements. Here's a quick summary of what's been announced so far this year:

Friday, January 04, 2008

Android Developer Challenge 'Open'


It's a couple of days late, but those of you with a bright idea for a mobile app and a hankering for a slice of US$10 million in angel funding should head over to the submission page for the Android Developer Challenge.

Google is accepting submissions from today until March 3 for the first of two rounds of development funding. The 50 most promising entries will get $25k and be in the running for ten $250k and ten $100k prizes.

Project submission involves uploading a compiled .apk file along with your contact details and a readme file. You can include any additional information you like in the readme -- instructions for use, design documents, or a narrative describing your vision for your application.

The entries will be judged on their (i) originality, (ii) use of the Android platform, (iii) polish and appeal, and (iv) indispensability. So the perfect project will be one of a kind that leverages all the Android specific features, looks amazing, is well polished, and once installed you'd never want to remove it.

The challenge is more 'Iron Chef' than 'Dragon's Den', so the working application you submit is definitely the most important part of your submission. They're not looking for your plan for the $25k - $275k in prize money, they want to reward what is already a polished indispensable project. A detailed 'pitch' document submitted with a dinky 'proof of concept' is probably not going to get a look in.

Be sure to check out the new Terms & Conditions, here are some highlights:
- You can submit your application using any of the SDKs released on or after 3rd Jan.
- March 3 is a hard deadline.
- You can submit updates to your project(s) at any time until March 3.
- You can submit projects as an individual, team, or business entity.

The danger of this 'show me' rather than 'tell me' approach is that it is a reward for work rather than a submission for funding. The initial winners will be the development teams that have been able to implement and polish the most functionality within the competition time frame -- most likely the developers with the least need for funding to continue their development.

There's also the question of multiple similar applications. Obviously they'll be up against it on the originality criteria, so you'll need to make sure yours is the most polished and feature rich of the entries to stand a chance.

More details on the challenge can be found on the ADC FAQ.

(For those wondering, real-life Android phones are still expected in the second half of 2008)

Monday, November 19, 2007

Android in Action

It's been a week since Google released their first cut of the Android SDK and despite Scoble's claims to the contrary, thousands of developers spent last week developing their first Android applications.

Where Are My Friends?

Here's what I was able to do in about 14hrs of development.



It reads the address book to find my friends, uses the Location Based Services to show how far away I am from them, and then plots everyone within 10km on a map. Philipp over at Google Blogoscoped has published my experience, leave a comment here or in the Blogoscoped forum if you've got questions -- or send me an email at Reto.Android@Radioactiveyak.com.

Today I'm a desktop and mobile developer.

As a development platform Android is phenomenal; It's powerful and it's intuitive. I week ago I was a desktop developer dabbling with online apps -- today I'm also a mobile developer. I don't say this lightly, desktop development is what I do to pay the bills.

Doesn't it make sense to launch the SDK well in advance of any actual phones?

Erstwhile video blogger Scoble is disappointment with Android. It seems this is largely because the launch "videos were boring". Robert? Dude? Who gives a shit about the videos? Developers don't want videos, they want CODE. Code, samples, and a well documented API. I still haven't watched the videos, I was too busy using the SDK to spend time looking at the pretty moving pictures. Apparently the shiny lights distracted Scoble as he screeches "[I] DO NOT TRUST THINGS THAT THEY WON’T SHOW ME WORKING". Android works. I've seen it, I've used it. They announced a software stack not hardware, and the software stack is available right now.

True, there are no phones yet, but Android is about development tools for 3rd party developers, so doesn't it make sense to launch the SDK well in advance of any actual phones? Google aren't going to out Apple the iPhone but they may just out Microsoft Windows Mobile.

You can bet that there's more than one Android project to duplicate the iPhone interface in excruciating detail.

There's been some complaints about the Android UI. It's true, the emulator isn't groundbreaking. It doesn't have to. It exists solely to provide the functionality developers need to write apps. How many projects do you think are right now in the process of reskining that bad-boy? The iPhone interface is as inevitable as this MS Messenger skin. The shipping UI is irrelevant, it's the flexibility of the SDK to create a new UI that's important.

Despite Scoble not knowing "...a single developer who has had his/her hands on Android" there are more than 4,500 members on the Android developer forums and more than 4,000 messages. Even if only 1% of them come up with a useful mobile application that's still about 30 more useful mobile applications than I've ever come across for Symbian.

The Android phone won't have the iPhone's consumer appeal. It's very true, but it's also entirely beside the point.

Read enough articles and you'd think that if Google doesn't immediately grab 30% of the mobile market at launch they Fail. That's short term thinking. Developers will write applications for Android phones because they literally can't write them for other platforms. One will get you ten that the iPhone SDK won't have nearly the level of phone access that Android provides.

Eventually people will be buying Android phones because the applications they *need* only run on Android phones. Don't believe me? Do you think people run Windows for the pleasure of it? Worst case scenario? Android forces people like Apple and Symbian to offer the same SDK access in order to keep their market. I'll take that and still call Android a net win.

Google's strategy seems to be 'make it open' -- with 'make it popular' a distant second.

People probably won't be lining up around the block on the release day for the first Android mobile but just like Google search and just like GMail, Android is going to change the way we think of mobile phones.

What made the PC so popular? Why has the web taken off? Because *anyone* with the inclination could bring their vision to life at minimal cost. If you've ever tried programming for a mobile phone you'll know it's expensive and difficult -- that's why there's so few *good* mobile phone applications, and very few for free. The Android platform is going to get thousands of developers playing around with new applications for mobiles, in the same way early IBM compatible PCs got thousands of electronics hobbyists interested in programming computers.

Eventually the availability of popular apps on Android phones is going to encourage more phone makers to release Android versions and networks to release Android phones. It costs them nothing in licensing.

People love iPhones, companies love options.

I don't run Windows because I like it, I run it because 75% of the applications I use every day only run under Windows; plus I can write powerful software for myself really easily.

Corporations will start buying Android phones for the same reason almost every company that's not a graphic design house runs Windows -- it's a more universal development environment with deeper access to the underlying hardware. I work for an investment bank, they'd never dream of writing corporate software for the iPhone; do you think the 300 Java developers here might be able create something useful with Android?

Monday, November 12, 2007

Google Android SDK Released

The SDK for Google's mobile phone platform, Android, has been released today.

A series of YouTube videos gives us our first look at what the Android phone OS actually looks like -- and it looks phenomenally cool.

The 'preview' SDK has everything you need to create and test your Android apps, along with an emulator that will let you see what your phone apps will look like when deployed.


The development is done in Java (they suggest Eclipse but it's not required), and Google have provided tight integration with all the phone features (including GPS, phone, camera, ...) as well as Google services like XMPP and Google Maps.

Along with the SDK, documentation, discussion group, and developer blog; Google has also announced a 'Developers Challenge', where the top 50 in development apps share up US$10million in prizes. Shit, there go my weekends for the next 6 months.

I'll post more once I've had a chance to play with the SDK. The power and ease of use of this development environment is going to be a big factor in the future success of any future 'gPhones'. Certainly this free and open approach to phone app development, with total access to the phone's resources, is a giant step away from what's been available up until now.