#yeg turns ten

Today marks the tenth anniversary of the #yeg hashtag on Twitter. Here is the first #yeg tweet:

https://platform.twitter.com/widgets.js

That’s probably the only time I have used #Edmonton! Ever since then, it has been nothing but #yeg. Here’s what I wrote about that tweet back in 2009:

“If I remember correctly, I found about the #yyc hashtag while I was in Calgary for BarCampCalgary2 on June 14th, 2008. I learned from @wintr that a few Calgarians had started using the hashtag to tweet about things related to their city. I thought it might be a good idea to do something similar here in Edmonton.”

Timing counts for a lot, and my Twitter story is no different. I was in the right place at the right time and joined Twitter early, on July 14, 2006. It was a fun and frustrating time (remember the fail whale) to be on Twitter. I convinced Sharon to join Twitter fairly early on, in October 2006. Her first tweet, fittingly, was about food. (Her second tweet the next day was an attempt to turn off Twitter, which at the time worked via text message).

Being one of the first people in the world on Twitter meant I was one of the few people to follow when others joined. It also probably meant I was just statistically more likely to be the one to post the first #yeg tweet, though looking back now it is kind of amazing to me that it took two years to do so. On the other hand, it wasn’t until August 2007 that Chris Messina suggested using the # symbol for groups on Twitter and posted the first hashtag in a tweet. Tagging was popular on the web already at that point but the word “hashtag” was new. Its use grew so much that it was added to the Oxford English Dictionary in June 2014.

EdmontonTweetup
That’s me speaking at the first EdmontonTweetup in May 2008

On the fifth anniversary of the #yeg hashtag in 2013 I wrote:

“People from other cities often comment on how connected and tight-knit the online community in Edmonton seems to be, and I think the #yeg hashtag is really at the heart of that. We’ve used it to make new friends, to share the news, to raise money for important charitable causes, and for thousands of other interesting and important reasons.”

It didn’t take long for Edmonton’s Twitter community to grow beyond simply #yeg. Now people use all kinds of tags that start with #yeg like the ever-popular #yegfood. It used to surprise me to see #yeg used in places outside Twitter. Now, for better or worse, it’s part of the social fabric of our city.

https://platform.twitter.com/widgets.js

Still, it wouldn’t be the hashtag (and community) it is today without all of the people that have worked to support and grow it over the years. Especially Brittney, Adam, Jerry, Tamara, Linda, and Kathleen, to name just a few.

Oh, and it’s pronounced y-egg not why-e-gee. 🙂

Here’s to the next ten years of #yeg!

A look at Instagram usage in Edmonton

In this post I’m going to share some data on how Edmontonians are using Instagram1. This data was collected using the Instagram API over the 30 days between June 9 and July 8. My aim in this post is not to try to quantify every Instagram photo posted in Edmonton, but rather to give you a flavor of what Instagram usage looks like in our city.

instagram photos by day

During the month in question, I tracked 90,679 total photos posted by 15,395 different users. The average number of photos posted per user was 6, while the median number was 3. Just 4 users posted more than 200 photos over the month, while 25 users posted 100 photos or more.

Filters

One of the things I was most interested in was filter usage. Which filters are the most popular? It turns out that 59% of all photos posted did not use a filter at all! Here’s the breakdown:

instagram photos by filter

The top five filters were: Amaro, Valencia, Mayfair, X-Pro II, and Lo-Fi.

Likes & Comments

I tracked the number of likes & comments posted on each photo for a short period of time only, so some may have accumulated more over the course of the month than I captured. A total of 15,825 photos or 17.5% received no likes, while just over 64,000 or 70.7% received no comments.

instagram photos by likes

The average number of likes a photo received was 13, and the average number of comments received was less than 1. One photo received more than 4,000 likes and one received more than 260 comments.

Tags

Here’s a tag cloud of all the tags used on the photos posted during the month:

instagram photo tags

Here are the top 25 tags used:

  1. yeg
  2. love
  3. edmonton
  4. summer
  5. cute
  6. instagood
  7. follow
  8. photooftheday
  9. followme
  10. beautiful
  11. selfie
  12. tagsforlikes
  13. tbt
  14. like4like
  15. girl
  16. happy
  17. smile
  18. picoftheday
  19. canada
  20. instadaily
  21. tflers
  22. food
  23. likeforlike
  24. amazing
  25. bestoftheday

