Minggu, 23 Januari 2011

Are browser-updates a thing of the past?


I noticed something in the browser stats before I noticed it on my laptop – Google’s Chrome doesn’t ask you about updates. I knew, almost subconsciously, that there was a Google updater programme running. However, I didn’t realise the impact it could have on web development, and potentially users as well.


A small part of StatCounter’s Global statistics for browser versions caught my eye:

Global browser version statistics from StatCounter.


You might remember from Jacob Neilson’s Alert Box that we were stuck with old browsers for three years:


Browser usage in the late '90s, showing slow upgrade times.



With IE6′s plateau, it seemed like things were getting worse. Even Firefox (with more tech-savvy users, we assume) is taking the better part of a year to drop under 5% from the release of a new version.


The Google Way


But now there is a new browser in town, with a web application perspective. Let’s zoom in on Chrome, when it updated from Chrome 3 to 4. Light green is 3, dark green is 4:


Chrome stats during the upgrade from three to four, they switch between February and March.


In a month, Chrome 3 virtually disappeared (5% down to 0.3%), and Chrome 4 took off.


As a web developer: This is fantastic! No more waiting for users to download, they don’t even need to think about it. I don’t need to worry about having multiple browsers installed, because the general population can’t use old versions.


As a user: It’s great… until it breaks. Taking the choice away about when to update a program strikes me as dangerous.


The potential danger is very limited at the moment because Chrome is not bursting with pluggins and isn’t relied on by anything else. However, pluggins are becoming more popular, and upgrades that break web-apps could be a new problem.


We know how well Microsofts upgrades are received when they break things, if Chrome carries on gaining market-share, is it risking the same issues without even giving people the choice of when to update?


Update (August 2010)


This is a consistent approach from Google, the update from 4 to 5 happened just as quickly:


Browser stats chart, showing chrome 4 dip to almost nothing, and Chrome 5 take over.


The line that chrome overtakes in July is IE6 by the way, so Chrome 5 is more popular than IE6 now.

Send to my… fridge?


I’ve noticed a trend in how I use the internet now, where I use different aspects of it in different contexts. In my browser there is a set of bookmarks in a folder called “Send to”, which allows me to direct resources to different places.


Admittedly I’m on the geeky side; I’ve got lots of gadgets. However, I’m have very lazy/efficient habits and would rather spend several hours setting something up if it saves me time in the long run. The main things I have setup are:



What that actually equates to is that I use those resources on my:



  • Laptop (working)

  • iPad (reading)

  • iPod (listening)

  • TV (watching)


The key is that it is easy, and largely automated. If I see an audio file on a webpage, I can use a bookmarklet to ‘huffduff’ it. iTunes will then download it automatically and it appears on my iPod the next time I sync.


Boxee and Instapaper are even quicker, as external services they sync over wireless. For example, a friend sends me a funny YouTube video whilst I’m at work, I hit “send to Boxee”.


Next time I’m lounging on the sofa, I open up Boxee on the television (via the Mac Mini) and up pops the funny video in my list. (I do recommend watching the James Galea card trick by the way.)


Screen shot from Boxee that shows a listing of online videos I've added.


The key is not the device per-se, it’s the situation. I can read/watch/listen on my laptop, but I’d rather send funny videos to my living room, and read long articles away from my computer.


Where will it go from here?


I can only see this type of functionality becoming more widespread. Google has already added ‘Send to mobile’ to the Chrome browser for sending to an Android phone. It feels like when Jack Bower (in 24) says Send it to my screen!, but more fun.


I picked on fridges for the title of this post because it is the household appliance that was always touted as being internet enabled someday, but could this be useful soon?


Apply the “send to” principle to e-commerce and I could see something online and order it to my fridge. That doesn’t sound very practical. This example would be better the other way around, so that when I am at my fridge, I’d know I’ve run out of something and it has a “send to” feature that goes straight to a shopping list on my computer, or even to the supermarket.


If you are creating an online service, the simplest implementation at the moment is to create bookmarklets for people to ‘send to’ your service. You can win over a lot of users by not making them think, now you can also enable them to use the most appropriate device for their context.

Bristol Council CMS discussion


I attended the Roundtable Discussion about Bristol City Council’s Future Web Platform, an interesting insight into how local authorities think about their web presence. Something about the presentations & process jarred with me, and it took a little while to work out what the problem was: the assumptions.


I’d glanced through the requirements, which were relatively good for a Council, but obviously include everything and the kitchen sink. The presentation gave a brief outline, these are some key slides for the requirements:


Website functionality, including ability to create multiple website, personalisation, forms engine, multi-lingual.
Web presence: web 2.0 functionality, video & audio, alerts and messages.
Technologies: Java or Microsoft, 5 year roadmap, open standards enabling interoperability.


Apologies for the picture quality, check out the full presentations on Bristol City Council’s blog. (Some of it is available on Connecting Bristol in video.)


