Ajax Blog


JS Linker in Dojo Toolkit

Posted in Ajax News by Dion Almaer on the August 31st, 2006

AOL has been very generous by donating code for the JS Linker for Dojo:

The JavaScript source code can be represented in different levels of granularity. The JavaScript Linker uses the Abstract Syntax Trees (ASTs) representation, which represents the lowest level of detail, to model the source code. One of the main task for this project was to write a JavaCC compatible grammar that strictly follows the ECMA Specification. JavaCC uses this grammar to build a custom parser than can read and analyze the JavaScript source, which in turn, is used to build the JavaScript Linker.

What this means to Alex Russell:

This is the holy grail of JavaScript optimization: removing “dead” code. Dojo already provides a package system to help prevent including too much and a build-time compressor to help reduce the size on the wire of what you do need, but the linker does all of this one better by analyzing the application and figuring out what functions are entirely unused.

JavaScript has some unique issues with packaging, and this will help Dojo coders out a lot.

Source: Ajaxian
Original Article: http://ajaxian.com/archives/js-linker-in-dojo-toolkit

“Beginning Ajax With ASP.Net” Released

Posted in Ajax News by Michael Mahemoff on the August 31st, 2006

Wrox Press has published “Beginning Ajax with ASP.Net” by Wally McClure, Scott Cate, Paul Glavich, and Craig Shoemaker.

The book is suitable for Ajax newbies who work with .Net (as well as those who do have some Ajax experience), as the first five chapters are pure Ajax overview. Beyond that, several .Net frameworks are overviewed, including Ajax.Net, ComfortASP.Net, MagicAjax, and Anthem.Net, as well as three chapters devoted to Atlas. An often-overlooked, but essential, aspect of Ajax - debugging - is also covered.

The chapters:

1 Introduction to Ajax on ASP.NET
2 Introduction to DHTML
3 JavaScript and the Document Object Model
4 The XMLHttpRequest Object
5 Data Communication: XML, XSLT, and JSON
6 What Is Built into ASP.NET
7 Ajax.NET Professional Library
8 Anatomy of Ajax.NET Pro Library
9 Other Ajax Libraries for .NET
10 Atlas Client Scripting
11 Atlas Controls
12 Atlas Integration with ASP.NET Services
13 Debugging

More info:

Source: Ajaxian
Original Article: http://ajaxian.com/archives/beginning-ajax-with-aspnet-released

SynapseLife bundles lots of little tools

Posted in Ajax News by Marshall Kirkpatrick on the August 31st, 2006

SynapseLife is a suite of integrated online applications for managing various parts of your life. The company is currently accepting email addresses for beta release notification on the first of October.

SynapseLife is the first consumer play of Synapse Corporate Solutions, a four person Seattle team founded by Daniel Rust and Mark Michael. The basic applications will be free with premium applications available.

There’s eight ajax applications scheduled to be in the initial release. A contacts manager, calendar, email broadcast tool, to-do lists, a financial ledger, a feed reader, favorites and tagging. All of the applications will be fully accessible by mobile device; there will be three versions of the site, a text only version for simple phones, a version with more graphics for PDAs and the basic browser version.

The contacts manager will integrate with the email broadcast service, for sending email blasts to groups of people. Emails will go out through SynapseLife but will have your regular email as the reply to address.

The calendar app will include the ability to create events and manage RSVPs - invitees will receive emails containing a link to a page for your event where they can provide information like the number of guests they’ll be bringing.
The RSS feed reader aims to be highly customizable and there’s an online bookmarking function. Content throughout the suite will be searchable by tags.

The company plans to release an API to allow other functionality to be added or for Synapse to be plugged in to other systems by third party developers. The personal applications described above will be free and users will have the option to pay for additional features aimed at small business and entrepreneurial needs. Those features will be based on the company’s legacy web service, which will be upgraded for the demanding Web 2.0 aficionado.

This is a great example of the kind of lightweight bundle of applications I expect to see a lot more of in the future. Yahoo! Mobile offers a similar but different feature set.

