View my LinkedIn profile Subscribe to my RSS feed

Continuous learning: the importance of

January 23rd, 2012

Just a little thought… recently it occurred to me how important it is not to stop learning. Rather an obvious thought one might say, but it’s easy to forget when you’ve got 101 other ‘more important’ things to do.

Naturally, this is more important in some industries (anything web-related for a start) than in others. And some of this learning takes place just as a matter of course – it’s part of doing the job. It’s rare for a week, even a day to pass, without me learning something new – maybe just a tiny thing, but something new nonetheless.

But there are also things that you have to make a conscious effort to learn. New technologies, new approaches, or a new skill altogether. For example, things that I have recently, or am in the process of learning more about:


• Mobile (responsive) web design
• jQuery (javascript library)
• Web Analytics


All these things I knew a certain amount about already. But I didn’t/don’t yet know enough to really employ them to their full potential.


I’m not saying you have to be, or indeed should be, an expert on each and every latest technology, technique, approach. Some people pretend to be… the phrase ‘jack of all trades and master of none’ comes to hand. But know enough to make the decision as to whether you need or want to know more.


As well as being important for your clients, it’s important for you. Making a conscious decision NOT to learn more about something – for a good reason – is very different from just ignoring the fact it’s out there.

Action points?

Keep abreast of what’s changing in your industry. If it’s something new/something you don’t understand, find out more! If it’s something that could be beneficial to your clients & to your business, make yourself an expert! Enrol on a course, buy a book & teach yourself, put into practice what you know, ask experts, etc etc.


Try and set aside an hour each week/as often as you can afford it, specifically for the purpose of learning. Look out for opportunities/projects where you can put your learning into practice – after all, that’s where most learning takes place.

Wishing you a very Happy Christmas

December 22nd, 2011

I would like to take this opportunity to wish all my readers, clients, supporters, friends and family a very happy and restful Christmas.

Thank you for all your support during the year nearly past – it is very much valued.

***



The Hexagon office will be closed from midday on Friday 23rd December until Tuesday 3rd January.  For any urgent website availability issues during that period, please call 07761 902298.  Thank you.

Making videos responsive

November 24th, 2011

As part of a recent project, I needed to find a way to make self-hosted video (i.e. video files uploaded to client’s hosting server rather than YouTube or the like) responsive.  I.e. so they shrink down proportionally with screen size.


I decided to use the VideoJS plugin as a good way to support both HTML5 video (for those browsers that will display it) and a fallback flash version (for those browsers… namely older versions of IE… that won’t).


Making HTML5 video responsive is simple.  Making the flash fallback responsive is not simple.  It took me literally days.  Which is why I decided to post the solution here.

The Responsive Video Solution

NOTE: Please see update towards the bottom of this post; I have modified the original CSS to ensure VideoJS fullscreen functionality continues to function correctly.


Please see example here: http://skybolt.xssl.net/~hexagon2/responsive-video/ – try resizing your screen in an older version of IE, and the video should still resize.  In the example, I’m using WordPress & the WordPress VideoJS plugin, but I believe this should work with a non-WP site and the standard VideoJS script too.


The solution is entirely HTML/CSS based (i.e. no javascript in addition to that used by VideoJS), and is essentially a modified version of the technique described on A List Apart here: http://www.alistapart.com/articles/creating-intrinsic-ratios-for-video/.


The normal Video JS code is wrapped in a containing div as follows:

  [Video JS code here...]



The CSS is what does the trick.  It does rely on having a videos of fixed proportion (hence the 41% value), but I wonder whether this could also be combined with a modification of the Fit Vids script (which currently just works with hosted video from YouTube etc) to take this constraint away.  For my purposes, fixed proportion was fine.

CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
    .videoWrapper {
    position: relative;
    padding-bottom: 41%; /* video dimensions - width/height */
    padding-top: 0px;
    height: 0;
    z-index: 1;
    overflow: hidden;
    }
    video {
      position: absolute !important;
      top: 0;
      left: 0;
      width: 100% !important;
      height: 100% !important;
      z-index: 1;
    }    
    .videoWrapper .video-js-box {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    z-index: 1;
    }         
    .videoWrapper object,
    .videoWrapper embed {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100% !important;
      z-index: 1;
    }        
    .video-js-box .vjs-controls {
      z-index: 1;
    }
    .vjs-spinner {
      display: none !important;
    }



And there you have it – a responsive video – not only in browsers that support HTML5 but in those that don’t too.


I hope that helps someone!

Update 17th January 2012

Based on some of the comments received below, I thought it would be worth posting an update, covering two things:

 

1. A fix for the broken ‘full screen video’ problem

