PDA

View Full Version : Ajax and Mambo?


cozimek
March 3rd, 2005, 17:22
Hey everyone,

Well, we're here in DC always trying to think of ways to push the Mambo envelope. To really make Mambo an application that is both detailed and sleek.

We've been reading more about xmlhttprequest and Ajax. One of the fellas over at Adaptive Path wrote a great article about Ajax (http://www.adaptivepath.com/publications/essays/archives/000385.php), which I highly recommend that the dev team read.

Essentially, the core system that Mambo is running on doesn't have much of a future to it. Not that the concept, the hardwork, and the code is necessarily bad, but it's going to be "old school" within the next year as xmlhttprequest and Ajax systems start taking effect.

What's the goal? To make the user seemingly feel that the system isn't running on some far away server, that requires a full page reload just to view a new category of items. The goal is to bring javascript back into action, having it run as a little engine behind the front-end that would allow simple actions to happen without full page refreshes. Look at Google Maps. That's the future.

Anyone thinking about this for the 5.0 release of Mambo?

-Ryan

MasterChief
March 3rd, 2005, 17:33
What is it with the Ajax dejavu at the moment :) Funny how stuff comes in globs. First red flag I see is the browser compat (technology is absolutely great though).

There is also another project that looks interesting here but it seems to be inactive:

http://sourceforge.net/projects/postofficebox/

I am very keen to get this technology into Mambo to solve a few scaling problems.

tonyskyday
March 3rd, 2005, 17:47
It is funny to see this become the sudden buzz-word, even though it's been around for a little while. I guess once Google started using it everywhere, it got people's attention.

Anyway, found this link on kottke.org today, looks to be an active project: http://www.modernmethod.com/sajax/

intel352
May 2nd, 2005, 09:12
there are supposedly a number of ways to blend technologies to achieve the AJAX method. it's not just javascript+xml, but that's the most popular method currently (apparently)

and yeah, i've read that AJAX has been around quite awhile, but hasn't been used very much due to how difficult it is to implement (much longer dev period)

EDIT: wow, that SAJAX toolkit looks pretty nifty :-)

bigodines
May 2nd, 2005, 10:34
Ajax is really cool! It would be great to see mambo using this tecnology.

ratlaw
June 5th, 2005, 07:21
I'm in the process of writing up my proposal for "Summer of Code" and it could provide a hook for an AJAX type intergation with out any great change to the current core.

Heres hoping :)

ganar
June 14th, 2005, 15:19
I read the articles and visited the site...

We were trying to pull this out in 1998-99 and had to abandon the approach due to the state of the browsers at the time. We end up using some of the benefits of AJAX in intranet work were we could stablish the browser version to be used among many other variables.

Now comes AJAX and I can see that it would be great to implement in the administration side of Mambo, were it would have a great impact in the way the admin is used on a day to day basis.

I can also see AJAX applied to components like Calendars events, Docman and maybe – by a long shot – com_frontpage.

I feel that the AJAX aproach is very good for web applications but not for content, due to the way the browsers are working at the moment and how hard it is still to get propper positioning in html and xhtml among different browsers.

Another aspects to take care off before thinking about AJAX for com_content is the fact that the separation between content and structure is very thin indeed... The structure of a page gives meaning to the content. Graphic Design as a discipline has been working around this since the very beggining, building succesfull products around this concept. I don't think that a web App look is the correct way to display content... It's been tryed in flash and other technologies and I still prefer to see a propperly designed page than a "content reader" with text and pictures out of context...

I feel that the next version of Mambo and com_content should consider the concept of "content_templates" small subtemplates to arrange content inside Mambo's content area. We should be able to use more than one of this building blocks on a given page. I feel that Pat template can allow this to happen, that the only thing neccesary would be a way to make , store and use this subtemplate concept in the com_content interface . AJAX would be great for this...

What do you think?

Jinx
June 15th, 2005, 06:17
Ganar,

For 4.5.3, we are adding a small javascript behavior library to the administrator. The idea is to add better interactive behavior and slowly move the backend's mental model from a website concept to a RIA (rich internet application). AJAX is also something on our wishlist.

