Windows

We’ll Know For Sure Next Year [Updated]

by Joey deVilla on September 21, 2011

windows good and shit

This photo has been floating about the interwebs for the past couple of days. I’d have marked Windows 3.1 as “shit” and Windows 95 as “good” myself, but that would’ve ruined the pattern.

Update, September 21, 2011: My friend Hector Kearns points out that Windows 2000 is conveniently missing from the list, which would make two good versions in a row and breaks the good/shit pattern.

{ 8 comments }

That’s How We Roll in the Wintel World

by Joey deVilla on May 17, 2011

Shopify, being startup made up mostly of younger people with a strong design bent, are a Mac-based shop. When you walk in the office, it’s Apple logos as far as the eye can see (I’m the lone holdout, with both a Mac and a Windows machine at my desk). Every culture lives in its own bubble, and Apple Hipster Culture is certainly no exception, so they can be forgiven for being unaware of goings-on in the Wild and Wooly Wintel World.

Somehow, one of our conversations took a turn from Harley poking loving fun at Edward’s new haircut (he kids because he cares) to  me bringing up the legendary promo video for MSI’s X Series of really slim laptops showing a guy in a singlet catching them with his butt-cheeks. They refused to believe that such a thing existed, so I had to destroy their innocence forever with a quick jaunt down to YouTube:

I watched the horror in the young whippersnappers’ eyes as they watched.

Lightweights, I thought to myself. If you think that’s bad, you don’t even want to know what sort of kink the Arduino people are into.

And that’s how we roll in the Wintel World.

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

{ 2 comments }

A Touchy Subject

by Joey deVilla on August 1, 2010

win phone latitude xt2 surface

I think that we – and by we, I mean we developers and developer evangelist types at Microsoft – get touch and tablets, or slates, or pads, or whatever you’d like to call them, better than the Ars Technica article Ballmer (and Microsoft) still doesn’t get the iPad (written by Peter Bright and posted in the One Microsoft Way section) implies. I believe that over the next few months, you’ll see some interesting touch-related stuff coming from Microsoft, and that we have a responsibility to help developers understand the differences between mouse/keyboard computing and touch computing.

In anticipation of this, I’ve been make my move towards touch- (and other sensor-based) computing over the past little while, by migrating to the following devices:

The idea behind this purposeful move towards touch-equipped devices is to truly understand touch-based interfaces, which UI elements work and which ones don’t, and then to pass the lessons learned to my audience – developers and designers, whether you build for the Microsoft platform or the platforms of the Esteemed Competition.

My own move towards touch-based devices is a microcosmic example of the larger changes taking place at The Empire. The move to touch interfaces is taking place on Microsoft computing platforms of all sizes:

windows phone

As the Ars Technica article points out, one of the signs that we do get touch is the new interface design of Windows Phone 7. The design philosophy is build around touch (and other sensors), and the WP7 “design bible”, the Windows Phone User Interface Design and Interaction Guide [12 MB PDF], explains this philosophy beyond the mere technical details. Here’s the introduction to its section WP7’s touch interface (any emphasis in the quote below is mine):

Touch input is a core experience of Windows Phone 7 and has inherent differences from traditional keyboard and mouse input systems. Designed for natural and intuitive user interaction, touch input in Windows Phone 7 enables users to interact with application content such as a photo or a web page. Touch input enables simple and consistent user touch gestures that imitate real life behavior, such as panning on a photo to move it. Single-touch gestures make interaction easier with one hand, but multi-touch gestures are also available to provide more advanced gesture functionality.

Application developers should strive to create unique and exciting experiences that encourage the discovery of content through the use of touch gestures. Users should enjoy the experience of navigating through the steps of a task as well as the completion of the task itself. Touch gestures should provide a delightful, more colorful, intuitive experience within applications

Touch delights the senses as the user gets to see the interaction match the performance. The touch UI should always have aware and responsive performance, just like how real world objects respond to touch immediately, and applications on Windows Phone 7 should as well, by performing the action in real time and by providing immediate feedback that an event or process is occurring. Users should not have to wait as it breaks their immersion, flow, and concentration, especially as their gestures transition from one to the other. For example, a pan may turn into a flick or a tap can become a double tap, and the user should not be aware that the UI is switching gesture support.

There’s a great amount of understanding behind the nuances of touch-based interfaces in the Windows Phone User Interface Design and Interaction Guide, and over the next few months, we’ll be covering them in great detail in this blog.

big-ass table

When the Surface, a.k.a. the “Big-Ass Table”, came out, a number of people asked why such a big, expensive thing was built and what practical purpose such a beast would serve.

