Saturday, May 31, 2008

The other JIT: JavaScript Information Visualization Toolkit



Java JavaScript CSS HTML C# Ruby WebService


Nicolas Garcia Belmonte has written a different JIT, the JavaScript Information Visualization Toolkit.

The JIT is an advanced JavaScript infovis toolkit based on 5 papers about different information visualization techniques.
The JIT implements advanced features of information visualization like Treemaps (with the slice and dice and squarified methods), an adapted visualization of trees based on the Spacetree, [...]

Dojo and Zend Framework Integration Released



Java JavaScript CSS HTML C# Ruby WebService


The Zend Framework aims to be a top notch framework for building next generation Web applications in PHP. Dojo has similar aims on the front-end side, so they decided to join forces to provide an integration layer. If you like the combination you will have a better, tighter, way to build your applications.
What we see [...]

Dojo and Zend Framework Integratation Released



Java JavaScript CSS HTML C# Ruby WebService


The Zend Framework aims to be a top notch framework for building next generation Web applications in PHP. Dojo has similar aims on the front-end side, so they decided to join forces to provide an integration layer. If you like the combination you will have a better, tighter, way to build your applications.
What we see [...]

Stack: A native Array wrapper that works



Java JavaScript CSS HTML C# Ruby WebService


Andrea Giammarchi has created a native array wrapper that works across browsers. He is excited:

I do not know how many times, during this years, JavaScript Ninjas have tried to subclass the native Array to create libraries over its powerful methods without losing performance. I have finally discovered the way to remove the locked length from [...]

classy_inputs: Rails plugin to add autoclass names



Java JavaScript CSS HTML C# Ruby WebService


We all want to use input[type=text] but browser support doesn't seem to quite be there (IE 6?).
This lead James Coglan down the path of creating a teeny Rails plugin, classy_inputs:

Good lord do I ever hate input tags. (YUI hates them too, but I’ll leave that story for another time). All the different types should really [...]

An easier and more accessibe YouTube player



Java JavaScript CSS HTML C# Ruby WebService


We’ve covered the YouTube JavaScript API here before and especially the chance to write your own players in HTML and JavaScript with it. Especially the ext.js based one to one copy of the YouTube interface was of interest.
At the Accessibility2.0 conference in London earlier this year, Antonia Hyde of United Response gave a [...]

Friday, May 30, 2008

An easier and more accessibe YouTube player



Java JavaScript CSS HTML C# Ruby WebService


We’ve covered the YouTube JavaScript API here before and especially the chance to write your own players in HTML and JavaScript with it. Especially the ext.js based one to one copy of the YouTube interface was of interest.
At the Accessibility2.0 conference in London earlier this year, Antonia Hyde of United Response gave a [...]

Browser cookie restriction research



Java JavaScript CSS HTML C# Ruby WebService



Nicholas C. Zakas was doing some prep work for his new book when he delved into browser cookie restrictions for the big four browsers:

The most interesting fact I discovered is that Safari places no limit
on the number of cookies that can be set per domain. In fact, you can
set enough cookies on the client to [...]

moo.rd 1.3 released



Java JavaScript CSS HTML C# Ruby WebService


The moo.rd team has released version 1.3.1 of the moo.rd extension and seems to be almost a rewrite, nowbased on MooTools 1.2 so it uses the new MooTools syntax and logic.
The team told us about the release:

This release features new components like the Cycle Effects and Cycles Effects which allows to create powerful slide shows [...]

IE 8 and Cross Document Messaging



Java JavaScript CSS HTML C# Ruby WebService


IEBlog has posted about the IE 8 support of postMessage, which is great news.
They link to a MSDN article that discusses the support, and a use case.
Jeff Walden noted that “the interface implemented by the current IE8 beta lags the HTML5 specification by several revisions in backwards-incompatible ways, so if you’re going to experiment with [...]

Webmonkey is back!



Java JavaScript CSS HTML C# Ruby WebService



Webmonkey was a great resource for us when we the Web took off, and it was a shame to see it die out. Today we saw that Webmonkey has been re-born as Conde bought it back and put the content back online.

We have also republished the bulk of Webmonkey’s vast library of tutorials and reference [...]

dojox.lang.aspect: More than just interception



Java JavaScript CSS HTML C# Ruby WebService


Eugene Lazutkin has written a very thorough post on dojox.lang.aspect a module that takes AOP seriously in JavaScript.
As someone who has been to a couple AOSDs (the AOP software conference) and was excited to see AOP on the scene, it is good to see someone who gets it working on the JavaScript side.
Of course, we [...]

Thursday, May 29, 2008

Having a Tamarin trace a Spidermonkey



Java JavaScript CSS HTML C# Ruby WebService



David Mandelin has posted about Tracehydra, which is the idea that the traced based JIT engine that is being worked on as part of Tamarin could be hooked up to Spidermonkey.

