tools

What’s Happening with Windows Phone 7 [Updated]

by Joey deVilla on July 28, 2010

windows phone 7

Update: I added links to official Windows Phone 7 documentation.

And now, a quick wrap-up of what’s happening with Windows Phone 7. (What you see above is my phone in my hand, as seen from my point of view at Café Novo, one of my “remote offices” in Toronto.)

In this article, I cover:

  • General in-person reactions by people trying out Windows Phone 7
  • The developer tools
  • The upcoming Windows Phone 7 Bootcamp by DevTeach and DreamDigital
  • Resources, including the most complete list of upcoming Windows Phone 7 books that I know of
  • A little bit about Marketplace and how we plan to help you market your apps.

Read on for more!

Windows Phone 7 Makes a Splash at Tweetgasm

tweetgasm

On Monday night, I attended a monthly event called Tweetgasm, which took place in Toronto’s Gladstone Hotel. As the name of the event implies, it’s a gathering of Twitter users, and as expected, a good chunk of the people who came work in tech, internet marketing and that emerging business called “social media”.

Then came the inevitable question: “So is it true that you’ve got a Windows Phone?”

I pulled it out from my pocket, unlocked it, and said “Want to take it for a spin?”

I spent the better part of an hour letting people put my phone through its paces. From this experience, it became quite clear that seeing photos of WP7’s minimalistic interface and actually experiencing it “up close and personal” are two very different creatures.

“It’s really responsive,” was a common refrain as they tried out the touch screen. The touch response of the phone feels right. People got a kick out of flicking their way around the various hubs and pinch-zooming in both the browser and my photo collection.

“It’s easy to read!” was another common response. “Nice and clean, and what’s that font?”

(It’s “Segoe WP”, a variant of “Segoe UI”, which comes with Windows Vista and 7. You get Segoe WP when you download the WP7 developer tools. Hardcore typography nerds might want to check out Wikipedia’s entry on Segoe.)

“All right, Joey,” said a couple of developers who built apps for other platforms, “how do we get in on building for this phone?” I have their contact info, and I’ll be talking with them very soon.

And how do you get in on building for WP7 if you didn’t get my business card at Tweetgasm? Step one is simple: drop me a line.

Get the Windows Phone 7 Beta Developer Tools

tools

If you want to get started building apps for WP7, your first step is to download the tools. The tools recently made the leap from CTP (“Community Technology Preview”) to beta. The developer tools are free-as-in-beer and based on the excellent Visual Studio IDE.

click here to download wp7 developer tools beta

Here’s what you get with the tools:

  • Visual Studio 2010 Express for Windows Phone (beta). The development environment, debugger and compiler – it’s where you’ll be coding.
  • Windows Phone Emulator (beta). So you can take your apps for a test run. It works with touch screens, too – I use it with my touch screen-equipped laptop (a Dell Latitude XT2) all the time.
  • Microsoft Expression Blend for Windows Phone (beta). An interface designer that makes it easier to build the UIs for Silverlight-based phone apps. Used in tandem with Visual Studio 2010 Express for Windows Phone, it makes building gorgeous apps a much quicker process.
  • Silverlight for Windows Phone (beta). One of the programming frameworks for WP7, this one is better suited for building event-driven “application”-style apps.
  • XNA Game Studio for Windows Phone (beta). The other programming framework for WP7, this game loop-driven framework is better suited for game development. It’s based on XNA Game Studio, which lets you build games for Xbox 360 and Windows.

Two Days of Intensive Hands-On Training at the Windows Phone 7 Bootcamp

bootcamp

Our friends at DevTeach and DreamDigital have teamed up to offer an intensive two-day “bootcamp” covering WP7 development in four Canadian cities later this summer:

  • Montreal: Monday, August 23 and Tuesday, August 24 at the Microsoft office
  • Vancouver: Monday, August 30 and Tuesday, August 31 at the Sutton Place Hotel
  • Ottawa: Thursday, September 2 and Friday, September 3 at the Microsoft office
  • Toronto: Tuesday, September 7 and Wednesday, September 8 at Microsoft’s downtown office

