Announcement: Editor-in-Chief of Ibuildings Techportal

A few weeks ago I got a call from my employers, Ibuildings, asking me how I felt about changing my role a bit and taking on some of the functions of our PCE (PHP Centre of Expertise). This area of the company does some super-cool stuff and so I said I’d be interested. Fast forward a bit and I’m on a call with Ivo Jansch (our CTO, who also oversees PCE) talking about what kind of things I could be involved in. I cannot describe the surprise I felt when he asked if I would take on the role of Editor-in-Chief at our developer portal site, techPortal … and of course I jumped at the chance.

I’ll be picking up a few other community-facing functions for Ibuildings but techPortal is the headline news, I’m super-excited to be entrusted with this project as our existing Editor-in-Chief, Cal Evans moves on from Ibuildings. Now the announcement has been made I guess its real … wish me luck :)

PHP Barcelona 2009: Round-Up

I spent the last few days in sunny Spain at the PHP Barcelona conference as a speaker. Happily the most reasonably-priced flights gave me some time while I was there to get into the city, I was very keen to see it because I haven’t been before. The trip was made much more enjoyable by our gracious hosts who transported us between the venue and hotel most nights (and it was a very nice hotel too!) and arranged a speaker dinner that I thoroughly enjoyed.

The conference itself was excellent – I spoke about “Working with Web Services” which is basically an overview of everything you need to know to be able to consume web services. The slides for that are online at http://www.slideshare.net/lornajane/working-with-web-services.

I also saw some great talks from the other speakers there, some were people I often see at conferences, others were familiar names, and yet more were people I’d never heard of but I certainly learned a lot from all these groups. One thing that struck me was that the majority of the conference talks were in English – my experiences from looking at these events in southern Europe is that they tend to be held in the local language which of course makes them much less useful to me. This event was predominantly in English, the introduction and (most of) closing session were in English, and most of the talks were too. Whether this signifies a shift in the culture of technical events in Spain or whether this was simply a nice decision by the organisers I’m not sure.

I also made it out into the city which was beautiful. When I publicised my trips, so many people sent me information about their favourite places to go, trips to take and so on that I dubbed Barcelona “city of memories”! I didn’t make it to very many of those this time around but I’ll definitely return to the city in the future – its simply breathtaking.

Parc Guell

Congratulations to the organisers – I’m looking forward to the event in 2010 ;)

Add a heartbeat method to your service

Over the summer months I wrote a series of posts about designing APIs in general, and web services in particular. This included posts on status codes for web services, error feedback for web services, auth mechanisms for web services, saving state in web services and using version parameters with web services. I thought my series was finished but I thought of something that should have been included – perhaps the series will keep growing as I learn more?

I’ve worked with a couple of services recently that have a rather excellent feature – a method which calls the service but doesn’t do anything useful but simply lets you know the service is alive and well and residing at the location you thought it was. These “heartbeat” methods just allow consumers to check for signs of life, verifying that the service exists.

The heartbeat shouldn’t require any particular parameters or any authentication, since formatting data and passing credentials can be a stumbling block for those integrating with a service for the first time or those debugging issues. The heartbeat method can return some known data, perhaps an “I’m here” message, and maybe some version information. Flickr has a nice method flickr.test.echo which will also echo back any parameters that were sent to it – which could be useful for debugging values which don’t arrive at the server as you expected.

Another use for a heartbeat method is to allow monitoring systems to call a simple method, needing no credentials, and always get the same response back. Its not uncommon for these monitoring systems to be pointed at a particular page, and for failures to be indicated if the contents of that page changes (because data in the system changes, for example).

So – build a heartbeat service, you might never use it but when you need it, you’ll be glad you did!

Book Review: PHP Team Development

I was recently contacted by Packt Publishing asking if I would review a copy of one of their new titles – PHP Team Development. I happily agreed and the book promptly arrived in the post (just in time for me to take it on holiday and read it by the pool!).

Overall I was quite disappointed by the book – although at least half of that was due to the poor written English contained there. Some sentences didn’t even make sense, I’m not accustomed to reading anything other than clear English (“Vendor Locking” confused me for a while), and the language in this publication made reading the whole thing rather slow going. That said, for a brand new team of PHP developers with no previous experience of working in a team, there were some useful points in this book. Its clear that the author’s experience lies in a large organisation building a single product, whereas I’d say the level of this book would apply well to web development shops with a handful of developers probably working on a series of different projects for clients.

There are some solid concepts introduced – few are explained in detail though and after a couple of chapters I think a less experienced developer would have had a list of terms to look up rather than new ideas to try! Still, there are good explanations of source control, MVC, templating, and OOP elsewhere on the web and in other books so it would be possible for someone to follow up on this. I was particularly alarmed at the concept where one team writes the model, another writes the view and yet another writes the controller to tie them all together. Perhaps in big enough development teams, with a lot of up-front specifications written, this can work. My on-the-ground experience though would lead me to group tasks together by feature rather than separate them by bits of implementation – I currently work in an organisation that uses agile projects though where features are the whole point of the exercise, so perhaps that influences me.

On the whole, a perfectly nice book for beginners (available from the publishers or from Amazon)
but if you are already working in a team then you probably won’t get a lot from this experience.

PHPNW09: In Conclusion

Last weekend was the second annual PHP North West Conference, held at Manchester Conference Centre and attended by 200 people. We kicked off our weekend on Friday night, with a pre-conference social in a pub near to the conference venue. There wasn’t really enough space but it contained geeky things and sold actual beer, which seemed appropriate. Saturday morning saw the delegates arriving bright and early, ready for our Keynote from Kevlin Henney “The Uncertainty Principle”. He had a whole room full of developers laughing along with him in the early morning – what a great session :)

