Atlas Presentation and Samples

4/2/2006 Update: I posted more great Atlas information + demos/samples (including pointers to a cool video I did) here

 

4/2/2006 Update: You can also find a roadmap for new ASP.NET/Atlas releases we are doing in April here.

 

I had the chance to present a new talk I created about Atlas (our new ASP.NET Ajax framework) to a few thousand people at the Dutch Microsoft DevDays conference last week.  Based on the feedback I’ve received it was a big hit, with a lot of people telling me that they left with a really good understanding of what we are doing, and how surprisingly easy it was to use (several people left my talk on the first day, downloaded and installed it, and successfully built their first data-driven Ajax application that night).

 

Click here if you want to download and walkthrough the slides + demos for my talk.

 

About "Server-Centric" and "Client Centric" Ajax Applications

 

I split the presentation into two parts. The first part focused on how to build what I call “server centric” Ajax applications – meaning the application and navigation code for the Ajax application still primarily resides on the server (in the case of ASP.NET using VB or C#), and Ajax is used to communicate between the client and server and transfer incremental updates of HTML UI.  The new ASP.NET <atlas:updatepanel> control and other associated Atlas server-side controls make building applications really easy with this approach, and doesn’t require developers to master client-side JavaScript (in fact – you can actually get away without using it at all if you want).  It is really easy for any ASP.NET developer to add nice Ajax support to their existing web applications using this approach (for example: you can typically Ajax enable an existing data-driven page using the ASP.NET DataList + GridView controls in less than 5 minutes).

 

The second part of my talk then focused on what I call “client centric” Ajax applications – meaning that much of the application and navigation logic runs using JavaScript on the client (which then calls back to the server to retrieve and update data).  This enables even more immersive applications to be built using Atlas (for example: Mashups, Live.com Gadgets, Windows side-bar components, etc).  Atlas provides a rich JavaScript library framework to make building these types of experiences much cleaner and easier.  It include a rich networking stack to allow exchanging .NET data-types between browsers and servers, a rich JavaScript library that provides a base class library of useful non-UI components and patterns (for example: the ability to do inheritance in JavaScript, timer classes, string-builder classes, the network classes, etc), and a JavaScript control library framework that enables developers to componentize and encapsulate JavaScript-built behavioral controls to HTML UI (for example: Atlas ships with a client-side ListView control that you can attach to standard HTML <div> elements to provide client-side databinding support against data that you dynamically retrieve from a server).

 

The Atlas client-side JavaScript library is very powerful and feature-rich.  One really nice thing about it for people who don’t want to write a lot of JavaScript is that it can also be used to build ASP.NET controls to enable much richer server controls that encapsulate this behavior for you, and integrate nicely within existing ASP.NET pages.  We are going to be putting out a Atlas control toolkit + library containing a number of sample controls that show how to-do this in the next few weeks, and hope to spur control developers to start producing a lot of great Atlas-enabled server controls that anyone can use.  Our plan is to make it trivial for anyone to build great ASP.NET web applications that take rich and full advantage of Ajax.

 

Using the Samples in the Talk

 

The samples from my talk are best used with Visual Web Developer Express (which is free) or Visual Studio 2005.  Just download this .zip file and open the web-site at the sub-directory root and you are good to go (note: you don’t need to install Atlas – since the project already includes a copy of it). 

 

I didn’t require the use of a database with these samples – instead I focused on building very small specific samples that clearly illustrated individual technical points.  For a more complete, data-driven, application scenario with Atlas you can check out my Task-List Sample Application & Blog Post that I built using the December CTP drop.

 

O’Reilly’s Atlas Book

 

O’Reilly Press also recently published the first Atlas book online. 

 

 

It is part of their “rough cuts” series – which is a concept I find really appealing.  Basically with the rough-cuts series you can pay $17.99 to buy and download a .PDF subscription version of the Atlas book, which will then be updated as the technology changes and the book evolves (they’ll send you an email when updates occur and then you can download the new update).  For $38.99 you can buy both the online subscription version as well as get sent the final printed book once it ships in the future when the book is done and the technology stops moving.  This provides a nice way to stay up-to-date with bleeding edge technology, but also not have to worry about your bookshelf becoming obsolete a few months from now.

 

I bought and read the Atlas Rough-Cuts book on the plane ride back to Seattle.  I found it a good book that helped a lot in learning the basics of the Atlas client-side control framework and base class library (the documentation for both of which is still very scarce).  The current version of the book doesn’t cover the server-centric model yet or the <atlas:updatepanel> control (although this is the easiest part of Atlas to learn – and my samples + slides above should cover most of the basics).  But if you are looking to start understanding the client-centric approach I’d recommend buying a copy and checking it out – it is a fast read that helps provide easy exposure to the technology.  You can learn more about it and order/download it here.

 

Hope this helps,

 

Scott

 

P.S. We’ll be releasing a lot more information + samples + document about Atlas at the MIX conference in a week’s time.  Stay tuned for then.

 

P.P.S. Peter posts some nice pictures and notes from the DevDays event - including one of me looking like I am pleading <g>.  You can check them out here.

 

Published Sunday, March 12, 2006 10:34 AM by ScottGu
Filed under: ,

Comments

# re: Atlas Presentation and Samples

Sunday, March 12, 2006 2:00 PM by Ramon Durães
Hi,
Is cool
tks,

Ramon Durães

# re: Atlas Presentation and Samples

Sunday, March 12, 2006 2:13 PM by Erwyn van der Meer
Hi Scott. I really enjoyed your Atlas talk in Amsterdam. Keep up the good work at Microsoft. Thanks.

# re: Atlas Presentation and Samples

Sunday, March 12, 2006 6:29 PM by ElQuintero.net
Thank you very much fantastic examples

# re: Atlas Presentation and Samples

Sunday, March 12, 2006 11:16 PM by Steve
Excellent Scott!

The more information I can get my hands on to understand how to use the client-side Atlas features, the better off.

I'm using the server-side stuff, and it is fantastic - I'd like to expand on it (ie a better listbox control that is client-side Atlas driven)

Special request: It would really help those new to client side to get as much information as possible. I've developed server-side apps for a long time now - but the client side is a mystery (beyond simple javascript).

# re: Atlas Presentation and Samples

Monday, March 13, 2006 2:57 AM by Christian Wenz
Hi Scott,

thanks for mentioning the book :-) You are right regarding the missing book elements; actually, the chapters on this are already done, but did not show up on the O'Reilly website yet. Only the first half of the book is already available online, but I've been told that the rest will follow really soon. Interested readers may want to watch my weblog where I announce when new content is up.

