Hidden Talents

If it feels good, do it!

I am not a "toot your own horn" kind of person, but this is that kind of page and if I don't provide said information, you will be left feeling disappointed. So just because I don't want to hurt our friendship, I will comply...

Many years after my the joy my first "hello world" website, I must say, am getting pretty good at this web caper. I adapt to new things pretty fast and there are some things in web have actually remained stationary enough for me to get really good at! Below is just some of the skills I consume for breakfast with a cup of earl grey.

Web Applications - Backbone, Marionette, Underscore

I have created 3 major JavaScript web applications, all of them being a web interface for a Kodi/XBMC media center. I know, I should try something new, but it has been a great way to learn and perfect my ultimate web media player ui.

Attempt 1: xbmcwui was jQuery only, quite basic and didn't do video but was pretty neat for its day. Attempt 2: Chorus is a very complete web app and has quite the large following. It uses the Backbone framework with a far more refined structure.  Attempt 3: Chorus2 is underway, a rebuild of Chorus1. Amongst thousands of other things, it adds Marionette into the mix.

Graphic Design

I love a good bit of design, it is what you look at, so you want it to be sexy. I feel that most of the time, I know what looks good (at least not bad).  This translates into my work and I often find it tricky to put my brushes down.

All my sites have a graphic design phase, this is where they get their good looks from! Piecing together a wireframe then design elements and imagery before going near any code.

User Experience

Web is unlike other mediums as it is very interactive, because of this, a lot more thought needs to go into the possible ways a user may interact with the site. It is now also available on more devices than you can throw a stick at.

After years of experience and experimentation, I have mastered a number of tricks that improve UX, resulting in some very easy to use websites and apps. I only create things I enjoy using, as it happens everyone else tends to enjoy using them too.

JavaScript, jQuery and CoffeeScript

JavaScript is a client side programming language for the web. It is built into the web browser so performance is based more on the clent/device/browser rather than the server. I love a good javacript app as it feels so much more responsive and instant.

I use alot of jQuery, it's a great javascript framework with loads of helper functions and a huge selection of plugins. I have also tinkerd with a few other frameworks such as Sencha, Prototype, Underscore/lodash and Backbone.

My most recent project is using CoffeeScript which compiles into JavaScript. In 'coding' terms, it is prettier. It also makes less code more powerful, so less typing!

PHP

PHP is one of the worlds most popular programming languages around (at least for web).  I have been using it almost daily for many years and I'm extremely comfortable with it. PHP is free, easy to use and comes with most web hosting accounts. It runs on the server side so performance is governed by the host.

I have written many PHP applications. Some stand alone, some using Zend Framework but more often these days it is working with Drupal. PHP is quite fun when it all comes together especially when combining it with a sprinkle of JS and a layer of CSS.

CSS, SASS and LESS

CSS is the design layer of your website, it is what can make a website look beautiful (or terrible if absent or done wrong). This is often my favourite part of making websites, combining the art with structure.

I use alot of SASS (sometimes LESS). It turns CSS into more of a programming language. This results in cleaner, more structured code very much like what CoffeeScript does for Javascript. It also adds a raft of features like mixins (reusable styles), variables and much more.

Drupal Guru

Drupal is a Content Management System or CMS, it provides a framework for users, content, modules and so much more. Drupal is the industry standard in open source Content Management Systems. It is robust, secure and very flexible with both code and design.

In my opinion, Drupal is fantastic! It is very well supported, easy to update, a dream to customise, and easy to extend. I now use Drupal as a framework for almost every site I build, because of this, I am getting very familiar with its internals and hidden powers.