Roughly 40,252 or 44% of the photos posted did not have any tags.

Neighbourhoods

One of the interesting things about Instagram photos is that they are geotagged. That means I was able to see where in the city they were posted. A total of 349 neighbourhoods had at least one photo posted. Here are the top 25 neighbourhoods by number of photos posted:

  1. Downtown
  2. Oliver
  3. Strathcona
  4. University of Alberta
  5. Garneau
  6. Queen Alexandra
  7. Summerside
  8. Westmount
  9. Cumberland
  10. Queen Mary Park
  11. Boyle Street
  12. Ritchie
  13. Summerlea
  14. McCauley
  15. Central McDougall
  16. Edmonton Northlands
  17. Brintnell
  18. Rutherford
  19. River Valley Victoria
  20. Inglewood
  21. Alberta Avenue
  22. South Edmonton Common
  23. Silver Berry
  24. MacEwan
  25. Ormsby Place

Here’s a rough look at some of the data on a map:

neighbourhoods

The top 5 neighbourhoods accounted for 19.1% of all the photos posted.

Final Thoughts

I hope you found this look at Instagram usage in Edmonton useful! Remember, this is not meant to quantify usage, but rather is intended to give you a sense of the way Instagram is used throughout our city. Obviously it would be interesting to analyze what exactly is being posted on Instagram, but that kind of analysis is much more complicated.

Happy Instagramming!


  1. It would be more accurate to say this is a look at photos posted in Edmonton. To gather the data, I asked the Instagram API for photos posted within the limits of the City of Edmonton. While most of those were likely posted by residents, some would have been from tourists or other visitors. 

Edmonton’s 2014 Municipal Census goes online

The City of Edmonton is conducting its biennial census this year, and for the first time, you can participate online! The census is an important tool for collecting up-to-date demographic information that is used in decision-making and also for per-capita grants. Completing the census online is optional, so if you do nothing, a census worker will come to your door as in years past.

Here’s how it works. Over the next couple days, every household will be receiving a letter with information on how to complete the census online. That letter will include a PIN that you’ll use to access the online questions. The questions being asked online and in person are the same, except for one extra question that only online respondents will get to answer:

“In the future, what additional channels or sources would your household like added to receive information regarding City services?”

The idea is for the City to get an idea of citizen expectations for getting information out about services. The reason that question is only being asked online is because it requires a written response (presumably it would be too slow for door-to-door collection). If you’re wondering how to answer it, my suggestion would be to write “open data”!

The online census is powered by Dominion Voting Systems, a Denver-based company that sells electronic voting machines (it was founded in Toronto in 2002). Their solution for Canadian municipalities is also being used by Lethbridge this year.

In an effort to help people complete the census online, the City of Edmonton is hosting a series of outreach events over the next couple of weeks:

“The staff will be there offering guidance and support to individuals who wish to complete their census online using computers available at the various venues. Any one who would like information on the online census option, or assistance with completing their census online, are welcome to attend.”

The online portion of the census starts tomorrow, April 10 at 8am and will run until 8pm on April 27. Door-to-door collection will begin on May 10, which will enable workers to avoid visiting any household that has already participated online. Census workers present City-issued identification so you can ensure they are legitimate workers before answering any questions. If you’re interested in being a census worker, you can apply here.

I was disappointed when Council voted last year against adopting online voting, so I’m quite pleased to see the City taking another step in the online direction with this year’s census. I hope it is a success and builds confidence for future online endeavours!

You can see my post on the results of the 2012 Municipal Census here. If you’re curious, here’s Policy C520B, the Municipal Census Policy.

You never know where your Creative Commons-licensed photos might end up

I’ve been a Flickr member since January 2005 and I have more than 19,000 photos hosted there. Nearly all of them are Creative Commons licensed, a decision I made a long time ago. I don’t post my photos to make money, I post them to share with others. Keeping them protected doesn’t benefit anyone, but by choosing a more permissive license, others can use my photos in their own work.

If you want to give people the right to share, use, and even build upon a work you’ve created, you should consider publishing it under a Creative Commons license. CC gives you flexibility (for example, you can choose to allow only non-commercial uses) and protects the people who use your work, so they don’t have to worry about copyright infringement, as long as they abide by the conditions you have specified.

