The Deacon Project Droid+Beacon – Open-Source Push Notifications for Android & Java

21Sep/112

Updating: Deacon and how we build it

Thanks to the testing efforts of GitHub user Bonna and our contributors at Attendit, we've uncovered a somewhat nefarious bug between Deacon and Android that leaves a parent app hanging if Deacon's connection "goes dark" without an explicit disconnect event. While this isn't the sort of event you see with emulators and comfy lab environments, it does happen out in the real world of fluctuating coverage and unpredictable 3G/4G/WiFi transitions. Thanks to some debug output from Bonna's gingerbread device, we think we've got it resolved - a fix is currently being tested in the feature-pingcheck branch, and will be merged into master if it resolves the issue.

Speaking of branches, there's something else I've been working on. Ever since reading through Vincent Driessen's nothing-short-of-stellar Git branching-model workflow write-up, I've been looking forward to using it on Deacon. After spending some time with biz-partner Pat sand-boxing around with Vincent's equally-awesome git-flow extensions and Justin Hileman's git-flow autocompletion, we're hooked. I'm already using git-flow with Deacon on my local development box, and when we're ready to merge in the bug fix I described earlier, I'll push the new branch structure to the github repository. This also means that the default branch on github will change to develop, and that master will only hold release snapshots that are used to build the .jar files found in the downloads section.

If you're using Git for version control or SCM, I definitely recommend you check out git-flow. Git is extremely flexible, and imposes very little structure on branching and merging - which is part of what makes it so powerful. But with no tool-imposed discipline, a repository with several contributors can quickly become a rat's nest of branch clutter and inconsistent tags. git-flow imposes a minimal amount of discipline that can really clean up a project's repository, and fits nicely and unobtrusively into just about any software development process. Now...if only we could improve people's commit messages!

About Dave

Dave Rea is an upstate-NY engineer specializing in embedded systems. He holds a BS degree in Electrical Engineering and a MS degree in Software Engineering, both from the Rochester Institute of Technology. Dave is an open-source enthusiast, totes an HTC Droid Incredible, and runs Ubuntu Linux. You can find more on Dave at daverea.com or LinkedIn.
Comments (2) Trackbacks (0)
  1. Hi Dave,
    I’ve used the library only for testing since few months and I like it. I want to contribute, is there something what I could do?

  2. Hi Dave congratulations for your great work. This project is a great interest of mine and i would like to contribute. Please, drop me an email and let me know how I can help you!


Leave a comment


No trackbacks yet.