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!

Emile.js talk (video & slides)

January 28th, 2010

My talk from Fronteers in Amsterdam last year, about my 50-line of code CSS animation framework Emile!

Watch the video

If you like, grab the slides and the code at my previous post.

My next appearance will be in beautiful New Zealand, at the ever-amazing Webstock conference in Wellington (Feb 14-19). If you’re around and don’t have your tickets yet, you’re missing out majorly. I’d even go so far and call it a MAJOR FAIL. So do come there and join Amy and me at our Performance Bootcamp and our talks on “I can’t believe it’s not Flash!” and “Shift+Cmd+R: Hard Refresh Your Design”!

vienna.js Vienna JavaScript User Group

January 15th, 2010

User Groups are fun! And a JavaScript group was really missing in Vienna! So we founded one. 🙂 Everyone is welcome, just bring enthusiasm and open minds (and laptops!).

The first meetup will be on February 10, 2010, at Metalab.

If you like to join us for our first meetup, please RSVP!

We’re looking for a presentation of something awesome & JavaScripty, so any volunteers please step forward for fame and glory (please mail me at thomas@fesch.at!).

More information and updates on http://viennajs.org/ and on Twitter @viennajs.

JavaScript Master Class Vienna, March 2010

January 14th, 2010

Amy Hoy and I proudly present our fourth JavaScript Master Class, this time it’s where we live, in beautiful Vienna, Austria!

Do you…

  • know all the ins and outs of JavaScript’s object model by heart?
  • eat prototypes (‘little p’) for breakfast?
  • use closures and anonymous functions—but only in a memory-safe way?
  • secure internal code from API users, when necessary? (without obfuscation?)
  • curry functions?
  • practice safe namespacing?
  • dream about DOM reflow?
  • crawl through the DOM tree with practiced ease?
  • bubble or capture events from scratch—without peeking at the manual?
  • architect your large projects like a pro?
  • manage your code with an iron fist?
  • build your deployment process with tools other than FTP?
  • test your JavaScript with a unit testing framework?

Don’t worry if you don’t—yet. You will after you put yourself through our JavaScript Master Class, whether you use Prototype, jQuery, Mootools, or just your own naked cleverness.

The day is half about JavaScript the language, with topics ranging from functional programming patterns, closures and anonymous functions, object-orientation and prototypes all the way to building domain-specific languages and APIs in JavaScript; and half about the ecosystem, encompassing code organization, getting deployment right, creating great documentation, and having proper unit testing in place.

Our full-day class is limited to 20 seats, so you get to to pick Amy and my brains to the fullest (and afterwards we’ll socialize over a beer or two!).

Head over to http://javascriptmasterclass.com/ to learn more and register!

PS, we’re expecting to sell out! We’d hate to hear from you that you wanted to come but didn’t get a seat in time, so if you want to attend, please don’t hesitate! Register early!

Web development’s next decade

January 7th, 2010

Goodbye 2000’s, hello 2010’s. What does the next decade on the web have in store for us?

Let’s start by looking at what happened in the last decade.

In the Year 2000…

At the beginning of the year 2000 (shiver!), the current version of Internet Explorer was 5.0. (Though people were largely still using version 4.) IE’s market share was approximately 75% for all versions, slightly more than today.

Netscape had a market share of about 20%, thanks to a rapid decline following its last release (version 4.08 in November, 1998).

There were no alternatives in sight.

Flash was at version 4 (and didn’t get video support until mid-2002!), and JavaScript was at 1.3 (1.5 was released later in 2000).

Front-end web development was a horrible, evil mess. There were almost no debugging tools available for HTML or CSS. Forget about debugging JavaScript. (Though browsers were already pretty powerful, that power was largely wasted on tickers and animated cursors).

Many people took ActiveX seriously.

Snap back to the present—and the future

Here are some predictions of how I think the Web and development tools will keep progressing through the next decade:

First of all, most web sites/apps will suck most of the time. Still. This is not a problem technology can solve, only devotion and effort on the behalf of people who make web sites.

Furthermore, we’ll still see lots of compatibility problems. But nothing like what we have today, much less 5 years ago.

Browser Marketshare

And that’s despite the fact that Internet Explorer’s market share will continue to drop, to maybe 20-40% by the end of the decade. This will be caused largely by a shift to more specialized browsing devices (mobile phones, tablets), with IE used mainly for in-house legacy “web” business applications.

Conversely, Firefox will gain some more market share, but it will eventually yield to WebKit-based browsers, with many more WebKit-based browsers from various vendors being released. (You can see this trend now with Apple’s Safari, Google Chrome, Nokia’s Starlight project, and more.)

Interactive Environments & Developer Tools

JavaScript, CSS animations, and related graphics & I/O systems will take over. (Graphics will include Canvas, WebGL & SVG, but possibly also things we don’t foresee yet.)

We’ll see IDEs for development with JavaScript-based Flash-like graphics engines, that will use Canvas and WebGL, and SVG (Microsoft just announced it joined the SVG working group). Plus, these IDEs will also target non-browsers, by compiling the results into a browser runtime with deployment to various mobile platforms.

There will also be a dramatic increase of hybridized local/web software, such as Single Serving Browsers (SSBs), and “real” desktop-land software that syncs to, and interacts with, cloud services.

Browsers will eventually stop supporting Flash (at least out of the box), but Flash will stay as a development platform for mobile devices.

Mobile Devices

On the mobile side of things, I fully expect the landscape to be utterly different from now. The iPhone is just 3 years old now and changed pretty much everything in the “smartphone” space, and who knows what Tablet goodness 2010 will bring.

Language Dominance

And of course, JavaScript will continue to be the world’s #1 programming language, being supported (exclusively!) by anything that runs/is based on a web browser runtimes.

We’ll also see dramatically increasing use of server-side JavaScript technologies as well.

Translation: If you aren’t already comfortable with JavaScript as a language, you better learn it now.

Computers

I’m pretty certain that the basic form factor of computers that most people use today (laptops) won’t change that much (my 2002 Titanium PowerBook was not that much different from my current-generation MacBook Pro, except for speed/storage increase).

It is quite possible that desktop computers will experience a renaissance, with people switching to a desktop machine at home/work and tablets to lug around.

Disclaimer

And yeah, I’m probably horribly wrong. 🙂

(Big thanks to Amy for the input and some added sections on this article!)