My photos are licensed under the Creative Commons Attribution-ShareAlike license (CC-BY-SA). That means that anyone can copy, redistribute, remix, transform, and build upon any of my photos, even for commercial purposes. All that is required is that I receive appropriate credit for the photo and that any new work that incorporates the photo is also licensed under the CC-BY-SA license.

Over the years, I have been so happy to see my photos in use by others. As you might expect, most of my photos are Edmonton-related, and they’ve appeared in annual reports for local companies, in many publications by the City of Edmonton, in local media, and even in local products and services. They’ve been used by many travel companies all over the world to help illustrate Edmonton and other places I have travelled to. It makes me feel good to see others use one of my photos to help make their thing better, whatever it is. Often people ask me for permission anyway, but they don’t need to.

In some cases though, my photos have been used in unexpected places. One such place was Gawker, which used this photo in a story titled ‘Whites Win Control of Nation’s Capital‘:

Mack at Ben's Chili Bowl

The photo was taken in May 2009 when I was on vacation in Washington, D.C. with Sharon. The photo is at Ben’s Chili Bowl, and I took the photo because that’s where newly-elected President Obama sat when he visited. You can read Sharon’s review of our experience here. Here’s the relevant section:

Near the end of our meal, a fellow patron approached our table, and pointed out to Mack that President Obama had sat in his chair not too long ago, just across from Mayor Adrian Fenty. Though we had noticed that the Seal of the President had been placed on the wall just above the chair, it hadn’t occurred to us that the reason for it was to act as a marker. Just above the seal was a blown-up photo of Obama and Fenty, as well as a smaller picture of the President posing with diner staff.

The man then asked Mack if his choice of seat thus pointed out his destiny to become the next President. Mack replied, “I can’t – I’m Canadian.”

For whatever reason, the Gawker story was circulating on Twitter in Edmonton today. No I’m not pleased that my face appears in Gawker’s race-baiting post, but whatever, the photo is free for use. I could request that they take it down I suppose, but the post was from 2011. Only in Edmonton does anyone still care!

I wasn’t going to write anything, but then I thought it would be interesting to highlight some of the other strange places my photos have been used. Enjoy!

Let’s start with another one from D.C., of Watergate. I have a few of the complex, and they have been used often to illustrate articles related to the famous scandal, like this one.

Watergate

This photo of a Petro-Canada refinery was taken back in 2008 on the east end of Edmonton. It was used in an article in The Times of Israel titled ‘Turkey busts Iranian oil smugglers‘:

Petro-Canada Refinery

While visiting San Francisco in September 2010, we of course made a stop at Trader Joe’s, where I took this photo that was used last year when they increased the price of Two Buck Chuck to $2.49:

Tow Buck Chuck

This delicious-looking grilled cheese sandwich was used in an article titled ‘“Pregnancy brain” – what did you forget?‘:

Grilled Cheese Olympics

Don’t ask me why, but in 2007 I took a picture of some clean dishes in the dishwasher. It was used by the Natural Resources Defense Council in ‘The Great Dishwasher Debate‘.

Clean Dishes

Who doesn’t love the Edmonton Corn Maze! I took this photo in September 2010. It was used a little over a year later in an article titled ‘Family lost in a corn maze calls 911‘.

Edmonton Corn Maze

This photo, taken in Seattle in 2005, actually looks a lot better in the article where it was touched up, titled ‘Inuit demands spark angler concerns over Scottish salmon stocks‘:

Salmon

While visiting Calgary in July 2010, I took this photo in the Marda Loop neighbourhood. It was later used in a satirical article titled ‘Marda Loop residents seek to ban ugly people from moving into the neighbourhood‘:

Marda Loop

Back in 2008, Doctors Without Borders had an exhibit called Refugee Camp in the Heart of the City, which is where I took this photo of plumpy nut. It has been used in a number of articles about malnutrition, like this one.

plumpy nut

I took this photo of Little Caesars Hot-n-Ready pizza in 2008. It was used in this article about a 12-year-old boy who stole money, went joyriding, and ate pizza.

Hot-n-Ready from Little Caesars

This photo was used in an article about having a date at a driving range, highly appropriate as that’s when it was taken! Yes, that is Sharon.