For starters, there are a number of customers who use it, from casinos in Vegas to bible study classes in megacurches to places closer to home (by which I mean Canada), from the company that did the security for President Obama’s visit to Ottawa to super-sexy Toronto design firm Teehan+Lax to Ontario College of Art and Design to Infusion, who’ve built applications such as Noront Resources’s GSI Surface tool to the security app Falcon Eye.

Equally important are lessons to be learned about input from touch and other sensors from a “concept” machine like the Surface, whose built-in camera systems allow for way more touch points than a resistive or capacitive touch screen will allow, as well as the ability to “see” objects on the tabletop. By being empirical and building such a computer, developing software for it and watching people interact with it, we learn more about touch and sensor-based computing way more than we could from mere theorizing.

I think Des Traynor captured our intent quite nicely in his article about Surface and other Microsoft efforts in the field of user interface:

When the Surface was released two years ago it was chastised by the public. The joke at the time was: “Apple and Microsoft both invest in multi-touch technology, Apple release the iPhone, Microsoft release a $15,000 coffee table!”.

But Surface wasn’t about “re-inventing the coffee table”, so much as it was prototyping a vision of the future of computing. There will come a time when “gathering around a laptop” will seem as ridiculous as connecting an ethernet cable; a time when everyone gathers around a multi-user computer to have a meeting or debate a design. With something like surface, Microsoft are preparing for that day.

standard computers

A lot of the knowledge from Surface applications have been injected into Windows 7 in the form of the Windows 7 Touch Pack. This pack gives Windows 7 a touch-based API and a set of apps originally designed for the Surface, so that they can run on touch-enabled computers, such as HP’s TouchSmart series, touch-enabled laptops like my own Dell Latitude XT2 as well as any computer connected to one of the new touch-enabled monitors (our manager John Oxley has one in his office).

The Ars Technica article goes on and on about Windows 7’s standard interface controls being too tiny for touch, but a quick look at the Touch Pack apps reveals that they don’t use the standard controls; rather, they use controls better-suited to touch. Here’s a screenshot of Surface Collage, the photo-collage application, running on my XT2:

surface collage

No standard Windows controls here! You manipulate the photos directly using gestures, and the strip along the bottom is a photo list, which you also manipulate through gestures. The closest thing to a standard Windows control is the “close” button near the upper-right hand corner of the screen, which is larger than the typical “close” button – small enough to be out of the way, yet large enough to click with a finger.

Here’s another app from the Touch Pack, Surface Globe, also running on my XT2:

surface globe

Once again, no standard Windows 7 controls here, but a map that you directly manipulate, augmented by finger-friendly controls.

The Touch Pack apps all follow this philosophy: when going touch, eschew the standard Windows 7 UI controls in favour of touch-friendly ones, and then back to bog-standard Windows 7 when exiting them. These apps show not just that we understand that touch computing is a different beast from mouse-and-keyboard computing, but that we also understand where they intersect.

future
We’re working on what I like to call “the touch continuum”, which spans pocket devices such as the Zune HD and Windows Phone, to portable computing with netbooks, laptops and soon, tablets, to desktop and tabletop and wall-sized units. And yes, we get that new types of user input call for new user interfaces and give rise to new usage patterns. We’re aware of the challenges of touch (and other sensor) input and over the next little while, you’ll see our answers to those challenges. And better still, we’ll share what we’ve learned in order to make you better developers and designers of software that use these new interfaces.

This article also appears in Canadian Developer Connection.

{ 1 comment }

How Fanboys See Operating Systems

by Joey deVilla on December 16, 2009

how fanboys see operating systems

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

{ 44 comments }

24 Years of Windows Packaging and Boot Screens

by Joey deVilla on October 17, 2009

TechRadar UK is publishing a series of “Windows 7 Week” articles, some of which take a look back at the history of Windows. One of the articles presents a timeline of Windows packaging, from version 1.0 to 7:

windows_packaging

…and another is a chronology of Windows’ boot screens:

windows_boot_screens

This article also appears in Canadian Developer Connection.

{ 0 comments }

The Sub-$1000 Opportunity?

by Joey deVilla on July 24, 2009

U.S. $1000 bill

Here’s a thought experiment for you Windows developers out there: the fact that Apple pretty much owns the $1000+ computer market is in fact an opportunity. Discuss.

(This article appears with slightly different wording – to try things from a different perspective – on the official Microsoft Canada developer blog, Canadian Developer Connection.)

{ 5 comments }

Windows 7 and Server 2008 R2: RTM and FTW!

by Joey deVilla on July 22, 2009

 XBox 360-style achievement: "Achievement Unlocked: Windows 7 and Server 2008 R2 RTM'd" Windows 7 logo

