AJAX: the technology behind Googlemaps/Gmail

Started by Darren Dirt, July 22, 2005, 10:29:20 AM

Previous topic - Next topic

Darren Dirt

Quote from: "Shayne"Why are we trying to make the www more then it is?



*spit-take*



Mr. Graham's blurb above said the opposite -- that "Web 2.0" is basically allowing the web to be what it's naturally *supposed* to be... And if you've tried some of the recent populist-level Ajax implementations, you'd see they're not obtrusive, they don't break on incompatible browsers, and they "just make sense". Like how Apple "just works". Like how Google services are "just beta, just out there for you to play with". It all is a natural result of the backlash from Those In Suits that helped cause the 2000/2001 bubble-bursting. Which had to happen. And good things are finally coming as a result.





One example of populist-level implementations: Amazon.com, you can "tag" any item ... and when you start typing the word/phrase, it will auto-complete for you (in a friendly way, not like IE's address bar which sometimes "thinks" for you a little too aggressively). It does this "look ahead" intelligently, quickly, and yes... unobtrusively.



Some search engines are doing similar little extras; a lot of news filtering services seem to be leading the way as a genre.





Again, if Gates and Ozzie are "rallying the troops", in a "leaked" PR^H^Hmemo then perhaps there is a lot of value to be found in exploring, encouraging, embracing a progressive viewpoint of how the "web" should actually function.



And this time, for the good of the end users, not for Those In Suits.



/RantTankEmpty



- - -



PS: Web forms aren't the problem, lazy and inconsiderate devs are the problem. Sometimes original implementations are "good enough". :) Now just to use them properly... Forks and knives perform their respective functions just fine, but an idiot can make a mess of either a meal, or a fellow human being, if they wield these tools in an inefficient or irrational manner... I've seen and tried a "spork", and it may seem in theory an improvement, but it ain't. :)
_____________________

Strive for progress. Not perfection.
_____________________

Lazybones

Quote from: "Shayne"Do HTML forms really suck?  Most that I use work very well for what i need them to do, how else should a person pay a bill in online banking besides entering the amount into a box and the bill type from a drop down?



From the user stand point they work well.. but from a data programming aspect not so well if you are speaking of plain HTML / even JavaScript..



Its the options in the drop downs that make a mess of things.. In regular forms you need to have all of the data IN the form document. If your dropdown lists could potentially have hundereds or thousands of options things get ugly fast. However if you can dynamicly populate them with calls to a database it isn't so bad.



How often have you had a set of drop down / list boxes that depend on each other. How about having three of them each being filtered by the earlier selections.. You could implement this in a few ways:

a) loading all the data into the form (huge download to client

b) doing reapeaded post backs to the server (high server load)

c) using script pull the data just for the list box dynamicly (low client and server demands)



Also most normal forms require all the data in the form to be posted in order to save anything.. In extremely long forms this requires making multipule pages. If each field saved as you entered data there would be little or no risk of data loss in the process.

Darren Dirt

http://news.bbc.co.uk/2/hi/business/4399018.stm



I just played around with "Windows Live" for 5 minutes.



...Seems to be using "AJAX", from what I can see... ;)





Makes me thing of "Google customized, lite". Possibly (probably?) rev-eng'ed from the google.com/ig source code (which would be flattery, no doubt ;) )





And I'm guessing any "gadgets" or "features" that Gates and company add to "Live", well it will be within days that http://www.google.com/ig has it too -- only working more cleanly.



Cuz http://live.com seems a bit "off". But hey, it's (wuh!?) "beta"!



PS: "Tip 1: Check out Getting Started" funny, you'd think a hyperlink would do something when clicked...  :roll:
_____________________

Strive for progress. Not perfection.
_____________________

Mr. Analog

Quote from: "Shayne"Do HTML forms really suck?

Yes, yes they do and I can show you why by asking you a single question:



Is a web form more robust than the average application?



No, of course it is not. And why? Because web forms are a hasty code hack to add functionality to a technology that was designed to allow document linking. The Web As We Know It (tm) is built on a foundation of duct tape and bailing twine, it has evolved way, Way, WAY beyond it's original function. We know this and we can see where the flaws are now, so we must architect a new web, one that is going to do what we need and do it without comprimise.







The hardest thing to do is think out of the box when it comes to addressing the deficiantcies inherant to web forms, things are mind-bendingly easy to do in most applications (multi-part forms, class persistance, input masks, responsive grids, custom user configuration, etc) are painfully difficult to implement online. Even simplistic things like field validation must be submitted to the mighty server for processing. The web has effectivly turned your home computer into a terminal, and the terminal model cannot be realistically sustained (e.g. a "slashdotted" e-commerce site).



But I digress...