The bootcamp course will be taught by Colin Melia, who’s who’s presented at TechDays, wrote the Silverlight demo app that we used for the EnergizeIT tour and is one of our go-to guys for Windows Azure – simply put, the guy knows his stuff. If you’re looking to kick-start your WP7 development, there isn’t a course more hardcore than this one.

The registration fee is CDN$999 for the full-day training session, and you can save $100 by using the discount code WP7BOOTCAMP when you register. I repeat:

save100withWPBOOTCAMPcode

For the full details on the Windows Phone 7 Bootcamp, see the Windows Phone 7 Bootcamp page.

Where Can I Find Out More About Windows Phone 7?

guidance

joey wp7 accordion

Yours Truly and This Blog

For starters, there’s me (that’s me on the right, with the accordion with the “I love Windows Phone” stickers on it). I’m one of the designated “Windows Phone Champs”, and it’s my job to make it easier for you to write Windows Phone 7 apps. With my fellow champs Paul Laberge and Jamie Wakeam, I’ll be writing articles, organizing workshops, getting you the latest technical, user experience and marketing info you need, provisioning developer phones and doing whatever it takes to help you become a successful WP7 developer. Our success is going to be measured by your success.

Want to keep track of me and all the stuff I’m doing for Windows Phone developers? Check out the following:

  • I’ll be posting about WP7 quite regularly on this blog, so keep it bookmarked and come back often!
  • Follow me on Twitter: I’m @AccordionGuy.
  • Have you been working on a WP7 app using the development tools and emulator and are wondering what the next step is? You probably want to email me. Let’s talk!

Official Windows Phone 7 Documentation

The official docs are always a good starting point. Make sure you check out all these links!

Windows Phone Developer Blog

In addition to this blog, be sure to check out these blogs that cover WP7 development:

Books

There are a number of WP7 books in the works, including the ones listed below:

windows phone 7 unleashed

Windows Phone 7 Unleashed by Daniel Vaughan and published by Sams. He posted a quick blog entry about it earlier today.

beginning windows phone 7 development

Beginning Windows Phone 7 Development by Henry Lee and published by Apress.

pro windows phone 7 development

Pro Windows Phone 7 Development by Rob Cameron and published by Apress.

windows phone 7 game development

Windows Phone 7 Game Development by Adam Dawes and published by Apress. Here’s his blog entry on the book.

learning windows phone game programming

Learning Windows Phone Programming by Yochay Kiriaty and Jaime Rodriguez and published by O’Reilly. You can download a free 50-page PDF “sampler” of the book.

programming windows phone 7

Programming Windows Phone 7 by Charles Petzold and published by Microsoft Press. You can download a sampler of the book in PDF or XPS format, along with source code.

windows phone 7 application development using silverlight

Windows Phone 7 Application Development Using Silverlight by Corey Schuman and published by Addison-Wesley Professional.

xna game studio 4.0 programming

XNA Game Studio 4.0 Programming: Developing for Windows Phone and Xbox Live by Tom Miller and Dean Johnson and published by Addison-Wesley Professional.

wrox

There are also a couple of books coming out from Wrox that don’t have cover designs yet:

Promoting Your Apps in Marketplace

market 
Building WP7 apps is half the job; the other half is selling them in the Marketplace. We’re working on ways to help you market your applications, from articles explaining what works and what doesn’t (based on research and studying what works and what doesn’t for other mobile platforms), putting the spotlight on Canadian WP7 developers and their apps and sessions like Anthony Bartolo’s upcoming “Turbo Talk” at TechDays, where he’ll talk about Windows Phone Marketplace and how to get the most out of it.

Are you working on apps for Windows Phone 7? Make sure I (and through me, the rest of Microsoft Canada’s WP7 team) know about it – drop me a line!

Movin’ on Up

