Welcome

You have reached the blog of Keith Elder. Thank you for visiting! Feel free to click the twitter icon to the right and follow me on twitter.

What Acropolis Is and Isn’t

Posted by Keith Elder | Posted in .Net, Programming, Smart Clients | Posted on 08-06-2007

Ayende wrote a post about Acropolis as another executable XML language.  Then a few other people chimed in on comments about Acropolis being another example of Microsoft providing tools to turn bad developers into mediocre developers.  I think the point of Acropolis has been totally lost in this conversation so please allow me to weigh in.

To start with WPF is already expressed in XML.  This has been known for awhile and we’ve all seen amazing results of expressing the UI declaratively.  Look at all the eye candy WPF and Silverlight has dazzled us with over the past several months as an example.  Acropolis is simply leveraging the new WPF stack so to call it an executable XML language is a little far fetched.  Of course it is true that XAML generated to display WPF applications is in XML format but it isn’t a language it is merely parsed.  Calling Acropolis an executable XML language is like calling a component or control that ships out the box with the framework a language because that is what Acropolis is, additional controls that are going to be shipping to enhance WPF which in return will help us composite our client applications better.  

Acropolis isn’t a language but merely an extension of controls and patterns to WPF similar to the Smart Client Software Factory and CAB built leveraging the richness of Windows Presentation Foundation.   That is the Forrest Gump definition of how I would explain it.

We’ve already seen and tried to solve a lot of the problems developers face in building rich client applications with SCSF and CAB.  Acropolis is no different in what it is trying to solve just in how it is put together.  Meaning Acropolis is built on the WPF stack rather than built on object oriented design patterns.  Under the hood there are design patterns going on I am sure but they are abstracted to controls. 

To give you an analogy here is how I would think about it.  To me it is no different than Asp.Net 2.0 shipping the Login controls.  This is an example of a common problem web developers face and an abstract way of dealing with that problem.  Acropolis to me is no different in the fact that there are inherent things as client developers we have to do each and every time we start a client application.  Acropolis will hopefully help us solve these problems, but it isn’t a new XML language.  It also has nothing to do making bad developers mediocre developers as one commenter pointed out.  Just as the login control bundled with Asp.Net 2.0 didn’t make bad developers mediocre developers.

The point of Acropolis is to take things that are “common” that client developers have to do and abstract the repetitiveness of building composite applications into something that can be reused in the framework.   As Brad Abrams pointed out in his comment there is still separation of code and business logic. 

I saw at lengthy talk on Acropolis at TechEd done by Kathy Kam and mostly what I saw was a set of new controls that will assist client developers in building out the plumbing of smart client applications faster.  It is still new but the direction it is going will in my opinion solve what it is trying to solve if done correctly. 

Technorati tags: , , , ,

Start of TechEd Day 5 I Can’t Walk

Posted by Keith Elder | Posted in Uncategorized | Posted on 08-06-2007

It is the start of our last day of TechEd 2007 and I’ve had a rough morning getting to the convention center.  I seriously can barely walk.  With 4 days of continuously standing in lines at Disney World before TechEd and then walking miles a day at TechEd I’m immobile.  Before you start thinking I’m some kind of wuss just know that I’ve had feet problems for years.  I think I am at the point that I am going to have to seriously have a podiatrist look into it.  The bones on the back of my heels hurt with every step.  Literally I’m hobbling around trying to get to sessions.  I’m sitting in the “Creating and Delivering Rich Media and Video on with Web with Silverlight, Expression Studio, and Windows Server 2008” and I chose it not only for the topic but because it was the nearest session from the bus drop off.

To limit my walking today all the sessions I attend with be on the South side or in the expo in the blue rooms.  Note to self, by a Segway

TechEd Day 4

Posted by Keith Elder | Posted in Uncategorized | Posted on 08-06-2007