Sharon at the driving range

Let’s finish with another popular food photo, taken in September 2010 in San Francisco. Sharon wrote about our meal at Sam Wo here. Unfortunately, the restaurant closed down in 2012 though their website was updated in July 2013 to say they are in search of a new location.

Sam Wo

There are lots of other somewhat-less-interesting examples too, with photos of technology, the Stanley Cup, Starbucks Iced Coffee, and much more being used in articles all over the world. It’s neat to see all of the places my photos have ended up!

You can check out all of my photos at Flickr.

#yeg turns five

#yegToday marks the fifth anniversary of the #yeg hashtag on Twitter (here’s #yeg tweet number one). Can you believe it has been five years since Twitter started to take hold here in Edmonton? I can’t. I’m also continually surprised at the impact our humble hashtag has had on this city. Here’s something I wrote back in 2009 about the start of the #yeg hashtag.

It started out simply but has exploded in use since, and not just online. Now it is common to see the tag offline, even in the names of companies like YEG Live. I’m always surprised when newcomers to Twitter discover and start using the hashtag, but I’m even more surprised when I see it out in the offline world! What is it about those three letters?

YEG didn’t start with Twitter, of course. Most Edmontonians would associate YEG with Edmonton because of our international airport, constructed around 1960. According to Tom Hinderks and Richard Skermer, YEG would likely have been assigned to us roughly a year before the airport received its operating certificate, so that would have been 1959. That means those three letters have been associated with Edmonton for more than 50 years! But it wasn’t until Twitter came along that Edmontonians really started to embrace YEG as a sort of identity for the city. It was probably a wise decision for the Edmonton International Airport to focus on EIA as its brand rather than YEG, because there’s a risk it would have gotten lost amongst the chatter.

Use of the hashtag on Twitter has grown fairly steadily over the years. Today it might not even be the hashtag that you follow most, it might instead be one of the 430+ related tags that have become popular such as #yegfood or #yegtraffic. There were nearly 1 million tweets posted by Edmontonians last year that included the #yeg hashtag or one of the related tags, and that’s up from less than 140,000 in 2009.

How do you pronounce it? I did an informal survey on Twitter in December 2011, and that was one of the questions I asked. About 61% say yegg (rhymes with egg), the rest spell it out as in why-e-gee. Around the same time I asked Chris Martyniuk, co-founder of YEG Live, how he pronounces it. “Originally we were adamant about spelling it out,” he told me. “But we gave in about a year ago, because everyone said ‘yegg live’.” However you choose to say it aloud, online those three letters have become synonymous with Edmonton.

People from other cities often comment on how connected and tight-knit the online community in Edmonton seems to be, and I think the #yeg hashtag is really at the heart of that. We’ve used it to make new friends, to share the news, to raise money for important charitable causes, and for thousands of other interesting and important reasons. The world of social media is very different today than it was in 2008, with a variety of new services like Pinterest and Instagram, but the #yeg hashtag remains as a way to bind it all together.

I had no idea that Twitter would become as popular as it has in Edmonton, nor that the #yeg hashtag would take hold and play such a significant role in creating a sense of community here. Thank you to everyone who has used #yeg to make this a richer, more interesting city to call home.

Here’s to the next five years of #yeg!

Talking open data in Edmonton with Minister Tony Clement

Tony Clement, President of the Treasury Board of Canada, was in Edmonton today as part of a cross-country tour to gather feedback from the Open Data community. The federal government is preparing to launch a revamped Open Data Portal, and Minister Clement has been given the mandate to make it happen. After stops in the morning at Startup Edmonton and TEC Edmonton, Minister Clement was at City Hall for an Open Data Roundtable, hosted by the one and only David Eaves.

"Open Data is a global movement that is really gaining momentum across the country. Our Government wants to ensure we are making it as accessible as possible so that innovators and enthusiasts can harness this rich resource," said Minister Clement. "We are getting ready to unveil the next generation Open Data Portal and the input we received from Edmonton’s vibrant Open Data community will help us build a user-friendly site that will allow users to capitalize on this opportunity."

In addition to holding face-to-face meetings, Minister Clement also hosted a Google Hangout on Open Data last month. You can watch the whole thing here:

