This is abit of a read, but I tried to cover everything. I’m going to create this is a timeline format. Hopefully I don’t fail.
At the beginning of July I received a message over Steam (while dominating as a Sniper in TF2 *flex*) asking if I wanted to take part in an app making contest for the City of Edmonton via Greg. Since most of my other friends were either to busy doing other things, or still in school I leapt at the chance to build *something*.
I had looked into the deadline for the application at the City of Edmonton and saw that it was August 27, 2010. That would give us roughly a month to build an app, test it, and release it out to the public.
At this point we hung out and decided our roles, Ben and myself as developers, and Greg and the graphics designer. We were to break out, come up with some ideas and meet in a few days.
First things first. We started throwing out ideas over the table. We wanted to use something from the open data catalog that the City of Edmonton has graciously provided.
Ben had built a prototype of an ETS map that would’ve allowed us to do many things with the ETS data. There was tons of data on ETS, but we new that market was going to be saturated and wanted to try and think outside the box. We also wanted something that everyone could use (not platform specific ie. iPhone, Android). We decided pretty much everyone has a cellphone now (prove me wrong!).
I had taken inventory of everything that was on the site (that I found might pertain to our app) and came up with the idea of alerting people of garbage day via text. With the team building off of this idea, it slowly morphed into a full, real-time alerting system with many features (not just garbage day anymore). We had loads of data to provide alerts on. Garbage days, soccer field closures and many others.
Analyzing City of Edmonton
The room was alive with ideas and how we could implement it. But it all came to a full stop once we realized the amount of $$$ it costs for a short code. Upwards of 500$ a month (short codes must be used for business, you couldn’t buy a phone from a cellphone company and use that phone number. If i’m not mistaken it’s against the TOS). /images/old/ We thought the idea was dead right there.. But Ben had a plan! He has a friend who owns Direct Text Marketing. And thought we might be able to get some sponsored texts… We put this thought on hold for now (until Ben heard word from his friend) and moved on to the next topic…
Watch your Language!
Ben being a pHp developer, and myself being a .NET/COBOL developer didn’t help things. I’ve always declared that I hate Ruby on Rails. I just didn’t get MVC, or the magical ninja helpers that Ruby on Rails provides, on my first attempt with RoR. But, we needed a language that would be common to both of us. Ruby on Rails it was! For the next week, we’d be learning Ruby on Rails.
It was a little crazy, we had a month to learn a new framework, and a new language. But we were down for a challenge.
Good news everyone…
Ben spread the news to Greg and myself that the text messaging with Direct Text Marketing was a “go!” and we had a sponsor.
We knew we needed some tools for this, so we setup Dropbox for our non source code files (images, word docs, etc.), github for our source code (12ish $ a month for an awesome remote repository) and we used Cacoo for our design documents, web layouts, and over all workflow.
We both started with Rad Rails 2 which was the worst mistake of our lives. After banging our heads against the walls, we changed up our development tools. Ben moved over to Textmate for his Mac and I moved over to Aptana Studio 3 Beta which basically copied Textmate (but it’s for Windows!) and has the bash console in the program. I also tried out E Text Editor, but I found it to be a terrible clone of Textmate (the tabbing system didn’t even work properly for me).
E Text Editor Fails. Half Tabs!?
What’s in a name?
2 hours. 2… long… hours. That’s how long we sat around thinking of names, checking them against a who is database, and face palming whenever we had a good name, and the .com was taken. We came up with a few names and wrote them on our white board and got up to go grab some donairs. Greg went to go get ready, and Ben and I were still coming up with ideas. I was determined to get a Z in our name (Z’s are awesome. I’m gonna name my kid Zen, I swear. Boy OR girl). Anyhow, I blurted out “Alertzy!” In a greek kinda voice, and we added it to the board. We chowed down on our hard earned donairs and picked the name Alertzy an hour later.
Alertzy was added to facebook and twitter on this day also.
Garbage data madness
At this point Ben and I were pretty much through the rails tutorial that we were using to learn Ruby on Rails (with the addition to some other books I had).
Ruby on Rails Books
We noticed that the open data was kind of weird and didn’t match up, we ended up figuring out what was wrong and synced the data up. We fired an email off to the open data at OpenData@edmonton.ca and they fixed it up for anyone else that would be using this. After the competition closed, we noticed that @MarkBennett also had the same problem.
We had been coding for a few days now, and everything was starting to come together.
Ben sent out an email with a full test of the Alertzy backend. It worked! Hurrah! Greg also had some great images setup for us to build a layout off of.
Many many lines of code and photoshopping was done during this time. I won’t paste the technical details here, as Ben and I plan to post some technical details of the project at a later date. Ben currently has a few articles at of mice and pen.
With all of the graphics applied and Alertzy version 1.0 being done we weren’t quite sure who was the best host, or who to go with. We ended up going with hostingrails.com, but then after a horrible hosting experience, we ended up moving over to slicehost.
Ben spent many of many hours getting the server up and running. We currently use deprec Capistrano to deploy our application. And for the record, the documentation on the internet was quite poor. I’m sure Ben will blog about this sooner or later.
The site went live on slicehost providing garbage day text message reminders, along with field closure text messages.
Current day, August 31,2010
Thoughts on Apps 4 Edmonton
I think the City of Edmonton was smart to have a competition like this. They provided incentive, data for us to work with, support on that data, and a platform for users to submit ideas, what more could a developer want?
The only concern I would have as a developer would be that the datasets stay up to date, and in the same format. That goes for all cities using the open data catalog.
Thoughts on Alertzy’s business viability
Can Alertzy survive in the market? Absolutely.
We’ve built Alertzy with the ability to scale, use other cities open data catalogs, have a business plan on how to create revenue, and currently spend a very minor amount to host the website thanks to our sponsor.
As the cellphone world expands, we plan to be the #1 alerting system in Canada due to cross platform capability.
Did I mention we plan to roll out email alerts in the future? No more adding items to GMail or Outlook, the alert will be emailed to you directly.
This wouldn’t have been possible without teamwork and dedication. Greg was off working in Toronto putting in time designing buttons (which we later scraped, sorry Greg :( ), Ben spent his whole weekend fixing the slicehost VPS to allow us to deploy easily and built an awesome garbage map zone pinpointing system while I worked on the verification system.
Whenever problems came up we’d band together and “war room” as Ben would call it. Figure out a strategy and execute the plan. We ran into many problems, but we managed to put our heads together and figure them out.
At this point I’ll throw out a shameful plug. If you want to be alerted of Edmonton’s field closures, or are tired of missing garbage day, sign up at Alertzy. If you’d like to support our development, show us some love and vote for us at Apps 4 Edmonton.