Thomas Fuchs
Hi, I'm Thomas Fuchs. I'm the author of Zepto.js, of script.aculo.us, and I'm a Ruby on Rails core alumnus. With Amy Hoy I'm building cheerful software, like Noko Time Tracking and Every Time Zone and write books like Retinafy.me.
   Want me to speak at your conference? Contact me!

Campfire: Web 2.0-style chatting

February 3rd, 2006

Head over to Signal vs. Noise to have a chance to test 37signals’ upcoming Campfire app.

1970s terminal glory on a Mac near you

February 3rd, 2006

So, with quad-core processors, multiple-gigabytes of memory and a terabyte of storage under your desk, it’s finally possible to perfectly emulate 1970s terminal goodness.

Activate “Classic Terminal” in the preferences, and maybe try out the baudrate simulation.

(Thanks to wombert for the link!)

Speaking at the Ajax Experience

February 2nd, 2006

I’m going to give a presentation on advanced user interfaces (using script.aculo.us) at The Ajax Experience which will be held in San Francisco from May 10-12th, 2006:

Ajax is giving developers and designers the power to access the back- end at any time. How and where does JavaScript and the Document Object Model fit in? How can they be used efficiently to provide next- generation form controls, sliding panels, loading-on-demand, activity indicators and
what-have-you?

Implement the next cool Ajax control using the Prototype and script.aculo.us JavaScript libraries and learn about the visual effects engine and how to best put it to use for your very own home- grown effects.

Of course, besides my talk, there are a lots of interesting presentations going on there, including world-leading JavaScript developers like Brendan Eich, Douglas Crockford and Sam Stephenson.

So, hope to see some of you in San Francisco! 🙂

New inline RJS for rails

January 21st, 2006

Sam doesn’t stop the goodness coming, now with the new inline RJS updates (from the CHANGELOG):

Add render :update for inline RJS. [Sam Stephenson] Example:


class UserController < ApplicationController
  def refresh
    render :update do |page|
      page.replace_html('user_list',
        :partial => 'user', :collection => @users)
      page.visual_effect :highlight, 'user_list'
    end
  end
end

Now, that’s very cool for those “quickie” 2 to 3 lines .rjs templates.

See the changeset for more info.

Scoped effect queues explained

January 21st, 2006

Abdur-Rahman Advany explains all about the visual effects queues of script.aculo.us and what sort of things you can achieve with them.

The short story is: You can create complete timelines of effects, with more than one scope (that’s what we call a “track” in script.aculo.us). This allows to do some neat trickery, like queuing effects up until other effects are finished, or limiting the number of effects that can occur in a scope (for example to prevent users from hitting a button 10 times because the effect looks so nice and breaking things by doing so).

So, if you’re using visual effects and want to have more control over them read the article.

(There are other articles coming up on Abdur-Rahman’s site on even more aspects of the script.aculo.us visual effects, please keep it up!)

Prototype gets selector magic

January 18th, 2006

Sam Stephenson doesn’t stop to add new wonders to the Prototype JavaScript framework and the new $$ function that just got added to the Prototype SVN trunk is sure a fine example:

Example: Find all <img> elements inside <p> elements with class “summary”, all inside the <div> with id “page” and hide each matched <img> tag:


$$('div#page p.summary img').each(Element.hide);

Great stuff.

Safari’s new Web Inspector

January 17th, 2006

WebKit and thus Safari just got a new, totally sweet Web Inspector palette—the best browser for the Mac just got better!

The Web Inspector lets you browse the live DOM hierarchy in a compact HUD style window, catering to the needs of web developers and WebKit hackers alike.

The Web Inspector highlights the node on the page as it is selected in the hierarchy. You can also search for nodes by node name, id and CSS class name.

One of the unique features of the inspector is the ability to root the DOM hierarchy by double clicking a node to dig deeper. This lets you easily manage large nested pages and only focus on a particular sub-tree with minimal indentation.

Under the Style pane we show all the CSS rules that apply to the focused node. These rules are listed in cascade order with overridden properties striked-out—letting you truly see how cascading stylesheets affect the page layout. All shorthand properties have a disclosure-triangle to show and hide the expanded properties created by the shorthand.

To get all this webdev glory, just follow the instructions on Surfin’ Safari.

Next step: please add a decent JavaScript debugger! 🙂

Speaking at Canada on Rails

January 15th, 2006

It’s official now—I’m going to have a talk on Ajax in Rails at the first-ever conference dedicated on Ruby on Rails: Canada on Rails.

The conference will be held in Vancouver, B.C. (in Canada obviously) on April 13 and 14, 2006.

There’s not much time left to get one of those early bird tickets, so you’d better hurry!

Audible Ajax Interview

January 9th, 2006

The lastest episode of the Audbile Ajax Podcast is all about script.aculo.us, web usability and other subjects:

Some of the first “wow” moments were due to the effects created by Thomas Fuchs in his Script.aculo.us library that builds on top of Prototype. Many people didn’t realise that with one line of JavaScript code they could get such a nice effect to happen, and now ugly developer-created sites have a chance 😉

We had the pleasure of interviewing Thomas, an we got to discuss his frameworks, and gain knowledge from his experience.

What you will learn in this podcast

  • How script.acuo.us was born out of a real project
  • Why Rails was chosen for Fluxiom
  • Where Rails shines with Ajax
  • The new RJS templates feature that makes Ajax even easier
  • The difference between Prototype and Script.aculo.us
  • How Script.aculo.us is available in Rails 1.0
  • Future plans for Script.aculo.us
  • When you should use the cool effects, and when you should not
  • About drag and drop and web usability
  • Challenges that Thomas has faced with his Ajax projects
  • Why you would choose an Ajax application versus using other technologies such as Flash
  • How hard it is to build a very rich Ajax application
  • How to handle browser differences
  • Experiences with DOM manipulation and innerHTML
  • How naming collisions are not as much of an issue in recent builds of Prototype

So, tune right in!

Photos from my Ajax Workshop in London

January 6th, 2006

Over at the Carson Workshops site, you’ll find a bunch of photos from my December 2005 workshop on Ajax in London.

Also, hoping to see some of you at my Get Started Using Ajax Workshop in New York!