Source: TechCrunch
Original Article: http://feeds.feedburner.com/~r/Techcrunch/~3/18090605/

Complicating simplicity

Posted in Ajax News by Matt on the August 31st, 2006

Gah! Trying to read about the “Simplicity: The Art of Complexity” (er, what?) conference. But the description at the conference site is the exact opposite of simple, clear writing:

An investigation of the essence of simplicity must necessarily get involved with the psychology of human-machine interaction.Why do we display such a strong proclivity to regarding technology as an externally imposed authority, to condemning or venerating it?…If we merely equate simplicity with simplification and reduction, simply let the technology become “invisible”, we not only manifest our inability to even recognize the type and extent of the technological deployment, but we also relinquish the ability to perceive its consequences and side effects. In doing so, we cheat ourselves out of not only our capacity for self-determination but also the possibility of fully utilizing technology’s capabilities.

And that’s just a small excerpt. Other words used on that page to talk about simplicity: inundations, technophobic, realtime-access, polyvalencies, global knowledge networks, externally imposed authority, dispassionate, technological competence, ambient inspiration, technological deployment, framework conditions, free zones, portals, alternative models, and artistic interventions.

I’ve got an idea where the intervention should start.

If you’re going to talk about simplicity, why not do it with words that are actually simple?

Source: Signal vs. Noise
Original Article: http://37signals.com/svn/archives2/complicating_simplicity.php

YouTube pulls a Facebook move, circa 2004

Posted in Ajax News by Marshall Kirkpatrick on the August 31st, 2006

YouTube has opened a new section of its site called Colleges on YouTube. Students, staff and alumni of 30 universities can access video from their school community by using a .edu email address and other users can’t access those pages. Users are encouraged to suggest that their school be added to the list. This strategy has clearly been successful for Facebook, probably the 2nd most recognized online social network in the US with separate sections for more than 2000 schools. Just like Facebook is moving away from its initially closed nature, though, it makes little sense to me to see YouTube launching private sections on what was initially a viral video site. A closed college section is to the rest of the site like a suburban gated community is to a hip downtown scene.

I can’t help but think that a college section is appealing because it will keep out the freaks (and pirates) that make YouTube so lively. More Tea Partay, less 66Six. And thus more profitable advertising, in the short term at least.

The theory is that walled gardens for colleges make relevant content easier for insiders to find and less likely to be viewed by outsiders. In reality though, alumni accounts and the basic portability of data on the web mean that it’s not very hard to access the content and posting Facebook profiles elsewhere on the web has become standard gossip blogger practice. A degree of privacy on Facebook may be an antiquated idea from the days when online social networks were new. The .edu email login may be little more than an inconvenience to casual contact and collaboration - anyone who really wants to can get into the system. Things are changing at Facebook - its recent API release indicates that in some ways the company wants now to take the lead in opening up.

Creating closed sections of your site for large communities is not the direction the best of the web it going in.
YouTube is known and loved not just as a site to upload videos, but as a place to find and spread video freely. Photosharing site Webshots demoted their College Live section from its own tab to a drop down menu item on the front page in this week’s redesign. Given that College Live rolled out in April, downplaying it in the end of August may indicate that it was a summer time experiment that wasn’t well received.

Webshots has said that video sharing will soon join photo sharing on its site. Hopefully Flickr and Zooomr will be next in offering video support. The line between photo and video is blurring, the line between inside and outside social sites is blurring - so why would YouTube draw another line around college users?

Though it was a trailblazer in user uploaded video community, the site is facing a growing anti-Paris Hilton (corporate influence) revolt and in this move seems to be moving backwards as well. Perhaps this fledgling section will wither on the vine or perhaps the freaks will move on to other sites.

Source: TechCrunch
Original Article: http://feeds.feedburner.com/~r/Techcrunch/~3/18064472/

Penguin’s Great Ideas = great design

Posted in Ajax News by Matt on the August 31st, 2006

The covers to Penguin’s Great Ideas books (red series 1 & blue series 2) are sweet: minimal color (black and one spot color), classic styling, pretty illustrations, and debossed printing.

Penguin 1   Penguin 2

