Wednesday, February 27, 2008

Yesterday I co-presented (with Anthony Handley, one of Magenic's lead designers), giving a talk on building applications using XAML (WPF and Silverlight). It is a fun talk, because we spend the entire time walking through the process and code and design assets we used/created to build an application. And we discuss the great and not-so-great parts of using Visual Studio, Expression Blend, Expression Design, TFS and various other tools in such a collaborative project.

But I did something bad. Something I really know not to do, but sometimes you just get carried away I guess. My mistake? I tweaked some code right before going on stage. I should really know better...

So part way into our talk the code refuses to build. (in retrospect I know exactly what I did, I got two parameters backward on a method) Debugging on stage is never fun, and we surely didn't have time for it in this talk!

Fortunately for us, Magenic provides all consultants with high speed cell modem service for our laptops. This meant we were connected at DSL speed to the Internet, and Anthony was able to quickly use TFS to undo pending changes to the file I'd tweaked. Which goes to show two things. First, good source control is invaluable. Second, Magenic's belief that our consultants should have ubiquitous Internet access really pays off!!

What could have been a demo disaster, turned instead into illustration of the ease with which you can use TFS from within Visual Studio 2008 :)

(p.s. For those living in the Twin Cities area, Anthony and I will be giving a (free, I think) 3 hour version of this talk on April 24 at the Microsoft office in Minneapolis. I'm looking forward to that, because we have to gloss over so much stuff to fit the talk into 60-75 minutes, and it will be great to dig deeper into each sub-topic over a 3 hour period. Watch www.magenic.com for details on registration as the date gets closer.)

Wednesday, February 27, 2008 8:18:49 AM (Central Standard Time, UTC-06:00)  #    Disclaimer  |  Comments [4]  | 
 Monday, February 25, 2008

SFVS Live 2008 kicks off in San Francisco on March 30.

I'll be speaking there, giving a talk on merging SOA and OO concepts with a Silverlight 2.0 UI - fun stuff!! :)

And I'll be giving a full-day workshop, showing how to appropriately leverage the broad set of .NET technologies to build applications. There are so many ways to solve the same problem in .NET, whether that be user interaction, getting your data, building a business layer or anything else. Microsoft seems determined to provide 2 to infinity ways to do any given thing, and it seems like chaos. My goal is to provide some sense of order, or at least an architectural model, around the chaos to make it easier to leverage the power of the technologies.

I'm also co-chair of the Core .NET track, and I'm excited about many of the speaker and topic selections for the conference. With so much going on around .NET development, this is a great time to be involved with one of the leading developer conferences in the world!

As a track chair and speaker, I have a discount code you can use to register to get 25% off the registration for a Gold Passport. Just go here to register and use code SPLHO.

See you in San Francisco!

Monday, February 25, 2008 8:45:06 AM (Central Standard Time, UTC-06:00)  #    Disclaimer  |  Comments [0]  | 
 Friday, February 22, 2008

CSLA .NET version 3.5 is for Visual Studio 2008 and .NET 3.5 only.

If you are using .NET 3.0 or .NET 2.0 then CSLA .NET version 3.0.x is for you. Version 3.0.4 is a maintenance release incorporating some important bug fixes, especially around data binding.

Version 3.0.4 will release concurrently with version 3.5, and I have put a refresh of the 3.0.4 code online for download at www.lhotka.net/cslanet/download.aspx.

This release is quite stable, and you should consider using it if the bug fixes apply to you. See the change log for details.

Friday, February 22, 2008 10:20:15 AM (Central Standard Time, UTC-06:00)  #    Disclaimer  |  Comments [0]  | 

CSLA .NET version 3.5 Beta 2 is now available for download from www.lhotka.net/cslanet/download.aspx.

Please read the change log prior to installing/using this release. If you are coming from version 3.0 or lower there are a few potential breaking changes. If you are coming from 3.5 Beta 1 there is one potential breaking change.

There are numerous bug fixes and feature tweaks from Beta 1 to Beta 2. These are thanks to the great feedback and help I've recieved from numerous people on the CSLA forum (http://forums.lhotka.net/) - thank you all for your help!!!

I am excited to release Beta 2, because we're narrowing in on a final release of version 3.5 and any changes now will be bug fixes or stabilization. Any testing you can do on this new release is appreciated and will help ensure high quality in the final release.

Friday, February 22, 2008 10:06:52 AM (Central Standard Time, UTC-06:00)  #    Disclaimer  |  Comments [2]  | 
 Monday, January 28, 2008

clip_image001Hear ye, hear ye!  MIX08 to debut the first ever MIX UX Track which is 3 days of solid content dedicated to creatives / designers.  Lou Carbone, David Armano, Dan Roam, Kim Lenox and others will speak.  In conjunction with Adaptive Path, the User Experience track is just one of the many great reasons for all types of designers and creative professionals to attend MIX this year.  http://visitmix.com/2008/mixux.aspx

clip_image002 The deadline for this year’s CSS contest, RESTYLE, has been extended.  Folks can still clip_image003restyle the MIX08 Homepage and win a pass to MIX08, 3 nights at the Venetian, $$ and more, more, more! http://visitmix.com/2008/restyle/

clip_image004Have you been listening to The Signal?  Each week a new episode debuts featuring a speaker or MIX crew member talking about some of the upcoming coolness happening at MIX08.  Listen to their interviews with Molly Holzschlag, Kip Kniskern, Jonathan Snook and others as we countdown to Vegas.  http://visitmix.com/blogs/TheSignal/

clip_image006 Perhaps you remembered last year’s MIX, in which we featured Flotzam, a WPF screensaver mash-up that showed MIX07 feeds from Facebook, Flickr, Twitter and blogs. Well, we are doing it again this year with a twist: we are running a contest and will feature community created skins of the application on the big screen and on the screensavers of the computers available to attendees at the show.  The best skin will win an XBOX 360.  Entering the contest is easy: everything you need to know can be found here http://www.visitmix.com/blogs/News/403/ including links to screencasts and instructions that show how easy it is to do the restyle.  

Monday, January 28, 2008 9:35:45 AM (Central Standard Time, UTC-06:00)  #    Disclaimer  |  Comments [0]  | 

Just to let everyone know, there's a CSLA .NET training class coming up in Atlanta Feb 18-20. The class is organized by Dunn Training, who has been delivering this quality training for over a year now, with great feedback from attendees!

Click here for details.

Monday, January 28, 2008 9:32:49 AM (Central Standard Time, UTC-06:00)  #    Disclaimer  |  Comments [0]  | 
 Thursday, January 24, 2008

I reader recently sent me an email asking why the PTWebService project in the CSLA .NET ProjectTracker reference app has support for using the data portal to talk to an application server. His understanding was that web services were end points, and that they should just talk to the database directly. Here's my answer:

A web service is just like any regular web application. The only meaningful difference is that it exposes XML instead of HTML.

 

Web applications often need to talk to application servers. While you are correct – it is ideal to build web apps in a 2-tier model, there are valid reasons (mostly around security) why organizations choose to build them using a 3-tier model.

 

The most common scenario (probably used by 40% of all organizations) is to put a second firewall between the web server and any internal servers. The web server is then never allowed to talk to the database directly (for security reasons), and instead is required to talk through that second firewall to an app server, which talks to the database.

 

The data portal in CSLA .NET helps address this issue, by allowing a web application to talk to an app server using several possible technologies. Since different organizations allow different technologies to penetrate that second firewall this flexibility is important.

 

Additionally, the data portal exists for other scenarios, like Windows Forms or WPF applications. It would be impractical for me to create different versions of CSLA for different types of application interface. In fact that would defeat the whole point of the framework – which is to provide a consistent and unified environment for building business layers that support all valid interface types (Windows, Web, WPF, Workflow, web service, WCF service, console, etc).

Thursday, January 24, 2008 8:01:56 AM (Central Standard Time, UTC-06:00)  #    Disclaimer  |  Comments [1]  | 
 Tuesday, January 22, 2008

in a recent email thread someone was wondering why component vendors are being so slow in coming out with grid controls for WPF/XAML.

One obvious reason is that grid controls are hard to build, and WPF/XAML is radically different from Windows Forms or Web Forms. But still, it is fair to wonder why these highly experienced control vendors haven't overcome that challenge.

I think the reason is that technology isn't the issue. At least not in the raw "learn how to use XAML" way. I think the real issue is much bigger!

Consider the incredible risk a vendor would assume by creating a grid control now.

Microsoft hasn’t come out with a WPF grid, and so there are no standard interfaces in .NET to support data binding to a grid. Certainly the current interfaces used by WPF are not nearly powerful enough to get in-place grid editing like we have in Windows Forms – and that’s a requirement if WPF is ever going to replace Windows Forms for business development.

Windows Forms and Web Forms both have benchmark grids from Microsoft. They set the standard, and define the core interaction used by data binding. The other vendors can then build around that core to do cool stuff. In particular, Windows Forms defines a whole set of powerful interfaces to allow in-place editing so the user can navigate freely in a grid, edit cells, add rows and delete rows – and press ESC to cancel changes to whatever row they are on. All features most users would consider critical to the in-place experience. The majority of those interfaces are not used by WPF today!! Nor does WPF have replacements for them. And if they do replace those interfaces then you can’t bind to a DataTable, which shuts out most developers from WPF again – probably a bad idea.

The WPF team has already shown that they’ll supersede existing interfaces (INotifyCollectionChanged was invented even though IBindingList was already there). So it is somewhat hard to predict where Microsoft might go in this regard. It is quite possible they’ll do the “worse of all worlds” and support the DataTable (all the existing Windows Forms interfaces) and invent a whole new model as well… (again, see INotifyCollectionChanged – invented for WPF, but IBindingList is also fully supported by WPF)

So in WPF the poor component vendors are really stuck. There’s no defined standard for this kind of data binding, so they need to invent it. They’ll each invent something different from the other vendors – and NONE of them will likely match whatever Microsoft eventually does. That means they are all in deep trouble when Microsoft does set the standard. And so are all consumers of those grids (all of us!).

This is very much like pre-ODBC database access, except in this case it is a very safe bet that “ODBC” is coming (in the form of some standard grid definition) and so investing in building a proprietary solution is a known dead-end. A waste of money and very likely a way to make many, many angry customers who may hate you forever.

Nasty business just now… :(

WPF
Tuesday, January 22, 2008 12:17:53 PM (Central Standard Time, UTC-06:00)  #    Disclaimer  |  Comments [7]  | 
 Tuesday, January 15, 2008

I have refreshed the CSLA .NET 3.5 download with much more recent code. (www.lhotka.net/cslanet/download.aspx)

The C# and VB versions of the framework and ProjectTracker are now very comparable. The only difference is that the VB framework doesn't have the LINQ extensions yet (though the C# version doesn't have the coolest parts yet either).

Some highlights:

  1. All the new property/field/child management code is in both versions. The result is code reduction of ~35% per property and no more string literals for property names.
  2. All the new child object code is in both versions. The result is no more plumbing code for child objects, "automatic" lazy loading support and consistent persistence for root and child objects.
  3. Both versions have seriously enhanced type coercion that is used by the new property scheme and by DataMapper.
  4. Both versions have much improved type casting for SmartDate, allowing much more flexible use of this type.
  5. Check out the new ConnectionManager and ContextManager classes in Csla.Data for simplification of data access code with ADO.NET or LINQ.
  6. ProjectTracker.Library now uses an external data access assembly, which was created using LINQ to SQL.

There are many other changes/enhancements/fixes - check out the change log for details. Or look at all the green items in the wish list, because that's all in 3.5.

I am still planning to do a beta release around January 25, so this is probably the last preview release before the beta.

I'm still working on a number of issues, and have more testing to do in general, but this is getting reasonably close to the final 3.5 feature set.

If you have comments/questions/concerns, please voice them now! Once the beta starts I'll be doing bug fixes only.

Tuesday, January 15, 2008 2:50:53 PM (Central Standard Time, UTC-06:00)  #    Disclaimer  |  Comments [3]  | 
 Monday, January 07, 2008

You are invited to join Magenic at a complimentary webinar,
designed as a resource for IT decision makers.
Listen in and bring your questions for the Q&A.

Get More from BI with Integrated Performance Management (January 9)
For business and IT managers that rely on business systems to form insightful decisions, we’ll show you how to take your BI systems to the next level with Microsoft Office PerformancePoint Server. view details


How to Break Through Software Development's Million-Dollar, 18-Month ROI Barrier (January 15)
There's no law that says custom software development projects must take 18 months and a million dollars to deliver ROI. There is a better way!  view details


How to Use CSLA .NET to make Building Object-Oriented Business Layers a Breeze (January 24)
In this technical overiew of CSLA .NET, Microsoft legend Rockford Lhotka expands on last month's webinar about the tremendous advantages of CSLA .NET. A must for technical professionals who want to master this development technique! view details


Magenic Delivery Center About Us Careers Webinars

Monday, January 07, 2008 5:34:32 PM (Central Standard Time, UTC-06:00)  #    Disclaimer  |  Comments [2]  |