When I got to the convention center this morning I had to sit down and do some work.  Email was backing up on me left and right.  One of my team members and I found a table and got some work done.  Then it was lunch time which gets my vote for worst lunch this week.

After lunch I met up with David Silverlight in the developer area where I picked up my 6th place winnings from http://community-credit.com for the month of May and my award winning plaque.  I spent the next several hours hanging out in the developer area talking to the product teams about different technologies.

A few highlights were I stopped by the Workflow Foundation and WCF booth and was talking to a Microsoft employee about WF and it turns out it was Tom Lake!  For those that don’t know, Tom is on the SDK test team for Workflow Foundation and used to be on the Biztalk team.  Tom answers a lot of forum posts on Workflow Foundation and has written a lot of samples.  It was great to meet him finally since he’s even answered some of my questions as I explored WF.  Great guy and very easy to talk to.  If you have been wondering about WF, stop by and chat with Tom, he can walk you up and down the stack.  Tom it was a pleasure to put a name with a face.

I bumped into Alexei and we chatted about agile development and Team Foundation Server.  I met Alexei in person earlier in the week and it was good to put another face with a name since Alexei spoke at our Internal .Net User Group during the month of April.  I then walked over to the Data Dude booth to get some ideas on how to version database diffs, or at least how I was going to try to handle it with not everyone on our team having a licensed copy of Data Dude.  I chatted with several members of the C# team that I met in March at the MVP Summit and got done just in time to attend the Acropolis session.

I blogged about Acropolis earlier this week but this was a deep dive session showing the current state of affairs.  After the session was over I don’t think I learned anything I can use yet.  Things are still very rough but the vision of what it is going to be I think is something to keep an eye on.  I am going to have to get the bits and start playing with it.  During the session the presenter had to restart Visual Studio at least 5 times so if you do download the bits, expect things to be really rough.

After the Acropolis session I checked email and saw that I had received my CodeRush and Refactor! license I won from .Net Rocks.  I downloaded the bits real quick and then jumped on the bus so I could install it on the way back to the hotel.  As soon as I got back to the hotel I dropped my laptop off at the hotel and picked up Ellen.  We jumped back on the bus and were off to the TechEd party which was at the Islands of Adventure theme park at Universal.

TechEd Day 3

Posted by Keith Elder | Posted in General | Posted on 07-06-2007

Day 3 is going to be a short post since all I did was go to the certification Study Hall.  I got hooked on being able to go through test questions so I spent all day studying for different exams.  I know, it isn’t that interesting.  However, on Wednesday night we did have the influencers party at Margaritaville in Universal City Walk.  Extremely cool event with a live band, free food and drinks and the who’s who’s of TechEd was there.  I met some new people which is always good but we had to take a cab back to the hotel from the event.  Jason Follas and I split a cab back to our hotel so it wasn’t that bad.  All in all a good day and very productive.

TechEd Day 2

Posted by Keith Elder | Posted in .Net, Asp.Net, Smart Clients, Web Services | Posted on 07-06-2007

It is day two of TechEd and my feet and legs are killing me.  My feet didn’t get a chance to rest after the four day whirlwind tour of Disney World.  I told my wife that I was going to have to go to TechEd just so I could rest 🙂  Here is day two’s activities.

Biztalk WCF Adapter

The first session I attended this morning was an overview of the WCF Adapter for Biztalk which is in the R2 release.  Don’t get your hopes up just yet because it isn’t available.  I was told it  wouldn’t be out until 3rd quarter.  The good thing is the WCF adapters bring a lot of cool things to the table.  I can’t remember all the reasons they gave but the one that a lot of people will use is the ability to do TCP binary messages to Biztalk I am sure.  Actually there are seven WCF adapters, one for each binding type.  The demo they showed was a message from a smart client being sent to Biztalk, and then Biztalk hitting SQL Server and then another service.  The orchestration had to route the message and handle the transaction so if the write to SQL Server failed or the the other service failed then it rolled back the data in SQL Server.  Definitely a real world example and it shows the ability of WCF to handle transactions.   

