HTML5 and CSS3 for Web Designers

Two fanned-out stacks of books: One of "HTML5 for Web Designers", one of "CSS3 for Web Designers"

I’ve talked about Smashing Magazine’s Smashing HTML5 and Introducing HTML 5, and now I’m going to talk about a couple of easy reads that should be part of your library: HTML5 for Web Designers and CSS3 for Web Designers, two books published by A Book Apart, the book-publishing wing of the must-read site A List Apart (and seriously, if you build websites and it’s not one of your regular reads, bookmark it now).

HTML5 for Web Designers boils down the opaque and obtuse 900-page HTML5 spec into a clear and easy-to-read 85 pages that capture the intended spirit of the original document without getting bogged down in the minutiae (and oh, is there a lot of it). If you need to get from zero to “getting” HTML5 in the quickest way possible, this is the book for you!

CSS3 for Web Designers is the perfect companion for HTML5 for Web Designers, clearly explaining the styling part of the HTML5/CSS/JavaScript troika, from shadows, gradients and those ever-popular rounded corners to fonts and animations. It’s a slim volume (133 pages), but you’ll still get a lot of mileage out of the material covered within.

Each book is available as:

  • Paperback for USD$18.00 plus shipping
  • Ebook for USD$9.00 (PDF, ePub and mobi formats)
  • Paperback/ebook bundle for USD$23.00 plus shipping

And both books are available as a bundle, and they make an excellent combo. Better still, you save 15% by ordering them as a bundle:

  • Paperback bundle of both books for USD$30.00 plus shipping
  • Ebook bundle of both books for USD$15.00 (PDF, ePub and mobi formats)
  • Paperback/ebook bundle for both books for USD$38.00 plus shipping

Get these books, learn and start cranking out some standards-compliant websites!

This article also appears in Canadian Developer Connection.


Vote for Canadian Presenters at MIX11 / Save $500 with Early Registration!

Vote for Canadian Presenters at MIX11! - Photo collage of Francis Beaudet, David Wesst, Charles Nurse, Amir Barylko, Yaroslav Pentsarskyy, Colin Melia, Miguel Carrasco and Steve Syfuhs

MIX11 is just like the Kinect – you are the controller! MIX, Microsoft’s conference on web and mobile technologies and its most right-brained, designer-friendly gathering, takes place in Las Vegas from April 12th through 14th. They opened the door to session submissions a little while back, and now it’s time to vote for which sessions should take place. As expected, a number of Canadian developers – all of whom have spoken at TechDays and other Canadian developer events – have had their submissions accepted and they now need your support!

Please take a look at the sessions proposed by our Canadian developer friends listed below and vote for them! And vote soon – the voting closes this Friday, February 4th at 3:00 a.m. Eastern (12:00 midnight Pacific).

mix banner

Remember, you can save big bucks by registering for MIX early! If you register by February 11th, you’ll save $500 off the registration fee (knocking it down from USD$1395 to USD$895) and receive one free hotel night when you book two or more nights at Mandalay Bay hotel (the MIX conference takes place at Mandalay Bay’s convention center).

This article also appears in Canadian Developer Connection.


GPS Emulator for Windows Phone 7

GPS Emulator: Photo of a globe

GPS drives a lot a mobile applications, and we’re only just beginning to work out all the possible uses for it. On Windows Phone, you access location information with classes and interfaces provided in the System.Device.Location namespace. Here’s a quick look at its classes:

Class Description

Represents a civic address. A civic address can include fields such as street address, postal code, state/province, and country or region.


Provides functionality for resolving a coordinate-based location to a civic address.

GeoCoordinate Represents a geographical location that is determined by latitude and longitude coordinates. May also include altitude, accuracy, speed, and course information.

Supplies location data that is based on latitude and longitude coordinates.

GeoPosition(Of T)

Contains location data of a type specified by the type parameter of the GeoPosition(Of T) class.
GeoPositionChangedEventArgs(Of T)

Provides data for the PositionChanged event.

GeoPositionStatusChangedEventArgs Contains data for a GeoPositionStatusChanged event.
ResolveAddressCompletedEventArgs Provides data for the ResolveAddressCompleted event.