I think these requirements will lead the Council down just the same path they are trying to escape. Particularly:



  • Using Java or Microsoft (internally support technologies)

  • Having a 5 Year roadmap

  • Over-arching requirements that affect all other functionality; such as being multi-lingual, personalised, and accessible. Assuming that each of the specific functionalities (e.g. forum) has to meet those over-arching requirements (which is implied), they create an enormous overhead. Not that they are unachievable, but the chances of a traditional CMS being able to meet them across all the specific functionalities are non-existant.


Although not in the slides, there are two implicit requirements:



  • BCC do not want to be trapped using a niche product with limited suppliers.

  • The ‘solution’ would be a single product


  • Unfortunately there isn’t a solution that will meet those requirements.


    Java


    NB: There was no-mention of Microsoft ‘solutions’ at the meeting, so I’m assuming BCC don’t believe one would be open or cheap enough.


    I would ditch this requirement for several reasons:



    It assumes people unfamiliar with the website’s development will edit it.

    Even if a Java CMS were used, why would Council staff mess with the CMS? Perhaps if the internal staff are involved in the development work it would be ok. But then, why use an external supplier at all? Assuming that the Council physically host it then they can and should administer the system, but it doesn’t need to be in Java for that. I would separate the development from the (hosting) administration, and have a contract with the developers for support for the application(s).

    Another option would be to hand-off the hosting to the company developing the website (or their hosting partner).

    Java isn’t used by people creating modern websites.

    I have nothing against Java, and it is eminently suitable for many purposes. Unfortunately quick development of a modern website is not one of them. I recently looked around for a Java framework that produced good, clean, accessible HTML. There are some promising developments (e.g. Grails), but as a general rule Java developers/development doesn’t tend to care about the front-end. For example, a client was considering the Java Icefaces framework, who’s knowledge of accessibility is years behind current thinking.

    How future proof is Java?

    Another count against Java (especially in a 5 year time frame) is whether it will be open. Since Oracle bought Sun, and especially since they sued Google over Java, Java’s future direction is in doubt. Not that I think BCC would have a legal issue, but Java could be a legacy technology in 5 years.

    Java is inherently a heavy technology.

    We used to use Java for our CMS, and using the JVM plus database and webserver is a lot for a server. Compared to a LAMP stack (or our preferred Linux/Nginx/Postgres/Python) you won’t get a lot of bang for your buck. A modern website tends to integrate multiple streams (e.g. RSS), databases of things, and related components, and if you look at the big players (Yahoo, Facebook etc.) they aren’t using Java as their primary technology. Neither are the products catering to small players (e.g. WordPress & Drupal)


    5 year roadmap


    This requirement is inherently going to discriminate against open source solutions. The nature of open source development is distributed and reactive, there isn’t a “guy in marketing” who will draw up a customer friendly roadmap.


    You need to either to find a partner company with a good track record who looks like they will be around in 5 years, or go into the initial development assuming that you’ll have to be able to move off the solution with a 1 year turn-around.


    I also don’t think that proprietary solutions are realistically better here, it’s just as likely they’ll get bought out or go under. The difference between an open source CMS dying out (like APLAWS) and a proprietary one going under is negligible, you’d have to migrate in both cases.


    Overarching Requirements


    These are useful and necessary requirements (e.g. accessibility), I’m not suggesting they are ditched, just that combined with the desired functionality, the Council should not be looking at one product.


    Start at a lower level


    Council (in fact most) procurement starts with the assumption that you can draw up a list of requirements, and assess a series of products and see how well they match. CMS products (commercial and open source) are built to meet these tick-lists.


    The thing is, the more boxes a product can tick, the less likely it is going to do it well. You know that joke about consultants? They can be quick, good, cheap: pick any two.


    There is a similar ‘law’ of content management systems, pick two out of:



    • Quick to implement

    • Flexible functionality

    • Have an easy to use interface


    Take WordPress as a well known example, it’s got a reasonably good interface, and it can be very quick to implement. However, it isn’t going to be flexible enough for the Council’s requirements (e.g. changing the workflow).


    Drupal can be quick to implement (for sites which have the same assumptions that Drupal makes), it is quite flexible, but it’s a pig to use for non-technical authors. (You can modify the interface, but then it’s not quick to implement.)


    Having done some Reddot development, that is fairly quick to implement a site, and the interface for authors is ok, but extending it can be a nightmare.


    New assumptions


    So what to do? The most important change in assumptions are:



    • The website will be highly customised and that a traditional CMS is not going to meet the council’s requirements.

    • Start with only the core requirements to provide the most important services, and a roadmap.


    I’ve done a lot of user-research with local authorities, and if you don’t get the basics right (easy access to core services) all the fancy ‘Web 2.0′ style functionality is wasted.


    My recommendation for technical direction would be to use a framework based approach. Use a lower-level framework like Django, Ruby on Rails or MS MVC. These were created as toolsets for creating modern web sites / applications. Some companies have CMS type products that provide an easy-to-use interface that sit on top, just be careful they retain the flexibility of the underlying framework. The key is that you start with a core website and build exactly what you need.


    Another approach would be to assume the use of several technologies. For example, use Drupal as the main tool for the website, but assume that there will be an extended development time for customisation, and other products will be used, skinned and customised.


    I prefer the framework approach, as you spend less time working around the assumptions of the CMS, but it depends on the situation. Let’s hope the Council can get past the standard thinking.




    My biases


    I think everyone at the meeting has some inherent bias or agenda, I’ll make mine explicit:

    I work for a company (Nomensa) that does work with local authorities (and others) in the area of user-research, web design and content management. The usual disclaimer that these are my words applies.


    So in experience terms, I’ve run or seen lots of usability testing, Information Architecture sessions, and focus groups of citizens/customers for local authorities. I’ve also been involved with many CMS-migration / redesign projects at local authorities (and other markets).


    I’ve also spearheaded development of our (DJango based) Content Management System Defacto (website updating soon), which was born out of frustration with inflexible and inaccessible CMS products.


    However, what I’ve written above is my honest assessment, we haven’t bid for the website and I don’t have any commercial interest at this time, just a Bristonian’s interest!

