Remy Sharp talks jQuery

Remy Sharp is the creator of jQuery for Designers, a superb collection of screencasts and tutorials for adding jquery to your website.

Dave: Okay, with me here is Remy Sharp who is a jQuery expert. OS, Remy, you work for yourself – what sort of stuff do you do?

Remy: I work on a mix of things, I work on some client projects – if a client comes to me with an interesting idea, I’ll work for them for their project. I tend to work as a consultant, a hired hand to their project rather than delivering the whole project to a client – my client will have their own client, so they work through me.

Dave: Okay right, so you’re there to provide input and to keep things going, keep the skill level quite up, and to keep…

Remy: Yeah, I’m basically… I tend to try and be a hired expert in kind of front end but I do everything anyway so I get to cherry pick the work and I get my fingers stuck in all kinds of pies.

Dave: Cool. And how long have you been involved with jQuery for?

Remy: Since June 2006 when I posted pretty much my first article on the web and it was a JavaScript tutorial and I realised there was Prototype and script.aculo.us for effects and I discovered jQuery and, because I’m a bit of a lazy developer I prefer to kind of spend my time doing stuff rather than doing the donkey work. jQuery allowed me to skip all the difficult stuff and when I finished the article, I took that and just converted it to jQuery and it was 20 lines down to 2, and that was my first article.

Dave: That’s really cool because one of the things I like about jQuery is the fact that it allows us to do all the same things but doesn’t tell you how to do THE CODING WRONG OR RIGHT but just gives you the tools to not have to worry too much about the cross-browser stuff. What is that you think makes jQuery so popular, because as you can see from the graph I showed you earlier – 35% share across the JavaScript CATEGORIES.

Remy: Yeah, for me the reason it’s successful is the community behind it. I mean, it came at the right time and the CSS Expressions inside of jQuery make it very accessible. But it’s the community, the help, create all the documentation, create blogs and talk about it and actually implement it. The Evangelist team, they weren’t made to be evangelists – they’ve taken people who were blogging about it, and being passionate about teaching other people how quickly they can get up to speed with JavaScript using jQuery, upspeeding in creating effects and AJAX and so on, using jQuery. They then have been pulled in to be evangelists. But I’m absolutely convinced it’s all down to the community that have helped build us up and also about the IRC channel, it’s really heavily subscribed, something like 300, 400 people on there everyday, and there’s newbies and intermediates and advanced people going on there, asking questions. And there’s guys and girls wanting to answer questions just for the challenge of being able to solve these things. I think it’s a friendly community as well – I’ve been on some IRC channels where if the question is too easy for them, they’ll tell you to bugger off. They’re just rude to you and I don’t get that in the jQuery community at all, I haven’t seen that very much.

Dave: I guess it’s partly due to JQuery being a product people tend to get excited about. People tend to naturally think ‘this is incredible’ and they want to share it with friends and when they get someone who doesn’t know about it, I guess they want to, rather than push them away, encourage them and bring them along and teach them everything they know. That’s going to help a lot.

Remy: The other thing for me is the CSS Expressions, the actual CSS part of it. I run jQuery for designers because I think that web designers like the front end people who just know CSS and know how to cut a mock into HTML but haven’t really touched JavaScript, they can take a CSS Expression and go ‘oh yeah, I understand if I can style it using this CSS, I can do something like add a class or add a click event using that CSS as well’. And people instantly get that. Once they understand they can use CSS to get into that particular area of the DOM and just manipulate it a little bit, they get it. I think the kind of ‘click’, the eureka moment is really, really early on with JQuery. JavaScript takes a little bit longer to understand how to navigate down to that specific point and some of the other libraries, they do more things… like Prototype is very good for extending the JavaScript language whereas jQuery is very much find something and do something to it.

Dave: Find something and do something to it is like a mantra people hold on to – I guess it’s quite a powerful way to think about it because it just makes sense to people. I think one of the areas I’ve noticed particularly with designers is they see the CSS Selectors and think it’s brilliant but WITH SUPPORT you’ve got to get across that message that it’s not a CSS engine you’re thinking about, it’s the JavaScript engine. How’s that work? What’s going on there?

Remy: In terms of the support?