I was fortunate enough to be invited to the roundtable today, along with roughly two-dozen other Edmontonians interested in open data. We had a very limited amount of time to chat, but I think we still discussed a wide range of topics. I hope the information gathered was indeed valuable for the team in charge of the new portal.

As host, David organized our time around a series of questions. The first was to suggest ideas for what the next generation open data portal should be. We broke into small groups and then shared ideas back with the larger group.

The first thing I suggested was that it should not look like it was designed in 1995. I find all of the Government of Canada websites lacking in the aesthetics department! Certainly there’s something to be said for consistency, and I understand there’s an initiative underway to reimagine the entire GoC web presence. On the flip side of consistency though are the preconceptions that you may not want to be carried forward. If I look at the Open Data Portal today, it looks like every other government site, which makes me think it’ll be a mess of weird hierarchies and PDFs buried away. It’s not very welcoming or inviting!

Another theme was based around the idea that we can’t build a data portal that serves all possible audiences. But, we can do more than we are currently. So my group discussed the idea of intent-based profiles. The idea is you’d login, set some criteria like whether you’re a developer or not, and maybe your location, and the portal would then give you a personalized view. Of course, anonymous access should be preserved, so it shouldn’t be a requirement that you need to login.

Three other themes that emerged included: historical data and the realization that any data we create now will at some point become historical, articulated well by Heather and Maureen; the notion that the portal should facilitate the two-way movement of data, so that citizens can publish data into the catalogue as well as get data out of it; and the fact that documentation about data is important, and it doesn’t necessarily have to be created top-down.

The second question was related to datasets, both specific datasets that we’d like, but also criteria that make datasets valuable and/or interesting. The first thing that came to mind for me was geography. I’d love to be able to see all of the datasets related to Edmonton, or to municipalities, or to Alberta, or to provinces. Right now you have to really hunt to find datasets that compare cities, for instance.

I think Matt‘s two suggestions in response this question were spot on. The first was that the data he finds interesting is the data that makes the government uncomfortable. Minister Clement jumped in to assure us that there’s no conspiracy preventing certain datasets from being released. That would suggest a level of organization that most governments just don’t have, he joked. The second suggestion was that geographical data should be a key foundational dataset. Let’s see a base map of the country, zoomable to the neighbourhood level. Or to whatever smaller regions exist, whether it’s postal code, census district, garbage collection zone, or something else. I love this idea, and my only add-on suggestion was that geographical data doesn’t necessarily have to mean maps. Knowing the list of neighbourhoods or postal codes can be incredibly valuable outside of a map as well.

A few other themes that emerged about datasets were trends and historical data (I personally love the idea of a revision history for any datasets), some sort of metadata (the first dataset any portal should have is the list of datasets it contains, David suggested), and the notion of a data management plan.

We finished up the roundtable with a brief discussion on data standards, followed by a few minutes of open time. I spoke up on data standards along with Ben and Eugene, and suggested that data standards fall squarely under the "nice to have" category. It would be great if different datasets shared a common format, but we’d rather just have the data and worry about the differences with an abstraction layer.

Final thoughts mentioned by the group included dogfooding (the government should actively use its own data portal and datasets), the idea that everyone carries a phone and could be contributing data back into the catalogue, and the future world described by Devin that I think can be summarized as the Internet of Things. "The idea that we searched a catalogue of datasets will seem just as quaint as when we searched the web using Lycos," he said.

I really enjoyed the roundtable today, and I appreciate Minister Clement and David Eaves taking the time to listen to what we had to say. Thanks also to Chris and Ashley from the City for providing the venue and helping to facilitate.

Reflecting on it now, I think what I enjoyed most about the roundtable was the opportunity to chat with people in the local open data community. I haven’t given open data as much public attention lately as I should, and when you shift your gaze elsewhere it’s easy to miss all of the incredible people doing great things.

The Yeggies will recognize and celebrate online content creators in Edmonton

the yeggiesToday was a very exciting day for Edmonton’s vibrant social media scene! Adam Rozenhart of The Unknown Studio (among other things) officially announced the Edmonton New Media Awards, a.k.a. “The Yeggies”:

Edmonton has a particularly strong social media community. It’s quite remarkable, and I think pretty unique. I know other Canadian cities have enthusiastic social media users and communities as well, but — and I’ll admit to complete and total bias here — there’s just something different about Edmonton’s community.