@Robert Roy kindly pointed out that the method outlined above appears to break the fullscreen functionality of VideoJS. I have therefore revised the CSS as follows. Note that you may also need to adjust the z-index property on other elements within your page, to ensure the fullscreen video always sits on top of other content. Different browsers seem to create different problems with this (even more so than usual!), so make sure you test appropriately.

CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
/* Videos */
.videoWrapper {
    position: relative;
    padding-bottom: 41%; /* video dimensions - width/height */
    padding-top: 0px;
    height: 0;
    z-index: 1000;
}
video {
position: absolute !important;
top: 0;
left: 0;
width: 100% !important;
height: 100% !important;
z-index: 1;
}
video.video-js {
z-index: 1000;
}
.video-js-box .vjs-controls {
z-index: 1002;
}
.video-js-box .vjs-big-play-button {
z-index: 1002;
}
.videoWrapper .video-js-box {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    z-index: 1;
    background: #000000;
}
.videoWrapper object,
.videoWrapper embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100% !important;
z-index: 1;
}
.vjs-spinner {
display: none !important;
}
.video-js-box img.vjs-poster {
height: 100% !important;
width: 100% !important;
}

 
2. Where the code goes

This is in response to a question posted by @Mark – where does the code above go?

The css can be added to standard styles.css file in your theme (wp-content/themes/your-theme-name/styles.css).

The containing

XHTML
1
<div class="videoWrapper">...</div>
needs to be added around the result of the video js shortcode.  There are two ways of doing this: either use the HTML editor within a post, so you’d end up with something like this:

XHTML
1
2
3
<code><div class="videoWrapper"></code>
[video mp4="http://video-js.zencoder.com/oceans-clip.mp4" webm="http://video-js.zencoder.com/oceans-clip.webm" poster="http://video-js.zencoder.com/oceans-clip.png" controls="true" ]
<code></div></code>

or alternatively (what I did when I originally worked this out for a client project), create a custom field for the video to be uploaded to, then in the relevant php file (this might be in page.php for example), you would have something like this:

XHTML
1
2
3
4
<div class="videoWrapper">
<?php echo do_shortcode('[video mp4=$mp4 webm=$webm ... ]');
?>
</div>

(where $mp4 and $webm are variables containing the path to the relevant video files, grabbed from the custom fields).

A mobile update

October 28th, 2011

Back in July (that long ago?!), I was talking about mobile websites.  As I’m in the midst of creating my third ‘Responsively Designed’ website, (for established Medical Communications agency Ashley Communications – link currently points to their soon-to-be-old website), I thought now would be an opportune time to update you on some of my findings.


It has been, and continues to be, an interesting journey.  If there’s one thing that’s for certain in this industry, it’s that it’s continually changing, and therefore you have to be continually learning.  At times this can seem scary, but to be honest, I’ve actually rather enjoyed the challenge of learning responsive design. (Or I should say, ‘am enjoying…’, I’m no-where near finished yet).


So, three discoveries so far…

 

Number 1: It’s more time intensive!

Perhaps partly down to the fact that it’s new.  But designing and building for desktop and mobile (as well as everything in between) necessarily introduces complexity and therefore requires more time.  To the point:

  • Design – no longer a single design for a fixed width screen.  Rather, multiple variations of the design for various different resolutions.

 

  • Build – calculations are more complex & fiddly – based on percentages, not fixed pixel widths.  It’s surprising how much maths you use as a web designer!  Consideration has to be taken for how the site will perform on mobile – for an image-heavy site, an approach has to be employed to minimise image download size on mobile, etc etc.

 

  • Testing – whereas with a ‘traditional’ fixed-width design, we web-designers would be groaning over the need to test websites on multiple different browsers (and making particularly loud complaining noises when it came to Internet Explorer 6), in addition we now need to test for multiple different resolutions.

 

This is a pain, but also an opportunity.  Yes, it takes more time, but that means that each project is of higher value.  So far, clients seem prepared to pay for that additional value, but it does meant that the overall cost of getting a website is higher – if you want to treat your mobile users well.

 

Number 2: It requires creativity!

There are challenges inherent in building for a small screen size – mainly because space is so limited.  Imagine moving from a five bedroom country house to a studio flat, and having to work out where all that stuff is going to go.

If you’re a hoarder and have tonnes of stuff, the job is going to be that much harder.  My designs tend to be fairly clean and lightweight – which definitely helps, but there’s still ‘stuff’ that you have to either find room for or chuck out.


It’s a good exercise – it makes you think about what’s really necessary and of benefit to the user.  What do they need to see first?  (The 1.5 inch screen on my BlackBerry doesn’t give an awful lot of space in which to persuade the user to stay on the site.)

