Categories
Uncategorized

Cloudy (with a Chance of Mobile)

Photo of an airplane soaring against a blue sky with clouds: "Cloudy (with a chance of mobile)"

If you had to give a name to the sort of programming I’m going to be concentrating on in 2010, I’d suggest Cloudy with a Chance of Mobile. I’m using this phrase as a catch-all that comprises the following:

  • Windows Azure as a platform for web applications
  • ASP.NET MVC as my web framework
  • Silverlight as my rich internet application platform
  • jQuery as my JavaScript framework
  • A number of programming languages: C#, JavaScript, PHP, IronRuby, IronPython, F#
  • Mobile computing, which means means phones, tablets and other ways to access processing power while on the go
  • And while it’s yet another thing to put on my plate, I can’t resist XNA, the game development platform for Windows, Xbox 360 and Zune.

Remember: these are just the technologies I’ll that I will be using my in own software development and will be writing about. My job remains helping Canadian developers be the best that they can be, primarily with any Microsoft tools and technologies. If you’ve got questions about tools and tech that aren’t listed above, I (along with my fellow Developer Evangelists, Christian Beauclair and John Bristowe) am still your resource within Microsoft!

I sometimes like to refer to this selection of technologies as “The Undesktop”. The desktop, its operating system and applications have been Microsoft’s bread and butter since the company was a handful of scruffy nerds in New Mexico building a BASIC interpreter for the Altair 8800 (the “old man” of the 8-bit machines). While the desktop has been very good to the company – I’d go so far as to call it Microsoft’s first love – it’s not the only place where the software magic happens.

Sometimes I worry that the company is a little too in love with the desktop:

Bill Gates posing sexily on a desk with an old IBM PC running MS-DOS

(Bill Gates, DOS and a game called DONKEY.BAS actually played a surprisingly influential role in my first kiss, but that’s another story. Buy me a beer and I’ll tell you in person.)

Since the company already lavishes plenty of attention, documentation, demo code and love on the desktop, I thought that I’d do well to take a different tack and help developers build on platforms other than the desktop (and its svelte fraternal twin, the notebook).

What is Windows Azure?

In this article, I’m going to give you a quick overview of Microsoft’s cloud computing platform, Windows Azure. I figured that a good place to start would be by answering the question “What is Windows Azure?”, and doing so with a video whose title is, oddly enough, What is Windows Azure?

Steve Marx of the Azure team made this video, and it’s a quick one, running at a mere 4 minutes, 16 seconds and explains what Azure is and how and why you might want to use it:

Steve also made a video on The CIA Pickup, which features an app that says he built to impress people (okay, he wants to impress potential dates) by convincing them he’s a CIA agent. It runs on Azure and makes use of a couple of services too: Twilio for telephony, Live ID for authentication and Live Mail for… well, mail. It’s easier to show you than tell you what it is and how it works:

Azure is Live!

Picture of the Death Star II: "Now witness the power of this fully-armed and operational battle station"

As of this Monday, Windows Azure has gone live. That means it’s out of beta, commercially available and ready to host websites, web apps and data. Azure will remain free-as-in-beer for you to evaluate through January 2010, after which you’ll start getting charged for Azure compute time. Take it out for a spin!

Getting Started with Azure

I’ll cover Azure in greater detail in future posts. In the meantime, here are some links to resources to help you get started developing for the cloud:

An overview of Azure

Check out this quick introduction to Azure and its pillars:

  • Windows Azure, where your apps, data storage live and where you can manage them.
  • SQL Azure, the cloud-based relational database, with lots of SQL Server goodness.
  • AppFabric, which makes it easier to connect cloud apps with “on-premises” (that is, non-cloud) apps through features like identity management, firewall-friendly messaging and more.

Building Azure Apps

Before you can put an app in the cloud, you need to build it on your local machine:

Deploying Azure Apps

Once you’ve got a web app running on your local machine, it’s time to deploy it to the cloud. Here’s how you do it:

  1. Purchase the Windows Azure platform package that works for you. And yes, there’s a free-as-in-beer one. Remember that if you have an MSDN subscription, you already have a monhtly allotment of Azure compute hours – check your subscription!
  2. Package your application for deployment.
  3. If your app needs a storage project, create one.
  4. Create a hosted service for your app, then deploy the your package to that service.

If this seems a bit vague and hand-wavy for you, that’s because it is. I’m working on a step-by-step, from-the-ground-up tutorial that will cover the process in greater detail. I hope to post it in the next couple of weeks.