Writing location-aware apps is pretty simple using GeoCoordinateWatcher, but until now, testing them has been a bit of a chore. There wasn’t a straightforward way to test GPS apps in the emulator; you had to use a phone and actually go to real locations. While you really should do real-world testing of GPS apps by actually going out into the real world, it would be easier (especially in the beginning) if there were some way to test GPS apps in the emulator.

Enter the Windows Phone GPS Emulator! Here’s what Yochay Kiriaty has to say about it in the Windows Phone Developer Blog:

The Windows Phone GPS Emulator (a small WPF application) and one WP7 DLL enable you to debug your application on the Windows Phone emulator or a real device without leaving the comfort of your home or office. Once you’ve completed your testing and debugging, you only need to change a single line of code to switch to the device back to real GPS.

With the GPS Emulator, you can set a location anywhere on the globe by using the map display. Furthermore, you can plan routes with multiple intermediate waypoints, or use Bing services to calculate driving directions between locations. Once you’ve planned a route, you can simulate driving through the pre-defined waypoints along the path.

The recipe includes:

  • The Windows GPS Emulator application
  • The Windows Phone GPS Emulator Client DLL
  • A simple Windows Phone Test client
  • A complete end-to-end Windows Phone App using Bings maps (a more complex sample)

Using the GPS Emulator lets you create complex path that you can playback just as if you were driving or walking. Then, you can choose your Windows Phone application and receive the location information form the GPS Emulator just as if you got it via the real GPS.

Here’s a screenshot of the GPS Emulator and Windows Phone Emulator in action:

Screenshot of the GPS Emulator and the Windows Phone 7 Emulator, side by side

Want to get started with the GPS Emulator? Head on down to the GPS Emulator page in App Hub and download the recipe, which includes:

  • The Windows GPS Emulator application
  • The Windows Phone GPS Emulator Client DLL
  • A simple Windows Phone Test client
  • An end-to-end Windows Phone App using Bing maps (a more complex sample)

This article also appears in Canadian Developer Connection.


Forrester Research’s “10 Mobile Trends for 2011” and What They Mean to You, the Mobile Developer

windows phones

The folks at ReadWriteMobile have written up a summary of Forrester Research’s report on what they see as the big 10 mobile trends for 2011. As with any set of predictions (and especially with tech industry predictions) you should take them with a grain of salt. Still, I found them interesting and thought-provoking enough to do my own summary of these predicted trends and what they mean from a mobile developer’s point of view.

A little aside: Forrester gives itself a “B+” for the accuracy of its predictions. That’s exactly the grade I’d give myself if I were in the prediction business: not as cocky as an “A”, which wouldn’t give you wiggle room to be wrong, and not as bad as a “C”, which basically says “I’m just guessing”. "”B” is a safe rating for yourself, and the “+” is just there to say “trust me”.

Mobile/social/local combinations will explode but generate little revenue. We’re still in the early phases of location-based software, so it’s no surprise that we haven’t yet figured out how to reap profit from it yet. Keep in mind that when a research company like Forrester talks about making revenue, they’re thinking of a companies making millions. There’s still room for a clever indie developer to make what a single person or a small group of people would consider to be a nice sum of cash.

2011: Year of the “Dumb” smartphone user. Not dumb users, but users who are upgrading from “dumbphones”. Gizmodo links to this graph in the New York Times and points out a fact that the NYT didn’t: that the vast majority of the people in the U.S. are still using “dumbphones” (the more polite term is “feature phone”). With economies of scale and subsidies from the telcos, smartphones are getting cheaper and may become the next phone for today’s current crop of dumbphone users. They’re not the early adopter type, and Forrester says that they’re not going to download as many apps as the early adopters, but will consume more mobile media. These users may require different approaches: different types of apps, different UIs, different marketing. You might want to consider them when working on your next app.

Mobile fragmentation continues. The present-day phone market looks like the desktop computer market of the 1980s: there’s so much variety. Some people have smartphones, many have feature phones, and there’s Windows Phone, iOS 3 and 4, and several flavours of Android. This means that for the time being, you’re going to have to weigh the pros and cons of porting your apps or writing them as mobile web apps.

