MS released a beta of Service pack 1 for VS2008 which has lots of fixes and updates. I’d like to pick out a few that I really think are worthwhile;
- Much Improved performance for web design
- Firefox support for clickonce (maybe we can go back to using it now)
- Lightweight .NET Framework (Client Profile Setup Package)
There are loads of other enhancements, but its obviously far from finished so not really ready for deployment, but looks very promising, good work VS2008 Team!
http://msdn.microsoft.com/en-us/vstudio/products/cc533447.aspx
Comments Off
Here’s a really brilliant idea, well executed. Script# allows dev’s to write C# code and then translates the code to cross browser compatible javascript. Its compatible with MSBuild and has intellisense support (cool!).
If you are a dev working with the web (especially AJAX), drop what you are doing and read about it here … http://projects.nikhilk.net/ScriptSharp/Default.aspx

Comments Off
This is one of those, ‘Why couldn’t they get it right’ issues where the Service Pack for .NET Framework fails to install and us ISVs are left picking up the pieces. Microsoft have released a KB article 951950 ( http://support.microsoft.com/default.aspx?scid=kb;en-gb;951950 ) and a tool, the snappily named ’Microsoft .NET Framework 2.0 Registration Correction Tool’ http://www.microsoft.com/downloads/details.aspx?FamilyID=0BA6038C-061E-4B4A-9BE9-96A323701260
This has been a bug bear of mine for ages now, why there is no version control in .NET Framework. Lets not forget this was a technology designed to alleviate DLL version hell. But you try and find out what versions, sp’s and hotfixes are installed and you will be left wondering.
Somehow MS need to get a grip of this situation and have some sort of common and comprehensive way of querying whats installed on a target machine, its ISV hell. This is further compounded by the fact that the framework doesn’t gracefully handle version deficiencies. If a call you make from your app is missing in the version of the Framework the user has installed it doesn’t ask nicely if you would like the latest version downloaded and installed it just throws an exception that your app has to handle. Very unfriendly and inconvenient for the ISV and user.
The whole .NET Framework deployment scenario needs looking at again from a deployment perspective and prevent us ISV’s having to code around the deficiencies it was supposed to cure.
Comments Off
So its finally here. After a long wait we have the iPhone SDK.
Actually, the most interesting thing for me is the announcement of the beta of iPhone 2.0 OS which amongst other things includes a native Exchange synchronisation client based on Microsoft ActiveSync. this is a good move as it brings the iPhone formally into the corporate support fold without having to use ’sticky tape’ to get messages from all your different email providers. Surprisingly, Apple implemented device wipe as well as part of the Exchange support. this is logical in the sense that Exchange supports this functionality, but I hadn’t quite believed that Apple would go so whole hog on the Exchange integration.
Anyway, you can watch the presentation here http://www.apple.com/quicktime/qtv/keynote/

Comments Off
At CES there’s a buzz that the Wistron GW4 Linux phone could become one of the first real Android handsets. Apparently their rep announced that it was capable of running the Android image … the question is when can I get one?

Comments Off
I watched with interest the channel9 video from the IE team that IE 8 has finally passed the ACID2 test, which is one measure of standards compliance. they have a small movie showing how the ACID2 test progressed with various builds over the past few months (it should draw a smiley face, similar to the Aceed logo of the 80’s). It finally draws the image correctly.
You can try it yourself with your own browser here http://www.webstandards.org/files/acid2/test.html but don’t forget to check the reference image to see what it should look like (IE7 is not ACID2 compliant).
What is amazing is how far out of compliance some browsers are. If you are still using IE 6 I encourage and implore you to get upgraded to a better browser capability as provided by IE7, Firefox 2 or Opera 9. Its only when you compare the CSS rendering of FF2, O9 or IE7 with IE6 that you see how slow, wheezy and downright inaccurate it is with a modern AJAX site. As a company committed to providing our web services to appear like desktop apps using AJAX, IE 6 users always complain but it truly is their browser and not our sites which are at fault. If people won’t move on we can’t make the experience better. Its no good saying the display is rubbish and slow in IE6, its never going to get any better. So move on up, please!

Comments Off
One of the great things about WindowsMobile is the fact the the OS is signed and sealed by MS before it goes onto an OEM device which means that an app which runs on the emulator sholuld run on any physical device (of same version at least). I applauded Android’s entry into the market because I feel it will open up devices in a way netither WindowsMobile or Symbian can, becuase of their limited market penetration, price and technology. I believe Android drives a simliar standard down to devices that would never be able to run WindowsMobile or Symbian due to cost or power. However, I’m slightly worried that implementations by manufacturers may lead to a uneven ISV playing field because of what and how is delivered to be an ‘Android’ device. This leads me to think that the compatibiltiy and capability problems that have plagued Symbian may turn up in Android. To a certain degree its inevitable because certain ‘Android’ phones will be below the ideal feature quality bar, but I would have liked to have seen more plans for certification of the OS platform so ISV’s can actually write once and run everywhere. If only Microsoft could have generated the critical mass to have WindowsMobile on bog standard (featureless) phones as well as high end devices. Trouble is, I think that particular train has left the station now, and after 5 years of pushing water uphill as an ISV, I see that most of the water got away. If half of Samsung, Motorola and LG phones ran WindowsMobile it would be a wildly different story.
So, I now watch with interest to see some real implementations ie not on the emulator. Of course I’m referring to deep device system stuff as opposed to fluffy graphics for a game. Anyway, we’ll see….
Comments Off
I have just been trying out the CTP of PowerShell 2.0 to see whats new, and there are good signs of how it really is maturing into a super admin environment. Interestingly, as someone who still see’s the roots of CMD.EXE in its first ancestor, CP/M’s Command Console Processor (remember the back to front logic copying files with PIP?), I still have an issue weaning myself off it and permamently onto PwoerShell. I think that perhaps because of the DCL like structure of the commands it seems more effort to perform a task than in CMD, no matter how much more powerful it is. But with V2 I’m going to make it my default console becuause its so seductive to just be able to CD ENV: into environment variables or CD HKLM: into the registry and then just do a DIR! Try this:
cd HKCU:\software\microsoft\windows\CurrentVersion\run
Get-Acl
… and you will see the permissions for this key! How useful is that, wish this existed back in ‘96.
I love the fact that I can just create a registry key and add values, or grab BIOS data info into a variable with $x = Get-WmiObject Win32_BIOS and then $x.manufacturer contains the BIOS manufacturer name like “American Megatrends Inc.”. Ten years ago we were writing Win32 apps to call from scripts to get this sort of info, all credit to Jeffrey Snover for pulling it all together and making a shell that is flecible enough to leverage and be leveraged.
http://www.microsoft.com/downloads/details.aspx?FamilyID=60deac2b-975b-41e6-9fa0-c2fd6aa6bc89&displaylang=en
Comments Off
Although VS2008 ships with WM5 R2 SDK, it does have the new emulator which continues the great pedigree of this component. It really is a class developer tool and because it runs a real image from a device yours apps are true to life performance. Even better, the cellular emulator makes allows the device to communicate with a fake network so you can send and receive data. This is Microsoft at its best producing a quality development toolset to make our lives easier.

Comments Off
VS2008 finally hit RTM tonight which is good news as the betas have been so much more stable than VS2005 was at the same point. One of the best features (from an ISV perspective) is multi-targetting where each project can specify which version of the .NET Framework to work with (although not to SP level). This means we can just upgrade the IDE without converting existing project files until we’re ready. Overall the IDE and packaging tidy up a lot of loose ends and I think this is a very worthwhile update nowithstanding any language enhancements there are.
One decidedly bad ommission is the lack of the WindowsMobile 6.0 SDK, with 5.0 R2 included instead. This is a terrible ommission considering how close the 6.1 SDK is now. Its easily if irritatingly fixed by downloading the 6.0 SDK’s (~700MB) but beware, make sure you get the latest refresh and not the original, get the refresh here http://www.microsoft.com/downloads/details.aspx?familyid=06111a3a-a651-4745-88ef-3d48091a390b&displaylang=en
Comments Off
Here’s an example of how the Android team are on the right track for developers. (OK I’m no Java fan boy, but it works and there are plenty of knowledgeable devs out there) For example, the android.telephony.gsm.SmsMessage class has lots of usefull functionality thats easy to access and use, look at these methods for example; (now I really want a real device)
Comments Off
The latest online issues are out!

Comments Off
Microsoft helpfully provide developers with a free, although time limited, VHD for VirtualPC with XP SP2 and IE6 for compatibility testing. This is jolly useful for backward compatibility testing or if you are tracking down an issue which needs a vanilla IE6 which hasnt been modified by the dev environment or other add-ins.
There is one gotcha that you need to be aware of. When they built this VHD, Microsoft obviously tested this on their internal network and then packaged it up. As a result they left in their own company specific proxy settings for the proxy server run by their internal IT Group (ITG). So, if you try and connect to a web page from IE on your own machine outside of Microsoft, you will not connect to a page since the ITGProxy server is not contactable. Ping and other IP releated activities will work fine.
So to fix this issue you need to open IE, and from the TOOLS menu select INTERNET OPTIONS and click the CONNECTIONS tab. At the bottom of the dialog you will see a LAN SETTINGS button, click that and the dialog below will appear. Simply uncheck the ‘Use a proxy server…’ check box and click OK and then OK to dismiss the main dialog.
Simple, but unless you know what to look for you could spend ages trying to resolve this issue. You can download the IE6 VHD here http://download.microsoft.com/download/b/7/2/b72085ae-0f04-4c6f-9182-bf1ee90f5273/IE6_VPC.EXE

Comments Off
There’s a very good video from ScottGu on the upcoming (ie in-development) MVC Framework. This is going to be great when its done but illustrates how fast technologies and pseudo standards change, that is if you want to keep up with them…anyway good stuff!
http://www.hanselman.com/silverlight/ScottGuAtAltnetConf
Comments Off
OK, I tried my very best, but a PDA is no substitute for a phone. The HTC Touch should have been a ideal converter for me because it is slim, and actually, surprisingly smaller than my favorite HTC Excalibur smartphone.
I have now been able to hone in directly on why it could not convert me away from a smartphone, which was caused by one single catalyzing event. I simply wanted to Shazam a track I heard on the radio, so I pulled out the Touch and tried to unlock it, which took too long. Then I tried calling Shazam, after calling 2 other numbers in error then canceling I finally got Shazam dialed, just as the track ended.
So, what went wrong ? Well here’s my analysis;
- The screen isn’t bright enough to use accurately as input on a sunny day
- My fingers are too big so I have to deploy and use the stylus, which takes time.
- The touch screen isn’t positive enough, I don’t know if I have pushed the button or not (which is compounded because of the slow processor)
- I don’t know if I hit the right button, invariably not!
- I like and need real physical buttons to press
- and lastly, specifically in the case of the Touch, the CPU is just too slow.
As Vicki succinctly put it, how can it be a phone without buttons ?
So, I’m afraid it wasn’t the Touch that could win me over. I’d like to think the iPhone could, but it shares so many of the same issues that I have with the Touch that I think it will be a tall order, but one I am going to take on.
Comments Off
One of the big (supposed) benefits of Windows Installer technology is the capability to install applications easily without admin privileges because MSI would elevate privileges to facilitate the installation process. Turns out this doesn’t work so well and when logged in as a regular user the MSI will fail to install and you will need to (rather inconveniently) log in as administrator and start the install again.
Now if the MSI ships with a companion setup bootstrap program then you can right click it and choose ‘Run AS’ and then provide admin credentials interactively without logging out and everything is sunny again (except any user specific items get created in the Administrators profile, but you cant have everything).
However, right clicking an MSI does not provide a Run As option … why? Indeed, why oh why….
There is a solution though, turns out its not that it can’t be done its just that Microsoft chose not to make that option available by default. Just add a registry key and you will get Run As for your MSI files. Copy the following into a .REG file and then double click the REG file you created and import these settings into your registry. You will have to do that as Administrator.
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Msi.Package\shell\RunAs\Command]
@=”msiexec /i \”%1\”"
Happy Running As!
Comments Off
I was just updating a script (which I really should migrate to PowerShell) on Vista and I found that the classic command line utility XCopy is now deprecated in Vista, meaning its still there but on the way out. I discovered this when I was updating some parameters and checked the help, which helpfully informed me that XCopy was now deprecated and I should use RoboCopy. Robocopy has always been a ResKit tool that I have never relied on to be present on the base OS, but it does indeed ship with Vista. A bit of googling and I found Jon Box of Microsoft also found the same issue as me.
So farewell XCopy, we knew you well, and now we need to get to know your descendant as well. RIP.
Comments Off
I bought a Virgin Mobile Lobster as its a cheap WindowsMobile test device at £42 delivered with 200 minutes on PAYG. Its a WM5 device but fine for testing. You certainly wouldn’t want to use it as your phone, well not if you have any sense of style.
Its unique feature is that it has a TV function which allows OTA streaming of TV pictures to the Lobster. Now obviously this streaming requires some special equipment to function, in fact it looks like a full size TV has been stuffed inside the case its so big and thick. I believe its called to Lobster because the case look like a lobster claw, just looks ugly to me.
Anyway, if you want one you can get it here http://www.virginmobile.com/vm/lifestyleLanding.do

Comments Off