Re: 7 reasons why the Windows 7 Phone is THE iPhone Killer

I thought I’d repost my comment on this fascinating post: 7 reasons why the Windows 7 Phone is THE iPhone Killer – read the post first.

I must say that I am seriously tempted to get a Windows Phone 7 phone. For all the above reasons.

As a developer, the major enticement is the fact that I can write my own apps for the phone for free.

Having an iPhone and an AppleTv, I’m pretty heavily invested into iTunes store content. That is the big thing holding me back. If Microsoft could get their software to authenticate files with Apple’s DRM servers,t his would be the cherry on the top. The media hub is certainly indicative of Microsoft embracing content irrespective of its origin.

Finally, I assume that the phone syncs with Microsoft’s beautiful Zune software. iTunes as a software program is terrible and the Zune software out does it six ways to Sunday. Again, another big plus.

All the above having being said. I’m wondering what apple will do to respond to this. They clearly have a huge task ahead of them. Microsoft is cleverly tapping into the large install base of Windows and Xbox Live games, the large install base of Mesh, the huge install base of visual studio and Silverlight developers and finally, the huge install base of Exchange servers. These are four constituencies that Apple does not have any worthy alternative (unless one counts the pitiful Exchange support in the iPhone).

This is clearly Microsoft playing to its strengths and not its weaknesses. They are playing this on their own rules, on their terms and and on their own turf.

This is why competition works.

I’d thoroughly encourage everyone to go and watch the Mix 10 Keynote on-demand here:

You’ll see why am so excited about this as a developer.

Finally, while I’m on the subject of Mix 10, go ahead and see UI designer Bill Buxton in the second half of the second keynote here for a truly inspiring speech: (he’s introduced at the 2:13 mark)

How the Zune will save the Music Industry (or why I want one)

I must say, upfront, that i think the Zune HD is an excellent device. While admitantly below par when compared to the iPod Touch or the iPhone.

There are still weak points, like the mobile browser being IE6 based ( IE6 has more holes than Swiss cheese).

But the Zune is not simply pure hardware. The Zune Pass you can purchase ($15??) gives you essentially unlimited music (plus 10 free tracks a month that are yours to keep forever).

That is the key to the Zune succeeding big in the world. Think of the implications for your music listening habits.

The Zune will scan your music library and download tracks that complement it. Automatically. No human input required. No Passwords, nothing. Nada. This is great for music discovery, not to mention indie bands and labels whose work may not be as well known.

Andy Ihnatko  made the point on last weeks episode of Macbreak Weekly that instead of simply being restricted to 30 second previews per track of an album, Zune Pass allows you to just download and buy the whole album. I had that situation just the other day. I was trying to figure out if I should get the soundtrack to 500 Days of Summer (great movie BTW, but I digress) from iTunes. If I had Zune Pass, I could get the whole thing and only then decide if I like it. I could then make that my 10 free tracks for the month.

Talking of which, that episode is a must listen since it centres on the Zune HD.

Also available on the Zune are TV programs and movies, although the catalogue is far smaller than the one on iTunes. I’m not totally sure whether this is included in the Zune Pass, but lets assume for a minute, that it is. Since it should be.

See at the moment I’ve bought 3 seasons of The West Wing on iTunes. All of which were a perfectly reasonable £19.99 each. Now season 4 is £34.99. I’d like to buy Season 4, really. But that is too darn expensive. I can rent a few movies every weekend for a month for that price. If I had a Zune Pass, this would be a different story completely. You see i really DON’T want 60 West Wing episodes taking up space on my Hard Drives. Apple can have them back. But I do want to continue watching the series. A Zune Pass would let me do both of those things.

I’m sure that both Apple and the Record Labels and the Studios would love for me to continue spending money. But as long as prices are that high, my money isn’t going anywhere. What would you rather have, a burst of income once in a blue moon, or a steady, albeit lower than usual, income stream??? Multiply that by  millions of millions of subscribers and you’re sitting on a friggin’ fortune.

As I said on Twitter earlier, make it easier for customer to spend their hard-earned cash on things they actually want to buy. I want to buy music and that 4th season of the West Wing, really, but i want a Zune Pass. Or an iTunes Pass. Something.

