It. Is. Finished.
No, Deacon's Beta release is not finished.
But grad school is. As of 8:30 tonight, my wife and I clicked the mouse button together on my final submission of my final class of my final quarter of a master's in software engineering.
After completing 64 credits in a year, I must say, it's quite a relief! And now we'll return you to your regularly scheduled programming...
Deacon/C2DM Compatibility
After reading a bit today about Google's implementation of their new "Chrome to Phone" system, I had an idea that I think will finally give the Deacon beta release sufficient functional differentiation to earn its name.
The Cloud-to-Device Messaging feature in Android 2.2, referred to as C2DM for short, is what makes Chrome to Phone work. Your Chrome web browser contacts a Google AppEngine server, fires off a message, which is then routed through C2DM to your handset. In reading more about how C2DM interacts with developers' apps, I learned that it uses an Android's Intent objects to let an app know that a new push message has been received.
This got me thinking - how could an app developer put together an app that could work both on C2DM-enabled phones (Android 2.2 and beyond) as well as use Deacon to support pre-2.2 devices, or tablets that don't have Google's C2DM framework installed (it's only available on "with Google" devices). If a Deacon-powered service could fire an Intent that matched the format of Google's C2DM intents (reminiscent of a suggestion on the Deacon mailing list), then a developer would only need to write one set of receiving-end code. While deploying separate versions of the app (containing the appropriate service; C2DM- or Deacon-powered) would still be necessary, the code that consumes push notifications could be identical.
So, if you check out the Deacon Project Roadmap, you'll noticed that I added C2DM-compatible intent generation as a Beta release feature (and made a few other updates). Now, I'm very much looking forwarding to having time to work on it! Six days of grad school left...