Silverlight 4 beta and my disappointment with the WebBrowser control

Silverlight 4 logo by Tim Heuer So as most of you probably know by now, Silverlight 4 has been announced and a beta is already released, you can head off over here to find out what’s new and to download the bits you need like Visual Studio 2010 Beta 2, etc. One big warning though, if you have the Silverlight 3 SDK installed on your machine, uninstall it before installing Visual Studio 2010 as it might barf the Visual Studio 2010 installation.

So one of the features I’ve been eagerly awaiting in Silverlight 4 is the new WebBrowser control. Yeah as strange as it may seem I want to embed some web content in a Silverlight control. Well not a control as such but more a Silverlight application. And I’ve managed to do it since Silverlight 2 by creating iframe elements in the underlying HTML DOM and absolutely positioning them over my Silverlight control, all from within the Silverlight application. This has however one major limitation – you can’t put Silverlight content on top of the HTML iframe unless its in a seperate object element which doesn’t exactly suit my needs.

Silverlight 4 WebBrowser doesn't play niceAnd it turns out that the Silverlight 4 beta WebBrowser control suffers the same horrible fate, as you can see in a screenshot of a quick test application on the left. Except it has another awkwardness to it – it has to be run out of the browser as well. Looks like I’ll be sticking to my iframe approach for in the browser and consider using the WebBrowser control for out of the browser only.

Now don’t get me wrong, I do like the new control, but I would like it to be even better. If anyone on the Silverlight team reads this, please make the WebBrowser control a proper Silverlight control that can have pure Silverlight controls over it.

Call of Duty World at War multiplayer beta keys

Call of Duty World at War screenshot I have two Call of Duty World at War multiplayer beta keys to giveaway. Note that these keys are for the Xbox 360 multiplayer beta and you need a hard drive, bandwidth to download the beta (890 MB) and an Xbox LIVE Gold subscription to play. In my experience I would recommend you have at least a 384 kbps ADSL line. For international play I’d recommend unshaped ADSL bandwidth to reduce the latency however shaped bandwidth is just fine for local play. I’m limiting this giveaway to South African Xbox 360 gamers only.

If you meet the requirements above, leave a comment on this post including your email address and I’ll announce the winners on the 23rd of October through random selection. Creative comments might stand out. 🙂

Internet Explorer 8 Beta 1 out now

Internet Explorer 8 Beta logo Just announced at MIX’08, Internet Explorer 8 Beta 1 is available for download after the keynote completes. It looks like they’ve added some very cool new features with sites like Ebay and Facebook already taking advantage of them. I kinda like the idea of having my friend’s status updates available on my toolbar at the click of a button, apparently this is called a WebSlice. See the list of new features here.

One of the cool new features is finally the standard compliant rendering with a button to enable IE7-like emulation for older sites. HTML5 and CSS3 are all included. Oh and the speed is apparently greatly improved.

[tags]Internet Explorer 8[/tags]

Net60 Beta 1 released

Red Five Labs logo Local mobile innovation company, Red Five Labs, has today released a beta 1 build of their of implementation of the .NET Compact Framework 1.0 which runs on Symbian S60 3rd edition devices like the Nokia N95 series of mobile phones. This is an important product for enterprise developers that would like to deploy on both Windows Mobile and Symbian mobile devices. The official press release follows.

Johannesburg, South Africa, November 14th, 2007 – Red Five Labs, a leading mobile technology company, releases Net60 (beta 1) for immediate download. Net60 is a ground breaking implementation of the .NET Compact Framework running on S60 3rd edition devices.

Net60 enables managed Windows Mobile applications to run unchanged on S60 devices. Using C# and Visual Basic .NET in Visual Studio, developers can now use the .NET Compact Framework environment to build applications for Symbian devices.

Symbian developers can now also write applications for S60 and benefit from the RAD capabilities which .NET development offers.

This beta release is intended for System Integrators and Independent Software Vendors (ISVs) who are interested in exploring the possibilities of Net60 ahead of the commercial release later this year. User feedback is highly encouraged.

For download instructions and an application to join the beta program, please visit the download beta page at

Applications will be approved as efficiently as possible by the team at Red Five Labs so that beta testers are able to gain rapid access to the download. Managed support is provided by an integrated support ticket system and public forums.

Any questions  regarding the sign-up of the beta can be directed to

[tags].NET Compact Framework,Red Five Labs,Symbian[/tags]

Expiring VS2008 beta 2 VPCs

Sometimes Microsoft knows how to screw things up. Not only were the Visual Studio 2008 (code-named Orcas) Beta 2 Virtual PC (VPC) images rather excessively large for the average South African developer to download and too big to fit onto a single DVD for community distribution, but now they are expiring on the 1st of November 2007 as well.

