| By Kevin Hoffman | Article Rating: |
|
| November 29, 2007 09:45 PM EST | Reads: |
30,930 |
I've been poking around at some of the documentation for Google's Android project. I've seen a couple of the code samples, read through a lot of the SDK documentation and I've even checked out a couple of YouTube videos, including this one:
I also highly recommend that you check out the 3 architecture videos that you can find on YouTube. One of the engineers on the Android project takes us on a detailed walkthrough of the architecture of the platform, how applications work, and even shows us how memory, processes, activities, and state are managed.
So here's what I've been able to take away as highlights from what I've read and seen:
Notifications. Application code can be woken up when certain important events take place. This is something that I really liked about PalmOS in that it could wake your code up and do things necessary and then shut your code back down when the event had passed. It's a cool feature, but it's basically a requirement for any mobile operating system. The downside is Windows Mobile sucks in this arena. The iPhone, Android, and PalmOS all have it beat there.
Content Provider. Applications are apparently allowed to share data amongst each other. The contact database is a good example of this. Let's see - where did I first see a really good implementation of shared application data such as a calendar store, a contact store, a shared to-do list....? Where... where... oh yeah... Mac OS X. (which includes the iPhone)
Use of platform services, create an instance of the Intent class to register an intent to do something. Late-bound picking, e.g. you can replace the photo gallery default with a new, fancy one. This seems like a pretty intriguing concept. I like the idea that there's a platform service to "pick a photo" and you can consume this service and be (reasonably) assured that you'll get a photo selection back, or you can create your own photo selection service provided you conform to the requirements of a platform photo picking service. This looks like a pretty good development opportunity here.
Activities and state management. Feels like a miniature/mobile, specialized version of workflow foundation for suspendable/resumable applications. A while back, I remember writing a blog post on how the Windows Workflow Foundation was a great tool for writing applications that needed a particular process to be halted and then resumed at will. The Android implementation here seems to be borrowing a lot of really good concepts from workflow management systems and frameworks. As with everything, it's all still theory at this point since there are no devices running Android in the wild yet.
XMPP - any app send device-to-device messages to any user running android app. Apps can send multiplayer messages like moving a knight from a location to a new location. A user can send their location to their buddies so their buddies can see where they are. Works with any gmail account. Also seems like a really cool concept, but we'll have to see how this plays out in what I like to call, the "real world".
Notification Manager - allows any app to put a notification into the status bar. Apps can notify you when an auction is ending or when someone added you as a friend on a social network. Also looks like a cool feature.
So in short, I've come to a conclusion. It looks as though the core framework of features that Android provides for developers is a pretty robust feature set. It's damned unfortunate that said feature set is accessible only through Java. In February of 2008, developers are going to get to choose whether they want that same feature set (give or take a few) accessible through Objective-C or whether they want it accessible through Java. Also in February, they'll get to choose whether to target 1+ million live and active phones, or some unknown number of potential phones that are not on the market yet. Or, developers can continue to target the insanely huge market share of Windows Mobile developers.
My money is on targeting iPhones and WM devices until Android actually shows up live and in the wild on more than 500,000 devices.
Also, don't be fooled about the Android developer challenge. That's not $10million in prize money, that's a $10 million bribe in order to obtain the critical mass of engaged developers they know will be required for anything useful to come out of the Android project. If they don't have truckloads of developers begging to get their apps onto the phone, their framework will fail and all the mobile partners will go back to business as usual.
tags: google android sdk mobile
links: digg this del.icio.us technorati reddit
Published November 29, 2007 Reads 30,930
Copyright © 2007 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
- Sun Embraces Android
- Google Announces $10 Million Android Developer Challenge
- Android: Who Hates Google Over the Phone?
- Google Puts $10m Bounty on Android Development
- Google's Android Threatens To Fork Java
- Artificial Life Supports Google's Android Mobile Platform
- Opinion: Do Google Android Mobile Apps Lack Consistency?
- Android Outside the Mobile Domain
More Stories By Kevin Hoffman
Kevin Hoffman, editor-in-chief of SYS-CON's iPhone Developer's Journal, has been programming since he was 10 and has written everything from DOS shareware to n-tier, enterprise web applications in VB, C++, Delphi, and C. Hoffman is coauthor of Professional .NET Framework (Wrox Press) and co-author with Robert Foster of Microsoft SharePoint 2007 Development Unleashed. He authors The .NET Addict's Blog at .NET Developer's Journal.
![]() |
Art Rosenberg 01/06/08 03:10:08 PM EST | |||
I am glad to see the moves to open mobile devices to any application. In particular, as a thought leader in unified communications (UC) for business use, the lack of open, personalized, multimodal devices ("smart phones") has been a big obstacle for exploiting the flexible UC capabilities that IP communications can support. You may want to read my recent comments on exactly enterprise organizations can exploit multimodal mobility to make business processes more efficient. They have been published on TMCnet, UCStrategies.com, as well as on my blog site mentioned above. Open mobile OSs, combined with multimodal device form factors, will clearly change the legacy world of telephony for both business users and consumers. (By definition, consumers, as customers, are also business users!) Best regards, |
||||
![]() |
Android News Desk 11/26/07 05:55:17 PM EST | |||
My money is on targeting iPhones and WM devices until Android actually shows up live and in the wild on more than 500,000 devices. Also, don't be fooled about the Android developer challenge. That's not $10million in prize money, that's a $10 million bribe in order to obtain the critical mass of engaged developers they know will be required for anything useful to come out of the Android project. If they don't have truckloads of developers begging to get their apps onto the phone, their framework will fail and all the mobile partners will go back to business as usual. |
||||
- It's the Java vs. C++ Shootout Revisited!
- Patterns for Building High Performance Applications
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Cross-Platform Mobile Website Development – a Tool Comparison
- Three Buzzwords That Every CIO Hears but One They Should Listen To
- Write Once Run Anywhere or Cross Platform Mobile Development Tools
- Immersing into JavaScript Frameworks
- Workday Reportedly Prepping to Go Public
- Cloud Expo New York: The Java EE 7 Platform - Developing for the Cloud
- Book Review: Sams Teach Yourself Java in 24 Hours
- OpenOffice.com Lives
- Book Excerpt: Introducing HTML5
- Adobe Sends Flex to the Apache Foundation
- Five Years Waiting for JRE 7: Is It Justified? (Part 1)
- Book Excerpt: Java Application Profiling Tips and Tricks
- i-Technology in 2012: Five Industry Predictions
- It's the Java vs. C++ Shootout Revisited!
- Patterns for Building High Performance Applications
- OpenXava 4.3: Rapid Java Web Development
- The Next Web Architecture
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Is Write Once Run Anywhere Ever Going to Be a Reality?
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- JavaServer Faces (JSF) vs Struts
- The i-Technology Right Stuff
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate
- Why Do 'Cool Kids' Choose Ruby or PHP to Build Websites Instead of Java?
- What's New in Eclipse?
- i-Technology Predictions for 2007: Where's It All Headed?




















