Recap: Tech·Ed North America 2010 Day 1

TechEd kicked off here in New Orleans yesterday, with an opening keynote from Bob Muglia, President of the Server & Tools Business at Microsoft. There are more than 10,000 customers, partners, and staff on-site and I think all of them caught the keynote (they had to setup a few overflow rooms). John and I arrived early to register and quickly chow down some breakfast so that we could lineup for the keynote. Neither of us have sat in the front row before, but we managed to do so yesterday!

Here’s a quick video that John recorded:

The focus of the keynote, which you can watch here, was cloud computing. Some of the highlights  for me included (more info here):

  • The public beta of Service Pack 1 for Windows Server 2008 R2 and Windows 7 will start in July.
  • Windows Server AppFabric is now available.
  • The Pivot control for Silverlight 4 will be launched this summer. Pivot is such amazing technology (it utilizes Deep Zoom for some of its magic) and being able to embed it on a web page is going to be awesome.
  • We saw a quick demo of Windows Phone 7, specifically related to integration with SharePoint. The enterprise features look pretty slick, so I hope they can deliver on the consumer experience too. You can see some screencaps from the demo here.
  • It was really interesting to hear from Tony Scott, Microsoft’s CIO, about how they are fully adopting the cloud internally. He said that Microsoft IT is now officially “cloud first”.
  • Also very cool: a video talking about the digital asset management system that Microsoft built for James Cameron and his team for Avatar. Cameron talked about this at D8 too.

Tech·Ed North America 2010

Next up for John and I was the Developer Foundations keynote with Jason Zander. He announced quite a few interesting things for developers, including a new Feature Pack for Visual Studio 2010. Microsoft is going to release Feature Packs in between major releases to continually add functionality to the product. Some of the new stuff that excites me:

  • HTML clipboard support (copy code and paste it into your blog and its ready to go)
  • Search functionality for the Add Reference dialog
  • Tons of code editor improvements, such as entire-line-highlighting, and “tabify/untabify”

Jason also has a great post with links to new platform bits here. In particular, I’m very happy to see that Microsoft is working on Scrum Process Template for TFS 2010.

Throughout the day I explored the TechEd site. I visited the Community Lounge, which is where all the Hands-On Labs take place. I couldn’t resist taking a photo with the Channel9 guy:

Tech·Ed North America 2010

Channel9 was livestreaming all day yesterday, and are doing the same today.

I also visited the Exhibition Hall, full of Microsoft product team representatives, as well as dozens of partners. One of the more interesting things to see was one of the Azure server containers:

Tech·Ed North America 2010

After the day’s sessions were finished, there was a reception in the Exhibition Hall. I made sure to stop by the Windows Phone 7 booth, to check out the prototype:

Tech·Ed North America 2010

I didn’t learn any new details, of course, but it was neat to see the phone in action.

Other thoughts on day 1:

  • As expected, not everything went smoothly. The Internet was down for most of the day, which was really annoying. I always wonder why some innovative company hasn’t come along to revolutionize Internet access for conferences, because it is such a common problem.
  • There were far more unhealthy options available for snacks than healthy options (I saw only a few bananas and oranges, but lots of popcorn, cookies, and Goldfish crackers).

Tech·Ed North America 2010
In between sessions

You can see more of my TechEd photos here, and also at the TechEd group on Flickr.

Edmonton IT Community: What are your top 5 needs?

Along with a few other usual suspects I’ve been invited to take part in an informal IT Circle later this week. The goal is to come to some consensus about what the top 5 or 10 needs of local startups and growing IT companies are, so that we can start trying to address them. I feel very strongly that we need to be doing more for the tech community in Edmonton, particularly the part of the community that is often overlooked – web & software. I’ve written about this in the past, most notably here.

The meeting is being hosted by EEDC, who I openly criticized in that post. I’m encouraged by the progress I’ve seen them make over the last six months – I think they’re really making an effort to listen, to learn, and slowly to participate in the community. I hope to see that trend continue, through this meeting and other initiatives.

So now I need your help. If you’re a member of the local IT community, whether it’s biotech, public sector, startups, or something else, what are your top needs? What’s on your wishlist? How can we make the tech community in Edmonton better? Let me know, and I’ll bring that to the table this week. Thanks!

FWIW, here are a few on my list:

  • Micro/seed funding. Small amounts of money to enable entrepreneurs to try things out.
  • Exposure to external experience. How can we connect with people who in other places that could teach us a lot?
  • Storytelling. I talk about this a lot…how can we do a better job of telling local success stories to others?

