AJAX: Roller skates for the Web
620434
(InfoWorld) - SANTA CLARA, CALIF. -- AJAX (Asynchronous JavaScript and XML) Web application development can be roller skates for the Web; it must be used appropriately or it can be dangerous, said Jesse James Garrett, the IT consultant credited with coining the term "AJAX." Garrett gave a keynote presentation at the AJAXWorld Conference & Expo on Tuesday morning. While noting the benefits of AJAX, chiefly its enabling of asynchronous interaction over the Web, Garrett cautioned that AJAX is not usable in all instances. It is similar to how it would not be good to roller skate around a shopping mall, he said.  "We're going to introduce AJAX into places where it doesn't belong," said Garrett, who is director of User Experience Strategy and a founding partner of Adaptive Path. Afterward, Garrett elaborated. "I think a lot of people are trying to use AJAX for doing kind of more dynamic content navigation -- the stuff that the Web is already pretty good at, and that's a place where it starts to break down," Garrett said. This use of AJAX breaks the conventions of the "back" button, he said. Garrett's roller skate assessment struck a chord with attendee Vera Algoet, a Web developer at the Monterey County Office of Education. Although not currently an AJAX developer, Algoet cited the possibilities of fun and danger with using AJAX. "I havenât done any [AJAX development] yet, but I've read some things about security concerns," she said. But AJAX offers the possibility of improved applications, Algoet said. "I just want to make better applications" that are easier to use, she said. Recalling the genesis of the term "AJAX," Garrett said his company was hired by a large insurance company to improve an application to capture more business. Setting about trying to find a solution for responsiveness on the Web, Flash was first thought of as a solution, he said. But it became apparent there was a different way to approach the problem. "We built a prototype of this approach, we tested it with the insurance agents, and the response was overwhelmingly positive," Garrett said. "We actually had people laughing out loud with delight at processing an insurance policy." To persuade the insurance company president to fund the project with $2 million, Garrett came to the conclusion that he needed an easier way, just one word, to encapsulate what he was trying to do. He then came up with the word, AJAX. Garrett noted that AJAX is a concept involving asynchronous interaction and the use of browser-native technologies. Communicating the importance of these applications is critical, he stressed. "The challenge for us in designing these AJAX applications is in figuring out how to communicate to users the possibilities of using these applications," Garrett said. AJAX, he said, allows for incremental migration. "With AJAX, we can apply it in bits and pieces. We can incrementally migrate components of this new application to this new model where it makes sense, rather than having to move the whole thing all at once," said Garrett. Additionally, AJAX developers are able to learn from each other's approaches. While AJAX technologies have been around for a while, it was not until 2005 that everybody got behind this approach, Garrett said. This was because the end of the browser war presented a relatively stable landscape and scripting languages became prominent. The innovation posed in the AJAX-based Google Gmail and Google Maps applications also contributed, he said. AJAX usage figures presented by Evans Data at the conference show a promising future. About 1.7 million developers now use it and another 1.9 million have evaluated it or plan to use it, according to Evans. An Adobe official at the show stressed that Adobe's Flex and Flash technologies can work with AJAX rather than rival it. "Flex and the Flash platform [are] not here at all to replace or try to compete with AJAX," said Christophe Coenraets, senior technology evangelist at Adobe. "Flex and AJAX work together to deliver the right experience," he said. Coenraets also briefly discussed Adobe's planned Apollo technology for running browser-based applications outside of a browser. This technology, which currently is an alpha stage of development, enables users to run Flex and Flash applications offline and allows access to local resources. JackBe at the conference unveiled its Presto REA (Rich Enterprise Application) platform, for delivering enterprise AJAX applications that are based on SOA and Web services. "It provides a governed access to SOA services," said Rob Vonderhaar, vice president of marketing at JackBe. The platform goes into a beta release in November, with general availability planned for the first quarter of 2007.
695954
The O'Reilly Network has a new article this morning targeted towards those out there wondering what page controllers are and what is so life-changing about using them in your code.
562776
A different sort of abstraction layer project has been started up and has already seen a few releases - Forage. As mentioned on Rob Young's blog:    Recently I've been working on a search abstraction library for PHP called Forage. The idea is to bring to search what we've had for relational databases for quite a while, abstraction.    On Friday I put up a preview release with three backends; Solr, Xapian and Zend Search Lucene. At the moment it has the bare minimum of features but there will be more soon. In this post I'm going to talk a little about the motivation for the project and then walk through a short example.    He talks about the need for search abstraction (integration and resilience to change) before getting into an example of some code that grabs the data from an RSS feed, passes it in to the Xapian search engine and stores it before looking it over for thier search terms ("yahoo microsoft").   You can download the library if you'd like to try it out for yourself.
743840
Chris Shiflett has posted his own recap of the (just passed) php|works conference up in Toronto over on his blog.   I've been traveling non-stop since php|works, so I haven't had a chance to reflect on the conference, what I learned, who I met, and things like that. (Zak has been doing a good job of this lately, and I'd like to follow his lead.) I've probably forgotten more than I remember, but this is my recap.   Included in the things he mentions are:  The people he was able to meet (like Joshua Eichorn and Sebastian Bergmann) The talks he gave ("Truth about XSS" and "Agile PHP Testing") His interview with Cal Evans of the Zend Developer Zone The PHP 5 Certification and Wez Furlong's "Not PDO" talk
185572
On the ProDevTips.com website, there's a new tutorial (part one of a series) that walks the developer through the integration of the Zend Framework, some Ajax functionality and Smarty to create a feed reader.   In this series I will walk you through the code of a site that uses only Ajax and Scriptaculous to handle it's completely windowed interface. Making an interface like this is not really good design, it's only done here for the sake of teaching. It is kinda cool though. Especially if you have a big screen.   The source code is available for download and having it makes the installation and setup of the system much simpler. With it, you're only about fifteen steps away from getting the application up and running.
517445
Tips for improving the efficiency of job searches on the Web.
429406
One of the major issues plaguing search engines right now is the growing list of web documents available online. While no exact numbers are available, there are billions of search results to sort through. But, they can&#8217;t all be relevant both on material content and time &#8212; can they?  Of course they&#8217;re not, and Google [...]
445025
Popular posts from PHPDeveloper.org for the past week:Stijn Leenknegt's Blog: [PHP6] function-return-array idea!GeesNotNerds Blog: Free PHP + Ajax chat appStefan Mischook's Blog: Object Oriented PHP Tutorial Updated - Steps 18 - 22Dave Dash's Blog: SymfonyCampWebDigity.com: PHP geotargeting techniquesEtienne Kneuss' Blog: Late Static Bindings ExplainedDevShed: Handling Static Data with PHP 5PHP-Learn-It.com: Cooking Cookies with PHPMichael Kimsal's Blog: PHP PredictionJob Posting: Steinman Recruiting Seeks Senior Developer (Littleton, CO)
744440
On his blog today, Chris Hartjes has a quick screencast he's created showing off an interactive testing console he's worked up for use with the CakePHP framework.   I had suggested in an email to the CakePHP mailing list that an interactive console for doing testing of Models would be good. While at php|tek I spent a lot of time with the CakePHP guys talking about this. Out of it came some more ideas (like the ability to test your routes) and they even implemented a console that spits out API information for you. Very cool stuff. So, I decided to do a little screencast demo of a very early alpha version of the interactive console.   The screencast shows Chris running a test on his own classes, including demonstrating the built-in help the app offers.
272507
On our sister site, AjaxDeveloper.org, today, there's a new post that mentions the latest blog post from Joshua Eichorn - a look at Javascript behaviors in his PEAR package, HTML_AJAX.    Welcome to part two of the series "Sending email with AJAX." In three parts, this series goes through the making of a simple web-based email application. It uses AJAX as the driving technology for fetching the files responsible for sending email from the server, as well as for adding and updating contacts.    This part covers the development of a "email sender" module, a "contact listing" module, the "contact insertion" module, and, finally, starting things up with the initializeEmailClient function.
660553
DevShed continues their series looking at connecting a PHP5 script to the powerful Yahoo! search backend with part four of the series today. This part focuses on reworking some of the previous examples to make them more modular using custom defined functions.   Logically, these examples can be really useful for learning the basic concepts surrounding the use of these search services, but undoubtedly, it's necessary to modify and improve their source code to make it more compact and completely reusable.   They start the overhaul with the web search (complete with example results) then push on to the video and image searches and work them over the same way.
229003
OpenLink Software are pleased to announce release 2.1 of the OpenLink AJAX Toolkit (OAT).    This release introduces the following new features:     * Enhanced RDF Parser (includes support for RDF/XML and RDF/N3)    * New Faceted RDF Data Browser    * RDF Graph Visualization Control with sidebar for Graph Density manipulation    * New RSS Reader Control    * Visual SPARQL Query Builder added to + Form Designer's Data Source control    * OpenAjaxAlliance conformance    * Inter-control messaging system    * Enhanced Tree and Dock Controls    * Enhanced Anchor tag that facilitates lookups to SQL, XML, and RDF Data Sources via In Page Activation of Data Driven Web Pages    * Updated Animation API  For further information, please see:   Project homepage on sourceforge.net: http://sourceforge.net/projects/oat   File downloads: http://sourceforge.net/projects/oat/files   Live Features Demonstrations: http://demo.openlinksw.com/DAV/JS/demo/index.html
152191
Hasin Hayder has started up a new project that he's documented in a new blog entry - the creation of a new jobs website in PHP.   I was involved in making a job site few days ago. During the development, I have studied how easily anyone can develop a job site using PHP (language independent in true sense) . So I decide to write a blog post about my experience and here it goes. But note that this article is not about scaling or balancing the load on your site during heavy traffic, heh heh.   He comments on the startup process surrounding this type of site and makes suggestions about something to consider for your careers site - pulling job content from other sites in two ways - screen scraping and using the job search APIs out there.
460464
A new posting from Dynamically Typed - More on rich web UIs - has a few interesting links to share, as well as Harry's search for a XmlHttpRequest method.
466256
Ligaya Turmelle has relayed some great news in her latest blog entry, something that the web's been needing for a long time - a new group from the W3C created specifically for enhancing the HTML standard.   Now I have to admit to being curious about what is going on - after all anything new dealing with the web affects me as PHP coder. Since the W3C is supposedly interested in input from the Web community and content developers, I decided to see who from PHP would be there. Granted it is very early for the formation of the group so it didn't really surprise me to see no one from PHP that I know or heard about in there, but I wonder if anyone from the PHP Group will become a "invited expert" somewhere down the road.   The group is looking for members to help define this next generation of markup on the web. Check out their page for some of the qualifications needed to participate and for some of the upcoming events.W3C Launches New HTML Working Group
575210
Popular posts from PHPDeveloper.org for the past week:PHP-Coding-Practices.com: How I Turned A Slow Array Sort Into A Quick One Using Quicksort AlgorithmZend Developer Zone: PHP Abstract Podcast Episode 4: Planning ProgrammingWeb Development Blog: Save bandwidth with PHProxy and ip2nationJob Posting: Assembleron Ltd Seeks PHP 5/MySQL/Ajax Developers (Reading, UK)PÃ¡draic Brady's Blog: Complex Views with the Zend Framework - Part 6: Setting The TerminologyThe Bakery: Four New Articles - Load Balancing, Request Info, UUID Behavior & Upload ThumbnailsCommunity News: PEAR Installer version 1.6.0 releasedChristopher Kunz's Blog: Building PHP with cURL and libmysqlclient5DevShed: Working with Prepared Queries with PDO Objects in PHP 5Secunia.com: rPath update for gd, php, php-mysql, and php-pgsql
626763
AJAX lets you give your Web site a cool, slick user interface. But there are downsides. Find out the best ways to manage potential AJAX woes, in this excerpt from Enterprise Ajax.