Golden Nuggets

Monday, December 22, 2008

User Experience - It Ain't Just Paint

We’ve known for a while now that Microsoft is taking User Experience seriously – Bill Buxton’s keynote at MixUK ’08 being clear testament to that – but it’s nice that they’re starting to share out the goodness so the message can be shouted out clear and loud.

In December’s MSDN magazine, Dr Charles B Kreitzberg and Ambrose Little give us the first I of a new set of columns focusing on putting usability into practice.

From the article, the facets of UX are:

Interaction Design Defines how the user interacts with the product. It specifies the behavior of the product in response to actions by the user and focuses on the product's navigation as well as the specific controls that are used.

Information Architecture Defines how information is organized and presented. Its goal is to support discoverability and usability.

User Research The process of studying users in order to develop a design that meets their needs, capabilities, and preferences. The methods are varied and typically employ a number of interview techniques along with observation. User logs and secondary sources are also used. Surveys and focus groups can also be used although many UX designers avoid them.

Visual Design The graphic treatment of the UI. Visual designers may be graphic artists rather than UX designers. While visual excitement is important, it is also essential that the visual design does not impair readability or usability.

Usability Testing The process of observing users performing specific tasks on a prototype or mock-up of the UI. Traditionally, usability testing was performed in a lab with observers behind a one-way mirror. However, increasingly, usability tests use webcast technology.

I’m really looking forward to the rest of this series – if only there was an RSS feed for it!

Usability In Practice : http://msdn.microsoft.com/en-us/magazine/dd263095.aspx

Not a lot of people know that #1: ESENT

Well actually, probably a lot of people *do* know about ESENT, but it was new to me today!

I found a link through to a .Net API for ESENT via a MSDN post this morning, and was curious as to what on earth ESENT actually is – and it turns out to be a rather interesting piece of Microsoft technology.

From the Wikipedia entry here:

The Extensible Storage Engine (ESE), also known as JET Blue, is an Indexed Sequential Access Method (ISAM) data storage technology from Microsoft. ESE is notably a core of Microsoft Exchange Server and Active Directory.

The MSDN entry goes in to more detail and links to the reference, and there’s a good introductory blog entry on the WindowsSDK blog. You have to wonder whether this might be a useful technology for offline enabling applications – so my next bit of research has to be whether Sync Services supports it.

Time to Google…

Microsoft ESE : http://msdn.microsoft.com/en-us/library/ms684493(VS.85).aspx

Managed API for ESENT : http://www.codeplex.com/ManagedEsent

Silverlight controls coming of age...

For me, Silverlight has never been about rich media, so much as rich applications. So the announcement and release of Silverlight 2 was a turning point. Prior to that, Silverlight had effectively no controls – meaning no useful controls for building line of business applications.

Today though, I came across a nice posting (in Italian) by Pietro Brambati that pointed to samples pages for both the intrinsic Silverlight 2.0 controls, and for the Silverlight Control Toolkit.

I love these kinds of mini-sites – they demonstrate the controls so much better than a textual description can, and handily give you a test harness as well. We use a “sample” ourselves when developing custom controls.

Italian introduction : http://blogs.msdn.com/pietrobr/archive/2008/12/22/silverlight-2-controls-demo.aspx

Silverlight 2.0 Controls Sample : http://silverlight.net/samples/sl2/silverlightcontrols/run/default.html

Silverlight Control Toolkit Sample : http://silverlight.net/samples/sl2/toolkitcontrolsamples/run/default.html

Thursday, December 11, 2008

Top Tip: Rooted Views

In this VSJ article, Neal Ford highlights some quick tips and tricks for increasing your productivity.

One of the more interesting ones was that of improving your “focus” as a developer by using a feature of Windows Explorer that I’d never heard of – rooted views. All you need to do is start Windows Explorer with a couple of extra parameters, and the tree-view will appear to be rooted wherever you specify. So rooting your explorer view to the root of your projects’ source code will focus your attention on the files you should be working on rather than all the other guff in your computer.

Here’s how – just run (start->run)

explorer /e,/root,c:\myprojects\project1\source

which will give you an explorer folder rooted at the source folder for your project.

You can also create a shortcut (right-click on the desktop and select new->shortcut) with the above command as the target – put this shortcut on your start menu, desktop, dock, etc for fast focused access to your project folder.

Developer productivity Tips: http://www.vsj.co.uk/articles/display.asp?id=772

Wednesday, December 03, 2008

I know I've been quiet...

Busy with paying work and all in the run up to Xmas…

But three postings on developerFusion.com piqued my interest this morning.

The first two are by Jon Skeet, and cover what Iterators are, and how to use them to auto-generate state machines. Really interesting stuff as it gives a great deep-dive into the IL code that’s being generated and what that can mean in terms of the code that actually gets executed.

The third post is by Mark Smith, and provides a good worked examination of the how to create extensible applications with the Managed Add-In Framework. Not to be confused with the Managed Extensibility Framework, which is more about dynamic composition, this is a well-structured mechanism for handling plug-ins. Another one for me to get my head around, I guess.

