Skip to content

Birth of the cool

September 12, 2011
tags: ,

Tomorrow is the day when Microsoft tries to get its mojo working. At the BUILD conference, Windows 8 will be revealed to an audience of eager developers, including yours truly. But although this is a developer conference, the technical details aren’t quite as important as usual. What really matters is the rebirth (and probably detoxification) of the whole Windows brand. At the moment, Windows just isn’t perceived as “cool” in the same way as certain other brands, it’s just something you use because you have to (either because it’s for work or because you have a limited budget).

I suspect the main point of this conference is to make “Windows” not refer to a PC operating system, but instead to cover a whole range of Microsoft services and devices working in synergy. So as a Windows user, you’ll be using your Windows Phone with Windows Live services, keeping your data in the Windows Live cloud, then accessing the same stuff from your Windows tablet, laptop and PC plus your XBox and Surface. You’ll be using Kinect and voice control to access TV, videos and music on your devices without hunting for the remote, and because it all synchronises together so seamlessly you’ll not need to worry about which device you’re using to access which service or where the data’s coming from, because it’s all Windows and it all just works.

Well, that’ll be nice, won’t it? Of course, vision and execution are two different things. After all, Microsoft already has the technology to do all of the above, it’s the synergy that’s missing. So what we’re looking for this week is evidence that in that Microsoft really are pulling everything together, and from a developer point of view that we’re going to be given the tools to build applications and services that will work in the new paradigm.

I’ll be blogging selected highlights throughout the week, but what I’ll be particularly looking out for is:

  • Designers, Designers, Designers! This is where HTML5 comes in, of course. Designers just don’t use Expression Blend or Visual Studio, so traditional Windows apps are very rarely a thing of beauty. But if you can use HTML as the basis of your UI then all of a sudden that changes everything. I’ll be looking to see how the HTML and XAML models have been merged or bridged so that we can write .NET apps and still get a properly designed UI.
  • The consumer cloud. Developers already have Azure, but we also need an API for the Windows Live cloud services, in particular SkyDrive. For example, a Windows Phone Mango app I just wrote has a facility for uploading images, audio and video. But why should I have to use my own Azure storage account for this when I know that the user has oodles of SkyDrive storage and probably would rather have the uploaded media available in their own account anyway? If developers get proper access to Windows Live, the sky’s the limit in terms of what services we can build.
  • Entertainment services. I’ve always been a big fan of Media Centre. I use it for TV, video and music in my living room and I love it. And of course because it’s a PC I can watch iPlayer and other streaming media on the TV as well. But what I really want is a Surface 2 hanging on the wall, doing the same things but with Kinect, voice and multi-touch control. And I also want to be able to access the same media from my phone and tablet (and XBox of course) without having to even think about synchronisation.
  • The next version of Windows Phone. With Mango about to roll out, the Windows Phone is definitely a match for the competition. But what’s in the next release to make it a must-have? I’m still hoping for an Xbox Phone with proper game controls, but we’ll see.
  • Hardware. Will Microsoft be working with the hardware manufacturers to make it easy for consumers to choose devices without having to worry about what all the technical specs mean?

Check back to the blog for updates and I’ll let you know what we find out!


DDRMenu 2.0 (and DotNetNuke 6.0)

July 19, 2011

Yes, DDRMenu 2.0 is released and available for download from CodePlex. Now, I’m going to put this at the top so you don’t skim past it:

If your site is already using DDRMenu, upgrade to v2.0 BEFORE you upgrade to DotNetNuke v6.0!

The reason for this is that DDRMenu moved into the DotNetNuke namespace between v1 and v2. In a normal upgrade, DDRMenu checks your site for old binaries and namespace references and removes or renames them accordingly. However, if you upgrade via the DotNetNuke upgrade package, this step doesn’t happen and so there is a good chance that your skin will no longer work. Of course, if you do have problems then as long as you can get to the Host Extensions page then upgrading after the event should still sort you out.

