Atlas Project: AJAX and more...

The word is out on Atlas, a project within our team to build in AJAX support ... in a big way.

In Whidbey we have callbacks, which is a key building block, and perhaps a first step, to building AJAX-style applications. But AJAX is much more than that - its a whole paradigm of developing rich Web applications to fully utilize the power of DHTML and what is possible within the browser, and we recognize that. Over the past few weeks, I've been busy working along with various folks on the asp.net team on something we're calling Atlas, which has now been announced publicly at news.com last night:

The company is building software, code-named Atlas, that provides developers with tools designed to ease creation of AJAX-style applications. An early version of the software will be made available to developers at the company's Professional Developers Conference in Los Angeles in September.

We'll be publishing our ideas in this space in much more detail shortly. For now, to summarize, Atlas aims to simplify and make the development of these rich Web applications in a cross-browser fashion more approachable, work well with existing server-side infrastructure, and then further push the boundaries of what can be done in this realm with better integration with asp.net on the server, and with new client capabilities. I am sure that last bit might result in more questions, and curiousity. That is intentional :-). I'll be blogging more about that, Atlas in general, and related subjects this in the weeks and months to come... stay tuned...

Posted on Tuesday, 6/28/2005 @ 8:35 AM | #ASP.NET


Comments

27 comments have been posted.

Nikhil Kothari

Posted on 6/28/2005 @ 8:45 AM
Scott has a post detailing various aspects of the project: http://weblogs.asp.net/scottgu/archive/2005/06/28/416185.aspx

Javier G. Lozano

Posted on 6/28/2005 @ 9:13 AM
This sounds great! I can't wait to see the full potential of this feature!

Jim Geurts

Posted on 6/28/2005 @ 10:24 AM
It's a shame that MS can't support libraries that exist TODAY and run on EXISTING technology...

http://ajax.schwarz-interactive.de/csharpsample/default.aspx

Community support my ass...

Cal Kaddourah

Posted on 6/28/2005 @ 10:26 AM
really excited about this, although it's little late, I wish that MS has made an attempt at this approach earlier, I mean why can't I have a basic "datepicker" that doesn't post back every single click, I know you have written one in your book, but come on, to perform such basic functionality takes that much time!!!!

I would like to see "context menu's", "demand on load tree controls", "drag and drop functionality", "masked edit controls", "fly-in out controls", etc..

Will it be utilizing the power of DHTML?

LukCAD

Posted on 6/28/2005 @ 1:25 PM
For Cal.
Cal add me into your messenger and i will show you all you would like: "drag and drop", "masked edit controls" andd so on. Or if you don't like be involved then go lukcad.russia.webmatrixhosting.net/commercesql/ Make there login by mik@mik.com pass:0908.
then press rigth upper arrow on the container named as "Main page" . After it you will get the editing mode for this page.
You can drag and drop controls into this mode or by pressing rigth upper arrow you can edit controls by their mask.
But if you want edit controls by their special editors, then make out from this editing of page (press for example button Home) and you will possible to edit controls there where it is possible by rigth upper arrow.
Sincerely, LukCAD.

Dimitri Glazkov

Posted on 6/28/2005 @ 1:48 PM
This sounds very cool. Can't wait to see more.

Nikhil Kothari

Posted on 6/28/2005 @ 1:53 PM
I wanted to take a moment to respond to Cal's comment - yes, its about time we fully support various technologies we created way back when (eg. remote scripting is a pet peeve of mine ... still remember working on that in 1997 in Visual InterDev; more notable ones include XMLHTTP, effects, drag/drop etc. that were pioneered by IE). So far developers have been using these technologies alongside their server-side logic alongside ASP.NET.

Lots of component developers out there have done some very interesting things; my datepicker is just a simple sample, but even so, I've recieved numerous comments on it from readers. With Atlas, we are committing serious effort and resources in this direction, and in building a roadmap for the spectrum of rich Web applications... the goal is to have a meaningful preview in the PDC time frame (translation: busy time between now and then).

One thing to keep in mind, is that there are multiple aspects to rich Web UI. Things like context-menus for example, are more about sheer scripting and DHTML (lots of it), than they are about working with async requests back to the server. The script framework we're putting together will also go a long ways to address building and projecting richer UIs by component developers beyond just AJAX-ish functionality (as it fully develops and starts to mature a bit).