You know what’s missing from Edmonton’s winning formula? True, unabashed recognition.

That’s where the new awards come in!

The Edmonton New Media Awards, or the Yeggies, is an annual awards show created to recognize and celebrate outstanding social media content creators in the capital region. It’s an awards show to highlight some of the amazing talent we have here in Edmonton — from people who code websites themselves, to those who write, speak, draw, all on their own time. Yeggies recipients inspire, evoke, inform, educate and entertain us, and they do it because they have a passion for it.

I’m really thrilled that this is really going to happen – there are so many creative people in our city making interesting things online. I am fortunate enough to be on the organizing committee, so I can tell you that coming up with the categories wasn’t easy. I’m sure we’ll hear lots of great feedback on how to improve, but I’m very happy with the award categories we decided upon for the first annual awards:

  • Best in Edmonton
  • Best in Political or Current Affairs
  • Best in Sports
  • Best in Food
  • Best in Arts and Culture
  • Best in Humour
  • Best in Fashion & Style
  • Best Twitter Persona
  • Lifetime Achievement Award

Yes, this means that a sports blog could be up against a sports podcast, for example. Blogs and podcasts are two different animals, but once you go down the path of having separate awards for each service or network you quickly realize it never ends. There is a special category for Twitter, but to me that’s a recognition of the outsized impact Twitter has had on the entire scene here in Edmonton.

Want to nominate someone? You have until the end of January!

Details for the awards show are still being worked out but it is currently slated to take place in the spring. If you’d like to get involved, we’re looking for both volunteers and sponsors.

Finally, I want to thank Adam for driving this forward. I think The Yeggies are going to be a big success, and I just hope I can play a role in helping him realize his vision for the project. Take a few seconds and thank Adam for once again giving meaning to the “Make Something Edmonton” idea.

Building a Results Dashboard for the 2012 Alberta Election

Like many Albertans, I have spent a significant amount of time over the last month paying attention to the election! Reading about the candidates, following all the drama, and spending lots of time with the #abvote hashtag on Twitter. As the candidates were making one final push over the weekend before the election, I decided to build a results dashboard. I like a good challenge and enjoyed building it, but it was especially rewarding to see that it proved to be quite popular too! In this post I’ll tell you a little about how and why I built the website, and what I learned from it.

abvote results

If you haven’t checked out the dashboard, you can see it here. I’ve added a bunch of stuff since election night, which I’ll explain below.

The Idea

By late Friday afternoon, my thoughts had drifted to election day itself. I started to think about how exciting it would be to see the results come in – I love election nights! I knew there would be television coverage and that the media would have some web coverage as well, but I also felt that I could build something unique and valuable. If only I had the data! So I looked around, and found the Elections Alberta results site. At that time, the results page was full of test data. I immediately saved a copy to my computer, and saved a few of the electoral division pages too. That proved to be a wise decision, because a few hours later the site went offline!

elections alberta

Before I took a crack at scraping the website, I wanted to know if there was a data feed of some kind available. I blindly emailed the general Elections Alberta address, and to my surprise, received a response shortly thereafter! Unfortunately there was no data feed available, so I set about writing a scraper. Within a couple of hours, I was correctly scraping the main results page as well as all of the electoral division pages. Now that I had the data, I felt pretty confident that I could build a dashboard over the weekend. I didn’t get back to the project until Sunday morning, so that meant I had to prioritize what I was going to build. It took about six hours, but my I finished my initial version late that evening.

The Design

This was not my first election results dashboard. If you’ve been reading my blog for a while, you’ll recall that I built a dashboard for the municipal election here in Edmonton back in 2010. I learned a lot from that experience, and I remember it being a lot more rushed and difficult than this dashboard! Among other lessons, it was clear that design and colors matter, and that mobile devices are important (even then lots of people were asking for mobile support). I also knew that forcing users to refresh the page is less than ideal – it’s not a very delightful experience, and it puts unnecessary strain on the server. I also disliked the limited real estate that I had to work with (the current ShareEdmonton page width is fixed…but I’m working on a new version that is fluid).