“Apps vs. Internet”: An ongoing debate that doesn’t matter. Forrester says that as far as users are concerned, it’s not an “either/or” choice when it comes to apps vs. the mobile web; they’re happy to use both. What matters is what best suits their needs, or as my frient Kat Mullaly likes to say “Most people don’t care how you pull a rabbit out of a hat; they just want to see the rabbit!” If you’re a mobile developer trying to target the widest array of mobile platforms possible (see “Mobile Fragmentation Continues”, above), you should see if mobile web development with HTML5 is the right path for you. If your target audiences are either “SuperConnecteds” (Forrester term meaning heavy app users) or “Entertainers” (Forrester term for big gamers / media consumers), apps are still the way to go. (If you’re interested in app development, the App Hub is the place to go; if you want to try your hand at mobile web apps, check out the articles at Script Junkie and Dive Into HTML 5.)

$1 billion in mobile marketing. Marketers are expected to spend over USD$1 billion this year on mobile display ads. Someone’s going to have to develop them. Time to start networking with marketing and advertising companies!

Mobile will increasingly prompt users to interact with their environment. Forrester’s talking about NFC here, but there aren’t that many phones out there with NFC capability, and it may be a while before the technology really takes off. Still, consider the ways that people use their phones today – these uses didn’t exist 5 years ago! Phones are being used to find what’s happening around us, find (or alternately, avoid) people, get information about a place or thing (by providing info via text entry, barcode or camera input) and so on. They’re not just phones anymore; they’re personal tricorders.

4G Hype Bigger Than 4G Impact. No surprise there. It took years for 3G to catch on, and while 4G adoption might be a little quicker, it’ll still take some time. As a developer, I’d say keep an eye on 4G, but don’t worry too much about it just yet.

Companies Will Invest First in Convenient Services for their Customers. Forrester says that mobile product and service pros, especially those in the travel industry are going to invest in mobile services to keep their customers happy and coming back for more. Achieving this goal means providing their customers with the most convenient service. As with mobile marketing (see “$1 billion in mobile marketing” above), someone’s going to have to write these apps!

Casual Gaming: Big Stuff. While there’s a lot going on in modern life, there are still many moments consisting of waiting. Waiting in the grocery line, waiting for the commute to end, waiting for the next assignment to come – it makes for bits of downtime spread throughout the day, five minutes here, ten minutes there, maybe a half-hour every now and again. Those bits of downtime are the perfect place for casual gaming, and what better platform for casual games than an always-on-you personal computing device? I may be repeating myself, but only because it’s true: someone’s going to have to write those games. (If you’re interested in casual game development, take a look at XNA, the game dev framework that lets you target not just Windows Phone, but the Xbox and PC as well.)

“Mobile” Will Mean More than Phones. It means tablets/slates too. And ebook readers. And portable media devices. And even services (and their data) that we can access when we’re on the go, and that allow us to sync the data among all our devices. Which means that the cloud is important. You should at least become familiar with cloud computing, and better still, start experimenting with it! (May I suggest Windows Azure as a way to get into cloud computing?)

This article also appears in Canadian Developer Connection.


Board Game Jam: This Weekend in Toronto

board game jam

If you’re in the Toronto area and have been thinking about getting into game development, whether for “stationary” devices like desktops, laptops and consoles or “mobile” devices such as tablets, slates and phones, you might want to go attend this weekend’s Board Game Jam, which takes place in Toronto this weekend.

Once the sole province of enthusiasts, game are very popular these days. Console sales are doing very well, the Kinect is selling extremely well, gamer culture has found its way into popular culture as evidenced by chiptunes and Scott Pilgrim vs. The World, and events like GamerCamp (which took place in Toronto in November) are attracting more than just the hardcore nerd crowd.

When people talk about games, the first thing that comes to mind is videogames. After all, they’re big business, and people are playing them everywhere – at home, at work (who hasn’t snuck in a quick round at the office?) and now, with mobile devices, whenever they’ve got some downtime. Videogames are great, but there’s more to gaming.


Board games are currently enjoying a renaissance. According to The Economist, board games sales in 2008 exceeded USD$800 million and have been growing 20% each year. Settlers of Catan, which was once for the Dungeons and Dragons crowd only, is now a hipster hobby, there’s a very healthy selection of board games at Toys ‘R’ Us and there are crowds at Toronto’s board game café, Snakes and Lattes. Just as videogames have their own special charms, so do board games – they may be made of plastic and cardboard instead of pixels and data, but in both, it’s the gameplay that makes or breaks them.

