How Twitter learned me to love the user

Focus on the User Experience

I have finally scheduled what sessions to attend to on JavaOne, there are a lot of different areas I find interesting. One session I am really looking forward to is the one with Dion Almaer and Ben Galbraith from Mozilla (and fellow founders of Ajaxian.com) where they focus on how we can bring better User Experience using existing technologies

Each year developers gain access to ever-more-impressive technologies for rendering advanced user interfaces and generally doing more cool stuff. But what’s the secret to leveraging these technologies to create applications that users truly love? Join noted Ajax and desktop gurus Ben Galbraith and Dion Almaer in this session as they discuss how to create fantastic user experiences in software.

This is how it should be, user experience should drive the technology and not the other way around, technology is only a set of tools we use in order to solve the challenges we have in order to bring the user the experience he expects and deserves. In the end, the user experience will pay your bills, as happy users will come back, and popular services earn money enough to pay salaries to people like you and me.

Twitter redifined

How do Twitter fit in all this? Twitter have had (sometimes deserved) a lot of criticism for different things such as:

  • Architecture (Fail Whale anyone?)
  • Too few features
  • Artificial communication (140 characters limit)
  • No business model
  • Desperately seeking a buyer

Despite these “arguments” Jack Dorsey, Evan Williams and Biz Stone says “Twitter is not for sale”. Why are they not selling? Do they want to push the price-tag? I do not think so. I think that Jack Dorsey, Evan Williams and Biz Stone love their product and the philosophy they have chosen. They do not want to sell, they want to own their product, which they probably have strong emotional connections to. I think they keeping the product away from big companies such as Google, FaceBook and Microsoft is good news for people like me who have learned to like the service they provide.

After the Oprah Winfrey appearence Twitter have gone from early-adopters via bloggers to mainstream users. Twitter is a threat to Google on real-time search, Twitter is a threat on status updates to closed alternatives such as Facebook, Twitter is a platform for developers to build other services upon, Twitter fills a big need. But Twitter is not for sale. If the people who see only negatives when they watch Twitter stop thinking about who will buy them, they will probably see a product that offers exactly what their users are asking. I would therefore like to redifine Twitter:

  • The architecture is good enough
  • The number of features are perfect
  • The mass communication channel Twitter is offering fills a need
  • Twitter will earn a lot of money
  • Twitter do not need Google, they will be a giant player on their own

Twitter helps us define Customer Experience

What conclusions could be drawn from Twitter then? First in order to build a good product, focus must be on the offer you have to the customer. The offer must fill some kind of need and have a quality good enough to make the user come back. It seems that owners having strong emotional investments in their product also adds to the customer product experience. In the end a product will need to make enough money in order to stay alive, I may be a bit naive, but I think that when you manage to grow a big number of users to your product, you will be able to monetize it. In the beginning Google thought that their business model was to sell the technology behind their search engine, and now they are one of the worlds largest ad-companies (if not the biggest), and the money they are earning from selling search technology is hardly enough to buy the toys for their dining rooms.

I think that all of us who work with consumer products have a lot to learn from Twitter. So what is actually the purpose of this blog post? Well I think that we need to learn that if we love our product, love our users we will build a good service. If we are lucky enough to fill a big need we may get the chance to earn a lot of money and get the chance to see the product evolve. Invest emotionally in your product and your users and stick to your idea and philosophy. If you do that you can focus on who to buy instead of who are buying you.

If you are interested in User Experience you should follow me on Twiter and make sure that you subscribe to my RSS.