It goes without saying that this will deter many MANY (illegal) casual file sharers. The benefits of a Zune pass are extraordinarily compelling.

I suspect that the music industry  and the studios are dragging its heels on this. Let the Zune go global, and let iTunes do something similar.

Fans every will thank you.

PS. Apple. I want wireless syncing with my iPhone. Now.

Windows 7 (Part 1)

One question: is it the bees knees??? Yes it is.

At this point every other review is going wax philosophic about how great Windows 7 is, how its what Vista was supposed to be. And then go on to debate whether it should be a Service Pack instead.

I’m going to try avoid all those issues. But I will say this. Microsoft think that it should stand alone as it own OS, and that’s how I’m going to review it.

Its running on a Dell Inspiron 6400, 1.72Ghz dual Core with 1gb RAM.

First off. the problems I’ve had with it have been few and far between.

Now, every time a close the lid and then re-open it, the screen refuses to display the screen again. Its really annoying and requires a restart. The fix is simple – change the power options to do nothing when I close the lid. And it works like a charm now.

Second, IE8 RC wont install here. Don’t ask. But and earlier version of IE8 is installed. No solution as far as I know and I use Firefox anyway.

Third, iTunes runs quite well. Its faster. but not much else. however, it hangs on exit when its saving the iTunes library. And there’s not much choice here but to kill it with task manager.

You can get around this problem, perversely, by running iTunes as an Administrator. I suspect that the UAC tweaks are  the culprit here.

Fourth, every now and again 7 will hang at the shutdown screen (when it says “Shutting down”). This is annoying because you’re not quite sure what’s going on.

Finally, and i don’t know why this happens, the Adobe Bridge Photo Downloader no longer has the “Convert to DNG” option.


Before everyone leaves comment, I have installed all the updates delivered to me. And Adobe Bridge tells me its version Since I convert everything to DNG on import, this is really a disaster.

Most programs, actually run in Windows 7 quite well. I did have a problem with Windows Live and Visual Studio 2008 SP1 but hey, all installed eventually.

The Taskbar

7 is done right in a number of ways. The taskbar is particularly important as its the primary focus of any interaction with the OS.

On first use, telling the difference between pinned and active icons can be difficult. Its a very subtle UI cue there.



The Icons and notifications are better and never become too cluttered. Handling overflow is done particularly well.

At the bottom right of the taskbar, a little area sits on its own, separated from the rest of the taskbar. Clicking on this shows the desktop. However its not immediately obvious what this is for.

The taskbar itself stays transparent even when viewing a maximised window. I’m not sure about this. There is an argument to keeping the Vista behaviour of a solid taskbar when working with a maximised window.

The Start Menu

The Start Menu isn’t visually different from Vista’s. There are subtle UI cues however, that give away further functionality.

Programs that have been used have arrows next to them. Clicking on this arrow give the documents recently used by this program. the time saving nature of this cannot be over stated.


The search box now says “Search programs and files” instead of start search. Its more obvious about the function of the search box, and encourages users to use it more. This is one of my favourite features of the Vista-esque UI ( i.e since Vista)

Taskbar search

The Shutdown button is quite blunt as to what it does, differing from Vista’s Off icon. It is possible to change the functionality of these buttons in the power settings and this always confused me. text makes it so much easier to distinguish  what’s going on.

Paint and Wordpad

Both Paint and Wordpad have the new Ribbon toolbar. this makes them much better as applications.


I tend to use paint quite a lot for situations when its not worth firing up Photoshop or Illustrator. Even in the few times I’ve used it, the Ribbon toolbar makes it so much better to use. and its not crappy old paint anymore either.

A few nice additions include the ability to Zoom right out ( right click to zoom out). This jumped out at me as being new.

Edit: Jordan Hofker pointed out on Freindfeed that its Wordpad not note pad. Many Thanks.


The changing backgrounds have been around for ages in third party programs or as part of the Power Toys stuff. however this time its baked right into the OS.

The themes feature is very powerful. Of course I can still remember how Microsoft offered Plus for windows 95. I was too much of a cheapskate to get it, but the idea of a theme has been around for a while.

