Lawson Smart Office – A WPF Line-Of-Business application

In a recent video posted on Channel 9, Adam Kinney talks to Matthew Allbee from Lawson Software about a smart client application developed entirely in WPF, screenshots of which surfaced earlier this year. In the short video, Matthew demonstrates the application which is similar to a desktop session, one where the user switches between a number of applications (WPF 3D has been used with Visual Brush to preview open forms – awesome!), opens Microsoft Office appllications, etc. The application integrates with the Lawson backend, shorcuts and other user preferences are all stored for the user. The application has 10,000 forms and it is growing! Lawson’s smart office is yet another line-of-business application developed with WPF, after we all saw Billy Hollis showing of StaffLynx which I have blogged about earlier.

Here is a screenshot of the application (Courtesy : Lawson) –

Lawson Smart Office

Lawson Smart Office

Jaieme Rodriguez has posted some more screenshots in a recent post. Head over to Channel 9 and watch the video!

WPF Bootcamp 2008

If you, like me, didn’t have a chance to attend the WPF Bootcamp 2008 (Note: Requires Silverlight 2), or, if you attended and would like to download and watch the sessions again, they are available for download here. The source code used in the demonstrations is also available. Session presenters include Karsten Januszewski, Robbie Ingebretsen, Jonathan Russ, Greg Schechter, Jaime Rodriguez, Adam Smith, Alan Le, Josh Wagoner & Josh Smith. Sessions of particular interest are by Adam Smith (WPF Performance), Josh Wagoner (Real World WPF) and the excellent introductory series by Jonathan Russ and Robbie Ingebretsen.

These free resources are definitely worth going through, I am sure they will help in the WPF journey!

The WPF journey

Why WPF?

This was the question recently asked by a client when I was presenting a proposal for a new smart client application. I have used Windows Forms to develop smart clients for the last few years. When Microsoft had the “Orcas” release out, I started playing with the WPF bits and have been very excited about the potential of using this new technology to design and develop smart clients for LOB (Line Of Business) applications. The content of this post was inspired by the experience of my journey so far developing applications with WPF.

Like many other software developers & UI designers around the world, I have had a hard time convincing customers and prospects to adopt WPF as the technology for developing new smart client applications or enhancing existing products. MFC had a recent “refresh” release and Windows Forms, with the plethora of third-party controls (ComponentFactory has excellent Windows Forms controls that are available for free!), it is very tempting to stick on with Windows Forms for smart client development. However, when you think of the time few years from now, WPF will have gone through several refreshes, bug fixes and enhancements, making it more robust and stable and ready for enterprise grade application development. To “future-proof” your product, it is essential to give some thought in investing time to learn and adopt WPF as the technology of choice for smart client development. I regularly watch dnrTV shows and had a chance to watch Billy Hollis demonstrate a line of business application developed using WPF. I learnt a lot from the show and was inspired to continue with my journey with WPF (you can download the show from here). In addition, the WPF application showcase provides a list of applications that are developed with WPF. The applications in the showcase highlight the fact that the next generation smart clients will benefit a lot from WPF.

Climbing up the WPF learning curve

Adopting WPF is a challenge as there is a steep learning curve involved, a developer is expected to slip and trip while climbing the curve! I recall a comment from a very successful entrepenuer I recently met in a meeting – “When you think you are falling down a cliff, be as close to the edge as possible and grab hold of any shrubs and branches – try to slow down the speed with which you are falling down. As you get hold of more shrubs and branches, you will eventually slow down and not hit yourself hard at the bottom of the cliff”. As an analogy, while climbing the curve, we can always refer to samples, useful blog posts, resources available from Microsoft and its partners, etc. There are some really good references that people have blogged about elsewhere. I have been using “Pro WPF in C# 2008” as my “workbook”, while having WPF Unleashed and Programming WPF by my side for digging deeper. Working through a tutorial or workbook may not be the ideal way for every new developer to learn and master WPF, however, it can certainly make the climb up the curve a lot more comfortable.

WPF Training Resources 

In addition the books and blogs, there are some really helpful and illustrative resources available for free. Downloading them and viewing them while working through a book or tutorial helps getting a concept or two across. Some training resources that I have used and found really useful are –

WPF Code Samples

Sample applications (with source code) developed with WPF and WPF code samples can help a lot in understanding fundamental concepts or illustrate how a feature should be used the right way. I have picked the following from my list of resources I always keep handy while developing a WPF application.

I hope you find the links and resources in this post useful in your journey. Good Luck!

Visual Studio 2008 SP1 & SQL Server 2008 released

Earlier this week, Microsoft announced the RTM of Visual Studio 2008 Service Pack 1 & SQL Server 2008. These are available for MSDN subscribers for download. SQL Server 2008 evaluation versions are available for a 180 day trial (The SQL Express Edition is freely available for download). Service pack 1 for Visual Studio 2008 and the .NET framework 3.5 is available here.

Some caution while installing the Visual Studio 2008 SP1 if you had the SP1 Beta installed. A cleanup utility is available here which removes any Visual Studio KBs installed. The readme file has some detailed information about installing the service pack.

So, whats new in these releases?

SQL Server 2008 adds enhancements to the database engine, new T-SQL programmability features, enhancements to Integration Services, Reporting & Analysis services have been rewritten & no longer require IIS, Powershell is now integrated and entirely new management feature [Performance Studio] has been added to monitor speed and efficiency of databases. Microsoft has also announced the availability of Beta exams on SQL Server 2008 (I’ll post about these exams later).

The Visual Studio & .NET framework service packs contain a number of enhancements targeted for developers, improving the productivity while using Visual Studio as well as ehancing several existing features in ASP.NET, WPF, and other technologies. Visual Studio (with SP1) now has better javascript intellisense support, support for classic ASP intellisense & support for refactoring WCF services in ASP.NET projects. ASP.NET enhancements include dynamic data, URL routing engine (used for MVC and dynamic data support) & AJAX script combining (asp:ScriptManager can now be configured to combin all the configured scripts & sent to the client as a single script). Several new windows forms controls including vector shapes and a datarepeater have been added. Windows Presentation Foundation has had several improvements and enhancements, detailed discussion of them should perhaps form the content of different post. Most notable amongst the WPF improvements include performance and data improvements (20-45% without any code changes – that’s very encouraging!), addition of shader effects, DirectX Interop [Dr. WPF has an article on Codeproject on this], etc. Visual Studio now supports navigation to definition of items declared in XAML.

.NET Framework 3.5 Enhancements Training Kit

The .NET framework 3.5 enhancements training kit contains material to help you understand and explore the new enhancements. This kit is available for download here. The kit is an enhacement to the very useful Visual Studio 2008 training kit.

I am excited like any other .NET developer about the release! I look forward to exploring the feature improvements and enhancements and blog about any interesting bits that I find useful to share.