Twitter Weekly Updates for 2009-05-03

  • Building an online tool for myself helping me find good expiring domain names for .se #
  • RT @Andy_Bloch Trying to figure out what to do with the rest of the day after the early bust out. Don’t think they’d let me play blackjack #
  • pretty strange H&M do not redirect non-www to www: http://hm.se #
  • Lägenheten såld. Gött mos. #
  • Nån som kör Handelsbanken, Mac och FF och vet varför det skiter sig med nya FF? #
  • Loading Scripts Without Blocking http://ff.im/-2rHyZ #
  • “Därför suger de flesta byråsajterna” – CAP&Design http://ff.im/-2ry66 #
  • 34 Stunning & Free Mac Screensavers for OS X « AppStorm http://ff.im/-2qDFR #
  • Design Tweaks Vote for upcoming versions of WordPress http://ff.im/-2qDxP #
  • VisualRevenue | Yahoo! Web Analytics 9.5 Launched http://ff.im/-2qCWt #
  • Google Study On Sitemaps http://ff.im/-2qCZU #
  • QuirksBlog: Yahoo! presentation on JavaScript Events http://ff.im/-2p2DQ #
  • Mac Snow Leopard to offer screen recording via QuickTime X Player http://ff.im/-2p2sp #
  • Twitter Weekly Updates for 2009-04-26 http://ff.im/-2nC3r #

Twitter Weekly Updates for 2009-04-26

Real World JavaScript Evolution

The History

Few languages can cause such debate as JavaScript, now a days, everyone is a JavaScript-developer, but it has not always been like that during the cold years between 1999 and 2005. In the early days of JavaScript and browsers we saw some really amazing things being created client-side, and I must admit, some amazingly cruel and bad implemented front-ends as well. A lot of these bad implementations were not due to the use of JavaScript, rather due to developers running the show and lack of guidelines on where and how to use client-side scripting such as JavaScript. In this article I will, with a very subjective view on the topic, guide you through the history of JavaScript and how it come to be that the most hated language in the world ended up as the saviour of the galaxy. The story takes you years back and beware, we mixed content, presentation and behaviour in a way that may not be suitable for the eyes of law abiding and always politically correct standards advocates. We did things such as:

  • Attached events inline
  • Used document.write
  • Alerted when something went wrong (or well)
  • Directly addressed DOM-objects and not trying to create abstract solutions (who needs them! bah!)
  • Used UPPERCASE TAGS
  • Looked at the user-agent string to try to parse operating system
  • Forked element detection depending on browser and DOM.
  • Created recursive functions for finding LAYERS in Netscape 3

If you feel that the list above is way to much for you, head over to W3C, Opera or the Republican Party HQ Online. Ready to go?

The Beginning

Brendan Eich designed JavaScript to look a bit like Java in syntax, but weakly typed and easier for the non-programmer to get started with. The name has little to do with Java except that Sun was involved in the naming back in 1995. JavaScript was first introduced in Netscape 2 and after that the world has not been the same. In the beginning the main area of use for JavaScript in the browser were for validating form data, popping windows, swapping images and adding externally hosted ads to a web page. We still use JavaScript for form validation and ad-scripts. Later in the nineties we saw the term DHTML grow in popularity and DOM-scripting, manipulating the DOM of the webpage dynamically using JavaScript grew in popularity. We saw a lot of games and similiar things being developed. This was when a lot of things were starting to go in the wrong direction. The birth of DHTML more or less happenede at the same time as Internet Explorer 4 and Netscape 4 were released in 1997. If we could dynamically change the DOM on the client-side with a language built for non-programmers we could move the whole control of design to the designers right? There were no limit to the madness me and others took part in. I implemented dynamic scroll areas of content, advanced text-tickers, AJAX-like interfaces with cross-frame-scripting. There were no rules, no libraries, no best practices and no one who saw the boundaries in either direction. Maintenance was just a word. How it all ended? No one had the time to actually look back, because any serious player on the net redesigned their website two or three times every year. There were a lot of work for people who enjoyed writing JavaScript (you did not have to be good at it). There were some approaches to creating libraries such as DynAPI. CSS was just something some people used for stylign fonts (but it was a nightmare getting the same font sizes on different clients), so a lot of the JavaScript code used in order to create DHTML actually added non-semantic HTML to the DOM, and trying to work out how things worked was more or less impossible. The state of JavaScript was that we created amazing things with it, but it was living hell to maintain and when new browsers were introduced the owner of the website more or less had to initiate a redesign and rewrite of the code.

The Dark Ages