This marks the first time (that i can remember, anyway) that themes are actually files you can share rather than an amorphous collection of settings.

Whereas before (pre-vista, anyway) settings and dialogs had to be navigated with a map ( literally), important dialogs such as for the mouse pointers, screen resolutions, screen saver and sounds are literally a click away. This will encourage people to get more out of their computers (even the not so computer literate ones).

More later this week as i continue exploring Windows 7.

Quote of the Day

Echoes’ outlines Microsoft’s biggest challenges: the inordinate amount of time they spend on developing products that are either a platform or a suite forces them to make too many compromises. One can’t blame the company whose DNA is Windows (Platform) & a Suite (Office.) This is a malady which makes them unable to move ahead and define the future.

Om Malik

Normal posting resumes shortly.

WHS: Virtual Server

As I promised, I’m posting a How To for installing Virtual Server on WHS.

A word to the wise:

I’ve a 2.8Ghz Celeron D with 2GB RAM to run this on. Virtual Server can provision processor usage to an extent, but it uses RAM like there’s no tomorrow. Don’t forget that it has to play nicely with WHS (specifically DEmigrator.exe that burns CPU cycles) and other stuff like defrag passes and anti-virus.

Since WHS is built on top of Small Business Server,  the underlying OS is essentially the same. Hence no compatibility issues.

Installing Virtual Server is relatively straight forward.

First, download Virtual Server 2005 from here.

Then Download the Service Pack from here.

Open a Remote Desktop Session or use the Advanced Admin console tab to access the WHS desktop.

Now, its up to you whether you want to install the program files to C drive or D drive. Its worth noting that the Virtual Machines are stored separately in a location you specify on a per VM basis.

Once the install( including that of the service pack) is completed go to Start -> All Programs -> Microsoft Virtual server and hit the Administration Website shortcut.

You get this:


Note: I was accessing this remotely so had to prefix the user name with “server\”.

Otherwise, these are your WHS credentials that you use to access the console or remote in to WHS.

This is the webpage you get to (click for a larger version):


As you can see I have two virtual machines listed. One of which is currently  running.

I find that its easier to manage the server remotely, so copy the web site shortcut from the Start Menu to a network share. This now allows you to reach the web site from any connected PC.

If you’ve done this, close Remote Desktop and try it. The Default IIS settings that the install configures for you should be OK.

Setting up a Virtual Machine couldn’t be simpler:

First we want to set the default location of our Virtual Machines. Go to Server Properties at the bottom of the Sidebar and click on Search Paths. Change the Default virtual machine configuration folder to your desired location. I’ve been using a network share with replication turned off.


You can also set default paths for ISO’s that you will use. These will show up when you configure the VM’s Cd/DVD drive.

And press Ok when you’re done.

Hit Create under the Virtual machines section of the sidebar:


Enter all the info on the screen.

The RAM that the Virtual Machine is assigned is occupied as soon as the VM starts up. So be careful when doing this.

You have a choice of creating a new Virtual Hard Drive or attaching an existing one. make sure that the size of the hard drive is enough for your needs. Expanding it later can be a little difficult.  And choose a SCSI bus if you intend to have multiple VHDs attached to the same machine.

The VHD actual file size increases as you add data to it. It stops at the logical size of the VHD. So a 80Gb VHD can no be larger than 80Gb on disk.

You can also choose to create the VM without an attached hard disk.

Pressing “create” takes us to the Vm config page:


You can also reach this page by selecting your VM from the Configure menu under the Virtual Machines Section of the Sidebar.

This is where you change items such as memory, hard disks, CD/DVD ROM drives, Networking, SCSI Adaptors, COM and  LRP ports.

Each option takes you to a new page were you configure settings specific to that area.

Its worth noting here that the VM needs to be Shutdown for some operations. But you can still change the location of the media that the CD/DVD ROM drive captures while the VM is running.

You can also set the VM to start up automatically with WHS by going to the Server properties.


