Lawrence Curtis
I make pretty internet things
Catching Elephant is a theme by Andy Taylor
In previous episodes I’ve talked about the importance of social engine optimisation. This covered a wide area of topics on the importance of keeping your information fresh and the surprisingly slow reaction times of search engines. Often taking up to a month to realise your page has updated. Although there are of-course ways to help yourself out here it often isn’t something your typical wordpress house will know how to implement or maybe unable too on the level of hosting provided.
A few weeks ago google starting putting live results into the search feed, firstly for twitter and then news. Essentially every public tweet and RSS feed about you and your product, if it’s newer than your content is more important. The internet is no longer a place of silos of websites, we all link and share information. Tools like Twitter, Facebook and web applications themselves now let us communicate live and unlimited data in a standard and understood way.
So now really is the time to be your own fan, if you or your employees have a personal blog, get them to talk about your products, even better get them to tweet good things and spread the word. Twitter these days is more like the keyword tag at the top of the page. Search engines such as google are very clever and feel they can pinpoint to a good enough standard what your page is about. However everybody needs a little help, the reason they as a company are so interested in what people say on twitter is that it’s unbiased. It’s a public, uncensored view of what you and your company sell or do.
So now is the time to act, tweet about what you do and or sell, put links in your tweets and look at twitter less of as something your company has an account on and you’re not sure why. Look it at as a completely free opportunity to tell people why they should be looking at something. Having a link to your twitter account on your website let’s google know to bind it to your site. That it is part of the ecosystem of your site and that things and information from it our live and should be read.
For example if you have a new product that would be great for a dad’s birthday, tell the world. Putting it up on your website and being arrogant about it doesn’t help anybody. Telling people “Don’t know what to get dad? Check this out [link]” takes you 5 minuets and helps people feel there is a person at the end of your website. Even better than this is to answer your critics.
Companies like the one I work for slipstream studio do a wonderful job of just that, organising your companies social PR. Monitoring the feed of information from various sources and giving a quick, on target response to the customer with issues. People often rage tweet, telling the world how much they hate X and Y about you. They are often shocked when out of the blue somebody asks how they can help or fixes there problem. There next tweet will often be about how much they now admire your customer support. Making the one before that forgotten and people thinking you are a wonderful place to buy from again.
Of course this is something you can do in-house, but when it comes to dealing with people and social reputation management, it’s best to let somebody like slipstream do that for you. Simply because they aren’t afraid to ask questions of you. If they find themselves repeating the same task over and over again then they can work with you to solve the problem, because they come to the table with experience in how the web should work as well as how customer service should. In these hard times I don’t think its wise for anybody to be in the dark about how there customer base feels about them. Even more importantly to try and correct it if there is bad feeling.
If you are a company and don’t know how to get started with twitter or any type of social platform then just ask, i’m here for you. I’m more than happy to help or answer any questions you have. Oh and for sanity of the world, go get your companies name on twitter before it’s too late!! You can always hand over the keys too it when you know what best to do with it. Even if its just to wish the customers you know use it a merry christmas, it’s a worthwhile exercise.
Sorry for the delay, it’s been a long month and rather busy for me. Hopefully the last few postings left you hungry enough that you’re not to upset.
As it’s been a long while it’s probably best to write about something quite general again, today’s topic will be based on what you need to build a website.
At the beginning of this week we built a shop, from scratch, 90% of which was achieved within two working days. The original project took almost a month to complete and was existing before we came along and essentially cloned it. Granted originally it was an ASP website and we were working in ruby on rails, that somewhat speeds things up. I’ll go into that in further blog posts though as it is something I really should talk about and don’t enough.
The reason for the 2 day build though instead of the 20 day build is quite simply that we knew what we were dealing with. We had content ready, a design signed of and complete product list. The product list was coming from a xml feed and not being populated by a client.
Essentially the three parts of the site had no impediments! Myself (the developer) knew the business logic, merchant IDs all upfront, the designer had nothing too do and the sweeper knew the content and layouts required to build.
Now surprisingly enough this is a real project that actually happened, not a made up example to demonstrate a point ;) however there is a lot to be learned by this example, it’s somewhere that agile can often help with things and rarely does. Most people use agile to point out impediments but not actually resolve them. Having a morning meeting to discuss what you are doing or taking on that day is designed with the purpose of being informing. Not just to everybody else looking blank as to why they are doing it but to project managers, copy writings, account managers etc. If you are working on a new page and will need text for this, an image for that then it’s somebody’s job to aid you in that.
If somebody needs an image or piece of text to complete that work and it’s your role to provide it, then all you have done is waste a day. The great thing about agile is you work in two week chunks typically. So you can for the most part just-in-time deliver, most of the time the sweeper will have the most knowledge of required assets as they are dealing with both front and back ends of the website. They have a great understanding of how the design works with the data and are the best go-to-guy (or gal) when it comes to the “what can i do to make everybody’s life easier?” moment.
Anyway, deviating again, the morning isn’t a place to tell somebody what you need for the day, everybody meets the customer and touches base with them, the reason for the customer being sat there in a meeting is two-fold. Firstly they can feed back to you what they want and what matters too them. Secondly you can have a conversation and start a relationship. Trust me, customers love it when a team member calls them and asks what they want the thank you message on the contact page to say. The customer knows you are working on this project, that you care and value there input in the development process. You get it right first time and everybody walks away happy.
Bigger obstacles such as an entire page of copy or a design for a page not being done, you should be flagging up before you start the sprint anyway. I find the best way to get round all these problems is apply common sense. If you are working as a team of three, and you really shouldn’t be any bigger than that, you are naturally staggered anyway. Your developer will be writing tests and models, your sweeper will be fixing in IE and your designer gets a head-start. If the developer or sweeper runs out of work then they can use the time to either start on something they don’t need more input to do or they can research something they will need for the sprint. A plugin or mockup a piece of functionality.
When you see the customer tell them if they want to test it what they need to test in, there’s nothing wrong with being completely open with somebody and saying that you build to work in safari and fix it for IE afterwards, its just a process. They don’t build websites so will accept it as long as when the project is said and done you really are fixing problems in IE.
Nobody is perfect and bugs and problems will happen, but an open and honest relationship with your client means they will trust you, and trust you fill fix any issues. It’s all part of a wonderful orb of customer support. Your more likely to be nicer to somebody you know. Especially if you know they worked hard for you.
If you want to know more you can always email me or send me a tweet I haven’t had time to put comments on however I will for the next post.
As a heads-up, next post will be about the new google features and what it means to us, the importance of working the social engine. Have fun at work!
Yesterday was a very good day, achieving something I seemed to get tasked with a lot. Optimising somebody else’s rails app. This is never without it’s pitfalls because first and foremost you have to learn the problem by studying the solution in front of you. Most of the time this has one or two nasty bolted on features which throw you in one direction or the other.
That was the brilliant filesharehq.com a application that lets you easily and cheaply store and share your files. You can setup users and share certain files and folders, the big difference between most filesharehq.com and something like GetDropbox is that you can give people access through FTP so anybody with a FTP client can add files. This is brilliant for many reasons and uploading large files through the browser is somewhat scary and in you can’t resume the upload process. Filesharehq.com gets around that by simply letting you setup FTP folders for your clients, while still giving you complete control. All your clients files in one place, on the cloud, globally and securely accessible and with the ability to give folder access to clients!
Not to say the codebase I’m looking at was bad in anyway, as programmers we all have our own little flavours of doing things, like regional accents we use different words and ways of constructing language which most of the time is derived from background. The great thing about rails is that it is based on a set of standards and rules, files are usually in the place you expect them and you can generally find what you are looking for very fast.
Yesterday’s problem came from overriding one of those defaults, a table without a primary key existed, so the table wasn’t indexed. Now it’s got several hundred thousand rows in it the performance of that table suffered. Adding a simple index to the table solved the problem and took the page rending time down to under half a second again. It highlights an error that is quite fundamental but because rails usually handles quite well the indexing of database tables something we don’t tend to think about anymore.
When developing an application on a super fast MacBook Pro the developer would have never noticed, it wasn’t until it landed in the domain of the public and got battle tested that slowness started to occur.
This brings me back to my point though, how do you start to understand the way other people do things, there would have been a reason and a thought process to having a table with an under-standard primary key. Whenever you have a codebase put in front of you, if it be at a new job or making amends to an old project, the code isn’t the thing at all that is what you need to decipher. It’s the thought process!
Hundreds of questions have been asked internally before and there are reasons no-matter how silly something looks for it being that way. I know i have left some real clangers behind me in the past and it is a fool who doesn’t admit to doing so while learning a new feature or language set. At the end of the day whenever you build something new the first unknown is usually the business logic, that untold point that you wish you knew upfront. The point where the client turns round to you and rubbishes one of your assumptions. Hopefully to you that isn’t something too fundamental.
At that point in the process you are usually over or close to the end of the budget, your line manager is going to be under as much pressure as you are to deliver the working version and fast. It’s nothing to be ashamed off and most of the time clients will respect you for putting your hands up and saying “we did it this way because, however we can correct it”
As application developers we very often find it hard to admit when we are wrong! So be nice to the next guy, don’t write something in a line if you can do it in 4 and it has absolutely no effect. Write simple cleaner code, if you do have to go back to it and change the way things work then you will find it a lot easier to insert and if or an unless if the code is already broken down into digestible chunks.
First thing to do is issue a NERD ALERT! This article is going to get right down hard into the nitty gritty of the world of a digital agency, be it developer, designer, project manager or business owner this is aimed at you. I’m sure this will relate to other interests and sectors however i’m going to write about what i know.
Nothing winds me up more than feeling i’m not being heard. Being ignored or feeling like my peers are there to stop any creative output I have is the most deflating thing in the world. As a developer or designer it’s your role to come up with solutions to problems that businesses throw at you. So when it comes to the company that you spend most of your day at, of course you are going to be able to come up with suggestions and ideas to make things better! I firmly believe that routine and “that’s how we have always done it” are real creativity killers.
So when people ask me “how do I implement agile at company X” it’s never going to be something I can answer, it’s like asking how do you convert people from heinz to branston beans. I mean the fact that they just taste better, that isn’t going to phase the camp that have always bought and been fed heinz beans. No matter how good the marketing is, until you try some you won’t get hooked.
As the spokes people for the digital world we have a horrible knack of thinking people understand us. Something that seems a basic concept to us in our fast paced ever evolving digital platform isn’t going to excite a business owner, just make them think it will be outdated quicker. So how do you talk to the person you need to and persuade them it’s a good idea to change a tried and tested method. Well you make them some beans and make them eat them. Why do you think readers of my blog are 90% mac and over 50% rails. They tried it, loved it and made the change. So sit your boss down and say “on this next project i would like to do it this way”
If it works then you can review and implement it, if it doesn’t then everybody can carry on the way they always have, maybe you were wrong, maybe the project was wrong, but i guarantee it that you will work your nuts off trying something you love! So your boss would be a fool not to let you go for it.
Over the coming weeks I am going to get a little hardcore, rant about the way everybody should work, it won’t suit everybody and will hopefully spark a debate.
Git, rails, cucumber, blueprint, agile, mac, textmate.
It’s going to get religious!
I must mean search engine optimisation, my target audience must be google??
Clearly not, my target audience is interested people, starting with those I know or know about me on twitter and then through word of month. My interested in the search engines finding me is secondary. Depending on your business model you either agree with this or not. If you are the marketer type that likes to sit and watch your visitor number sky rocket from that PPC (pay per click) campaign or an online store then this isn’t for you. However if you are a small targeted B2C (a business that sells to the public) that already has a presence this is the future. Google loves content, and almost as much as people love content.
Yesterday I wrote something interesting and saw my visitors go from 14 to 87 in a day. Now they are low numbers but everybody has to start somewhere and that for me is where I started. The amount of direct hits I got from that was scary, nearly 50% in comparison to the day before which was only 10%. So why?
Well for the first thing a few of you, yes you! Must have sent somebody this URL somehow and not just clicked a link on your twitter. Hopefully today has the same level of inspiration and gets the traffic again.
So let’s outline some lessons:
Write things that interested you as a business or a person, write often, at least once a week so people have something to check back on. Tell people that there is new content, if that be through a twitter stream or just though an email to those who subscribe. Gone are the days where people do the rounds in the morning, if they do then they are going to be a hop to the BBC website or google news and neither of us are likely to hit the news.
From a search engine point of view google will get excited by the amount of links heading towards your site even if they are from a few tweets and the ever changing content. The more you write the more boxes you tick with google, right now it thinks about me in terms of notepads and staffing. Now it has a chance to think about me in terms of social communications.
Google on average takes three weeks to show change! So if you want an audience yesterday then start writing, tell people you know about it and ask them to spread the word. If you get 40 people visit your site and 2 of them want your services then that is far better than any search engine will ever give you.
If you write interesting articles at a level your reader can understand then you will do just fine. It’s amazing how many people in marketing feel that using there industry acronyms make them look clever without explaining them.
Digital, online, PPC, SEO, what? Website, banner campaign, payed search engine advertising, optimising your website so google can read them. Not only do you use more words and have to write less to bulk up your content, the average person in the street at least has a clue what you mean?
Public opinion is a big big thing, this is the reason I don’t have any comments on my site, not because I don’t want a discussion but because my target audience isn’t the sort to be nice. They will either correct something in my article, invalidating my status as an expert or bang on about my lack of good english. This is written for the common man and if you have trouble understanding it you will have stopped reading by now. I’m not saying use of good english is a bad thing, i’m just saying getting the message across is the key here.
If people would be kind enough to let me know what they think, please do so through twitter or email.
Thanks for reading
I subscribe quite heavily to the notion that motivation is a state of mind. Today is the most motivated i have felt in a long long time. Changing jobs and starting do a lot of things for myself again really does feel liberating. People often ask “how can I motivate my staff” I think there is a short is quite simple really. Treat them like a puppy.
Puppies need love and rewards, when they do something good you pat them on the back or give them a treat, when they make a mess of your carpet you pull that love away. When they scratch the door to be let out for the first time, you show them how proud you are so they do it again.
I’m not saying you should let your staff pee on the floor! I am however saying that be open and honest, set tangible goals and then based on these have a reward system. If a deadline is realistic and you tell your staff that if you finish a day early they get the afternoon off and the first drink is on you, then you will suddenly find work coming in a lot earlier. There is nothing wrong with a bribe!
If you start feeling like you are buying drinks all the time, this isn’t because your staff are giving you wild and scary estimates, it’s because they are trying that little bit harder. Tell people they are doing a good job when they do and don’t be scared to pull them to one side and tell them so. If you find yourself telling 90% they are doing a wonderful job then be open and talk to the 10% more.
It’s the ones who are struggling that need the most help and probably have the best ideas to help with change, they also probably respond most to bribes as they are the most negative. It’s amazing how negative people change with a pint in there hands.
In closing, talk more to your staff, find out what makes them tick and where you can offer it them, be open and tell them what financially would make a big enough difference to give it to them! If they want Friday afternoons off tell them how many thousand you need to earn a month more in order to do that, ask them if they know of ways they can be more efficient, try new things and reward when they come off!
My father ran his own company, designing and creating bespoke kitchens and furniture. He was the vision for the company and the look and feel of the end product was down to him and his direction. Seeing dad sketching out layouts and working out measurements and how things would be put together made me want to borrow a bit of paper and scribble myself.
Dad would always work on cambridge yellow paper, working on yellow is a prosperous colour and according to feng shui makes customers feel warm and welcome. So it seemed a great thing to call the blog. Something friendly and informative that people can enjoy.
I do however have a huge problem, finding yellow notepads is almost impossible unless you use standard A4 lined pads, papercase do a great one. For my day-to-day work though I need something a little more me!
So after a few hours in paperchase yesterday I finally settled on what seems to be aimed at school children. Which of course isn’t far from the mindset of a developer! It has the week on the left and a grid on the right. Perfect for writing little notes about calls and jobs as well as sketching out UI components and code etc on the right. As each grid is tied into a week I should be able to figure out when i worked on something as well so it’s self-archiving.
So now I have a new job and a new pad… best get some new pens as well!