Dave: Yes, because what they see is not CSS, it’s not CSS that’s going on is it?

Remy: No, underneath jQuery is an engine called Sizzle which is by John Resig and it’s completely stand alone piece of software that can be ported to any library if you want to, or write your own. What that’s doing is deconstructing that CSS selector and finding the right DOM nodes but is also detecting native functionality inside the browser. Safari 4 for instance has Query Selector and Query Selector All which are methods on the DOM that you can pass the CSS selector in and the browser will natively go and grab that content and give it back to you. So, inside of Sizzle, it detects that functionality and doesn’t bother with all the code that does all the searching inside of Sizzle. It just says ‘I will defer to the native functionality’. With IE 6, it’ll say ‘right, there’s no Sizzle here, I’m going to deconstruct this CSS selector and search through the DOM nodes and try and do it in the most optimised way’. I know there have been lots of speed tests as each library releases each selector engine they all go through this Slick Speed thing. Sizzle is currently running the lead with that and it’s the latest, one of the last releases of selector engines. One my pet things is to try and think about how you’re writing a CSS selector, it should be treated like CSS but CSS is native to the browser so in IE6 if you do .header it’s quick because it’s native but in IE6 and JavaScript selectors it means ‘search every single DOM node for this class’. It’s looking at every DOM node – if your DOMs very big, like 2000 elements, you can narrow that down by just doing div.header. So, it’s still down to the browsers a

nd browser support but Sizzle will even the playing field and you won’t have to worry about the support but the browser is going to be faster, depending on how new it is.

Dave: So there’s two real benefits here. First, you don’t have to worry about ??? anything in the jQuery documentation, any kind of selector that you can imagine will happen across all browsers but it will be faster in a faster browser. So there’s a two-fold benefit there, you don’t have to worry about older browsers like IE6 but you can get all the performance benefits of say IE8.

Remy: Yeah, I mean for a small application or a even a medium size application you’re not going to notice the difference of speed of selection in IE6 compared to Safari. It’s unlikely you’re going to be able to spot that. If you’ve got a client web site or a portfolio website, you’re not going to see that difference, but if you’re working on a very complicated website that has a huge amount of JavaScript behind the scenes, you’re trying to save milliseconds all the time. You think about optimising, just as you would cache variables, you’d optimise all the code as well as your CSS selectors but from a developer’s point of view working on an average range of portfolio work, project work, the selectors are going to be quick and they won’t need to worry about that kind of performance difference. But jQuery, yeah like I said, completely evens out the playing field for that kind of thing.

Dave: Cool. So, one of the things that we tend to find is that you get a project and you use one tiny bit of jQuery, so you’re writing a nice hacky bit of jQuery that does a nice sort of thing – something slides up and down. Then over the course of six months suddenly you get a huge amount of things sliding down, across and up and all over the place, and you go back to it and you think ‘if only I’d thought about organising all this stuff earlier…’. What kind of tips can you give for making sure you write code, because obviously jQuery is quite concise but you can easily end up with a mess. Are they any ways you can help overcome this?

Remy: Yeah, I mean, it comes down to planning, for one, but some of things I would do is… Paul Irish blogged about a pretty straightforward technique – what you do is look for an ID on the Body element and use that as your READY function. You have one start up file and it’s an object that has the ID of the Body as its key and it has a function associated with that. So if you’re on the landing page, the home page, it’ll run a certain kind of start up block of code and if you’re on maybe the search page it’ll only execute a different set of code on start up.

Dave: Oh, so you get a different set of jQuery functions happening depending on what page you’re on and what stuff needs to happen. That’s quite clever.

Remy: And I would take all my plugins and separate them out into separate files where I know they’re going to be reused either across the web site or other projects. But personally, I would also, for production, release that all into one file so it would be unified anyway, but during development, certainly plugins would be separated in separate files or maybe one file that would contain my plugins. I would have boot up code, start up code, in one separate file with the key value pair for a kind of ‘home page runs this code, search page runs this code, article page runs this code…’ and so on. And one of the other things I’ve had people ask me about is having a lot of markup inside of your jQuery which is something… the chap I was speaking to was saying, we’re trying to separate content from code and I see this process happening where they know they want to dynamically create something on the page where it slides out and something happens. So it’s like shifting markup into JavaScript. I mean, you can immediately see the problems with that because your markup changes five years down the line or even six months down the line and you’ve forgotten about this piece of JavaScript that contains markup. You can use templating systems to get around that kind of thing. You can inject it using AJAX hits or you can have it embedded on the web page already and reveal it as you’re going along. But you need to think about how it’s tucked away. Those are the kinds of things I try and use when I’m building a project.

