Thursday, January 26, 2012

I have posted an alpha version of CSLA 4 version 4.3.0 for download from the CSLA download page.

Although Jonny has been extremely busy with a number of bug fixes and some feature changes, I think the biggest change in this alpha release is a major optimization of the MobileFormatter.

MobileFormatter is used to serialize object graphs on Silverlight and Windows Phone. It is used by the data portal, and n-level undo (if you use that feature).

Until now, I have recommended that you use compression on the byte stream that flows over the data portal, because the XML created by the MobileFormatter is often quite large. It compresses efficiently, and we’re quite efficient about what we put into the byte stream, but it is just plain big.

Sergey did some really nice work for version 4.3, allowing the use of alternate reader/writer objects so the data can be serialized into something other than XML. Specifically, he created binary reader and writer objects that are around 70% more efficient in terms of byte stream size. That’s about as much as you could expect to get with compression!

The result is that you can probably avoid the CPU intensive overhead of compression and still get a small byte stream to transfer over the network.

The CSLA 4 version 4.3.0 change log includes a discussion of the configuration settings you need to change to use the new reader/writer objects.

This is a non-breaking change, because the default is the same behavior as in 4.2. But this is a big change and we really appreciate your help in testing the new reader/writer objects to ensure they work across a wide range of applications.

Thursday, January 26, 2012 1:15:02 PM (Central Standard Time, UTC-06:00)  #    Disclaimer  |  Comments [2]  | 
 Wednesday, January 25, 2012

I am pleased to announce that the Using CSLA 4: Windows Phone ebook is now available for purchase.

If you purchased the Using CSLA 4 ebook series you already own the book, and can download it now.

This ebook (in PDF format) demonstrates how to create a Windows Phone 7 (WP7) application that uses a business layer created using CSLA 4. This ebook also demonstrates the use of the MVVM (Model-View-ViewModel) design pattern in a way that is very complementary to the capabilities provided by CSLA .NET business objects, resulting in an application that is easy to build and maintain with clear separation of concerns between the XAML-based view, the interface control code in the viewmodel and the model composed of CSLA-based business objects. This ebook also makes use of the open-source Bxf MVVM UI framework.

The ebook includes a sample application demonstrating the concepts and techniques discussed in the book.

Here’s the high level content outline:

  1. Introduction
  2. Windows Phone
    1. About Silverlight
    2. Windows Phone Application Model
    3. Silverlight Navigation
    4. ApplicationBar Control
    5. Overview of XAML
  3. MVVM Design Pattern and CSLA 4
    1. MVVM Design Pattern overview
    2. Bxf MVVM Framework
    3. Main Shell Implementation
    4. CSLA .NET Windows Phone features
  4. Business and Data Access Layers
    1. Responsibility-driven design
    2. Domain overview and implementation
  5. Application Implementation
    1. Windows Phone project setup
    2. Main shell implementation
    3. User scenarios
Books | CSLA .NET | WP7
Wednesday, January 25, 2012 5:35:03 PM (Central Standard Time, UTC-06:00)  #    Disclaimer  |  Comments [0]  | 
 Monday, December 12, 2011

One of my primary news sources is The Morning Brew blog. I have it in my RSS reader, and I at least skim through every post.

It amazes me how Chris is able to pull together the key information every day – his dedication and the quality of his work are commendable.

If you are looking for an easy way to keep up on what’s going on in the Microsoft developer world, this is your source!

Monday, December 12, 2011 5:27:50 PM (Central Standard Time, UTC-06:00)  #    Disclaimer  |  Comments [1]  | 
 Friday, December 09, 2011

One of the perks of working for Magenic is that Greg and Paul (the owners) give all employees a tech gift at the end of each year.

Past gifts have included Tivo units, Xbox consoles (with and without Kinect over time), GPS units, Kindle readers, you get the idea.

This year’s tech gift: a Kindle Fire with a one year Amazon Prime subscription.

Magenicons work hard to do great work for our customers, and this is one way the company shows its appreciation for that dedication. Thank you Greg and Paul, and thanks to all the Magenic employees that make the company a great place to work!

