Just noticed that there’s a download available from MSDN TV titled ASP.NET “Atlas” First Look.
It includes the Web, Web.Net, Web.Data, Web.Services, Web.UI, Web.UI.Data namespaces.
This is all very handy as there is still very little documentation aside from the Hands on Labs, and the QuickStart documentation.
I’d also recommend reading Wilco’s blog posts on Atlas.
On Wednesday night I did a demo of Atlas. I was going to do a little demo on the Virtual Earth Atlas Server Control. In hindsight, doing a demo that depended on “external resources” was probably not the best idea. But it was working fine just moments before the presentation, and I hadn’t noticed the delays. And I also never noticed any delays during my practice runs days before the presentation.
I need to learn to be more patient during my presentations because I just ran the exact same demo on my PC at home.
And it took some time to load (over wifi).
It showed the same blank map canvas as it did during the demo, but for a brief moment or two. Perhaps the maps would have shown up if I had waited longer that night, rather than declaring straight away that the net connection was playing up? Possibly. Well, it’s all done and dusted now. Admittedly, I should have prepared for a worse case scenario rather than on the fly decide to go look for something I did several days ago (the hands on labs). But some of these things you learn through the experience of doing a presentation.
I had prepared several longitude and latitude locations to show a demo of the power of Atlas. How easy it was to use.
Below is the actual demo for those interested…
Here’s the code for the Virtual Earth part:
<atlas:VirtualEarthMap ID="VirtualEarthMap1" runat="server" Latitude="-37.83"
Longitude="144.98" MapStyle="Aerial" ZoomLevel="10" PushpinActivation="Hover">
The Lat/Long figures above are for South Yarra (37.83South/144.98East), which is where the presentation was held.
I had a few other Lat/Long figures prepared for the next part of that demo that didn’t go ahead.
The next step would have been to put two Atlas TextBox controls and one Atlas Button control onto the canvas above the Map.
So we end up adding:
<input type="text" id="txtLat" />
<input type="text" id="txtLong" />
<input type="button" id="btnChangeMapLocation" value="Change Map Location" onclick="Change_Location();" />code>
I've also decided to change the map style to Hybrid so we can actually see the place names of the various locations we goto.
Let's code that now:
var latitude = document.getElementById("txtLat").value;
var longitude = document.getElementById("txtLong").value;
var veMapCtrl = document.getElementById("VirtualEarthMap1");
The first two lines are pretty simple, just getting the values entered by the user in the Latitude and Longitude text boxes.
I’ve not actually seen the last two lines documented anywhere, but after doing some “research” (digging into the AtlasUIMap.js file from the Atlas Script Library), they set the latitude and longitude values for the Virtual Earth map.
One thing to keep in mind, the “.control” means you’re accessing one of these Atlas controls.
Here’s a few Lat/Long locations I had prepared for the presentation (More Latitude/Longitude values):
There’s a lot more that can be done to show what is possible with Atlas, but this is all I had prepared for the presentation because of time constraints.
Here’s the actual presentation file: VDNUG_AjaxPresentation.ppt
I’ll post the actual demos another time.
Just a quick note, there’s a lot of links below. You could spend a long long time reading about it.
There’s a whole host of PDC slides available here for those interested.
And below is the links from the resources slide:
- Ajax.NET – http://ajax.schwarz-interactive.de (Michael Schwarz, Ajax.NET authors’ blog – http://weblogs.asp.net/mschwarz)
- Ajaxian Blog – http://www.ajaxian.com/
- Ajax: A New Approach to Web Applications (Original Article that coined the Ajax term by Jesse James Garrett) – http://www.adaptivepath.com/publications/essays/archives/000385.php
- OK/Cancel (Jesse James Garrett): Why Ajax Matters Now – http://www.ok-cancel.com/archives/article/2005/09/why-ajax-matters-now.html
- BitKraft – http://www.tiggrbitz.com/
- Dare Obasanjo: Moving Beyond the Basics: Scott Isaacs on AJAX Design Patterns – http://www.25hoursaday.com/weblog/PermaLink.aspx?guid=23a58e59-0a8d-43e4-ab18-a6d64ca5be87
- Scott Isaacs: Why Ajax is so 1999? Part 1 – http://spaces.msn.com/members/siteexperts/Blog/cns!1pNcL8JwTfkkjv4gg6LkVCpw!1685.entry
- Scott Isaacs: Why Ajax is so 1999? Part 2 – http://spaces.msn.com/members/siteexperts/Blog/cns!1pNcL8JwTfkkjv4gg6LkVCpw!1713.entry
- Omar Shahine: Fireant (Microsoft FireAnt Project) – http://www.shahine.com/omar/PermaLink,guid,93499451-ec70-40ec-beb1-3789f46630d7.aspx
- SecretGeek: EARWAX anybody?: AJAX and The EARWAX – http://secretgeek.net/Ajax_earwax.asp
- Ajax.NET under sharepoint (Angus Logan) – http://msmvps.com/anguslogan/archive/2005/07/09/56884.aspx
- Alex Bosworth’s Weblog: Ajax Mistakes – http://sourcelabs.com/ajb/archives/2005/05/ajax_mistakes.html
- Additional resources to blog post (Ajax Mistakes): http://alexbosworth.backpackit.com/pub/67688
- Cleaning up with Ajax http://www.builderau.com.au/program/soa/Cleaning_up_with_AJAX/0,39024614,39195723,00.htm
- ASP.NET Spiced: Ajax – http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/ASPNetSpicedAjax.asp
- Omar Shahine: FireAnt – http://www.shahine.com/omar/FireAnt.aspx
- Scott Guthrie: Atlas Project – http://weblogs.asp.net/scottgu/archive/2005/06/28/416185.aspx
- fiftyfoureleven.com: XMLHttpRequest & Ajax Working Examples – http://www.fiftyfoureleven.com/resources/programming/xmlhttprequest/examples
- Brock Allen: ICallbackEventHandler vs AJAX.NET –http://staff.develop.com/ballen/blog/CommentView.aspx?guid=c35c43f6-5686-40ee-9752-8095a848d821
- Bertrand Le Roy: Fun with callbacks Part 1: What’s in the ASP.NET box? – http://weblogs.asp.net/bleroy/archive/2005/04/08/397761.aspx
- Paul Glavich: Asynchronous client script callbacks – http://www.simple-talk.com/2005/08/10/asynchronous-client-script-callbacks/
- Luke Wroblewski: Ajax Interface Design â€“ http://www.lukew.com/resources/articles/ajax_design.asp
- Ajax Patterns Wiki – http://ajaxpatterns.org
- Microsoft Atlas Project: http://atlas.asp.net
More on Atlas:
- Atlas PDC presentation slides and demos (Nikhilk Kothari): http://www.nikhilk.net/Entry.aspx?id=92
- Atlas XML Script: http://www.nikhilk.net/AtlasXMLScript.aspx
- Atlas Architecture Overview: http://www.nikhilk.net/AtlasArchitecture.aspx
- Microsoft Gadgets – http://microsoftgadgets.com/
To all that came to the presentation, thanks for listening! 🙂
UPDATE (25/09/2005): I’ve finally found enough time to post the Atlas demo that I did of Virtual Earth here.
Noticed this on Scott Isaacs’ blog (bolding signifies the area that I found the most interesting):
Having a strong framework for building and integrating rich, highly interactive components enables MSN to deliver much better (and consistent) user experiences. The Framework provides us with a client-side component model, network stacks, firefox compatibility, and OO language enhancements that allows us to “engineer” rather than ad-hoc script the client.
Many of our goals and work is going to be captured in the Microsoft Atlas effort. Microsoft Atlas, from the ASP.net team, is an upcoming toolset to quickly enable any web-developer to create and build highly-interactive web-sites.
I also noticed via the Ajaxian blog a link to an article on the IBM website entitled “Migrate apps from Internet Explorer to Mozilla“, an interesting article that goes through the various differences between the browsers and how to accomodate for both in your apps. Basically, an article about developing for cross browser compatibility.
Oh look, so Microsoft is creating an Atlas hey?
Actually, it’s their codename for their new “Web client framework” which will provide us (developers) with tools for developing AJAX style applications.
Exploring some of the below articles you’ll get introduced to a term called “prototyping”. If you already get inheritance, then looking at the code here and you’ll get prototyping straight away. Just one of the many new terms you’ll start seeing a lot of when exploring the below articles on OOJS as they call it!