Rick Strahl

Posted on 6/30/2005 @ 1:28 AM
Nikhil,

The key missing feature more than anything is decent editor and debugging support for client script. Unless we can more easily debug script code in a meaningful way, this techology is and will remain a 'Gee Wiz' type of thing reserved for the few who have the luxury to waste endless hours second guessing script code.

In order to make AJAX in general and Atlas in particular a killer platform the tool support must go with it!

BTW, with Google highlighting on our Name and Email fields are 'invisible' while you type... White on Yellow doesn't work so well :-}

Nikhil Kothari

Posted on 6/30/2005 @ 6:09 PM
More press coverage: http://www.theserverside.net/news/thread.tss?thread_id=34897

By the way, I agree... tools need to be re-examined. Just a runtime framework never suffices.

Raj

Posted on 7/1/2005 @ 1:42 AM
Will the ActiveScript Debugging Interface be enhanced/upgraded to support third-party debugging and profiling of Client-side Script code?

I think the main deterrent to IE becoming a rich UI Platform and ASP.NET focusing so much on Server-side has been the lack of tool support for IE development.

Any inputs on this would be welcome

ps.
The Yellow background Formfields with white foreground for text typed in the Name, E-Mail Address etc makes the text invisible. Updating it would be useful.

Jerry Mead

Posted on 7/2/2005 @ 2:26 AM
Raj ~ check out Zeepe (www.zeepe.com), all you need it there.

Olivier Mathieu

Posted on 7/3/2005 @ 5:16 AM
I agree frankly with Rick. I understand Ms didn't provide all the pieces. But if you involve to fill and support such a fx, debugguing possibility is something you must consider

yaip

Posted on 7/3/2005 @ 1:00 PM
After having its debut in September, I hear that MS is going to relase it soon. Do you happen to have an ETA? VS 2005 is scheduled for November. I assume that this will be after that. Is it going to be an add on for VS?

Nikhil Kothari

Posted on 7/3/2005 @ 6:42 PM
The goal is to have a meaningful preview in the PDC timeframe. At that point, we'll be looking forward to feedback from the community, and other forms of community participation.

The exact details of how it will be incorporated into VS (in add-on form or some other form) are not known or published. It will not be part of VS 2005 when that is released in November, but will work on top of that.

Rahul Jain

Posted on 7/3/2005 @ 6:58 PM
We are very interested in Atlas project. I was wondering if you are planning to tie up Atlas to .NET and other MS technologies or are you planning on keeping it open for web application that are built using other technologies as well? Given that this is client-side framework, I would think it will work with any web app. We use MS tech, but we also use other technologies and we would love to standardize on one client-side framework.

Regardless, thanks for taking initiative in filling up the space.

Nikhil Kothari

Posted on 7/3/2005 @ 7:16 PM
Atlas is the code name for a somewhat large effort that spans the spectrum from runtime frameworks, and programming model to tools support, and we'll be working on and delivering on the vision in an incremental fashion.

To address Rahul's question, there is a component of Atlas that will be pure client-side framework, and the goal is to keep it independent of server-side technology (and will be cross-platform in terms of browsers). This includes:
- Extensions to Javascript to make it easier to program, and use OOP techniques.
- Higher level classes that hide underlying DHTML-isms.
- Familiar request/response model to interact with web services.
- UI framework for attaching behaviors, effects, drag/drop etc.
- A set of UI controls.

As you can see the surface area of this piece of the atlas project is significant. You can use client scripting to access these. The motivation as Rahul suggests is exactly that: to enable folks to standardize on the client-script framework (for app developers, and at some point component developers... I hope). However, at the same time, the goal is to make it simpler to use this framework via ASP.NET.

yaip

Posted on 7/4/2005 @ 8:22 AM
If we are not able to attend, will it be available to MSDN subscribers as a download?

Nikhil Kothari

Posted on 7/4/2005 @ 9:15 AM
Yes, it will be publicly available on the web. We also want to build a community around it. The current plan is to announce it and show it at the PDC initially.

Milan Negovan