Menus are a good example.  For the Ashley Communications site, the menu just took up too much space on smaller screens, so we decided to display it as a dropdown from a single ‘Explore…’ link.  This makes for a far tidier user experience.

 

Number 3: There are always playoffs

Continuing with the example of menus, the approach we employed was to create two separate menus in WordPress – one for desktop and one for mobile.  This does have drawbacks – one of which is that there are two menus to maintain.  You are constantly facing these play-offs when creating a responsive design – there is no perfect solution.  In this case, because the menu is relatively simple & will be changing only infrequently, the benefits for the user outweighed the maintenance drawbacks.  In another situation, the case might be different, and another approach more suitable.


Each case has to be weighed up on its own merits, and the best fit solution applied.  And because new ideas and approaches are constantly being developed, coupled with this is the need to be continually on the lookout for the best solution, not only for this website, but for this particular moment!

 

In Summary

It’s been hard work, frustrating at times, lots of reading and learning… but it’s very satisfying too.  The mobile web is here to stay, and I’m grateful to many of the highly talented designers and developers out there who have helped me to learn.  These are certainly interesting times!!

Oxford charity gets brand new website

October 28th, 2011

Earlier this month saw the launch of a brand new and much improved website for the Primary Trauma Care Foundation – a charity working globally to improve standards in Trauma Care.  More than 10,000 people die across the world each day from injury – in road traffic accidents, natural disasters, violence and conflict.  It’s a shocking statistic, but many of these deaths could be prevented with better 1st response trauma care.


We built the website with a number of different user groups in mind – from those who had never heard about the charity before & were potential supporters, to the many volunteer doctors around the world who attend and run the PTC courses.


The website was built to function in older browsers & systems in the developing world, as well as to encourage interaction between team members – with the facility for users to post news stories and forthcoming course details directly from the front end of the website.


From a professional viewpoint, it’s been a fascinating & rewarding project to work on.  You can see the website here: www.primarytraumacare.org.

Mobile is not an option any more

July 16th, 2011

The mobile web is big and it’s getting bigger.  Mobile browsing is expected to overtake desktop browsing in two to four years (see here and here, as quoted by Ethan Marcote on A List Apart, in his article on Responsive Web Design).   The number of mobile devices is growing ever more rapidly, with this slideshow by Bryan Rieger from Yiibu quoting figures of 3.4 billion having mobile devices – roughly 1/2 the people on the planet – compared with the 1.8 billion estimated internet connections (26% of World population at beginning of 2010).

 

So what does all that mean?  Mobile web is not an option any longer, that’s a given.  But it’s more complicated than that.  Traditionally, the solution has been to perhaps build a mobile version of your website for mobile visitors.  Or to build an iPhone app.  Or an iPad app.  Or all three.

 

But where does that leave us?  Less than 4% of the global market share of mobile devices falls to the iPhone.  Less than 4%.  Again, to quote Bryan Rieger, the most popular devices (think BMW) don’t necessarily translate into the most used devices (think Ford).  Do you cut off a huge chunk of your users, simply because they haven’t got an iPhone?

 

And consider too – the smartphone of today will be thoroughly out of date in three years time.  There will be a whole raft of new devices out there, as well as the old ones hanging on too.  So do you create a new version of your website for each new device that’s brought out?

Read the rest of this entry »

WordPress 3.2: What you need to know

July 13th, 2011

Last week, WordPress released WordPress 3.2 – the fifteenth major release of WordPress.  I saw a slideshow on Mashable of how the WordPress interface has changed over the years since 2003 – and wow, it’s come a long way.

 

The focus for this release was to make WordPress faster and lighter, but 3.2 also sees a new & improved administrative interface, and the much talked about distraction-free writing mode (which I’m using as I write this!).

 

Here’s a screenshot of the updated admin interface:

 

 

And then a couple of the distraction-free writing mode.  It does feel rather nice, it must be said.  And I think it works too – with a blank white screen surrounding what you’re writing, you really don’t get distracted.  This is a good reminder about website design in general – only have elements on the page which serve a purpose!

 

Pretty minimalist!   And if you need buttons, here they are…

 

 

 

To use the distraction-free writing mode, just click on the ‘Toggle fullscreen mode’ icon within the write posts screen.  It’s on the top row of icons, second from the right.

 

A few more important points:

  • Support for PHP 4 and older versions of MySQL has been dropped.  This is a good thing – support for these outdated versions was holding back the use of features enabled by new technologies.
  • Support for Internet Explorer 6 has been dropped.  This is a good thing too, although I have a niggling concern for organisations (schools are a good example) who are often waaaay behind upgrading browsers.  But it needs to be done, and hopefully this will help convince them that they really do need to update…
  • Upgrades are now much faster – as only updated files are replaced, rather than the whole WordPress directory.  Works for me!
  • A new default ‘Twenty Eleven’ theme has been introduced, using HTML 5 & apparently responsive design.  It’s sort of similar to Twenty Ten, but different (how’s that for a description?!).   One of the obvious additions is the ability to have multiple rotating header images.

 

