Late last night, I received an email telling me that my “latest” Windows Phone 7 app has been approved and published to the Marketplace. [direct link]
I put the word latest in quotes, since this app was really the first major WP7 app I started writing.
In fact, I even mentioned I was working on it when I gave the keynote at the 2011 NoVA Code Camp last December.
The site and its irreverent content is best explained on their about page:
Texts From Last Night (TFLN) was founded in February 2009 by two friends for reasons that may or may not include: the tendency to press send more easily as the night turns to morning, friends' social habits, disgraced government officials, exes, law school, closing down bars and leaving tabs open, general debauchery and/or a common disgust for all the negativity surrounding the 'sexting' phenomenon.
We prefer texts, not conversations. We reserve the right to post portions of conversations without duplicating the entire thing. It's not because the entire thing isn't funny, but the funniest texts are those we can all relate to, so without the context of the conversation, they become really funny.
Basically, you’ll either find the content on TFLN horrible or horribly funny (or somewhere in the middle).
What I found intolerable is that there was no app for Windows Phone, despite there being one for Blackberry iOS, and Android. Interestingly enough, only the iOS and Blackberry apps are “official” apps.
The Android one was created by a fan and thus began my inspiration for “Project TeFLoN”.
We’ll either find a way or make one. –Hannibal
I poked around the site a bit in the hopes of finding a nice little Web API, since that’s how things should be built these days. Sadly, there wasn’t one that I could find.
I even tried packet sniffing from my old Android phone. No luck.
This wasn’t going to be quick or easy.
Our goal was to create a site that was revealing in nature while concealing the identity of everyone involved. This is why we only ask for an area code to accompany your text messages.
It turned out that to built out TFLN, I needed a fairly robust database of area codes. This was the first problem I tackled, since API or no API, it had to be done.
I’ve Got Developers in Different Area Codes*
*With apologies to Ludacris,
As I started building the app, I quickly realized that an area code look up program would be a handy reference app. It was also an order of magnitude easier to build and would be publishable before the end of December.
This was the demo app I showed off at the NoVA Code Camp keynote on December 10 and made it onto the Marketplace by the 16th. My first published app turned out to be quite popular and has been a great demo app for presentations and for the resume.
Keep on Keeping On
I’ve had a somewhat functional version of the app since December, but it wasn’t exactly production quality.
Since I work on the app in my spare time, and spare time gets pretty rare around the holidays, the new year, and changing jobs, it got postponed.
Eventually, a bit of insomnia inspired me to wrap up the project by finding a nice clean way to scrape the comments. (More on this in a future post.)
With the final technical obstacle out of the way, on July 14th, I submitted TFLN for approval. Much to my shock, it was rejected due to “offensive language.”
I was taken aback, but had gone too far to be stopped now. A few days later, I had coded up a language filter, tested it thoroughly, and made sure it was on by default.
The second time around, the app was rejected for “digitally modified screenshots.” I had blurred out a bad word in one of the screenshots.
Needless to day, I was overjoyed when I finally received the approval email and saw my “little project” available on the Marketplace.
You may be thinking, “wow, that was a lot of work for two little free apps.”
True, but I learned an enormous amount during the process and now have several reusable libraries to build more apps. In fact, two more are in the works. One of these apps was written in about 15 minutes, because of all the heavy lifting I already did in one of the base libraries.
That same library set is also being used by a local MVP to build out another app and will likely end up on CodePlex.
Last November, when my old roommate from Richmond showed me the TFLN web site, I knew I had to bring it to WP7. I had no plans to build a library set or an area code database, but through various twists and turns, one idea turned into several.
The moral of the story is to keep pushing your ideas, but be flexible enough to adapt them to fill other needs. You may be surprised where you end up.
Enough talk, check out the app that started it all: