Deacon: Musings on Starting an Open-Source Project

Posted in Random thoughts by dave on July 26, 2010 2 Comments

I’ve been using open-source software since the late-nineties – I can still remember the intrigued excitement I felt when my friend Seth first told me about a free system called “Linux”, and showed me the LRP box humming along in his attic. In April, nearly two college degrees, countless thousands of lines of code, and over a decade later, I felt that same excitement when I decided to launch my own open-source project. “Deacon” (short for Droid+Beacon) was on its way to becoming a library for Android developers who wished to add push-notification capability to their Android applications. The Deacon library would avoid requiring the use of any third-party server for push delivery, affording complete autonomy for app developers – and embodying the spirit of freedom and choice that the Android platform represents.

In my years as a member of the free software community, I’ve seen plenty of projects come and go, and even witnessed the rise and fall of an empire or two (yes, Gentoo was my daily-driver for a while). But I never really considered just what the creation of a community around a piece of software would entail. As I tend to do, I oversimplified the concept – just “hang out your shingle” (virtually, of course) and the magic of the Internet will unleash a throng of developers and users at your doorstep. Teamwork would flourish, bright people would contribute inspired code, and all would be right with the world.

In the first week of the Deacon Project’s existence, I pulled some late nights and scraped together everything that – in my experience – I felt an open-source project ought to have. I started with a WordPress-powered web site (deaconproject.org), a hosted repository and project wiki on GitHub, and a mailing list. The blog’s first post painted a picture of the project’s inception, and offered a simple vision for how the Deacon push library would take shape. Within hours, I had my first contributor – my good friend and fellow grad-student, Spencer. A few days later, I received an out-of-the-blue email with another offer to contribute – this time, from Toronto-area software engineer, Android-enthusiast and entrepreneur Faisal Abid. The library began to take shape, with plenty of commits and frequent new blog entries.

It’s been four months since I founded and announced the Deacon project, and the team and I have learned a few lessons about open source projects along the way. The project is admittedly still a fledgling, but if you’re interested in hearing a few impressions from our work so far, feel free to hit the jump

More…

Side note: New project announcement

Posted in Geek Stuff, Random thoughts by dave on April 16, 2010 No Comments yet

File under “Just wanted to mention…”

Chances are most people have never noticed – and likely don’t care – that the Android mobile phone platform doesn’t have a native way to do Push Notifications. You know, something happens somewhere, and your phone buzzes and lets you know about it. You’d be surprised how much goes into making that happen – it’s a little more complicated than just shooting off a text message.

The folks over at Xtify have created a nice Push framework for Android, but (as a developer) you have to use their servers to push out your messages. I can just hear you asking now: Wouldn’t it be nice if there were a way for Android developers to push-enable their apps without depending on an outside server? You weren’t asking that? Well, just stick with me here.

Never mind. Long story short? I decided to plug this gap by creating a new open-source project aimed at bringing push notifications to Android developers. It uses the Meteor web server as a back-end – effectively, it’ll just be a pure-Java implementation of a Meteor client. Maybe it’ll take off, maybe it wont – but I hope it can benefit someone at some point! You can read more about it at The Deacon Project.

Use Skype on your Droid … with Wifi!

Posted in Geek Stuff, Ranting by dave on March 25, 2010 No Comments yet


This morning, the fine folks at Verizon and Skype unleashed their first attempt at an “official” joint-venture application for Skype on smartphones – including Verizon’s Android-powered offerings. Given the anticipation that’s been brewing, installing the newly-released app was the first thing I did after pulling my Droid from its cradle today.

Unfortunately, seeing the official Skype Mobile application waiting for me in the Android Market was where the positive experience ended. After installing, the app informed me that it wouldn’t work with the phone’s Wi-Fi connection enabled. Odd, I thought, considering that it’s already been well-publicized that Skype-on-Verizon will use the Verizon voice network to deliver calls, but without deducting any minutes from the user’s plan.