Dave: Well that sounds like pretty good advice. On the subject of plug-ins. I mean, the idea of creating a plug-in probably seems daunting if someone has come from a design background and they’re you’re just getting their hands dirty with jQuery and they’re quite comfortable with taking and finding something and doing something with it if you know your selectors and you know a few of your actions. At what point should you start thinking ‘this could be a plug-in, I should be doing something that’s reusable’? How would you make that decision?

Remy: The most obvious one for me is if you’re working on two different websites where you’re copying and pasting the code. That’s the first point at which you should say this should be a plug-in here. But typically you’re working within one project and you’re finding you’re re-using a bit of code all the time. My rule of thumb is if my code that’s a candidate for a plug-in, if it doesn’t need to know exactly how it’s marked up and exactly how the action should happen and how it should be styled, then that would be a plug-in. For instance, if I have a link that always reveals a particular type of content, like a Terms and Conditions link would maybe make the content slide down and I have another link somewhere else and it’s making some other content show – having a reveal link is a fairly common pattern for instance. So I would have a plug-in called ‘Reveal’ which would say ‘look at the link I’ve just clicked on, take the hash off the URL, go find that hash in the document somewhere and animate it into the page using the passed in effect’. So I could now do ‘search through all the anchors with the class Reveal on it and here’s… so I do .reveal open brackets slide down. Or maybe I could have that as part of a class or a metadata on the actual link itself so it could read that piece of metadata out in my plug-in to reveal this ID on the page somewhere. So it’s really, it’s when you start repeating code, that’s the rule of thumb. If you repeat code a lot it’s probably going to be a good plug-in. If you’ve got a friend who you think would use it, that’s a plug-in as well. Developers should probably talk to each other more than they do already (laugh from Dave), and that will give you an idea of these kinds of things.

Dave: Yeah, definitely we do see certain common functions that you do tend to re-use quite a lot. I guess, as you briefly mentioned there, it comes to a point when you want to make a nice re-usable function. How do you translate it into something very specific that can be re-used, what’s the secret there?

Remy: It’s looking, it’s trying to be able to foresee not all of the possible uses for this piece of code, but the common uses for this code. I’ve been in enough projects where you’re told to make something so generic and so flexible that it en

ds up being so generic a piece of software that nobody knows how to use it anymore because they don’t know what all the arguments are. But, when I’m looking at a piece of code and thinking this looks like a good candidate for a plug-in I try and think about how else it will be used, like for instance, when I’m sliding down like in that previous example, what if slide down isn’t the only animation effect I want. What if I want to be able to pass in the duration of the effect, maybe an ease in as well? So, if I think about those kinds of aspects of the design of my little piece of code, that’ll help me actually write the piece of code, because I strip out the things that are specific to this particular effect or this particular interaction. I’ll strip those away and also I’ll try and think about, if I have specific selectors inside my function that are targeting specific areas in the DOM, how do I make that more generic? Can I have some passed in or should I be creating those DOM nodes on the fly? That kind of thing. You have to make a judgement as to how far you’re going to re-use it basically and I’d strongly recommend don’t try to make a plug-in that can be re-used for everything because (laugh from Dave) it’ll end up in the bin.

Dave: Alright, cool. So what’s the future for jQuery? It seems to be growing massively. I mean, a couple of years ago no one would have heard it and now you can’t move without seeing the guides and the tutorials on the internet, and every one seems to be talking about it. Where’s it going, what’s the next stage?