--Christian

# re: Atlas Presentation and Samples

Monday, March 13, 2006 4:04 AM by Ayman Farouk
INTERESTING .. Mr.Guthrie, how can I have your talks as a video or audio in order to hear your explaination !?

Thanks,
A.

# re: Atlas Presentation and Samples

Monday, March 13, 2006 6:25 AM by Jan Schreuder
I was in Amsterdam for your talk and was amazed at how easy Atlas enables ASP.Net applications to use Ajax technology. Thanks for the really good talk. I'm looking forward to the 'final' product!

# re: Atlas Presentation and Samples

Monday, March 13, 2006 11:46 AM by foobar
The best part of that presentation is that the March CTP is coming out in a couple of weeks :)

# re: Atlas Presentation and Samples

Monday, March 13, 2006 12:07 PM by scottgu
Hi Steve,

Can you try downloading the .zip again (I just tried it now and it seems to be working fine).

If that doesn't work, just send me email (scottgu@microsoft.com) and I can email it to you.

Hope this helps,

Scott

# re: Atlas Presentation and Samples

Tuesday, March 14, 2006 10:28 AM by Mark Petersen
I'm sure you get this question often, but do you have a better idea now of when a final release might be ready? My apologies if you've already answered this recently.

# re: Atlas Presentation and Samples

Tuesday, March 14, 2006 12:26 PM by James Curran
A quick question about the JAvascript. On slide 47, we have the line:
auto1.set_completionList($("completionList"));

The $() function appears to be from the prototype library.

Is you recommending this library, or has the Altas team cribbed a bit of it for Atlas internal javascript library?

# re: Atlas Presentation and Samples

Tuesday, March 14, 2006 1:09 PM by MilKob
Hi Scott

thx for this, it is nice to use Atlas, looking forward for next version

Milo

PS. I downloaded .zip without any problem

# re: Atlas Presentation and Samples

Tuesday, March 14, 2006 1:27 PM by Ryan
Scott, great PPT file. I'm forwarding that to the rest of my dev team!

# re: Atlas Presentation and Samples

Tuesday, March 14, 2006 1:34 PM by scottgu
Hi James,

The $() function is something we added to Atlas as well. It basically is useful short-hand for document.GetElementById("name").

Hope this helps,

Scott

# re: Atlas Presentation and Samples

Tuesday, March 14, 2006 1:35 PM by scottgu
Hi Mark,

We are going to be announcing our go-live plan next week at the MIX conference.

Hope this helps,

Scott

# re: Atlas Presentation and Samples

Tuesday, March 14, 2006 1:38 PM by scottgu
Hi NZ Web Host,

