How to deal with picky clients – Red Rabbit Technique July 28, 2006

Posted by Predrag in : Web Design , 5 comments

Red Rabbit
Here is a secret I would like to share with you. I bet that anyone who ever seriously worked as a web designer encountered a client (or clients) who always needed to change at least a pixel of your design. It can be a masterpiece - no matter what you create - but they’ll always find something to change. Don’t know why, but they just do.

If you are constantly receiving responses like these listed below, you’ll need to learn this simple Red Rabbit Technique:

  • That looks great, but can you please make that line a bit thinner
  • Why did you choose 24px Verdana for headline? I think 25px will do much better
  • That green you picked is too green. Is there a way you can change it to something more yellow?
  • I love those icons very much. Can you move them 2px up? And make them 2% brighter

Here is what you should do. I know it sounds silly, but it freaking works - it is more than fun and it requires very small amount of time!

Red Rabbit Technique

First you need do create the design in the way you think is the best. Move it around, polish it, use the fonts you like… Create whatever you think the final design should look like. Save your masterpiece and backup it.

Sample

It’s time for Red Rabbit! Basically, what you need to do now is to decrease the quality of your design. Create one simple eye catching mistake everyone will notice. Something like the sample I’ve provided above. You can do practically everything you wouldn’t do for real. Here are some ideas:

  • Destroy your color scheme. Add a strong color that is out of any harmony from your layout
  • Change your headline font to some old-school one like Times New Roman (this might be to obvious)
  • Replace your cool photo you’ve spent 3 days to find with something you found on Google Image Search
  • Anything else you can think off.

To keep the story short, don’t go too far. Key issue here is to create a minor, eye catching mistake. If you ruin it completely, your client will request re-do of an entire design. The goal is to hear: “That’s great! One thing I dislike is that red color you picked. Please change it to something different.” Than, you show them your original work – and they love it.

Extended Red Rabbit Technique

This one requires a bit more time, but the principle is the same. You should use it when the client requires more than a single design from you so they can pick one of them. Again, you create what you think is the best. Than, downgrade it in various ways. Align it to the left, change colors, use different font, etc. Bare in mind you’ll need to place a winner as the final version. Downgraded versions should be presented first. This technique works even more than the first one.

One way or another, you have nothing to lose, your work will be done faster, and you’ll have a lot of fun during the process of downgrading your design. Guaranteed! Also, no harm is done and your client will receive the best solution anyway. :)

Why is it called Red Rabbit?

Well, this was my first association when I’ve started implementing this technique. If you see a red rabbit while you’re walking through the forest, you’ll notice it. That’s exactly what your picky client will do.

In one of my next posts, I’ll provide you with some real life samples of correct Red Rabbit Technique usage.

rsync - synchronize web server and your local computer July 20, 2006

Posted by Slobodan Kovacevic in : Resources and Links , add a comment

When developing sites it’s always a pain to upload updates on server, i.e. to synchronize server with local copy of the files. This is especially true if you have a site which you don’t keep under version control (although there is no good reason for that) or if your hosting company doesn’t have CVS / SVN client installed so you cannot simply update server working copy. So usually you are best of always uploading the whole site.

But if you have SSH access to your server (and most decent hosting companies will give you SSH) you may use rsync to upload only changed files from your local computer to server. If you have Linux you probably already have rsync and if you use Windows you’ll need to use Cygwin (just look at any of these for Windows rsync install instructions).

The command itself looks like this:

rsync -e ssh -av /path/to/local/copy/ yourusername@yourserver.com:/path/to/www/server/copy/

When you execute (obviously you’ll have to change command a bit to reflect your real paths) it will ask you for your password and upon login you’ll get something like this:

building file list ... done
./
production.php
sound_and_light.php
specialist.php
user-edit-process.php
user-logout.php
user-sendemail.php

sent 1942 bytes  received 158 bytes  113.51 bytes/sec
total size is 1692  speedup is 0.81

That’s it, files on your server have been updated and they are exactly the same as those on your local computer.

Main advantage when using rsync is that it will only upload files that have been changed, so you won’t have to upload everything whenever you want to update server files - this will save you a lot of time.

Although command might seem complicated it’s actually pretty straight forward. You are just telling rsync that you want to synchronize first dir with second one which happens to be on server. It also contains couple options:

‘-e ssh’ - tells it to use ssh to connect to your server.
‘-av’ - tells it to be verbose and use something called ‘archive mode’ (which basically says you want to copy everything in this dir and to preserve file time stamps).

You can also use rsync for much more than this, for example you can synchronize two servers, set it up to run as cron script to perform daily synchronization / backup or even just make local backup copies of your files.

How to sort MySQL results ignoring definite and indefinite articles (the, a, an) July 14, 2006

Posted by Slobodan Kovacevic in : Resources and Links , 7 comments