The primary goal is to add this behavior in a unobstrusive way, relying on the actual structure of the page and not like for example Gmail, BackPack etc. On the long run the adminustrator will keep using a push webmodel, AJAX and js will only be used the enchange it.

ganar
June 15th, 2005, 07:46
I feel that the admin is an excelent place to start. Many of the AJAX concepts can be implemented in the template level at least in the beggining.

We manage a site with daily updates and we have noticed that each new version of mambo has a heavier and slower backend interface. Don't get me wrong : the new features are great, the problem is that in places were the internet connection is not very good it takes a long time to do anything in it.

I can envision the admin of com_content as an AJAX application pulling information from places like the menu, the template manager and the media manager, a new system to assign subtemplates in the content and seamless integration with the content list among other things... All of this done as interfase plugins for this App. In the end it would feel a little bit like gmail wich is quite fast. All of this would mean a huge effort, but maybe the existing Lybraries in the AJAX project can help to solve the issues regarding compatibility among different browsers and operating systems

ganar
June 15th, 2005, 08:01
http://sean.treadway.info/demo/upload

The page that spawn this link is this: http://www.adaptivepath.com/publications/essays/archives/000430.php


I feel that they may be on to something here...

eyezberg
June 15th, 2005, 13:31
Good article about AJAX and the back button: how not to break this commonly used navigation.

http://www.contentwithstyle.co.uk/Articles/38/fixing-the-back-button-and-enabling-bookmarking-for-ajax-apps

stingrey
June 16th, 2005, 08:39
Another aspects to take care off before thinking about AJAX for com_content is the fact that the separation between content and structure is very thin indeed... The structure of a page gives meaning to the content....

I feel that the next version of Mambo and com_content should consider the concept of "content_templates" small subtemplates to arrange content inside Mambo's content area. We should be able to use more than one of this building blocks on a given page. I feel that Pat template can allow this to happen, that the only thing neccesary would be a way to make , store and use this subtemplate concept in the com_content interface .
Yes we agree and the conversion to the use of patTemplates is slowly happening. Already in 4.5.3 CVS Core modules are using patTemplates to generate the code.

Gayle
June 16th, 2005, 09:17
Ganar,

For 4.5.3, we are adding a small javascript behavior library to the administrator. The idea is to add better interactive behavior and slowly move the backend's mental model from a website concept to a RIA (rich internet application). AJAX is also something on our wishlist.