With my Windows Server 2003 VM running constantly, the WHS automatic restarts could be a problem. All I do is check the box, input the account details, set a delay ( in my case, 600 seconds) and tell Virtual server to save the VM’s state when WHS shuts down. The delay is actually a pretty nifty feature as it allows WHS to initialise itself, bringing all its processes online, before starting the VM.

One more thing I have to cover for running this on WHS is Resource Allocation:


You’ll find it the bottom of the sidebar.

As you can see my VM has 50% Max Processor capacity to play with. This protects the WHS processes from being starved of resources.

Once you’ve got your VM set up and you’ve installed you software all you have to do is remote in using the Remote Control facility the web site provides you with ( its good for the initial setup such as enabling Remote desktop Connections and so forth). All you do is double click on the VM icon  on the front page.

I also recommend installing VM Additions (the ISO for it comes with Virtual Server and is a default option for the CD/DVDROM drive) that will improve the way the VM behaves within the Virtual Server environment.

Additionally, this post probably scratches the surface of what’s possible with this.

And I’m sure I’ve got a few things (unintentionally) wrong along the way so its not fool proof, so YMMV ( Your Mileage May Vary).

Happy Hacking…

Subversion Source Control

This post has been bouncing around my head for sometime since finding the time to write has been a little hard.

The fact is that the whole Subversion vs Git vs TFS vs [insert preferred system here] debate can get to the point where its quasi-religious (as are numerous other tech debates – windows vs mac being one of the notable ones).

Now I, bad developer that I am, have only recently started using Subversion. The need to sync source code between my desktop and my laptop outgrew the copy/paste via Windows Home Server share approach.

The fact that Subversion is free is also a big deal maker ( compared to, say Team Foundation Server).

I have been using it on another free product, namely Netbeans 6.01 for my Java development. Its nothing major, only university projects. 

The fact is that Netbeans comes with Subversion and CVN support baked into the IDE. Additionally, Netbeans uses its own Local History feature to keep track of your files wether you’re using formal source control or not. Every time you build your project it makes a commit to your Local History. This means that one has both Local history for the small changes and Subversion for the big changes.

The fact is that having it baked into the IDE makes all the difference – it allows one to interact with the code in revisions directly. Let me explain. One can make line-by-line rollbacks from your previous versions wether you are using Local history or Subversion or both. Powerfully, the rollbacks count as changes to your code and are committed right back to the database.

(I plan to do a post on the value of a good IDE soon as well)


In the (Subversion) case above, the local copy is out of date (on the right) and the remote changes (on the left) are shown in blue. The changes were made on my laptop, committed and I’m comparing them against the desktop copy of the files.

By clicking on the blue arrow one can insert the changes into the local copy with out inserting all the changes. The same applies for replacements (in cases where the lines have been modified rather than outright replaced).

The green area in the local copy no longer exists and by clicking on the red cross one can delete the highlighted lines.

Local History works in exactly the same way.

This is a small example and one needs to actually use it to understand the power of the concept.

Now, the fact is that the vast majority of my coding gets done in Visual Studio. And Visual Studio , the TFS edition aside, does not support source control. Period.

However, VisualSVN actually has an Add-In for Visual Studio that brings this functionality into the IDE. The problem is  that the Add-In isn’t free. Its $49 per licence. Personal licenses are restricted to one per order ( but not corporate licenses) and open source projects qualify for free licenses. And, no, I haven’t yet decided whether to get a license.

I agree with Jeff Atwood that software such as Firefox should take the most popular Add-Ins and fold them in the main code base. Which gives rise to the question that if Source Control is so important and popular (is it for non-TFS Visual Studio users????), why doesn’t Microsoft add it in?

I mean its only Subversion. Surely Microsoft must have some pretty good selling points related to why TFS is, like, totally better than Subversion ( 😉 ). That takes care of the “They already have source control” pundits.

Source Control is simply good programming practice and if Microsoft is serious about attracting people to its platform (and the freely available express editions shows that they are somewhat serious), they should provide it.

Contrast Visual Studio to Netbeans and that’s enough said on the subject.

Now the easiest way to install Subversion is to head over to Jeff’s blog post about it. If you don’t subscribe to Jeff’s blog, i suggest that you do – its invaluable.

