Leon broke the news first, der if they will distribute Microsoft Word – Executive Edition on Windows Update. I’ve pretty much stopped using Microsoft Word for my day to day stuff except when I am producing an official document.
The replacement? OneNote of course, in many way’s its power is its simplicity, when I am taking notes in daily status meetings I use OneNote to jot down any notes – when someone raises an issue I can hit CTRL-SHIFT-K so I can track it in my task list in Outlook.
There are a few things that I would like the software to be able to do, for example, I’d like the individual pages to be able to have a “template” applied. Now I am not talking about a template in terms of fonts, and colours and all that kind of stuff, more in terms of behaviours.
For example – I’d like to be able to do a bit of a mind map so that when I drag off all the individual clips of text – I’d like them to be linked into a network on things.
I found myself sitting in the drive through at McDonalds this evening getting some chicken nuggets. After ordering the person taking the order, and the person giving the order (me) instinctively decided to put a couple of sheets of glass between them to avoid any awkward conversation.
Sitting there, I thought to myself how sad that was, and whether this is something unique to drive thru or a greater social trend.
I got an SMS message today on my SmartPhone from the MSDN Product Feedback Centre. My suggestion is in the top ten list, hopefully that will give it enough visibility to get its votes up to help the guys at Microsoft see how cool the feature could be.
At the moment it has forty votes with an average rating of 4.32 (out of 5), I really want this feature, and if you do to please get over there and vote for it.
I’m rebuilding my laptop and since I have a month before I need to deliver another training course I thought I would give some BETA software the opportunity to run against the host hardware – no I am not going to be running Longhorn for the next month (although I would love to), instead I will be running Windows XP with Whidbey B1. For the most part I have been running Whidbey under Virtual PC, but I find that if I bring it out in to my everyday environment I get much more familiar with it.
Longhorn won’t be staying on here, I just decided to see how well it runs while I was waiting for the ISO image of the Windows XP SP2 slipstream editon to download from Subscriber Downloads. It is actually a thing of beauty when it runs on real steel – the UI performance is rock solid and disk I/O performance seems indistinguishable from Windows XP (although I am certain it is slower given the preview nature of these bits). I did have the WinHEC build running in a VM but I installed that off an DVD ISO image and I don’t have a DVD burner handy to do it onto the real hardware. I’ve had mixed experiences running Longhorn to date – the UI paints were pretty slow and the disk I/O was very poor which seems to be a common theme in VM installations.
OK – it looks like I can’t sleep, I can’t decide whether it is because I have this code builder stuff on my mind and I want to get the idea out there properly or because of how angry I am that our Australian basket ball team managed to let the US crawl back up and eventually get 10+ in front of us by the time the final whistle was ready to blow (actually – I don’t know that for sure, I turned off in disgust about two minutes from the end).
Anyway – I may as well take this opportunity to air some more thoughts about this code builder idea that I have. I’ve revised the UI just a tad by extending the existing tool-tip like thing we get under methods when we type in the open bracket. This would give the developer the opportunity to hit F2 (or whatever) to start the builder UI.
One important aspect here is that the F2 is very bold, thats intentional, there is no point building such a cool mechanisms unless your users have to look really hard to find it. The scope of the builder UI has changed quite a bit too based on some of the feedback that I got in the comments of my original post and in the comments section of the post on Ladybug (remember to vote on this suggestion).
The UI has become tabbed and there is potential for more than one builder to be associated with a code element at any one point in time. The reason for the added complexity is that someone made suggestions like loading things from resources – or putting stuff in config files – so I wondered – why not have all of them?
The last tab in the builder UI would be a “configure” tab where you could right there in VS go and browse for an assembly to plug-in. It would be something like the Add/Remove Items option on the VS Toolbox. The interesting implication here is that you don’t need to manually edit some file somewhere to figure out how to target a custom builder. That last tab could also integrate with community sites (ala csharp.net) and download a list of builders that have been verified by MS after the product ships.
Once the user has done what they need to do with the builder then they close it down and it does its work (if it wasn’t doing it interactively already). The builder would have access to some contextual information, for example, access to the CodeFile so that it could inject whatever it needed to get the job done.
In the example above its actually injected code to grab some data out of the configuration settings to determine what file to load – see it is starting to encourage better coding practices already. The reason I stuck with a literal example is because I wanted to point out how this would work. I would guess that the ordering of the tabs would be based on frequency of use.
Anyway – thats it for now – feeling tired again, maybe it was this stuff.
I went out to North Ryde tonight to attend the other Sydney .NET User Group run by Adam Cogan of SSW. There were quite a few presenters and lots of content.
Tatham Oddie did a piece on the ASP.NET Pipeline focusing in on HTTP handlers. It was cool to see his implementation of a URL mapping which gets rid of the URL query string uglies that most sites have today by intercepting hits to URLs with special extensions and maps them to an *.aspx file with a query string (invisible to user). Its actually extremely close to the implementation that Scott Watermasysk uses with .Text and is far more effective that the “Rewrite” approach.
Scott McColloch spoke about using the provider model in DotNetNuke to modify the HTML editor to use structured text instead. DotNetNuke is definately coming along and is a compelling beast. Sometimes I think that the entire ASP.NET team exists only to provide the infrastructure that underpins DotNetNuke which is what the rest of the word uses (well not really, but almost :P).
There were more presentations on some recommendations for structuing complex projects in VS.NET and dealing with the dependency issues, and on MS Access migratation, I’ll cover them in another post. All in all it was a good night! Thanks Adam!
Its looking like my post about code builders struck a nerve (read the comments). A few people were concerned that the builders could be used for evil, and I think my choice was poor – although XPath is probably something you would put in as a literal since changing the XML contract is not a minimal change anyway.
One of the comments was how the builders would appear to the developer as they typed so I did up this mock up. I kinda think its between this and smart-tags, I’d go for smart-tags in a heart beat if they could be triggered via the keyboard (can they?).
Not much different eh? And the example is fairly limited because a single method call might have multiple arguments, and more disturbing – how would this look over multiple lines. That definately needs to be thought about some more. If the caret was in a region of text that had one of these “hats” then you could do something like CTRL-DOWN to expand it out and get focus set appropraitely in the balloon.
Anyway – more food for thought.