Posted on 7/6/2005 @ 6:47 AM
I'm very excited and anxious to see more of this development! Is there a chance you, guys, can drop the term "Ajax" from it (http://aspnetresources.com/blog/putting_atlas_on_map.aspx)?

Nikhil Kothari

Posted on 7/6/2005 @ 9:24 AM
Milan, I agree with you about the name "ajax" being more about hype, and what is more important are the details of how technology is going to be made useful and approachable - that is an important aspect of "atlas" ... which is also a name :-)

At the same time, the hype around "ajax" and the fact that more and more people are recognizing and associating the related technologies implies that marketing and press folks will continue using it, which makes it hard to drop the term. All that said, I am not a marketing person, so who knows what is right and what will happen on that front...

Sriram

Posted on 7/16/2005 @ 6:46 AM
Hi Nikhil,
I read Scott's blog on Atlas just now. I am really excited that Atlas will create a base class library for Javascript. and adds features to JavaScript such as lifetime management, inheritance, multicast event handlers, and interfaces

I have few suggestions:
Javascript is a great language supported by all the browsers. The only problem is it does not have a rich base class library like .NET which makes it hard to create complex Javascripts

It would be great if the base class library for Javascript is similar to .NET base class library. I do understand you cannot the port entire .NET base class library. But atleast port the classes that could be used in Javascript.

A few classes you can implement in JavaScript would be:
. Dataset,Datatable
. Basic .NET Datatypes
. Collections
. String manipulation

This would make Javascript a first class citizen and on par with any .NET language.

With this base class library, it will make .NET developers a lot easier to create JS scripts and they can use their .NET experience to write complex Javascripts..

Rich UI controls which can be bound to JavaScript objects. You could also provide client-side databound controls which could be bound to javascript dataset or datatable.

I have been reading some articles about AJAX.NET. I think you can implement a similar mechanism to return your own objects and built-in .NET objects

Keep up the good work!

Thanks,
Sriram

Olaf N.

Posted on 7/27/2005 @ 3:24 PM
We want to have the easy support of AJAX calls like the Ajax.NET library I found on http://ajax.schwarz-interactive.de

I think it is the same library than others already found interessting. Like Microsoft often buy companies why is that a problem for the Ajax.NET code? Call Michael Schwartz and ask if he will give you feedback of his control. As I know he gets a lot of feedback as you also can check with google searching for "ajax.net".

What I love there is the support of data access instead of control support for simple to use features. We are using Ajax.NET to get classes on the client that we can use direct without any transform.

Keith J. Farmer

Posted on 8/1/2005 @ 11:53 AM
How about CodeDOM support for client-side scripts? It'd be great to be able to build a script compilation unit, and have it output correct-for-the-client code in the most appropriate language the client supports (JavaScript, ECMA Script, JScript, VBS, C#, etc).

I imagine the BCL helps in this regard, and I expect it'll be well-received in any event, but there's something to be said about not having to deal with string-building and the JavaScript wars.

Manish

Posted on 1/9/2006 @ 4:30 PM
Hi Nikhil,
I am a newbie to Ajax and Atlas. Does Atlas provide controls for displaying markers or functionality for zoom, pan -- like Virtualearth or is it something that a programmer has to do outside the atlas framework. If yes, can you give some pointers regarding how to achieve the same. Thanks.

Tuan Tran

Posted on 4/20/2006 @ 8:08 PM
I've downloaded and tried Atlas last week. With Atlas, everything seem fantasic for asp.net developers. Developers benefit the effect of asp.net application with just some change to application configuration, adding some line of code for script manager and atlas update panel. It seem to be "Plug and Play". Thank Microsoft Asp.net and Atlas developer team, Scott and Nikhil.

I've learnt some uncompatible problems about style and color setting between Atlas and some third party controls such as RJS Popup Calendar and FreeTextBox. I know that the Atlas team does not have responsebility to this kind of issue. However, I still hope that the problem will be solved soon.

Ricaute Jiménez Sácnchez

Posted on 5/20/2006 @ 7:31 AM
Hi Tuan Tran,

The new version of RJS Popup Calendar is compatible with Atlas Abril CTP

Saludos,

ricaj0625@yahoo.com
The discussion on this post has been closed. Please use my contact form to provide comments.