Mark Kirby

My blog

This is where I post my thoughts and opinions on various aspects of the work I'm doing.

Date in a nice tone - a WordPress plugin

November 18th, 2008

We made a nice little WordPress plugin at Ribot whilst moving our blog from a bespoke system to a lovely new 2.7 WordPress installation.

‘Date in a nice tone’ displays the amount of time since a post or page was written in a nice friendly manner. Simply use <? wp_date_in_a_nice_tone(); ?> to display the date in your theme.

Description

This is a simple plugin which lets you know in words, roughly how long its been since a post was posted. Its based on the amount of time in seconds since the post was made.

The following messages are displayed according to how long its been since the post was made:

  • if over 3 years = “quite a long while ago…”
  • if over 2 years = “over two years ago”
  • if over a year = “over a year ago”
  • if over 355 days = “around a year ago”
  • if over 9 months = “almost a year ago”
  • if over 6 months = “about half a year ago”
  • if over a month = “more than a month ago…”
  • if over 28 days ago = “around a month ago”
  • if equal to or more than 8 days ago = “in the last month”
  • if equal to or more than 5 days ago = “around a week ago”
  • if equal to or more than 3 days ago = “a few days ago”
  • if equal to or more than 2 days ago = “a couple of days ago”
  • if more than an hour ago = “freshly baked”
  • if less than or equal to an hour ago = “just now”

A month is assumed to be 31 days (therefore “more than a month” is always accurate, regardless of the month in question, and since from 28 days to 31 days we say “around a month ago”, this is also accurate).

A year is assumed to be 366 days (therefore “over a year ago” is always accurate, etc).

Installation

1. Download the plugin.
2. Unzip the contents of the downloaded file to the /wp-content/plugins/ directory of your Wordpress installation.
3. Log in to your Wordpress dashboard and activate the wp_date_with_a_nice_tone plugin that should now be visible in the list.
4. You can now insert <? wp_date_in_a_nice_tone(); ?> anywhere in The Loop in your Wordpress theme.

Comments

Please leave some comments on our plugin here, and we’ll happily do an update where we see fit.

Silverlight UK User Group 4 review

November 6th, 2008

Tonight, (the 5th of November) rather than watch the fireworks, myself and the Ribot team headed up to Microsoft’s London offices for the 4th Silverlight UK User Group meetup, one of a series of meetups organised by London based consultancy Conchango. I thought I’d present my thoughts on tonight’s proceedings.

Image by clry2, some rights reserved

As well as free pizza and beer, sponsored by Microsoft and Conchango, we heard from 2 speakers focusing on design oriented issues, with an obvious leaning towards Silverlight. I must add a few words about the venue though, Cardinal Place, a huge glass structure which now dominates nearby Westminster Cathedral and even Victoria Station on the other side. As well as a shopping centre there are a plenty of open airy offices, and glass dominates inside as well as out. As you can see from the photo, its a very fitting place for an evening with a design focus.

First up tonight we had the unusually named Tricky of TrickyBusiness speaking about design. Like Ribot, TrickyBusiness focus on the user experience, specifically experience design. Also like us, they go through a design process, from sketches through to the visual materials which are passed on to the developers.

One of the issues we have encountered with Silverlight was the poor integration with Blend and Adobe products. It was refreshing to hear they had the exact same issues, and useful to know that they have begun to design directly in Expression Design, bypassing Photoshop/Illustrator for more UI related areas of the design.

As well the SilverLight discussions, Tricky had some great insights into the world of branding. The main point he made was that whilst designers obviously focus on branding for clients, its also very important to focus on ones own brand, be that as an individual or a company. This rings true for me, and its areas such as personal blogs, the Ribot site, face to face contact with individuals, even I would suggest the office or other space that clients meet us in which all combine to work on both the company brand and our own personal brands. Its a fascinating area and one that deserves further exploration, and experimentation.

Next up Mark McDonald of full-service digital agency Graphico spoke about some of the projects they have worked on which incorporated Silverlight and PhotoSynth. Graphico are very different to ourselves and TrickyBusiness, rather than focus on one small area, they are a larger agency who provide a full service from concept to design, through to development, marketing and everything in-between.