upward 
As a complete reboot and from-the-ground-up rethinking of Microsoft’s approach to mobile, Windows Phone 7 gives you a unique opportunity to get in on the ground floor, make a splash and be a rock star. Albert Shum’s new UI design makes it stand apart from other mobile OSs, and whenever I show my phone to people, they’re impressed by it. The new programming models – Silverlight and XNA offer a lot of power and flexibility, and I personally find programming with them and in C# far more pleasant that the options offered by The Esteemed Competition. As you’ll see in the coming weeks and months, The Empire is putting all sorts of resources behind WP7, and a lot of developers are coming along for the ride.

We’re movin’ on up – join us!

This article also appears in Canadian Developer Connection.

{ 0 comments }

Now in Beta: Windows Phone Developer Tools!

by Joey deVilla on July 12, 2010

Devvin' for Seven: Windows Phone 7 DevelopmentThe announcement went out earlier today: the Windows Phone Developer Tools have moved from the CTP ("Community Technical Preview”) phase to Beta (“Almost There!”). As Brandon Watson wrote in the Windows Phone Developer Blog, “This Beta release represents the near final version of the tools for building applications and games for Windows Phone 7.”

Go ahead, go and download it! Click the big graphic link below. You know you want to.

click here to download wp7 developer tools beta

Make sure you uninstall previous versions of Windows Phone Developer Tools before you install the beta.

This article also appears in Canadian Developer Connection.

{ 0 comments }

Introducing WebMatrix

by Joey deVilla on July 7, 2010

What is WebMatrix?

webmatrixBy now, you’ve probably seen the tech news reports as well as Scott Guthrie’s announcement about WebMatrix, Microsoft’s lightweight web development web development system that packages a web development tool with a number of new web technologies:

  • IIS Developer Express: a lightweight, free-as-in-beer web server with simple setup, runs on all versions of Windows and is compatible with the full-on version of IIS 7.5
  • SQL Server Compact Edition: a lightweight, free-as-in-beer file-based database with simple setup that can be embedded within ASP.NET applications, supports low-cost hosting and whose databases can be migrated to the full-on version of SQL Server.
  • ASP.NET “Razor”: A new view engine option for ASP.NET for easy and clean templating with a simple syntax. You can use Razor to embed C# or VB into HTML.

WebMatrix ties these goodies together in a nice simple package that the beginning web developer will find easy to use and that the pro web developer will find handy for building quick sites. These parts are also available individually to ASP.NET developers and will soon be available to ASP.NET MVC developers.

If you’re looking for a quick video tour of WebMatrix, chack out the Channel 9 video below:

Get Microsoft Silverlight

Can’t see the video? You can download and install Silverlight or download the video in iPod, MP3, PSP, WMA, WMV, WMV (High) or Zune formats.

A Quick Look at WebMatrix’s Parts

WebMatrix provides a simple, task-based interface for quickly creating web sites, both static and dynamic:

WebMatrix "Quick Start" screen, with four links: My Sites, Site from Web Gallery, Site from Template, Site from Folder

It makes it easy to include open source ASP.NET- and PHP-based web applications in your site:

WebMatrix App Gallery page, featuring apps like DotNetNuke and WordPress

It’s also easy to manage applications in a WebMatrix site:

BlogEngine.NET management page in WebMatrix
If you’d rather write your own web app in WebMatrix, you can do that too. There’s a rich file editor:

WebMatrix file editor, showing the site.master page in BlogEngine.NET being edited

And database definition and management tools:

Screenshot of table definiton and contents in WebMatrix's database tools

There’s also sample code and web helpers to make your life easier and show you what’s possible, such as this handy sample that makes it easy to make a Twitter client. Here’s the code that takes advantage of the sample:

WebMatrix code editor showing a Twitter class' "Search" method being called

…and here’s the result:

Screenshot of sample Twitter app in WebMatrix

If you need to get hardcore, you can open your WebMatrix project in Visual Studio or even the free-as-in-beer Visual Web Developer 2010 Express:

WebMatrix toolbar, with the "Launch in Visual Studio" button highlighted

