Using Sequel Pro with Back To My Mac

Friday, 20th December 2013

I do a lot of development split between two machines, a large desktop machine (iMac) and a portable laptop (Macbook Air), both of which have locally stored MySQL databases. Often I’ll run into a situation where I have two out-of-sync databases across the two and I need to access one or the other to replicate changes.

I curse my lack of preparedness: “I should’ve set up that Dynamic DNS account last time I encountered the problem”. But wait… doesn’t Back to My Mac do exactly what I want, easily and for free? Yes, yes it does.

Read the rest of this entry »

The user is an idiot, treat them as such

Saturday, 13th July 2013

So, you’re designing a user interface. A user interface that will be used by a user. Users are people. People are sometimes, often, and generally, idiots.

Not all users are idiots. Some are intelligent, thoughtful, logical people; but there’s no guarantee you’re going to win the user bingo and end up with one of them. So, as a general rule of thumb I’ve always worked to one guiding principle: “The user is an idiot, treat them as such”.

Read the rest of this entry »

Compress CSS with @import statements

Friday, 21st June 2013

I own and run a digital agency called Red Wolf Digital, for the most part my work involves building websites. We use an in-house content management system we call Mercury to build most of the sites we produce for clients. One of the things I’ve been trying to find for some time was a way to automatically minify the CSS used to style these sites.

There are loads of CSS and JavaScript minifiers out there, but I was struggling to find one that would handle @import statements. I’m a great believer in object orientated coding principles and the benefits afforded to you by breaking large, monolithic entities into smaller more manageable chunks. Something that was kept in mind whilst designing and developing Mercury, which of course, makes full use of CSS @import rules. The lack of a minifier that will handle this has prompted me to write a small script to do it for me, I include it here should anyone happen across it and get some use from it.

Read the rest of this entry »

Arguments about design in iOS

Friday, 14th June 2013

ios7

It’s been five days since Apple unveiled the designs for iOS7. Since then there’s been a slew of articles about the design of the system; the look, the feel, the shift away from skeuomorphism and the flat-ish approach they’ve taken to interface design.

There have been lots of heated arguments on twitter and blogs, for and against the changes. Pro-change articles, critical articles, rebuttals, rebuttals of those and rebuttals of the rebuttals. What’s become very evident to me is: most people are arguing over the wrong thing. They’re arguing about the colours, or the icons (most of which are terrible), or the flattened look, or the gradients… the things that aren’t really what makes up an operating system. It’s the veneer on top and it’ll catch up.

Read the rest of this entry »

Ranking results in a site search

Wednesday, 05th June 2013

In the majority of cases farming out your search needs to a company like Google is a good idea. Simply using the site:[url] command is generally sufficient for most cases.

You get a range of benefits from outsourcing things to an external entity:

  • they do all the heavy lifting
  • lots of time and money is invested in ranking and matching your searches
  • people are familiar with the search results format
  • social rankings are taken into account for content where it’s applicable
  • there’s an opportunity for user tailored search results
  • there’s likely a much finer granularity in what terms are searched and matched – for example using advanced stemming and similes

That said, there’s certain cases when farming out your search to an external provider is perhaps not what you want. You may require that only a sub-set of data appearing on your website need be searchable; you may have short lifetime data that you want to make searchable; you want to have a complex search mechanism; or you might have the requirement of ranking search results in a unique, pre-defined manner.

Read the rest of this entry »