WebAIM Aids eBay Accessibility Efforts


WebAIM is excited that eBay has recently launched a set of enhancements to its web site that makes the buying and selling experience more accessible. Users can list, search, navigate, select, and purchase an item on the eBay web site with greater ease. In April and May, WebAIM staff traveled to eBay’s corporate headquarters in San Jose to provide customized training to their web site developers, quality assurance engineers, designers, and product managers. We had a great experience in training the teams, and meeting with the eBay accessibility core team that coordinates the accessibility initiatives across the company.


eBay’s company-wide accessibility training program has been updated to address web accessibility. We are enthused by this momentum and are pleased to see more web sites support the needs of individuals with disabilities.


We applaud eBay for their strong commitment to web accessibility and for the opportunity WebAIM has had to provide training resources to support their accessibility initiative.


Read the press release: eBay and National Federation of the Blind Partner to Increase Ecommerce Job Opportunities

Five things carrots can do that HTML5 can’t


I saw the marvellous 10 Flash Things You Can’t Do With HTML5 and it made me realise that HTML5 is rubbish.


In fact, it’s not even as good as a humble carrot. Here are five things carrots can do that HTML5 can’t, presented by Dr Archimedes Einstein.



(Captioned HTML5 video on Monday when I’ve worked out how to do it – it’s my day off and kids are nagging me to go swimming.)


Oh, and here’s the gag reel.

Meet NEWT: New Exciting Web Technologies


As professionals, we need to keep our jargon accurate. That’s why I hate hearing “HTML5″ used as an umbrella term for any web technology, especially when people confuse HTML5 (mark-up and APIs) with CSS 3 (eye-candy). Repeat after me: HTML5 != CSS 3.


So we need a buzzword, as “HTML5 and related technologies” is unwieldy (and inaccurate). I prefer “NEWT” which stands for New Exciting Web Technologies and can thus safely encompass real-HTML5, CSS 3, SVG, XHR2, Geolocation, Web Sockets, WOFF, Web DB, IndexedDB, WebGL and the like.


Because new acronyms need a logo, the talented and generous Rob Winters made a cute newt.


various sizes of cute newt on Flickr


(Other sizes, Transparent-background version.)


Please, use the logo and term in your presentations, and wave goodbye to misery of I.B.E. (Inaccurate Buzzword Embarrassment)!


(Be nice if you attributed Rob, and even me, but no compulsion.)

Dear Bruce, your site is ugly. Sort it out.


It’s usually nice to receive feedback. But not always. Before Twitter became so popular an outlet for one’s ephemeral thoughts, I would occasionally receive emails berating me for having the temerity to publish personal blog posts and urging me to return to posting techy stuff. I would always answer these


Dear kindly correspondent, as you may have noticed, my site is not called freewebtips.co.uk, but brucelawson.co.uk – the unique portion of which is my name. This is not a co-incidence; it is because this is a personal site which I pay to register and I pay to host and therefore consider it my personal space upon which I can write personal posts if I so choose. Please do not read them if they offend you.


That seemed to work: I never heard from those people again, anyway.


This morning, someone had taken the trouble to write:


Im just getting into coding as i am myself a Graphic Designer. And i keep seeing your book advertised in most the places im learning from. I was suprised to see (with no offence meant) that your site is not the best looking around. Sorry i know thats probably not your general worry here, but personally i think for someone who seems quite well known you should have a much more attractive site!


When I launched this site in 2003, I was aware that I am graphic-design challenged. Being an old punk rocker, and admiring Jamie Reid‘s punk do-it-yourself aesthetic, I spent as long as two to three hours sticking bits of newspaper to paper and scanning it. In the intervening seven years, I’ve even added the Holy Grail of design, border-radius, and spent days and days reading the HTML5 spec to craft the best markup I could.


Should I now add all the other things that current web design mandates by law: hundreds of empty nested divs upon which to hang transitions, gradients, reflections and transforms that distract from the words, double the rendering time and drain mobile batteries?


Or point out that markup and semantics != visual design?


Or tell my correspondent to STFU?