Remy: Well, the next stage are … the mobile version of jQuery which I assume is going to be released around the same time as 1.4. I don’t really know, I mean it’s ending up on a lot of websites, I mean the EDM that Google offer – I’m not sure if everyone knows about that, I met someone today who didn’t know about it – Google have a CDN for all the large JavaScript libraries so it means that, for instance, Stack overflow has the Google-hosted version of jQuery and it means that if you had it on your website and you use the same link, it’ll already be hot cached inside of the browser so it will load faster. So I was being asked whether or not browsers should be preloading jQuery into the browser – you can just kind of enable it and start using it. At the moment we have Google CDN which is kind of close to actually having that. In terms of the far future, I think the adoption is going to carry on, they’re going to keep growing the community. There’s four conferences for jQuery next year, one in London, Boston and San Francisco and then an online conference where people can actually do live Q&A. Just keep telling people about it (laugh from Dave) and sharing how easy it is. I mean there’s always beginners to every single industry so if we show them what the options are…

Dave: I was having a look into the jQTouch plug-in for jQuery which seems to be heavily optimised for iPhone or mobile Safari browsers. What’s all that about, what’s going on there?

Remy: As in the optimisation?

Dave: As far as I can tell, it’s doing more than just animating. It seems to be using this built-in to…

Remy: Yeah, so what jQTouch is doing is – because Safari 4 and particularly the iPhone WebKit have native animations built in, they have CSS animations basically. So what jQTouch is doing is converting your request for animation, in fact it’s not… I wrote that (laugh from Dave)… I’m working on a project that is using jQTouch and I’ve been hacking the bits of it to do what I wanted to do so there’s a bit of crossover there… It’s translating, basically saying ‘we want to animate left to right’ so it’s writing in the CSS expressions, giving the DOM node the CSS properties to actually trigger the animation to go.

Dave: Right.

Remy: So, it’ll prep it with ‘WebKit transition should be this’, it needs to translate to nought pixels to 320 or whatever it is and then it will actually apply it. WebKit actually also has a WebKit transition end that you can bind on to say the transition is now finished, trigger this call back and maybe you can do your piece of AJAX or whatever you do. But it’s using native CSS animations and applying them bit by bit against the DOM nodes.

Dave: So you get to use all the built in animations to make it really smooth and cool and you’re still using jQuery.

Remy: Yep. Yeah. What I’ve been doing on recent projects that I hope to kind of open source as well is create a plug-in that sits in between the two, that says ‘is there native WebKit animations and if there is take whatever animation data you gave me, if you want me to animate left or the opacity, use the native ones, if it’s not then use jQuery’s built-in animation functions’. So it can be smoother and faster and easier on a browser if it’s native than if it were actually run through JavaScript. That’s what I really want to see, I’d like to see jQTouch move in that direction and create a library that isn’t specifically for iPhones but a library for any kind of mobile device and you can still use it and it’s not dependant on WebKit transitions and I suspect it will end up going that way, the same as HTML 5. I’m kind of digressing a little bit but the Web forms 2.0, all the kind of built-in validation into the forms and the input types – I’d like to see a jQuery library, in fact the jQuery Validation library, detect that functionality and if it’s there let it just happen and if it’s not, plug it. So we can start making use of native functionality inside browsers when it’s available.

Dave: …it’ll just then happen…

Remy: Yeah, I mean, there’s’ still discussion as to whether or not the way the validation is happening inside the browser is absolutely correct and whether it should be mirrored or not but that’s what I ‘m kind of excited to see. Plugging native functionality if it’s not there and using native functionality if it is there and just making it easier for the user to get there.

Dave: It sounds really exciting. And I gather you’ve got a conference coming up next month?

Remy: Yes, I’m running a conference for JavaScript developers, not focussed on libraries such as jQuery and so on but getting underneath the skin of JavaScript and how it all works. Conference called ‘Full Frontal’. It’s in Brighton on 20th November and it’s being held in the world’s first or UK’s first purpose-built cinema, its a hundred years old this year. We have speakers from Yahoo!, well not specifically from Yahoo But I cherry picked all the speakers before I even announced the conference, Christian Heilmann, Simon Willison, PPK (Peter-Paul Koch). Talks on accessible JavaScript, JavaScript in mobile devices, in HTML 5, mashups … the dictionary definition of Full Frontal is ‘nothing held back or concealed’ so the idea is really getting

to the guts of JavaScript. After @media AJAX finished last year I really wanted to see a JavaScript conference in the UK.