Windows 7 Released to Manufacturing

It’s been announced on the Windows Blog: Windows 7 has been released to manufacturing!

Brandon LeBlanc explained that “RTM” happens only after it’s been signed off. One of the release candidate builds becomes a contender for release to manufacturing after it goes through significant testing and passes all the validation tests for RTM including having all languages for that build completed. Build 7600 crossed all those hurdles and got signed off today.

The beta and release candidate period for “Seven” was quite unusual. Rather than hand it out to a closed group of beta testers, it was made available for download and I was given piles and piles of DVD-ROMs to hand out like candy. And strangely enough, people were asking for it. At the EnergizeIT installfests this spring, we played to packed rooms of people who took time out of their Saturday mornings and schlepped to Mississauga to install the beta. Even people with Macs, who ran it under Boot Camp or Parallels. It’s unusual for an operating system in beta – especially one from The Empire – to be in such demand.

I’ve been using the beta since January and the release candidate for the past few weeks as my primary operating systems with nary a hitch, glitch or blue screen. I’m looking forward to getting the final version of Windows 7, which will be the first of many new goodies coming from The Empire over the coming months,

If you’re a developer with an MSDN subscription or an IT pro with a TechNet subscription, you’ll be able to download the English Windows 7 RTM on August 6th, with other language versions on October 1st. Windows 7 will go on sale to the general public on October 22nd.

Windows Server 2008 R2

Windows Server 2008 R2 logo Windows Server 2008 R2 was also released to manufacturing today. As they state in the Windows Server Division Weblog, the simultaneous release is no coincidence but a design goal. “R2”, as I prefer to call it, boasts a lot of features such as Hyper-V, Live Migration, File Classification Infrastructure, an improved Active Directory, Pervasive PowerShell, IIS 7.5, server scalability, DirectAccess, BranchCache and improved Remote Desktop.

{ 1 comment }

This article also appears in Canadian Developer Connection.

Yesterday, I showed you how to install MySQL Server 5.1 (Community Edition) onto your Windows-based development machine. The reason I wrote the article was to help you prep your machine for installing PHP and PHP-based applications using Microsoft’s Web Platform Installer.

What is Web Platform Installer?

Web Platform Installer is, as the website puts it, “a free tool that makes it simple to download, install and keep up-to-date with the latest components of the Microsoft Web Platform”. Yes, this is stuff you can do yourself, but I’m all for tools that automate away drudgery.

As of this writing, there are two versions of Web Platform Installer available: the original 1.0 version and the beta 2.0 version. In this article, I’m going to focus on the 2.0 version.

Here’s what you’ll see when you fire up the Web Platform Installer 2.0 beta:

wpi_01

Web Platform Installer has three tabs:

  1. What’s New?: This lists the newest applications that are available for download and aren’t already installed on your system. This is the tab that is automatically selected when you launch Web Platform Installer.
  2. Web Platform: This lists web platform applications that are available for download and whether they’re installed on your system. These apps are divided into the following categories:
    • Web Server Applications: Extensions for IIS as well as other server software such as the FTP server
    • Frameworks and Runtimes: Both Microsoft and open source frameworks and runtimes, such as .NET Framework and ASP.NET MVC. This is where you’ll find PHP.
    • Database: SQL Server Express and management tools.
    • Tools: Applications for web development, such as Silverlight and Visual Web Developer Express.
  3. Web Applications: This lists web applications that are available for download and whether they’re installed on your system. These apps are divided into the following categories:
    • Blogs: A selection of .NET blogging apps such as BlogEngine.NET and DasBlog, as well as WordPress.
    • Content Management: Applications like DotNetNuke and Acquia Drupal.
    • Galleries: Photo gallery applications.
    • Wiki: Wikis and apps with wiki functionality, such as the PHP-based Acquia Drupal and the ASP.NET-based ScrewTurn Wiki.

Installing PHP

If PHP isn’t on your system, it will appear on the What’s New? tab page. If you click on the “information” icon beside the checkbox item for PHP, you’ll be shown its information page:

wpi_02

You can choose to install PHP by checking PHP’s checkbox in the list of applications or the Click to include in your install button.

You can choose to add other applications to your install. Once you’ve chosen all the apps you want, click the Install button. You’ll be presented with a list of the apps you chose for review, along with any dependencies for those apps:

wpi_04

To start the installation, click the I Accept button, and Web Platform Installer will do its thing:

wpi_05

Taking PHP for a Quick Spin

Let’s write a very quick script to confirm that PHP is up and running:

<?php

phpinfo();

?>