Now, with that out of the way, I’d just like to thank Joe Brinkman and Keivan Beigi for their code contributions, Charles Nurse and the whole DotNetNuke QA team for pointing out the undocumented features, and Armand Datema for the first community contribution to the template repository on CodePlex.

v2.0.1 will no doubt be along in a day or two once everyone’s started playing with the new toys, and v2.1 with ASCX templates and extra internationalisation friendliness isn’t too far away, but in the meantime, have fun!

Moving forward with DDRMenu 2.0

April 5, 2011

I’m pleased to report that as of the new beta 3 release, DDRMenu 2.0 is pretty much feature complete. As well as the XSLT templates that you know and love (everybody loves XSLT, don’t they?), there are now options for token-based templates and Razor templates (if you have the Razor Host module installed).

For now, the new template options are described on the DDRMenu documentation page, so please do take a look and let me know what you think, even if you haven’t got time to try them out yet.

I’ve also set up a DDRMenu templates project on CodePlex to hold starter templates, both simple examples to get you started and more complex templates that you can use as a basis for your own navigation. Anyone who wants to submit their own templates for this collection is more than welcome!

Of course you know what’s coming next – your feedback! Thanks to those who already provided feedback – the quick jump from beta 2 to beta 3 was entirely due to early constructive comments on the token parser. But if you didn’t already, I do encourage you to visit the DDRMenu CodePlex site and raise any issues or feature requests you may have in the discussions section or issue tracker, or at least to vote on the issues already there. Once we get to a final release, it’ll be a lot harder to change things around, so do get in early. In particular, I’m keen to hear thoughts from designers about the token parser – as a programmer, it’s not always easy to work out how complex these things seem to a normal user.

Anyway, I’m off to write some more documentation. I look forward to hearing from you all soon!

DDRMenu is the official menu of DotNetNuke 6

March 29, 2011

Yes, it was a bit of a surprise to me too! It certainly wasn’t what I envisaged when I started DDRMenu a couple of years ago. Back then it was simply the case that the built in menus didn’t seem to be quite up to the job, and since I was getting into jQuery I thought I’d see if I could use it to rewrite DNNMenu. Having done that, it was a natural progression to a SolPart replacement, and once there were two layouts then a templated solution was the obvious next step. I then decided to release it for public use, and I finally plucked up the courage to open source it relatively recently.

Anyway, it seems that an open source solution with extensibility points ties in well with the DNN ethos, and so the fine fellows at DNN Corp have taken the decision to make DDRMenu the default option in the next release. In other words, the default skin will use DDRMenu, as will other areas of the core where menus are used.

Moving forward, this means that while I’ll still be responsible for DDRMenu I’ll be working closely with Joe and the team to make sure it has all the features and templates needed to make DNN 6 the best it can be. So look forward in the near future to Razor and token-based templating options, at least one mega-menu template, and even some much needed fresh documentation!

From a practical point of view, to avoid getting too swamped by support requests, at some point I’ll be migrating the menu off the DNNGarden site onto its new home at CodePlex. Hopefully the community can then muck in to help out as they have in the past with DNNMenu. This will, of course, mean I’ll have room on the DNNGarden site for lots of exciting new modules, so keep an eye out for developments on that front too!

In the meantime, all that remains for now is for me to thank DNN Corp for choosing DDRMenu, and also for inviting me to join the core team. Cheers!

DotNetNuke in C#? What’s the difference?

March 2, 2011

So, the last major VB.NET open source project has passed away, to rise phoenix-like from the ashes as a major C# open source project. There has, of course, been some relatively heated debate in the past about whether or not this would be a good idea, particularly since Ben Zhong started maintaining a C# version of the codebase alongside the official VB.NET version. But the decision to change horses has been made now, for better or for worse, so the obvious question is "what difference will it make"?