So, I wanted a mobile-friendly, fluid-width, Ajax-enabled, attractive looking design. I immediately decided to use Twitter Bootstrap. I have used it a few times now, and I absolutely love it. I can’t thank the folks at Twitter enough for making such an excellent framework available for free! It gave me everything I needed to get going from a UI perspective. In particular it features responsive design, which makes it possible for the pages to scale from the desktop down to mobile devices without much work. For the backend, I used ASP.NET MVC 3. I use it for everything, so I know it well.

For performance reasons, it definitely made sense to cache the data. I decided on a fairly straightforward approach: I’d scrape the data from Elections Alberta and would store it using Memcached for two minutes. That meant that every two minutes, a request would take slightly longer because it had to download the data again, but this seemed reasonable (and as it turned out, the Elections Alberta site was incredibly quick). I also designed the pages to poll for new data every 30 seconds, which prevented users from having to reload the page manually.

The Cloud

When I built the ShareEdmonton dashboard a couple years ago, it was hosted on one of my servers. That worked fine, but it did slow down under load and I didn’t have much ability to scale up or out without a lot of additional cost, time, and effort. I really wanted to avoid that situation this time, so I decided to host the dashboard using Windows Azure. I’m in the process of migrating ShareEdmonton to Azure, so I already had an account and was pretty familiar with how it worked. Deploying to Azure is so easy – I simply had to add a deployment project in Visual Studio, and then I could deploy new versions in just a couple of clicks.

Windows Azure supports a range of instance types – basically you get to choose how big and powerful you want your server to be. I started with “Extra Small”, the least powerful and therefore least expensive type. As the polls were about to close at 8pm, I scaled up to “Small”, which meant redeploying the app (which took about 8 minutes, but happened completely behind-the-scenes). About half an hour later, I had to add capacity because the site was starting to get quite sluggish. This time I scaled out, by adding a second instance. All I had to do was change a configuration setting in the Azure management console, and the service took care of everything. Within a few minutes, I had two load-balanced “Small” instances. The performance boost was immediately noticeable. About an hour later, I added a third instance, and kept the system running that way until about 1am. I scaled it back down in stages, and now have it running as a single “Extra Small” instance again.

Two Key Decisions

I think the two most important decisions I made were:

  1. Using Twitter Bootstrap
  2. Using Windows Azure

The decision first meant that the website looked good and worked across browsers, screen resolutions, and devices. I got all of that engineering effort and testing for free, which meant I could focus on building an election results dashboard rather than building a website. I didn’t have to figure out how to lay things out on the screen, or how to style tables. The second decision was perhaps even more important. By using Windows Azure, I could deploy new versions of the dashboard in minutes, plus I could scale up and out simply by changing a few settings. That meant I could quickly respond when the site came under load. The other big advantage of using Azure was the cost – running the site on election night cost me just $1.54. Incredible!

Some Statistics

The dashboard served around 60,000 page views on election night alone, which is pretty good for a website launched just hours before the main event. Keep in mind that because the data on the site automatically updated, users didn’t have to refresh the page which kept that statistic lower than it would otherwise have been. The visit duration metric is another way to see that – 20% of all visitors spent at least 10 minutes on the site. I actually would have guessed a higher percentage than that, but perhaps the high mobile usage was the reason.

The top screen resolution for visitors was 320×480, not a desktop resolution! Roughly 36% of all visits that night were made on mobile devices (which includes tablets). The iPhone was the most popular device, followed by the iPad. Clearly using a framework like Twitter Bootstrap with responsive design was a good decision.

The other statistic worth sharing is that the vast majority of visitors (about 73%) found the site by way of social networks, and two in particular. Facebook accounted for 78% of all those visits, while Twitter accounted for 20%.

Recent Improvements

Since Monday I have made numerous improvements to the dashboard. Here’s a brief overview of the new features:

  • All the data is now stored locally, which means I’m no longer reliant on Elections Alberta. They have made numerous updates over the last two days, and I have updated the site’s local data store accordingly.
  • I updated the voter turnout chart and added regional voter turnout to the front page. I also added a table of the five closest races.
  • District pages now show voter turnout and the list of polls is now sortable.
  • There’s a new Districts Grid, which lets you see lots of information about all the districts in a single, sortable view. For example, you can quickly see which district had the best voter turnout, which were the closest races, and which had the most candidates.
  • There’s also a Candidates page, which lets you see information about all of the candidates in a single, sortable view.
  • Last night I also added a Maps page, which has interactive maps for the province, as well as zoomed-in maps for Calgary and Edmonton. Click on any region for details and a link to the district page.