OpenID Connect

I’ve been doing some work with OpenID and OAuth lately, making use of the excellent DotNetOpenAuth library. I am pretty much a beginner when it comes to these technologies, but I have been able to get up-to-speed fairly quickly. I was a big fan of Facebook Connect, and I quite like the new Graph API too (which uses OAuth 2.0). Though it was easy to develop against, I think the biggest benefit of Facebook Connect was the excellent end user experience. It was consistent and simple.

In contrast, OpenID is a little more cumbersome, and a lot less consistent. The discussion on how to make it easier and sexier has been going on for a while now. It seems like some significant progress will be made this week when OpenID Connect is discussed at the Internet Identity Workshop. What is OpenID Connect?

We’ve heard loud and clear that sites looking to adopt OpenID want more than just a unique URL; social sites need basic things like your name, photo, and email address.

We have also heard that people want OpenID to be simple. I’ve heard story after story from developers implementing OpenID 2.0 who don’t understand why it is so complex and inevitably forgot to do something. Because it’s built on top of OAuth 2.0, the whole spec is fairly short and technology easy to understand. Building on OAuth provides amazing side benefits such as potentially being the first version of OpenID to work natively with desktop applications and even on mobile phones.

Chris Messina has some additional thoughts on the proposal here:

After OpenID 2.0, OpenID Connect is the next significant reconceptualization of the technology that aims to meet the needs of a changing environment — one that is defined by the flow of data rather than by its suppression. It is in this context that I believe OpenID Connect can help usher forth the next evolution in digital identity technologies, building on the simplicity of OAuth 2.0 and the decentralized architecture of OpenID.

It sounds very exciting – I hope OpenID Connect becomes a reality!

I love Opera 10

As long-time readers will know, my web browser of choice is Opera. I’ve been using it as my primary browser since at least version 9.0, which came out over three years ago. On September 1st, the latest version was released:

In a world of ordinary Web browsers, Opera 10 stands out from the crowd with innovative new features wrapped in an elegant, fresh interface. Opera 10 is absolutely free, comes in 43 languages, and works on Windows, Mac and Linux platforms.

Opera 10 really does look fantastic, and has a decent list of new features. Interestingly enough, I haven’t found the most touted feature, Turbo, all that useful. I suppose I haven’t really used it on a slow connection however, and that’s what it is designed for.

Here are my favorite things about the new release:

  • Speed. Opera now loads Facebook and Google Reader as fast as, if not faster than, Chrome. I used to leave Chrome open for those apps, but not since Opera 10.
  • The big, beautiful new icon, as seen above.
  • The updated interface. It’s slick, and I love the little circle notification when a tab has been updated. Visual tabs are also pretty neat. I also enjoy that I can get rid of the File menu.
  • Spell checking built-in. Yes I know other browsers have this.
  • Customizable speed dial! You can now increase the number of buttons on your speed dial.
  • Built-in auto-updates. This is long overdue for Opera, and works quite well (I was using the betas and release candidates which got auto-updated).

Favorites I mentioned about versions 9.5 and 9.1 are still relevant too!

If you haven’t tried Opera, I encourage you to do so. It’s a fantastic browser! Others seem to think so too – Opera 10 was downloaded 10 million times during the first week of release. Pretty impressive.

Patent for podcasting? Seriously?

A company you’ve probably never heard of before announced today that it has been awarded a patent on podcasting. VoloMedia was awarded U.S. Patent 7,568,213  titled "Method for Providing Episodic Media" yesterday. I think the fact that VoloMedia’s Murgesh Navar posted an entry defending the patent before anyone even knew about it underscores just how silly it is.

Here’s what Dave Winer wrote today in response:

I’m certainly not a lawyer or an expert in patent law, but it seems the work Adam Curry and I did in creating the format and protocol for podcasting, in 2001, may have inspired their "invention." It certainly predates it.

Honestly it boggles my mind how software patents are awarded. First of all, VoloMedia applied for the patent in November 2003. Why did it take nearly six years for it to be decided? It’s a cliche, but that’s an eternity on the Internet. Second of all, how could the patent office not discover prior art within those six years? It’s just ridiculous.

According to NewTeeVee, VoloMedia is in talks with Apple and TV networks, among others, “about growing the business and market.” Seriously? I hope VoloMedia fails fast. I really dislike companies that exist solely to sue other companies for violating patents they should never have been awarded in the first place. That’s exactly what VoloMedia is becoming.