After introducing the company, Mark took us through some of the Silverlight projects they had worked on such as the Barcardi mobilise at festivals project which saw them incorporating video and a live stream of a concert featuring multiple camera angles, all embedded in the player. An interesting issue they encountered was that of security. They didn’t want people to be able to download the xap files which can then be decompiled and the code inside accessed. As the project was sensitive (the performers were kept a secret) they had to get around this, an unusual issue and one I had never even considered.

The evening came to a close with an in-depth look at PhotoSynth, Microsofts labs techology for combining groups of photos into an immersive experience. You basically take several overlapping images of a location or object and send them to the system which can then produce a large image that can be navigated and zoomed on without the fisheye effect, as well as a 3D rendering of the scence. Unfortunately its only available on PC and requires you to download and install a plugin. Although Graphico have created some great material on the London Eye site already, I feel this technology has a way to go yet before it even begins to be used to its full extent. Microsoft should certainly consider including it in their OS photo apps though, as it would offer a great feature for people to discover, perhaps when uploading their attempts at taking a panorama…

The event closed with some more beers and conversation, and as it was in Victoria, a short hop onto the train back to Brighton. On the way home we agreed tonight had been a fascinating evening, some food for thought and plenty of new ideas. If you’re a Silverlight developer in the South, pop along to the next meetup, they happen around every month.

Brighton geek cafe

October 26th, 2008

Brighton Ruby User Group at The Eagle (some rights reserved, image by Yandle)

Brighton Ruby User Group at The Eagle (image by Yandle - some rights reserved)

I was talking to Josh Russell and Steve Purkiss out in Brighton last night and both of them mentioned the idea of having a centrally located base for “geeks”, “social media types”, “web people” and others involved in creative industries in Brighton. Specifically both mentioned that this would be a cafe/bar with the following features:

A place for networking, any time of day or night

Open during the day and night, providing a place for people to go to and meet friends, or go alone and see who’s there. A contant networking venue.

A place for working in an alternative environment

A place to get some work done, as well as have a coffee, some lunch or a beer - I’m thinking casual working, rather than being there 9-5 - you wouldn’t run a business from here. It would however have excellent wi-fi, lots of power points and sensible furniture.

A place for events

A room from which to run sessions, workshops and talks. As its attached to a bar, its easy to grab a beer, and somewhere for meeting people afterwards.

A few facts about me, relevant to this idea:

  • I work with a small design agency in the North Laines
  • I attend at least one networking/training event a week, often in Brighton, occasionally London
  • In my spare time I run a local arts blog and of course blog here
  • I want to meet as many people in the same and similar industries as possible, to lead to collabarations and future work for our agency, and personal side projects
  • When I’m in the house, I get less done than when I’m out, I try to use cafe’s and pubs to work from, but haven’t found the ideal venue yet

There’s lots of other people like me in Brighton

Brighton is packed with people like me who share some of the above traits, many of whom I know but plenty more I have yet to connect with. Richard Dallaway made this diagram showing visually the range of groups and meetups that connect many of these people.

Groups in Brighton

Groups in Brighton (Richard Dallaway)

Some of these groups meet once or twice a year, some monthly and others, like The Farm, The Tuttle Club and The Open Coffee club meet weekly. Almost every event I’ve attended has had a large number of attendees, indeed The Werks is open for co-working every single day and is always busy. There are a huge amount of people working in very small teams or alone who are open to meeting and sharing.

Existing locations for events