Now I was kind of expecting an new release candidate build to emerge for download sometime soon but it seems that the Visual Studio team has no such intention and has instead released updated beta 2 VPC images. Its not clear at this stage as to whether you need to just download the base image or whether you need to download the entire set of VPC images again. Either way the Visual Studio team lied to us when they said we just needed to get the base images once:

These downloads are differencing disks. To use them, you must also download Visual Studio Code Name Orcas Base Image contains the OS and is a one-time download for all the Virtual PC images that lay on top of it.

Why can’t Microsoft simply release a patch for the base image extending the lifetime of the Windows 2003 operating system? Why do they need to release complete new images? I don’t expect that many South Africa users will continue testing the beta 2 bit any longer if release to manufacturing (RTM) is so close. Sorry Microsoft, you’ve just totally screwed up in my humble opinion.

[tags]Visual Studio,South Africa,rant[/tags]

Tech-Ed 2007 day 3

Tech-Ed South Africa 2007Its honestly amazing how time flies when you are at Tech-Ed. I found that day three just flew past in comparison to day two; I suppose it has to do with the sheer number of sessions I attended.

The first talk worth mentioning today was one by Angus Logan where he shared information about the Windows Live technologies currently available for integration by developers. I never realised that Windows Live ID was recently made available as a single sign on solution for end-user applications coupled with the various other services likes Virtual Earth, Live Contacts, Silverlight Streaming and numerous other cool services. They are all covered under one “no lawyer required” terms of use and unless your web site has more than about a million users, its free to use. For more information on the APIs, code samples for .NET, Java, Python, Ruby and many more take a moment and check out and there is even a .NET wrapper library for the REST APIs on CodePlex. Don’t forget to attend Angus’ talk for SA Developer .NET this Thursday, you won’t be disappointed.

Chris, some other dude, Hilton, Nicolas and Ronald Hilton Giesenow, SA Developer Lead and MVP, gave an awesome talk on the hidden gems of ASP.NET 2.0 where he shared some very cool but lesser known features of the ASP.NET. One of them that comes to mind is the SessionPageStatePersister class that provides a simple means of reducing the viewstate of each page in a site with no changes to the actual pages themselves.

Chris Auld from New Zealand was highly entertaining to experience. He was wearing a Sprinkbok rugby jersey after he lost a bet. He is genuinely a unique character and showed us all how to implement and use WCF (Windows Communication Foundation) for various connection endpoints including TCP, SOAP, JSON and even RSS. Unfortunately his demos were plagued with exception pop-up dialogs due to the Visual Studio 2008 beta quirks but seemed to work nonetheless. I found his “go go gadget stack trace” comment quite amusing.

Just to make sure we didn’t have a dull day, we got Nicolas Blank to interview Hilton Giesenow, Willie Roberts and myself about the technical communities in South Africa. I’ll make a post here when the video has been edited and posted on the international Virtual Tech-Ed site.

Laser finger-tipped skeleton dancerAs day four is a half day it is customary to have the closing party the evening before. The theme was CSI and we were treated to an awesome buffet in the Sun City Superbowl followed by local band Springbok Nude Girls on stage and then lots of dancing and partying.

[tags]Tech-Ed 2007,Windows Live,ASP.NET,WCF,Virtual Tech-Ed,Springbok Nude Girls[/tags]

Jaiku Mobile is hungry

Jaiku logoFor those not in the know, Jaiku was recently acquired by Google and suddenly gained popularity. One of the reasons why I believe Jaiku is better than other similar services such as Twitter is because they have a decent mobile phone client.

The current build of Jaiku Mobile, 0.80 beta, is limited to the Nokia S60 3rd Edition platform and has one very annoying feature. When it installs it seems to install the Jaiku Mobile client as well as some hidden application that runs continuously. I assume this based on the extra icon that appears in the status area at the top of the screen even when Jaiku Mobile isn’t running.

Testing it on my Nokia N95 I noticed that I started getting more and more application hang-ups where the keyboard would stop responding in a newly launched application. I used the wonderful NSysInfo utility to diagnose that after a clean reboot my mobile phone had 4MB less RAM when Jaiku Mobile was installed and not running. So I’ve now promptly uninstalled it as I don’t believe in sacrificing 4MB of RAM for a stupid Jaiku status icon to be displayed.

Unfortunately I can’t find a means to report the issue directly to the Jaiku Mobile team so I’ll just have to blog about it and wait for a new build to come out sometime.

[tags]Jaiku,Jaiku Mobile,Nokia N95[/tags]