After the big crash in 2000 – 2002 you were not allowed to speak the name of the devil. People who still enjoyed solving problems using JavaScript, had to do that locally on 127.0.0.1 and newer, ever show results to anyone on the outside if you for some reason had not met up with other people who fancied the same sick perverted language as your self. Like Gollum we had to hide in the caves. For us, the people who still enjoyed writing JavaScript, it was actually good times as browsers were moving towards standardized ways of implementing the DOM and Ecma, of course with new browser bugs introduced along the way, but it was more or less on the right track. JavaScript in the browser was evolving to become a more or less standardized way of adressing a certain type of problem best solved client-side. As the support for CSS and initiatives pushing for building semantic websites grew stronger, the potential of JavaScript also grew in the caves. During this dark period of JavaScript, semantic built websites meant separating content and design, no one discussed or thought of behaviour, because we were not allowed to speak of the devil. For the big audience and developers JavaScript was something that for some people destroyed the user experience, not enhancing it, in some sense they were right, we only needed to find the correct guidelines and patterns in order to utilize the strengths of JavaScript in the browsers. When everything looked like it was no hope left, a lot of things happened that gave us all a new hope on the evolution and use of JavaScript.

A New Hope

I probably get the chronology all messed up here, but between 2003 and 2006 a lot of great stuff started to happen in the JavaScript world. I think a lot of this new hope had to do with how successful the turn from presentational markup to semantic markup with CSS had been. There was one big problem with standards compability for CSS, that was IE6 (as always the bad kid on the block) and Dean Edwards came up with a JavaScript based solution for the problem which he named /IE7/, the script actually showed the world the strenghts of JavaScript, it actually emulated full CSS 2 support in Internet Explorer 6. We saw a lot of different things that happened during this time that made JavaScript a part of modern web development again:

  • Birth of the term AJAX
  • Ruby on Rails bundling Prototype and Scriptaculous for AJAX and effects
  • Standard DOM (more or less)
  • Birth of generic libraries such as jQuery, MooTools, Dojo and likes
  • Adsense from Google
  • Progressive Enhancement philosophy

All this made JavaScript an natural and important part of the front-end for all web based solutions.

The Enterprise

Once again (2009) JavaScript is on top of the world and now it is a tool all web developers need to know fluently. A lot of todays developers “code jQuery” or “code Dojo” and the libraries has been something that you adhere to from a philosophical approach to coding. What we see now is that the libraries and the engines are getting better and better support from large corporations and organizations such as Mozilla, Google or Apple. We also see JavaScript moving from the front-end to the back-end and the knowledge will be more worth in a couple of years. Today a lot of people are talking about Comet, Mobile JavaScript Support and other new parts to explore in the ever growing area of JavaScript. We see how JavaScript is no longer a play language for non-programmers. I feel that is good in some sense, but also I think that with JavaScript being taking seriously also opens up a threat that it turns into something scary that everything that gets a large developer community turns into after a while. I want JavaScript to be as dynamic and weakly typed as it has been, if it is turned into something corporate I will change focus, I have learned to love JavaScript during the 10+ years I have been working and playing with it.

Epilog

If or when JavaScript looses its playfulness I need a new language to turn to. People have suggested Ruby or Python and I have started to look into these languages, and they look promising, but they are not an alternative to client side scripting. Of course nothing stops me from still using JavaScript even if it turns into something “serious”, it is just not as funny anymore to use a language that once was the only language for rockstars.

Swedish Web Developer Conference 2009

I am writing this to tip you about the Swedish Web Developer Conference 2009 that are being held in Stockholm (Kista) on the 25th of May. The Conference focus on helping web developers and web designers getting into things such as Dojo, jQuery and CSS, with some really great speakers lined up.

The conference is an initiative by Peter Svensson (who you should follow on Twitter and subscribe to his blog Script Uncle). Peter has done a good job lining up some of the most well known web developers and designers out there. Below you see some of those people listed.

So if you are in Sweden on the 25th of May, head over to the registration form.

Twitter Weekly Updates for 2009-04-19

Twitter Weekly Updates for 2009-04-12

Twitter Weekly Updates for 2009-04-05

Twitter Weekly Updates for 2009-03-29

Twitter Tweets Weekly Updates for 2009-03-22