If have an Azure account set up, I strongly recommend checking out Colin Melia’s article, titled Deploy this Silverlight Application on Windows Azure in 10 Minutes – No Tools Required! We had 150 people at TechDays Ottawa and TechDays Winnipeg follow the steps in this article successfully.

Azure in a Little More Detail

Azure@PDC

There were a number of Azure presentations at the Professional Developer Conference (PDC), which took place in November. If you want an introduction to Azure that goes into a little more detail, watch these:

Canadian Developers Blogging About Azure

Be sure to check out Colin Melia’s and Cory Fowler’s blogs – they write about Azure quite often! (And if you’re a Canadian developer blogging about Azure, let me know.)

Books on Azure

I’m currently working my way through these books:

Cover of "Introducing Windows Azure"    Cover of "Windows Azure Platform"    Cover of "Azure in Action"

This article also appears in Canadian Developer Connection.

Categories
Uncategorized

Folda Lisa

The Mona Lisa, made up using folders in different shades of yellow and brown
Found via Certified Bullshit Technician.

This article also appears in The Adventures of Accordion Guy in the 21st Century.

Categories
Uncategorized

Building Apps People Need (and are willing to pay for)

If you’ve taken a psychology course or have leafed through a user experience book, you’ve probably come across a diagram of Maslow’s Hierarchy of Needs:

Maslow's hierarchy of needs: from top to bottom -- 1. Self-actualization (Personal growth an fulfillment) / 2. Ego/Esteem (Achievement, status, reputation) / 3. Social (Belongingness, love, family, relationships) / 4. Safety (Protection, security, order, stability) / 5. Physical (Food, shelter, warmth, sleep)

Dan Zambonini of the web development shop Box UK took some inspiration from it and wrote an article titled Web App Business Models: User Needs and What People Pay For. In it, he writes:

As customers, we have a finite number of needs that we’re willing to fulfill by parting with our hard-earned cash. If you’re planning a web application that can’t build a business model around one or more of these needs, you may face difficulties generating sustainable revenue.

He breaks down people’s needs into the following categories, with an explanation of each one:

He also looks at how much people are willing to have different needs fulfilled. For example, people are willing to pay geometrically increasing prices for increasing comfort. Consider the 15x price difference between “cattle class” and first-class tickets on an airplane (even though both depart and arrive at the same times), or the 27x price difference between a bargain-basement pillow and a down-filled one:

Charts showing geometrically rising prices of increased comfort (economy/premium economy/business/first class plane seats and basic fibre/duck down/goose down pillows)

Entertainment, on the other hand, is a different beast. According to Zambonini, across the wide array of entertainment options from games for their mobile phones to vacations in the tropics, people are willing to pay the same rate: $5 an hour…

Chart showing linear scaling of entertainment prices

He categorized the top 100 U.S. sites by the needs he listed — here’s how they break down:

Pie chart showing breakdown of top 100 US websites by needs fulfilled: Entertainment (30%), Wealth (20%), Education (14%), Esteem (11%), Time (10%), Belonging (6%), Survival (6%), Comfort (2%), Scarcity (1%)

Naturally, such categorization is subjective and had to be drastically simplified, with each site being slotted into a single category. Sites about food were put into the “survival” category, even though a top 100 site on food would probably cover things like gourmet food and wine, which could arguably be put into the “entertainment”, “comfort” and even “esteem” categories.

He closes the article with a series of questions that you should ask about your application, such as “Does my app allow the user to do something more quickly?”, “Does my app allow the user to express their creativity?”, “Does my app provide entertainment for the user?” and so on. Your should be able to answer “yes” to at least one of these questions, and better still, you should be able to explain why.

Links

This article also appears in Canadian Developer Connection.

Categories
Uncategorized

Qixing’s Big Move

Good Luck, Qixing!

QIxing Zheng in her TechDays 2009 orange speaker shirt

We may be losing a User Experience Evangelist, but I think we’ll get a great Windows 8 in return. Qixing Zheng, who’s been with Microsoft Canada’s Developer and Platform Evangelism team for the past three years, is leaving to join the Windows UX Team as a Program Manager. While I saw firsthand that she enjoyed her work as a UX Evangelist, talking to developers and designers about building usable, comprehensible and beautiful applications, joining the Windows UX Team is the opportunity of a lifetime. After all, how often are you given the chance to design something that will get used all the time by millions of people, all over the world, at work, play and in their day-to-day lives?

Qixing’s been the sole writer for the Canadian UX Connection blog during her tenure. She posted her farewell article, A New Year and a New Beginning, on January 1st, but don’t think that’s the last you’ve seen of her online. She promises that she’ll be blogging soon – she’ll let us know where, and I’ll let you know in turn. In the meantime, you can follow her on Twitter, where her handle is @hundredflavour.

