Note, this post has been updated as of January 2009 to reflect changes in the Web Agent Builder version 1.8.128.
I recently added this entry as a post in our new forums (which by the way, we are very excited about!) and decided it deserved some attention here as well, given the increase in queries we receive about AJAX (no, not the cleaning powder) and how to handle it in the Web Agent Builder.
----
As web technology advances, many sites are using more advanced methods to display web content. For example, when using our web application to view a list of agents, when you click on an agent, the list disappears and is replaced with the details about the agent. The browser does not navigate to a new page, but rather, the webpage itself requests the new information from the server in the background and displays the new information by changing a part of the current webpage. This technology is know as AJAX (asynchronous JavaScript and XML, don't worry, it's not as scary as it sounds).
Because agents are primarily built using a Page structure, sites that rely heavily on AJAX to display content can be tricky. However, in most cases, sites that use AJAX do so lightly, and an agent can be designed to handle them. Here are a list of cases where AJAX is most frequently used:
1) Paging a list of results (for example, clicking [b]next >>[/b] to get to the next set of results from a search). When paging, the next list of items simply replaces the old list without causing a new page to load. [action: Page List]
2) Clicking a list item causes the item details to appear somewhere on the same page. Often, there is a designated part of the existing page that the information appears in, or a box containing the information appears on the page covering the list (with some sort of 'close' button or link that causes it to go away). [action: Click Item]
3) Selecting a value from a drop-down causes a part of the page to change, or the values of another drop-down to populate (for example, selecting the automobile manufacturer in one drop-down causes another drop-down to populate with the available manufacturer models). [action: Set Element Value]
4) After a page loads, some of the page contents take additional time to finish loading. This is often manifest when testing the agent in the builder. An Item Not Found error will occur for the first action on the page. [action: Page]
All cases can be handled by telling the agent to wait for AJAX to complete before proceeding to the next action. Most actions contain a property titled 'Wait for AJAX to alter the current web page'. This can be set by either double-clicking the specific action (or right-clicking the action and choosing 'properties') and clicking the 'Additional Settings' button in the properties panel. If this property is checked, the action will wait 2 seconds for AJAX requests by the webpage to begin. For example, if I have a Click Item action with this property checked, the action will wait up to 2 seconds for the page to begin making AJAX requests, and then any additional time it takes for any AJAX calls to complete. So, in reality it may take less than a second after performing the click action for an AJAX call to begin, but a total of 5 seconds for the AJAX call to finish. The next action will not be executed until any detected AJAX calls have completed.
On the other hand, the Wait x seconds before performing the next action property of an action waits an absolute amount of time. You can also force an agent wait an absolute number of seconds by inserting a Wait-Seconds action anywhere within your current list of actions. This can be done by right-clicking an action and choosing 'Insert a Wait-Seconds action after this action'.
We've been so busy getting the company going over the past year, implementing core features and so forth, we haven't had much time to introduce features like forums. But finally Mozenda Forums are here: http://www.mozenda.com/forums
Use the email address and password you use to sign up for Mozenda to get in (in fact, once you are signed into Mozenda, you are also signed into forums, they operate under the same account).
Finding good forum software is next to impossible. We wanted something that was relatively clutter-free, provided good searching capability, and made it easy for users to see what's new and to know when responses have been made to their questions and comments. We essentially couldn't find forum software we liked, so we purchased 3rd party forum software with source code that was manageable, then modified it to get what you see today.
Those who use DropBox (http://www.getdropbox.com), which is a great product by the way, and have used their forums, will immediately recognize the similarities. We liked DropBox's forums format so much we tried our best to replicate what they'd done. It's elegant and clutter-free.
Let us know if you have any suggestions on how to improve the forums. We'll be following and responding to posts frequently. Use the forums to report bugs, ask for new features, give praise, or talk about your favorite college football team (go Washington Huskies!).
Enjoy! And thanks for using Mozenda!
-Corey
It's been awhile since we've had time to work on features for the web application. We've been cranking in so many other areas not always visible to our customers. Tonight we updated the web application with some new features we've been working on over the past month. We'll blog more about them later, but for now here's a list of what's been added:
We've also fixed a ton of bugs. We've probably missed some. If your "favorite" bug hasn't been fixed, please let us know. We'll bump all customer-reported bugs to the top of the bug-fix priority list.
More to come soon! Thanks to our customers for giving us the opportunity to serve them and help them tackle their projects. We appreciate each and every one of you and are especially thankful for all the friends we've made in the process. Thanks to everyone else who has taken a look at our product. We hope you sign up soon! :-)
Google has unveiled a new program called "wave" at the google IO. The program was written by Lars Rasmussen who previously created Google Maps.
This is a new way to look at e-mail. Waves is a little like e-mail, blogger, and instant messaging all in one. If you choose your messages will instantly display on a blog, in an e-mail and and instantly in an IM. People can comunitact at the same document at the very same time.
The program is a little buggy, but still very cool. The part I liked best was the ability to display what the person is typing as they type it. This technology is only availible in HTML 5, and only with opensource browsers - Sorry IE users you will have to get something else.
Here is a photo of me with Vic Gundotra last night. Vic is the vice president of Engineering at Google.
A gathering of 4000 of the best and smartest programmers in the world is occurring right now at the google I/O. This conference is confirming to me that Mozenda and web data mining is the place to be. When Google CEO Eric Schmidt used the term "mashing together" in reference to data and web applications during his keynote address and then again 30 minutes later a reference was made to Mashups it only proves to me the need to mine out and aggregate web content. I have to say that the best part so far has to be the free Google Android phone that is being passed out to all conference goers. Googles goal with this is to give them to us and have programmers build applications on their open environment to strengthen the usability of their phone.