Previewing your WebMatrix site in multiple browsers is a snap:

The "Run" button in WebMatrix, showing the different browsers you can use to preview your site

Deployment is nice and easy once you’re doing editing your site:

The "publish" button and screen in WebMatrix

Find Out More

I haven’t had a chance to take WebMatrix out for a proper spin yet, but I’m hoping to over the next few days. It’s a collection of cool technologies (which I ‘ll also use in my regular ASP.NET MVC development) wrapped together by a nice, simple tool that’s great for the web developer who’s not working on enterprise sites. I can also see myself using it as a handy prototyping tool.

If you’d like to find out more about WebMatrix, take a look at these:

Download the WebMatrix Beta now!

WebMatrix has just been released as a beta and available for download right now! We want you to try it out and let us know what you think, because we’ll be refining it based on what you tell us.

This article also appears in Canadian Developer Connection.

{ 3 comments }

checklist manifesto

Checklists

To put it into programmer-speak, checklists are unit tests for everyday life. Like unit tests, checklists appear to be additional make-work that take valuable time away from performing the task at hand. However, when done right, checklists save time by helping ensure you’re doing everything you need to do and can even function as a sort of specification for the task (in fact, like unit tests, checklists often end up being the “real” specification for all intents and purposes).

Checklists may seem to the be province of by-the-book, obey-all-rules-and-regulations slaves to procedure, but I think it’s one thing those Poindexters got right. I would argue that the structure and order that they provide free us to spend our energy on those less controllable, more chaotic parts of our lives, work and play. As I like to say, “preparedness enables spontaneity”.

I could go on about the power of checklists and how even a pretty random goofball such as Yours Truly has benefited from them (at least when I use them), but I’d serve you better by pointing you to Atul Gawande’s book, The Checklist Manifesto: How to Get Things Right. In it, Gawande writes about how checklists have improved the outcomes in his own surgical practice, as well as in other fields such as piloting, where bad outcomes are really bad.

Launchlist

01 launchlist logoIn spite of repeated threats from your client, the odds are that no one will get injured or die if something’s wrong with the web site or application that you’re working on. I hope that you still have enough pride in your work and your profession that you want to get things right. If you do – and I hope that’s why you’re reading this blog; you’re the sort of reader I’m going after – you’ll want to use tools like unit tests and checklists to ensure you’re getting things done properly.

One such tool is Launchlist, a simple-but-useful web application that acts as a checklist for web developers and designers. Built by Jay Hollywood (coincidentally my stage name should this computer fad blow over and I need to become an “exotic dancer” to pay the rent) and Lee Karolczak, it is:

…intended to help and encourage web designers and developers to check their work before exposing it to the world at large.

The product was born out of frustration. For too long we had been using archaic methods to conduct pre-launch testing and the web was an obvious choice to do it better.

Launchlist features a set of questions about the site you’re working on, based on Hollywood’s and Karolczak’s own experiences building sites. You should be able to answer “yes” to all of them before you unleash your site upon the world:

03 list

Launchlist could’ve been a simple site using checkboxes and bog-standard form elements, but in the age of modern web apps and increased appreciation of design that’s both functional and beautiful, I’m glad to see that they went the extra mile and worked some CSS magic. The “yes/no” toggle switches are beautiful, yet function quite well as checkboxes, and even the “Product Details” section, which would’ve functioned quite adequately as a bunch of ho-hum text fields, is pleasing to the eye:

02 project details

Here’s a set of items on Launchlist’s checklist that shows what “checked” and “unchecked” items look like:

04 checked and unchecked items

Launchlist’s creators came up with a set of questions that should apply to most web sites. However, if some of them don’t apply to your site, you can simply mark them as “not applicable”:

05 not applicable

You can even add a comment to an item in Launchlists’s checklist, in case a simple “yes/no” answer isn’t sufficient:

06 comment

And knowing that you might have checklist items that are unique to your projects, they gave Launchlist the ability to house up to 10 custom ones, like the one I created, shown below:

07 custom item

The status report is at the bottom of the list, which is also where you can add your own custom items to the checklist. If any of the applicable items in the checklist remain unchecked, the status report will read “Launch not advisable” and report the number of unchecked items:

08 launch not advisable

If you checked all the applicable items in the checklist, Launchlist declares that your site is ready for launch:

09 go for launch

Once you’re done checking and unchecking items, you click the “Submit report” button at the bottom, after which you’ll see this:

10 report sent

…and as the text in the “Your report has been sent” message says, you and the intended recipient of the status report are emailed. Here’s the text of the report that Launchlist sent to me:

Launchlist Submission Report for Test (http://joeydevilla.com):

Status: Launch not advisable – 5 items are still outstanding.
We recommend you resolve these items before launching your website.

ITEMS OUTSTANDING (NOT CHECKED)
—————————————————————————-

- Required fields have been tested?
- Forms send to correct recipient?
- Web Statistics package installed and operational?
- 404 page exists and informative?
-

APPROVED ITEMS (CHECKED)
—————————————————————————-

- All text free from spelling errors?
- Page & Content formatting has been tested?
- Print stylesheet exists and tested?
- Meta data has been included and is appropriate?
- Page titles are descriptive and SEO friendly?
- Images have appropriate alt tags?
- Title tags are appropriate and SEO friendly?
- Favicon has been created and displays correctly?
- Footer includes copyright and link to site creator?
- HTML has passed validation?
- CSS has passed validation?
  Comment – Todd says he’ll have it fixed by Friday.

- There are no broken links?
- JavaScript is error free?
- Displays & functions correctly in ie7?
- Displays & functions correctly in ie8?
- Displays & functions correctly in Firefox (Mac & PC)?
- Displays & functions correctly in Chrome (Mac & PC)?
- Displays & functions correctly in Safari (Mac & PC)?
- Displays & functions correctly in Opera (Mac & PC)?
- Tested at 1024 x 768 resolution?
- Tested at larger resolutions?
- Forms have been tested and processed correctly?
- Picture of Sean Connery in "Zardoz" outfit on every page?

—————————————————————————-

This report has been crafted and delivered via Launchlist http://www.launchlist.net

Follow Launchlist on twitter – http://twitter.com/launchlistapp

Lessons from Launchlist

Here’s a quick run-down of what I think can be learned from Launchlist. I’m sure that I’ll think of more after I’ve published this article…

  • Design matters. Launchlist could’ve been built without all the stack we like to call "HTML5” (it’s really HTML5, CSS and JavaScript working together) and the gorgeous design, but without it, you wouldn’t be compelled to use it. And the design goes beyond its good looks; there’s also a great deal of usability and user experience design in Launchlist, from its clean layout to the controls that pop up only when they’re needed.
  • You can do HTML5 in Internet Explorer. Launchlist works just fine with Internet Explorer 8 (the screenshots I took for this article were taken from a Launchlist session in IE8) – a quick “View Source” reveals that they used the HTML5 Shim for IE. And of course, there’s IE9, which the Internet Explorer team is working furiously on.
  • Do one thing, and do it very, very well. I think that this is a good app philosophy, and I believe it applies doubly to those of you planning to build apps for mobile devices, whether they’re phones or tablets.
  • “Freemium” (or: Apps can be ads). Launchlist’s creators say that the version of Launchlist at Launchlist.net will always be free, but that they’re working on a paid subscription version with more features. I think this is a good approach – there’s no marketing like a “starter” version, especially when what you’re making is so nice.

This article also appears in Canadian Developer Connection.

{ 1 comment }

Websites You Shouldn’t Have Missed in April 2008

by Joey deVilla on April 29, 2008

Websites You Shouldn’t Have Missed in April 2008 is a collection of 52 links featuring graphic design tutorials, Ajax, CSS, tips for freelance workers, free fonts, icons and graphics, tools and generators, WordPress themes, typography sites and sites to inspire you. Well worth perusing.

{ 0 comments }