Wednesday, April 21, 2010

Repeating the past ?

JavaScript has grown exceedingly popular of late, with much credit due to easy-to-use libraries like jQuery and the rediscovered usefulness of Ajax. More and more, sites use JavaScript to provide great functionality for the people who visit. More so, many experiments—like Scott Schiller's site —push the boundaries of what JavaScript is typically used for. The same is true for HTML5, with amazing displays such as 9Elements' HTML5 Canvas and Audio Experiment or Jilion's more practical SublimeVideo player.

These new executions bring interesting questions, many related to user experience. If a feature needs a lot of code or graphics to power it, do we need to give the user progress indication (read: preloader) before they can use it? Once we use HTML5 video to interact with other videos, text, and graphics, will we need blending modes in HTML6 to create more seamless online environments? Will JavaScript developers realize the value that sound brings to an online experience and have to create ways to handle audio? Will we need a visual editor so that designers who don't code can take advantage of ? Will heavily scripted web applications become intense processor hogs?

If this sounds familiar to you, it should. These are the kinds of questions the Flash community explored throughout its early years. Regardless of your opinion about Flash, it's difficult to deny the tremendous growth it has experienced. From a simple drawing application, to a full-fledged scripting language, to powerful streaming video capabilities, and more, the Flash platform has expanded exponentially to respond to the needs of its users—the people who use it to create and the people who use the end result. For better or worse, Flash has shaped the way people absorb online content.

We now have the advantage of learning from that journey, and we're already reaping the benefits. For instance, any interaction model that modifies the full page refresh breaks the browser's back button functionality. While it took eight years from Flash's inception to birth a solution such as SWFAddress, JavaScript developers have the benefit of hindsight and were able to implement a similar solution for JavaScript-based applications much faster.

I'll go so far as to assert that most technological advances are born from something that would be good for people using it. When we put stock in technology and try to be creative for creativity's sake, we almost always repeat our mistakes. When we try and solve problems instead, we force ourselves to care. Innovation is a natural side effect.

People matter. Not users, but people. A user is a faceless entity, robotically performing tasks that we test and optimize. A person lives, laughs, cries, loves, hates—and uses the sites and applications we make. My mom. Your five-year-old. His grandfather. Her best friend. Their science class. They don't tell us how much they appreciate our progressive enhancement or how we use the drawing API or our impeccable use of attribute selectors. They only say that a website was confusing or hard to read or fun to play with. That's the real motivation for excellence: bringing ease, joy, and fun to the people around us.

We should be getting to the point where people can't tell how a site was built. I love coming across a site where how it was made is not immediately apparent to me. That's how it should be: Create something excellent where the technology is transparent, and allow only the curious to look under the hood to actually see what's going on. JavaScript, Flash, HTML5, tables, Shockwave, Unity—no one cares when people using it can do what they're supposed to. When something is broken—whether it's functionality or the user experience—that's when you'll hear whining about platforms. Create a great experience for people and you'll receive due praise, regardless of the technology.

Start supporting initiatives instead of bashing them. Do you think Flash sucks? Don't write a "Dear Adobe" rant on your blog; contact the Adobe team directly and tell them what you think could be improved. Think HTML5 is a joke? Get involved with the working group to make it better. Got a problem with how a certain site is built? Approach the creators with your concerns and suggestions, privately and humbly.

Finally, remember what really matters: People. For everyone's sake, it's time we all learned to get along ( like this playground analogy Courtesy of Dan Mall).

No comments:

Welcome to kutti-SUVAR

In Tamil, Kutty Suvar means a small wall. This small wall has been used usually by group of persons to sit around and chat! chat!! chat!!! But, one should not under estimate it, since its been the place for sharing all kind of news. You may find interesting it and some times boring. But the main part of it sharing. So have fun and get informed.