MIX07 Slides and Demo Code

Slides and demo code from my two MIX07 talks: AJAX Patterns, and AJAX Controls with Silverlight...

Last week I gave a couple of talks at MIX07... one on various AJAX Patterns with ASP.NET, and another on Developing ASP.NET AJAX Controls with Silverlight. I back to Redmond yesterday, and just getting around to uploading the slides and code. I am planning on pulling out a couple of topics into individual posts for deeper discussion.

Here is a quick outline of what is in the samples:

  • Script attachment (aka unobtrusive javascript): I used an accordion control to demonstrate the ASP.NET AJAX model for splitting content and logic through the use of behaviors. I discussed this a while back when writing about enabling structural markup.
  • Update gestures and feedback: I demonstrated an UpdateIndicator control that allows the application to provide feedback using highlight and scroll animations about what changed on a page. This not only fixes problems introduced by Ajax, but it allows for a much better user experience than tradition post-back pages.
  • Logical navigation: I used the new history functionality added to the latest futures CTP of ASP.NET AJAX. This is based on the functionality I've discussed before in my post on Back Button Support. The key thing here is again how you can not only fix Ajax pages to behave more intuitively, but go beyond that and improve the whole navigation model as compared to traditional post-back-based pages.
  • Smart data access: I don't have a good name for this pattern, but it will be a topic I'll discuss in more depth. Its about making Ajax pages work in script-disabled environments, and work well for search engine indexability.
  • Mashups using server-side proxies and JSONP: I demonstrated how you can use JSONP with the ASP.NET AJAX networking stack, and contrasted that with server-side proxies for implementing mashups.
  • Use of Silverlight to go beyond the browser: I demonstrated a Silverlight-based slide show control and a charting control to demonstrate how AJAX controls can use the power of vector graphics, animations and media while continuing to provide a familiar ASP.NET server control-based programming model.


[ Tags: | ]
Posted on Wednesday, 5/9/2007 @ 3:18 PM | #Presentations


Comments

10 comments have been posted.

Boris

Posted on 5/10/2007 @ 4:13 AM
Thank you Nikhil!
I specially looking forward for deeper discussion (my favorite is topic about Silvelight).

Perry

Posted on 5/10/2007 @ 4:43 AM
Great! Thanks for making your demos available.

BTW your talks at MIX were excellent.

Perry

Robert Woods

Posted on 5/10/2007 @ 11:05 AM
Thanks for the code! Your presentation was excellent, I found it online.

Dave B

Posted on 5/10/2007 @ 12:20 PM
You had some of the most useful and informative breakout sessions at Mix this year! Thanks for sharing the content and your code with us.

mahdi sayed

Posted on 5/30/2007 @ 7:39 AM
important innovation about data base on asp.net
plaesed you to accomplish this language .
best regards

Alex

Posted on 6/1/2007 @ 9:09 PM
thanks for sharing the info and code. One of the best mix's presentation. Thanks again.

Eric

Posted on 6/9/2007 @ 10:19 PM
Thanks for this!!! I am really looking forward to implementing or playing with the patterns that you presented.

raja

Posted on 6/15/2007 @ 12:39 AM
hi all this article looks so nice

Rajesh Lal

Posted on 6/20/2007 @ 2:05 PM
Hey Nikhil,

Considering the potential of SilveLight, 300-1000 times faster (performance as mentioned by scott) don't you think it will make AJAX dated.

MartinHN

Posted on 7/17/2007 @ 2:51 AM
Hey Nikhil

Great presentation at MIX. I've downloaded the demos to my laptop (Vista, VS2005 & Orcas). I've setup a website on localhost:8080 and created an Application there called Charting which points to the Charting/Site location of the samples.

Whenever I open it up in a browser, I get a System.Reflection.TargetInvocationException... As far as I can see, it happens when the control populates data to the XAML.

Have you got an idea for a solution to this problem?
The discussion on this post has been closed. Please use my contact form to provide comments.