With publishing companies shaking in their boots over digital publishing, this is a great example of how a company can differentiate by using a product’s “realness.” These are classic books that look classic. The kind you want to keep on your shelf for years to come. A PDF can’t compete with that.

New ways to judge books by their covers discusses the Penguin books and why more publishers may start looking to design as a differentiator.

It began in 2004 with Great Ideas, a collection of political and philosophical polemics. The project had a small budget and its design was entrusted to a recent graduate, David Pearson. His brief was to produce a coherent series of paperbacks selling for £3.99 each. Dressing each cover with a typographic style typical of the time and spirit of the text, Pearson limited printing to two colors - black and burgundy - on uncoated paper, leaving him with enough money for a few decorative details. Great Ideas won numerous design awards, and Penguin sold two million books. “Some were bought by people who wanted accessible versions of the text, and some by people who liked the packaging,” says Stoddart.

You can also read more about the Great Ideas design at Eye Magazine’s “Type-only Penguins sell a million” shock.

Some other interesting Penguin book covers, past and present:
Penguin Graphic Classics
70 Years of Penguin Design
Penguin books at Design Museum

Source: Signal vs. Noise
Original Article: http://37signals.com/svn/archives2/penguins_great_ideas_great_design.php

Mini Review of “Javascript: The Definitive Guide, 5th Edition”

Posted in Ajax News by Dietrich Kappe on the August 31st, 2006

The latest edition of the venerable tome JavaScript: The Definitive Guide is a sorely needed update. I guess it took Ajax, Web 2.0, and an intervening five years to revive interest in in this quirky client-side language. The fourth edition, while still providing a good formal specification of the language, had fallen woefully out of date both with some of the new features introduced in recent browser versions and in terms of practical examples of how JavaScript is being used to enable Ajax and Web 2.0 applications.

I don’t mean to give a full review of a thousand plus page book here. Rather, I just want to focus on the chapter that covers client-side persistence. In the fourth edition, the corresponding chapter only discussed “cookie scripting.” While this chapter does talk about cookies, it delves into a number of other options for persisting data on the client.

Unfortunately, for a book that describes itself as the “definitive guide”, it only discusses three options for persistence: cookies, IE userData persistence and Flash SharedObjects. This coverage is far from definitive. In fact, Brad Neuberg in his discussion of dojo.storage enumerates seven different client-side storage mechanisms:

  1. Cookie Storage Provider - uses cookies to persist the hash table
  2. Flash Storage Provider - uses Flash’s SharedObjects to persist data
  3. ActiveX Storage Provider - uses COM’s File APIs to persist data
  4. XPCOM Storage Provider - uses XPCOM’s File APIs to persist data
  5. Form Storage Provider - uses the text autosave features of a hidden form to save transient data (the Really Simple History library uses this trick)
  6. WHAT WG Storage Provider - uses native browser persistence to store data, as defined by the WHAT Working Group.
  7. IE Storage Provider - uses IE’s proprietary abilities to store up to 60K of data.

Maybe this is just a sign that the use of JavaScript has grown so far beyond what was common or even thinkable in 2001 that it is simply isn’t possible to write a definitive guide, at least not in a thousand pages. Would you buy a book called “Java: The Definitive Guide?” Probably not.

What is there — the discussion of Flash SharedObjects and IE userData persistence — is pretty brief in comparison to the exhaustive treatment of cookie persistence. It does give you a basic description and enough code samples to get you started, but a cookbook it is not. The section on persistence alternatives has the feeling of an afterthought — something shoehorned into the book relatively late to address Ajax and Web 2.0. In fact, many parts of client-side portion of the book have that feel.

I think the book is still worth buying as a language reference, if only for its treatment of closures and object creation, but for now you’ll have to look online for more detailed, exhaustive, and “definitive” treatment of many topics.

Source: Ajaxian
Original Article: http://ajaxian.com/archives/mini-review-of-javascript-the-definitieve-guide-5th-edition

Double cover & Approval Matrix at New York Magazine

Posted in Ajax News by Matt on the August 31st, 2006

