Saturday, November 15, 2008
Where to buy
If you're interested in a copy the best place for me, for you to buy the book is Amazon following one of these links:
Free stuff and resources
If you'd prefer not to fork out without knowing a little more about what you're paying for (or just don't want to fork out at all), here's some useful resources that come free of charge:
Chapter 1 is available as a free PDF download [pdf] from the Wrox site if you want to learn more about Android before you commit to a 400 page tome. The TOC and index are there too. Chapter 7 [pdf ] -- which focusses on maps, location-based services, and the geocoder -- is available too.
Every concept in the book is supported with code snippets and a bunch of detailed step-by-step examples -- all of which you can download from the Wrox Open Source site.
If you're looking for details on something specific, Amazon's "Search Inside" is a surprisingly useful resource.
Android development conversation
I'll be looking to answer Android questions at the Wrox P2P forums, StackOverflow, and the Android Google Groups.
You can follow me on Twitter or FriendFeed, or just get book related news from the books Twitter feed and Friend Feed Room. I'll tweet any 'bugs' and changes to the text or code samples, as well as updates on any SDK releases that cause book code samples to break.
Still to come
To celebrate the book release I'll be posting a bunch of stuff about Android, including tutorials, walk throughs, and open source projects -- both here and other places online.
As luck would have it I got my G1 last week, so I can finally test and tweek my Android applications, so expect to see announcements about them in the coming days and weeks.
Tuesday, September 23, 2008
- US. The G1 will be available in the US from October 22. Existing US T-Mobile subscribers can register to upgrade their phone via the T-Mobile website as of now.
- UK. "Early November" is the date to watch if you're in the UK, you can register your interest with T-Mobile to be alerted with updates as we get closer to that date.
- Europe. European users will need to wait until "early in Q1 2009"
US price is $179, with the choice of $25 or $35 per month plans for 2 years. The $35 plan includes some text messenging allowance. Both include unlimited data.
No pricing was given for the UK or European launches,though TechCrunch is reporting it will be free with a £40 / month plan.
Word from T-Mobile is that the phone won't be available un-locked, but that's likely to become a moot point pretty shortly after launch.
Device and Application Details
Between the leaks and the SDK emulator there weren't a lot of surprises on the day. It wasn't a total recap though, with a couple of tidbits announced:
- Presence. Instant messaging presence is fully integrated directly into the contact manager and Gmail.
- Backlit Keys. The keys on the handset are all backlit so you can use it in the dark.
- Gmail. You need to have a GMail account to use the phone. Once you're signed in, this will be used to authenticate with all Google services you use.
- Can it be Used as a Modem?. No. Well not out of the box anyway. Look out for a 3rd party app to do the job.
- MS Exchange?. Not native. The official response is that this is an "opportunity for a 3rd party developer".
- Office Support?. Yes. The phone will read Word, Excel, and PDF files natively.
- Push Email? Yes for Gmail, standard POP/IMAP for everything else.
- Desktop Sync. No. The idea is to sync everything with the cloud rather than a desktop application. Contacts sync with GMail, calendar entries with Google calendar, etc.
- Bluetooth. Profiles for Bluetooth headset are currently supported. Everything else if v2.
- International support. Dual band 3G and quad band GPRS makes it compatible with most countries.
Exactly which applications will ship with the first handset is still something of a mystery, but we were given a peak at some of the likely inclusions. The native Google apps are listed at the Android mobile site.
- GMail. Strangely wasn't demo'ed, but will be partially web-based as it's build using Android's WebView classes.
- Amazon MP3 Store. Amazon have provided a native iTunes rival that lets you purchase DRM free music from the Amazon MP3 store direct from your mobile. You need to be connected to WiFi to download tunes.
- Music Player. Looks like the player used in the emulator. Not demoed in detail but looks solid (if no iPod killer).
- Android Marketplace. You can download and install new Android applications using the native marketplace app. You can also install apps from other web sites, using the SD card, or the USB sync cable.
- Maps. Google Maps is a killer mobile application. As well as the features already available on iPhone, WinMo, and Blackberry, the Android version supports Streetview that uses the phone's compass to automatically rotate your orientation.
- YouTube. Wasn't demo'd, but as you'd expect.
- Search. Context sensitive search will search depending on what you're doing (contacts, map, web, etc.). The device has a dedicated 'search' button.
- Calendar. Wasn't demo'd. Tightly coupled with Google's calendar application, all appointments are automatically synced between the phone and Google Calander
- Talk. GoogleTalk instant messaging and presence is available. Looks pretty basic, but that's what you want from a mobile IM client.
- Contacts. The contact manager as shown in the SDK emulator. Features presence and auto-sync with Gmail contacts.
If you're interested in developing your own Android applications, my new book -- Professional Android Application Development -- will be available on Amazon from November 17.
Monday, September 22, 2008
Last Tuesday I was lucky enough to attend the Google Developer Day in London. As you might imagine, most of my interest this year was on the keynote and morning sessions on Android.
Mike Jennings, London's own Android Developer Advocate was on hand to give the first live European demo of the forthcoming Android-powered handset. From what we could see, the back handset looked pretty similar to the pictures posted around the internet and featured in earlier demos.
Mike's 'Blue Ball' demo indicates accellerometers will be included, and we were shown once again that GPS will be featured.
The user interface looks just like the one featured in the latest 0.9 Beta SDK, so no surprises there. As Mike ran through some of the demos the device seemed 'snappier' than the software emulators I've been using to test my sample applications, so that's a good sign.
With the veil of secrecy still very much in place over all things Android a lot of questions went un-answered, but the following tidbits were covered
- Application Installation. Users can install Android applications using any of the Micro SD card, USB cable, or Android Marketplace
- Revenue Share. Google will pass on all revenue for applications directly to developers without taking a cut.
- Carriers. When signing on, OHA member carriers agree to openness standards that prevent them artificially blocking the installation of any applications on user devices. The agreements let carriers modify the handset 'chrome' with their own branding, and select which applications to preinstall, but won't modify the software stack to restrict user choice after-market.
- Push Email. Push email from a number of providers (not just GMail) will be supported.
More news tomorrow!
Tuesday, August 19, 2008
It's a substantial release, as you'd expect after such a long gap since the previous build (M5); I've listed some of the more notable changes below.
The executive summary? Excellent new release that adds some maturity and stability to the early look version we've been playing with for so long. There's a lot of work for people porting existing apps over from M5, but the biggest downside is the loss two of the more interesting optional libraries (Gtalk and Bluetooth).
The Good News
- Future SDK releases up to version 1.0 shouldn't have significant breaking changes.
- The maps, location-based services, and geocoding APIs have been much improved and tidied up.
- Interacting with the phone hardware (getting incoming call number etc.) is improved.
- The accelerometer and compass APIs are much more mature.
- Context menus and dialog boxes are included and improved respectively.
- The developer tools are much slicker.
- The new home screen and native applications are much nicer than M5, as are a lot of the default controls (Views).
- GTalkService is out for 1.0
- Bluetooth is similarly missing for 1.0
- There have been a lot of breaking changes to behavior, required permissions, class names, and method signatures. Such is the price of progress.
The signals coming from Google suggest this is "for now" not "forever". Most likely scenario is the security implications for both these APIs it was cheaper / easier to just leave 'em out for version 1 and come back to them later.
For those of you interested, Professional Android Application Development will be fully up-to-date on the (at least) this latest Android Beta.
Monday, August 04, 2008
The quality of the images is impressive and the coverage for Australia is stupidly comprehensive with all major cities are most populated rural areas covered, as indicated by the blue patches in the image below.
Because I can, here's the view from my old commute in to work:
View Larger Map
...and here's one of my favourite places in WA:
View Larger Map
Tuesday, July 29, 2008
But. Just because most people are judging Knol using an inappropriate comparison, doesn't mean it's perfect.
So what could Knol be doing better?
Simple Internal Article Linking
It's pretty common for the specialist topics featured in Knol to reference terms that are unfamiliar to readers, but out of scope for the current article. Everything2 and Wikipedia have shown that jumping from topic to topic is compelling. Knol needs a simple mechanism that lets you create internal links automagically using topic text.
Everything2 does this really well though the use of soft links. E2 builds a related articles list by tracking transitions between articles. Given Google's prowess when it comes to finding related
The idea of a formalized taxonomy is clearly a non-starter. Fair enough, but that still leaves a healthy requirement for non-hierarchical cataloguing. Tags are a well established metaphor for cataloging to identify similar or related content. The 'alternative titles' field will makes it easier to search for a topic that's referred to by different names, but doesn't do much to help group or explore similar topics.
E2 uses Node Shells to act like a shelf for a given topic. It contains all the articles with the same name written by various authors displayed as a kind of summary, indicating the reputation details for each of the contained Knols.
KnolShells would answer one of the criticisms related to ranking and linking to a topic covered in Knol. Currently you need to link to a specific author's Knol, or a search for the topic. KnolShells would let you link to the topic and offer all the available articles. This is particularly handy combined with internal links to streamline internal navigation, letting authors link to a topic rather than a particular article as it eliminates the 'first-in-most-linked' effect.
Improved Ratings and Reputation
Reputation systems are always problematic, but it would be nice to offer more statistical information on the popularity of each article beyond the a ambiguous 5 star rating mechanism. The E2 model uses the thumbs up / thumbs down model with the added ability for experienced users to flag particular articles as 'Cool'. Popular articles can then be used to populate the 'featured Knols' on the front page.
I like to know how popular my articles are and get an idea of who's reading them. Seems like a no-brainer to include Google Analytics the way they did Adsense.
I fully understand the spammy reasons outbound links are no-followed, but it would be nice if this rule was applied more discriminantly. It would be very nice to see outbound links become 'followed' based on rating, author reputation, or/or time since posting. No one wants Knol filled with V1agr4 links, but there's no reason people shouldn't be able to link back to their own sites, and no reason those sites shouldn't get the associated link juice.
RSS Feeds and Feedback
Knol doesn't yet have a very robust feedback system. I'd want to subscribe to someone's New Knol Feed, and I'd like to subscribe to comments and reviews on Knols as well. As a Knol author email notifications when someone comments on, or reviews, my articles would be good too.
A private message mechanism for people to send messages to Knol authors within the Knol ecosystem would be a handy way to let people comment or suggest changes without publicly posting a comment or going through the 'edit' process.
These ideas certainly aren't comprehensive, but I think seeing some of these changes would really improve Knol. What do you think?
Thursday, July 24, 2008
Google describes Knol as:
A platform for sharing information, with multiple cues that help you evaluate the quality and veracity of information.The mainstream media and blogosphere have both labelled it a Wikipedia killer, but the comparison to Wikipedia is lazy and superficial.
As I supposed when it was initially announced, the purpose of Knol is fundamentally different to Wikipedia's mission. Where Wikipedia is an encyclopedia, Knol is a library.
Wikipedia delivers a single, collaborative, and verifiable article on every topic worthy of inclusion (and the editors aggressively kill new articles that aren’t). That fine. That's great even, it's like a living version of Britannica that tends towards consensus over time.
A Library of Knol(edge)
But that’s not what Knol is about. Knols aren’t about consensus, they're about authority. Lots of authors willing to stand by their claims. You judge the veracity of a Knol the same way you do a book, newpaper article, or tech paper – by looking at the comments and reviews of other readers, looking for citations, and reading up on the author (their background, affiliations, and other articles).
Just like your local library, Knol will contain a collection of opinions, knowledge, and experiences backed by the author’s name and reputation . Just like a library, many topics will have several 'books' written by different authors–often contradictory.
Rather than consensus articles with a neutral voice, for contentious or subjective subjects you can browse a number of personal opinions and experiences and form your own consensus. It’s noisier but it provides a personal perspective that’s inherently missing from an encyclopedic approach.
Check Out My Knowledge
Anyway, Knol looks pretty cool, I’ve set up my Knol Biography and I’ve started creating Knols based on some of my more popular E2 write-ups. You can check out Flooded Member Detection to find out if that’s as dirty as it sounds.
It’s worth sending a shout-out to the people over at Everything2 who have been doing the Knol thing for years and who still have a few tricks (particularly in the reputation system) that Google would do well to copy consider.
Authors, Start Authoring!
If you're an author or a subject matter expert, you can and should be using Knol to demonstrate that to the world. If you've written a book or authored a paper Knol is a way for you to demonstrate to potential readers that it's worth paying for more of your stuff.
I can see this being a great resource for professionals and academics who want to share their latest insight or discovery outside the four people that will read their journal article or internal white paper.
A New Tool for Research
For readers I think Knol provides an excellent addition to existing web-sites, including Wikipedia, as an additional source of information to browse when investigating a particular topic. Chances are most people won't be going to Knol directly for answers, but they're bound to end up there through Google searches before long.
Tuesday, June 10, 2008
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:
- 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.
- 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.
- 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
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.
Monday, May 12, 2008
How big is 7.8? The image below from my Earthquake map mashup shows that the 'rumble zone' (the area over which the quake could be felt) covered all of China.
There's been over a dozen after-shocks registering over 5, so the 'impact' zone is harder to view, but if you look at the 'Australia' tab they're only showing the largest quake which gives a better idea of its scale.
For comparisons sake the 'damage zone' (the area susceptible to severe damage) covers an area about the size of Ohio or Austria. In the image below it's represented by the darker red circle about the size of Thailand.
The humanitarian result of a quake of this size is predictable. You can read more about the effect of a quake of magnitude at Google News.
Friday, April 04, 2008
When you search from the Australian implementation of Google Maps (http://maps.google.com.au/) the message in the screen shot below appears in the search results panel to the left of the map and displays pictures, videos, and community maps based on the current map location.
Clicking 'explore this area' overlays tiny geocoded image thumbnails onto the map as well as displaying arrays of photos, videos, and community maps that are found within the currently visible map boundary.
While this additional information is currently available only using the Australian map search, you can do a search anywhere in the world and see the same extended results.
A nice touch is that as you pan and zoom your map everything updates dynamically, adding, removing, and reordering the videos, pictures, and maps available based on the new map location. Very slick.
There's also a new 'drop down' array to the right of the search box which displays your 'saved locations' for easy access.
Wednesday, March 26, 2008
View Larger Map
It's actually really neat and I congratulate Transperth for being the first Australian transit authority to get involved with Google Transit. Nice one!
In related news, you can now add new places to Google Maps for any physical location in Australia (or New Zealand or the US). So if there's a local landmark, or a new business that doesn't appear on a Google map search you can go ahead and add it yourself.
Nice touch, and a good way to ensure visitors can always find a bus to catch to get home from a day's site seeing.
Friday, March 14, 2008
|SDK Cost||$0||$99 (to allow distribution)|
|Distribution Cost||$0||30% of the list price|
|Distribution Channel||Open||iTunes exclusive|
|Location Services?||Per Hardware||GPS Pending|
|3D Graphics Support||Yes||Advanced|
|Native P2P Comms||GTalk||No|
|Actual Phones that Support the SDK||Q4 2008||4 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.
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.
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
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
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)