It's interesting to see big business and regular home-style users finally getting furstrated with current models and being wowed by the fake-orgasm that is AJAX (it just pretends to be seemless applicaiton interaction). On one hand I am glad that a big fish like Microsoft is *finally* awknowledging that something must be done about this web thing, but I'm sure that coincides with the changes the .NET framework has had on the Microsoft GroupThink "interconnected, platform independant applications! *jizzzzzzzzzzzzzz*" on the other hand it was big st00pid companies like Microsoft who've stymied progress to this effect for a long time. First with basic web standards (teh BLINK tag rulez) then with Java (re: see .NET appear 5 years later) and lately with XForms (yeah InfoPath is teh futurezzz).



With luck something can be done that won't lead to hideous fragmented camps of idealism. Now is the time to build a new web, or at least start really thinking about it.
By Grabthar's Hammer

Cova

I wonder how long it is till this "Web 2.0" thing gets dropped for the fad it is, and the next big thing comes along.  I think it will be a revolutionary (not evolutionary, as ajax / web 2.0 / etc. is) technology that will change the way we all do stuff next.



HTML is a content formatting language.  It's evolved over the years to try to be an application programming language, but people realized that that won't really work.  So they came up with XML, JavaScript, etc. - other languages that do other things, and work together with HTML.  But there's only 1 technology that still around from the beginning, and thats hardly changed at all - HTTP.  And I think HTTP is going to be the plumbing for the next thing or two too, but that HTML is almost at its limits for interactive application type programming.  Say instead, that the client side was written in something HTMLish - a language to describe a form/window/etc. layout, based around XML so that anything can read it - MS invented that one for us already, it's called XAML, go look it up on msdn if you're interested.  We have the HTTP and XML technologies already to let the app on the client access data on the server (just like ajax does, but using something other than javascript in a browser).  Now we just need something to code the UI interface in - the code behind the buttons, forms, etc.  Obviously this needs to be as platform-independant as web sites are now.  What we really need is something browser-like that can pull down the layout information (XAML or something else), the code behind it, and then execute all that in a secure way.  MS actually has most of that with .NET and the new technologies coming with Vista, but its not cross-platform enough (but its getting closer with mono, etc).

Darren Dirt

Huh, just finding it funny that nobody in this discussion has mentioned (for or against) any of...

http://en.wikipedia.org/wiki/Indigo_Application_Server

http://en.wikipedia.org/wiki/Windows_Presentation_Foundation

http://en.wikipedia.org/wiki/WinFX



...you know, since they're set to completely REPLACE "Win32" in Vista...



Interesting dev overview of WinFX found here: (seems quite significant in its changes, any thoughts M$ dev vets?)

What is WinFX -The New Programming Interface Introduced in Windows "Longhorn"
_____________________

Strive for progress. Not perfection.
_____________________

Mr. Analog

The one description language that had the best shot at what you describe Cova was XForms, but sadly it didn't get buy in.