We recently had a problem - we needed to sort MySQL result based on Title column, but while sorting we needed to ignore both definite and indefinite articles (i.e. ‘a’, ‘an’, ‘the’).

Although this is an frequent request (people mostly want to ignore articles when sorting), we didn’t find a lot of solutions. Those which we found usually involved suggestions like “just put ‘the’ in the end when inputting data” or “add another column in which you can enter whatever you want and use it to sort”… All those solutions work and can be used, but also all of them are unacceptable because they unnecessarily ask from user to perform additional operations.

Finally we stumbled onto a thread on Site point MySQL: Proper sorting of a column which has a solution in a very last post.

Here is the query (slightly modified/formatted) that performs sorting ignoring articles:

SELECT Title,
	CASE WHEN SUBSTRING_INDEX(Title, ' ', 1)
			IN ('a', 'an', 'the')
		THEN CONCAT(
			SUBSTRING(Title, INSTR(Title, ' ') + 1),
			', ',
			SUBSTRING_INDEX(Title, ' ', 1)
		)
		ELSE Title
	END AS TitleSort
FROM music
ORDER BY TitleSort

What it basically does is that beside actual Title column it also adds a second column called TitleSort which contains Title without articles and so it can be used for proper sorting.

The query logic is simple. First determine if the first word (i.e. everything from start to first space) of the Title is ‘a’, ‘an’ or ‘the’. If it is, then it will move it to the end of the string (for example, “The Best Of” will become “Best Of, The”). Otherwise it won’t touch Title and TitleSort will be exactly the same. Of course in the end it sorts everything according to values in TitleSort.

How to use lorem ipsum July 10, 2006

Posted by Predrag in : Web Design , add a comment

Few days ago I read this article on Signal vs Noise Blog. Even though I respect their work and oppinions (after all, we are using their products), this particular article I coundn’t completelly agree on.

As you’ll be able to read - they are strongly suggesting you shouldn’t use Lorem Ipsum as your “content-here” text.

Well, why not? Specially when you are working on some client’s project where material is always late at least for few days or even months.

You can always try to guess which text would client like to place, but 95% of the time, you’ll be wrong — and more importantly, you’ll spend few hours explaining WHY you placed that text there - instead of using the meeting time discussing usability and design issues.

So, my idea is to create a mockup layout with Lorem Ipsum text in place of paragraphs only. I always use regular text for headlines, navigation buttons, etc in order to present true website functionality. However, when you know there should be a paragraph of text explaining your client’s marketing strategy, mission statement, or some other blah-blah — put Lorem Ipsum paragraph there. You can check provided sample so you can see what I had in mind.

Lorem Ipsum usage mockup

As you can see, I used Lorem Ipsum as paragraphs in places that are not much important for site functionality - (not in headlines, navigation, links…). Additionally, I used some bold and red elements - things that client will most certanly use in real life.

It cuts your working time, it works, it doesn’t create confusion - just use it properly.

However, when you are creating your own application, then forget about Lorem Ipsum.

Best lorem ipsum generator I stumbled upon in the past you can find on Lipsum.com.

How to add multiple files to Subversion

Posted by Slobodan Kovacevic in : Resources and Links , add a comment

After switching completely to Ubuntu I also had to switch from TortoiseSVN to plain svn command line. The problem I have is that I don’t see any way to add multiple files to SVN with one command.

I want to be able to add ALL files that aren’t under Subversion version control and use a single command to do it (as opposed to issuing bunch of ’svn add file1 file2…’ commands). I’d like to have something like:

svn add ./*

Now since I’m lazy and not exactly an shell scripting expert I found a someone else’s solution to this problem. In a blog post add multiple files in subversion at once proposed solution is to use following line (it’s a slightly modified version of original line):

svn st | grep "^?" | awk '{ print $2}' | while read f; do svn add "$f"; done

Basically, it will first list all files that have been changed, then filter out those that have ? as status (hint: files that aren’t under version control), extract file names and then for each file issue a separate ’svn add’ command. I just tried it and it works great.

Install Ruby and Ruby On Rails on Ubuntu July 2, 2006

Posted by Slobodan Kovacevic in : Ruby & Rails , 6 comments

Recently I started messing around with Ruby and I wanted to set it up on our local server, so I gave InstantRails a go - and it worked perfectly.

Meanwhile we changed our operating system and switched from Windows to Linux (Ubuntu Dapper), so now I needed Rails for Ubuntu. Unfortunately (or luckily) there is no InstantRails for Ubuntu. The only way to go was to install “real” Ruby and Rails, so I had to figure out how to install it once again.

Again I tried to find a meaningful and complete tutorial, but I didn’t found it so I had to glue pieces from different sources (you have a complete list of articles I used at the end). I wanted to do this as simple as possible and without any compiling.
(more…)