Next up it was my turn to speak – speaking at a conference that you’re also organising and doing the paper selection for has been a bit of a strange experience, I’d never say “never again” but both things detracted from the other slightly. My talk was “Passing the Joel Test in the PHP World”, which is a re-take of the Joel Test, adapted for web development – its a nice opportunity for me to get some of my thoughts across on a range of best practices and the slides are available online. Once I began speaking and my nerves got out of the way, I almost enjoyed myself – I got some great questions from people in the bar in the evening as well, hopefully I’ll be giving that talk again some time. We used joind.in to allow our attendees to leave feedback – they were great and the comments are still coming in. I was blown away by the feedback on my own talk however – conference organisers please take note!

The rest of the day was a whirl of organisation, chatting with people in the hallway, and catching a few bits and pieces of talks – I did see more talks this year than last year though which I was very pleased about. At the end of the day we had a session with some content from our premier sponsor Microsoft, a whole bunch of giveaways, and I was able to take the microphone once more to thank the organisers, particularly Jeremy and his team from Solution Perspective Media – after which it was time to party. The food was excellent all day, and Sun had put money behind the bar which took us almost all night to drink, they definitely financed some sizeable hangovers!

This year for the first time we also had an informal day on the Sunday, this was something I was deeply involved with organising and I think it went pretty well. Arriving ten minutes before the start time to find speakers, attendees, and a venue with the cafe already open was a welcome surprise before 9am on a Sunday morning! The five speakers that morning were a mix of experienced speakers, new speakers, core PHP topics and a few allied technologies. Plenty of people dropped in to hear a session or two and explore MOSI through the morning, I think it was a nice addition to the schedule.

All that remains is to extend a huge thanks to our speakers, helpers, sponsors and of course the attendees – if you were there I hope you had a great time!

PHP Code Sniffer Tutorial on Techportal

I’m pleased to announce that a my tutorial on using PHP Code Sniffer is now available on techportal. I had the opportunity to work with PHPCS in a recent project and thought it was a great tool, and looked more closely into how it works and can be configured. I learned so much along the way that I’ve put my findings together into a tutorial designed to enable others to pick up and start using this tool in their projects – I hope it helps someone :)

PHPNW09: Weekend of PHP and Fun

Having just put the finishing touches to the schedule for PHPNW09, I’m realising just how excited I am about this event coming up in less than a fortnight. This is the second year we’ve run the event, and its bigger and better than last year – and I know what a great crowd to expect! We kick off in Manchester on Friday 9th October for a pre-conference social, with the main event on Saturday and follow this, naturally, with another party! Since so many people are there for the weekend we’ve also taken some conference space for Sunday morning and begged a few more speakers to hang around and share their knowledge with those people who are staying for the weekend. (The Sunday speakers get no speaker package and they were all very gracious about having their arms twisted … we can’t thank them enough!)

The full schedule is now published with both Saturday and Sunday sessions now published along with timings for each. Although this is a local conference with a budget ticket price and organised by volunteers, the lineup would not look out of place at any other event on the PHP calendar – and we’d like to thank all the speakers that submitted talks to us, regardless of whether we managed to find time in the schedule for them. The submitters, the speakers, the helpers and the attendees are what makes this conference what it is – and I can’t wait! See you in Manchester :)

Speaking at PHP Barcelona

I’m delighted to announce I’ll be speaking at the PHP Barcelona Conference in October. This is a new speaking topic for me, although I’ve been working and blogging in this area for a while, with a talk entitled “Working with Web Services”. Its a very technical session looking at different types of services and the tools available for working with them. We’ll also delve into overviews of how these services actually work and how we can troubleshoot when things go wrong. I’m really excited about writing and delivering this talk topic, and equally excited about my first trip to Barcelona and meeting lots of new people in the PHP community in Spain. If you are going – hope to see you there, come and say hi :)

Speaking at PHPNW09

I have experience of PHP conferences from all possible angles – as an attendee, as a speaker and as an organiser. At PHP North West this year I will be taking this to new heights and combining all three roles into a single one-day conference. I have a speaking slot at the event entitled “Passing the Joel Test in the PHP World”, which I’m very excited about. Its a talk that I think brings together the best ideas from a general software engineering world and puts them into the context of PHP development. If you’re wondering what the Joel Test is, then you can read about it on wikipedia.

Having spoken at a few different events now, some local and some quite high-profile PHP conferences (OK, so php|tek – the event of the year!), I’m really delighted to be bringing my ideas to the local conference that I help to organise and attached to a user group full of bright and interesting people. The experience of launching a call for papers, submitting my own abstracts, and then trying to figure out where it fits in when evaluating the CfP was a bit split-personality but with Jeremy’s input we decided this was a good fit – and I’m looking forward to delivering it!

The event itself is in Manchester, UK on Saturday 10th October and there is only one week remaining on the early bird ticket price!! So all those people who think its ages away and you’ll sort out arrangements nearer the time – you have been warned. The schedule is world-class (quite literally, these speakers do speak right around the world), and the price is pocket money (50 GBP + VAT until 11th September). As well as the technical content you get a fun weekend in Manchester, plenty of social activity, there’s more geekery happening the following day and all attendees get a 12-month subscription to php|architect magazine to keep them learning all year long. Now you’re persuaded – you can buy you tickets here and let me know to expect you!

PHPNW is the highlight of my year – I hope to see you there :)