NY MagNew York magazine did something clever with its recent fashion issue. It has two covers. One side says “Women” and features actress Rachel Weisz. When you flip it over, there is a second cover on the back: “Men” with actor-director Justin Theroux. You can read the magazine either way (stories appropriate to each gender are located on each side) and the two cover models “meet” in the middle of the magazine for a joint photo shoot. Makes sense from a biz standpoint too since front of book advertising is the most coveted space for advertisers. Two “fronts” probably means increased ad revenue.

MatrixAnd in case you’ve never seen it, the magazine’s regular Approval Matrix feature is worth a look. What’s hot/not lists are most definitely not hot but the interesting presentation of the Approval Matrix (X/Y axis charts an item’s highbrow/lowbrow/despicable/brilliant-ness) separates it from the pack.

Source: Signal vs. Noise
Original Article: http://37signals.com/svn/archives2/double_cover_approval_matrix_at_new_york_magazine.php

JavaScript Persistent Object Notation (JSPON)

Posted in Ajax News by Dion Almaer on the August 31st, 2006

Kris Zyp has written up a RFC for JavaScript Persistent Object Notation (JSPON). The idea is to standardize a method for the identification of objects for efficient transfer and persistence of objects within large object graphs.

JavaScript Persistent Object Notation (JSPON) is a data-interchange format with the goal of simply being a defined usage of JavaScript Object Notation (JSON) to facilitate JavaScript objects that are intended to persist by defining a scheme to provide the necessary semantics needed for efficient and meaningful persistent objects. JSPON is pure JSON and maintains the same simplicity of JSON, and establishes a format for serializing and referring to objects to enable the persistence of JavaScript objects and object graphs by defining a set of fields for identification, deferred value loading, decentralized object creation, and primitive value, function and array object augmentation.

JSON provides simple straightforward mechanism for serialization of objects that can efficiently and easily be read by humans and machines. JSON can be adequate for the persistence of simple small objects. However applications that have large complex object graphs and sets of data generally require the exchange of smaller subsets of the data/object graph to be transferred and persisted at a time rather than requiring an entire object graph to be treated as whole, as well as allow objects to be referred from multiple fiels. Such operations on subsets of data entail identifying objects within a graph and allowing for transfers of subsections of object graphs (and not just end point subsets). JSPON provides the common language so that objects can be passed with proper identification and reference information. This also allows objects to be referred to more than once (not possible within a normal JSON object graph). Standard JSPON simply defines several fields that can be added to JSON object to assist in data description.

Source: Ajaxian
Original Article: http://ajaxian.com/archives/javascript-persistent-object-notation-jspon

Embedded SVG in Protowidget

Posted in Ajax News by Dion Almaer on the August 31st, 2006

Terrt Laurenzo has posted on Embedded SVG from his experience starting with the SVG example from Mozilla, and adapting Protowidget so that it could attach widgets to some SVG elements.

XML:
  1.  
  2. <svg xmlns="http://www.w3.org/2000/svg"
  3.        version="1.1" width="500" height="500"
  4.        baseProfile="full">
  5.     <g fill-opacity="0.7" stroke="black" stroke-width="0.1cm">
  6.       <circle cx="6cm" cy="2cm" r="100" fill="red"
  7.                       transform="translate(0,50)"
  8.                       pw:type=’Svg.SvgWidget’
  9.                       pw:element.r=’#{`Jitter1`}/>
  10.       <circle cx="6cm" cy="2cm" r="100" fill="blue"
  11.                       transform="translate(70,150)"
  12.                       pw:type=’Svg.SvgWidget’
  13.                       pw:element.r=’#{`Jitter2`}/>
  14.       <circle cx="6cm" cy="2cm" r="100" fill="green"
  15.                       transform="translate(-70,150)"
  16.                       pw:type=’Svg.SvgWidget’
  17.                       pw:element.r=’#{`Jitter3`}/>
  18.     </g>
  19. </svg>
  20.  

You can check out the test on an SVG enabled browser

Source: Ajaxian
Original Article: http://ajaxian.com/archives/embedded-svg-in-protowidget

Next Page »