Friday, December 09, 2011 11:31:37 AM (Central Standard Time, UTC-06:00)  #    Disclaimer  |  Comments [0]  | 
 Friday, December 02, 2011

I try not to vent all that often, but this just seems deserving…

It seems like every time I install Visual Studio 2010, SQL Express doesn’t work.

I just repaved my laptop – new Win7 install, the whole works.

My previous install didn’t have working SQL Express – as in Visual Studio couldn’t create or open SQL Express files as part of a project. I’d spent a few hours trying to get it working – installing and uninstalling VS/SQL in various combinations to no avail.

The OS reinstall was, in part, because I figured I’d screwed something up so bad it just need a total restart.

Sadly, after installing Win7, Office, VS10, and then VS10 SP1 I still don’t have a working SQL Express – basically out of the box.

My conclusion? The VS10 installer is broken. What else could be wrong here?

At no point, on this new OS install, have I installed SQL Server by hand. The SQL Server install on the machine is directly from the VS10 install – and it doesn’t work.

The SQLEXPRESS service is running, but VS10 can’t talk to it.

I’m surely not looking forward to spending another ton of hours troubleshooting this problem – again. And presumably without success – again.

In short: WTF!?!

Friday, December 02, 2011 11:56:07 AM (Central Standard Time, UTC-06:00)  #    Disclaimer  |  Comments [5]  | 
 Thursday, December 01, 2011

CSLA 4 version 4.2 is now released and available for download.

The primary focus of this release is the introduction of support for mono (Mac, Linux), monotouch (iPhone, iPad), and mono for Android.

This version also supports Windows Phone “Mango” (SDK version 7.1).

You can now reuse your business code across .NET, Silverlight, Windows Phone, and these newly supported platforms as well. As demand grows to build applications that must work on various mobile devices, the ability to directly reuse your business classes is compelling!

Version 4.2 also includes a number of enhancements to the existing CSLA 4 rule engine, along with various other features and bug fixes. Check out the change log for more information.

Our next step is to provide support for Silverlight 5 in CSLA 4 version 4.3, followed by support for WinRT (Windows 8) in version 4.5. The expectation is that your existing CSLA-based business classes will continue to work in Silverlight 5 and WinRT, providing even more long-term reuse, maintainability, and cost-effective development.

Thursday, December 01, 2011 2:30:06 PM (Central Standard Time, UTC-06:00)  #    Disclaimer  |  Comments [2]  | 
 Wednesday, November 30, 2011

I have been working with some of my colleagues at Magenic to write a whitepaper that summarizes our view on how “Windows 8” and WinRT affect existing Microsoft developers.

http://magenic.com/Portfolio/WhitePaperWindows8DevelopmentPlatform.aspx

If you’ve read my previous WinRT related blog posts you’ll see that the whitepaper is similar, but provides more formal analysis and information in a presentable format.

Wednesday, November 30, 2011 10:33:35 AM (Central Standard Time, UTC-06:00)  #    Disclaimer  |  Comments [2]  | 
 Saturday, November 12, 2011

One of the primary goals for CSLA 4 version 4.3 (the next version we’ll be creating) is to improve the performance of the MobileFormattter that is used for Silverlight and Windows Phone applications. This is made all the more important, because it will also be used in WinRT applications in the future.

Sergey (a CSLA dev team member, and Magenic colleague) has been doing some heavy research into this area, and we’d originally thought to do the changes as part of the 4.2 release. It turns out that doing a really great job of optimization will require some breaking changes – at least for people who aren’t using managed backing fields. So we are deferring the bigger changes until 4.3.

In the meantime, Sergey has blogged about how to improve performance of MobileFormatter in 3.8 and 4 (4.0, 4.1, or 4.2). These are changes you can make to your CSLA codebase now if you want some of the performance benefits without waiting for the “big change” that’ll come in 4.3.

Saturday, November 12, 2011 12:41:27 PM (Central Standard Time, UTC-06:00)  #    Disclaimer  |  Comments [2]  |