The problem with using markup of any kind HTML, XML, XAML, XForms, etc is that it has to be very descriptive with them if you want to do anything really worthwhile on the client (e.g. validation) this is problematic in a variety of ways; large chunks of descriptive markup must be sent back and forth between the client and server, pre and post processing of markup languages loses efficiency as complexity increases and becomes downright boggy with iterative or functional programming techniques, any custom scripting or special validation must be exposed to the client and therefore becomes a risk from both IP and security perspectives. (I won't even bother talking about how flaky defining your own extensions are).



In this area I know from whence I speak; I have written my own XML based form generator, a former co-worker and I developed a description language called XToken and we wrote another XML based form generator for larger scale use for ASP.NET applications using the MVC design pattern, I messed around with InfoPath, I also have worked with implementing "AJAX" style interaction patterns with Web Services and script years before it was labelled with an obnoxious buzzword, i have written web controls that generate and process script-assited XML output. After nearly four years of cramming ASP/HTML/XML/XSL/JavaScript and Web Services together to make a rich GUI environment I can tell you that markup languages are not the way to go.



Case in point: the root markup language for HTML and XML is SGML which is a very descriptive language, so descriptive in fact it's impossible to write anything efficient in it, let alone maintainable. HTML and XML are both oversimplified subsets of it (HTML a direct descendant and XML as a derivitive).



What we need is an easy way to serialize objects over the wire that can be consumed by a client application (I don't want to call it a browser, but think of something like a browser that just generates native applications). That would solve so many issues, especially if we get away from HTTP and it's archaic implementation and consider better protocols (VOIP for example).
By Grabthar's Hammer

Darren Dirt

Quote from: "Mr. Analog"
What we need is an easy way to serialize objects over the wire that can be consumed by a client application (I don't want to call it a browser, but think of something like a browser that just generates native applications). That would solve so many issues, especially if we get away from HTTP and it's archaic implementation and consider better protocols (VOIP for example).



Hmmm... or maybe "object" wrapping everything is part of the problem :|
_____________________

Strive for progress. Not perfection.
_____________________

Darren Dirt

Huh. Just tried to find online a decent free SuDoku generator, found



http://websudoku.com *



and the guy who made the app that generates the puzzle is young but very prolific (check out "Sig Software" from his main page: http://www.gidgreen.com/ ).



...and he's also very interested in what Paul Graham sums up as "Web 2.0" :D



http://www.gidgreen.com/interests.php





- - -





* Dammit it's not about MATH, it's about LOGIC and PROBLEM SOLVING! So of course now I'm hooked :roll:  hmmm maybe if I print out some "easy" level ones the kids can be occupied for hours at a time...  :lol:
_____________________

Strive for progress. Not perfection.
_____________________

Cova

I left HTTP in my example as the network transport of choice because it's very friendly to our current internet structure, where the vast majority of workstations are behind firewalls and/or NAT devices.  To use the example of VOIP (well, I'll use SIP since it's a specific network protocol, VOIP is a pretty broad technology), if you're behind NAT you're probably screwed.



And as for doing "worthwhile" things with a markup language - perhaps you missed the part of my last post where I described having 2 languages.  You can't do any validation at all with HTML - none.  You can have Javascript (or other-scripts) embedded in the HTML to do validation, or you can post the form back to the server and have any number of languages on the server validate the data and generate more HTML to send back.  But HTML doesn't do anything at all except tell a browser how to lay out a page.



My idea is again to have 2 languages, one that describes how the app should look - HTML, XAML, etc. fill this type of role.  I'm not focusing on any specific one, just that whatever it is should be able to be natively rendered by the OS without a browser-like app.  The other describes how the app should act, which would be all the "worthwhile" things, like validation.  This could be some type of scripting language, .NET IL, etc. - again, something that can be executed by the OS without a browser-like app.  Then there's the third language, which we already have - XML.  The language that describes the data that the app works with.  Now give the OS support for caching the layout and code parts of the application, with automatic retreival over HTTP(s) of missing parts as they are needed (or pre-caching if more performance is needed), and you can start to get something as flexible as the web currently is, but with the interactivity of classic Win32 apps.

Darren Dirt

Quote from: "Shayne"Mark my words, in 12 months, the general internet will be no different then as it is today.  While sure im willing to bet a few nifty websites using all the latest stuff appear, the general internet website will remain the same as it has for the last uncountable years.



What i think AJAX will really help with, is website administration.  The stuff you and I dont see, thats where it has its potential to shine.





Decent blog that is one dude's attempt at collecting the sundry attempts throughout CyberVille to best utilize AJAX and similar:



http://www.ajaxreview.com/

http://www.ajaxreview.com/pg_2.html



And yes, he mentions both the "Chess" game, and the I.M. mentioned earlier this year





Oh, and P.S. Google absorbed "Writely"  8)  Things are definitely changing...
_____________________

Strive for progress. Not perfection.
_____________________

Cova

http://www.linspire.com/ajaxwrite.php



Can't say much about it yet, I'm still waiting for it to load.  The site is getting hammered cause it was linked from slashdot.

Darren Dirt

#42
Very nice look, easy resizing of "textbox" areas...


8) "We hope you enjoy ajaxWrite. Please help us make it better by visiting the forum on AjaxLaunch.com and give us your input. Also, sign up on AjaxLaunch to get priority notice of a new AJAX program launching every Wednesday!"


But just a warning: unlike Gmail (and even my own -- non-AJAX -- web apps, including even a simple online registration form) it does NOT do any kind of prompt/warning if you hit Refresh/Reload after making changes :( "save often" I guess :P

Thumbs up for functionality (the "SAVE" function creates a compatible (!) Word document .DOC and everything) but thumbs somewhat-down for not considering the diversity of potential users... Given time, we'll see.

( AjaxLaunch.com now bookmarked ;) )
_____________________

Strive for progress. Not perfection.
_____________________

Darren Dirt

A week has passed. "An application each Wednesday" eh?



Yup.



http://www.ajaxsketch.com/

Great for diagramming, flow charts, free hand drawing, and more. With a similar look and feel to popular drawing programs, you don't need to learn a new interface. Based on Ajax programming techniques, it is a completely web-based program with the quick response of conventional software.



LOL that's actually a project I gave myself about 9 months ago; a small version of Visio that would use DHTML and AJAX... Never "Got A Round Tuit" of course :rolleyes: but looks like AjaxLaunch.com guys did :)





---update---

Okay played around with it (chose Europe server since American one seems too busy) and I gotta say oops, nm re. Visio -- this "Sketch" is essentially just MS Paint using DHTML, saving as .SVG -- more like Etchasketch than Visio :P ah well, underwhelmed here + muy impresso last week = overall I believe applause for these guys is still in order :)
_____________________

Strive for progress. Not perfection.
_____________________

Mr. Analog

The latest version of Visio is GARBAGE, unless there is some kind of miracle patch out there...
By Grabthar's Hammer