Author Archive

Dojo drop down menus

Monday, August 1st, 2011

We’re happy to announce the release of BigMenu 1.1, an open source drop down menu system for Dojo.

BigMenu allows you to display a large amount of hierarchical information, without overwhelming the user.

BigMenu has the following features, among others:

  • Options available for animation time, easing, and delay on hide / show
  • Support for declarative or programmatic syntax
  • Keyboard and screen reader accessible – uses plain old semantic HTML
You can see the demo, or download the source from Github. As always,improvements, forks and pull requests are welcome!
(Created by @johnmcc and @todd_unctious)

Getting the foundations right

Thursday, January 6th, 2011

At 360innovate, we speak to a wide variety of clients looking for developments of all sizes – big and small. If your organisation is looking for a highly functional web site, it is critically important to get the foundations right – to plan the project and put together appropriate documentation before a single line of code is written.

Building a complex web solution is a lot like building a house. Before the first brick is laid, one would consult with an architect to develop the plans for the building. The architect’s job is take the client’s vision, and transform it into something that is safe, complies with the relevant regulations, and meets the client’s needs.

If the client asks for something inappropriate (for reasons of safety, practicality or whatever), then a good architect would advise the client of this and come up with an alternative that would meet the client’s needs.

Quite often, we see non-technical customers essentially trying to do the architect’s job. In producing specifications without having an understanding of the development landscape, the foundations of a successful development are jeopardised.

The stakes might not be quite as high as in architecture – not life and death in any case – but the risks are broadly similar. Unless you are taking security, the user’s experience, and technical considerations into account, your brief will very likely not be as good as it should be. The developers who work on the project will not be given the start they need. This will be to the detriment of the project as a whole; poorly planned features lead to poorly executed features.

The answer to this is simple – speak to us as early in the project’s lifespan as possible. We will take into account technical considerations, the experience of the end user, and your needs too. We can produce a high-quality specification document that will lay the foundations for a successful project, no matter who your developers are.

Usability Testing: What it is, what it isn’t

Wednesday, December 1st, 2010

Usability testing is an important part of the web development process, but it’s also one of the least-well understood. Very often we see misconceptions about what usability testing is, and what it isn’t.

This blog post will hopefully provide a primer on how you should be using usability testing.

One of the most important concepts in usability testing is that it should focus on how easily the user can complete a given task.

These tasks should be clearly defined from the outset of the project, and should be the key actions that you want your users to be able to perform. For example, this might be:

  • Filling in a contact form
  • Finding essential contact information
  • Completing a purchase

It’s essential that we know from the outset what the goals for your website will be; this allows us to create appropriate calls to action and a design that is consistent with these goals.

When testing how well users complete these goals, there are four criteria used to judge the success of the test:

  • Performance: How long did it take the user to complete the task? How many steps did it take?
  • Accuracy: Did the user make mistakes in the process? If they did, were they able to recover from them?
  • Recall: Could the user remember how to complete the task afterwards? Will they remember how to do it in the future?
  • Emotional response: How did the user feel on completing the task? Stressed? Relieved? Comfortable?

Depending on your budget, there are various methods for implementing usability testing.

Hallway Testing

The least expensive option is hallway testing, where people unconnected with the project are asked to complete tasks, as specified above. The advantage of this method is its cost. This method is also called “hallway intercept testing” – literally stopping people in the hallway and asking for their help!

The disadvantage of this method is that it doesn’t necessarily provide a good cross-section of the group that will be using the site. It’s an informal method, and the familiarity of the user and the person conducting the tests could influence the outcome of the tests.

Remote Testing

Remote testing involves the use of specially set up online surveys to test the usability of a site or application. One such service, Amazon’s Mechanical Turk, offers a cost-effective method of testing your site with a wide variety of users.

Although more expensive than hallway testing, this method offers a more formal testing structure, and encourages a goal-centred approach. With Mechanical Turk, you can also choose to reject submitted results if you feel the quality of feedback is not good enough.

Expert Review

The third, and (by far!) most expensive option is expert review. This involves working with a specialist usability testing company to provide in-depth analysis for the goals listed above. 360innovate work with a number of these companies, and can suggest one that is suitable for your needs.

Usability testing: what it’s not

The most common problem we see with usability testing is that it is performed without goals in mind, or that the goals are not clearly defined at the start of the project. In effect, test subjects are being asked “what do you think of this site”?

This is very definitely  not usability testing. Unless you relate feedback to the original goals of the project, it’s very unlikely that you’ll get useful feedback on the success of the project. You might get some useful information for future development, but you won’t get useful feedback on the success of what you’ve built.

In short, you should know what the goals of the project are before the first the first line of code is written, and you should be testing how well each task relating to a goal has been implemented.

Why should I bother at all?

Usability testing is a vital tool to judge the success of a project. The internet is awash with stories emphasising the importance of usability testing, and the real question is “can you afford not to perform usability testing?”