In case you’re not familiar with PHP’s built-in phpinfo() function, it returns information about your PHP installation, its configuration and its current environment. It’s useful for all sorts of things, not the least of which is checking to see if your PHP installation worked.

Enter the script above using your favourite editor, and save it as test.php into the web root directory, c:/inetpub/wwwroot Note that in order to save to this directory, you’ll need to be running the editor with administrator privileges. Alternately, you can save to another directory and then copy the file to c:/inetpub/wwwroot, giving your administrative approval when prompted by the dialog box.

Then point your browser at http://localhost/test.php — you should see something that looks like this:

wpi_06

Next Steps

With PHP up and running, you can install PHP-based apps. PHP apps are like old-school ASP apps; installing them is often a matter of moving the files into the webroot directory and perhaps running an install script by typing its URL into your browser.

phpMyAdmin

One app you might want to consider installing is phpMyAdmin, a PHP-based web application for administering MySQL databases. While it’s possible to administer MySQL solely through its command-line interfaces, phpMyAdmin makes it so much easier. I can’t recommend this utility enough.

Cover of "Wicked Cool PHP"

If I had to recommend just one PHP book, it would be No Starch Press’ Wicked Cool PHP. I find No Starch books to be both informative and enjoyable reads, and this book is no exception. If you’ve got at least a little programming experience under your belt. I think that you’ll find this book and its very useful examples, coupled with the online documentation at PHP.net, will serve you very well.

Happy PHPing!

{ 0 comments }

Bryan Lunduke’s “Linux Sucks” Presentation

by Joey deVilla on April 29, 2009

Here’s a presentation that’s worth watching, regardless of what operating system you use: it’s Bryan Lunduke’s presentation from Linux Fest Northwest – a Linux conference for “Rebel Scum” deep in the heart of The Empire — and it’s titled Linux Sucks, in which he talks about what needs to be fixed in desktop Linux. His Linux laptop helped prove the point at the beginning of the presentation by stubbornly refusing to display anything on the projector and requiring some guy to noodle with the X configs:

(By the bye, hooking up multiple monitors to a Windows 7 machine is dirt easy. The Windows-P key combo toggles between main monitor-only, other monitor-only, mirrored and “extend desktop” modes. The “Linux laptops and projectors” problem is a common one; I remember gently poking presenters at CUSEC trying to get their Linux laptops to display on the projector with “If you were running Win 7, you’d be done by now.”)

I think that this is an important presentation for developers to watch, whether they develop for Windows or the Esteemed Competition, because all operating systems suck, and it’s our job as developers to make them suck less. Linux on the desktop has all sorts of problems because it’s a free-for-all run but a rag-tag fleet of development shops, but Windows has its own problems stemming from all sorts of things, such as having to maintain some kind of backward compatibility for the sake of enterprise installations at Fortune 500 companies.

The lesson to take from this video should be that we should forget the rah-rah boosterism, take a good hard look at the platforms for which we build, and do what we can to make them better. The best platform advocacy is to make the platform suck less.

{ 9 comments }

Windows 7’s Groovy Desktop Backgrounds

by Joey deVilla on April 26, 2009

Among Windows 7’s Release Candidate 1’s Best New Surprise Features in Gizmodo are the funky (and quite unexpected!) new desktop backgrounds that come with “the Vista that should’ve been”. I have a couple of favourites. One is the one below, which is reminiscent of one of my favourite videogames of all time, Katamari Damacy:

"Katamari Damacy"-esque Windows 7 desktop

I also like the one below.  Can anyone tell me which bridge or road is depicted in the photo?

Bridge Windows 7 desktop

{ 3 comments }

The Developer Angle

A sad-looking kid in a Darth Vader sitting at a fast food restaurant table

In case you don’t recognize the photo on the right, it’s the “Sad Darth Vader” photo from my earlier article titled This is How the Current State of Windows Mobile Makes Me Feel. I posted it in response to The Empire’s seemingly directionless efforts with its phone platform, Windows Mobile. Or, as it’s called now, Windows Phone. Or, as it used to be called, Windows CE. Or was that Windows Embedded?

Therein lies the first problem as far as developers are concerned: finding documentation on the subject of developing for Windows Whatever-it-is-that-runs-on-phones. It’s confusing because it’s hard to even figure out what the name of the SDK you’re supposed to use is – they all sound applicable. Is it Windows CE? Windows Mobile? Windows Embedded?

(By the bye, for current phones, it’s Windows Mobile, which is based on Windows Embedded CE. Now that this new brand, Windows Phone, is kicking around, there’s a chance that it’ll get filed under that name soon.)

Joey deVilla's Palm Treo