For more, check out Ars Technica. Here’s to hoping that VoloMedia’s patent is invalidated.

Questionmark Open House in Edmonton!

It might be hard to tell, but Twittering isn’t actually my day job! As some of you know, I’m a software developer for a company called Questionmark. Though the company is based in London, UK, we have a growing team here in Edmonton. We recently moved into a new office downtown, and we’d like to invite you to come check it out and get to know us a little better:

Date: Friday, May 15, 2009
Time: 4:00pm
Location: #806, 10080 Jasper Avenue (map)
Cost: Free

Feel free to stop by anytime after 4pm! We’ll have food, wine, beer, etc. If you’re planning to come, please RSVP by emailing me at

Also taking place that evening is the #twilightYEG Guest Bartender Friday, in support of the Royal LePage Shelter Foundation. It’s happening at Lux, which is right across the street from us, so join us for a drink at the office and then head over to Lux to support a worthy cause!

If you’re a local software developer, definitely stop by and say hello – we’re hiring!

Job Description for Software Developer & Open House Invite

Hope to see you on the 15th!

I appreciate my iPod touch more now that I have a BlackBerry

I recently became a member of the CrackBerry crowd. My last three year contract ended in November, and I figured it was time to get something better than my old Motorola phone. I was thinking about the iPhone, but since I already had an iPod touch, I ended up going with the BlackBerry Curve. So far, I love it. Text messaging is much better, email access is fantastic (obviously), and I can hop online from anywhere if need be.

It hasn’t been a perfect experience however. I’ve run into a number of issues trying to figure out how to do things – simple things that took no time at all to figure out on the iPod touch. Here’s a small list of them:

  • One of the first things I did was open up the browser. It took me a ridiculously long time to figure out how to enter an address though! Eventually I figured out the menu button and the “Go to” option, but I found the iPod much easier – just scroll up and there’s the address bar.
  • Another problem was deleting messages. Very quickly I figured out how to delete a single message, but I couldn’t figure out how to delete multiple messages at once! I ended up searching for it, and found the CAPS button trick. The iPod was much easier – nice big edit button, which reveals checkboxes beside each item. Just really intuitive.
  • Settings are another issue. Changing the background on my iPod took barely any effort at all, but I once again had to Google for help with the BlackBerry. The menus just seem to make more sense on the iPod.
  • I like to keep the unread messages count cleared, and one day it was stuck at one. I checked the email inbox, the text messaging inbox, and both were empty. I once again turned to the web and found out that missed calls show up as unread messages! I then opened up the Call Log, but it didn’t clear! Turns out they show up as messages in the combined inbox. Confusing design.

There have been other issues of course, but these few stuck out. In general, I think the interface on the iPod/iPhone is just much more intuitive. I guess that’s not surprising, given Apple’s reputation for good design, but it still caught me off-guard.

Most of my searches end up at the the forums. I’m clearly not the only one who has run into these issues! Thanks to everyone who has contributed there – you’ve made it much easier for me to get up-to-speed with the BlackBerry!

Questionmark still hiring .NET developers in Edmonton!

questionmark The software development company I work for here in Edmonton, Questionmark, is once again looking for developers to join our team. The job descriptions I posted back in September are still relevant, but here are the requirements again:

A minimum of 3 years of commercial development experience. Highly skilled in software development using our core technologies: C#, ASP.NET, XML, Ajax, Javascript, T-SQL. Experience with SCRUM a plus. Excellent written and oral communication are essential.

You’d be working on the latest and greatest, both technology-wise (.NET 3.5, etc) and product-lineup-wise (the company’s newest products). It’s a great opportunity!

We’re currently in the process of moving to our brand new office in the Empire Building downtown (10080 Jasper Avenue). As some of you may know, I’ve had offices in the building twice before, and I think it’s a fantastic place to work. It’s great to be right in the heart of downtown, with easy access via public transit and lots of amenities within walking distance (parking isn’t so great, of course).

Job Description for Software Developer

If you’re interested in applying or would like more information, either send me an email or email Kaitlyn Lardin. Thanks!

Windows 7 Feature Request: Unified Application Updates

I’m sick of the way software updates are handled in Windows, and I want a new unified application update center in Windows 7 to solve the problem. Apparently Microsoft is asking Windows 7 beta participants questions related to “a single place for finding and managing updates on my PC.” The survey seems to go beyond updating however, and covers installing, uninstalling, configuring, and even discovering new applications. I think they should keep it simple – make updating applications easy.