rAge 2007 round-up

Master Chief visits rAge 2007 After three very busy days rAge 2007 is now over, if you missed it, then you missed out. Once again the Xbox 360 console dominated the consoles at the exhibition with almost every stand featuring at least one.

It was quite a shock to not see an official presence for Sony’s PlayStation 3 console. Yes there were a few consoles tucked away on various stands of which the most interesting was the one on the Megarom stand with a preview build of Haze on it. I must say I wasn’t too impressed with it, sure the graphics looked wicked but the game-play was jerky and not what from a next generation console title.

The Nintendo Wii console seemed attract a bit of attention as was to be expected. I can’t help wondering how long it will be until the novelty will wear off. At times during the show I found myself laughing at how funny kids and adults looked waving that Wiimote around. I even gave it a try with Pirates of the Caribbean and got quite annoyed with the seemingly delayed response to my actions; it was more irritating than cool. I suppose its great for bowling, boxing and other sports titles but it doesn’t really do it for me in general.

Halo 3 multi-player on the Xbox 360 stand On the Xbox 360 front, the highlight of the show was definitely Halo 3, which dominated the Microsoft stand with both co-op single-player watchtowers and an 8-player multi-player Slayer setup seeing a constant stream of players eager to discover the Halo franchise for the first time. Considering that Xbox LIVE is not officially available in South Africa, yet, it was an awesome demonstration of the Xbox 360 system link (LAN) functionality as I believe most people were not aware that Xbox 360 consoles could be networked together.

This year we got to see some very cool new games and pre-release games such as the highly anticipated sequel Project Gotham Racing 4 (PGR4), which garnered much interest from the crowds passing by. The game now features more cars, weather conditions and the addition of motorcycles. If you enjoyed PGR3 then you should definitely consider picking up a copy of PGR4 when it releases in October.

The MiDigital stand had numerous games on show including Virtua Fighter 5 and a preview of the awesome new game TimeShift.

Guitar Hero 2 on the NAG stand Megarom show-cased the Call of Duty 4 Multiplayer Beta running on Xbox LIVE as well as a preview copy of Assassin’s Creed which was demonstrated twice daily on the big screen for all to drool over. A preview of Guitar Hero 3 with a wireless Gibson electric guitar proved to be immensely popular but not as popular or loud as Guitar Hero 2 on the NAG stand.

Nu Metro had a preview of Kane and Lynch available to play. I must say that graphics didn’t seem that amazing however I won’t dismiss the possibility that the game might receive some spit and polish before being released and surprise us all.

MINI 37 - Arcade Racer On the PC front I was quite surprised to find local game developer, Luma, showcasing their new racing game, MINI 37 – Arcade Racer, developed for MINI South Africa. Tracks in the game are currently based on the South African A1 Grand Prix circuits and I understand that some episodic content is in the pipeline.

The game is currently nearing development completion and will be available as a 120mb free download from their web-site. If you prefer to conserve your bandwidth it will also be made available on the November 2007 NAG magazine cover disc.

Its really awesome to see a local game developer succeed and I can’t wait to see if Luma can take this PC based game to the next level as perhaps an XBLA (Xbox Live Arcade) title in the near future.

Overall an awesome exhibition with plenty to see and do. I predict that the Xbox 360 console will do extremely well this festive season considering the awesome assortment of titles that will be on the market.

[tags]rAge,Xbox 360,PlayStation 3,Wii,Megarom,Nu Metro,Luma,Halo 3[/tags]

Silverlight 1.1 UserControl C# template code does not follow best practices

Why does the Microsoft Visual Studio team not follow the best practices internally? When creating a Silverlight 1.1 UserControl under Visual Studio 2008 Beta 2 it generates the following code by default.

    System.IO.Stream s = this.GetType().Assembly.GetManifestResourceStream("Project1.UserControl1.xaml");
    this.InitializeFromXaml(new System.IO.StreamReader(s).ReadToEnd());

Most developers would realise that this is not good code. Why do I say this, well firstly the code is creating two objects, a System.IO.UnmanagedMemoryStream and a System.IO.StreamReader, that implement IDisposable and are not disposing the objects immediately after use. Yeah sure the finalizer will take care of any unmanaged resources at the end of the day but why not just release the resources in a predictable and up front manner. I have recommended that Microsoft use the following instead.

    using (System.IO.Stream s = this.GetType().Assembly.GetManifestResourceStream("Project1.UserControl1.xaml"))
        using (System.IO.StreamReader sr = new System.IO.StreamReader(s))

If you feel strongly about best practices, please take a moment and vote for this on the feedback site here.

[tags]Visual Studio,Silverlight,best practices[/tags]