What About User Experience?

Windows 3.1, as seen using the garish yellow and red "Hot Dog Stand" colour scheme

While I’m glad that Qixing is going to be applying her skills and knowledge to Windows’ user interfaces, there remains the need for someone to help developers, designers and people who play both roles build useful, usable and beautiful interfaces, applications and experiences. This is becoming even more important as mainstream software development extends beyond the desktop OS to the web, mobile phones, tablets and even big-ass tables.

I’m planning to pick up some of the slack in the tech blogs where I write, Canadian Developer Connection and Global Nerdy. In addition to articles on programming, industry trends and reports from the field, I’ll also be posting articles about usability, user interface and user experience, as seen from the developer’s point of view. I’ve had some experience in this area, and where my skills and knowledge fall short, I can always call on my “friends in UI places” and bring their opinions and know-how to you.

Once again, congratulations Qixing, you’ve been a great teammate — and yes, we’ll keep evangelizing user experience!

This article also appears in Canadian Developer Connection.

Categories
Uncategorized

The “Spock, Paper, Scissors” T-Shirt

The T-shirt of the day at Tee Fury is sure to be a big hit fans of Star Trek and classic games. It’s the “Spock, Paper, Scissors” shirt:

Powder blue and slate versions of the "Spock, Paper, Scissors" T-shirt

Here’s a closer look at the design:

Close-up of the design: hand-drawn illustrations of Mr. Spock, a sheet of line 3-hole paper and a pair of scissors

The shirt sells for US$9 plus shipping. It comes in two versions:

  • Men’s: Slate blue, in sizes S, M, L, XL and XXL
  • Women’s: Powder blue, in sizes S, M, L, XL

If you want it, you’ve got until the end of the day today (Monday, January 4th) to place an order. Once the day ends, Tee Fury will retire the design from production.

This article also appears in The Adventures of Accordion Guy in the 21st Century.

Categories
Uncategorized

The Presentation Secrets of Steve Jobs

If you’re a regular reader of this blog, the odds are better than even that you either make presentations or will do so eventually. That’s why, from time to time, I’ll point you to some resources for public speaking and presentations, here on Global Nerdy.

presentation secrets of steve jobs

One good resource is Carmine Gallo’s book, The Presentation Secrets of Steve Jobs, in which the author examines Steve Jobs’ legendary keynote presentations – Stevenotes – and distills helpful lessons on how to be a more effective presenter. For a taste of the book, here’s a SlideShare presentation that sums up its big ideas:

There’s a lot of presenting in my line of work. In fact, it’s a personal requirement for me. In the past, I’ve turned down higher-paying jobs because they didn’t involve presenting, blogging o’r any other public-facing activity. Maintaining and improving my presentation skills is just as important as maintaining and improving my technical skills (and yes, I still write code quite regularly), so you’ll find me polishing my communications technique quite often. As I read, learn, practice and present, I’ll share what knowledge I pick up along the way, so as I often write: watch this space!

Categories
Uncategorized

Apress’ “Windows Azure Platform”…and Discounts!

The Book

windows azure platform

I do believe I’ll be ordering an ebook edition of Apress’ Windows Azure Platform. Here’s Apress’ description of the book:

Master Microsoft’s brand-new cloud-computing technology with Windows Azure Platform by Tejaswi Redkar. You’ll learn how to utilize Azure’s four core components— Windows Azure, .NET Services, SQL Services, and Live Services—both separately and together to build flawless cloud computing services.

What you’ll learn in Windows Azure Platform:

  • Everything you need to know about the Azure Services components—from Access Control to SQL Services, from the Service Bus to Workflow Services.
  • Understand both the architectural thinking behind Azure and the nuts-and-bolts code that binds your service together.
  • Design, build, and deploy an Azure service with the assistance of a fully worked template for end-to-end application design that mimics a real-world scenario and gives you a rock-solid example of the design and development processes that you need to work through.

The Discounts

If you bought the ebook version of their previous Azure book, Introducing Windows Azure, you’ll get an automatic 50% discount off the the price of the ebook of Windows Azure Platform.

If you didn’t buy the ebook version of Introducing Windows Azure, you can still get a discount. If you place an order for Windows Azure Platform before the end of December 31st, use the discount code APRESSHOLIDAYML, which will apply a 25% discount to your entire purchase (so you can save on other Apress books, too!)

These discounts won’t last very long, so place an order today!

This article also appears in Canadian Developer Connection.