<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>The Watchmaker Project Tumblelog</title>
		<link>http://www.thewatchmakerproject.com/</link>
		<description>Blog entries, links, thoughts, videos, and quotes by The Watchmaker Project.</description>
		<dc:language>en</dc:language>
		<dc:creator>rss@thewatchmakerproject.com</dc:creator>
		<dc:rights>Copyright 2011</dc:rights>
		<dc:date>2011-10-11T22:44:18+00:00</dc:date>
		<admin:generatorAgent rdf:resource="http://expressionengine.com/" />
		
			<item>
				<title>jwerty &#45; Awesome handling of keyboard events</title>
				<link>http://keithcirkel.co.uk/jwerty/</link>
				<guid>http://keithcirkel.co.uk/jwerty/#When:22:44:18Z</guid>
				<description></description>
				<dc:subject></dc:subject>
				<dc:date>2011-10-11T22:44:18+00:00</dc:date>
			</item>
		
			<item>
				<title>Subtle Patterns | Free textures for your next web project</title>
				<link>http://subtlepatterns.com/</link>
				<guid>http://subtlepatterns.com/#When:11:11:02Z</guid>
				<description>&#8220;Quick, what was big about a year after tiling background patterns were discovered in 1998? I&#8217;m going to start a blog about that and be rich&#8230;&#8221;</description>
				<dc:subject></dc:subject>
				<dc:date>2011-10-11T11:11:02+00:00</dc:date>
			</item>
		
			<item>
				<title>The Creative Brain On Exercise | Fast Company</title>
				<link><a href="http://www.fastcompany.com/1783263/the-creative-brain-on-exercise">The Creative Brain On Exercise | Fast Company</a></link>
				<guid><a href="http://www.fastcompany.com/1783263/the-creative-brain-on-exercise">The Creative Brain On Exercise | Fast Company</a>#When:22:33:33Z</guid>
				<description>&#8230;exercise isn&#8217;t just about physical health and appearance. It also has a profound effect on your brain chemistry, physiology, and neuroplasticity (the ability of the brain to literally rewire itself). It affects not only your ability to think, create, and solve, but your mood and ability to lean into uncertainty, risk, judgment, and anxiety in a substantial, measurable way&#8230;</description>
				<dc:subject></dc:subject>
				<dc:date>2011-10-10T22:33:33+00:00</dc:date>
			</item>
		
			<item>
				<title>Nate Hallinan Portfolio</title>
				<link>http://www.natehallinan.com/index.html</link>
				<guid>http://www.natehallinan.com/index.html#When:02:56:04Z</guid>
				<description>I wish I could draw properly. :(</description>
				<dc:subject></dc:subject>
				<dc:date>2011-10-04T02:56:04+00:00</dc:date>
			</item>
		
			<item>
				<title>Wonderputt</title>
				<link>http://www.andkon.com/arcade/sport/wonderputt/</link>
				<guid>http://www.andkon.com/arcade/sport/wonderputt/#When:10:54:26Z</guid>
				<description>Beautiful little Flash golf game.</description>
				<dc:subject></dc:subject>
				<dc:date>2011-10-03T10:54:26+00:00</dc:date>
			</item>
		
			<item>
				<title>jQuery Masonry</title>
				<link>http://masonry.desandro.com/</link>
				<guid>http://masonry.desandro.com/#When:00:47:02Z</guid>
				<description>Another one for the layout toolkit.</description>
				<dc:subject></dc:subject>
				<dc:date>2011-09-30T00:47:02+00:00</dc:date>
			</item>
		
			<item>
				<title>Fluid Squares v2. A responsive grid experiment.</title>
				<link>http://fluidsquares.com/</link>
				<guid>http://fluidsquares.com/#When:00:35:05Z</guid>
				<description>Pretty much exactly what I was planning with the design for the lifestream app I&#8217;m building. Yoink!</description>
				<dc:subject></dc:subject>
				<dc:date>2011-09-30T00:35:05+00:00</dc:date>
			</item>
		
			<item>
				<title>The Psychologist’s View of UX Design</title>
				<link>http://uxmag.com/design/the-psychologists-view-of-ux-design</link>
				<guid>http://uxmag.com/design/the-psychologists-view-of-ux-design#When:01:58:53Z</guid>
				<description>Some useful psychological heuristics for assessing your UX work.</description>
				<dc:subject></dc:subject>
				<dc:date>2011-09-29T01:58:53+00:00</dc:date>
			</item>
		
			<item>
				<title>Mobile Web Resources from Breaking Development</title>
				<link>http://www.lukew.com/ff/entry.asp?1406&utm_source=feedburner&utm_medium=feed&utm_campaign=Feed: FunctioningForm (LukeW Ideation + Design)</link>
				<guid>http://www.lukew.com/ff/entry.asp?1406&utm_source=feedburner&utm_medium=feed&utm_campaign=Feed: FunctioningForm (LukeW Ideation + Design)#When:02:13:11Z</guid>
				<description>Jumping into Mobile First with both feet.</description>
				<dc:subject></dc:subject>
				<dc:date>2011-09-27T02:13:11+00:00</dc:date>
			</item>
		
			<item>
				<title>9 Things Designers Can Learn from Target’s Checkout Form</title>
				<link>http://uxmovement.com/forms/9-things-designers-can-learn-from-targets-checkout-form/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed: uxmovement (UX Movement)</link>
				<guid>http://uxmovement.com/forms/9-things-designers-can-learn-from-targets-checkout-form/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed: uxmovement (UX Movement)#When:02:11:29Z</guid>
				<description></description>
				<dc:subject></dc:subject>
				<dc:date>2011-09-27T02:11:29+00:00</dc:date>
			</item>
		
			<item>
				<title>Interface Design is Copywriting «&#160;Bokardo</title>
				<link><a href="http://bokardo.com/archives/interface-design-is-copywriting/">Interface Design is Copywriting «&#160;Bokardo</a></link>
				<guid><a href="http://bokardo.com/archives/interface-design-is-copywriting/">Interface Design is Copywriting «&#160;Bokardo</a>#When:00:44:04Z</guid>
				<description>Good design is not an accident. It’s not something that just happens by someone getting lucky. Sure, once in a while someone stumbles upon a cool core mechanic that happens to work, but to create a solid interface that many people can use and enjoy takes real attention to the details.</description>
				<dc:subject></dc:subject>
				<dc:date>2011-09-27T00:44:04+00:00</dc:date>
			</item>
		
			<item>
				<title>Scalable and Modular Architecture for CSS</title>
				<link>http://smacss.com/book/</link>
				<guid>http://smacss.com/book/#When:22:37:37Z</guid>
				<description></description>
				<dc:subject></dc:subject>
				<dc:date>2011-09-25T22:37:37+00:00</dc:date>
			</item>
		
			<item>
				<title>Critics call foul as Google takes aim at JavaScript with Dart</title>
				<link>http://arstechnica.com/open-source/news/2011/09/critics-call-foul-as-google-takes-aim-at-javascript-with-dart.ars/</link>
				<guid>http://arstechnica.com/open-source/news/2011/09/critics-call-foul-as-google-takes-aim-at-javascript-with-dart.ars/#When:09:52:55Z</guid>
				<description></description>
				<dc:subject></dc:subject>
				<dc:date>2011-09-16T09:52:55+00:00</dc:date>
			</item>
		
			<item>
				<title>Making things, infinite games, and Fred Brooks</title>
				<link><a href="http://blog.chaddickerson.com/2011/09/03/making-things-infinite-games-and-fred-brooks/">Making things, infinite games, and Fred Brooks</a></link>
				<guid><a href="http://blog.chaddickerson.com/2011/09/03/making-things-infinite-games-and-fred-brooks/">Making things, infinite games, and Fred Brooks</a>#When:11:41:22Z</guid>
				<description>The programmer, like the poet, works only slightly removed from pure thought&#45;stuff. He builds his castles in the air, from air, creating by exertion of the imagination.</description>
				<dc:subject></dc:subject>
				<dc:date>2011-09-10T11:41:22+00:00</dc:date>
			</item>
		
			<item>
				<title>Marathon Man</title>
				<link>http://v4.thewatchmakerproject.com/blog/marathon-man/</link>
				<guid>http://v4.thewatchmakerproject.com/blog/marathon-man/#When:15:07:20Z</guid>
				<description>Throughout the period when we were considering and then waiting to relocate to Amsterdam, the possibility of getting more serious about keeping fit was at the back of my mind. And since we arrived (bar a single hangover break) I have been running every weekend, exploring the roads and parks within easy reach of our beautiful Vondelpark apartment. But, like so many of the activities I engage in, I’m starting to feel the need for a tangible goal&amp;mdash;and, since running doesn’t award online badges or make me mayor of imaginary places, I may actually need to declare a real and tangible endgame for this habit.

So I’ve decided to run the Amsterdam Marathon, which is conveniently happening right outside our front door in October. That gives me three&#45;and&#45;a&#45;half months in which to train, learn about proper nutrition and increase my weekly distance to a suitably imposing number. I’m pretty confident that, barring injury or illness, I’ll be able to complete the full distance somewhere south of four hours.

Training &amp;amp; Tracking

The largely flat surroundings of Amsterdam make training pretty stress&#45;free, and as a non&#45;native there are enough new sights and sounds to keep my attention occupied while I pile on the miles. I started out considering a linear growth in my mileage per week, but subsequent research online seems to indicate that most marathon training programmes top out at about 20 miles in one go, with a weekly maximum growing to around 40 miles before tapering off in the final few weeks to give your body time to recover for the big day. I’m managing about 8&#45;10 miles per week at the moment, running at the weekend and once during the week, so it’s likely I’ll need to add an extra weekly session to build up to a realistic mileage.

There are many different ways to track your progress and development, both online and mobile. DailyMile, RunKeeper, Nike+, EndoMondo and others all offer fancy graphs, charts and incentives to monitor and manage your athletic endeavours. I’ve been using RunKeeper for quite a while, but after having a play with DailyMile recently I find I like their route mapping much more, with its auto&#45;snapping to roads and Web 2.0&#45;style design. Sadly none of the sites I looked at offered pointless badges to unlock, but no doubt I’ll be sharing various sessions on Facebook anyway.

De juiste kleding

I’ve heard it said that the Dutch claim a connection to the equally long&#45;of&#45;limb Masai, and perhaps that might explain their need to wrap up warmly even in the most balmy conditions. Typically I tend to wear a random tech conference t&#45;shirt and some old shorts to run, but it’s not uncommon that I find myself passing fellow runners decked out in full tracksuit, in wooly hats even. It’s a similar story during the week&amp;mdash;I ride to work in a t&#45;shirt; they are in coats and sweaters. At any rate, now I’ve signed up for the marathon I felt I should splash out on some decent running gear; tomorrow I’ll be sporting my brand new bright orange breathable shirt and some barely decently short shorts.

Wish me luck

So now I’m signed up and kitted out with reasonably serious&#45;looking gear, I feel comfortable announcing this rather intimidating life goal. Wish me luck.</description>
				<dc:subject>Personal</dc:subject>
				<dc:date>2011-07-02T15:07:20+00:00</dc:date>
			</item>
		
			<item>
				<title>No more CSS hacks: Browser sniffing with .htaccess</title>
				<link>http://v4.thewatchmakerproject.com/blog/no-more-css-hacks-browser-sniffing-with-htaccess/</link>
				<guid>http://v4.thewatchmakerproject.com/blog/no-more-css-hacks-browser-sniffing-with-htaccess/#When:14:40:31Z</guid>
				<description>Ask any web developer what the worst part of their job is, and chances are that browser testing will feature pretty high in the list. Ever since we ditched HTML tables and started using CSS to lay out our web pages, it has been a constant struggle to make designs look the same in every browser.

Of course, for the biggest headache Internet Explorer there has always been the blessing of Conditional Comments. These specially crafted comment&#45;like tags let us specify IE&#45;specific styles or stylesheets, safe in the knowledge that they will only be recognised and downloaded by the targeted browser(s). And if it was only IE that tripped us up, that would be fine. But inevitably once you start building bigger and more complex designs, you are going to run across niggling little inconsistencies in one browser or another where Conditional Comments can’t help you out.

Previously the only way to deliver different CSS rules for browsers was to rely on a complicated set of ‘hacks’&amp;mdash;either parsing bugs or unsupported CSS3 declarations that allowed some rules to be ignored by some browsers. But it’s not easy to remember every convoluted hack, and when you’re up against a deadline and Opera 9 doesn’t render quite the same as Opera 10 you have better things to do than Google for that specific fix.

Luckily, there is an easier way to detect browsers and their versions.

Special (User) Agent

When any browser requests a web page from your server, it sends a bunch of request headers. One of those headers tells the web server what the browser is called: the User&#45;Agent string. There are approximately a gazillion of these strings&amp;mdash;have a look at Zytrax.com’s list if you’re interested in learning some of the more bizarre options&amp;mdash;but for the purposes of modern web development we’re really only interested in the most commonly used browsers:


Microsoft Internet Explorer
Firefox
Safari
Opera
Google Chrome


Unless you’re writing a site specifically for obscure Linux distros, these five browsers will probably make up 99% or more of your visitors. Each browser manufacturer uses a slightly different string&amp;mdash;some even include other browser’s names in their user&#45;agent&amp;mdash;but they (generally) tend to follow a predictable pattern. And that means we can recognise and extract them using regular expressions.

Regular expressions and .htaccess

If you’re used to running on Apache you probably have some experience with the .htaccess file. It is used to control access to files and folders, redirect requests, and provide various server&#45;level bits of information back to the browser. But it can also be used to create additional environment variables that you can use in your web pages.

What we’re going to do is interrogate the User&#45;Agent string for our five browsers, and extract the browser name and version numberfor use in our pages. First, add these lines to your .htaccess file:



What we’re doing here is using a regular expression to look for the browser name, followed by a space or a forward&#45;slash, and then a number. The order of browser names is important here, as Chrome’s User&#45;Agent string includes “Safari” (and Camino includes “Firefox,” if you want to add that browser into the mix). You might also notice that Safari is missing; in its place is a mysterious browser called “Version.” That’s due to how Safari UA strings are constructed; they use a build number at the end instead of a version number, with the version number earlier in the string. Using regular expression backreferences we assign the first matched expression to the variable ‘browser’ and the second match (a single number) to the variable ‘version.’ The second line accommodates Safari’s difference by checking for the not&#45;really&#45;a&#45;browser “Version” and replacing it with the correct name. And finally we trim Internet Explorer’s name down to the more familiar “IE.”

So now we have grabbed a couple of useful bits of information out of the User&#45;Agent string of the user’s browser&amp;mdash;what can we do with them?

Environment variables in PHP

Any variables created in this way are added to PHP’s superglobal array $_ENV. Just like the $_GET and $_POST arrays, you can output the values by referring to the array key:


&amp;lt;p&amp;gt;You are using &amp;lt;?php echo $_ENV[&#8216;browser&#8217;]; ?&amp;gt;,
&amp;nbsp; version &amp;lt;?php echo $_ENV[&#8216;version&#8217;]; ?&amp;gt;&amp;lt;/p&amp;gt;


Environment variables also have a second access method, the getenv() function. Simply pass the variable name in the function call to retrieve the value:


&amp;lt;p&amp;gt;You are using &amp;lt;?php echo getenv(&#8216;browser&#8217;); ?&amp;gt;,
&amp;nbsp; version &amp;lt;?php echo getenv(&#8216;version&#8217;); ?&amp;gt;&amp;lt;/p&amp;gt;


Very nice, but how can we use this information instead of CSS hacks? Simple; we just add the browser and version to the class of the &amp;lt;html&amp;gt; element:


&amp;lt;html class=&#8221;&amp;lt;?php echo getenv(&#8216;browser&#8217;) . getenv(&#8216;version&#8217;); ?&amp;gt;”&amp;gt;


This technique allows you to write browser&#45;specific rules that override the base declaration by including the browser&#45;specific class name:


#mydiv {
&amp;nbsp; position: fixed;
}
.IE6 #mydiv {
&amp;nbsp; position: absolute;
}


Arguably this approach makes more sense than conditional comments, as it means that targeted browsers aren’t required to download an additional file, but you should probably look at your site stats to see whether your Internet Explorer traffic is high enough to make up for other browsers taking the hit of downloading unused styles.

Adding classes to the &amp;lt;html&amp;gt; element is not valid HTML in HTML4 or XHTML1, but it is valid in HTML5. Tools like Modernizr have adopted this technique when augmenting markup, and I think it is a sensible place to put these new classes (particularly as IE6 has problems with multiple classes in declarations, so putting them on the &amp;lt;body&amp;gt; might have unforeseen consequences).

But I&#8217;m not allowed to edit my .htaccess!

As it’s a simple regular expression, the functionality here can be duplicated in PHP alone very simply. Just place this code before the start of markup (or in a global include file if you’re using a CMS):



Then simply refer to those new variables instead of the environment vars:


&amp;lt;html class=&#8221;&amp;lt;?php echo $browser . $version; ?&amp;gt;&#8221;&amp;gt;


Justification

“Hang on just a gosh&#45;darned minute,” I hear you say, “Browser sniffing is bad!”

Well, yes it is, in the context of late ‘90s JavaScript, but I’m of the opinion that pragmatism trumps idealism. In a perfect world, every line of CSS we write would be a well planned part of an overall framework, and every element on the page would be carefully constructed to avoid any possible browser inconsistencies, but anyone working on the web today knows that is rarely the case. Budgets and timeframes aren’t designed to accommodate more than a cursory glance at older browsers, and sometimes a quick fix is all that is needed; it’s in these cases that being able to target a specific combination of browser and version comes in very handy.

That said, I would not advocate using this technique to target the most up&#45;to&#45;date versions of modern browsers. If you’re having to hack the current version of a browser then you’ve done something wrong, and run the risk of that same thing breaking as soon as Firefox 5 or IE10 is released. Far better to ‘fix’ older, static versions of browsers&amp;mdash;Internet Explorer 7 and below, Opera 9 and lower, Firefox 3 and so on&amp;mdash;as you know they are not going to change their behaviour.

Example page

Here’s an example page showing the technique in action. Note that it could also be extended to detect the platform (Windows or Mac) of the user as well, in case you want to get even more specific. You might want to make use of this technique to show or hide the right buttons to download software, for example, by writing something like this:


.download&#45;win, .download&#45;mac {
	display: block;
}
.Mac .download&#45;win, .Win .download&#45;mac {
	display: none;
}


Note that, depending on the policy of your webhost, you might have to follow certain restrictions when it comes to naming your new environment variables. For example, MediaTemple insists that any variables created in this way must start with &#8220;HTTP_&#8221;.

If you have any more suggestions for how to extend or improve the idea, let me know in the comments.</description>
				<dc:subject>CSS, PHP</dc:subject>
				<dc:date>2011-05-15T14:40:31+00:00</dc:date>
			</item>
		
			<item>
				<title>Future of Web Design 2011</title>
				<link>http://v4.thewatchmakerproject.com/blog/future-of-web-design-2011/</link>
				<guid>http://v4.thewatchmakerproject.com/blog/future-of-web-design-2011/#When:15:27:06Z</guid>
				<description>It’s been a while, but next week I’ll be returning to the British web design conference scene when I attend the Future of Web Design (FOWD) conference in London. It’s a two day, dual&#45;track format with plenty of essential sessions covering the latest and greatest web design and development techniques.

Unfortunately I don’t yet know how many of the talks I’ll be able to attend&amp;mdash;I’ll be there manning the recruitment stand for Booking.com, handing out our free schwag and hoping to talk to anyone interested in working for one of the most interesting ecommerce websites around. But in between work chat there are definitely a few sessions that I hope I can see.

Day One

Opening Day 1, Aarron Walter of MailChimp presents ‘Transforming Ideas Into Interfaces.’ Aarron’s book, Building Findable Websites, might be a few years old now but it’s still a great primer (or reminder for old hands) of the right way to do things. As UX design lead at MailChimp he is responsible for one of those ubiquitous UX examples that have been cropping up on user psychology slides in the last year: the MailChimp mascot forms part of the header of the site, and gives helpful or humorous advice&amp;mdash;or loses his arm if your browser window is opened too wide! Right after Aarron, Carsonified’s Mike Kus talks about ‘Designing for Humans.’ The description of this session is a little vague, but my hope is that it touches at least a little on user psychology and the effect of design decisions on emotional state.

As I have no interest in hearing about WordPress (and really, is that the “future” of web design?) I think the other morning session is worth your time. Rachel Andrew has been writing and speaking about this stuff for longer than most, and if you’re going to work as a designer it really does benefit you to also understand the basic concepts of development. (I actually had a vague idea for a book on this topic, something like “PHP Development for Web Designers” that would cover how to achieve basic tasks with the minimum of programming experience, but as per usual life got in the way.)

At the end of the first day it seems to be de rigeur for the final speaker to step back from practicalities and focus instead of more abstract ideas; it sounds as if Aral Balkan’s ‘Making The New Everyday Things’ talk will fit that bill.

Day Two

On Day Two, there is an interesting talk by (relative) newcomer Femi Adesina on handling creative block and ‘Enhancing Your Creativity.’ It’s something I’ve always struggled with; although I’m a classic hybrid designer&#45;developer, I find it much easier to churn out a few hours’ code than to spend the same amount of time in Photoshop. I hope this session provides something a little more imaginative than recommending we “go for a walk” or “read a non&#45;design magazine.”

After a mobile&#45;heavy morning in both tracks, John McGarvey presents ‘Copywriting is Design,’ one of 2011’s hot topics for design minds, and something that is easy to overlook in your average design department. At Booking we’re lucky to have on&#45;site copywriters working in the same team as the designers and developers, so content design becomes an integral part of all our projects.

Young Mr Stocks takes to the stage once more to educate the masses on the right time and wrong time to break out that advanced HTML5 and CSS3 bling&amp;mdash;it’s not the most inspired session title, but anytime I see Elliot’s name and “solid design principles” in the same sentence you know there’s going to be something good to take away.

The final two talks of the conference interest me for different reasons. Sarah Nelson’s ‘Bullet Proof Communication Techniques: A UX Strategist’s Guide’ takes an interesting direction for a web design conference by tackling the question of effective communication by designers. The wording of the summary seems to want to set up the assumption that designers and UX people are traditionally excluded from decision&#45;making (not the case where I am), but it will be interesting to see how the recommendations fit with our own approach to designer empowerment.

Rounding out the day is Mr Hot Topic 2011. Ethan Marcotte has contrived to be the poster&#45;boy for responsive design this year, so it’s unsurprising that FOWD have chosen to end on that note&amp;mdash;I’m somewhat concerned that it is becoming just another buzzword and technique employed by designers without any thought or consideration for their own unique situation or context. We will see what spin Ethan puts on things.

The FOWD iPhone app

I also installed the FOWD iPhone app to see whether it could add anything to the overall conference experience. I was expecting quite a clunky interface considering the app is powered by a white&#45;label provider (MobileRoadie are &#8220;a turn&#45;key platform to quickly and inexpensively build mobile apps&#8221; apparently), but it’s actually quite pleasant to use (although they should really fix that “London 2010” splash page).

The News panel pulls in tweets tagged with the #FOWD hashtag or @FOWD account name, and is augmented with “Buzz” which seems to be content related to the speakers or sessions. The full schedule for workshops and talks is included (although rather misleadingly entitled “Shows”), with the ability to comment, or add yourself as an attendee, Gowalla&#45;style, for each session. You can connect with either Facebook or Twitter, and the app also provides Facebook or Foursquare geo&#45;checkin integration too, presumably for use during the actual conference.

The Speakers pages, aside from a nice Coverflow faceboard, seem to just replicate the content of the FOWD website, plus the ability to leave comments  (hopefully moderated) on individual speakers’ profiles. There is also an Attendees list, presented in the standard iPhone A&#45;Z style; I’m not quite sure how it is populated though&amp;mdash;I’m not on it, so it’s not drawn from the actual attendee list, but the number of people in the directory seems too high for them all to be registered users of the app. Clicking on attendee names also does nothing. I tried signing into the app with my Twitter account, which gave me a profile area and some kind of points system, but I still couldn’t figure out how to interact directly with other attendees. Perhaps all will become clear on Tuesday.

Overall it seems like a nice idea and a handy way to augment the backchannel chatter&amp;mdash;that is, assuming the wifi stays up for the duration.

Gis a job

As I said earlier, my main reason for being there (and the people paying my bills) is Booking.com, where we are recruiting for web developers and designers, as well as some more specialised positions in SEO, consumer psychology, ecommerce conversion and some mobile stuff. We have a booth right next door to Clock and Microsoft in the main hall, so swing by if you have a burning desire for a free energy drink, custom lanyard, or a selection of branded stationery. I think we also have some iPad/MacBook screen protector/cleaning cloths too, if you’re the grubby&#45;fingered type.

I’ve worked for Booking for several years now, first in Cambridge and, since April this year, at the head office in Amsterdam, and it’s far and away the best job I’ve ever had. The amount of personal responsibility you are given right from the very start is daunting, especially when you realise the scale of the revenue that you are dealing with, but the flat management structure and freedom to fail coupled with a team of brilliant individuals all pulling in the same direction makes each day exciting. Our working practices are different to almost anywhere else you might have worked; user focus is taken to another level, and you can see the effect your own work is having on actual users from Day 1.

So if you’re considering a change of scene, and Amsterdam appeals to you, come and talk to us about our current vacancies. We’re fully prepared to sit down for an impromptu interview if we think you’ve got the right stuff, and we’ll fly you out to visit us in the ‘Dam (including hotel accommodation) for a proper interview too. For an unbiased look at what it’s like to apply for a job with Booking.com, you should read Stuart Frisby’s account of his application and interview process (and Stuart now works alongside me in the Frontend Team).

See you there!

I’m looking forward to meeting up with a few old internet friends this week, and hope to meet even more new people at the booth. If you’re going to be at FOWD, come and say hello&amp;mdash;and if you or someone you know is thinking about a career change, be sure to send them my way. :)</description>
				<dc:subject>Design, iPhone, Personal</dc:subject>
				<dc:date>2011-05-14T15:27:06+00:00</dc:date>
			</item>
		
			<item>
				<title>Five weeks down in Old Amsterdam</title>
				<link>http://v4.thewatchmakerproject.com/blog/five-weeks-down-in-old-amsterdam/</link>
				<guid>http://v4.thewatchmakerproject.com/blog/five-weeks-down-in-old-amsterdam/#When:17:08:20Z</guid>
				<description>One month into our grand Amsterdam adventure, one Queen’s Day down, and daily life seems to have found its own pace. We still contrive to get lost occasionally (although last time it was definitely the Metro’s fault, not mine), and estimating just how much shopping is going to weigh too much to easily carry up three flights of stairs is an ongoing experiment, but a comfortable routine is beginning to emerge.

