Web Developer based in Bristol, UK
- building clean, simple and intuitive user-interfaces
- keeping things simple; un-readable, badly structured and overly complex code are a massive bugbear
- keeping up with the latest trends and standards
Take a look at some of my most recent projects.
Sublime Text 3 JSHint PluginGitHub Repo
As an avid Sublime Text user I was eager to try out the Sublime Text 3 beta as soon as I could, but the lack of certain plugins I was reliant on being updated to work with their new API slowed down my adoption. One of these plugins was a great js-lint plugin which I used day-in, day-out but still no word on it being updated for ST3. As frustration grew, and bearing in mind I had never written a line of Python in my life, I thought to myself, how hard can it be to write my own? Using the source of existing plugins as a good reference I managed to bring together a small script that utilised the js-hint node package. With a "lint_on_save" setting and the option to define your own rules in a .jshintrc file it has proved very useful, so much so that one of my colleagues has started to use it. I'm still very far away from being a Python expert, but this little exercise shows that I shouldn't be afraid to delve in and play around with a new language if I have a good enough reason for it. And as I continue to use Sublime, I'm sure it won't be the last plugin I create to improve my work-flow.
HTML5 MP3 Playerview
This could never really be used on a large scale because of server space and bandwidth issues but it shows that web apps are becoming far more capable in terms of functionality. Please note that this example doesn't work in Firefox as Firefox doesn't support MP3s and may never do.
I always seem to be finding ways in which to update my portfolio, whether its some inspiration from other sites or learning new technologies and better techniques, I don't think it'll ever be 'perfect'. The latest iteration adds an about page, contact details as well as links to various social networks that I am on with the idea being to show off my online presence all in one place. It has also had a revamp under-the-hood as it is now using Twig as its PHP templating engine in conjuction with Assetic for asset management. On the front end, jScrollPane is being used for the scrollbars and I've introduced routie.js to sort out the routing and transitions between pages. The animated background remains (it cycles through 384 colours at a rate of 4 per second) and I am now using fonts from Google's web font directory. I've also used this opportunity to make the site responsive, so it works well on smaller-screened devices.
Interactive Browser Usage Share Toolview
Born out of a need to know the user share of browser versions that supported certain HTML5 features, this tool can hopefully be useful to many. Whether you're a developer, tester, product manager or CTO, it should be able to answer the questions like, can we stop supporting this browser version yet? whats the adoption rate of the latest browser versions? when can we reliably use technology x without sacrificing any users? etc. To my knowledge a similar tool does not exist, and I think the interactivity of it sets it self apart from other sites that has this kind of data at its disposal. It uses statcounter as its source, so you do have to trust their data sample, but it does seems to follow the common trends seen with other web statistics sites. Built using Twig and jQuery, the interface had to be slick for it to work and this was the first project I really pushed publicly. It has already been featured in this dotnet magazine article.
This is a small jQuery plugin (featured in this jQuery plugin top 10) designed to use new HTML5 features File API and XHR2) to make uploading files a doddle. It purposely doesn't support non-HTML5 which I know won't suit everyone because older versions of IE will be around for a while yet, but what I really wanted to see is, at its absolute minimum, how little code do you need to make a small, but very usable and easily expandable jQuery upload plugin. With some useful options including basic validation it turns out not many. After minification it is less then 2kb in size and is a good choice for any developer who is not so worried about supporting the older browsers.
Rob Passmore Photographyview