Lifting the veil

I’ve recently released a new WordPress plugin called Plugin Register. In a nutshell it allows plugin developers to be notified every time one of their plugins is activated. Report of these activations then gives the developer some statistics about who is activating what, and when, and what version. Quite simple, but not something that I’ve ever seen before, and certainly very interesting for developers.

It was very easy to build, I probably spent less than 3 hours development time in total. And maybe that’s where I slipped up, because I didn’t think clearly about the nuances of this plugin. You see, the first version of Plugin Register registered the activation of a plugin automatically, with no notification or consent from the user. And that is bad. I’ve since changed it to be an opt-in action to register a plugin.

Even though the only information it saves is the plugin name and version, and the site name and URL, that’s still too much information to be given away without the user knowing. WordPress is sometimes used by sites which need to be kept private, for example sites on an internal network which cannot be accessed from the Internet, or government sites. Even sites which have been set to not be seen by search engines may not wish for their information to be shared with a plugin developer. The bottom line for me was that this plugin should be opt-in, with users making a concious, explicit decision that they want to register their plugin.

However this doesn’t solve the other problem I’ve noticed with the few hundred sites who have registered use of my plugins. You see, traditionally WordPress plugin developers had no idea who was actually using their plugins, unless they got in touch to say “thanks” or report a bug. With Plugin Register they can know that information, and it can cause problems.

Among the sites who have registered using my plugins are sites with legally-dubious content, ‘adult’ sites and sites expressing attitudes and opinions I don’t agree with. When I wasn’t aware who was using my work, there was no problem. Now that I do know, what do I do about it?

Of course, the use of a WordPress plugin doesn’t make me culpable for what appears on these sites, and I can’t stop them using my work even if I felt strongly enough about it to try. With open source software the genie is well and truly out of the bottle. I suppose I could contact the sites I don’t agree with and ask them to not use my plugins, or to save mysefl future moral quandaries I could put a disclaimer on my work which asks people to use my work for good, not evil. But what is evil? My opinion is far from infallible.

And anyway, that’s not the open source way. Short of genuine illegal activites, open source software can be used for what ever you want – including helping political parties I may strongly disagree with. Historically I wouldn’t have known about who was using my work, in this case my WordPress plugins. But, by registering activations of my plugins, I now know. I’m not going to stop contributing to the open source world, but I do have a greater appreciation about the possibilities of how my work could be used.

Technology and creativity

Confession time. When I was a child I was a big fan of Mary Norton’s Borrowers books. These little people were almost real to me, to the extent I would look for clues to their actual existence. I suppose I thought something that engrossed me so much must be based in reality. (By the way, forget the travesty of a film, the books are MUCH better.)

I had some Borrowers myself. They were Star Wars figurines, which were a little smaller than the real Borrowers, but suited my purposes well. Up to an embarrassingly mature age, probably 12 or 13, I would create worlds for my Borrowers out of shoe boxes, book covers, string and anything else I could find. I built houses and vehicles, systems for defence, drawbridges, pulleys and trapdoors. I stopped short of using dolls house furniture to furnish rooms (hey, I’m not *that* sad) but still, I remember spending far too much time playing with my Borrowers.

When I was a little older electronics took over. I would take apart old radios and try to put them back together. I always failed. In fact I never remember anything working better after I’d tinkered with it – in fact I never remember anything work at all after I’d tinkered with it. So I made pretend devices. I got into no small amount of trouble once when I built a fake bomb including a large lump of Blu-tack inside a box. I didn’t know there was an IRA bomb scare that day, and I certainly didn’t intend my device to be found. I grew up a little bit that day.

Looking back I see that – like everyone – I’m a product of my past. Those years spent building things out of bits I had lying around were teaching my brain to develop in two directions: technology and creativity. And tinkering with stuff to make something new is exactly what I continue to do today.

You see, the art of being a web developer is about the creative use of technology – taking bits we have lying around (HTML, PHP, JavaScript, SQL) and making something new. Both sides of the coin are as important as the other. You can start with the technology – the lines of code, bits and bytes – and apply some creativity to make them into something useful. Or you can start with creativity – an idea, a vision of a finished product – and then use the technology to make it happen. But you can’t have one without the other. they rely on each other.

A how developer makes thousands of tiny choices every day, from how to construct a block of code to what kind of button to use in a form. Sometimes lucky people may have UI designers to work with who make some of those decisions for them, but I would guess most web developers have to wear lots of hats at the same time. Database schema designer, UI designer, backend developer, front end developer, graphic designer, documentation writer and project manager are just the hats I’ve worn today.

Having both creativity and technology on your side helps you to wear all these hats, and stay sane. Creativity helps you make those small decisions that move a project in the right direction. Technology helps you put those decisions into action. Technology helps you know what options are available to you at every decision point. Creativity gives you the inkling you need to choose the right path.

It seems my brain, because I’m a product of my past, fits this technology/creativity mix quite well. For the same reason I love jazz music, as it is based on the two pillars of technology (chord structures and sequences, scales, arpeggi, melodies and more) and creativity. I’m sure there are many more things that have a similar mix of these two elements (architecture and cookery, for example).

As we start a new year I want to help develop my skills in these areas. I want to develop my technological skills by learning more about the technologies I use every day, and possibly some new technologies. And I want to develop my creative skills by looking closely at how other more advanced developers have used technology in creative ways. Hopefully by the end of 2010 I’ll be able to say I’ve moved forward.

Welcome to stillbreathing.co.uk 2009

Well, here it is. This new theme for stillbreathing.co.uk has been mainly designed by the great Paul Cook who worked with me for several years in a previous job. I’ve said on a number of occasions he’s the best designer I know, and that’s true. After all, I don’t know any other designers :0)

Anyway, he’s pulled a corker out of the bag with this one. Basically all the bits that look really cool (the very top and very bottom of the page) were done by him, the rest (the rubbish bit in the middle) was done by me. Hopefully I’ll be able to pick Paul’s brains at some point and put some finishing touches to the design.

However, this isn’t just a new design. It’s also the beginnings of a new direction for stillbreathing.co.uk which has been my personal site for *checks archives* ooh, October 2004. Basically I’m keeping this site for more personal things (which of course will include code), but I’ll be creating a Brand New Site for my freelance business.

I’ve mentioned the name of that new site a few times, but as it’s not even nearly ready for previewing I won’t link to it just yet. Still, along with the new PerformerJS.org site I hope to have that finished in the next few weeks.

One month on

No much to report from the People’s Republic of Yorkshire, although it’s been a busy old few weeks.Here’s a quick list of things I’ve been doing:

I’ve also aquired two second-hand laptops of varying vintages. New toys are always good, even if they aren’t really new.

New Performer website:

Performer - new website design