Tuesday, September 16, 2008

The Future of Expression Blend

Don Burnett changed his blog address a while back and I missed it so have not seen his insightful UX blogs on my aggregator for a while.  He's written a good entry which includes a link to how you can get Intellisense for Blend 2.5.  Sounds like I should check it out.

Wireframe style

Interaction Designers / UX people usually start out with low fidelity wireframe mockups for preliminary UI designs, often in a tool like Powerpoint  They are done in black & white so that the commenting audience can see that they are not finished, and you are more likely to get them to constructively comment.  A corollary of this is that it's time to stop collecting feedback when it gets down to discussing colours.

We're working with WPF, sometimes we use the Visual Studio designer and sometimes we use Blend.  So in discussion with our UX guy today, we came up with the idea of a "wireframe" theme for WPF that we can apply to get feedback on the first iterations of the XAML storyboard.  We'll be trying this out.

Monday, September 15, 2008

Weekly trawl

The new version of NDepend comes with interactive code dependencies graph.  Looks interesting.....

Jaroslaw Kowalski has written an adapter to allow the use of POCO (Plain Old CLR Objects) with Entity Framework.

Keith Elder has some useful thoughts on Building the “Good Enough” Framework.

Howard van Rooijen blogged some time back about integrating StyleCop with ReSharper.  "StyleCop for ReSharper" is a ReSharper 4.1 plugin that allows Microsoft StyleCop to be run as you type, generating real-time syntax highlighting of violations.  He's now published the plugin on Codeplex.

I've been looking around for a tool that converts Word docs to XAML, and whilst I found some rather convoluted solutions, it was nice to Michael Scherotter post a Word 2007 Add-in solution on Codeplex.  For WPF the document is converted into a FlowDocument element.  An easy way to include rich documentation in your WPF (and SL) apps. I've tried it out and it's pretty cool!

Because we're got a focus on UX right now, I was interested to see the Microsoft Health Common User Interface (CUI) published on Codeplex.  It provides Design Guidance and Toolkit controls in Silverlight, WPF, ASP.NET & WinForms.  Whilst it's specific to health, there should be a number of the guidelines that are transferable.

Jimmy Bogard has written some IoC container guidelines.  He's based them around StructureMap, but it was good to see that we are applying some of the guidelines with our Unity work.

Sunday, September 14, 2008

The week gone by - 14 Sept 2008

Shane Morris, Microsoft UX evangelist for Australia paid us a visit on Fri 12th to give inspire us about the importance of user experience and what it means to Microsoft and to partners like use.  Shane's blog is worth subscribing to.  We've also had Matt Morphett who Shane holds in very high regard, working with us on some interaction design.

I've been looking more closely at the DLR - Dynamic Language Runtime, especially after I talked with Harry Pierson at TechEd.  Harry looks after Iron Python, and V2.0 will run on the DLR.  It seems to hold great promise in the "scripting" environment.

Jimmy Schementi has updated the Silverlight Dynamic Languages SDK with the newest DLR, IronRuby, IronPython, and JScript binaries and sources.  I've also read that a dynamic version of VB is also slated to run on the DLR, but it's been pretty quiet since the MIX07 announcement, so maybe we'll hear something more at PDC.

Also of interest is DLR Pad, which creates an interactive programming environment for IronPython and WPF.  It's on Codeplex.

Poking around in the IronPython space, I came across Resolver which is an interesting Excel-like / Python fusion - written mainly in IronPython.  Harry Pierson mentioned it as a solid reference implementation for IronPython.

The main community site for IronPython is here.  Also Michael Foord & Christain Muirhead are writing a book - IronPython in Action - which I've started to read.  One thing that I did learn was that it got its name from the famous BBC show- nudge, nudge:-).  There's also heaps of material on the official Python site

When looking at Resolver, I came across a Code Project by Sebastien Lorion - A Fast CSV Reader, which could be useful.

Sunday, September 7, 2008

TechEd Sydney 2008

Shane Morris, Microsoft's UX evangelist in Australia gave a couple of great presos.  He used deep zoom in his UX session and showcased the Expression suite in another.

Local Brisbane boys Anthony Borton & William Bartholemew demo'd the architect features of Rosario, and the word is that the next CTP will coincide with PDC at the end of October. Particularly neat are the architectural discovery and validation features.  We can also expect some new features as well.  Hopefully the architect features will be available to all developers.

Harry Pierson's session on moving beyond the industrial age into what he terms the "individual age" was thought provoking.  His main tenet was that today's institutions and the was we do IT is still rooted around a factory mentality, and that we will change.  Harry in his new role with the Iron Python team extolled the virtues of open source dynamic languages.  Expect Iron Python 2 integrated into Visual Studio just after PDC, an alpha version of Iron Python built on the DLR around the same time, as well as an Iron Ruby beta.

Paul Stovell (who's doing work for us) talked on Reactive Programming - which he describes as "data binding gone mad".  He also demo'd his own Bindable LINQ.

Elvin Slavik gave an overview of SQL Server 2008 spatial features.  The new geometry and geography types provide a complete storage mechanism for spatial data (x,y,z & m) but the spatial functions are only 2D for now.

Another Queenslander, Joel Pobar gave a great overview of F#.  He gave 3 compelling reasons for functional languages.  In a data driven world, we need higher order algorithms and techniques to derive value.  In a world where scalability is king, we need tools, frameworks and languages that scale.  To take advantage of the multi-core (r)evolution we need more adaptive languages and compilers.

Kiwi Chris Auld outlined what's coming in Oslo.  It's being run by the Connected Systems Division which also looks after BizTalk, WCF and WF.  Expect Oslo in around 12-18 months time over 3 waves.  First up we'll see a new version of workflow foundation in .NET 4 and Rosario VSTS .  The new WF will have a better designer and improved UX and will include a new "flowchart" workflow type.  At present we have sequential which is simple, but not too useful as it doesn't support "go back" operations.  The state machine workflow allows you to do anything, but is more complex to implement.  The new flowchart workflow is designed to fit between  these extremes.  It will still be aimed as devs rather than end users.  The second wave will include the repository, visual editor and a process server(WF/WCF only), with the third wave including the full process server(lifecycle manager and BizTalk host).  To summarise, Oslo is a repository and a modelling language and tooling to facilitate building and deploying mega composite systems.  Expect the first CTP at PDC.

Weekly blogs of interest - 7 Sep 2008

J. D. Miers from Patterns and Practices continues his Application Architecture Guide with an article on Layers & Components.

The famous Don Box gives his elevator talk on Oslo.

The second CTP of MEF (managed extensibility framework) is now on Codeplex.  See announcements from Glen Block(ex Prism), Brad Abrams, Hammett (the guy behind Castle Windsor) and Krzysztof Cwalina.  That's some pretty heavyweight people who are involved - so it's certainly worth watching.  In the meantime we'll be sticking with Unity for now, but we'll be taking  close look.

Blaine Wastell and David Hill have blogged about the latest plans for Prism 2.0

Karl Shifflett has created what looks like a pretty cool XAML Power Toy for WPF for now.

The F# September 2008 CTP has been announced by Soma.  Lots of blogging activity about the new functional programming language.

Mike Taulty has posted some WPF examples and also has an article about why XBAPS are Rich Internet Applications

David Starr has an interesting idea about how to judge if your products are "technically current".

Josh Smith is a fan of MVVM and shows off another example.

Yet another top dev is joining Microsoft.  Andrew Peters, co-founder of Mindscape (WPF Property Grid & Lightspeed) will be working on Entity Framework.