As it turns out, this new Skype app will only sign in if Wi-Fi is disabled on the handset – meaning that no other apps can use that Wi-Fi connection, either. Re-activating Wi-Fi causes an automatic log-out from Skype – so much for that “always on” connection that’s advertised in the app’s description!

Fortunately, there are a few ways to enjoy Skype connectivity on your Android-powered device. Rather than installing the Verizon Skype app, check out these alternatives:

Sipdroid

A decently well-integrated SIP client (that is, a soft-phone that can make and receive VoIP calls using the SIP protocol) that doubles as a Skype client.

Fring

A nice multi-protocol chat and VoIP client with a slick user interface; it’s gone through some revision lately, but gets better and better as its user base grows.

Truphone

While this one isn’t Droid-compatible, I tried out an early beta version and found it to be fairly workable. If you have an Eris or are saving your pennies for a Nexus One, HTC Incredible or Devour, this one might be worth a test-drive…

Android fitness apps: CardioTrainer vs. Buddy Runner

Posted in Geek Stuff by dave on March 4, 2010 3 Comments

Sometime in 2006, some co-workers and I tried our hands at running. We’re not all that fast, and our endurance isn’t all that great, but we enjoy hitting the pavement together, and we’ve all reaped some big-time fitness benefits from the hundreds of miles of ground we’ve covered in our four years of ground-pounding. What we lack in performance, we make up for in dedication – we run right through the bitter Upstate-NY winters – but none of us has ever felt dedicated enough to drop several hundred clams on a dedicated GPS training device.

But then, at long last, the Droid came to Verizon, and I finally entered the world of Android users. Not long after me, one of my running buddies traded in his Blackberry Storm for a Droid as well. Since then, I’ve tried out a couple of apps for runners, and thought I’d share a few observations here…

CardioTrainer

The first app to join me on my runs was CardioTrainer, from Android app house Work Smart Labs. I tried the free app on a couple of trail runs during a visit to California, and it did a great job. Given the unfamiliar surroundings, it was nice to have a little insight into how far I’d gone. CardioTrainer measures distance, time, pace and calories burned in real time using your handset’s GPS receiver, and automatically – and anonymously – uploads completed workouts to the Work Smart servers. There, you can view additional details about your performance, as well as check out your route on a larger map.

After returning home, I tried CardioTrainer on several routes that I had previously mapped using online tools such as MapMyRun or the GMap Pedometer. The app’s distance measurement is very accurate, and receiving spoken pace and time information proved helpful in regulating my speed and achieving a more balanced effort. Still, it’s is not without its annoyances – despite the formidable processing power of the Droid, CardioTrainer takes noticeably longer to register screen taps than other apps, especially when it’s using the GPS. During some runs, while the overall distance and time numbers are correct, large portions of the track are mysteriously missing from the track display. I suspect this has something to do with the autopause feature.

Checking in on the CardioTrainer web site, users can view their training history and data logged for each workout. Oddly, each workout’s elevation graph is accessible on the web site but not via the handset interface, while a pace graph is available on the handset but not on the web site.

Pros

  • Many configuration options
  • Live map display – very helpful to check for dead-end roads when running in an unfamiliar place!
  • Automatic track upload to CardioTrainer web site
  • Can track several different activities – running, walking, biking, etc.
  • Ability to manually add workouts (such as for indoor activities, swimming, etc.)
  • Configurable auto-pause stops timer and pace calculations if you stop moving

Cons

  • Pace graphs only show miles/hour, not minutes/mile (which would be preferable)
  • Voice guidance configuration could be improved
  • Autopause can disrupt track logging
  • Can export KML and GPX files, but not import

Buddy Runner

After experiencing a few quirks with CardioTrainer, I took a look in the Android Market for other options. Buddy Runner seemed to have a strong rating and a friendly pricetag (it’s also free), so I gave it a shot during today’s run. While the interface is far more sparse than that of CardioTrainer, BuddyRunner does allow customization in one area that its competition does not: specifically what data is read aloud to you during voice guidance. Rather than CardioTrainer’s pre-defined content – which alternates depending on whether you’re at a milepost or mid-mile interval – users can choose exactly which data points they want to hear.