I went the VisualSVN server route which set everything up with the addition of  the ability to browse the server using a web browser (it does this by using Apache). To avoid Apache conflicting with Windows Home Server, its running on a Virtual Server virtual machine ( that image runs a few other odds and ends). Setting up Virtual Server on WHS is itself the subject of another blog post. It took me literally 2 minutes.

Before letting you go, Scott Hanselman has a great podcast on Subversion vs Git for Source Control and it comes highly recommended.

Aprils Fools 2008 (and a little late at that)

I think its becoming a tradition here to list some of the funnier April Fools Day pranks:

  • Read – Space bot demands to be called “Dextre the Magnificent”
  • Read – Google’s gDay with MATE searches the future
  • Read – Think Geek’s Betamax to HD-DVD Converter
  • Read – Qualcomm’s HandSolo
  • Read – Virgin and Google form Virgil for Mars expedition
  • Read – Xbox 360 Wireless Helmet, Board Game

More Google pranks here.

TUAW has a round up of the Apple Pranks.

Three from Sun Microsystems:

Windows Home Server: Resource Deconfliction

As more and more Windows Home Server Add-Ons are introduced, WHS becomes more and more like an appliance than a piece of software (and hardware).

More and more Add-ons mean that we ask more and more of our systems. These demands mean that finite resources have to allocated and shared with the WHS software itself.

DEMigrator.exe comes to mind ( the magic behind folder duplication). Since DeMigrator does not actually have a front end ( short of turning off folder duplication), it is impossible to pause or stop it when its running in favour of something more urgent. Granted we could change our backup window, but this is not always convenient or possible.

What WHS needs is some way of managing resources on a much more granular level than process priorities. By that I mean that WHS makes  a logical guess as to what process(es) need to run now  and what processes are less immediate.

So if I use SageTV to record show x at time y and a defrag ( or other processor intensive program) is scheduled to run at the same time, we need resource deconfliction to kick in and sort it out. We can do this in one of two ways: either throttle back the proccessor intensive process or re schedule it ( if the drive isn’t very fragmented a missed defrag pass wont make much of a difference).

Naturally, we can’t expect this souped up task scheduler to be able to handle every occurrence of every program. this means that WHS would simply notify the offending process(es) of the situation and it would be up to the program to implement a responsible and reasonable strategy to handle that.

If you’ve got a high end system running WHS, this discussion isn’t very dramatic. But between backups, defrags, virus scans, DeMigrator, SageTV  and others ad nauseam  ( even automatic Windows Update needs to be able to safely restart) jockeying for resources, something needs to manage this safely and well.

Essentially, this is bringing WHS closer to the headless system originally envisioned. It would save me a lot of Remoteing in every day.

Before we finish, let take a look at the specs for the WHS systems commercially available from HP, etc to get an idea of exactly what resources are available.

The Microsoft minimum spec is 1Ghz and 512Mb RAM and 1x 70Gb drive.

The recommended spec is 64-bit Compatible Intel Pentium 4, AMD x64 or newer with 512Mb Ram and 2x hard drives with a 300GB primary disk.

  CPU RAM Hard Drive
HP Media Smart AMD 1.8 GHZ 64-bit Sempron 3400+ processor 512Mb 2x 500Gb
Norco DS-520 Intel Celeron M 1GHz 1Gb 1x 250Gb
Piranha Home Server Intel Celeron 430 (1.8GHz, 512KB, Conroe) 1GB 2x250Gb
T2-WHS-A3 Harmony Home Server Intel Celeron 220 1.2GHz 512Mb (1Gb Optional) 1 x 500Gb (1Tb/2Tb Optional)
T7-HSA Harmony Home Server Via C7M “Esther” 1.5Ghz 512Mb (1Gb Optional) 1 x 500Gb (1Tb Optional)
My own homebuilt system (Dell  Poweredge SC440) Intel Celeron D 2.8Ghz 2GB 1x160Gb

I think this is a pretty representative sample of the entire range. You can get the reviews on these servers and others from We Got Served Hardware page.

NB. The extra possibilities of multi-core  64 bit machines allowing true concurrent execution are mind boggling.