Dave: I guess for people who want to do more than just use the tools but really understand what’s going on, how they can make full use of it and get deeper into it.

Remy: Yep, I mean I see the JavaScript community as two sets of people. People who use CSS and understand that, and don’t particularly want to understand JavaScript and what’s happening inside of jQuery and the other group of people who know JavaScript well and are using jQuery to just kind of skip the donkey work. My conference is for beginners, intermediates – advanced people are going to know this stuff as well they’re going to get to learn a few edge technologies but Full Frontal is aimed at people who want to understand JavaScript and see what we can do with it. It’s a great language, it’s in every single browser, across the world all over the place so I think it’s worth looking at basically.

Dave: Cool. Very exciting. Right, well thanks very much, it’s been a pleasure.

Remy: You’re welcome. Cheers.

Thanks goes to Wendy Phillips for transcribing this interview.

If you recognise that the mobile web is important and you need help deciding on a strategy, then book a mobile consultancy clinic.

Book a consultancy clinic or contact Rob about a more in-depth review.

197. Energise your ecommerce

This week on Boagworld: We examine ways to improve the conversion rate on your ecommerce site, review CSS Mastery 2nd Edition and take a look at Zen Coding.

Play

Download this show.

Launch our podcast player

News

Lessons in simplicity and constraints

I am a great fan of simplicity and constraints. I have written enough about simplicity before so I won’t bore you again. However, unlike most people I enjoy the constraints of a brief and limited timescales.

I was therefore delighted to read a short little post on the 37Signals blog which summed up these two concepts so brilliantly. They wrote:

The easiest way to force the insight of what can be lived without is by playing a game of constraints: You have to ship on Friday, you can’t add more people, you can’t work nights. Fixed resources, fixed time. All that’s left to give is scope. It’s amazing how creative the cuts and sharp the sacrifices become when you’re backed into a corner. It’s when you have to choose that you make the best choices.

In other words constraints force simplicity. This is a mantra I can get behind.

They also end with an important point for website owners:

For every 1 day estimates of a task, there’s a simpler version of that you can do in 3 hours, and an even simpler still you can do in 30 minutes.

So next time you hire a designer and they ask your budget, tell them. This is a key constraint that will influence how the designer builds your site or application.

Making better use of your footer

Fat is fantastic – at least where footers are concerned. For a while now there has been a move towards ‘fat footers’. These contain so much more than the privacy policy and copyright statements of days gone by. Todays footers are full of information. The question is, what exactly should we put into our footers?

Designshack has an excellent post that gives you 10 ways to use your fantastically fat footer.

Some of the ideas are suggestions for content (such as using it for social media links or ‘about me’ content), while others are design ideas (such as using illustration or animation).

Personally I use footers for two purposes:

Secondary Content - Additional information that is not apart of the main content on the site. For example in the case of Boagworld this includes a blogroll, great content on other sites and stuff I am up to. This isn’t really apart of the boagworld blog. Its extra content readers might be interested in.

Calls to Action – I think footers are a great place to put calls to action. For example on the Headscape website, we have the contact form at the bottom of the page. Hopefully once people have read our compelling content they will be inspired to complete the form. 37Signals used to use a similar approach on their own website.

How to guarantee an improvement in your conversion

Later in this show we talked about ideas that might improve the conversion rate on your website. However, if you want a certain why of improving your conversion rate (or your site in general) then read: An Introduction To Website Split Testing.

Split testing (otherwise known as A/B testing) is the process of showing different users different versions of your site. You then monitor how these different versions affect user behaviour in order to find the best solution.

It is a guaranteed way of finding the best solution through a process of trial and error.

However despite its success, few website owners use the technique. I think it is generally perceived as time consuming and expensive.

Although it does take time to produce multiple versions of an idea and test it, actually running the test is fairly inexpensive. In fact Google provides a split test tool that is absolutely free. Also, there is no reason not to split testing an approach before you roll it out. After all it has already been built anyway.

To learn more about the benefits of split testing and how to get started, definitely read this post. It will inspire you and set you on the right path.

How to make sure you’re regular… at blogging

When I write about communicating with your audience in the Website Owners Manual I say:

The key is regularity, rather than frequency. Users should come to expect your communications. Communicating on an ad-hoc basis can be damaging, especially with blog posts.