In use, Buddy Runner is simple – the main screen provides “Start / Pause” and “End” buttons, as well as tickers displaying time, distance and pace. A map view is also provided, though I’ve never looked to see if it’s updated in real-time. I particularly like the fact that Buddy Runner gives you an option to select how your voice-output pace is calculated – it will read out either the “live” pace from your last few seconds of running, the average pace for your last mile, or your overall average pace for the entire run. Based on my usage of CardioTrainer, I’ve surmised that the only pace it reads to you is the “live” pace, which is what I prefer to hear anyway.

Pros

  • Better voice guidance configuration
  • Simple interface, easy to use while running
  • So far, no corrupted tracks
  • Configurable pace calculation (last few seconds, last interval, entire run average)

Cons

  • Only tracks running – no other activities
  • Autopause is either “on” or “off” – the stop interval isn’t configurable
  • Requires e-mail address to enable uploading of tracks to the web, but does upload automatically
  • No visible feedback on button-presses, such as highlighting – a complaint common to many Android apps

Conclusion

With both CardioTrainer and Buddy Runner on my phone, I’m hard pressed to choose a winner – neither is head-and-shoulders above the other, at least when it comes to running. I’m inclined to look past CardioTrainer’s occasional quirks, given that it has the capacity to track other forms of exercise, as well as input indoor workouts manually – we all know I enjoy my time on two wheels. Which will I use going forward? For day-to-day runs, Buddy Runner wins, since I can choose what I want read aloud to me while running. If both apps were to slap on a $5 price tag tomorrow, however, my money would go to CardioTrainer – it simply delivers more functionality and a smoother user interface. They’re both great apps – and I would encourage any Android-toting runner to give each a try.

First mobile post Evar!!

Posted in Geek Stuff by dave on February 2, 2010 1 Comment

image

Just testing…

Does your DROID sign its name?

Posted in Geek Stuff by dave on November 13, 2009 8 Comments

Update 2010-01-15: I’ve noticed a lot of folks finding this post while searching for ways to enable a signature on their Droid / Android phones … It’s as easy as 1-2-3:
1) Open the GMail app
2) Tap the menu key and select “Settings”
3) Tap the “Signature” setting – you will be prompted for your desired sigline!

I’ve had my new Motorola Droid for a little over a week now, and if my experience so far is any indication, spending the next two years with this phone will be a joy. It’s solid, it works beautifully, and so far I haven’t found a single thing it can’t do.

john hancock

One of the things it can do is add a signature line to emails sent using the phone’s GMail client. And about this, I am conflicted…

Just about anyone who uses e-mail these days has probably received messages from their iPhone-toting friends, happily auto-signed “Sent from my iPhone”. In the digital world, there was a time when this little line of text was as much a status symbol as actually having the iPhone itself, and I’m sure more than a few folks (myself formerly included) promptly dismissed it as yet another way for the narcissistic among us to shout, “Look at me! I have an iPhone!” And yet…

I’ve actually developed a rather healthy appreciation for that little signature. Same goes for “Sent from my Verizon Wireless BlackBerry”. It tells me a lot about the message that precedes it – most importantly, that the sender typed it out on a tiny little keyboard with his-or-her thumbs, and that the probable terseness of the message isn’t personal, but merely an artifact of the computing environment from which it originated. Despite the cultural connotation, seeing “Sent from my [whatever]” at the bottom of an e-mail is actually quite useful.

Which brings me to my present conundrum… Should I configure my Droid to auto-sign e-mails? The self-conscious side of me doesn’t want to come across as gloating – because ultimately, being a smartphone user (even if it’s Android-powered!) does not make you special. At all. And anyone who knows me knows I very much dislike calling attention to myself. But on the other hand, I personally find these signatures useful, and I can’t imagine I’m the only one who changes my perspective slightly when I read an e-mail that’s sent from someone’s mobile device. Maybe I should borrow my friend Chris’s strategy, and just auto-sign “Sent from Mobile Device”?