What’s Next?

I plan to keep the dashboard up as it is now, though at some point I’ll probably transition it from being a dynamic website to a static one (far cheaper to host over the long-run). If you have any suggestions on things to add or improve, let me know! I hope the site will serve as a valuable reference tool going forward.

Thanks for reading, and thanks to everyone who sent positive comments about the dashboard my way. It’s great to hear that so many people found it useful on election night!

I love Readability!

readabilityIf you spend any amount of time reading things on the web, you should be using Readability. Yes, I think it’s that simple! I really started using it after Anil Dash blogged about it back in November, and it has made an incredible difference for me. Here’s what it does:

“Readability turns any web page into a clean view for reading now or later on your computer, smartphone, or tablet.”

Simple enough, right? Simple, but powerful. After adding a simple bookmarklet to my browser, I am just one click away from having any web page become instantly more readable. And by that I mean larger text, a consistent font, and no clutter. Or I can save an article for later, or I can even send an article to my Kindle to read on that device instead.

Here’s an example of the difference it makes. The square on the left is the original article, and the square on the right is the Readability page that I get after clicking the bookmarklet (if you’re not logged in, you’ll have to click “Readability view” at the top of that page to see what I am talking about).

The comparison is better when you look at the actual pages, but do you see the difference? The Readability view is just text, no clutter. I could turn off images too, so even the featured image wouldn’t show up.

Here’s another example. Compare this Edmonton Journal article about Stephen Carter and Linda Sloan’s tweet debacle with this Readability view of the article. Which would you rather look at? On my laptop, with a resolution of 1600×900, the actual text of the article is below the fold on the Journal. With Readability, I can start reading right away, with nothing to distract me.

You can control the way it all looks too in the settings. You can pick a different color scheme, a different font size, you can hide images, etc.

In case you’re wondering about lost revenue because the ads aren’t being displayed, Readability has a solution for that too:

“Readability features an innovative way to support writers. Become a Readability Subscriber and 70% of your monthly contribution will go toward supporting great writing. Subscribing is entirely optional.”

“Here’s how it works: Every time you use Readability to read an article, a portion of your monthly contribution is earmarked for that publisher or writer.”

It’s a neat concept.

I love Readability. It makes the experience of reading things online much better. I’m also a fan of the Kindle functionality. Santa gave me a Kindle for Christmas, and with Readability I have been able to quickly and easily get content on it to read on a screen built for reading! I love reading the stuff at Longreads and Longform, but I spend enough time in front of a computer screen as it is, so being able to send those articles to my Kindle is huge.

If you read stuff online, check out Readability. You can see my reading list on Readability here.

Looking for a C# Web Developer to join Questionmark in Edmonton

questionmarkI’ve had luck with job postings for Questionmark in the past, so I wanted to mention that we’re looking for a web developer to join our team:

We are looking for a talented senior C# developer to join our development team in designing and creating the next generation of on-line assessment delivery software. The senior C# developer will work closely with a Product Owner and other team members (C# developers and QA) in a SCRUM (Agile) environment. They will be responsible for delivering potentially shippable functionality each Sprint using the latest technologies (ASP.NET MVC, WCF, .NET 4.0, etc.).

If you have experience building web applications using core web technologies (HTML, JavaScript, and CSS) then you might be interested in this opportunity. That said, we use ASP.NET MVC and jQuery quite extensively so experience with those is essential. The other tiers of the product utilize .NET 4, WCF, Entity Framework, and SQL Server, so experience working with any or all of those technologies is preferred. The project you would be working on is a very important one for the company, with lots of opportunity to both flex your technical muscles and to have a big impact in the marketplace!

Our development teams are cross-functional and work in two week iterations. We use Visual Studio Team System 2010 to manage source code and other artifacts, and Visual Studio Lab Management to facilitate automated testing and deployment.

Our Edmonton office is located downtown in the Empire Building on Jasper Avenue at 101 Street, right above Central LRT Station.

You can view the job posting on Monster, or email me directly if you have questions or are interested in applying!