Whilst there are many events, most of them occur in one of a small pool of possible locations.

  • The Werks - a coworking office with a large room for presentations, its down in Hove so a little far to drop in for a short time if you live the other end of town. Its not a cafe so can have a slightly more formal feel, and there is no bar so people generally leave after events rather than hang around. Its a great venue, but its an office and meets a different need. Whuffie Club, UX Brighton and plenty of one off events occur here, and its ideal for more formal, structured events.
  • The Eagle - a pub with a room upstairs, often used for Skill Swaps, Girl Geek and Vine events and informal drinks based events. It can get very busy and its not a pub for working in.
  • The Hampton Arms - a pub used by The Farm group for the weekly meet-ups. Nothing special about the place, it just happens to be one a few people agreed was quiet and large enough for us to meet in, its not ideal though - sometimes the music can be a bit loud for a networking event.
  • The Regency Townhouse - a privately owned venue which allows us to have small events there on a temporary basis whilst its being refurbished. £5 app, geek wine thing, Brighton Ruby and more meet there, but we will soon lose this venue when the refurbishment is completed (update - which according to Danny Hope is likely to be sometime yet - so essentially its like the Werks, no bar, and non central, but otherwise good for meetups).
  • The Quadrant - another venue with a room upstairs, used for Tuttle Club, but isn’t perfect as the tables are very small and they aren’t as set up for coffee as some places.
  • The Lighthouse - used by ClearLeft to host their SkillSwap events but isn’t always available as used for exhibitons from time to time.
  • The LikeMindBri group use RedRoaster Cafe + The Basket Makers, but both can get very cramped and busy and are almost unusable as working venues due to lack of table space.
  • We used to have The Black Horse who allowed us to use the back room for events like the Geek Dinners, but they have since been refurbished and the back room has now gone.
  • Moksha cafe has great wifi, power points and is set up for working, but its not got a space for meetings and closes at 6PM most nights.

So, whilst we have a range of locations we can use for events and pop in and use for a drink and some work, none of the venues are perfect and none of them meet our requirements fully.

The ideal venue

I would like somewhere where…

  • …I can drop in and find people we know or could meet, liked minded individuals
  • …a combination of a large space and a bar is found, so talks can occur, and directly afterwards we can mingle, without having to leave the talks venue
  • …great wi-fi, appropriate furniture and power points mean I can drop in and do a couple of hours of work over the weekend, and perhaps find people to chat to as well
  • A centrally located place, amongst the buzz of the town - close to the cafes, restaurants and shops, so I can drop in on a Saturday but also catch a gallery, do some shopping etc. Basically somewhere you don’t have to go out of your way to get to, but can drop in when passing if the mood takes you

Money to be made

The Brighton “geek” community must be the largest community of its kind in the city, much of the available work in the town that isn’t in the leisure industry is focused on the web and creative areas. If you open a venue targetting a large existing community searching for a home, you can guarantee it will be busy. Where people gather, and food and drink is for sale, they will spend.

If a large proportion of pub based events move to this venue, and believe me, they will, there will be an event happening at least 2 nights a week. At the moment, plenty of pubs are becomng deserted during the week - but any pub hosting an event will be busy as people will be attending for another reason other than just going out for fun. Even in times of trouble, you still need to attend events and keep networking. When people gather, they want to talk, and they will have a drink, or 3. The money being spent on the drinks isn’t being wasted in the same way as it would be if you go out with your regular mates. You can get a job by being present and having a drink.

This place has the potential to be one of the most profitable pubs/cafe’s in town - especially in this economic downturn!

A great thing for the city

Brighton and Hove loves its Creative Industry types and is always looking to attract companies to the town, away from London. Having what could well be the first venue of its kind in the world would be a big selling point and help strengthen the cities position in the world of tech, geekdom and creativity.

What do you think?

I’m hoping to continue the conversation started by Josh and Steve. Do you agree there is a need for this?

FOWA review

October 22nd, 2008

A couple of weeks ago I attended the Future of Web Apps Expo London 2008. I have to say, I was rather disappointed by the quality of some of speakers, and felt the event lacked the value for money of certain comparable events. After tweeting this and receiving a response from Gillian Carson, one of the organisers (and top marks to Carsonified for responding) I thought I’d go into a little more detail here, and mention some of the good points as well.

What makes a great conference?

I attended the second FOWA London back in February 2007, before the expo model was introduced, and witnessed some fantastic talks from the likes of Khoi Vinh, Simon Willison and Simon Wardley. These content rich talks were peppered with an bunch of short 15min sales pitches, rightly listed as such in the line-up. This meant if you weren’t interested in hearing the sales pitches, you could head out and do something else. Admitedly there wasn’t much else to see or do, but at least the line up was an honest one.

dConstruct08 was a fantastic event with a superb line-up. The talks were all 45mins long, so plenty of time to get stuck into some meaty topics. Many of the talks were around the idea of the web and social connections rather than focused directly on it, with opens the mind to start thinking about new topics. To me this is the kind of conference which can really provide value.

This years FOWA