Gameplay is what Board Game Jam is all about, and since it’s about making board games rather than videogames, this gathering will make game design accessible to just about everyone. As the organizers say, “On a mechanical level, it’s simple arts and crafts.” The bigger point of Board Game Jam is to explore the gameplay aspects of game development. What makes a game fun? How do you balance challenge, playability, simplicity, complexity and sociability? Can you build a game by taking a classic and applying a little twist to it, or would you rather build something completely different?

If you’re thinking of building games for the PC, phone or Xbox, you could learn a lot at Board Game Jam. As the organizers put it:

Most of the time, we’re talking about videogames. Because videogames are awesome. But it’s easy to forget that the principles that underlie good game-making don’t necessarily involve realistic physics engines, or even good control schemes. Much of game design has to do with abstract rules and mechanics that don’t have anything to do with technology.

Here’s what’s happening at Board Game Jam:

  • Saturday
    • Morning: A crash course in board game design
    • Afternoon and evening: Make a board game
  • Sunday
    • Morning and afternoon: Finish those board games
    • Evening: Board game party – the public plays the games built at Board Game Jam!

(The full schedule for Board Game Jam is here.)

Board Game Jam takes place this Saturday and Sunday, January 29th and 30th at the George Brown School of Design, 230 Richmond Street East, Toronto. The early bird price is no longer available, but the “late bird” price is still a mere CAD$20. If you’d like to attend (I’ll be there, at least for the crash course in board game design, where I plan to take copious notes and blog them), you should register for the event at their EventBrite page.

This article also appears in Canadian Developer Connection.


Shmoocon 2011’s Live Streams

shmoocon 2011

The 7th annual ShmooCon is on this weekend (things kick off at 3:00 p.m. Eastern today). If you’re into security, technology exploitation, interesting and inventive hardware and software solutions and hacker culture, you’ll probably find this conference of great interest, along with its west coast counterpart, ToorCon. ShmooCon’s taking place in Washington, DC this year.

There are probably all sorts of reasons you’re not there right now, most likely other commitments like work and family, not to mention that ShmooCon sells out within ten minutes of registration opening. You can still catch the proceedings because they’re streaming the conference live and free of charge! Their streaming video page has all the details, and you can pick out the sessions you’d like to watch on their schedule page.

This article also appears in Canadian Developer Connection,


New Zealand Kids and Their Windows Phone 7 App

They’re barely in their teens and look so impossibly young, but they’re writing apps for Windows Phone 7. These kids from Unlimited Paenga Tawhiti, a special charter high school in Christchurch, New Zealand, where students do self-directed learning and follow their own interests and enthusiasms. In the video above, they’re being interviewed by Ben Gracewood about a WP7 game they wrote called Pop-ins, which tests your geographic knowledge of New Zealand. (I can locate Auckland and Christchurch, but that’s as far as my New Zealand geography goes.)

In his blog entry about these kids, Ben writes:

With next to no outside help, these young developers picked up the WP7 dev tools [and] coded up a working game – testament to just how straightforward development for the Windows Phone platform is. Part of their motivation was that the Windows Phone 7 Marketplace is less saturated than the iPhone App Store.

They’re writing Windows Phone 7 apps and you should be too! Want to get started?

  1. Download the free tools! The installer will do one of two things:
    • If you don’t have Visual Studio installed, it’ll install Visual Studio 2010 Express for Windows Phone, which will let you write apps and games for Windows Phone 7 and Xbox 360. Even though it’s an “Express” version, it’s got a lot of the features that make Visual Studio the best IDE out there.
    • If you already have Visual Studio installed, it’ll simply add on the necessary stuff to make it possible to write apps and games for Windows Phone 7 and Xbox 360.
  2. Install the October 2010 update for Windows Phone Developer tools. This update provides enhancements and additional goodies to the free tools.
  3. [Optional] If you’re more comfortable coding in Visual Basic than C#, download Visual Basic for Windows Phone Developer Tools. This will add support for the Visual Basic programming language to the free tools.
  4. Try out the “Hello Windows Phone” exercise. It’s a nice little “Hello World” program that will help you get familiar with the development environment and the process of writing Windows Phone 7 apps.
  5. Get your hands on these FREE ebooks on Windows Phone 7 development.
  6. Look around the App Hub. There’s lots of stuff in there for Windows Phone developers of all skill levels.
  7. Keep reading this blog! We’re going to be covering all sorts of aspects of Windows Phone 7 development.

This article also appears in Canadian Developer Connection.