Atlas actually provides the same ability to easily wrap existing HTML + server controls with an <atlas:updatepanel> and Ajax enable a site. I'd recommend downloading the slides+samples and playing with them -- since it is a really powerful and easy to use model.

Hope this helps,

Scott

# re: Atlas Presentation and Samples

Tuesday, March 14, 2006 1:40 PM by scottgu
Hi Steve,

There are a couple of ways you could do what you are after -- one would be to just add a regular client-side script handler on mouse-over to trigger the auto-complete.

Alternatively, you could encapsulate it within a javascript class/control using Atlas. The first approach is the quick and dirty solution (which Atlas fully enables). The second approach provides better re-use and encapsulation (so that it can be used across multiple apps and solutions).

Hope this helps,

Scott

# re: Atlas Presentation and Samples

Tuesday, March 14, 2006 3:08 PM by K Benton
Looking forward to getting my hands dirty with some of this new kit...

alas, I'm getting a "Host not found" for scottgu.com when i try to grab the zip file.

I'll check back, but wanted to give the heads up.

cheers,
-k

# re: Atlas Presentation and Samples

Wednesday, March 15, 2006 5:01 AM by Johnny B
Will Atlas be free?

# re: Atlas Presentation and Samples

Wednesday, March 15, 2006 9:54 AM by scottgu
Hi Johnny,

Yes -- Atlas will be completely free.

Thanks,

Scott

# re: Atlas Presentation and Samples

Wednesday, March 15, 2006 9:55 AM by scottgu
Hi K,

A few other people have reported that as well. Just send me email (scottgu@microsoft.com) and I'll be happy to send you the files directly.

Thanks,

Scott

# re: Atlas Presentation and Samples

Thursday, March 16, 2006 8:58 PM by Brian
Hi Scott,

As always thanks for the knowledge sharing...awesome stuff!

Brian Johnston

# re: Atlas Presentation and Samples

Friday, March 17, 2006 5:50 AM by Mark
ScottGu, could you possibly get some demos and tutorial videos online, please. BTW, your intro to ASP.NET and VS2005 was superb!

# re: Atlas Presentation and Samples

Wednesday, March 22, 2006 6:59 AM by Floyd Gladden
Scott,

Atlas is fantastic! Are there any plans to enable us to use items such as the UpdatePanel from within UserControls. My framework makes extension use of dynamiccally loading user controls at runtime, much like the DotNetNuke framework, and the UpdatePanel does not seem to work in this instance.

Thanks,

Floyd

# re: Atlas Presentation and Samples

Wednesday, March 22, 2006 11:25 AM by scottgu
Hi Floyd,

Supporting dynamically layed out controls with updatepanel is definitely something we are looking at now. We will have a solution in a future refresh to enable it.

Thx!

# re: Atlas Presentation and Samples

Thursday, March 23, 2006 2:15 PM by Bobby
Unfortunately, the link to download the slides/demo is not working for me.

Anyway, I've been following your articles for a long time and I'm waiting to experience the 'Atlas' when it is released.

Thanks.

# re: Atlas Presentation and Samples

Thursday, March 23, 2006 4:01 PM by scottgu
Bobby -- I just tried the link now and it is working for me. If it still isn't working, feel free to send me email and I can send it to you directly.

Thanks,

Scott

# re: Atlas Presentation and Samples

Sunday, March 26, 2006 12:51 PM by Bobby
Hi, I tried the link later and it worked. Thanks.

# re: Atlas Presentation and Samples

Friday, March 31, 2006 11:24 AM by Mauricio Junior
Hi Scott Guthrie,
I like seek the stylesheet the atlas project. The project of site atlas.asp.net.
You can send to me?

My e-mail: mauricio@ascompras.com
wait for...
thank's

# re: Atlas Presentation and Samples

Monday, April 10, 2006 4:43 PM by zysxm@yahoo.com
Really an excellent presentation...
I am an atlas fan since it is in conception. It looks that developing Atlas is easier and easier. Can we expect the final version to be <@page EnableAtlas="true".../> and nothing else?
Thanks,
Shawn Shi

# re: Atlas Presentation and Samples

Tuesday, April 11, 2006 3:28 AM by scottgu
Hi Shawn,

I'm not sure we will get quite to that. ;-) However, we will have a number of new Atlas Controls coming out later this week that are going to make a lot more Ajax scenarios super easy.

Hope this helps,

Scott

# re: Atlas Presentation and Samples

Wednesday, May 24, 2006 1:48 PM by Ev
Can the Atlas compnents be applied email?

# Atlas update panne1

Friday, October 27, 2006 8:14 AM by rajesh
The following code works fine.But when i use update panner it does,t work.please help ClientScript.RegisterStartupScript(this.GetType(), "focus", scriptname)