Please get in touch if you’d like to talk about what usability testing can do for you.

Opera 11 Preview

Tuesday, November 30th, 2010

Opera have announced the first beta release (preview) of version 11 of their browser.

Despite having been around for many years (the first version was released in 1996), and despite the fact that Opera has brought us many innovative features, its market share on the desktop remains low, consistently hovering around the 1% – 3% mark.

So why should you check out Opera 11?

Opera is fast

I’m not a fan of speed comparison tests – they are artificial and don’t reflect real life use – but in most tests, Opera compares favourably with its competitors. Opera claims that its browser is the fastest in the world, and although that’s a bold claim, some of the most common tests lend it some credence.

For example, Opera 11 currently clocks in around 10% faster than Chrome 9.0.587.0  on the SunSpider JavaScript benchmark.

However, I wouldn’t pay too much attention to speed tests for non-stable browser releases – it is likely that they will be refined prior to full public release in any case.

With that in mind, here are some of the features you should get excited about.

Tab Stacking

Browser tabs are a well-understood, popular mechanism for allowing users to manage the vast amounts of information available on the web.

Tab stacking has been introduced for the times when the user has so many tabs open that they can’t manage their browser window properly. This must be an increasingly common problem, as Firefox recently introduced Panorama to solve the same problem.

Anyway, here is Opera’s take on the problem.

Tab stacking has been implemented in an intuitive, easy to use fashion, and I’m sure it will turn out to be a popular feature.

Extension Support

Opera has at last allowed support for browser extensions. Although the number of extensions is small at the moment, I’m sure their number will  grow rapidly. Writing extensions for Opera is easy, and will be looked at in a future blog post!

Technical Gubbins

Opera 11 Beta passed ACID3 with a score of 100/100, and includes some of the best support for HTML5 of any of the major browsers. It also includes support for some neat JavaScript features such as web workers, the geolocation API, and web storage.

In many ways, Opera is the opposite of Chrome; where Chrome takes a minimalist approach, Opera takes a kitchen-sink approach (even including a full mail client as standard!)

This approach might not be for everyone, but if you consider yourself a true internerd, you owe it to yourself to check out Opera 11.

Opera 11 Beta is available for Windows and Mac.

Kapow Comic Con goes live!

Monday, November 29th, 2010

360innovate are delighted to announce the launch of the Kapow Comic Con website. Taking place in April 2011, Kapow will feature the cream of British and international talent, including Mark Millar, Leinil Yu, Bryan Hitch, Dave Gibbons, and many more.

Working within the design considerations of the event organisers and third parties such as Marvel, 360innovate produced a bespoke content-managed solution to appeal to both hardcore and casual comic book fans.

New member of staff

Friday, November 26th, 2010

We are delighted to welcome Gordon Campbell to our ranks this week.

Gordon will be joining our online marketing team, and brings a great a deal of enthusiasm and knowledge to the team.

Gordon said:  ”I’m really forward to working with 360innovate’s broad list of clients. At the moment, I’m working hard to understand each business we’re working with, so that I can bring the maximum benefit to their business.”

Gordon will be working closely with our head of online marketing, Andrew, and looks forward to meeting our clients in the upcoming weeks.

Our 10k app, Video Poker!

Tuesday, August 31st, 2010

As you might be aware, An Event Apart have been running a competition to find the best web app written in 10k or less. For the web-developmentally-challenged among you, (you lucky, lucky souls…), this isn’t a great deal of space to work with, so optimization is the name of the game!

You can see the gallery of apps here. There are some truly amazing examples of what can be achieved with a little creativity, and the standard of app on display is extremely high. (Although with some rock-star calibre developers entering the competition, this was almost to be expected!)

For our own entry, I recreated the game of Video Poker (with graphics from Allan).

If you want to take a look at the uncompressed source code, it’s available on github, under the MIT License.

Ailsa Craig website goes live

Tuesday, August 10th, 2010

The Ailsa Craig Hotel came to 360innovate looking to refresh their web presence. As a fashionable, city-centre hotel, they wanted a site that would reflect not only their heritage, but their modern outlook too.

Built using a content management system, the administrators have full control over their site’s content.

You can see the result at ailsacraighotel.co.uk.

Self-executing functions in JavaScript

Thursday, July 29th, 2010

In Ryan Florence’s excellent post comparing jQuery’s approach to Mootools’, he makes a number of interesting comparisons about each framework’s approach.

One area where jQuery provides an elegant solution is its use of anonymous functions to set DOM properties, as shown in the following snippet.

This is something that I certainly missed when working with Mootools, but fortunately there’s an easy, quick solution.

Ryan proposes the use of the setEach plugin to solve this issue, but to me, this doesn’t seem necessary. You can work around the issue by using a function that executes immediately, as follows.

The key here is the extra pair of parentheses after the function definition, which forces the function to execute straight away. Simple, quick, and it gives the same functionality as the jQuery equivalent without having to add the overhead of a plug in.