This is a tone echoed in a post on ProBlogger this week. Tips on How to Keep Your Blogging Regular, emphasises the importance of regular posting before giving 5 ways to ensure you keep the habit up.

These include:

  • Don’t bite off more than you can chew
  • Regularity is more important than high frequency
  • Under promise and over deliver
  • Build a schedule
  • Have someone or something manage you

After six years of blogging, I can say I agree with each and every one of these points. This is great advice if you are blogging on a personal site. However, it is crucial if you are running a corporate blog. Read and take note.

Back to top

 

Feature: Increase your ecommerce sales

This week’s feature comes from a blog post I wrote some time before Christmas. It looks at 8 ways you can increase your ecommerce sales using as an example a site we have worked on called Wiltshire Farm Foods.

Read the original post: 8 ways we increased ecommerce sales by 10,000%

Back to top

 

Reviews

CSS Mastery 2nd Edition by Andy Budd

Read the CSS Mastery 2nd Edition review

Zen Coding

Read the Zen Coding review

Back to top

 

196. Interview with Kevin Rose

This week on Boagworld: We interview the founder of Digg.com Kevin Rose, take a first look at Codeslam and plan the future of the show.

Play

Download this show.

Launch our podcast player

Housekeeping

200th Boagworld

On the 12th February Boagworld will have finally reached 200 episodes!

To mark this momentus achievement we are going to do a live 12 hour marathon!

The show will start at 10AM UK time and finish at 10PM in the evening. Guests will include:

  • Drew McLellan
  • Rachel Andrew
  • Simon Collison
  • Christian Heilmann
  • Sarah Parmenter
  • Dan Rubin
  • Paul Stanton
  • Ryan Taylor
  • and many more!

If you want to get involved with the 200th episodes you have 3 options…

  • Come and join us at the Barn for part of the day (drop me an email if interested)
  • Throw a Boagworld Party and dial into the show. To do this simply register a party on upcoming.org with the tag ‘boagworld’ and let me know by email.
  • Email me with why you would be a great guest on the show and we will pick the best to include.

Coming soon: Boagworld Bites

We have been putting some thought into the future of the show and have decided to introduce a new version of the podcast following the 200th episode.

This will not affect the current show that will continue to be released every Friday. However, we recognise that not everybody finds the current show to their taste:

  • Some find it too long
  • Others get annoyed by the banter (especially at the beginning)
  • Others are only interested in specific parts of the show (e.g. the interviews)

We are therefore introducing ‘Boagworld Bitesize (iTunes LinkRSS Link)’, which will be released three times a week. Each ‘Bite’ will be approximately 20 minutes long and will include one of the three sections of the main show. For example a ‘bite’ could consist of the news, an interview, a feature or a review.

This gives you the listener a choice. You can either subscribe to the existing show which is normally about one hour long. Or you can subscribe to the shorter ‘bites’. You also have the option of just downloading whichever ‘bite’ takes your fancy.

Hopefully this will increase our audience without alienating existing listeners :-)

Back to top

News

For those starting out

As this is our first podcast of 2010 it seemed only right to start from the beginning. I would therefore like to recommend a couple of sites that provide some excellent basic information for those starting out.

Now if you have really just started out in web design then I would recommend Build Your Own Website The Right Way Using HTML & CSS by Ian Lloyd or The Website Owners Manual if you are running a website rather than building it.

However, if you are looking for the next step, then check out the following two websites:

  • Web Design + – This site is an amalgamation of web-standards solutions for common web development issues and problems — a way to tackle development in the cleanest, most accessible and semantic way possible. It is a great starting point for anybody new to standards.
  • Getting started with jQuery – Six Revisions have recently posted an article providing an outline of jQuery. It asks why use a Javascript library before going on to explain the basics of how jQuery works. It’s a great starting point for any designer looking to move beyond HTML and CSS. That said, it is also good to understand Javascript itself and for that I would recommend DOM Scripting by Jeremy Keith.

That should be enough to keep you newbies occupied ;-)

User experience resources

Talking of useful resources, there have been a couple of new user experience ones worth mentioning.