This year I was pleased to note on studying the FOWA 2008 line-up there were no sales pitches, instead products were given a stand and an opportunity to promote themselves at leisure on a one to one basis on the expo floor…or so we were lead to believe. In actual fact, the line-up contained a number of sales pitches in disguise.

A few examples of pitches I caught

Stefan Fountains’ talk “How the future of mobile will change everything“, a half hour slot, contained a 5 min advert for his product Soocial, and a good 15 mins of discussion about why his product was so good. The final slide actually said “The future of mobile, is Soocial”.

“Web will heal itself” by Crick Waters of BT was a 20 min advert for a technology which involves using the browser as a telephony device.

“Cloud Computing in the Enterprise - How Businesses are Taking Advantage of the Future of the Web” was an out and out advertisement for Salesforce.com by Adam Gross.

On the closing day, we were treated to a run of 3 full advertisements for developer platforms - “How to Build a Desktop App for your Web App” (Adobe Air), “Opening Yahoo up to Users and Developers” and “Making the web more social with Facebook Connect”.

Now, you can argue that people are interested in learning about these technologies, in hearing about these apps, this may be true, but should we have to pay to do so? Are these talks the best way of spending our time and money, when we could easily get this information for free elsewhere.

My issue with the FOWA pitch talks

People paid up to around £400 for a ticket to the FOWA Expo, some I spoke to had come over from places such as Eastern Europe, and they weren’t speaking, so add to this cost flights and accommodation and you’re looking at £1000. To pay this sort of money, and be faced with a lack of real content rich talks, is a bit of a let down. Lots of people I spoke to at the after party, when I asked what they thought of the quality of the talks either expressed disappointment or responded by pulling a face and looking awkward, perhaps not wanting to say what they thought.

If a talk is a pitch, it should be sold as a pitch.

If there aren’t enough quality talks, focused on sharing ideas and non product related concepts, then the event is too large and should be scaled down.

If the event is going to contain talks which could be perceived to benefit the speakers external business more than the attendees, the price should reflect this.

The good side of FOWA

There were some great talks at this years event as well, and my opinion of the event was far from all negative.

Tim Bray from Sun Microsystems gave a simultaneously chilling and inspiring talk on the future in the face of financial meltdown that he rustled up the night before.

Jason Calacanis failed to grasp any of Tom Nixons’ great points on work life balance in a hilarious debate which proved that any idiot can make a million if they work hard enough, but you wouldn’t want to work with them.

Gavin Starks of AMEE explained to a depleted room how to decrease the enviromental impact of your web app (don’t save as much unessecary data, use less power and build better proccesors).

It was also great to see Mark Zuckerberg, the guy behind I Can Has Cheez Burger Ben Huh and son of weatherman Michael Fish, Tony Fish.

The opening nights after party was also full of people to meet and talk to, although the closing night was rather invaded by Digg fans and I took refuge in the Japanese restaurant next door with a few others and had some fantastical conversation about the government purchasing Yahoo! These kind of chats are what these events are really about though. As an added bonus, on returning to the hotel we saw Kevin Rose from Digg disappearing into the lift - nice to be sharing your digs with the “top dogs” of web 2.0.

My suggestions for improvements

Here are my recommendations on how FOWA could be improved in a future where less money will be flying around:

  1. Mark pitches as pitches, charging these people to speak (if they weren’t this time)
  2. Scale the event back down to one day, charging less and being more selective about who speaks and what they can speak about
  3. Get rid of the expo idea, and scale back to a handful of stands - did anyone just attend the expo? Looked pretty quiet out there to me!
  4. Keep the after-parties for people with a full price conference ticket
  5. The Excel centre should be rethought as a venue - its hard to get to and is short on food and drink options

Basically, looking back to the model of previous events could be just the thing for getting FOWA back on track and ensuring its survival.

In summary

The essence of events like FOWA, is those meetings with other people, feeling a part of a bigger community, catching up with old friends and making new ones. This is something one can easily do at events like BarCamp however, where the ticket is free, the talks are never self promoting and everyone pulls together to make things happen.

As times get harder, I believe the future of conferences may lie with events that aren’t all about the pitches, sales stands and high ticket prices.

FOWA fail? Almost, but not quite yet.

Barcamp summer!

September 18th, 2008