Wondering Around the Expo

After the Biztalk session I was walking from the north building back to the south building and ran into Bruce Thomas at the MVP booth.  I also saw Joe Healy, Jeff Palermo, DonXML, Miguel Castro, and Joe Fuentes.  I then walked down and caught some of the “Speaker Idol” that Carl Franklin and Richard Campbell were hosting.  This was pretty cool and I wish I had heard about it sooner so I could have entered.  The way it works is a speaker gets up on stage and does a 5 minute presentation.  Then they get judged by a bunch of Regional Directors.  It is a really great way to get feedback about your presentation skills no doubt.  The big challenge is doing just a 5 minute talk!

Smart Client Applications in Visual Studio 2008

After lunch I went to a presentation on the new smart client features in Visual Studio.  Some of these are nothing new in terms of new information (linq and wpf) but they are technically “new” in 2008 and some are new exciting features.

Working With Data

LINQ is of course the new way to work with data in VS2008.  The demos they showed were just connecting to a database locally which isn’t a true Smart Client architecture in my opinion since it isn’t services based.  Nevertheless, LINQ is new in VS2008 and we’ll all love him, hug him and call him George.

Taking Data Offline

This is something that I hadn’t seen yet and it really peaked my interest since we have a lot of uses for it.  SQL Server Compact Edition 3.5 which is in beta right now will be available to us.  You can read about the new features here.  The nice thing about 3.5 is it can be deployed with your application through ClickOnce and it doesn’t run as a service.  It also supports about 2-4 GBs of data which should be PLENTY for any application that needs to run offline.  The other piece is the Sync Agent which is tasked with the joy of keeping data in sync.  As soon as they said this I immediately thought “Smart Clients shouldn’t connect to the database directly” and as soon as I thought that the presenter said it supports sync via services.  Hotness! 

User Profiles

Something else that is new is Client Application Services.   Today web applications can store user profile information which is used for themes, preferences and so on but it is tough for Smart Clients that are service enabled.  Client Application Services allows us to reuse the existing profile and role based mechanisms Asp.Net offers today to allow us to centrally store profile information.  This may not sound like a big deal but today we have to create a lot of plumbing in Smart Clients to store application preferences and profile information away from the client’s desktop machine.  Storing preferences on the desktop machine doesn’t allow users to move from machine to machine and have the application setup the same way. Client Application Services fixes this by leveraging existing functionality so this will be good.  There will be a new services tab when you right click on properties on your project.  In the services tab you point to a web server which will hold the profile settings and any settings you create in your app are stored and retrieved from there. 

User Experience

Another new feature in VS2008 is going to be WPF.  They call this the “user experience” but a lot of us already know about WPF.  This will change how we build Smart Clients no doubt but we’ve been hearing about WPF since 2005 so nothing to see here.  Moving on.

Deployment

In VS2005 we got a new deployment technology called ClickOnce.  In VS2008 ClickOnce doesn’t go away, it just gets enhanced.  There are six new enhancements to it but the one I like the best is the ability to change the deployment URL and not have to rebuild the entire manifests.  I didn’t write them all down but there was something mentioned about ISV branding in ClickOnce in VS2008. 

Reusability – Acropolis

This was the new bomb shell that was dropped called “Acropolis”.  Acropolis is a framework that simplifies building composite clients and will replace the Smart Client Software Factory moving forward.  Bryan Adams just blogged about this on June 4th so read his initial post if this is your first time to hear about it (just remember you heard it hear first 🙂 ).  After you read that, read this one with more questions and this one with additional information including video and live docs.

Certification Study Hall

After the what’s new in Visual Studio 2008 I went to the certification center where I started practicing some certification exams.  At TechEd you can take certification exams for $50 here onsite as well as go through tons of test questions.   I studied until I just about fell asleep and then rolled to the hotel.  Day two is now in the books.