The problem today is that every new application ships with its own update mechanism, if it has the ability at all. I can’t tell you how many times I’ve told the Adobe Updater to screw off because it has started automatically downloading 500 MBs worth of updates in the background. At least Logitech asks me before it starts using my bandwidth. Why is it bad for each application to have its own updater?

  • Instead of one OS component running to perform updates, dozens of little apps or background processes may be running to support the various applications you have installed. Each one takes resources.
  • Every time I want to configure an updater, I have to start from scratch because they all have different interfaces and options. This wastes my time.
  • Related to the previous point, if I want to see if my applications are up-to-date, I have to check each one individually! Again, this wastes my time.

I’m not sure exactly how Microsoft would go about implementing this (do Adobe servers push notifications to Microsoft servers?) but I think it should be like Windows Update on steroids. Here’s what I want:

  • The ability to see all of my applications and whether or not they are up-to-date.
  • The ability to define a schedule for downloading and installing updates, preferably on a per-application basis.
  • The ability to see a complete history of application updates.
  • The ability to easily suspend all updating temporarily.
  • Options for notifications. I want to be notified about some application updates, and others I never want to hear about.
  • The ability to have a restore point set before each update.

I think having unified application updates would drastically improve the user experience on Windows. It would reduce user frustration and improve system performance and security. The survey is definitely encouraging – I hope this becomes a reality!

I want an API for Edmonton Transit (ETS)

edmonton transit When the new website launched back in the fall, I was hopeful that the Edmonton Transit portion of the site would receive more than just a facelift. Unfortunately, that didn’t happen. Though I’m disappointed, I can understand why. Edmonton Transit is not in the business of developing websites or software, it’s in the business of transportation. They’ve got to make sure buses and trains run efficiently and effectively first, and then they can focus on everything else.

That’s not to say that the website, or BusLink (over the phone), or the other services they offer aren’t important, just that ETS has limited resources and must deploy them accordingly. That’s why I think an Edmonton Transit API makes a lot of sense.

To build an application for looking up transit information, you need both an interface and data (I’m simplifying things a bit). ETS has all of the data of course – they know all of the route numbers, bus stops, and schedule information. What they lack are great interfaces. If ETS exposed their data through an API, third party developers could build great interfaces on top with relative ease.

Here’s the kind of information I’d like to see exposed through an ETS API:

  • Route Information – return name, start and end point, and other details for a given route
  • Stop Information – return coordinates, address, photo, and other information for a given stop
  • Route Stops with Stop Times – return a list of all stops along a given route with stop times
  • Routes at Stop with Times – return a list of routes for a given stop with stop times for each one
  • Search for Stop by Location – return the closest stops for a given address or set of coordinates

That list is similar to the information exposed by the unofficial TransLink API. A good starting point would be to simply clone what they’ve done! More advanced API features could include:

  • Route Interruptions – return a list of routes currently affected by construction or other interruptions
  • Stop Interruptions – return a list of stops currently affected by construction or other interruptions
  • Search for Stop by Landmark – return the closest stops for a given landmark
  • Trip Planner – return a list of route and transfer options for a given location of origin and destination
  • Information for St. Albert Transit and Strathcona County Transit

In the future, the sky is the limit. I know ETS is testing GPS technology on buses, so why not expose “distance from stop” information for a given route? That would be wicked, and incredibly useful when the weather dips below –25 C.

It’s not feasible for ETS to develop interfaces for each new platform that emerges. They have a website, but what about an iPhone application? Or a BlackBerry application? Or a Twitter bot? If they focused their limited software development energies on building an API, I’m confident that local entrepreneurs and software developers would build a plethora of interfaces on top of it. I would definitely build a Twitter bot!

There don’t seem to be many transit systems with APIs available, but that won’t be true for long. Here are a few others I’ve found: TransLink (unofficial), Bay Area Rapid Transit (official), Portland’s TriMet (official), Chicago Transit Authority (unofficial), Charlottetown Transit (unofficial). And here are a couple other resources I’ve come across: the Public Transit Openness Index, and a list of publicly available official GTFS (Google Transit Feed Specification) schedule data feeds.

I’d love to see Edmonton Transit take the lead and offer a completely free, fully functional transit API, and I’d be willing to help make it happen. In the meantime, don’t forget that you can now use Google Maps to find ETS trip plans.