Location, location, location

Commuting to work has changed from an hour by train and foot into a pleasant fifteen&#45;minute bike ride through the currently flowering Vondelpark. Before we moved, several people had told us that Amsterdam was less a city and more like an oversized village, and our proximity to the centre of the city (ten minutes by tram) means that it feels like an easy jaunt to the shops rather than a daunting trek into the heart of a big city. Sure, more public toilets would be nice when out and about with three little girls, but you can’t have everything. Like so much of Amsterdam we have an Albert Heijn supermarket just a few minutes up the road which has provided the bulk of our food and drink so far. We’ve also discovered other Dutch favourites like Blokker, HEMA and Dirk, all within walking distance. Lacking a car does have the tendency to encourage you to shop locally, when you’re relying on muscle power alone to get the shopping home.



One big benefit of our new apartment’s location is the Vondeltuin playground and bar, mere seconds from our front door. We obviously lost our garden in moving to an apartment, so for the children a large sandpit and climbing frames right outside makes up for that a little. The attached bar and cafe seems a little pricey, but you can’t beat sitting in the sun with a beer or glass of wine, watching your children having fun. (Shockingly it partly burned down a few weeks ago, on an evening when we almost decided to go down there. Nobody was hurt, and they managed to re&#45;open in time for Queen’s Day a few days later.)

Our local area also seems to be awash with kindergartens; apart from the one directly below our apartment, there are two or three more within a couple of minutes walk. The Dutch style for nurseries seems to include large picture windows looking out onto the street, so we walk to school every morning under the watchful gaze of the local three&#45;year&#45;olds. 

Coming from a Fen village that is lucky to see one bus a day, the overwhelming public transport presence in Amsterdam is an enormous change to deal with. Trams and buses pass by every few minutes, and the stops are always equipped with up&#45;to&#45;date and easy to comprehend timetables. Of course, there have been some difficulties: it has taken a few weeks for the kids to learn to find something to hold on to as soon as they board a tram (tram drivers are not particularly sympathetic to passengers’ preference for remaining vertical), and avoiding bike lanes sometimes requires rather more shouting than strictly necessary. (When moving to a city of half&#45;a&#45;million bicycles it seemed sensible to bring our own bikes out here with us, and I’ve been riding to work since my second day. You do sometimes feel like the only mountain biker in a city where everyone rides upright, wrought&#45;iron boneshakers, but at least it gives you the edge away from the lights.)

Hooked up

Other than a Dutch SIM card for my iPhone we are now fully set up with local services. ABN AMRO is the only Dutch bank to offer an English&#45;language internet banking interface, so that was an easy decision, but they’ve been very good so far and I’m impressed with both their correspondence and the features of the internet banking service. I was warned that, despite receiving a credit card as part of our ‘pakket,’ I should not expect to be able to use it in the same way as my UK credit cards; apparently full payment is required regularly, making it more of a postponed debit card than anything else.

Our telecoms are provided by UPC, and these too were fairly easy to setup and configure. We’ve gone from the bare minimum of Freeview channels and a 1.5meg rural internet connection, to something approaching 100 channels and 25meg cable, including BBCs 1, 2, 3 and 4 and several music and film channels. The kids are missing CBBC and CITV, and can’t yet convince themselves that watching cartoons in Dutch is entertainment rather than learning.

(One tip for anyone considering moving abroad: get your passport renewed before you leave the country. My passport ran out at the start of May, so I sent it away… to France for some reason, as the British consulate in Amsterdam doesn’t do passport renewals any more. It remains to be seen whether it returns in time for me to attend the FOWD conference in a couple of weeks.)

Back to school

The kids got off to a running start with their schooling here in Holland. Their new school is a five&#45;minute walk down the road, and they have all quickly made new best friends (so important when you’re seven years old). The school is a mainstream Dutch primary school, although being an inner&#45;city school only around 50% of the pupils are native Dutch; the rest are a mixture of ex&#45;pat kids and immigrants from the ex&#45;colonies; in the girls’ classes they have become friends with several Brazilian girls due to their reasonably good English. It’s been harder for us to meet other parents, though&amp;mdash;opening directly onto the road means that the school lacks a convenient external playground area for parents to congregate and interact.

Of course, the highlight of their education experience so far has to be the fact that they have learned how to swing round hanging bars by hooking their legs around them. From the first day here we noticed all the little girls spinning round and round, heads inches from the ground, and it didn’t take our three long to pick up the technique&amp;mdash;they’ll definitely have something impressive to show their friends back home next time they see them!

Queen&#8217;s Day



We were lucky enough to end up moving a few weeks before The Netherlands’ biggest celebration: Queen’s Day. Shops filled up with orange crap to wear or drink&amp;mdash;our girls all sported orange cowboy hats on the day&amp;mdash;and Amsterdam was transformed into the world’s largest car&#45;boot sale on a beautiful sunny Saturday at the end of April.

Our own Queen’s Day was fairly low&#45;key. With three (relatively) small children in tow, we didn’t fancy braving the excesses of the main tourist areas in the city centre, so we restricted ourselves to a couple of circuits of Vondelpark, which is given over to children trying to bolster their pocket money by selling off their old toys and clothes or busking for spare change. By 10am the pathways were jammed with shuffling people winding between blankets festooned with junk; we eventually allowed the kids to spend a few euros on cast&#45;offs and escaped through a side exit. After some beer and bitterballen at the cafe on the corner, we returned home and watched the rest of the day from the balcony.

Settling in

Despite now entering our sixth week in Amsterdam, I don’t fully feel like a part of the city yet; thus far the amazing weather and our relaxed schedule have contrived to make it feel more like an extended holiday than a new permanent home. The exception has been the one Sunday afternoon when I opted to run in the afternoon instead of the early morning. Jogging through a Vondelpark in full tourist swing&amp;mdash;avoiding the bikes, slow&#45;moving police cars, wandering tourists, ice cream vans and other runners; running through the alternating clouds of barbeque and marijuana smoke&amp;mdash;I really felt like a part of the life of the park. Not a tourist, there to enjoy the sunshine before moving on to the next European capital. I live here, and I have things to do.</description>
				<dc:subject>Personal</dc:subject>
				<dc:date>2011-05-09T17:08:20+00:00</dc:date>
			</item>
		
			<item>
				<title>Clean machine</title>
				<link>http://v4.thewatchmakerproject.com/blog/clean-machine/</link>
				<guid>http://v4.thewatchmakerproject.com/blog/clean-machine/#When:10:33:41Z</guid>
				<description>It is gospel in the web development biz that a new job means a new laptop, and I spent a happy hour or two downloading and configuring software on my shiny new MacBook Pro this week. Part&#45;way through the process, I realised just how heavily skewed towards productivity my choices have become.

There are some apps I need to work

Of course there is a bare minimum of necessary software that I can&#8217;t work without; as a web designer, that means somewhere to code web pages and browsers to look at them.


Aptana Studio: I started using Aptana when it was first released, and I&#8217;ve stuck with it ever since. The Eclipse&#45;based plugin architecture was useful when I was writing PHP, and I still find its Project Explorer, colour coding and validation extremely helpful.
Firefox, Chrome: With Safari already installed, all I need to install is Firefox (and Firebug) and Chrome. I hardly ever test in Opera any more (a combination of lack of users, and confidence in its rendering engine generally getting things right).
Adium: For intra&#45;team/office communication over Jabber.
MacFusion: We develop on remote servers, so I need a means to mount those drives as local for working on.
MS Office: Bloated and horrible but necessary in a modern office. I tried relying on NeoOffice for a while, but it occasionally does funny things to people&#8217;s CVs so I switched back to Microsoft.
Remote Desktop Connection: No Parallels, so IE testing is performed via remote desktop. RDC now comes bundled with Office 11.


There are some apps I need to help me work

So that is what I need to actually get work done, but there are many little apps to truly make me productive.


Alfred: I loved QuickSilver, but it occasionally didn&#8217;t do what I expected and was much more complex than I had need of. So when an old friend launched her first app, I happily switched over and have been very happy with how Alfred performs.
Caffeine: Saving countless hours of nudging the mouse when the screen goes off during meetings…
Dropbox: I mostly find the cloud&#45;sharing app Dropbox useful for throwing files in that I need to access from home or mobile, but it also came in handy when migrating between laptops; all my bookmarks, useful settings, bash profiles and the like made their way over to the new machine via the magic of Dropbox.
Fluid: I run my daily task app and system monitoring tools as standalone apps in Fluid.
Jumpcut: Being able to recall the last forty pieces of text from my copy+paste clipboard has had an enormous effect on my work speed, more than you might expect; Jumpcut was the first clipboard management app I found and I’ve been happy with it for years.
Visor: It’s not to everyone’s taste (especially anyone trying to work on my machine) but I much prefer to have Terminal accessible from any app or any Space on my Mac; this handy little app turns it into a pop&#45;down console window akin to FPS game interfaces.
Wunderlist: It’s not perfect, but Wunderlist with its free native Mac, iPad and iPhone app versions is performing pretty well as my GTD/task management setup for the time being.


And there are some apps that make work bearable

For me, no clean install would be complete without some music&#45;related bits and pieces, and of course a drip&#45;feed from the social network du jour.


Last.fm: Online radio and iTunes scrobbling to my Last.fm profile.
Spotify: Free (although soon to be heavily restricted) music; there’s not much they don’t have.
Twitterific: I managed to kill Twitterific a few months ago on the old laptop, so it’s nice to have it back again. I tried the new Twitter app and couldn’t get on with it, and I’m still not sure I completely like the new version of Twitterific either since I can’t work out how to make it appear each time a new tweet is posted, but for now it will do.


And finally

One last tweak was necessary to finalise the new machine setup: replacing the default Mail.app icon with a UK version of the iconic stamp! I’m about as far from a royalist as you can get, but there’s something altogether wrong about a postage stamp without Her Maj on.

And that’s about it. You might have noticed that I’m missing a graphical app; I’ve always used Photoshop, but I’m debating whether to take this opportunity to switch to Fireworks. And no doubt I’ll end up with a few dozen scarcely used programs over the coming years, but for now these are my ‘clean machine’ go&#45;to applications. If you have any suggestions or want to point out a glaring omission, comments are open.</description>
				<dc:subject>Macintosh, Productivity</dc:subject>
				<dc:date>2011-04-25T10:33:41+00:00</dc:date>
			</item>
		
			<item>
				<title>Ideas of March</title>
				<link>http://v4.thewatchmakerproject.com/blog/ideas-of-march/</link>
				<guid>http://v4.thewatchmakerproject.com/blog/ideas-of-march/#When:12:01:59Z</guid>
				<description>“We need a blog revival.” So says Chris Shiflett, web security expert and one of the Analog co&#45;op, in his post Ideas of March&amp;mdash;and he’s not the only one. His call for a move away from our modern ADD Twitter habits and a return to our online beginnings as blogroll afficianados seems to have struck a chord with ex&#45;bloggers around the world, and several thousand posts have appeared in the last few weeks announcing their owners’ intentions to resurrect their personal blog wasteland throughout March.

As you might have guessed from the surprise lurch into activity here, I am announcing my intention to join Chris and everyone else in blogging more, not just in March (for I seem to have joined that particular bandwagon a little too late) but in general.

Second time lucky

Of course, there was an attempt at a blog revival last year when Anton Peck announced Project 52, an initiative that asked participants to sign&#45;up and declare their intention to publish at least one blog post for every week of the year. While it gained traction at the start of 2010, signing up over 600 people&amp;mdash;I even signed up myself, managing, um, six weekly entries&amp;mdash;it unfortunately faltered after the first couple of months, ‘rebooted’ in March, and then went quiet until the 2011 challenge was announced back in December. This year there seem to be only around forty participants and a mere 100 entries so far, suggesting that while setting a schedule might seem like a sensible piece of motivation, in practice it’s extremely tough to stick to and can easily become just another pressure on your conscience.

Aside from the ease with which thoughts can be shared on Twitter and never make it any further, the biggest factor in my own lack of activity has been work. Although I don’t do a lot of freelance development work, I like to keep my hand in on the PHP front, and so I had a fairly steady stream of work in 2010. The end result was a combination of no time in which to blog, and no energy with which to do it. Add to that the pressure of our impending relocation to Amsterdam and unhappiness with this current design, and it’s hardly surprising that I haven’t posted anything of note since August.

But since the beginning of the year, things have changed.

Dam

We gave up trying to sell our house and instead went down the rental route, which has the dual benefit of being faster and leaving us with a base in the UK to which to return should things not go as expected in The Netherlands. And I officially closed the door on my freelance business, offloading hosting clients to other local freelancers and declining every offer of work since the start of 2011.

The final step in our major life change takes place later this week, when we hand the keys over to our rental agent and board a plane headed for Amsterdam and our new life as bicycle&#45;riding, apartment&#45;living, city&#45;dwelling Europeans. It’s a change that will mean less commuting for me, and less weekend work for my wife&amp;mdash;and therefore a substantial increase in the amount of quality, family time we can spend together with the children as we get to know our new home.

One of the uses to which I plan to put this new free time is more blogging; both in the traditional ‘work’ areas&amp;mdash;HTML, CSS, JavaScript, PHP and the web&amp;mdash;but also on more personal topics as a means of bridging the increased distance from family and friends (and no doubt this will include plenty of introspection on the subject of Brits in Holland.) The intention is also to get out of the habit of hitting Publish before I am ready, instead taking the time to really craft a well&#45;written, carefully researched article or tutorial. Since this idea of a blog reboot and revived writing schedule has been bouncing around my mind for a while, I have revisited my neglected Evernote account and started collecting ideas and plans in earnest.

Aside from writing more, I think the move to Amsterdam and the need to share how the children are growing up might be the push I finally need to purchase a Flickr Pro account (or alternative photo host, since Yahoo! don’t necessarily seem to be the most trustworthy of online guardians for my personal data) and start taking and posting more regular photography.

Redesign itch

When I redesigned and relaunched this site in 2009, it included some cURL and XML cleverness to retrieve various parts of me from around the internet&amp;mdash;what I was currently reading, listening to, watching or bookmarking&amp;mdash;and insert them into my database for display in the site footer. There are a few obvious drawbacks to this approach: you’re reliant on (several) third&#45;party services for keeping your own site up&#45;to&#45;date, and at the mercy of their APIs; and you also end up with all that data duplicated in two different locations.

So, while I still like the idea of pulling in a lifestream, I think for the next iteration of the site I will turn to something like ThinkUp, which mitigates against both of the issues mentioned above while also giving me a bunch of useful tools for manipulating and displaying all of that data.

For the last six months or thereabouts I have been considering redesigning, and my Evernote “Notebook” is filling up with a combination of design inspiration/planning (currently I’m heading down the online newspaper route, responsive design and all) and notes on potential technology choices (I still haven’t decided whether to abandon the fairly expensive ExpressionEngine, and if I do, whether to use an alternative blog platform or just roll my own). The current design is also a factor in the lack of content; when you’re not happy with how an article will look when published, it’s hard to work up the motivation to write it at all.

Tearing it down and starting from scratch is also an option (cf. Andy Budd’s new undesigned but happily reactivated blog, one of the very first I read when I became interested in web design), although I suspect that would niggle at me just as much as the current design. Perhaps I will receive a burst of inspiration from our new Dutch surroundings and design something with tulips and steep staircases, who knows.

Finally, as a commitment to myself, I have also purchased a license for Scrivener, one of the most popular writing tools available for the Mac. Writing this post I’m finding that it really fits with my way of thinking, allowing me to capture random thoughts and bits of sentences, write short pieces independently of each other, and then re&#45;order the article into the right sequence.

Summary

So, that’s a summary of my intentions, and I sincerely hope that this year I manage to live up to them. If you, dear reader, feel similarly motivated to reawaken your own blog, here are some simple instructions lifted from Chris Shiflett’s original post:


Write a post called Ideas of March.
List some of the reasons you like blogs.
Pledge to blog more the rest of the month.
Share your thoughts on Twitter with the #ideasofmarch hashtag.


Looking at that list now, I realise that I have neglected to list my own reasons for preferring blogs to the new breed of lifestream&#45;enabling apps and sites like Twitter, Facebook, Gowalla and the like. Aside from the reasons listed by Chris, Drew and others, I can add:


More people blogging would rid my Twitter feed of the multi&#45;tweet rant to which some people seem to be prone. Any time you feel yourself considering how best to explain yourself over a series of tweets, you really should write a blog post instead and link to it; create something permanent and searchable and facilitate archived conversation.
I want to be a better writer&amp;mdash;and, like any skill, the only way to improve it is to keep doing it. Twitter is pretty much the exact opposite of encouragement to write more.


So, there it is&amp;mdash;my declaration of intent: blog more, not just in March but as an ongoing habit.</description>
				<dc:subject>Blogging, Freelancing, Personal, Writing</dc:subject>
				<dc:date>2011-03-30T12:01:59+00:00</dc:date>
			</item>
		
	</channel>
</rss>