Tracehydra would be the fluffy cloud that translates Spidermonkey bytecode to Tamarin IL (or possibly LIR-the details get confusing fast). (In the interest of reducing [...]

Some more JavaScript performance tips



Java JavaScript CSS HTML C# Ruby WebService


Thierry Schellenbach has written up some thoughts about JavaScript optimization for Prototype apps after playing with console.profile() / console.profileEnd() in his Prototype applications.
The core advice is pretty simple:

Beware of $$ and event binding
Beware of other Prototype methods (reports a 40 times speed different between innerHTML and element.update)
Write to innerHTML instead of using document.createElement
Use for loops [...]

Cubescape: Isometric Pixel Fun



Java JavaScript CSS HTML C# Ruby WebService



Ever wanted to create your own isometric pixel picture, but didn’t know what the word isometric meant? Well, now you can fulfil your wildest dreams with Cubescape!

That is the headline for Cubescape, a site that released a new jQuery based front end that lets you drop the cubes!
Perfect for a Friday, go ahead and get [...]

A new spin on the datepicker control



Java JavaScript CSS HTML C# Ruby WebService


Just when you thought that datepickers had been played out, along comes Filament Group and puts a whole new spin on it. Working from Mark Grabanski’s jQuery UI DatePicker control, the team substantially enhanced the UI with a host of new features including:

shortcut links to preset date ranges, for example, “Past 30 days” or “Current [...]

Spring WebFlow 2.0; JavaScript Module Released



Java JavaScript CSS HTML C# Ruby WebService


Spring Web Flow 2.0 has been released which includes a new Spring JavaScript module.
Here is an example of an onclick wrapper calling an Ajax event:
PLAIN TEXT
HTML:




 


<a id="prevResultsLink" href="search?searchString=${searchCriteria.searchString}&page=${searchCriteria.page - 1}">Previous Results</a>


<script type="text/javascript">


    Spring.addDecoration(new Spring.AjaxEventDecoration({


        elementId: "prevResultsLink",


        event: "onclick",


        params: { fragments: "body" }


    }));


</script>


 





I [...]

Split the Initial Payload; Why are we sending all JavaScript down in one go



Java JavaScript CSS HTML C# Ruby WebService


Steve Souders has another insightful post where he discusses splitting the initial payload for the JavaScript in your page / application.
Steve first outlines how JavaScript can affect how the browser renders a page:

The growing adoption of Ajax and DHTML means today’s web pages have more JavaScript than ever before. The average top ten U.S. web [...]

Wednesday, May 28, 2008

Ajaxian Featured Tutorial: Writing Your First YUI Application



Java JavaScript CSS HTML C# Ruby WebService


Eric Miraglia has posted a great tutorial on how to build your first YUI application. He runs you through the steps of creating a simple application that leverages YUI’s AutoComplete Control to create a site-search form powered by the Yahoo!’s Search web service.

The tutorial is a great walkthrough of both how to build the [...]

Doctype: You want tests with your copy?



Java JavaScript CSS HTML C# Ruby WebService


Doctype is an exciting beast, and for many reasons. Having a place to collect this data is key, and as I said yesterday, I can’t wait to see it grow as an open resource.
The other cool part of Doctype is that there are tests to backup claims. This seems like a “no brainer” as some [...]

Flash 10 “Astro” prerelease



Java JavaScript CSS HTML C# Ruby WebService



With Silverlight 2 aimed square at Flash, many of us were interested to see what Flash 10 would have in store for us. We get our first glimpse with the Flash 10 prerelease, code named “Astro”.
I installed the prerelease and recorded the demos so you can take a quick peak:



The biggest feature in my mind, [...]

CSS Animations via MooTools



Java JavaScript CSS HTML C# Ruby WebService


Chris Schneider has created a javascript implementation of CSS Effects using the MooTools JavaScript library. It basically parses the css and mimics the new Webkit css animations.
With the introduction of CSS we could seperate the presentation layer and the content layer, but we were not able to add animations via CSS. DHTML fixed [...]

Google Doctype: Documenting the Open Web



Java JavaScript CSS HTML C# Ruby WebService


Mark Pilgrim has released Google Doctype, an open encyclopedia and reference library. Written by web developers, for web developers. It includes articles on web security, JavaScript DOM manipulation, CSS tips and tricks, and more.
The reference section includes a growing library of test cases for checking cross-browser and cross-platform compatibility.
This is just the beginning for [...]

Polling for loaded content instead of simple setTimeout



Java JavaScript CSS HTML C# Ruby WebService


Have you ever found yourself doing little setTimeout calls as you wait for content to be loaded asynchronously? It seems to happen pretty frequently, and Paul Irish has created a simple utility to help run code when the library you need is loaded.
With his executeWhenLoaded(function, objects, that, must, be, present) you can do something like [...]

Tuesday, May 27, 2008

xmake: a JavaScript make-like utility



Java JavaScript CSS HTML C# Ruby WebService


Peter Michaux has created a make, or rake-like utility for JavaScript called xmake.
You create a Xmakefile.js such as
PLAIN TEXT
JAVASCRIPT:




 


/ defines println


require('helpers');


 


xmake.task('low', function() {


  println('low');


});


 


xmake.task('mid1', ['low'], function() {


  println('mid1');


});


 


xmake.task('mid2', ['low'], function() {


  println('mid2');


});


 


xmake.task('high', ['mid1', 'mid2'], function() {


  println('high');


});


 





And you run it via:

xmake [-f filename] taskname

This works with xjs, the server side JavaScript framework Peter is building. [...]

Timelapse CSS



Java JavaScript CSS HTML C# Ruby WebService







Matthew Buchanan had a little fun and created a Timelapse CSS example that lets you walk through the process of how a browser would put together a page if it was a human artist:

When building website templates, I’m constantly switching between a view of my CSS code and a view of the page I’m working [...]

What’s in a window.name?



Java JavaScript CSS HTML C# Ruby WebService


Sometimes it is interesting to see that knowledge from the 10,000 B.C. period of web development can be used in new ways to create - to play it safely - interesting ideas.
Each window in a browser has a name property which became pretty much useless when we stopped using pop-up windows and tried to [...]

inputEx: JSON form builder



Java JavaScript CSS HTML C# Ruby WebService


inputEx is "a javascript framework to build fields and forms" created by Eric Abouaf. The framework uses a JSON format to describe a form, such as:
PLAIN TEXT
JAVASCRIPT:




 


{


        "fields" : [


                {


                        "type" : "group",


  [...]

Persevere: JSON Storage / Application Server



Java JavaScript CSS HTML C# Ruby WebService



Kris Zyp of Sitepen has released Persevere:

An open source set of tools for persistence and distributed computing using intuitive standards-based JSON interfaces of HTTP REST, JSON-RPC, JSONPath, and HTTP Channels. The core of the Persevere project is the Persevere Server. The Persevere server includes a Persevere JavaScript client, but the standards-based interface is intended to [...]

OpenKM: Open Source Document Management



Java JavaScript CSS HTML C# Ruby WebService


OpenKM is a multi-platform application for document management based on GWT, JBoss, and Jackrabbit (the content repository API).
Version 2.0 has been released, which you can test drive to see the application-style interface. The new features in 2.0 include: the previsualization of multimedia elements as images and videos, an improved an rewritten administration interface, a [...]

Monday, May 26, 2008

CSS Child Selector Performance



Java JavaScript CSS HTML C# Ruby WebService


Are child selectors slower than more simple brethren? This is a question that Jon Sykes sought out data for after he read the work of Jim Barraud.
His conclusion?

The skinny is that child selectors are a major performance issue.
This seemed to make sense, but to me I needed some sort of proof rather than just [...]

Live Chess with Comet



Java JavaScript CSS HTML C# Ruby WebService



Piotr Dachtera took his 64pola.pl, and created a scalable version using Comet. Dylan reports it as "a Jetty-powered Comet app that uses dojox.cometd on the client-side. It’s a solid implementation that shows chess moves in real-time, and to date is the best all-around Comet game I’ve seen that is live to the world."
Mathieu Nouzareth then [...]

Everything you wanted to know about String performance



Java JavaScript CSS HTML C# Ruby WebService


Tom Trenka has detailed a great analysis of JavaScript performance across the various browsers. This is important work, and it reminded me of the JVM days where people tried to use pools and such… to find out that they were bad for performance as newer VM technology came out. When you try to be too [...]

Exclusive Mastering Dojo Chapters



Java JavaScript CSS HTML C# Ruby WebService



Craig Riecke, Rawld Gill, and Alex Russell, along with the Pragmatic Programmers themselves have been kind enough to give the Ajaxian community some exclusive extracts from the Mastering Dojo beta book.
What do we have on the docket?
First, we have details on the Dojo DOM Apis. Specifically, the author takes us through a challenge involving interview [...]

oEmbed makes embedding third party videos and images a breeze



Java JavaScript CSS HTML C# Ruby WebService


Flickr, Viddler, Qik, Pownce and Revision3 are the first services to support oEmbed, an easy way to allow embeding media from a certain URL in a third party site.
From the oEmbed site:

oEmbed is a format for allowing an embedded representation of a URL on third party sites. The simple API allows a website to [...]

Processing.js: Port of the Processing language to JavaScript and Canvas



Java JavaScript CSS HTML C# Ruby WebService



John Resig has completed 7 months of work to produce a port of Processing, the "programming language and integrated development environment (IDE) built for the electronic arts and visual design communities", which aims to teach the basics of computer programming in a visual context, and to serve as the foundation for electronic sketchbooks. One of [...]

Sunday, May 25, 2008

Ajax Pioneer Week: Alex Russell of Dojo



Java JavaScript CSS HTML C# Ruby WebService


Last, but never least, is Alex Russell of the Dojo Toolkit and SitePen. In Alex’s five minutes of video footage for our JavaOne talk, he explained how Dojo enables you to built fantastic, responsive applications for everyone. The everyone piece revolves around accessibility too, which is core to Dojo thanks to work from Becky Gibson [...]

Growl for Windows and a Web Notification API



Java JavaScript CSS HTML C# Ruby WebService


I have talked before about the desire for a Notification API on the Web. As a Mac user, I would love to see Growl from JavaScript, and there have been libraries written from as far back as protoGrowl.
The difference is between a JavaScript API that does notifications on the desktop, versus trying to get [...]

File API via mountpoint://



Java JavaScript CSS HTML C# Ruby WebService


If you 'aint got a URL scheme, you are a nobody. That is what I thought when I saw fx:// on the first day of JavaOne.
The newest one of these that I have seen is mountpoint:// which is part of an Opera proposal for a File I/O API in the browser. You know me, extending [...]

Location APIs: The Discussions



Java JavaScript CSS HTML C# Ruby WebService


The Gears community is discussing a Geo Location API, which Aaron Boodman mentioned "was recently proposed to the W3C WebAPI group."
Aza Raskin just posted today about Geolocation in Firefox and Beyond which covers his thoughts on an API.
I thought it would be fun to look at the proposed APIs:
Gears Examples
PLAIN TEXT
JAVASCRIPT:




 


var geo = google.gears.factory.create('beta.geolocation');


 


// [...]

Wii Darts: Powering Ajax applications with Wii controllers



Java JavaScript CSS HTML C# Ruby WebService


Ben and I gave a presentation at JavaOne on what’s new with Ajax. Since this was JavaOne, we skewed a little more than we normally would to Java topics, and one of them was using the new Java Plugin, that has great new features such as being able to take a running applet out of [...]

The seven rules of pragmatic progressive enhancement



Java JavaScript CSS HTML C# Ruby WebService


I’ve been talking about progressive enhancement here before and got a lot of flak in comments about it. It seemed that there was a general misunderstanding of progressive enhancement and unobtrusive scripting as a “passing fad” or “backward facing rather than being innovative”.
I was asked by a design agency in London to go there [...]

Saturday, May 24, 2008

Ajax Pioneer Week: John Resig of jQuery



Java JavaScript CSS HTML C# Ruby WebService


John Resig got in front of the camera, and the projector, as he gives us his thoughts on the state, and future of Ajax.
He starts out by discussing jQuery Core, and the features in the near term (1.2.4), short term (1.3) and beyond. He then delves into the UI side of the house with jQuery [...]

Lazily load functionality via Unobtrusive Scripts



Java JavaScript CSS HTML C# Ruby WebService


David Kees has written about Using Prototype to Load Javascript Files, which is an implementation of the general technique of loading functionality via scripts based on the availability of DOM elements.
He started using the technique to scratch an itch:

The calendar on this site only appears on pages that show blog-related information. That calendar is enhanced [...]

line-height: painful



Java JavaScript CSS HTML C# Ruby WebService


Eric Meyer has felt a lot of pain due to line-height, which means us mere mortals are totally up the creak.
He posted about how line-height is abnormal and goes into detail on his learning curve, and the pain he saw which lead him too:

Why bring all this up? Because I went and poked line-height: [...]

Unobtrusive JavaScript with jQuery



Java JavaScript CSS HTML C# Ruby WebService


Simon Willison gave another jQuery talk, this time at XTech, called Unobtrusive JavaScript with jQuery.
In the presentation he delves into the reasons why you should go unobtrusive, how to use jQuery, and why they are a good match.
Here is the presentation in full:





Opera Dragonfly: New Web Tooling



Java JavaScript CSS HTML C# Ruby WebService



Opera has posted what looks like a great new Web debugging tool Opera Dragonfly which is released in alpha.

Debug JavaScript, inspect CSS and the DOM, and view any errors – Opera Dragonfly makes developing using Opera easier than ever, both on your computer and mobile phone.

Shawn Lauriat has a nice write-up that tells the story:

It [...]

Ajax Pioneer Week: Bruce Johnson of GWT



Java JavaScript CSS HTML C# Ruby WebService


Today we have Bruce Johnson of the GWT team talking to us about GWT 1.5. He discusses the new features, such as the long awaited Java 5 language support, performance improvements, and much more.
It is very nice to take an application, run it through the new GWT 1.5 compiler, and get an instantly faster running [...]

Friday, May 23, 2008

Porting Dojo Methods to Flash



Java JavaScript CSS HTML C# Ruby WebService


Mike Wilcox has started a nice series of posts on porting Dojo methods to Flash as a homage for Open Screen (aside: I applaud Adobe's intentions, but need to see a non-assert of their IP before I can do anything with it.)
In part one of the series Mike ports dojo.hitch to ActionScript:
PLAIN TEXT
JAVASCRIPT:




 


_global.lang = {


  [...]

Details of button padding in various browsers



Java JavaScript CSS HTML C# Ruby WebService


After building a slide deck with Ben, you learn the art of a perfectionist. He would love Chris Hester's posting on button padding that shows you how your buttons look on various browsers and operating systems. Even been frustrated when you try to style things on the Mac?
Here are a few of his findings:

IE 6 [...]

IE and Windows XP Service Pack 3… still IE 6



Java JavaScript CSS HTML C# Ruby WebService


Whenever I see a post on the IE Blog that has a title like IE and XP SP 3 I hope to see “oh, and IE 6 users will be upgraded”. How much pain would be relieved when IE 6 usage is minimal?
Unfortunately, I was disappointed again:

XPSP3 will continue to ship with IE6 and contains [...]

Ajax Pioneer Week: Sam Stephenson of Prototype



Java JavaScript CSS HTML C# Ruby WebService


We are having a special week at Ajaxian. Ben and I are giving an Ajax talk at JavaOne this week, and decided to put a little video from Ajax pioneers. As we worked out what we wanted to do, we asked the pioneers for a little time to do an interview. Although only a piece [...]

HTML Parser in JavaScript



Java JavaScript CSS HTML C# Ruby WebService


John must have had some downtime on Sunday afternoon, as he implemented an HTML parser in JavaScript. The library, that you can play with via this demo, lets you attack HTML in a few ways:

A SAX-style API
Handles tag, text, and comments with callbacks. For example, let's say you wanted to implement a simple HTML to [...]

Compression using Canvas and PNG



Java JavaScript CSS HTML C# Ruby WebService



The image above is the 124 kilobyte Prototype library embedded in a 30 kilobyte 8 bit PNG image file.
Jacob Seidelin had some fun this weekend it appears and created a script that can read in JavaScript code from images. To do this, he used the canvas getImageData() method.
Here are the detailed steps:

The first step was [...]

Thursday, May 22, 2008

It’s Business Time: Free Passes to Google I/O



Java JavaScript CSS HTML C# Ruby WebService


On May 28-29 2008, we are having the largest Google event of the year: Google I/O.
Ben and I are talking in the Ajax and JavaScript track, which has other great Ajax content with speakers like Bruce Johnson and the GWT team, Mark Lucovsky and the AJAX APIs team, and Alex Russell of Dojo. There are [...]

Ajaxian Featured Tutorial: Using YSlow for Performance Analysis



Java JavaScript CSS HTML C# Ruby WebService


Kristopher William Zyp has written a post on how to use YSlow to analyze the performance of JavaScript applications.
To understand what aspects of a Web application you need to improve, you must properly analyze the components of the application. This article looks at how you can use the Firebug extension to Firefox and the [...]

We are JavaScript library authors. Hear us roar!



Java JavaScript CSS HTML C# Ruby WebService


John Resig "doesn't think there's a single JavaScript developer who isn't excited about the new Selectors API specification (and the upcoming implementations)."
He was asked to provide feedback on the API, and he sent them an email with just that.
He had three concerns:
DOMElement.querySelectorAll returning incorrect elements
This is the most critical issue. As it stands DOM Element-rooted [...]

Emulating get, set, catchall for all browsers



Java JavaScript CSS HTML C# Ruby WebService


Adrien Friggeri likes the true get, set, and catchalls that almost all but IE provide, so he took a peak at the examples and got to work emulating the layer, which ended up with:
PLAIN TEXT
JAVASCRIPT:




 


var o = CGSobject(function (x) { return x+1; });


 


// basic set


o("a", 7);


 


// basic get


print(o("a"));


// -> 7


 


// getter


o("b", {get: function () { [...]

Homer in CSS



Java JavaScript CSS HTML C# Ruby WebService


There is the David. There is the Mona Lisa. And then, the artist has to create the Homer.
Román Cortés did just that with his Homer in CSS and Ned Batchelder shows it via animation.

Thank god for fun fridays.

XSketch: Pictionary with GWT



Java JavaScript CSS HTML C# Ruby WebService



XSketch is "a multiplayer word sketch game. It is programmed in Adobe Flash, Java, Ajax, and GWT. Gameplay is similar to Pictionary where you sketch a picture with the goal of having other players guess your word and vice versa."
Ryan Dewsbury creator this game, which he adds to his collection of GPokr and KDice.
This one [...]

Wednesday, May 21, 2008

WriteMaps.com’s New Print Preview Tool



Java JavaScript CSS HTML C# Ruby WebService


We posted about WriteMaps.com back in December and Scott Jehl continues to update the site with cool new features. This time around Scott’s added a nifty print preview tool which leverages jQuery UI’s latest release candidate.
Printing on WriteMaps has always been more difficult than I’d like it to be. Some browsers helpfully tile a large [...]

Apple Store: New Effects



Java JavaScript CSS HTML C# Ruby WebService


I was perusing the Apple Store, getting ready for the dream dual-announcements of iPhone 3G + Macbook Pro, when I saw a new effect. When you go to a product page, there is now an enlarge link that zooms in the given products. You can click on them to go even closer, and then you [...]

Cuzillion Video and High Performance Book



Java JavaScript CSS HTML C# Ruby WebService


Steve Souders has some more rules for us, as he announces a new book that he is working on. His preliminary view of the chapters are:

Split the initial payload
Load scripts without blocking
Don’t scatter scripts
Split dominant content domains
Make static content cookie-free
Reduce cookie weight
Minify CSS
Optimize images
Use iframes sparingly
To www or not to www

Steve has a call out [...]

Adobe lifts SWF/FLV restrictions and creates Open Screen Project



Java JavaScript CSS HTML C# Ruby WebService


I start with an aside; This must be the most un-Adobe website I have ever seen. Below is the entire website for the Open Screen Project:

As the site says, the details are in the press release which says:

The Open Screen Project is working to enable a consistent runtime environment — taking advantage of Adobe Flash [...]

Ajaxian Roundup for April, 2008: CSS goodness, Ext licenses, and the Cloud



Java JavaScript CSS HTML C# Ruby WebService


March has flown by for me, and we had some great announcements, and some busy threads of discussion to show for it. The Webkit folk have had the great insight to realize that although SVG and canvas are still thought of as more advanced technology and are not mainstream in anyway, the problems that they [...]

Events Compatibility Tables



Java JavaScript CSS HTML C# Ruby WebService


PPK has published new event compatibility tables that test the event registration models (traditional, W3C and Microsoft) as well as event bubbling and capturing.
There is a lot of data here on the quirks of the various browsers.


Tuesday, May 20, 2008

Events Compatibility Tables; Powering the Dutch Royals



Java JavaScript CSS HTML C# Ruby WebService


PPK has published new event compatibility tables that test the event registration models (traditional, W3C and Microsoft) as well as event bubbling and capturing.
There is a lot of data here on the quirks of the various browsers.

In some fun news, it was interesting to see that PPK developed the interactive Dutch royal family tree!


Ajax Accessibility and ARIA



Java JavaScript CSS HTML C# Ruby WebService


John Resig put together a nice overview of the ARIA Live Regions specification with an example of how you can track a list of people in a way that a screen reader can understand when someone is added or deleted. Imagine a todo list application.
PLAIN TEXT
HTML:




 


<ol aria-live="polite" aria-relevant="additions removals"


    aria-describedby="users-desc" id="users">


  <li>John</li>


  <li>Mary</li>


  <li>Ted</li>


  [...]

Usable Directory Listings with Dojo



Java JavaScript CSS HTML C# Ruby WebService



Sam Foster has written up an example of using Dojo to create directory listings with keyboard shortcuts.
You can now tab over to the box on the top right, and filter your selections:

This tutorial shows you how to upgrade those plain vanilla pages to make getting around a little faster and along the way introduce you [...]

JavaScript Type Inference in IDEs



Java JavaScript CSS HTML C# Ruby WebService


Tor Norbye has posted about the type inference that NetBeans has with JavaScript:

Roman Strobl has just published a screencast of the new JavaScript editor in NetBeans 6.1. The demo is around 5 minutes and highlights many of the editing features.
I'd like to dwell on the type inference part a bit. Around four minutes into [...]

Twistori: Telling a story with Tweets and Script.aculo.us



Java JavaScript CSS HTML C# Ruby WebService



Twistori is a fun little site created by Amy Hoy and Thomas Fuchs. As you would expect, design is a key part of the application, and the Prototype / Script.aculo.us combo pull off the work.
The site pulls in live data on various topics (love, hate, think, believe, feel, wish) via the real-time twitter search tool [...]

Fast Streaming Ajax Proxy



Java JavaScript CSS HTML C# Ruby WebService


Omar AL Zabir, the co-founder & CTO of Pageflakes has written about a continuous streaming Ajax proxy that solves the common problem that all Ajax proxies have, the double delay in downloading content on server first and then delivering to the browser.
Omar talks about the continuous proxy that can help solve the problems. The approach [...]

Monday, May 19, 2008

Mobile Browser Concurrency Test: Get your mobile browsers ready



Java JavaScript CSS HTML C# Ruby WebService


Jason Grigsby of Cloud Four has created a research project that needs our help.
He has created a mobile browser concurrency test to “query the number of concurrent connections your phone makes. Your phone’s browser will need to display images for the test to work.

We’ve also set up a SMS keyword to make it easier [...]

Aptana Cloud: Develop on your desktop, sync out to the cloud



Java JavaScript CSS HTML C# Ruby WebService



Aptana have announced their cloud platform initiative, Aptana Cloud.

Aptana Cloud plugs right into your IDE to provide instant deployment, smart synchronization, and seamless migration as you scale. Aptana Cloud is ideal for developers who use scripting languages to create Ajax, Facebook, mySpace and all other sorts of Web applications.

The key is that this isn’t a [...]

FancyUpload: Swiff meets Ajax



Java JavaScript CSS HTML C# Ruby WebService



Harald Kirschner has created a new version of FancyUpload "a file-input replacement which features an unobtrusive, multiple-file selection menu and queued upload with an animated progress bar."
A good example is the Queued Photo Uploader which is coded by:
PLAIN TEXT
JAVASCRIPT:




 


var swiffy = new FancyUpload2($('demo-status'), $('demo-list'), {


        'url': $('form-demo').action,


        'fieldName': 'photoupload',


  [...]

Coherent: Cocoa Databinding for Ajax



Java JavaScript CSS HTML C# Ruby WebService



Jeff Watkins is a fan of the Cocoa data binding model, and wanted to bring it to the Web. This lead him to create a projects three years ago, which comes out of the dark now: Coherent.
There are some fun demos, such as the Flickr Browser, and the Laptop configurator which mimics the Apple store [...]

Java in JavaScript



Java JavaScript CSS HTML C# Ruby WebService


As John Resig reports, the Japanese Shibuja.JS user group managed to port (at least in parts) the Java Virtual Machine over to JavaScript. The project is called Orto and there is a Japanese PDF explaining the details (I guess) available on John's site.
Using this you can convert Java code into bytecode and embed [...]

Ext JS responds with Open Source FLOSS Exceptions



Java JavaScript CSS HTML C# Ruby WebService


Jack Slocum and his team are listening, and appear to be working with the community to clear things up:

With our recent change to the GPL v3 some concerns have been brought up by the Ext Community. We are hoping to address some of those concerns via community discussion of two new FLOSS exceptions.
The first step [...]

Sunday, May 18, 2008

OpenEXT: The fork



Java JavaScript CSS HTML C# Ruby WebService


OpenEXT is here. It is a fork of Ext JS 2.0.2, which was under an LGPL license (kinda.... with some invalid, non-open source licensing).
The crux of the fork is:

Ext are claiming that a fork of the existing 2.0 version is not legal, due to the way they applied the LGPL. This is likely to be [...]

Ext JS and the fun with Open Source licenses



Java JavaScript CSS HTML C# Ruby WebService


There has been a lot of noise revolving around Ext JS and the open source license decisions. Under the original license (LGPL-ish) many thought that it wasn’t actually an open source license at all. Jack changed to GPL last week when he announced version 2.1, but others have been upset with views on forking the [...]

Cuzillion: Performance best practices tool



Java JavaScript CSS HTML C# Ruby WebService



Steve Souders has released a nice little tool called Cuzillion which has the tag line of ‘cuz there are zillion pages to check, although it could also be that there are a zillion ways to do Web development!
The tool lets you test out different techniques for optimizing performance in browsers, and these tests can be [...]

Immediate Translation and Mibbit



Java JavaScript CSS HTML C# Ruby WebService



I just posted on a a translate bookmarklet that uses the Google AJAX Language API:

I really liked getting the Ajax Language API out into developers hands as god knows we shouldn't have to worry about translations. Now we can use the API and have the Google back-end do all of the work.
I have recently had [...]

CSS Variables are next?



Java JavaScript CSS HTML C# Ruby WebService


How long have you wanted to name colors and such in your CSS instead of having to use search and replace (which breaks if you share the same colors ;) ?
We have a proposal thanks to Daniel Glazman and the ubiquitous David Hyatt.

Since the release of CSS Level 2 Recommendation ten years ago in may [...]

JavaScriptMVC Test Plugin



Java JavaScript CSS HTML C# Ruby WebService


















Brian Moschel and the JavaScriptMVC team have created a new Test plugin. We all voted testing as the number two pain point in Web dev and this is an attempt to make the world a bit better.
Test lets you simulate every major DOM event, as well as some combination events like Write and Drag, simulate [...]

Saturday, May 17, 2008

WebKit keeps going with CSS Masks



Java JavaScript CSS HTML C# Ruby WebService



Wow, get the feeling that they are on a roll with taking Canvas / SVG like use cases, generalizing them, and making them available to people as simple CSS.
First we had CSS animations, and we are now going with CSS Masks which run across images and <video> elements:

WebKit now supports alpha masks in CSS. Masks [...]

Using canvas to test your site with colorblind folk



Java JavaScript CSS HTML C# Ruby WebService



The picture above is showing you how someone with the color blindness trait Tritanopia would see the image. Michael Deal first created the Color Matrix Library, which supports a large portion of the most common color functions available, including:

Hue, Saturation, Brightness, Contrast, Exposure, Temperature, Tint, Channels, Blindness, Colorize, Threshold, and Invert

Michael then created a [...]

TPHP: Your home page can be a JavaScript command line



Java JavaScript CSS HTML C# Ruby WebService


Vishal Shah has put together TPHP, which stands for “The Perfect Home Page”. It is just an HTML page with a bunch of JavaScript in it, that acts as a command line to a lot of things.
You can type in special codes to do smart things like search wikipedia, access domain tools, or what have [...]

WaveMaker Visual Ajax Studio for Mac



Java JavaScript CSS HTML C# Ruby WebService



It seems a little funny to have an Ajax app announcing that it now works on Mac, but there is good reason:

This week, we are releasing WaveMaker for the Mac (OS 10.5 Leopard to be specific) and Safari. Although the Mac is a visual platform, it has always been behind on WYSIWYG development tools. With [...]

Taking Web Applications Offline, to the Desktop, and beyond



Java JavaScript CSS HTML C# Ruby WebService


Ryan Stewart of Adobe and I got to give a joint talk this morning that covered Adobe AIR, Gears, and how you can build offline and desktop applications right now.
Obviously, Ryan gave an overview of AIR, and I did the same for Gears. We also discussed reasons to be excited about Web development, some of [...]

To GWT Ext or to Ext GWT?



Java JavaScript CSS HTML C# Ruby WebService


One part of the Ext JS 2.1 release was the prominence of the sub project Ext GWT, a project that lets you code in Java with GWT while using the Ext components and framework.
But wait a minute, I thought that that project was GWT-Ext? Or wasn’t there something called MyGWT too? Confused?
Didier Girard has come [...]

Friday, May 16, 2008

Embed your data- in HTML 5



Java JavaScript CSS HTML C# Ruby WebService


Simon Willison pointed out the part of the HTML 5 spec that discusses a way to add attributes to HTML elements for your own needs via data-.
For example, a spaceship for a game:
PLAIN TEXT
HTML:




 


<div class="spaceship" data-id="92432"


     data-weapons="laser 2" data-shields="50%"


     data-x="30" data-y="10" data-z="90">


 <button class="fire"


         onclick="spaceships[this.parentNode.dataset.id].fire()">


  Fire


 </button>


</div>


 






Every HTML element may have [...]

Timeframe: Prototype date range component



Java JavaScript CSS HTML C# Ruby WebService


Stephen Celis got tired of wiring together two date pickers for the common use case of grabbing a date range, so he created timeframe, which is "Click-draggable. Range-makeable. A better calendar."
Based on Prototype, you can whip up some code such as:
PLAIN TEXT
JAVASCRIPT:




 


new Timeframe('calendars', {


            startfield: 'start',


        [...]

OraoWeb: Quicktime + JavaScript



Java JavaScript CSS HTML C# Ruby WebService


We recently saw the proof of concept for a JavaScript video player in JSONVid.
Pascal Vuylsteker has paired JavaScript and Quicktime to create OraoWeb. He puts a call out to argue that Flash isn't the only king of video and talks about the shortcomings:

Clean fast forward
Fast rewind
Jog Shuttle
Frame by frame step forward and backward
Direct access to [...]

Making application modules communicate with each other using Decoupling



Java JavaScript CSS HTML C# Ruby WebService


I’ve been talking about event driven application design in JavaScript in January last year and inspired Caridy Patiño to write his Bubbling Library based on these ideas.
Caridy now upped the ante a bit by talking about decoupling using the bubbling library over on the YUI blog.
In essence, his solution allows you to have [...]

Google offers Search, Feed, and Translation APIs to Non Ajax Usage



Java JavaScript CSS HTML C# Ruby WebService


The Google Ajax API team has been offering great services that you can use from JavaScript in the browser. I have talked about some of them on Ajaxian before (Feed API, Feed Discovery API, and the recent Language API) but now we have a great new release that enables you to access these APIs from [...]

Talking about JavaScript 1.7, 1.8 and 1.9 before we get to 2.0



Java JavaScript CSS HTML C# Ruby WebService


Is this JavaScript that would run in a current browser?
PLAIN TEXT
JAVASCRIPT:




 


function square_of(x) x * x;


 


players.sort(function(x,y) y['score'] - x['score']);


 





Yup. This is JavaScript 1.8 and 1.7, also known as Pythonizing Javascript ;)
Tiago Silveira discusses these lambda expressions, as well as Generators:
PLAIN TEXT
JAVASCRIPT:




 


function actions() {


  for (f in document.forms) {


    yield document.forms[f].action


  }


}


 





list comprehensions, let:
PLAIN TEXT
JAVASCRIPT:




 


function showItems(items) [...]

Thursday, May 15, 2008

Reminded of speaking your YAHOO.lang



Java JavaScript CSS HTML C# Ruby WebService


Mitchell Amihod has a nice little post talking about the features in YAHOO.lang which is probably the least mentioned part of YUI.
He starts out with the type checking functions such as like isNull(), isUndefined(), isValue(); then he does for a trim().
Did you know that YUI had a mini template language in the form of substitute?
PLAIN [...]

Yahoo! BrowserPlus: Why wait for the news when you have strings?



Java JavaScript CSS HTML C# Ruby WebService


After posting about Yahoo! BrowserPlus, we certainly have more questions than answers, and we could all wait a week or two to learn more.
But, where is the fun in that? Thanks to the fact that Open Source software often normally means that you will find a LICENSE.txt, and the binary itself will have information [...]

Now your mobile phones get to take some Acid



Java JavaScript CSS HTML C# Ruby WebService


Dominique Hazaël-Massieux, co-chair of the Mobile Web Test Suites Working Group at the W3C, has published a test in the spirit of the ACID tests: Web Compatibility Test for Mobile Browsers:

That test, in the same spirit as the ACID tests, combines in a single page tests for 12 Web technologies, ranging from well-deployed (but often [...]

Ext JS 2.1 Released



Java JavaScript CSS HTML C# Ruby WebService


Ext JS 2.1 has been released. In this point release the featured changes are:

Full REST support
Added Ext.StatusBar Component and Samples
Added Ext.Slider Component and Samples
Added Example to demonstrate Remote Loading of Component Configs
Added Grid Filtering Sample
Added Layout Browser Sample
Added Spotlight Sample

Even more importantly, the license has changed to a simple GPLv3 version compared to the Ext [...]

iPhone Remote Debugger



Java JavaScript CSS HTML C# Ruby WebService


Jon Brisbin is a Java programmer doing iPhone development, and decided to scratch his own itch for a better iPhone remote debugger, creating iPhoneDebug:

The iPhone Debug Consle is meant to give greater visibility and interactivity on your iPhone/iPod Touch while doing development. I grew frustrated having to go through the “include console.log statement then reload” [...]

JSONVid: Pure JavaScript Video Player



Java JavaScript CSS HTML C# Ruby WebService


Jacob Seidelin went on a ( crazy :) ) mission to create a pure JavaScript video player that didn't use Flash:

My first thought was to read binary video files using a technique like the Andy Na posted about here, figuring that there must be some really simple to parse video formats around, but I soon [...]

Wednesday, May 14, 2008

What is the future of Ajax applications talking to the data tier?



Java JavaScript CSS HTML C# Ruby WebService



I have just posted an article on the new attack on the RDBMS on my personal blog. The post talks about the new thinking around data in the cloud, and on the Web. It first starts out by remembering that this isn't the first time the RDBMS has been attacked, and remembers the OODBMS attack, [...]

ProtoRPG: Role Playing with Prototype



Java JavaScript CSS HTML C# Ruby WebService


Sometimes you want Monday to be a Friday, so we have ProtoRPG, a role playing game written by Pierre Chassaing in JavaScript using Prototype and Script.aculo.us.
Walk around, add to your inventory, and feel like you are playing your first RPG many moons ago, on a Friday.


Yahoo! BrowserPlus: The rumour is true



Java JavaScript CSS HTML C# Ruby WebService


Awhile back I heard a rumour that Yahoo! had a “Gears-like” project that was cancelled. I thought this was a shame, as having Yahoo! pushing the browser would be a great thing, and I wished that we could all join forces and push together.
It turns out the rumour is true, and even better, the project [...]

The Twubble with Bob Lee



Java JavaScript CSS HTML C# Ruby WebService



Bob Lee is a co-worker of mine at Google (He is actually the lead on core Java APIs for Android), and he happened to create a cool little GWT application called Twubble, which he explains:

If you use Twitter, Twubble can look at your existing friends’ friends and recommend new people for you to follow. It’s [...]

100 Line Ajax Wrapper



Java JavaScript CSS HTML C# Ruby WebService


Kris Zyp gives us a glimpse at a potential future with his 100 line Ajax wrapper that tries to do the right thing cross browser for the various cross-domain models:

With IE8’s new XDomainRequest feature, a new API is added for cross-site requests, instead of using the W3C cross-site access proposal. Just for fun, I thought [...]

Conform your JSON to ECMAScript 4 with JCON



Java JavaScript CSS HTML C# Ruby WebService


Oliver Steele is doing great work, and he has just released a gem called JCON which stands for JavaScript Conformance. It tests JSON values to make sure that they are valid for the new world of ECMAScript 4 type definitions (e.g. new { x:int, y:string }( 3, "foo" ) ).
Usage
PLAIN TEXT
RUBY:



type = JCON::parse "[string, [...]

Tuesday, May 13, 2008

SEO Rapper Friday



Java JavaScript CSS HTML C# Ruby WebService





Oh man, even for a Friday this is pretty low... but what the hell, this is the Internet damn it!
It starts with:

The site design is the first thing that people see
It should be reflective of you in the industry
Easy to look at with a nice navigation
When they can't find what they want it causes frustration
A [...]

Adobe AIR for JavaScript Developers Pocketguide



Java JavaScript CSS HTML C# Ruby WebService



Adobe AIR for JavaScript developers provides an introduction to Adobe AIR for developers using interested in building AIR applications using JavaScript, HTML and CSS. The book has been updated for the latest and greatest, and is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Yup, the book is free.
You can download it first on [...]

Are you sure your unload handler is firing in IE?



Java JavaScript CSS HTML C# Ruby WebService


Johan Sörlin found that sometimes his unload event never fired in IE:

We recently found a serious bug in IE where the unload event wouldn’t fire on a specific page we had on a site. After some bug tracking we found out that the unload event never fired since all the contents of the page hadn’t [...]

Spoiler Blocker When JS Isn’t Available



Java JavaScript CSS HTML C# Ruby WebService


Ever gone to a site to read up on your favorite show or get the lowdown on a new movie only to have the whole plot spoiled because you weren't forewarned that the "whole freakin' script" was injected into the article?!?! Yeah, I've been there and it ain't fun!
Chris Coyier of CSS-Tricks came up with [...]

Fingerprint: A print for your typing



Java JavaScript CSS HTML C# Ruby WebService


Do you type the same way consistently? Say, if you put in your username and password?
Marcus Westin has created a little jQuery plugin that measures a finger print based on your typing style, Fingerprint.
Easy to use:
PLAIN TEXT
JAVASCRIPT:




 


$('#form').fingerprint();


 





This automatically injects hidden fields with names 'timestamp-down' and 'timestamp-up' for the respective timestamps. On submit, these values get [...]

NSFW Blocker Using MooTools



Java JavaScript CSS HTML C# Ruby WebService


I like reading David Walsh's blog. Not only does he write good technical articles but he always injects some humor into it to liven up the topic. This time around is no different as David's guilty pleasure of scoping out the latest celebrity gossip led him to an idea which would make it easier [...]

Mad Mimi: WYSIWYG Email Marketing



Java JavaScript CSS HTML C# Ruby WebService


When I hear “email marketing” I can’t help but think spam, but it is a legit tool too, and the latest tool in the pack is Mad Mimi.
Mad Mimi launched this week and consists of “state-of-the-art UI design makes for layouts that are easier to
create -– and easier to read – than emails generated by [...]

Monday, May 12, 2008

Three Helpful JavaScript Libraries



Java JavaScript CSS HTML C# Ruby WebService


Oliver Steele has posted on three small JavaScript libraries that he carries around in his toolbox as he goes from project to project.
Fluently — Construction Kit for Chainable Methods
Fluently lets you build chainable methods, which Oliver used to build a mock test framework.
PLAIN TEXT
JAVASCRIPT:




 


var o = Fluently.make(function(define) {


    define(‘fn1’, function() {console.info(‘called fn1’)});


    define(‘fn2’, [...]

Last call for W3C XMLHttpRequest comments



Java JavaScript CSS HTML C# Ruby WebService


The W3C has issued a last call on the XMLHttpRequest spec:

The Web API Working Group has published the Last Call Working Draft of The XMLHttpRequest Object. The XMLHttpRequest Object specification defines an API that provides scripted client functionality for transferring data between a client and a server. Comments are welcome through 2 June. Learn more [...]

DOH, let me test my code!



Java JavaScript CSS HTML C# Ruby WebService


Dustin Machi has posted on DOH, the Dojo Objective Harness which is a testing framework for JavaScript.
It can be used with your own Dojo applications, and even without any Dojo at all.
To do this you need to follow a couple of patterns, and Dustin documents them so you can get going.
You end up putting the [...]

Busy.js: Loading indicators with Canvas



Java JavaScript CSS HTML C# Ruby WebService



Christian Effenberger is back with some more canvasy goodness. He has released Busy.js, a library that allows you to add/remove loading indicators to html elements on your webpages (inc. overlay color & transparency). It uses unobtrusive javascript to keep your code clean. Requires no plugin/extension or any other external resource.
Usage
PLAIN TEXT
JAVASCRIPT:




 


var ctrl = getBusyOverlay(document.getElementById('box'));


ctrl.remove();


 





Features

[...]

JavaScript: The Good Parts



Java JavaScript CSS HTML C# Ruby WebService



Douglas Crockford has an interesting book on the horizon, JavaScript: The Good Parts. When I first heard about the combination of author and title, I couldn’t help but think that it would be a short book, maybe a two pager as above.
But, Douglas has taken a deep look and found some content worthy of a [...]

Dojo XHR Plugins; How do you want your XHR today?



Java JavaScript CSS HTML C# Ruby WebService


Neil Roberts goes into the XHR Plugins that Dojo uses and how you can extend the system to have your own.
If you look at dojo.xhrGet you will see "Acceptable values are: text (default), json, json-comment-optional, json-comment-filtered, javascript, xml", but:

What you may not know is that the handleAs parameter is merely a way of specifying what [...]

Sunday, May 11, 2008

Mosaic Image Builder with Ajax



Java JavaScript CSS HTML C# Ruby WebService



Andy Na has posted about building mosaic pictures using binary ajax techniques.
You can check out the demo in action.
The library allows you to do this via:
PLAIN TEXT
JAVASCRIPT:




 


var demo = new MosaicBuilder("60x45" /* image name prefix */, 23 /* number of image files */);


demo.buildMosaic("60x45.bmp" /* image name */);


 





The library uses the BinFileReader.js library to be able [...]

jQuery and Prototype Benchmarks



Java JavaScript CSS HTML C# Ruby WebService


Piotr Solnica did a couple of posts on jQuery and Prototype benchmarks back in the day, and John-David Dalton just found them.
In part one, he runs tests such as:
PLAIN TEXT
JAVASCRIPT:




 


$('td.first').addClass('marked'); // jQuery


 


$$('td.first').each(function(cell){


  cell.addClassName('marked');


});


 


// or


 


$$('td.first').invoke('addClassName', 'marked');


 





and concludes:

Executed tests show that Prototype seems to be faster then jQuery, with the exception of the new insertion method, [...]

CSS Gradients in WebKit



Java JavaScript CSS HTML C# Ruby WebService



Dave Hyatt, the one person I would love to get to TAE to join the other browsers, posted about CSS gradients in WebKit:

PLAIN TEXT
CSS:




 


-webkit-gradient(<type>, <point> [, <radius>]?, <point> [, <radius>]? [, <stop>]*)


 





So what exactly is a gradient in CSS? It is an image, usable anywhere that image URLs were used before. That’s right… anywhere. [...]

Event Delegation for blur and focus



Java JavaScript CSS HTML C# Ruby WebService


Over at Quirksmode.org, Peter-Paul Koch is researching if Event Delegation which works splendidly with click events is also possible for blur and focus.
Event Delegation means that you piggy-back on the behaviour of browsers to report events on child nodes up the tree to their parents. Instead of applying event handlers to each element you [...]

Thursday, May 8, 2008

Server-side jQuery, E4X, and more with Jaxer



Java JavaScript CSS HTML C# Ruby WebService


Davey Waterson of the Aptana Jaxer team has posted an article on using jQuery on the server-side with E4X and more that shows an example of server-side Ajax with a popular framework.
The article describes a polling application that features:

Using jQuery server-side to manipulate a DOM before it's sent to the client
Doing some database / SQL [...]

Appcelerator on App Engine



Java JavaScript CSS HTML C# Ruby WebService


I had a funny feeling that we would see frameworks and tools starting to support Google App Engine. Appcelerator has added support into their SDK, so you can now create an App Engine project.
They just ported Tejus’s appTunes demo to the App Engine and deployed it at http://apptunes.appspot.com.
The example uses embedded Flex components and [...]

using.js: manage JavaScript dependencies



Java JavaScript CSS HTML C# Ruby WebService


Jon Davis created Using.js, a simple library to manage dependencies with the goals of:

Seperate script dependencies from HTML markup (let the script framework figure out the dependencies it needs, not the designer)
Make script referencing as simple and easy as possible (no need to manage the HTML files)
Lazy load the scripts and not load them until [...]

Joose expands with new ORM



Java JavaScript CSS HTML C# Ruby WebService


Malte has continued to work on Joose, his meta object system for JavaScript. He has added a lot of documentation, including cookbooks that tell the story nicely. He also told us about a feature that is near and dear to my Google heart:

Joose now includes a simple object relational mapper for the Gears database in [...]

Wednesday, May 7, 2008

Dromaeo: JavaScript Engine Testing



Java JavaScript CSS HTML C# Ruby WebService



John Resig has put out Dromaeo maybe a touch before he wanted to due to people finding it :) The site hosts a subset of the WebKit Sun Spider JavaScript engine tests right now, with the desire to push on and do a lot more.
You can run tests and then compare your own [...]

Java Plugin: The Kernel is back



Java JavaScript CSS HTML C# Ruby WebService


Ethan Nicholas of Sun has posted an article on Java 6 update 10 which just came out in beta to play.
For Java folk there are some huge wins, and for the first time in ages the Java applet has huge changes. If Java Applets can get past the sniggering baggage, there is actually interesting things [...]

Upside Down Text



Java JavaScript CSS HTML C# Ruby WebService


Yup, check the calendar, it's Friday!
John Dyer has implemented the much asked for upside down text JavaScript that lets you code this:
PLAIN TEXT
HTML:




 


<script type="text/javascript" src="upsidedown.js"></script>


 


<div class="upsidedowntext">I can be read in any orientation</div>


<div>I can be read in any orientation</div>


 


<div class="upsidedowntext">This is Tom Cruise taking your picture</div>


<div>This is a boring Russian Mig</div>


 





to see this:

If you look [...]

Mozilla Fennec: The mobile browser wars



Java JavaScript CSS HTML C# Ruby WebService



IE may be the dominant browser on the desktop, but the mobile wars are going strong. WebKit, Opera, and Pocket IE have a lot of users, but Mozilla has been a little weak in the past.
Now though, they have a new Fennec browser that takes the great performance gains in Firefox 3, and makes a [...]

Ajaxian Featured Tutorial: Hacking transparent PNG support into IE6 with IE PNG Fix, CSS and jQuery



Java JavaScript CSS HTML C# Ruby WebService


During his work in redesigning the Pathfinder web site, Brian Dillard came across the infamous IE6 transparent PNGs issue and used two methods to tackle the issues. He decided to do a nice write-up explaining how he worked around the fact that IE6, while it would render PNGs, would not retain their alpha-channel transparency and [...]

Gears and Web Standards



Java JavaScript CSS HTML C# Ruby WebService


Aaron Boodman, co-lead of the Gears team, has written a very thoughtful post on how Gears relates to various Web standards. My analogy was that of a zipper bringing things together:

Back to Aaron’s post which I couldn’t say any better, so I put here for ease of browsing:

Gears is about more than just offline web [...]

Tuesday, May 6, 2008

Dojo 1.1 Nice Features



Java JavaScript CSS HTML C# Ruby WebService


Alex Russell has written up some of the features of Dojo 1.1 that may not shout out at you in the release notes:

Core
I should mention a couple of Core features from 1.1 that might otherwise go overlooked, though. The first is a lack of visible change. Dojo Core and Dijit from 1.1 are fully backwards [...]

IE 8 Security Updates



Java JavaScript CSS HTML C# Ruby WebService


Microsoft has put out a set of security updates, and one of them is discussed in a post IE8 Security Part I: DEP/NX Memory Protection.

Over the next several weeks, we’ll blog in greater detail about some of the security improvements in Beta 1, such as the new Safety Filter, greater control over ActiveX controls, and [...]

Canvas2Image: Save out your canvas data to images



Java JavaScript CSS HTML C# Ruby WebService



More from Jacob Seidelin. He has created Canvas2Image, a library that takes <canvas> data and makes an image out of it. This means that you can create canvas images on the fly and then:
PLAIN TEXT
JAVASCRIPT:




 


var strDataURI = oCanvas.toDataURL(); 


// returns "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACt..."


 





See the full API in use here:
PLAIN TEXT
JAVASCRIPT:




 


/*


* Canvas2Image.saveAsXXXX = function(oCanvasElement, bReturnImgElement, iWidth, [...]

DOMAssistant 2.7 is Out, Strong Unicode Support and Enhanced Performance



Java JavaScript CSS HTML C# Ruby WebService


Now that DOMAssistant has a formal team behind it, the updates keep coming fast and furious. The team announced last night the release of DOMAssistant 2.7, with a host of new features and big improvements in CSS selector performance:
After a lot of hard work, we’re more pleased than ever to present the new version of [...]

Getting feedback to the IE 8 team



Java JavaScript CSS HTML C# Ruby WebService


The following email was sent out to Microsoft MVPs (read: friendly people :), but we should give them our honest feedback too:

Microsoft has recently released a public beta of IE8. Standards and security are of top importance in this release. To that end, the IE team is planning on releasing IE8 in full standards mode. [...]

Monday, May 5, 2008

A wishlist for Ajax APIs



Java JavaScript CSS HTML C# Ruby WebService


Following discussions at the Highland Fling conference with the audience and Gareth Rushgrove (whose excellent presentation on API design we featured here already) I sat down and came up with a wishlist for a great Ajax API.
As an example I used the Google translation API, pointed out its good points and explained what I'd [...]

Super Mario; 14KB of JavaScript



Java JavaScript CSS HTML C# Ruby WebService



Jacob Seidelin is doing great work, and for something fun, he build a piece of Super Mario in just 14KB of JavaScript:

Here's an experiment in keepings things small and confined to one Javascript file. There are no external image files or anything, everything is rendered with Javascript using either canvas elements or old fashioned [...]

JS Time Machine



Java JavaScript CSS HTML C# Ruby WebService


Kristian Thornley had a unique requirement for displaying data change overtime and thought that he would build a Mac Leopard JS Time Machine.

Kristian told us that "currently the effect suffers if the data in the panels are too detailed and I will probably set up some event handlers e.g. onScale preScale postScale which could [...]

MooWheel: Unique Data Visualization



Java JavaScript CSS HTML C# Ruby WebService


Josh Gross, the creator of the Ajax-powered AjaxIM instant messenger, has come up with a unique way to visualize data:
The purpose of this script is to provide a unique and elegant way to visualize data using Javascript and the canvas object. This type of visualization can be used to display connections between many different objects, [...]

Chandler Server Upgrades to Dojo 1.0.2



Java JavaScript CSS HTML C# Ruby WebService


The Chandler Project, an open source, standards-based information manager, has upgraded their OSS PIM to use Dojo v1.0.2. The upgrade has provided for improved performance and extended the UI capabilities via Dojo’s user interface building API, Dijit.
The first changes I’m excited about are, like our latest release, less wholesale modifications than improvements and commitments to [...]

What does Google App Engine mean for Ajax developers?



Java JavaScript CSS HTML C# Ruby WebService



I have been really looking forward to seeing the Google App Engine launch, and get in the hands of developers. This is just a preview release, and I obviously would like to see more languages and frameworks above and beyond Python and what we have now. The non-Pythonistas will all be saying "what about [insert [...]

Sunday, May 4, 2008

Web Archeology: Java Pluglet API



Java JavaScript CSS HTML C# Ruby WebService


I started a new series of posts on Web Archeology where I look back at old Web tech to maybe divine some inspiration from the future. I am re-posting from my original blog

Even since Ben and I looked at the notes for the first version of Mozilla that supported XMLHttpRequest, which suddenly took the technology [...]

Pi.Debugger: Cross browser debugging



Java JavaScript CSS HTML C# Ruby WebService


Azer Koçulu has added to pi.comet with a new cross browser debugger pi.debugger.
The look is inspired by Firebug:

Check out the open source project.

JavaScript has staying power; Used in Stargate



Java JavaScript CSS HTML C# Ruby WebService



This one is geeky. Someone watched the Stargate episode below and found JavaScript used in the console (above).



Interesting to see that JS1 is used in the future ;)

Spket IDE 1.6.11 Released



Java JavaScript CSS HTML C# Ruby WebService


The team at Spket Studio continues to enhance their Eclipse-based Spket IDE announcing today the release of Spket IDE 1.6.11. The updates include:

A Theme Builder for the Ext JS framework (screenshot, tutorials)
Code assist for JavaScript improvements (references)
Code assist support JavaScript keywords and documention view for JavaScript editor (references)
Preferences for color of matching brackets (references)
Bugs: [...]

Flinging APIs in the Highlands



Java JavaScript CSS HTML C# Ruby WebService


Gareth Rushgrove has been talking a lot about API design; a true art amid the science of CSci. He gave a presentation at the highland fling (our own Christian Heilmann was there too) and starts out by walking through thoughts on the various ways that we (or robots, or rabbits) interact with the Web.
Then he [...]

Ajaxian Roundup for March, 2008: IE 8, Acid3, and Performance



Java JavaScript CSS HTML C# Ruby WebService


As we sit through the fun and frolics of April fools day on the Internet, we can look back on a busy March in Ajax land. Often life is dominated by Ajax libraries, as they continue to make our lives easier, but this time it was about the browsers and the standards. With IE 8 [...]

Saturday, May 3, 2008

GChart 2.0: Give me some pie



Java JavaScript CSS HTML C# Ruby WebService



Version 2.0 of GChart has been released:

The main idea behind GChart is simple: You can make very nice charts efficiently out of a reasonably small number of 1-cell Grids (for the aligned labels) and (empty) Images (for everything else), styled and positioned appropriately on an AbsolutePanel. Not surprisingly, bar charts don’t suffer at all [...]

Fun with SVG and CSS Animations



Java JavaScript CSS HTML C# Ruby WebService



Torrey Rice took Safari 3.1 and the new CSS Animations feature, and mashed it up with SVG to create a fisheye demo.
All the functionality through CSS:
PLAIN TEXT
CSS:




 


.dock img {


   width:50px;


   padding:10px;


   float:left;


   position:relative;


   display:block;


   -webkit-transition:width 0.5s ease-out, top 0.2s ease-out;


}


 


.dock img:hover {


   width:100px;


}


 


.dock img:active {


   top:-40px;


}


 


.dock img:hover + img {


   width:70px;


}


 





Jeff Schiller then asked to [...]

ECMAScript 4 Update: New Grammar, and No Tail Calls



Java JavaScript CSS HTML C# Ruby WebService



.... proper tail calls are out of ES4 as of yesterday's Ecma TC39 meeting, by general (regretful, in Mozilla's
case) agreement.

This is Brendan talking about the death of true tail calls in JavaScript 2 as the language gets tightened a la:

ES4 has overspent its complexity budget in order to explore a large design space. It is [...]

jQuery gets Classy



Java JavaScript CSS HTML C# Ruby WebService


Finally, you can throw away the concise jQuery code, and you can instead grab a more verbose version Classy Query, that John Resig has provided.
This extra verbosity is perfect for a compiler or a document parser. The important people.
You can now write code like this:
PLAIN TEXT
HTML:




 


<script src="jquery.js"></script>


<script src="classy.js"></script>


<script>


jQuery.Events.addEventListener(document, "ready", function(){


  jQuery.querySelectorAll("div").forEach(function(elem){


    jQuery.DOM.append(elem, " <b>More...</b>");


  [...]

Google releases GWT for JavaScript 2



Java JavaScript CSS HTML C# Ruby WebService



The Google Web Toolkit has long been a bastion of Java developers who are able to chant “We don’t want your stinking JavaScript!”
GWT is a lot more than a client side framework that allows you to write code in Java. It is a productivity tool that lets you developer and test a solution that [...]

Google Docs now runs offline with Gears



Java JavaScript CSS HTML C# Ruby WebService





Being able to have your documents stored up in the cloud, but also saved away for the time where you don’t have connectivity is important, and today the Google Docs team supports local service via Google Gears.
I have been using this ability for awhile, and I have personally seen a couple of side effects:

I boot [...]

Happy 10 Year Birthday Mozilla



Java JavaScript CSS HTML C# Ruby WebService



Ten years ago today, the code dropped from Netscape to the Mozilla project. Mitchell Baker has written up her thoughts as she looks back the last 10 years, and tries to look at the future.
People are celebrating too. Air Mozilla will have a live show with host Asa Dotzler, and guests Mitchell Baker, Brendan [...]

Using a hash property for security and caching



Java JavaScript CSS HTML C# Ruby WebService



Douglas Crockford would like to see a hash= attribute to aid security and performance:

Any HTML tag that accepts a src= or href= attribute should also be allowed to take a hash= attribute. The value of a hash attribute would be the base 32 encoding of the SHA of the object that would be [...]

Friday, May 2, 2008

Browser CSS float error detection with jQuery



Java JavaScript CSS HTML C# Ruby WebService


Mario Heiderich of Ormigo has created a jQuery based code snippet/bookmarklet that is capable of detecting floating errors and adding a dotted orange border to elements which should be cleared - but aren't.

It saved me a huge bunch of time debugging complex layouts for all browsers - especially IE6. If jQuery isn't already loaded [...]

Help Debug Firebug



Java JavaScript CSS HTML C# Ruby WebService



There are some bleeding edge releases in the world of the Firebug.
A new alpha version of Firebug 1.2 is available for testing. It has several performance improvements, and some new UI. Give it a go and report any issues.
Also, ChromeBug takes Firebug into the world of debugging full Firefox extensions. It depends on the alpha [...]

Saving Ourselves From the Unweb



Java JavaScript CSS HTML C# Ruby WebService



Alex Russell gave the inaugural presentation at the Visual Ajax User Group held in the bay area recently. He presented on saving ourselves from the unweb and Chris Keene, CEO of WaveMaker Software, wrote up the talk for us all to read.
Alex laid out choices for evolving the Web:

We are reaching a fork in the [...]

Helpful JavaScript Date Operations



Java JavaScript CSS HTML C# Ruby WebService


Tavs Dokkedahl has created a set of Date methods which people might find helpful in his JSLab standard libary.
Included are Date.getISOWeek, Date.setISOWeek, getFirstDateInWeek, Date.isLeapYear, and Date.format which works like the PHP equivalent.
In addition the library also includes other useful functions for Array, Math, Number, Function and other objects.

When rich websites go bad…



Java JavaScript CSS HTML C# Ruby WebService


We love to showcase good uses of Ajax, but sometimes you have to show the anti-patterns too. Hema is a dutch company that recently tried to revamp their online site, but went a little too far.


Thursday, May 1, 2008

Dojo 1.1 Released



Java JavaScript CSS HTML C# Ruby WebService


The Dojo team has released version 1.1 which includes from over 800 improvements:

An easy to use and significantly improved Dojo API Viewer with some seriously great features, including the ability to easily find the original definition of a method that is “mixed-in”
A growing collection of demos, tutorials, and articles
A new BorderContainer Dijit, which is a [...]

Using the YouTube API via Ext



Java JavaScript CSS HTML C# Ruby WebService


With the YouTube API recently released, there’s bound to be lots of cool controls coming out soon. Thorsten Suckow-Homberg spent a weekend hacking up a Ext-based user extension that leverages YouTube’s chromeless API to build The Ext.ux.YoutubePlayer.
The Ext.ux.YoutubePlayer allows developers to embed youtube videos into Ext applications, using native Ext components for controlling the video [...]

Doloto: Code Splitting for Network-Bound Applications



Java JavaScript CSS HTML C# Ruby WebService


I missed the Microsoft Research paper on Doloto: Code Splitting for Network-Bound Web 2.0 Applications:

Modern Web 2.0 applications, such as GMail, Live Maps, Facebook and many others, use a combination of Dynamic HTML, JavaScript and other Web browser technologies commonly referred as AJAX to push page generation and content manipulation to the client web browser. [...]

Composing DSLs in JavaScript



Java JavaScript CSS HTML C# Ruby WebService


PLAIN TEXT
JAVASCRIPT:




 


TheRulesAre(function() { with(this) {


 


    a(Player).mayNot('buyProperty').unless(function(player, property) {


        return property.owner === null &&


                player.funds>= property.price;


    });


 


    a(Property).mayNot('addHouse').when(it().isMortgaged());


}});


 





Composing DSLs in JavaScript is James Coglan's latest perusal into fun with JavaScript and DSLs.
He walks through the building of this DSL in a step by [...]