This edition of the DevDays was totally in the light of XAML, WPF (Windows Presentation Foundation), WCP (Windows Communication Foundation) and last but not least: Silverlight. The last few editions where always about new technology, this year Microsoft tried to listen to the community.  With the result that they also put in some sessions on todays technology and how to make good use of it. Think AJAX, Asynchronous ASP.Net Pages and Web Services.

In the Keynote we saw Scott Guthrie who showed us Silverlight and Microsoft Expression.
We saw an application called: 'Top Banana', which is a video editing application in the browser. It is impressive technology, I know we already have Flash, but Silverlight integrates the .NET framework and supports ASP.NET AJAX. I don't know if you ever worked with Flash and .NET (through remoting and actionscript), than I think you can appreciate this integration.

I saw a lot of WPF and WCF. I see the advantages a lot can be daone declarative through XAML.
In WPF the UI (User Interface) can be made in XAML and a lot can be nested (a button can contain a movie, or a listbox etc.). Your own objects can be accessed in XAML if you addd your own namespace in the root element of the XAML Document:
If you want to try you can use 'Visual Studio ORCAS', which in the future will be 'Visual studio 2008', but if you want to use a more 'drag and drop' approach building a UI, use 'Blend'. If you really want to know more go here: Animations are supported in XAML, this means declaritive animations! Databinding support, WPF supports databinding.

I heard about XAML Browser Applications(XBAPs), are WPF applications you can run in the browser, these apps are deployed using the 'Click once' deployment technique.
The advantages are:

  • Are not installed  
     – No Start Menu or Add/Remove Programs presence  
     – Use ClickOnce for deployment  
  • Run in the browser  
     – Familiarity of web browsing  
  • Are “online only” apps  
     – Require access to the  
     deployment location  
     – Always latest version  
  • Run in a security sandbox  
     – Have no security or installation prompt  

These Devdays, I became a great fan of Mark miller, he works with Devexpress and I think Coderush is an app he worked on.
He is a great performer with something to tell, this guy keeps your interest the whole session. The first day I attended his 'Rockin' & Rollin' with WCF and WPF' session, he built an Airhockey client-server App with WPF and WCF. He showed a lot about how this app is built and he also entertained the audience real well. The second day the last session I attended was Mark Miller's 'The Science of a Great UI' session. He really had a big audience, a lot of people wanted to see this session. Unless the blue screen of death it was a interesting and entertaining session.
I had a great time.

Henry Cordes
My thoughts exactly...

Also on March 7th I saw the Developer Days sesssion: How to built interactive webapplications with ATLAS by Scott Guthrie, the General Manager of the .NET Developer Platform from Microsoft. I must say I already played some with an early verion of the ATLAS Beta and back then I was exited. After seeing Scott I was impressed. They really are doing a fine job enabling Microsft developers to use AJAX.
He told us ATLAS is built with two approaches to developing AJAX enabled webapps in mind:

  • Server-centric Ajax Web Development
  • Client-centric Ajax Web Development