If you’re a Droid / iPhone / Blackberry / S60 / WiMo / Tréo / whatever user and you send e-mails from your phone, what’s in your sig line? Do you even use one? Any reason for your decision? Hit up the comment form and let us know…

WordPress App for Android?

Posted in Geek Stuff by dave on November 1, 2009 No Comments yet

Being an unapologetic Android fanatic, and a blogger who enthusiastically uses WordPress, and considering I’m under 5 days away from getting my first Android-powered device, I guess it’s only natural that I’d do a little poking around and see if there’s a WordPress app for Android. After all, they support iPhone and Blackberry, right?

Yet despite the secretive-looking protected blog façade at android.wordpress.org, which would tend to imply something’s in the works, there doesn’t seem to be an official WordPress app for Android. Searching the help sections at wordpress.org and wordpress.com reveals little, though there are a couple of third party apps aimed at using the WordPress XML-RPC feature to enable posting from Android devices.

And then, in the midst of watching a UI demo video for the forthcoming Sony Ericsson XPERIA “Rachael” device, which runs Android, I noticed a very official-looking WordPress app in the demo unit’s main menu!

XPERIA_Rachael_Wordpress

The video from which I grabbed this image isn’t new – it was posted way back in July – so if the app that I’ve highlighted above really is official, they’ve been working on it for a while. That said, it could just be a placeholder, or some manner of concept marketing fluff, or any number of other, not-anywhere-near-official things. Also, if you squint through my selective blurring, you’ll see that “DroidWord” also inhabits this particular menu – and I think most of us will agree that’s pretty far-fetched! But in the case that Sony has given us a brief glimpse of an official WordPress blogging app for Android, I’m hoping its release comes soon – perhaps alongside the release of the first few devices to feature Android 2.0?!

Android: Google’s Anti-Troll Strategy?

Posted in Geek Stuff by dave on October 23, 2009 No Comments yet

Long before Google and the Open Handset Alliance announced the Android platform to the world, there were plenty of folks speculating that Google might be concocting their own smartphone – the mythical “gPhone” – sparked by Google’s acquisition of the fledgling Android OS and its parent company waaaaay back in 2005. The mass realization that Google actually had no plans to build their own handset led to a lot of temporary disappointment, but if Google CEO Eric Schmidt’s recent proclamation that “Android adoption is about to explode” is any indication, that disappointment has worn off.

But then, yesterday, we learned of something big happening in a different corner of the smartphone world: Nokia has sued Apple over 10 patents that it claims are infringed by the Apple iPhone. What’s this got to do with Google and Android? Other than that it got me thinking, pretty much nothing…

Illustration by Bob MacNeil

Illustration by Bob MacNeil

Nokia – which happens to be the world’s largest designer and manufacturer of mobile telephony products – is not a patent troll. But there are a lot of patent trolls out there, lurking under the moss-covered bridges of the intellectual property world. They’re companies whose only purpose is to collect patents and try to assert those patents against companies that actually create things. Perhaps Apple’s current situation – which will probably end in a settlement, if BGR’s prediction comes true – is a touch illustrative of why Google never actually designed a phone of their own…

By staying focused on the software stack and the user experience that Android provides, Google has leveraged their expertise and ability to execute to achieve the best of both worlds: They promote their services (and, in turn, monetize their efforts) through tight integration with the Android stack, and let the phone manufacturers – who already have the licenses and IP agreements in place in order to manufacture phones – take care of producing the hardware. By open-sourcing the Android operating system, and basing that system in large part on a foundation of open code, they garner even more protection from patent trolls; it’s awfully tough to find patents to assert over ideas that are in the public domain!

The lesson to take away from all this? Perhaps it’s that Android is proof-positive that a company can choose a path that’s good for their customers, good for the computing community at large, and simultaneously good for the company. This certainly isn’t the first time Google has struck that balance – and I’m sure it won’t be the last.

[image source]