This evening tho’, I’m off to the screenedit session at the Circle in Manchester for UX themed sessions sponsored by Microsoft. See you there.

 

Iterators, Part 1: http://www.developerfusion.com/article/9398/iterators-iterator-blocks-and-data-pipelines-in-c/

Iterators, part 2: http://www.developerfusion.com/article/9397/iterator-blocks-in-c-2-autogenerated-state-machines/

MAF: http://www.developerfusion.com/article/9396/creating-extensible-applications-with-maf/

Wednesday, October 22, 2008

I'm off to DDD - are you?

Well, they opened up registration this morning, and I had to jump on it fast to ensure I get a place… That’s done, so now I can safely blog about it!

Developer! Developer! Developer! is a UK development community event that’s hosted by Microsoft at their Reading campus. The next event – DDD7, is on Saturday 22nd November.

The agenda looks really good – especially Phil & Dave’s “ASP.Net 4.0 – Top Secret” session, but it looks like there’s something for everyone there. Other potential highlights (for me, at least), include Mike Hadlow’s “Using an Inversion of Control Container in a real world application” and “Toby Henderson’s “How to develop .Net on Linux using Ubuntu”.

They just need to set up the twitter feed, the facebook event and the backnetwork now!

Get in quick! http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032393874&Culture=en-GB

Labels:

Wednesday, October 15, 2008

You can't stop the light (redux).

Loads more Silverlight goodness today too.

Robin Mestré has posted no less than four three-part series on why Developers, Designers , Marketing types and Application Architects should look at Silverlight. The posts are very much brochure-style, but they do give an excellent overview of the capabilities of the Silverlight platform – plenty of pictures to help you sell the technology to your managers.

Shawn Burke notes the release of Silverlight 2, but more interestingly give a teaser as to the state of play with the Silverlight Toolkit – due for a first preview release at PDC. The screenshot shows just how cool these controls are going to be.

On the WPF SDK Blog, Jim Galasyn points to the revised Silverlight 2 documentation now available on MSDN.

Finally, Scott Morrison has posted about what I think is one of the most exciting controls released as part of Silverlight 2 RTW – the DataGrid. This control will be making a number of 3rd party control manufacturers sweat – it’s already VERY fully featured, as Scott#’s post shows. In a follow-up, he also shows how to use the Frozen Columns feature – damn handy.

Silverlight Toolkit: http://blogs.msdn.com/sburke/archive/2008/10/14/silverlight-2-released-silverlight-toolkit-on-the-way.aspx

Documentation: http://blogs.msdn.com/wpfsdk/archive/2008/10/14/silverlight-2-docs-are-posted.aspx

DataGrid Features: http://blogs.msdn.com/scmorris/archive/2008/10/14/silverlight-2-datagrid-is-released.aspx

Frozen Columns: http://blogs.msdn.com/scmorris/archive/2008/10/15/freezing-columns-in-the-silverlight-datagrid.aspx

Labels:

Tuesday, October 14, 2008

You can't stop the light

(was "Busy day at Silverlight Central" - don't ask!)

Yep – today the Microsoft Blogosphere has been buzzing with the news that Silverlight 2.0 has Released to the Web (RTW). Congrats to the Silverlight team on that – I was expecting the release to be closer (if not DURING) the PDC.

Of course ScottGu is the authoritative source as always, but I lost count of the MSDN blog posts today that reposted the news - now all I’ve got to do is un-install the RC0 bits and install the RTW bits before I can compile up code that will be shippable. Well, it will probably be shippable as soon as the CUI and Controls teams update their control libraries!

Interestingly, Ronan Geraghty went in a slightly different direction – pointing to a set of Silverlight tooling for Eclipse. This is good, because it gives an alternative tooling for Silverlight, and one that’s in use by a load of Java developers out there. Whilst it’s Windows only at the moment, it’s roadmap does include support for “Other OS” – so it probably won’t be long before that same tooling will allow for Silverlight / Moonlight development on Linux. Good times!

Scott shows us the light: http://weblogs.asp.net/scottgu/archive/2008/10/14/silverlight-2-released.aspx

Eclipsing the light: http://www.eclipse4sl.org/download/

Labels:

Wednesday, October 08, 2008

New! Atomic Memory will wash your concurrency grime away!

I’ve kind of being expecting this to rear its head, so it’s gratifying to spot that the Transactional Memory team at Microsoft are starting a blog.

This follows on from the presentation that Simon Peyton Jones made in the final Sneak Peeks session at Mix UK ’07 – and whilst they “are not working on a product release at this time” it can only be a matter of time. It’s also nice to see another part of DevDiv opening up and gathering opinion as part of their development process.

Read about it (atomically): http://blogs.msdn.com/stmteam/archive/2008/10/08/welcome-to-the-transactional-memory-team-s-blog.aspx

Labels: , ,