Where Server-centric means add UI enrichment for key scenarios, enrich applications without lots of Javascript code required and enable you to keep the core UI/Application logic on server (VB/C#).

Server Centric ATLAS 

Client-centric Ajax Web Development however is meant for leveraging full power of script/DHTML, provide a richer and more interactive user experience and build mash-ups, gadgets and other new immersive experiences.

Client Centric ATLAS

What Server-centric ATLAS basically provides is a container control that enables “updatable” regions in a page. Atlas provides a XmlHttp based (asynchronous) postback infrastructure.

The UpdatePanel:

   1:  <atlas:UpdatePanel id ="u1" runat ="server">
   2:    <ContentTemplate > 
   3:      This content can be dynamically updated!
   4:      <asp:label id="Lablel1" runat="server"/>
   5:      <asp:buttonid=“"button1" text="Push Me!" runat="server"/>
   6:    <ContentTemplate>
   7:  </atlas:UpdatePanel>

Atlas intercepts post-back submit actions on client. Than it uses XMLHttp to fire a postback action to the server. The Postback events fire like normal on server
Only the content of the updatepanel regions are returned and the changed updatepanel regions are replaced on the client. All post-back actions for controls declared within an updatepanel control will cause Ajax-based post-backs with an incremental page refresh. But Post-back actions for controls outside of an updatepanel control will by default cause normal postbacks, so it is possible to use both on one page.

   1:  the below button will cause a normal full-page postback and update 
   2:  <asp:button id ="NormalPostBack" onclick ="btn1_click" runat ="server" / >
   3:  <atlas:UpdatePanelid="u1" runat="server">
   4:      <ContentTemplate>
   5:          Updatable content...
   6:           the below button will cause an Ajax postback and refresh
   7:          <asp:buttonid="AjaxPostback" onclick="btn2_click" runat="server"/>
   8:      </ContentTemplate>
   9:  </atlas:UpdatePanel>

Than the ATLAS framework makes use of what is called 'Triggers', these can be used to associate UpdatePanels on the page with postback controls declared outside of the UpdatePanel
   1:  <asp:ControlEventTrigger> Refreshes the UpdatePanel when a control event fires.
   2:  <asp:ControlValueTrigger> Update the UpdatePanel when a control value changes. 

For now I think this is enough for one article, so the only thing I want you to know is the ATLAS release timeframe I heard in this session:
  First public preview released September 2005  Early release to solicit feedback and comments
  March CTP will be released on the MIX Conference in Las Vegas
  Atlas CTP Go-Live License Coming Soon This will allow production applications to be deployed


Henry Cordes
My thoughts exactly...

On March 7th I attended some sessions at the Dutch Developer Days 2006. A session I attended was: Dynamics of Microsoft Solution Framework and Visual Studio Team System by Anko Duizer from A-Class.
He told about how he always worked with and liked MSF. He had the opportunity to see how Microsoft uses MSF in real life and told us how much he would like to share this knowledge. The reason why he wanted to talk about MSF and Team System was:

  • Software development is more than just good programming
  • Microsoft Solutions Framework is the result of many years of experience
  • Visual Studio Team System is a great enabler for the use of MSF 

There are a few methodologies that MSF supports: MSF for Agile Software development, MSF for CMMI process improvement.
Team System ofcourse is all about team development. Anko said he learnt a lot from reading a book written by Jim McCarthy called Dynamics of Software Development.
He claimed it opened his eyes and he thinks it still is a book that everybody in software development should read.
A few rules from this book where highlighted, because they are real important. In the book there should be much more. The rules I saw made sense and I think I will pick up this book one of these days. I must say Anko had a software problem, so I think a lot of the demonstation he had planned could not be shown, which in my opinoion was a shame. So I will  write down some rules from which I think they make sense (although some are really obvious):

  • Establish a shared vision (Make everybody aware of what they are doing and why)
  • Create a multi-release technology plan (Make  plans for the future, if you can not get features in this release, you can get them in future ones)
  • Don’t flip the bozo bit (Every department has got one, an employee from who nobody really knows what he is doing, we do'nt want 'bozo's' on our team, or become one)
  • Use feature teams (Use teams for small parts of an application)
  • Use program managers (but it is important to make the distinction that he is servant not master! He supports the team, not tells what to do)
  • Design time at design time
  • Remember the triangle: Features, Resources, Time (You can not get features, if you have not got the time and/or resources)
  • Don’t know what you don’t know (If you can not know something, aknowledge this)
  • Don't go dark (Don't let people get away with doing things without anybody specifically knowing what they do)
  • If you build it, it will ship (Make sure code will built!)
  • Get to a known state and stay there (It is better to release something, than trying to built new features that are late)
  • Don’t trade a bad date for an equally bad date (If you do not make a deadline, don't say we release a week later, but will include the new feature you need!)
  • Triage ruthlessly (Like the war movies, only in software development)

Henry Cordes
My thoughts exactly...

Developer Days 2006

Published 3/7/2006 by Henry in DevDays

Today I attended the Dutch DevDays 2006.
There were a few interesting sessions, it started with the traditional Keynote.

Rafal Lukawiecki Project Botticelli gave his opinions on why he thinks 2006 is going to be a more exciting year for IT then the past couple of years. In his view Team System is going to change the way we work together in the IT world. He is both enthousiastic and impressed that now MSF (the Framework used by Microsoft internally and according to Rafal the reason why they as a company are succesfull at creating Software) is going to be used by everybody who is going to work with Team System. He says Microsoft put as much of MSF in a box as they could put in and called it Team System. Also he talked about ADAM (Active Directory Application Mode) and AzMan (Authorization Manager). He is very much into Security and claims that this can be a very profitable specialty. In my opinion he is a very enthousiastic and likeable speaker, the only one I know who keeps his presentation interesting the whole time he speaks. On top of that his story is interesting also.

Furtermore we (again) got a Windows Vista demo, it was only 10 minutes long, so it only touched the surface. We saw IE 7 with the tabs like Firefox (extended with thumbnail view and saving one or more tabs in one favorite), along the credo "Extend and Embrace". We saw 'Gadgets', which are mini-applications with a wide variety of possible uses. They can connect to web services to deliver all kinds of information. Gadgets can also integrate with your applications to streamline your interaction with them. They are shown on what is called the 'Sidebar'. The Windows Sidebar gives quick access to gadgets. The richness of the User Interface and the way the modern graphic cards are used to their full potential is really cool.

The closing speaker for the keynote was Scott Guthrie the General Manager for the Client and Web Platform and Tools Team from Microsoft told us he was going to build a datadriven Ajax enabled Web app with Edit, Insert, Update and Delete functionality from scratch within a 20 minutes time frame, which he did. ASP.NET 2.0 makes it possible to code at this speed. The combination with ATLAS, the Ajax enabling Framework for ASP.Net 2.0, is really very impressive. Later in the day I attended a more in depth session of Scott.

Implementing Domain Specific Languages
The second session I attended was given by Edwin Jongsma from Avanade, his session was called 'Implementing Domain Specific Languages', he told about Software Factories overall and why the name is not as well chosen as could be with regards to how most developers and architects recieve it at first. The word Factory is associated with doing repetative tasks over and over and is not very appealing to most people. DSL's  however could be the way for the future. Most clients want more for less. Edwin stated that this could be achieved by adapting DSL's and Software Factories. He showesd us some examples of writing DSL's and generating code from it, which resulted in a wizard like Windows Forms app. I will try to tell more about it in the future, because in fact this whole concept is quite interesting. My colleguea Edward Bakker is deeply into this stuff, so if you want to learn more visit his blog.
At lunch time I attended a Infragistic's session where Jason Beres showed NetAdvandadge controls (Windows Forms and ASP.Net), this are really cool controls, every developer should have them!
After lunch I attended:

  •  MSF with Visual Studio Team System
  •  Building interactive webapplications with ATLAS
  •  Effectivly using Generics with C#

On these sessions I will write some more another time.
Henry Cordes
My thoughts exactly...

DevDays 2006

Published 12/8/2005 by Henry in DevDays

March 7th and 8th 2006 in Amsterdam

 Developer days 2006

Inofficial program for the dutch Developer Days 2006:

Vista Development 
WinFX development 
Windows Presentation Foundation (Avalon) 
Windows Communication Foundation (Indigo) 
Windows Workflow Foundation 
Languages and Tools 
C# 3.0 
VB.NET 9.0 
LINQ project 
Mobile developent 
Web Development 
Atlas project 
ASP.NET 2.0 providers 
DotNetNuke Portal 
ASP.NET 2.0 Black Belt 
SQL Server 2005 
CLR developent in SQL Server 2005 
Pragmatisch SQL Server 2005 Business Intelligence 
SQL Server 2005 Service Broker 
Security in SQL2005 
Visual Studio Team System, architecture and project management 
Microsoft Solution Framework (MSF) andVSTS 
Implementation of a DSL 
CRM 3.0 
Extending and Customizing VSTS 
The Office 12 experience 
Experience designer tools 
Hand on Labs
Windows Presentation Foundation
Windows Communication Foundation
Windows Workflow Foundation
Experience tools (Acrylic, Sparcle en Quartz)
SQL Server 2005 service broker
SQL Server 2005 CLR
Post Conferenties Building Secure Applications

Windows Workflow foundation

Henry Cordes
My thoughts exactly...