All Hexagon-hosted WordPress websites will be getting an upgrade very shortly – exciting times!

Introducing some discipline

May 26th, 2011

Running your own business is incredibly different from working for an employer.  You set your own schedule, your own deadlines.  Yes, these are very much influenced by your clients, but nevertheless, you’re not accountable to a line manager for what you do or don’t do.

When it comes to how long things take, this can have a big impact.  It’s easy to get drawn into a project & spend far more time on it that you would be ‘allowed’ to in a very large & structured organisation.  Sound familiar??

When designing websites, it’s easy to get sucked into an endless round of tweaking & improving & improving & tweaking – until you suddenly realise you’ve spent far more time on the project than you should have done.  And probably for no real gain.

The same applies to other types of work too.  But how do you stop this happening?  It’s not about producing a half-baked piece of work.  It’s about introducing some discipline.

Gut reactions

Have a piece of paper & a pen handy.  Look at the website (or project, document, whatever it is!) objectively, and make note of what you feel needs some attention.  At this point don’t start tweaking – just write down what you want to change.  What works well & catches your attention?  What doesn’t stand out enough?  Is your key message communicated clearly enough?  Do you demonstrate the same by giving examples of capability and expertise?

Making changes

Once you have a list of what you want to change, go do!  Action everything on your list, one by one.


You’ll be amazed how much more quickly you arrive at a finished result – simply by introducing some discipline into the process.

It’s not just for design…

The same process can be applied in many areas.  Sometimes I have a big jumble of things in my head – things which need doing, ideas which need thinking about, decisions that need to be made.


Sound familiar?  Try getting them down on paper.  Think about the end goal – a finished state rather than an on-going activity.  That applies whether it’s a project, your business as a whole, or just a particular day!


Then allocate time to each task.  Yes, you might not always keep to it 100%.  But once you’ve given that ‘thing’ a slot of time, you can forget about it until that time arrives – and when it does arrive, it’ll have your full attention.


Try it – it works for me!

Why convention isn’t a bad thing

April 21st, 2011

Sometimes wacky is good.  Sometimes being different is good.  But often, following convention is better.

Why convention is a good thing

(we’re talking about websites here by the way…)

  • People know where to find things.  So they don’t feel silly & fed-up not being able to find what they want
  • People focus on the content, not the design.  On taking action, not on sitting back & admiring the graphics.  That’s what you want them to do… isn’t it?
  • People feel safe, they know where they’re going, what they’re doing.  So they are that smidgen more likely to trust you.

All of what I’ve said so far depends very much on your business – that goes without saying (but I thought I’d say it anyway).  But for the most part, people want quality, reliability, service – over wackiness and off-the-wall-ness.  In my experience.

Conventions you should follow

There are many, but here are just three examples for web design:

  • Menu – a consistent, site-wide menu, usually along the top of the page or down the left hand side of the screen
  • Links – either in a different colour (often blue) or underlined – or both.  Don’t have other text in the default ‘link’ blue – people will think it’s a link!
  • Logo – at the top of the page, and very often to the left; always links back to the website home page.

Showing off your work with WordPress

March 31st, 2011

I’ve recently built three websites – one for a landscape design company, one for an interior design company, and the last for a graphic designer.


For each of these, showing examples of past work is crucial.  A picture is worth a thousand words – and all the more so in design.  Design is so subjective; clients understandably need to see examples of your work and style before they commit to working with you.


Keeping the portfolio up to date is important too.  Primarily for the reason it shows you continue to be busy, successful and up-to-date.


Enter WordPress.  It’s perfect for this situation, allowing us to create a bespoke administrative interface which includes a specific area for adding and managing portfolio items.


Think of it in terms of an old fashioned hard copy portfolio – when you’ve completed a new project, you’d add a new page to your portfolio, with perhaps some photos of the work you’ve done and a description.  Maybe on each page you’d have a consistent set of information – let’s say title, date, project value, and location.


Now port that over to the website world.   WordPress Custom Post Types allow us to set up a bespoke area for projects, making adding a new portfolio item as easy as adding a new page or blog post.


All they do is click on ‘Add Project’, and fill in the relevant fields – set up specifically for their requirements – and upload a photo or two.


The project will then automatically appear in their online portfolio – and perhaps we’d show a couple of recent projects on the home page too, creating some interest.


Clever, efficient.  If it’s something that you think could be of use to you, let me know.