Ian Landsman is Starting From Scratch, November 18, 2005:
AJAX Library Suggestions
If you're in the market for a powerful and user friendly Help Desk solution, please take a look at my company's flagship product HelpSpot.So I'm going to be making the plunge into AJAX for HelpSpot. Now that I've been using HelpSpot myself for about 4 months I can see some very useful spots for it. I'm really glad I waited BTW and not just threw some in just to say I had it. I've managed to sell plenty of installations without it (can you believe it!) but also I'm going to be adding it where it will really improve the experience based on facts not on speculation. I think it's important to note that before launch I would have added it in different places and in a different way then I plan to now and I would have been wrong, it would have detracted from the experience IMHO.
Now, I'm going to be rolling it into the 1.1 feature release (I think) probably sometime in Jan/Feb. I'm currently researching libraries and am curious what you all have used and if you have any suggestions. HTML_AJAX seems to be making some progress, but it's still early and I know they keep changing some of the API. I'm not a big fan of most of the bigger libraries I've looked at because they seem to do to much. Most of the features they add I will never use. My current thinking is to use the prototype.js library directly. This way it's light weight and it's only JS I have to worry about. No other foreign PHP code is added to "help" me. Plus I can easily layer script.olicio.us on top if I need more fancy effects down the line. I don't really give a hoot about convenience (though prototype does make things pretty convenient), I care about speed and stability only. Thoughts?
Oh, if anyone was looking, there is some OK documentation on prototype here. That's probably my biggest concern with it is that the developer provides no docs at all.
Discussion
We are using NAJAX (Which has been named to XOAD) . Its pretty good and stable.
You register functions of your php class with one line and all those functions will be available to you through javascript. It has all serialization built in, so if you pass array from php , it will automatically be received as a javascript array. Cool it is !!
Created by Raza on 11.18.2005 8:11 am
I wanted to mention something broader than specific modules to mention use of AJAX stuff for logins.
Just the other day I became annoyed by a layered, overlapping login at a site I'm registered at — problem is, I like to keep site logins stored in the Mac keychain and when this littke AJAX-y login appars over the top of the regular page, it will not let Safari throw my saved username and password in there.
This is an issue because it forces me to dig up my info and enter it _every time_ I visit that site... and makes me think twice about whether I want to visit because of the hassle.
I suppose the AJAX login could have a "remember me" checkbox to solve the problem, but it gets to a deeper issue — that AJAX use should be used where it's truly a benefit and useful. It's important to be aware of how users make use of those potential AXAX-ified items when deciding to use fancy features.
That's not to say you won't be mindful of this Ian (I'm sure you will) but this is rather a reminder that a cool AJAX feature may in actuality become more of a hassle than a benefit, so choose locations for it carefully and test!
Created by Mike Rohde on 11.18.2005 8:11 am
You should take a look at http://mochikit.com/. It is a very stable, and it's description says it all:
"MochiKit is a highly documented and well tested, suite of JavaScript libraries that will help you get shit done, fast. We took all the good ideas we could find from our Python, Objective-C, etc. experience and adapted it to the crazy world of JavaScript."
Created by sean on 11.18.2005 8:11 am
Thanks all. I'll check those out, never heard of NAJAX. Mocki I looked at a long time ago, but I'll definitely revisit it. I have heard it's pretty good and I know Kevin has it built into TurboGears.
http://www.turbogears.com/
Great points Mike. I totally agree. I actually use that log in feature with safari/helpspot all the time. That why I still feel like you need to build your app in a traditional fashion and then optimize rather than just throw AJAX in all over.
No fancy logins for HelpSpot. Initially optimizations will be almost entirely confined to switching between various filters which currently takes a long time (relatively) because all the navigation needs to reload. Using AJAX should speed it up and since this is the primary page people use I think many users will feel a big speed improvement.
Created by Ian on 11.18.2005 8:11 am
Ian, I'd love to check out what AJAX stuff you come up with. I am trying to find ways to best use AJAX myself. Like anything else there are always ways to over use things like AJAX and widgets.
Created by Collin on 11.18.2005 8:11 am
I'd just like to chime in another vote for mochikit. It's tremendous. One caveat is that it's a little weird to us used-to-PHP types because it comes from a python (and more specifically twisted) conceptual background, but the advantage there is that it is a gentle introduction to those concepts as well.
There's a screen cast available[1] that gives you a nice quick overview.
[1] http://bob.pythonmac.org/archives/2005/11/15/mochikit-11-intro-screencast/
Created by Rob Drimmie on 11.18.2005 8:11 am
Without a question, the best AJAX lib I've seen is prototype (http://prototype.conio.net/). You only need to look at this documentation (http://www.sergiopereira.com/articles/prototype.js.html) to know prototype is amazing.
Also, for effects script.aculo.us (http://script.aculo.us) works nicely.
Created by Gil on 11.18.2005 8:11 am
I don't have any recommendations as AJAX is still on my to-play-with-sometime list, but there's a pretty comprehensive list of what's available over at http://edevil.wordpress.com/2005/11/14/javascript-libraries-roundup/
It'll be interesting hearing what you decide to go with
Created by Adrian McEwen on 11.18.2005 8:11 am
Thanks Adrian! That's a great list.
Nothing crazy, just a few key enhancements to the speed of the queues and perhaps a few other things here and there. I'm still going to reserve myself and not throw it in all over.
Perhaps when I get the first rev built I'll do a little before and after movie so everyone can check it out.
-----
Created by Ian on 11.18.2005 8:11 am