Tuesday, 16 April 2013

The Non-Designer's Design Book review


I'm planning on reviewing books related to web design & development that I read and this is my first, hopefully they'll give other people a good idea on what to (and not) read.

So what is this book about? Well it's aim is to teach design principles to non-designers who don't naturally have that 'creative eye' or whatever you want to call it, personally I think it does an amazing job! The way it has been written makes all the principles it teaches very easy to comprehend and read and due to the fact that a lot of the book is images used to illustrate what she's talking about you quickly go through the whole book, strangely I actually found myself wanting to read the book. That doesn't often happen with books I read, although that's probably because most of them are quite technical.


Well the main part of this book goes on about the main principles of design layout and gets you to understand them so you can spot and name each one. The reason for this is based on the thinking that if you can name the principles and explain them in clear definitive words then you have 'power' over them and can implement them knowingly to make great designs.

I think this is a great approach to teaching design to a non-designer like myself as it gives me clear and definitive principles to think about when creating a design and to stick to them until you get a lot of practise and know when to break away from them. One of the key things is to follow the design principals taught in this book and only ever deviate from them when you can clearly describe the reasons why you are doing it. Design to me isn't about making things pretty but about basically about usability which in turn makes a site look much better than anything I'd naturally come up with. These principals will aid usability a lot, much more than the book states.

So what are these principles? Well I've listed them below but you'll need to read the book for a good explanation of them as I don't think I could do it any where near as well.

  • Proximity
  • Alignment
  • Contrast
  • Repetition

After this main section which deals with the layout of pages there's a smallish part of the book dedicated to colour and how to use it which is good at giving the very basics, just what I need but there's not a large amount on the subject. I'll probably need to read up more on the subject to get a better understanding though.

Then onto the next large section of the book which deals with typography, which for the life of me never really seemed worth bothering about before. After reading this however I can see just how typography really can make a difference and how to tell what is best suited to your needs, I have to admit though I need a lot more practise and to read more on the subject to really understand it but this does give a good grounding and opened my eyes to its actual importance.

Concluding thoughts

If you're like me and are a developer who is far more into the technical side, then buy this! Even if you're not looking to move into design I personally feel that not only understanding your main subject area really well but everything around it is what makes you a great developer (or anything else). Which is why I'm starting to learn more design and know a lot about how networks work (as the World Wide Web is built on a network of networks) and learning many other subjects.

Where to buy

I'm not going to lie, here's my Amazon affiliate link to buy the "The Non-Designer's Design" book which I get money for if you buy the book by clicking it. That's not the reason why I've written such a good review though, I genuinely think this is a great book. I'd be grateful if you clicked it if you are going to buy from Amazon anyway, doesn't cost you any extra.

Friday, 12 April 2013

isset() or array_key_exists() ?


Firstly I wanted to say I'm sorry for not posting much recently, unfortunately they've been a few personal emergencies which have come up recently so I've not been able to get anything written.

Recently a work colleague asked a really good question, what the difference between isset() and array_key_exists() when seeing if a specific key exists inside an array?

The answer

Well the main difference is that isset() returns false if the array key exists but the value is NULL where as array_key_exists() will return true.

The other difference is that isset() seems to be faster, I've put a link below to a comment on the PHP manual which states this and there are other posts on the Internet if you Google it but I've not tested it out myself.

What do I think?

If you know for certain that they array key will not have the value NULL then use isset() as it's quicker but it's only slightly quicker so if you're not certain then use array_key_exists() as it's far better lose that tiny bit of speed (probably unnoticeable in most cases) rather than get a false positive.

Further reading