The first is a post by Smashing Magazine entitled 25 User Experience Videos That Are Worth Your Time. To be honest it is somewhat overwhelming because all of the videos are so good. There is just too much content to watch!

It even has one of my favourite UX talks ever, UX Team of One by Leah Buley of Adaptive Path.

The second resource is a new website called 52 Weeks of UX. The site is the work of Joshua Brewer and Joshua Porter. It appears to be a 52 week project that has only just started. Each week they are posting user experience related articles and judging by the first two it will turn into a useful resource.

The posts are short and easy to digest. I also love the fact that they are not just focused on web based user experience. They are already talking about advertisements, call centres and any other contact point with your organisation.

Ambient user experience

While on the subject of user experience I would also like to briefly mention Ambient User Experience.

I recently wrote a post on stock photography. At one point I wrote:

Good imagery is about conveying a sense of personality and character, not a literal representation of what you do.

What I was talking about there was apart of ambient user experience.

As UX booth explain in their recent post on the subject, ambient user experience is about shaping how users feel about their experience. It does not necessarily make something easier to use and is not intrinsic to getting stuff done.

Instead it creates a tone and personality that influence perception. In my opinion this kind of subtlety sets apart a great site from a good one.

If you have a well established site that has overcome many of the basic problems of usability, accessibility and content, then you should be looking at ambient user experience. This is the area that will allow your website to move froward and not stagnate.

Explaining the fold

Let’s conclude by moving from advanced subtleties of design, to addressing a fundamental basic – the fold.

As designers we love to chant the mantra, “there is no fold.” However, although we know this to be true we are often bad at communicating it to clients.

If you are a website owner, you may well be wondering what us designers are talking about. After all when you load up your webpage you can clearly see the point at which users have to scroll.

What then is the fold and what does it mean to the design of our websites? How do you explain that it isn’t the issue it appears to be at first glance?

Well the guys at Clockwork have attempted to clarify the situation in “How to discuss the fold with clients.”

Although this is obviously aimed at web designers who struggle to explain why the analogy of the fold is fundamentally flawed, it is also useful for anybody unsure about the fold.

In short I would pretty much recommend this post to anyone.

Back to top

Interview: Kevin Rose, founder of Digg.com

At this years at Future of Web Apps I was fortunate enough to interview Kevin Rose, the founder of digg.com about running online community. To read the transcript of this interview go to: Kevin Rose On Community.

Back to top

Interview with Andreas from Codeslam

Stanton: Ok, so joining me today is Andreas Carlsson, and we’ve got him on tonight to talk to us about CodeSlam, Hello Andreas!

Andreas: Hello.

Stanton: How are you?

Andreas: I’m Fine. Fine thanks.

Stanton: Fantastic! Ok, so do you want to give us your elevator pitch, a really quick run down of what Code Slam is and what it does?

Andreas: Yea i’d Love to. Code Slam is basically an online code editor and a development environment and we like to think of it as like code development in the cloud.

The goal is to have a device and a platform independent coding environment where you have no setting up of local servers, no configuration, no installing apache or php or mysql, just log in and start to develop your web projects. Right now it supports php, and all that good stuff. We wanted to have a clean warm interface where you can access your web projects from anywhere, anytime.

The main target is front end developers and designers who do a lot of coding and developing and but also the tech savvy and pros can use CodeSlam as an extension to their existing development environment. You can sign up at http://www.getcodeslam.com and get started, and that’s about it.

Stanton: Fantastic, so do you see this being like a replacement for a normal desktop based editor, development environment, or kind of a supplementary thing?

Andreas: Somewhere in between. The phase we’re in right now is stable basic functionality, so we’re starting to poke around projects in CodeSlam. The only time you can’t use CodeSlam is when you don’t have web access, so it might be a good idea to have an offline version. We’re integrating SVN or Getintoit, so you can work on your projects when you don’t have internet access.

Stanton: Ok, so you’re integrating source control directly in the editor, so is that automatic, are you doing that for people who don’t want it, or do they have to set it up separately?

Andreas: Not actually sure how we’re going to solve it right now, but the basic idea is to have, we’re not going to have our repository on our CodeSlam servers, so people can have, use external repositories service like you do in Coda, or most other code editors, you just collect yourself to the repp and it automatically picks up changes from the repp and into CodeSlam.