When I first started off with my career it was at a small web agency, after this I moved to full service, which I enjoyed a lot and got to see a lot of how the other side (print) seem to work.
After a few years of hovering though I have come to the conclusion that nobody does digital like a digital focused company. Although big companies have the budget to throw 30” cinema displays and iPhones your way they lack the personality that a smaller dedicated agency does.
Working closely with clients I feel is essential to creating a product that can give both you and the customer satisfaction in there choice to use you as an agency.
Which leads me to let the world know that I am joining slipstream studio. Based in southampton, they are a web focused agency that have a great team and a really good attitude and output.

Slipstream are one of the only agencies i know of that actually give back to the community, putting on the southampton openweb which I have spoken at. These events are free and easy to get too, they are small and personal and everybody can talk and ask questions. It really brings the community together in the local area and it’s great to be a part of a team that does these sorts of things.
Many of the scripts and snippets that i will be putting up on my github account over the next weeks and months will be driven from our openness and wanting to give back.
Wish me luck!
I think the first post is always the hardest to post, nobody is ever sure how to start so I thought it would be best to give a little background.
My name is Lawrence Curtis and this is my blog! I’m a developer with many strings to his bow, Ruby on Rails, jquery, mootools, blueprint. I tend to work with as many frameworks as I can because it just helps get the job done faster so expect to see lots of posts and frameworks and my discoveries along the way.
My big passion when it comes to developing is creating ways of working well, I have done a talk on this a little while ago now and plan to do many more. However this place will be basecamp for any thoughts or findings on how to make things better. They may or may not suit the way you work but hopefully you can take something from it if nothing else.
I must confess though that i have never really done the whole “blog” thing before so would really welcome the feedback, you can get in touch with me on twitter or email if you have any questions or comments.