The Ignite Your Coding live webcast series starts this Thursday, March 4th at 2:00 p.m. Eastern (11:00 a.m. Pacific) with me and John Bristowe interviewing Andy “Pragmatic Programmer” Hunt! Join us as we talk with Andy about how he got into software development, how he became a writer and publisher, his book Pragmatic Thinking and Learning and much more. After we’re done asking our questions, we’ll turn over the interview to you, and you can ask Andy your questions!
If you’d like to catch the live webcast, you’ll need Live Meeting, which you can download here. We’ll also record the webcast and make it available in MP3 form.
Who Else Will Appear on Ignite Your Coding?
Here’s a complete schedule of the Ignite Your Coding webcasts we’ve set up so far. You can find full descriptions of each of the upcoming shows at the Ignite Your Coding site.
Andy Hunt Pragmatic Programming, Thinking and Learning
Welcome to another installment of Counting Down to Seven, a series of articles about mobile app development that I’m writing as we count down the days to MIX10, when we reveal more about the up-and-coming Windows Phone 7 Series.
Who are the Millennials?
In Andy Hunt’s book, Pragmatic Thinking and Learning (which we’re covering in Ignite Your Coding in a couple of days!), there’s a chapter devoted to recognizing and compensating for your cognitive biases. In that chapter, there’s a section titled Recognize Your Generational Affinity, and it begins with this quote from Douglas Adams:
Anything that is in the world when you’re born is normal and ordinary and just a natural part of the way the world works.
Anything that is invented between when you’re fifteen and thirty-five is new and exciting and revolutionary and you can probably get a career in it.
Anything invented after you’re thirty-five is against the natural order of things.
It’s an interesting quote to keep in mind when discussing that demographic known as “Millennials” or “Generation Y”. While there aren’t any hard and fast rules for defining the boundaries of a generation, it’s generally accepted that when we’re talking about Millennials, we’re referring to a group of people born after 1982.
By Douglas Adams’ maxim above, even the oldest members of this generation, who were 15 in 1997, would consider the web and mobile phones that actually fit in your pocket as normal and ordinary and just a natural part of the way the world works. Members of this generation who are in university or just about to enter the job market probably can’t even remember a world where the internet and mobile phones weren’t household items.
How Millennial are You?
I followed a tweet from my friend, co-worker and fellow Generation Xer David Crow which lead me to the Pew Research Center’s How Millennial Are You? Quiz. David scored 51/100, which suggests that his tendencies fall somewhere between Generation X and Millennial. Here are my results:
I don’t know how I should feel about that score (I was born in 1967). Millennial tendencies or not, I don’t think you’re going to hear me blasting any Justin Bieber tunes out of my car anytime soon.
Millennials: Under the Microscope and With Mobile Phones
The quiz led me to the Pew Research Center’s study titled Millennials: A Portrait of Generation Next[1.25 MB PDF]. It’s subtitled with “Confident. Connected. Open to Change.”, and it’s a pretty interesting read if you’re the sort of person who likes to know what makes people tick (and if you know me, I’m just that sort of person). It’s also worth reading – at least parts of it are – if you’re planning to get into developing for Windows Phone 7 (and yes, any other vendor’s smartphone platform, but those don’t pay my bills).
Millennials grew up in the networked world and spent at least part of their adolescent years in the era of what Microsoft Research’s danah boyd calls “networked publics”. They’re the first “always connected” generation, having grown up with broadband, wifi and mobile devices. They’re more technophilic than previous generations, as the chart below shows:
(Note the use of the phrase “cell phone” – clearly an Xer or Boomer wrote the study.)
The stats about mobile phones are worth repeating:
88% of Millennials use their mobile phone to send text messages
80% have texted in the past 24 hours
64% have texted while driving (how you do this, I don’t even know)
Of those who’ve texted in the past 24 hours, the median number of texts they have sent and received is 20.
Here’s another observation: 83% of Millennials sleep with their mobile phones nearby, according to the chart below:
Most Millennials have a mobile phone, and many of them have the mobile as their only phone (as opposed to having a land line at home):
Millennials are also big on wireless ‘net access:
In the past 24 hours, Millennials are more likely to have watched an online video, posted a message to an online profile and played a video game than the other generations. Here’s a chart showing “Past 24 Hours” activities for various generations:
Motorola on Millennials
Given the Millennials’ technophilic tendencies, it’s not surprising that a number of high-tech companies have researched this generation. Here are a couple of videos posted by Motorola Media Center:
Millennials are much more likely than Boomers to use web banking (49% versus 35%)
See online service capabilities as important when researching a bank (54% versus 42%)
Care less about doing transactions in person at a bank branch (32% versus 44%)
Summary
Keep the Millennials in mind when you’re thinking about apps to write for Windows Phone 7. Think of the sorts of application that would appeal to people who:
Don’t think of mobile phones as just phones that fit in your pocket, but as remote controls for the world.
Send a lot of text messages, sometimes at inadvisable times.
Always have their phones close by, even when they’re asleep.
Are bigger videogame players than any previous generation.
Are more likely to have their mobile phone as their primary and sole phone.
What needs would they have? What goals would arise from those needs? What user contexts would they have, and how would you use them to filter what your apps would present to them?
This Week on Channel 9, or TWC9 for short, is a weekly digest show hosted by Microsoft’s Dan Fernandez and Brian Keller covering the developer community news they find most interesting after sifting through hundreds of blogs, videos and announcements. It’s aimed primarily at .NET developers, but if you have any geeky tendencies at all, chances are they’ll cover something that appeals to you!
In this week’s episode, they cover the following topics, summarized in the handy-dandy table below:
Steve’s off being a jet-set celebrity – what kind of excuse is “I’m off to Japan to shoot a commercial”, anyway? – so David Aiken, who also knows quite a bit about Azure, is filling in for him in this episode. Here’s what David and Steve cover:
They do a walkthrough of the RoleEntryPoint class and show you the hooks that you can use to build web and worker services,
Explain Azure’s billing model, and
Show you how to troubleshoot the Initializing-Busy-Stopping loop.
Dave Remmer and Adam Gallant, two of my colleagues from Microsoft Canada’s Developer and Platform Evangelism team, are hosting a series of webcasts aimed at enterprise application developers, architects and managers on Tuesdays from March 23 through April 27th.
Here’s what the series is all about:
With IT being an increasingly vital strategic asset and business enabler in organizations today, we all need to strive for excellence in execution in the IT projects we’re leading. There are a number of different ways to help create this excellence; so they’ve put together six, one-hour webcasts to give you our perspective on how to help make it happen. Starting with the ALM [that’s short for Application Lifecycle Management – Joey] foundation of successful project delivery, they’ll look at architectural patterns for the web, for building secure solutions, for leveraging the cloud and client devices, for IT governance and operations, and finish up with real life stories from experts who’ve done it before. At the end of the series, they hope that you will gain new insights how to help increase business value and agility through IT by having a better understanding of how to leverage the Microsoft platform and toolset.
Here are the individual webcast episodes and their dates and times. To register for a webcast (and yes, registration is free), click on its title:
If you’re wondering what’s new in Visual Studio 2010, you’re going to want to catch these sessions taking place in March. You’ll get a grand tour of all the new capabilities as well as the new MSDN offerings that come with the new Visual Studio.
The “What’s New” sessions are taking place in these cities:
City
Date
Invitation Key
Edmonton
Monday, March 1
8ACE98
Calgary
Tuesday, March 2
9FA90A
St. John’s, Newfoundland
Tuesday, March 2
C89B02
Mississauga
Thursday, March 4
5A1CB4
Quebec City
Tuesday, March 9
1C5C3C
Here’s the event schedule:
Registration & Breakfast 8:30 a.m. – 9:00 a.m.
Event Opening Ceremonies 9:00 a.m. – 9:10 a.m.
Live technical demonstration: What’s new with Visual Studio Team System 2010 9:10 a.m. – 11:00 a.m.
Q&A 11:00 a.m. – 11:20 a.m.
Event close / completion of evaluation form 11:20 a.m. – 11:30 a.m.
If you’d like to attend one of these sessions, select the Invitation Key from the city whose session you want to attend and enter it on the Registration page.
Welcome to another installment of Counting Down to Seven, a series of articles about mobile app development that I’m writing as we count down the days to MIX10, when we reveal more about the up-and-coming Windows Phone 7 Series.
In an earlier article, I wrote that Brian Fling’s book, Mobile Design and Development, led me to a couple of instances where the number 7 appeared in writing on mobile development. The first was Tomi Ahonen’s thesis that mobile is the 7th mass medium.
The number 7 also appears in Chapter 5 of Mobile Design and Development, titled Developing a Mobile Strategy. In it, Fling lists seven rules for developing your own mobile strategy, which I’ve summarized below.
1. Forget what you think you know.
The mobile industry is highly competitive, evolves quickly and produces a lot of press releases full of speculation and empty promises on a scale that dwarfs that of the early dot-com days.
“Do yourself a favor and forget everything you think you know about mobile technology,” writes Fling. Instead, he suggests that you:
Ask the hard questions about your business, your customers and your development capacity without considering the latest hype about a new tool or technology.
Focus on what’s right for your user instead of simply emulating what your competitors are doing.
Forget what you think you know about mobile – it’s most likely wrong.
2. Believe what you see, not what you read.
Fling writes: “In mobile, any argument can be made, and for a few thousand dollars you can buy a report or white paper that supports your argument.”
His suggestions include:
Mobile industry reports have a short shelf life. Anything over a year or so old is probably useless. (And you should probably ignore anything pre-iPhone other than for a good laugh.)
Ask your users questions in person, in their context, rather than relying on focus groups.
Record what your users say. “Nothing makes your case like your users’ own words.”
3. Constraints never come first.
There are many constraints in mobile development: the size of the device, processor speed, battery life, networks, business issues and so on. You will have to account for them, but if you do so too early, you might end up killing some ideas before they even get prototyped, never mind implemented.
Fling writes:
If you are concerned about the constraints of the mobile medium, know that there will always be constraints in mobile. Get over it. It isn’t a deal breaker. Just make sure you aren’t the deal breaker. Focus on strategy first, what they user needs, and lay down the features; then, if the constraints become an issue, fall back to the user goals. There is always an alternative.
4. Focus on the user’s context, goals and needs.
Here’s how Fling defines the terms:
Needs are simple. The example he uses is the need to eat. He says that our of context, goals and needs, a user’s needs are the easiest to predict if you know some basic information about the him or her.
Goals arise from needs. In his example, the goal is to get food.
Context is the user’s current state. It could be something like “I am at this location and I’m in the mood for Thai food.”
Fling’s suggested strategy for focusing on context, goals and needs:
Define the users’ context first. Without that context, you don’t have a mobile strategy, it’s just a plan of action.
Uncover the users’ goals, then try to understand how the user’s context alters those goals.
Once you know the users’ goals, find out the actions they want to take.
Look for ways to filter what you present to your users by their context.
5. You can’t support everything.
That’s right! Just stick with supporting Windows Phone 7!
But seriously: unless you’ve somehow got access to a big pool of developers to cover them all, you’re going to have to narrow down the number of devices you support – possibly even down to one. I’ll do what I can to make sure that Windows Phone 7 is the platform people want, but you need to see what platform your users are using.
Fling’s tips:
Start with the devices that your customers are using.
The most popular device or the one that’s easiest to develop for may not be the best device for your project.
If you’re converting a web application into a mobile app, look at your server logs and see what mobile devices are accessing it. Target those devices.
Go mobile phone window shopping and see what devices the stores are targeting at different types of users.
6. Don’t convert, create.
My mother, a piano player, bought an “electronic sheet music” tablet. The idea was that instead of having to keep lots of books and folders of sheet music, she could get rid of the clutter and have a convenient, easily expandable music library. Unfortunately, the device uses a standard desktop interface – actually, a sub-standard Linux window manager, not even a decent one like Gnome or KDE – and it’s a royal pain to use. Mom went back to sheet music on actual sheets of paper and the device is now gathering dust.
On the other hand, the TiVo – also a Linux device – has a great user interface. It’s designed around the way you use a TV, not around what’s easier to implement. It’s not a port of desktop TV recording software (most of which is terrible to use), but a whole new thing, and it’s better for it.
With that in mind, here are Fling’s “Don’t covert, create” tips:
Understand your user’s’ context. Knowing how, when and under what conditions your users will use your mobile app will allow you to create a better user interface and experience.
Don’t forget that mobile isn’t just a shrunken-down desktop; it’s its own thing, with its own strengths.
7. Keep it simple.
That’s simple, not stupid. People tend to use their mobile devices while they’re on the go or doing something else, so helping them get their task done is far more important that loading your mobile app with features. Mobile users have to deal with many constraints, so show restraint in the mobile products you build.