Back in May I volunteered to help organise BarCamp Brighton 3, subsequently I spent much of the summer looking for sponsors for this fine local event. Along with various local people I managed to get contacts in a range of companies who came on board and helped to sponsor, including Yahoo!, BBC, The Guardian, BT and Vodafone.

It was a fascinating process, and I learnt a lot about raising money for events, the internal structure of large organisations and networking. I met a huge number of people, local and from further afield, as my search for sponsors took me to a huge number of networking events here, and in London.

The event was a huge success, and among the attendees were a number of people who I’ve seen speak at larger events, including dConstruct 08 the day before. Highlights included a massively over subscribed talk from Rebecca Cottrell on typography, Tantek’s buildering 101 and the evenings conversations. One chap had come all the way from Romania for the dConstruct BarCamp double bill, and like myself he runs a local arts site (his - OrasulSuceava seems a little more established than mine!).

Now the event is over, its time for me to devote more attention to the areas I’ve let slip on whilst BarCamp took over. Expect more blog posts here, and I’ll continue to expand Brighton Culture into a multimedia local hub - lots of ideas after watching Steven Johnson discuss The Urban Web at dConstruct!

I’ll also be attending lots of other events now ours is out the way…catch me at London BarCamp 5, FOWA London, SXSW 09, <HEAD> or plenty of local events such as The Farm and the recently launched Tuttle Club.

WordPress as a CMS talk and sample code

August 11th, 2008

In the previous post you can see slides from the talk I gave at The Werks in Hove last week. It was a full event, with around 20 attendees, so thanks to all for coming, and helping raise money for The Werks. Thanks also to Rosie for inviting me along.

During the talk we touched on one important point - its incredibly easy to make a really simple theme for Wordpress. I’ve attached the sample code here for you to browse. Its a really simple theme, with just 2 files, and will output any pages you have inside your blog in a horizontal bar at the top of your site. Feel free to play around with it and use it as the basis for your theme, although I would recommend starting a theme yourself from scratch.

For those who missed the talk, I’ll be speaking again at BarCampBrighton3 and BarCampLondon5. I’ll likely give the WordPress talk (shortened version) at the Brighton BarCamp, and if it goes down well, at London too.

WordPress as a CMS slides

August 6th, 2008

I gave a talk today at The Werks on using WordPress as a CMS.

Here are the slides:

I’ll be posting more about this talk shortly.

5 good practices for small software companies

July 19th, 2008

Over the last 3 years I introduced some essential processes and practices to the small organisation I worked for. Any small company involved with software development would benefit from these, and although they are all very obvious I wanted to list them here to provide a checklist for anyone rethinking the way they work.

In no particular order the areas I’m going to look at are:

  • Shared files
  • Version control for code
  • Regular secure backups
  • An online documentation system
  • An inventory of equipment and software

In more detail:

Share files centrally

If there is more than one employee, having access to a central location allowing you to store files such as text docs and spreadsheets to be accessed by one or more people is essential. It saves you emailing back and forth, and allows you to work on files together - if you choose carefully.

There are a number of ways you could achieve a shared file system:

  • Google docs - this allows you to work online, work on documents together, and keep local copies using google gears, ideal if you work away from the office often and takes care of backups, not so good if you’re unahappy about google having control of your documents
  • Another online document alternative, there are a quite few out there although I haven’t used them so can’t advise
  • A server you connect your PC’s or Mac’s to, you could use a Mac for this (they allow up to 10 people to connect and save and retrieve files from), or a PC with sharing enabled, or set up a Linux box.

If you decide to go down the google route, consider using google apps - this will take care of your email, shared docs and calendar, and lets you use your company site address to log in and as your email address.

Version control for code

Ensure you are coding with version control. This provides you with a place to store your code, allows more than one person to work on the same piece of code, and lets you save the code in a central location, enabling backup (offsite if you use another provider).

Options include Subversion, CVS (now rather outdated) and Git (new kid on the block). I use tried and tested Subversion.

Hosting options include:

  • Setting up a repository (the place the code is stored) on a machine in the office - this requires installation and doesn’t automatically mean offsite backup, plus you probably need to be in the office to use the system
  • Using a hosted alternative, allowing access from anywhere and ensuring off site backup - I use webfaction who provide SVN hosting at a low price