Stanton: Ok, so if people already have a repository they can just tap straight into that. So if someone’s across the other side of the world at an internet cafe and they need to do some emergency fixes they can log into CodeSlam, connect to the central repository and start making changes straight away?

Andreas: Exactly.

Stanton: Fantastic. OK so their are other browser based editing environments, the first one that comes to mind is Besbin by Mozilla, how are you different from those, or what’s the feature of CodeSlam?

Andreas: I think where we’re different is we’re trying to focus on a little more of the user flow. Many of the other services similar to CodeSlam, their either imitating a desktop app on the web or their just real focused on getting as much technology and features into it. But we’re trying to have it really really simple. It’s very simple to create a project, connect to your live web server, and start the project. So I think the user flow, the logics of how you interact with it, is what sets us apart. Also I think we have a little more friendly interface and environment.

Stanton: Ok, so i’ve tinkered about the beta you’ve got up and running at the moment, and it seems to be quiet focused on collaboration as well, getting people in so you can collaboratively work on projects, I guess that’s another main focus of yours.

Andreas: Yea it is, and that’s also where the subversion thing come in to.

Stanton: And you’re in beta at the moment aren’t you?

Andreas: Yea, private beta actually. We have a few hundred people signed up, and we let, I think 50+ in to try it, because there’s somethings we thought would be greater use to us, that has been some pretty huge issues to solve.

Stanton: So what’s the ultimate road map, when are you aiming to go live effectively?

Andreas: The basic road map is public beta this first week in October, and then go fully live in the beginning of January. We were running a little late for the public beta, so I think January we can do.

Stanton: Ok so for anyone wanting to sign up for the Beta queue or find out more information where can they go?

Andreas: getcodeslam.com.

Stanton: OK, and you have a @codeslam as well?

Andreas: Yea, it’s @codeslam, yea.

Stanton: Alright well that’s great, so hopefully we’ll get some people interested and we’ll hear back from you soon as to how it’s developing.

Andreas: Perfect, thanks very much.

Stanton: Cheers!

Thanks goes to Chris Pasveer for transcribing this interview.

Back to top

Yet another job at Headscape!

As you may have already read, Headscape is currently recruiting a product evangelist. However, we also need another server side developer.

Are you a developer living in the South of England? Headscape is looking for a talented, enthusiastic developer to join its team.

We are looking for a graduate who is passionate about the web, has at least a couple of years of experience as a full-time web developer and can work out of our Hampshire offices.

Who we are looking for

We are looking for a server side developer who is absolutely passionate about the web and keen to develop new skills and experiences.

We are looking for somebody that loves finding innovative solutions to problems, enjoys working as part of a creative team and excels under pressure.

We need a graduate with a computer science, or similar, background preferably with a first or upper second degree. You will have at least two years experience of working as a full-time developer preferably in an agency environment.

Although Headscape is almost exclusively a .NET development house, we do not require you to have specific experience in this language. As long as you can write great code, we will teach you the rest. (Anti-Microsoft Bigots need not apply!)

What we can offer

Headscape has a lot to offer employees. Just some of the benefits include…

  • A great working environment in a beautiful converted barn
  • The opportunity to work on both client projects and internal developments
  • A personal annual training and conferences budget.
  • The chance to attend industry conferences (most of our team are off to SXSW in March)
  • A holiday allowance that increases with length of employment at Headscape.
  • The opportunity to work with an amazingly talented team
  • Loads of challenging and complex work that will stretch your skills
  • Some great client work to add to your CV
  • A decent office chair! :)

As for salary – Headscape always try to pay well and also to pass on our success in the form of bonuses when things go well.

Where you would work

One of the best things about working for Headscape is our offices. Check out the video tour below. This was originally recorded to show people the room we have for rent. However, it also gives you a nice idea of where you would work.

The office is based in Lockerley, Hampshire. This makes it well placed for those living in Bournemouth, Winchester, Southampton, Romsey, Basingstoke and Portsmouth. However, its such a damn nice place that it is worth relocating for!

Interested?

So are you interested? If so (and you are not a recruitment agency) then email your CV to [email protected] or call him on 01722 320596.