Ben Aston

Web Technologist

Hi there! I'm Ben Aston, and I am a technologist based in London with a passion for the Web and single-page web applications.

As examples of my .NET work, NState and NFeature can be found on both GitHub and NuGet. An implementation in C# of the distributed election "bully" algorithm can be found here.

For JavaScript and user experience design, my current pet-project Wizerati is a good example. A work-in-progress single-page web application, Wizerati can be found online at www.wizerati.com.

I am available for ad-hoc consultancy & agile coaching. If you'd like to get in touch, my email is ben@bj.ma.

Further details on some of the projects I have delivered can be found below.

Wizerati

A search engine for IT contracts and contractors.

This work-in-progress application aims to be fast and efficient to use. The user interface avoids distraction and supports the information the user needs.

The homepage embodies minimalism.

The homepage embodies this philosophy and evolved into its present form after testing tens of different iterations. The resulting interface relies on stark minimalism for impact rather than flashy logos, effects or complicated features - and its form feels somehow inevitable. Indeed this is my personal definition of a high quality user interface - it "feels inevitable". Watching users operate such an interface is great fun - and is conspicuous by the absence of pauses and questions; users know almost intuitively what to do.

Additional affordances on touch-based devices reduce perceived latency.

Web applications have a reputation for being more sluggish than their native counterparts. This application attempts to buck that trend. The entire web application - CSS, fonts, imagery, JavaScript and markup - is delivered in a single compressed HTTP response (or two responses in the currently deployed developmental version for debugging reasons). The application uses a single image (excluding images in search results) - an SVG for the logo - and even this is encoded directly into the page. The result is an application that is significantly quicker over high latency networks and that loads, under optimal network conditions, in less than one second.

The user interface is responsive to screen dimensions - both small...

Perceived responsiveness can of course be just as important as the reality. On touch-based devices a "halo" effect is present to confirm the selection of on-screen items, and avoid doubt about button presses. Importantly this also significantly reduces the perceived latency on devices that have unavoidable delays on 'click' events in web applications.

...and large.

Having run a search, clicking or touching a result updates the screen at near native performance thanks to a combination of client-side caching and the use of DOM element double-buffering. Finally - as far as is possible - changes in position and opacity are controlled using hardware-accelerated CSS3 filters and transforms, providing the best possible chance of a sixty frames-per-second user experience.

One of Wizerati's discriminating features is the ability to trivially compare results side-by-side. Take a look at the following video to see how this is achieved:

ICIS Live

Real-time price alerts.

With an interface reminiscent of a chat application, ICIS Live enables real-time communication of commodity pricing to subscribers.

Somewhat unusual in today's world of JavaScript-heavy single-page web applications, this application had to function without JavaScript and involved some clever tricks to ensure it behaved like a system with more client-side logic.

ICIS Live provides real-time commodity pricing updates using web sockets.

The interface for ICIS Live was built using an HTML5 flex-box layout to guarantee the message field remained in the view-port regardless of window size. A text-based filter function enables users to rapidly find the correct "channel" associated with the relevant commodity to communicate from. URL fragment identifiers are used to ensure the chat history position remained correct when sending messages.

Behind the scenes, messages are delivered instantly to around twenty-thousand subscribers using a TCP socket cloud.

Vodafone JustText­Giving

Online and SMS-based charitable donations.

JustTextGiving, a partnership between JustGiving and Vodafone, enables charitable organisations and members of the general public on behalf of a nominated charity, to accept charitable donations via text message. Users register a code with JustGiving via a web interface. Donations can then be made by sending the code together with an amount (e.g. £5) in an SMS to a five-digit donation number. The donation is then added to the donor's telephone bill.

Vodafone JustTextGiving brings SMS-based charitable donations to charities of all sizes.

JustTextGiving makes charitable donations faster and simpler, helping thousands of charities raise money for good causes.