Regular secure backups

Everyone in the office needs to ensure their work is being backed up properly. I recommend as a minimum a daily backup of all files, this can be kept onsite, and a weekly backup which is kept off site. Addtionally its a good idea to make a monthly copy of your entire hard disk to allow a quick restore including all settings and software.

There is plenty of software available to help you achieve this, all you need is some external storage. I’ll go into more detail on available options and provide some recommendations over the coming weeks.

Ensure the following:

  • Your backups are secure - this means if someone finds them, they can’t access the files
  • Your backups are not next to your computer - they should be in another location entirely, so that in case of a fire, the files are not lost. As mentioned I keep a weekly backup away from my office.
  • You have a good restore plan, and have tested it, i.e. how will you get the files back once they have gone.

An online documentation system

As you or your staff code, you will make discoveries, learn new stuff and come up with best practices and methods of doing things. It is key that you write these down, and store them somewhere everyone else in the office can access. This way, if you or someone else leaves the company, everyone still has access to that knowledge.

Stuff to put in your system includes:

  • Code snippets
  • Best practices for coding (naming conventions, bracing guidelines and other general stuff)
  • Tutorials and how-to’s that members of the team write as they learn something new
  • Documentation for the actual software the team creates (optional - you might want or need to keep this seperately)

Options for setting up such a system:

  • Use a CMS tool such as Wordpress (its come a long way from being just a blogging platform), using plugins to ensure the code snippets play nice
  • A wiki (can be better for team editing, but also sometimes harder to set up and get working as you want it)
  • Lots of documents, such as google docs - this will be hard to navigate though, but quicker to set up

Again, I’ll go into more detail on this over the next few weeks.

An inventory

When purchasing new equipment and software its important to record model details, serial numbers, copies of the software and all the info you will need to claim on insurance or reinstall software in case something goes wrong. These details must be very secure, and probably not kept online.

You might also keep usernames and passwords here - although I would recommend passwords be kept in the head to be totally secure. When signing up for accounts such as google analytics, amazon etc that everyone should have access to its useful to either use a clearly defined username or record the name you picked.

Conclusions

Although this article has been rather rushed, I hope you can get a good idea of how to ensure your company is stable and secure from a software perspective. I’m going to think about each of these in more detail over the coming weeks and hope to provide more advice.

Timeboxing

July 13th, 2008

Over the past few weeks I’ve been trying to implement timeboxing, an agile technique, wherever possible. I’ve started to find myself becoming much more productive.

Timeboxing is where you set yourself a time limit on a specific activity. For example, you decide to spend an hour on adding twitter to your blog using an API, when the hour is up you must stop and do something else. If you didn’t finish the task it might be because it will take much longer, and you need to reconsider wether its worth doing or allocate more time to the task. You might have been close to finishing, thats fine - allocate more time at a later date.

Timeboxing is especially useful when applied to programming, where you can end up wasting an hour or two trying so solve a problem that would be better off left for a few hours. It forces you to focus on the most important stuff first, and ensures you get ’something’ done in that period.

Timeboxing in software development also cuts down on the amount of time spent ‘polishing’, this very blog shows that off well - I allocated myself 3 hours to do the template, no time left for any polish, but the blog is live and works. Perhaps I will allocate myself time to polish at a later date.

Timeboxing can also be applied to other areas of your life, its amazing how much tidying and cleaning can get done if you only have 20 mins to do it in.

I’ve only just started timeboxing, so I’ll give an update in a few months once its become one of my core lifehacks.

New job and a new site

July 12th, 2008

I’ve just relaunched my blog with a simple clean design, and some very basic features. Over the next few months I hope to add more bits and bobs, to enable this to be a portal connecting all the services I use. Perhaps Flickr integration, delicious links, and some other stuff. For now it doesn’t matter - all I want is a place to put some tutorials, and a few notes. The site isn’t finished, but it is usable - release early, release often is my moto.

One of the reasons for the new blog is my new job at Ribot, where I will be their first full time developer. They specialise in mobile, and its a new field for me, so I expect to be very busy over the coming weeks, hence getting some stuff out of the way such as this blog relaunch. Looking forward to lots of hard work and fun with the Ribot guys!

This site was created with Wordpress, using my own template.