Well, to be honest, plus ça change, plus c’est la même chose. Most people will notice precious little difference, but of course it depends on what angle you’re coming at it from:

  • End users should notice no difference at all. The C# code should be written to do exactly the same as the VB code, and so functionality should be unaffected. (Though there may be the odd cosmetic difference due to the fact that the C# release will be a new major version!)
  • Administrators should similarly notice no difference. However, there will be an onus on administrators to test the new version sooner rather than later. Any major version update is going to need more testing than DNN Corp can manage by themselves, but a major version accompanied by a language change is going to need an awful lot of tyre-kicking before you can be confident of it.
  • Developers won’t have to change anything. The API will remain the same, and modules can still be written in any .NET language, so you can continue to develop your modules as you always did. Where you will find a difference is when you’re looking through the DNN source code – if you’re a diehard VB.NET programmer then you’ll have to get used to the C# syntax if you want to follow what’s going on.
  • The DNN development team get to use a language which is better supported by Microsoft, have access to a wider array of tooling and can also choose from a larger pool of developers.
  • Non-DNN people quite simply get the chance to re-evaluate it without prejudice. Although there’s no technical reason for a language change to make any difference, there are a lot of potential reasons due to false perceptions. For example, some developers feel that VB.NET is a language for beginners and amateurs, and that any product written in VB.NET isn’t to be trusted. If these people can cross this mental boundary and actually give DNN a fair chance, the chances are they’ll be quite impressed by how much it’s evolved since they last looked at it in version 2. Also, some decision makers think that their C# developers can’t work as well with a CMS written in VB.NET. There’s still the WebForms bridge to be crossed, but that can wait a while longer!

So as long as we in the DNN community muck in and do our bit to make sure that v6.0 is tested as thoroughly as possible, it should in fact be a smooth transition and should also strengthen DNN’s long-term viability as explained so eloquently in Shaun Walker’s announcement. I know there are people out there who are quite sceptical about this, but I reckon it’ll work.

The Xbox Phone?

February 23, 2011

Just writing down a prediction here so I can be proven completely wrong in a few months’ time. Winking smile

When Windows Phone 7 was first announced, my first thought was “Windows Phone? What are they calling it that for?”. Well known though the brand undoubtedly is, it’s not exactly untainted, particularly when it comes to Windows Mobile.

However, reading Mary Jo Foley’s recent article “Is Microsoft Zune about to be Kinned?” and seeing the introduction of the new Xperia Play “PlayStation phone” got me to thinking, and what I think is this:

  • “Zune” will become “Xbox Entertainment”. The Zune brand doesn’t really exist outside the USA, and even there I believe it doesn’t have great traction. Xbox, on the other hand, has a good reputation everywhere.
  • The Xbox itself is going to expand from a primarily gaming platform to a complete entertainment hub.
  • The next major release of Windows Phone will also introduce an Xbox Phone (xPhone?). The Windows Phone brand will be aimed more at business users, whereas the Xbox Phone brand will be aimed at consumers and will build on Xbox Live and the Kinect integration already demonstrated, possibly with a slide-out controller as well.

So what do you think? Is this likely? Would it work? Will Apple, Google and Sony Ericsson be too far ahead in 6 months time anyway? Answers on a postcard please (or in the comments if you must …)

HTML5 vs Silverlight (and others)

February 18, 2011

On Wednesday I gave a talk about HTML5 (mostly) and Silverlight (slightly), demonstrating and comparing their relative capabilities and ease of use, and discussing when to use them for application development.

First of all, thanks to everyone who turned up for not taking up the rather more tempting option of watching Arsenal vs Barcelona, and for all the great feedback. I’ll see about doing a more Silverlight-centric talk next!

Secondly, thanks to Telerik for sponsoring the event and providing the very generous draw prizes.

And finally, as requested by several people, here are the slides and the HTML5 demos:


I’ve left some extra notes in with the slides, but of course do feel free to ask if you have any questions.

P.S. Some of the demos are inspired by – or in the case of the 3D canvas taken completely from – and