As an evangelist for The Empire, it’s my job to help developers figure their way around our various platforms, and I’m hard-pressed to think of a platform that appears more shrouded in mystery and confusion than Windows Whatever-it-is-that-runs-on-phones. Over the next little while, I’m going to post pointers to existing Windows Mobile/Windows Phone development articles as well as articles based on my own experiences developing for the Windows-based phone I picked up while at the recent TechReady 8 conference in Seattle. It’s a Palm Treo Pro, pictured on the left, and I chose it because out of all the mobiles at the Expansys booth (they always have a booth at the big Microsoft developer conferences), it was the one with the best “feel”.

My first pointer is to Microsoft’s own Windows Mobile 6 Documentation, located a couple of levels into the MSDN site. The main page for this section presents a giant point-and-click map of key topics for developers who want to write apps for Windows Whatever-it-is-that-runs-on-phones. I’m going to try out some of the exercises on that site and report back with stories of my experiences of getting started with Windows phone development, and whatever tips and tricks I pick up along the way.

If you’ve got any questions about developing for Windows Whatever-it-is-that-runs-on-phones, feel free to ask me, whether in the comments or via email. I may not have the answers myself, but since I’m on the inside at Microsoft, I can say that “I know a guy who knows a guy,” if you get my drift.

The User Angle

The upcoming 6.5 version of Windows Mobile – or more appropriately, Windows Phone – was announced earlier today at Mobile World Congress in Barcelona.  It features a user interface that’s considerably more finger-friendly than the current 6.1, whose stylus-reliant design seems stuck in the era of the Palm Pilot. Gizmodo’s Jesus Diaz seems to really like it, as evidenced in the video he shot for his article titled Windows Mobile 6.5 Hands On: The New Interface Rocks:


Windows Mobile 6.5 Running on HTC from Jesus Diaz on Vimeo.

Diaz ends his article on a positive note, a rare thing for a writeup on Windows Whatever-it-is-that-runs-on-phones:

From this first touch on, it looks like Microsoft is back in the game. They don’t have the upper hand yet, but they are clearly waking up. We will see what happens and how deep these changes really are once it gets released.

The Developer Angle, Once More

The apparent improvements in 6.5 and promised continued improvements in Windows Whatever-it-is-that-runs-on-phones version 7 are a good sign, but a lot of the success story I’m hoping for rests with applications for these phones. For that, there has to be a developer community that has the tools, resources and encouragement to develop for Windows Whatever-it-is-that-runs-on-phones. Building that community is a challenge that I’m taking up. What can I do to help?

{ 2 comments }

Sad-looking kid in a Darth Vader mask sitting alone at a fast-food restaurant table.Photo courtesy of Alex Brown Photography.

{ 10 comments }

Taking Windows 7 for a Spin

by Joey deVilla on December 15, 2008

windows_7_ultimate_installer

I had my first look at the next version of Windows – Windows 7 – at Microsoft’s Professional Developers Conference in Los Angeles back in October, a week after I joined the company. By the powers vested in me as a Developer Evangelist with Microsoft, I got my paws on an installer for a recent beta edition and a spare machine – a Dell Latitude D830 with a 2GHz Core Duo processor and 4GB RAM — on which to take the new operating system for a test run.

The installation of the Windows 7 beta went considerably better than my experience installing the Windows Vista beta back in 2006: this time, it worked.

setup_is_preparing_windows

Over the next little while, I’m going to spend some time – perhaps a day a week – doing actual daily work on the Windows 7 machine in order to really experience it. It’ll also give me a chance to try out some “developing for Windows 7” example code. I’ll post my observations here on Global Nerdy – at least as much as the non-disclosure rules allow.

Links

{ 0 comments }

…and hilarity ensues:

snow_leopard_vs_windows_7

Links

{ 1 comment }

“Windows 7″, Eh?

by Joey deVilla on October 13, 2008

Purported Windows 7 screenshot
Purported Windows 7 screenshot, taken from MegaLeecher.net.

More will be revealed at the upcoming PDC (Professional Developers Conference) and WinHEC (Windows Hardware Engineering Conference), but for now, we know the name of the next version of Windows: Windows 7. The only other hint that Mike Nash drops in his post on the Vista team blog is that the goal for this version is to:

“stay firmly rooted in our aspirations for Windows Vista, while evolving and refining the substantial investments in platform technology in Windows Vista into the next generation of Windows.”

which I interpret as: “It’ll be the Vista we should’ve made.” For their sake, I hope so.

As for the name, it may not be as aspirational or inspirational as “Vista”, but it’s probably a good idea for Microsoft to adopt an “under-promise and over-deliver” strategy.

{ 3 comments }