The primary goal is to add this behavior in a unobstrusive way, relying on the actual structure of the page and not like for example Gmail, BackPack etc. On the long run the adminustrator will keep using a push webmodel, AJAX and js will only be used the enchange it.
I only discovered this thread after doing this (http://forum.mamboserver.com/showthread.php?t=48655), is it worth me taking a look at the 4.5.3 CVS if I do any more playing along these lines?

Jinx
June 16th, 2005, 09:27
We manage a site with daily updates and we have noticed that each new version of mambo has a heavier and slower backend interface. Don't get me wrong : the new features are great, the problem is that in places were the internet connection is not very good it takes a long time to do anything in it.


We are aware of this and are looking at ways to make it less heavy. AJAX could help here by reducing the full page reload on certain functionality.

Jinx
June 16th, 2005, 09:34
I only discovered this thread after doing this (http://forum.mamboserver.com/showthread.php?t=48655), is it worth me taking a look at the 4.5.3 CVS if I do any more playing along these lines?

Gayle, AJAX is not yet implemented but i'm slowly moving towards it. Currently u will already find a small javascript behavior library in the 4.5.3 CVS. Here are a few links to AJAX libraries :


SAJAX : http://www.modernmethod.com/sajax/download.phtml (version 0.10)
JPSPAN : http://jpspan.sourceforge.net/wiki/doku.php
Celini : http://op-en.org/ (not yet released)
Prototype : http://prototype.conio.net/
(http://prototype.conio.net/)

eyezberg
June 20th, 2005, 03:55
From Alex Bosworth (http://Alex%20Bosworth%3C/a%3E%3C/b%3E) (http://Alex%20Bosworth%3C/a%3E%3C/b%3E)(full article) (http://Alex%20Bosworth%3C/a%3E%3C/b%3E)



Not giving immediate visual cues for clicking widgets.
Breaking the back button
Changing state with links (GET requests)
Blinking and changing parts of the page unexpectedly
Not using links I can pass to friends or bookmark
Too much code makes the browser slow
Inventing new UI conventions
Not cascading local changes to other parts of the page
Asynchronously performing batch operations
Scrolling the page and making me lose my place

<--R O B-->
June 20th, 2005, 05:54
good points - here's how I'd respond to them if impletement ajax work in mambo:

1. This is simply poor design, how does this apply specifically to ajax?

2. Hehe - mambo already suffers from this - as it leaves your articles checked in if you press the back button when editing an article.

3. I'm not sure that you'd need to worry about what robots do in the backend, and I'm unconvinced about his arguement: "users who are accustomed to having links drive navigation can become confused when links are used to drive application state changes"
surely page navigation IS state change? - and if visual feedback is given from your app then what's the issue?

4.Again surely a question of good design/bad design not simply a ajax mistake?

5. This doesnt apply to mambo afaict, certainly not in the administration

6. Not used enough ajax apps to have noticed speed problems, google maps works well for me and I'm using a 4 year old laptop (with about 10 other apps constantly running).

7-10 again simply (or not so simply :D) a question of good interface design /HCI design.

eyezberg
June 20th, 2005, 06:27
I do have some bookmarks in Mambo admin (pt 5): login, then click bookmark, instead of modules/site modules/latest referers (need to ban spaminators often..)

<--R O B-->
June 20th, 2005, 06:44
cool - never though about doing that :)

Jinx
June 20th, 2005, 06:59
These are all good points, however we are talking about using AJAX in the backend and not for the fun of it but to improve usability and workflow. Like ROB points out alot of the remarks don't related to our administrtor section.

1. I think we are doing a good job here

2. Will be fixed in 4.5.3

3. (see Rob's note)

4. This is beyond Mambo scope, the AJAX implementation will be built ontop and only take care of smaller tasks. For example, publish without page refresh etc ...

6. I'm working on speed improvements for the administrator.

eyezberg
June 20th, 2005, 08:09
I was not posting this in reference to Mambo btw, just as an add-on to a kind of "interesting links" collection, in case someone wonders what AJAX is (in Germany, it's used for cleaning .. :) )

YTW
June 25th, 2005, 02:42
:arrow: Collection of Ajax goodies (http://script.aculo.us/)

MIT license

eyezberg
June 25th, 2005, 03:24
Funny, found that yesterday too :)
Here's another: http://prototype.conio.net/

eyezberg
June 25th, 2005, 10:16
and another
http://johnvey.com/features/deliciousdirector/

eyezberg
June 26th, 2005, 05:14
Very nice example of PHP+CSS+JS: http://silicon.xs4all.nl/
Haven't tested on Firefox, but on IE it's very smooth and works great.

tonyskyday
June 27th, 2005, 08:21
:arrow: Collection of Ajax goodies (http://script.aculo.us/)

MIT license

I was just coming to post this -- guess I was beaten to the punch! :)

YTW
June 27th, 2005, 08:29
in case someone wonders what AJAX is (in Germany, it's used for cleaning .. :) )

LOL, in France too my dear

speedymedia
June 29th, 2005, 20:12
I met Craig Newmark last night (the founder of Craigslist.org) and I asked him about Housing Maps (http://www.housingmaps.com) and how he felt about someone cross hacking Craigslist/Google Maps. He said it was so cool they asked Google if they could do it officially from Craigslist but Google hadn't responded.

I was looking for some way to bridge information from a Community Builder user profile and Google Maps a la housingmaps.com. IMHO, this would be a most powerful application of AJAX and Mambo in the short term.

I'm just not enough of a programmer to know how feasible it is given the current state of each specific platform.

absalom
June 29th, 2005, 21:27
I met Craig Newmark last night (the founder of Craigslist.org) and I asked him about Housing Maps and how he felt about someone cross hacking Craigslist/Google Maps. He said it was so cool they asked Google if they could do it officially from Craigslist but Google hadn't responded.

I was looking for some way to bridge information from a Community Builder user profile and Google Maps a la housingmaps.com. IMHO, this would be a most powerful application of AJAX and Mambo in the short term.

I'm just not enough of a programmer to know how feasible it is given the current state of each specific platform.


I do believe they've already done it with geobloggers (http://www.geobloggers.com/) (which seems to be down at the moment) and the flickr world map firefox extension (http://flickr.com/groups/topic/21776/).

The technology is already out there :cool:

absalom
June 29th, 2005, 21:29
Very nice example of PHP+CSS+JS: http://silicon.xs4all.nl/
Haven't tested on Firefox, but on IE it's very smooth and works great.

Runs fine on the 'Fox..

Now how do we translate that sort of tech and layout to Mambo ? ;)

pixelsoul
June 30th, 2005, 06:17
The examples look cool.. very cool :D But isn't this simply javascript effects instead of Ajax?

I thought Ajax was more of a way run functions, and updating the page without a refresh.

Like SAJAX or Sarissa

http://www.modernmethod.com/sajax/examples.phtml
http://sarissa.sourceforge.net/doc/

:arrow: Collection of Ajax goodies (http://script.aculo.us/)

MIT license

pixelsoul
June 30th, 2005, 06:29
Yes this looks really cool :)

Very nice example of PHP+CSS+JS: http://silicon.xs4all.nl/
Haven't tested on Firefox, but on IE it's very smooth and works great.

eyezberg
July 1st, 2005, 00:25
http://weblogs.asp.net/scottgu/archive/2005/06/28/416185.aspx

Microsoft are building their own AJAX stuff now, code name Atlas. Clinet libraries, ASP .net server components etc..

speedymedia
July 1st, 2005, 00:27
Cool stuff.

http://www.searchenginejournal.com/index.php?p=1867

pixelsoul
July 9th, 2005, 16:01
2 other usefull link with nice libraries :)

http://www.ajaxtoolbox.com
http://cross-browser.com

aJx
July 17th, 2005, 03:14
Very nice example of PHP+CSS+JS: http://silicon.xs4all.nl/
Haven't tested on Firefox, but on IE it's very smooth and works great.
it's really good!

SiliconError
July 17th, 2005, 06:24
it's really good!
Thanks :)
Never known about AJAX before I came here :D
One and a half year ago I got an idea and I built it. Haven't really worked on it since. I'll be following this thread to see if someone comes up with better ideas so I can improve my own skills ;)

burundukkedbl
July 22nd, 2005, 04:23
I'm found XAJAX (http://xajax.sourceforge.net) library to build dynamic applications. It has functionality more then SAJAX... But it not collects formdata when requieres POST method. I'm fix this.. And it works fine... :)

tonyskyday
July 22nd, 2005, 07:28
Playing with the new media manager in the CVS build, and I am longing for it to be more responsive and not require full page reloads. How 'bout a little ajax-ification of the Media Manager? Any programmers out in the community able to provide a test case to the core team?

eyezberg
July 22nd, 2005, 07:51
tony, check the "Summer of Code" forum here in Dev, it's one of the projects, and supposed to be in the version after 453..

tonyskyday
July 22nd, 2005, 10:22
tony, check the "Summer of Code" forum here in Dev, it's one of the projects, and supposed to be in the version after 453..

Thanks, Joe.

Guess I missed that. ;)

eyezberg
July 26th, 2005, 07:50
First, take a look at the example (http://www.badboy.ro/assets/articles/niceforms/niceforms.html).

Then, read the article (http://www.badboy.ro/articles/2005-07-23/index.php), and the comments (still some issues it seems).
Looks like something I'd want to add to my arsenal ;)

sarahk
October 11th, 2005, 23:01
I'm interested in this too. It could be good for user input where there is alot of data to capture. Most of our users will be on dial up so it's one way of getting their info down to the server and back without lengthy refreshes. And because it's data entry there's no need to worry about book marking or SEO issues.

Sarah