- Select start and enter gpedit.msc into search box and run the editor
- Go to Computer Configuration/Administrative Templates/System
- Then choose Display Shutdown Event Tracker and Enable.

Unintelligible posts on .Net, Usability and web technology


As in previous posts, I like to annually report on browser stats that I collect via the Intranet web apps that I develop. Knowing your target browser platform is crucial when developing web sites, affecting your designs, client side functionality and testing criteria. So here are May 2010’s stats, taken from a 1229 user global application (across 87 countries), all of whom have logged on in the last 12 months (Corporate desktop for the company concerned is still IE6 as I write this, sigh…):
| Browser Version | User Count 2010 (1229 users) | User Count 2009 (1017 users) |
|---|---|---|
| IE6 | 1116 | 973 |
| IE7 | 77 | 33 |
| IE8 | 27 | 2 |
| Firefox | 7 | 8 |
| Chrome | 2 (new entry!) | NA |
IE5 no longer shows thank goodness and a high count for IE6 is expected (default desktop install remember). Great to see IE8 in there which should rapidly rise by 2011 as it is likely to be adopted globally soon in the Company concerned. Firefox has gone down and in my opinion will continue to drop with it offering little over Chrome/IE8 for day to day browsing (gone too bloaty). Reminder: these stats are from what the user used for a particular web app only - the user may well have other browsers installed for general browsing.
Window sizes:
| Viewable window size (pixel width) | User Count 2010 | User Count 2009 |
|---|---|---|
| less than 800 | 18 | 23 |
| 800 exactly | 28 | 63 |
| 801 to 899 | 22 | 28 |
| 900 to 999 | 26 | 22 |
| 1000 to 1099 | 492 | 489 |
| 1100 to 1199 | 51 | 35 |
| 1200 to 1299 | 272 | 135 |
| 1300 to 1399 | 21 | 1 |
| 1400 to 1499 | 68 | 52 |
| 1500+ | 15 | 5 |
These figures were captured at logout time (assuming that by then the user would have their browser sized/maximised to their preference for the application). Looking at the figures, clearly larger windows sizes are on the up and smaller sizes are on the down (surprise surprise). The “design for 1024” philosophy still seems to hold to a point but the “1200+ size” users are on the increase. There are still 94 users viewing windows at less than 1000 though, something the web application concerned, it has to said, does not look its best at! Hey ho, something to ponder on…
Clarkey
I enjoy seminars, conferences etc. Whether presenting or attending, chosen carefully, they provide a great way of sparking interest in new methods and technologies, putting aside some time for training/education (essential if you work for yourself as I do) and meeting other like-minded individuals.
Here are a couple of upcoming events I’ve recently registered for:
SPA-237 - Agile Adoption Anti-Patterns“… focuses on the things that you shouldn't do when trying to introduce Agile practices to an organisation”
This is a free evening session and is being presented by James Lewis from the well respected consultancy Thoughtworks. I’m a big fan of Agile approaches, but there are issues you have to watch out for and hopefully this event will get some of these aired.
DevWeek 2010
15th to 19th March 2010, London
The conference blurb… “DevWeek is Europe’s leading independent conference for software developers, database professionals and IT architects, and features expert speakers on a wide range of topics, including .NET 4.0, Silverlight 3, WCF 4, Visual Studio 2010, REST, Windows Workflow 4, Thread Synchronization, ASP.NET 4.0, SQL Server 2008 R2, LINQ, Unit Testing, CLR & C# 4.0, .NET Patterns, WPF 4, F#, Windows Azure, ADO.NET, Entity Framework, Debugging, T-SQL Tips & Tricks, and more”
I’ve been to one of these previously and from what I remember they are slick and very well organised, with the sessions containing some great material. Although clearly Microsoft centric, if you use (or intend to use) such technologies, you could do a lot worse than attend this.
Further to my post on upgrading a Dell XPS M1710 to Windows 7.
My old XP based Dell 8250 desktop (1GB RAM) crashed recently and became unusable. Luckily backups were all in place (although I still had access to the hard drives anyway) so rather than simply put XP back on it, I decided to go for Windows 7 Ultimate. The machine had got slower and slower anyway due to all the usual nonsense you install over time, so I thought this was an opportunity to freshen the OS and test whether Win 7 would run ok on old hardware. One of those Sunday eve type jobs…
I first repartitioned and formatted the main drive (I was unhappy with the current partition set up and wanted a truly fresh start anyway). I then booted from the Windows 7 DVD. After a long wait (be patient on an Dell 8250, the initial “windows starting” then “blank screen with mouse cursor” took over 10mins to come to life; it was much faster on my M1710). I then went through the various steps as per the M1710 install except this time I selected Custom (advanced) at the appropriate point to get a full fresh install.
All seemed to go pretty smoothly. Ran some windows updates afterwards, again all went well. I then installed AVG free edition, no worries.
Then I realised I’d got no sound (how many times have you had this happen…). Hmm. I’ve got an old Creative Sound Blaster 5.1 card and a quick look in device manager confirmed that this had not been recognised. A search for an official Windows 7 or Vista driver on the Net was to no avail, so I took a long shot and downloaded the old XP driver off Dell support (R69382.exe) from 2003!.
I then tried running the driver install… it started to run and then started to extract the files and then… it auto-closed! No wizard no nothing. I tried again this time right clicking and running “as administrator” to be sure. Same again.
Not giving up, this time I right clicked the almighty R69382.exe again and selected “troubleshoot compatibility”. It recommended using Windows XP SP2 mode. I went for the recommendation (this is on the installer remember) and hey presto it all ran a treat. The driver is now installed correctly and sound and microphone are back in action.
So how is the PC generally? Well I’ve not installed ‘all’ my regular apps yet, but so far the machine is ticking along nicely and certainly faster than when I had the, albeit fully bloated, XP on it.
DC.
Telerik have released a beta version of a work item manager/dashboard in WPF for TFS:
http://www.telerik.com/products/tfsmanager-and-tfsdashboard.aspx
I installed it briefly this morning (free in beta form) and first impressions are I like it. Seems pretty quick in use and flexible in that it works with the various process templates. My guess is they will charge for the full version when it arrives but it is worth watching.
Note this is a WPF application that you install on your machine (not web based). 4.9Mb install.
Now if they do a browser-based Silverlight version that would really hit the spot…
Mr C
I’ve been looking forward to installing Windows 7. My experience with Vista Ultimate on my Dell M1710 laptop (T7400 processor, 4Gig RAM) has been average at best if I’m honest, with sluggish performance being my biggest disappointment. Yes I know you can “disable this and uninstall that”, but that is not the point. Out of the box, a clean Vista installation should perform well and in my opinion it was only just acceptable.
I therefore welcomed Windows 7 RTM with open arms. I went for the 32bit Windows 7 Ultimate (x86) and having Vista Ultimate (x86) installed already meant I could do an in-place upgrade (Whoa there Clarkey! everyone shouts. A clean install is surely best. Yes you are right and normally I would whole heartily agree but my life is pretty busy right now and the thought of digging out all my old software install disks, rightly or wrongly so, was enough for me to give an in-place install a try, on a laptop that was pretty clean anyway). If you are upgrading from XP then you cannot do an in-place upgrade although you can use Windows Easy Transfer to migrate some of your settings (see Scott Hanselman’s XP to WIndows 7 post). You also cannot in-place upgrade Vista 32bit to Windows 7 64bit (and vice versa).
Below was my starting point (System window) which shows a pretty typical Vista M1710 set up.:
I backed up my laptop (data only) to an external drive and unplugged it to play safe.
I ran the Windows 7 setup.exe and got this screen:
I’d already researched whether my laptop “could cope” so I clicked “Install now” and got the message "Setup is starting..."
I then selected "Go on line to get the latest updates".
I accepted terms and conditions. For reasons I mentioned earlier, I then selected "Upgrade" to do an in-place upgrade:
Then got told that certain apps might not work:
I cancelled the install and uninstalled all of the listed apps including itunes (not really used much on this laptop anyway). Did the obligatory reboot. Then ran setup.exe again... "setup is starting..." and had several déjà vu moments (same steps as above). This time, once past the compatibility checks I selected "go online to get latest updates" as recommended.
Next was a familiar upgrading windows screen:
This step took 2hrs 15mins (including several auto reboots) and some 540513 files were “transferred”. Umm… a fair few then.
You will then be prompted for the product key. I selected “Use recommended settings” for automatic updates.
Set region and time zones.
Skipped join WiFi network at this point.
Selected Home Network (ie for my local LAN).
Finally, I got the logon screen with my family usernames nicely appearing on the desktop. Logged on with my account and hey presto, it seemed to have worked! Why do I sound surprised… not a single service error…
Although the GeForce Go 7950 GTX graphics card seemed to be performing fine I upgraded the NVIDIA control panel version to 2.2.275 and driver to 179.48 via the NVIDIA download site anyway, just to make sure.
To prove I’m not making all this up, here’s that System window again (I had also clicked the Rate this computer button as this point to get a Windows Experience Index):
That’s it for now. It’s early days but based on the short usage last night, it all appears fine and the machine is much much snappier (a relief). I’ve not done anything to really test it yet though… I’ve got cameras to connect, video editing to try etc at some point.
Any issues, I’ll add a comment here.
Dave
I’ve been doing a few tweaks on our TFS 2008 VMWare VM recently to improve performance. We host both the application and data tiers on the same VM so we are never going to get blistering performance (especially when the host is essentially a desktop!) but the performance through Team System Web Access (TSWA) has been noticeably clunky of late, so we thought a little tweaking was in order. Interestingly, source control through Visual Studio has been fine though.
Here’s the list of mods I did:
Finally, I also set up WebWatchBot (a site monitor we use) to ping the key eScrum and TSWA TFS services we use with a http request every hour, to keep the old TFS ‘engine’ alive. As I’m sure everyone who uses TSWA will have noticed, there is a big start up cost on many of the functions if left dormant and any caching is lost, so pinging the box occasionally keeps it all alive, especially when TFS is under little/no usage periods. Of course, we also now have the additional benefit of knowing when TFS is down too ;-)
Lets see how it goes… I’ve not done any formal timings but the results so far (and comments from users) indicate a much more responsive system.
Clarkey
For developers, the MSDN library is a regular place to drop into. Whether you visit the site directly, via the VS IDE or end up there after an enthralling Google excursion, no matter, once arrived I usually find the experience slower than I’d like.
Enter the low bandwidth version. For example:
Standard view: http://msdn.microsoft.com/en-us/library/bb384398.aspx
Low bandwidth version: http://msdn.microsoft.com/en-us/library/bb384398(loband).aspx
Depending upon the time of day and size of article, the differences in load times are considerable!
Anal URL examiners amongst you will have noticed the word loband in the above link. In fact this “device” name can be added to any of the MSDN library links to render the low bandwidth version of the page in hand.
See Jon Galloway’s original blog entry for further info (including a bookmarklet to make the switching easy) and also Scott Hanselman’s more recent post which delves a little deeper, discussing page size differences, other “devices” (including the up and coming VS 2010 IDE view “dev10ide”) and how the URL routing works behind the scenes.
Clarkey
A lot of the work I do is on Intranet based web applications, in large Corporates with locked down desktops and recommended browsers etc.
Here are some browser statistics collected via an ASP.Net data entry and reporting application that I worked on a while ago, collected from users whom logon regularly. System is global and figures are based on 1017 active users:
| Browser version | User Count | |
|---|---|---|
| IE5 | 1 | |
| IE6 | 973 | |
| IE7 | 33 (up from 18 in 2008) | |
| IE8 | 2 | |
| Firefox 3 | 8 (up from 4 in 2008) |
IE6 is the Corporate standard, so nothing really of interest here ;-)
More interesting I think is window sizes. Here's a sample:
| Viewable window size (width) | User Count | |
|---|---|---|
| less than 800 wide | 23 | |
| 800 exactly | 63 | |
| 801 to 899 | 28 | |
| 900 to 999 | 22 | |
| 1000 to 1099 | 489 | |
| 1100 to 1199 | 35 | |
| 1200 to 1299 | 135 | |
| 1300 to 1399 | 1 | |
| 1400 to 1499 | 52 | |
| 1500+ | 5 |
These figures were captured at logout time (assuming that by then the user would have their browser sized/maximised to their preference for the application). The 800x600ish sizes are still very popular despite this being the bare minimum that this web application is designed for (1024x768+ is recommended). It just shows that we cannot always assume that users are running 1024 or above.
Clarkey
This could be useful - Quest , makers of TOAD, are working on a database schema provider (DSP) for VSTS 2010.
Further info can be found on their community TeamFuze site.
Clarkey
Over the last day or so I've been researching to see if I could find a decent tool for automating Web UI tests. I work on a number of projects where automating the (currently manual) regression web tests would prove to be a great time saver and rescue our testers from the repetitive boredom that is inevitably part and parcel of such a task. You can only run that historical trends report so many times before you nod off in your chair...
This was my wish list:
There are plenty out there and not being a dedicated tester/QA guru I do not pretend to have done an exhaustive search!
We had a license for Visual Studio Team System Test Edition (VSTS TE), so I thought it made sense to start with that. I set up a VM, installed VSTS TE and recorded my first web test:
It nicely recorded the http requests, preserved session state etc (bit like the old ACT), and the steps that it went through to complete the test were all clearly shown:
but after some experimenting for an hour or so, I stopped. Why? Well, the whole set up is clearly aimed at techies which is not necessarily a bad thing, but I really couldn't see any of our QA testers using this in a hurry. Shame - an undoubtedly powerful tool for developer level testers but it felt more like a testing framework than an integrated Web UI testing tool. It's all there (see web test overview on MSDN), but it needs some sort of abstraction and nice UI over the top of it.
Back to the drawing board then...but don't stop reading yet... after some digging I found what I think could be a solution and one that plugs nicely into the VSTS I had already installed, namely ArtOfTest's WebAii Automation Design Canvas (built on top of its free WebAii .Net Automation Framework).
Lets cut to the chase. Watch the following 4 minute WebAii demo which shows how you construct a simple web recorded test:
A simple example I know but this is more like it. I particularly like the element highlighting and the ability to do 'quick verifications' on those elements during the recording. You can also be as specific as you wish, having full access to the browser DOM tree:
and from there you can examine/compare individual attributes using the verification builder:
this gives you pretty good control. For example, to compare an entire HTML table of results use (notice it is already populated with the relevant markup from the recorded web page):
I like the way the cancel and OK buttons are reversed in the above too, nice anti-usability touch ;-)
Another useful feature is the storyboard view which shows small screen shots from each page taken during the web recording:
This makes a great (albeit simple) documentation tool for each step. The screen shots also show which control is being actioned upon.
Here's a run down of some of the other bits I have tried so far:
You need Visual Studio Team Edition 2008 (or Pro edition).
The WebAii Automation Design Canvas cost itself is around £1700 ($2499) per machine (see price list). I think this is pretty good value for a machine license as you can then share usage across different users. VMs and VPC images are also ok to use. A common sense licensing model from ArtOfTest, nice.
Next step for me is to trial this on a project before the trial license expires to ensure it covers all that we need. I want to integrate it into an existing project, TFS it up and use it in anger with some of our main web UI regression tests we already have in place. I'll bring in the QA guys too, to assess its usage and usability from a less technical perspective.
Clarkey
As you probably know by now, VS 2010 will use WPF (the version to be shipped with .Net 4) for its new editor. If you want to see its cool new look, pop over to Jason Zander's blog:
http://blogs.msdn.com/jasonz/archive/2009/02/20/a-new-look-for-visual-studio-2010.aspx
Nice. Just hope the WPF UI is responsive on lower spec machines...
See also the VS 2010 'brochure' page for a summarised feature list of what you can expect to see forthcoming (there is a CTP download too).
Clarkey
I love the Internet. Whether it's to catch up on email, pick up some geeky blog feeds, check out the latest on BBC News, upload some photos or simply update my facebook status, I like to be connected. When I am not in the office or at home, my mobile phone is pretty good for very simple browsing, but my netbook (Acer Aspire One, excellent bit of kit) is what I really like to use when I am out and about.
So... I have my trendy netbook... but hey... how do I get access to my beloved 'cloud'? Oh yes, use a Wi-Fi hot spot everyone crys. Wi-Fi is indeed getting better and most hotels/cafes now offer some sort of sign up style of access. I've no problem with that except most charge silly figures for a measly 30 mins or so of access. Grrrr. Also, I find there is never a hot spot nearby when I need one.
I think I've found a better solution for when Wi-Fi is not suitable - a 3G USB stick. Mobile broadband is not new of course, but up until recently most services have been contract based and/or too expensive for my adhoc, occasional style of usage. What I really needed was a reasonable PAYG one. After a bit of searching around, this t-mobile package (£2/day) fitted my situation nicely. You basically pay £2 when you first connect and then you have 24hours of usage (you can connect/disconnect as many times as you wish within that period). There is a 3GB/month fair use policy.
It uses the well known HSDPA 3G protocol (see t-mobile's coverage checker for 3G in your area), but it also gracefully drops down to the (albeit slow) 2G GPRS where there is no 3G signal. Even in GPRS mode, it gives acceptable results. Of course, in 3G mode is where the device excels... with a theoretical down-link speed of 3.6 MBit/s (this is what it 'connects as'), in practice with a low/medium signal I've been getting around 1 Mbit/s down-link speeds and 300kbit/s uplink. Not bad at all.
At £39 notes for the USB stick, if you use the Net in an adhoc way like I do, it's a no brainer and definitely worth a look.
We adopted Scrum and eScrum/TFS (Team Foundation Server 2008) back in June this year for a pilot project. As we are a few days before Xmas, when all is beginning to quieten down, now seems a suitable point to dot down a few observations. Here we go.
First of all, I'm converted! Scrum is one of the few processes/methods (I'm not a big process person myself generally) that excites me, in that it focuses the team on delivering good working software and encourages a good relationship between the IT Team and the business. Since adopting it on a small project, I can happily [subjectively] report back that it works, and it works well. We used 3 or 4 week sprints, monthly sprint review/planning meetings, and daily scrums (sometimes missing a day if one was not felt necessary, but we still touched base to confirm this). We also had scheduled weekly "product owner update meetings" to ensure we had a regular slot in a busy "product owner's life", where we always scanned down the sprint backlog to see how things were progressing.
Here's are some observations.
As mentioned in an earlier TFS/eScrum post, not only did we switch to Scrum for this pilot project, but we also adopted some new tools namely:
Here's my brief thoughts:
I like it. Once you get over the clunky, heavyweight feeling of the various MS products working together to give you what you want (SQL Server, Sharepoint, Reporting Services, TFS Web Services) and sorted out all the security goings on (you've essentially 3 products to set up security for), then you are away. The customisation is very flexible (especially once you have installed various power tools) and adopting a VM as a backup strategy has served us well. Well worth the move from VSS!
I looked at a few templates for managing the Scrum project (including Conchango's SFTS and MSFAgile) but in the end, eScrum had the best web interface for us. It is not without its short comings though.
Here's some of my thoughts on the eScrum web interface:
Overall, a nice interface but we are getting to a point where a version 2.0 is long overdue. I can't see this happening for a while though.... maybe MS should make it open source ;-)
Merry Xmas
Clarkey
Ever had that deja vu feeling when coding in a project? Ever thought, hang on, I've seen something similar to this code block before? Are you keen to factor out duplicate code from your systems? Of course you are, so take a peek at this:
http://www.codeplex.com/CloneDetectiveVS
Clone Detective is a free add-in (built on ConQAT) for Visual Studio that analyses your C# projects for 'duplicate source', that is, similar code once any 'noise' has been removed (normalisation) and tokenised. Whether this is from sloppy copy & paste activities in your team or simply properties in N-Tier DTOs, BDOs etc, as professional software engineers (eh?!) we want to know about such things. It's then up to you to decide if the clones are ok or if further action is required, considering any refactoring costs involved.
Watch the 10min video as a starting point to see if this tickles you in the right places. It did me :-)
I ran it past one of my projects:
The figures in brackets are the percentages of code cloned. The coloured bars indicate where in the file the potentially pikey coding is. Some of the source identified in this case was simply properties in my BDOs but there were other cases where it did point out areas of my code where some refactoring could take place. Nice (the add-in that is, not my coding).
_mrC
Here's what i did:
1) Installed Visual Studio 2008 SP1 first, as we have team explorer on the TFS server (useful for admin use). Remember for our relatively small setup we've put both the app tier and data tier on the same VM. SP1 install time 1hr 15mins (Oooh!). Reboot required.
2) then installed Team Foundation Server SP1. Install time 15 mins. No reboot needed but I did one anyway, just to see those services start up nice and cleanly :-)
If you do it in this order you should be assured of a pain free installation. Well OK then... at least a 'reduced risk' one anyway.
Here's two useful links showing what you get with this upgrade:
If I come across any issues I'll post them here.