My First #Mozfest

Mozfest 2013I have an hour free this morning, so wanted to quickly write up my thoughts on Mozfest before my memory fades too much. This will be a rough, but f*** it, ship it as they say at Mozfest.

I bought a Mozfest ticket in July with next to no expectations and just a little hope that meeting some new people might trigger some new ideas. It’s fair to say that this was a massive under-prediction on my part.

A couple of months later, with about a month to go until Mozfest, my boss (@ade) mentioned some sessions that might be interesting for WWF and my work in fundraising. A couple of introductory emails and a Skype call later and I’d put my name down for a yet-to-be-confirmed session called ‘Pass the App’.

We were going to use a new tool called Appmaker to build a donation app in a three hour session. At this point in time Appmaker didn’t do a lot. It was pre the version that would be called pre-alpha. I looked at Appmaker for a few minutes and worried I’d just agreed to waste the first quarter of Mozfest.

I had some time off and a couple of weeks went by. With two weeks to go, I wanted to get setup with Appmaker in a dev environment before the day so I didn’t waste people’s time with silly questions about configuration when we could be building things. Work was a bit crazier than usual and another week went by before I finally sat down to look at some code.

It was quite astounding how much Appmaker had evolved in those few weeks. The team working on this are incredible. From thinking the morning would be wasted, it now looked like a tool with enough components that with a little imagination you could hook up all sorts of awesome apps. My goal was to add some kind of payment to that.

The components in Appmaker are built with HTML, CSS and JavaScript and looking at a few examples I was happy I could build something by copying and adapting the work that’s already been done. But getting a development environment setup to work with these technologies I know pretty well required diving into a number of technologies that were completely new to me.

The deadline and motivation drove me through some of the initial hurdles and learning, and jumping into the IRC room for Appmaker I received great help and support from the team. I was worried about hassling them for their time while they were busy getting ready for Mozfest, but I was welcomed very warmly. It was a really great experience working with new people.

I guess the lesson here is: If you try and make something new, you cannot help but learn something new. And also that deadlines are amazing, as we’ve discussed before.

There were ten tracks at Mozfest, and at any given time I wanted to be in about eight of them. After the Saturday morning Pass the App session I was planning to alternate between the Open Data and Privacy tracks for lots of interesting things, but it didn’t work out that way. I didn’t actually make it to any other sessions. I got hooked into (and hooked on) making things in our scramble to build a working Pass the App demo, which we did. Here’s a link to the write up. I won’t re-tell that story. I got to work with kind and intelligent people making something valuable and learning a tonne. You can’t ask for more than that from any conference-esque event.

My hour of free time is up now, so I’m going to ship this despite the vast amount of things I was grateful for and wanted to talk about.

And I’ll say a quick hi to the people from the pass the app session,

And the many other lovely people I got to meet for the first time.

Something I wrote for Engaging Networks

A few weeks ago I received a marketing email from the Engaging Networks team quoting some stats about the possible improvements to website conversion rates that can be achieved with A/B testing.

I was caught off guard (but pretty chuffed) when I realised I was being quoted my own case study from a presentation I had given a couple of years earlier.

I sent a quick reply to the email and was delighted to find it was sent from a real address with a real person at the other end reading the replies (@Rachel_shares).

This turned into a nice discussion about conversion rate testing, and somehow I agreed to write a guest blog post. Which, with some helpful editing from Rachel has now been posted on the Engaging Networks blog.

I thought I should share the link with all two of my readers on this blog, just in case you’re not also reading the EN blog 🙂

The real story behind WWF’s fundraising split test success:
http://www.engagingnetworks.net/uk/blog/wwf-split-testing

Bibliofaction short story website needs a new home

Free to a good home
Free to a good home

Would you like to run Bibliofaction.com?

Despite our best efforts, Andrew and I are no longer finding the time to properly look after the Bibliofaction website and community. So it’s time to find someone new to take care of it.

It’s going free to a good home (though it has some costs involved and would benefit from some technical work).

We’d like the website to be run by someone who supports the original goals of the site – to encourage everyone to have a go at writing a short story. It should be a welcoming, inclusive and inspiring place – but we won’t have ongoing involvement in the site, so really it’s your call!

Here are some top-level facts that might be useful to you:

  • 3,500+ published stories
  • ~10,000 visits per month (it was a bit higher when we were actively running competitions etc) – see stats screenshot below.
  • The Bibliobucks virtual currency system doesn’t make us any money (but did a good job encouraging conversations when it was launched)

Beyond that, have a look around the site to see how it works. If you can’t spare the time to look at the site now, you won’t have the time to run the site in the long run. I say this from experience.

Technical bits:

  • The website is a bespoke platform, developed in ASP.NET, in C# with a MSSQL database.
  • It was written for ASP.NET 2.0
  • It’s a 3-tier application (Website, BLC, DALC) so has a pretty solid code structure
  • It was best-of-breed in 2007 – you wouldn’t write it quite like this today, but it won’t cause a new developer too much panic to look at it now.

What’s included:

  1. Transferring ownership of current Easyspace VPS hosting to you (including billing)
  2. All source-code and database files
  3. Google Analytics account including 7+ years of historic stats
  4. The bibliofaction.com domain name – it’s an old domain name now, so good for search engines
  5. Social media accounts (@bibliofaction, Facebook, G+)
  6. Any artwork files I have (logos, PSDs etc)
  7. Transfer of any copyright (logo, brand, code etc)

What’s not included:

  • Tech support. I wish I had time to spend on this, but if I did, we wouldn’t be looking for a new owner. You will need access to the appropriate development skills (whether you are them, know them or buy them).
  • Existing email provider (only because this is tied up with some other services I use). You’ll have to set something new up and point the DNS records.
  • Any form of guarantee, warranty, liability etc ad infinitum

Some immediate opportunities to improve the site:

  1. Integration with social media
  2. Short story apps for tablet and phone
  3. Build on the existing platform, or migrate data to another platform
  4. Anything else you can think of!

I’m interested! What now?

  • Send us your proposal, in any format you like to press [at] bibliofaction.com
    • In an ideal world, we’d like to see someone who can offer ongoing community management, and the technical investment to bring the site up to scratch.
    • The closing date for applications is 31 May 2013
  • Post  questions in the comments below, as we won’t be providing feedback on the proposals or replying to individual questions by email (too little time, sorry).

Thanks and good luck!

Stats for Bibliofaction.com
Stats for Bibliofaction.com

Why removing evolution from science textbooks might not really matter

This needs more thought, but writing this has helped me to join up a few ideas I was stewing over with my coffee yesterday morning while my son was napping. So I’ll publish this as is, and your thoughts are welcome.

Question the Answers
Question the Answers

While it’s useful to teach the fundamentals of physics, chemistry and biology in schools, I think what we need to start with and to prioritize is teaching the scientific method, the importance of curiosity and the need to question the answers. As an aside: Question the Answers is also the name of my favourite Bosstones album.

Rather than teaching the latest and best hypotheses, we should be showing kids how science as a whole works. How a community of disparate researchers come to agreement on an idea, and how people continue to challenge that idea as best as possible even when it looks like we’ve answered the question well. The value of a published scientific paper is more than just the text it contains; it’s the fact that it has been offered up for critique by the rest of the world, and it has passed this initial test, at least for now. Until people understand the differing value of the words in a newspaper opinion column and the words in a scientific publication, we will struggle as a society to make sound decisions.

This doesn’t mean everyone has to be a scientist, but ideally everyone would know enough to understand what “scientific consensus” means, and not to be surprised when every other day their favourite newspaper is giving them the latest contradicting health advice from “scientists”. Rather than complaining that “scientists keep changing their mind”, we would instead hear people praising scientists for never really making up their mind (which is much more difficult to do). And in this ideal world, people would know enough to understand what a double-blind controlled clinical trial is before they spend money on alternative medicine (though they should of course be free to take whatever medication they want).

The information people need today to research important issues is widely available online. But without an understanding and appreciation of the value of the real scientific process, it’s easy to get lost in a world of pseudo-science websites trying to sell you fifty shades of crap. It’s also worth noting that the the pseudo-scientists and propagators of urban myths spin a fine yarn, and the scientific world can definitely learn from their methods.

It’s good to see that people are bridging the communication gap between the world of science and the general public, without compromising the integrity of the information provided. And in this world of multi-directional communication, the communication itself gets a form of peer-review if the publisher is doing things properly. Rigorous science can be served up perfectly well alongside animated GIFs and cats in space, though I’m going a bit off track with my thoughts here.

What I was thinking about over coffee was that the future of scientific journals will surely require an open-access model to replace the currently prohibitive subscription models and, as an aside, that covering the cost of publishing these journals would be an amazingly good use of public funds given the value it would offer to society in relation to the cost. It would be interesting to compare what Wikipedia has done in terms of access to information versus the public funds spent on distributing educational content in recent years; especially on a global level.

Even if the scientific journals that exist today don’t change their business/access model, it only needs one challenging system to make the open-access model work, and in turn to make the existing publishers obsolete. Again, think of Wikipedia, and then Encarta and then Encyclopedia Britannica.

I’d like to think the future of peer-reviewed science will look something like Stack Overflow does today, where consensus on best-practice programming (including chunks of computer science) bubble up from constructive public debate, and it becomes easy for a member of the public with a small amount of knowledge and an understanding of the process to find a tried-and-tested answer to their given question. And if the answer fails for them in practice, to feedback into the process.

stacks_image_733
This is a consensus, not a debate.

When people understand the scientific method, we can stop using silly phrases like “climate change debate”, and the media will struggle to profit from their deliberate distortion of scientific discoveries. When the scientific method is understood, it doesn’t really matter if some people want to remove a topic like evolution from their local school syllabus. All the evidence, debate and research children need to read in order to understand why evolution makes so much sense is available online right now. They just have to be curious, connected and aware of how science (as a whole) works. And while children have always been curious, today they are more connected than ever.

If the Stack Overflow of science emerges, peer-review and the scientific process can move from being an abstract concept (which is all they are to most people) into something laypeople can witness, interact with and review first-hand. It may not even need specific teaching in schools. Today, if you want to learn how to program or build websites, you don’t need to enrol in a class, you can just start doing. And the people who do, very quickly find themselves reviewing the discussions and conclusions on Stack Overflow.

So maybe we don’t need to worry about the specific topics on the science syllabus any more, so long as we teach the principles of science. After all, it’s the job of the next generation to prove our theories wrong anyway.

Evening coding

With lots of interesting client work on at the moment, I’ve decided to spend some evening time moving along the next version of Done by When. This is nothing too stressful, but the project is getting really interesting now. I think I’m over the initial conceptual learning curve and now I’m making proper progress.

Where the launch version of Done by When was primarily a working proof of concept, this next version is about attention to detail and responsiveness (that’s the speed of interactions as opposed to the adaptive layout stuff that’s already in place).

I feel like I’m properly upgrading something when I’m spending as much time removing code as I am writing it new.

More updates soon.

For a free and open internet, be quick

“On December 3rd, the world’s governments will meet to update a key treaty of a UN agency called the International Telecommunication Union (ITU). Some governments are proposing to extend ITU authority to Internet governance in ways that could threaten Internet openness and innovation, increase access costs, and erode human rights online.” – src: protectinternetfreedom.net

Here are a couple of places you can show your support for a free and open web right away:

If you have a bit more time, you can get creative with Mozilla’s Webmaker kit

You can see who is speaking on your behalf here:

And this article sums up the transparency issues:

Learning Backbone.js and Single Page Applications

Following up my post about the backbone.js book I downloaded, I’ve been playing, testing and learning as much as I can. So much so that I’ve neglected my Coursera design course, though I think this is a better use of my time in the long run. This particular Coursera course was mainly to test out the MOOC process first-hand, and it’s pretty cool on the whole. I’ll still be taking part in the Game Theory course that’s coming up, and I’d give Coursera a big thumbs up overall.

I’ve studied design previously, so the content in the course (while very good) was mostly a re-hashing of old stuff for me, whereas delving into the world of Backbone.js and Single Page Applications has been a great way to challenge my existing approach to web design and development. It’s been a real brain stretch at times, but every new step in the learning process is rewarding, and you can never afford to stop learning if you work with the internet.

I’ve hacked about with Backbone enough now, that I’m starting to apply the learnings to Done by When, and though this equates to almost an entire re-write of the website front-end it’s going to make the app so much more responsive that I’m desperate to get it live. The demos I’ve put together already feel like so much more like software than web pages.

I’m not making any promises for a release date at this point as client work takes priority but I may be able to share something within a couple of weeks.

Also, though I’ve bailed on the Coursera course, I won’t give up on the menu planner, or my intentions to open source this.

I’ll keep you posted.

On getting agile with Google @App_engine

In the course of just 48 hours I deployed six separate upgrades to Done by When, mostly thanks to Google App Engine.

These weren’t major changes, but they were distinct pieces of work driven by user feedback and an analysis of the system/user stats.

I was shipping early, and shipping often and had quietly moved into a working agile methodology.

This is a huge change from working on projects with a six month lead time, a massive spec, a big launch and then maybe an upgrade to version two a year down the line if you’re lucky; which is the sad story of too many web projects.

It’s only now, when I stop to reflect on this change in working practice that I realised how much of this is due to Google App Engine’s one-click deploy. You develop locally, set a new app version number, hit deploy, get a test URL on your production server while your current version is still live and flick the switch when you’re ready to upgrade proper. When you combine this with unit testing and regression testing you can confidently make an improvement to one part of the system and put the whole thing live in a matter of minutes without downtime or fear of breaking things.

In the worst case scenario where something breaks, you can switch to an earlier version of your app with another click.

There are no more checklists and complex processes to work through for every upgrade. Just test, improve, repeat.

If you’re not working with App Engine, then spending a little bit of time now smoothing out your deployment process will quickly pay itself back.

The easier you make deployment, the easier you make maintenance. The easier you make maintenance, the easier you make development.

On the future of publising, today

I’ve had a couple of interactions with non-traditional publishing of traditional books in the last week, so thought I’d make a note of them as a way to digest the experience.

First, I wanted to learn Backbone.js, as it (or something like it) will likely be the basis of front-end web based software interaction for the next few years at least. My usual method for learning a new web technology/language/process is a to get a decent book with functional examples and read it quickly cover to cover. This is how I survey the landscape; like taking a helicopter ride over a national park before setting out to explore it on foot. The real learning happens on foot, but it’s useful to know where the lakes, rivers and mountains are before you head into the jungle.

You know you’re exploring the edge of current tech when the only book on the subject listed on Amazon won’t be published for another four months. So I dug around the Internet and came across a long and decent looking article ‘Developing Backbone.js Applications‘.

Using Instapaper, with one click on my bookmarks bar, and one click in my Instapaper account page I had the web-page converted into a Kindle friendly .MOBI formatted file. I emailed that to my secret Kindle email address and within a few seconds I was ready to start reading this article in book format on a screen designed specifically for this kind of job.

The process of getting this article to my Kindle is so easy that I didn’t actually spend any time reading the article before deciding if the effort was worthwhile. So when I started reading, I was pleasantly surprised with what I found. This ‘article’ was in fact a book; the very same book that won’t be published in a traditional format and available on Amazon for another four months. It’s shared under a Creative Commons license on the source code repository and social coding website, GitHub. An environment where if I find errors in the book, I can edit the text directly and post the update back to the original author, and if my changes are accepted, my contribution is attributed precisely to my GitHub account.

The second example was The Moneyless Manifesto, also shared freely online under a Creative Commons license. In this case the online version of the book has been split into chapters and subsections so it’s not quite a single click to get the book into Instapaper. Not one to be deterred, or to miss a chance to learn something, I knocked up a Python script to fetch each of the pages, pick out the relevant content and stitch this together as a single web page. Which I then sent through Instapaper and on to my Kindle, and my wife’s Kindle.

All of the above is perfectly legit. This isn’t like people who download music illegally, but it’s a challenge to publishers all the same. Most end users won’t be writing Python scripts to format online books in such a convenient way, or using Instapaper as a document converter, but in time more and more will and all of the processes will get easier.

The two publishers involved here are embracing the new world, but that doesn’t make it easy for them. I’m only a couple of chapters in, but The Moneyless Manifesto is full of interesting and challenging questions, and may have some ideas related to this future publishing conundrum.

A simple and flexible meal planning system

Following on from my post about stealing ideas, here’s the first instalment from my Coursera design project. I’ll share this work as I go along and then I’ll open source the project properly once the course is over (in seven weeks).

Design problem definition:

I am developing a simple and flexible meal planning system that generates a shopping list to help people reduce their food bill and cut down on food waste.

A list of  user needs derived from interviews and observation

Exclamation points indicate potentially latent needs using the Kano Model. These are basically the things users may want, but may not realise they may want; a chance to over-deliver and delight.

The planner and shopping list is flexible

  • The planner and shopping list is suitable for a weekly food shop
  • The planner and shopping list is suitable for a fortnightly food shop
  • The planner and shopping list lets me count breakfast, lunch and dinners separately
  • The planner and shopping list doesn’t make me chose which meal to eat on each day
  • The planner and shopping list is adaptable if I see something on special offer at the shop
  • ! The planner and shopping list can be changed after the shop if something was out of stock
  • The planner and shopping list works if I only want to plan for a few days
  • The planner and shopping list let me add items that are not part of my recipes, like washing liquid

The planner and shopping list is helpful

  • ! The planner and shopping list reminds me of meals I like to cook
  • ! The planner and shopping list learns from my behavior
  • The planner and shopping list estimates how much my shop is going to cost
  • The planner and shopping list helps me review the cost of my food shop
  • The planner and shopping list helps me reduce my food bill
  • The planner and shopping list helps me reduce waste
  • ! The planner and shopping list gives me ideas for things to make this week
  • ! The planner and shopping list lets me review the things I eat most often
  • The planner and shopping list can be reordered to group things as they appear in the shop
  • The planner and shopping list reminds me of meals I haven’t made in a while

The planner and shopping list is practical

  • The planner and shopping list has a list of meals and a list of ingredients
  • The planner and shopping list can be cross-checked with the contents of my cupboards before I shop
  • The planner and shopping list lets me add things as I think of them during the week
  • The planner and shopping list lets me tick off items as I’m doing my food shop
  • The planner and shopping list organizes enough meals until my next food shop
  • The planner and shopping list lets me cross of meals as I make them
  • ! The planner and shopping list can be printed and crossed off as I use it

The planner and shopping list is suitable

  • The planner and shopping list affordable
  • The planner and shopping list works on my laptop, iPad and husband’s Android phone
  • ! The planner and shopping list works even if my phone or iPad is offline
  • The planner and shopping list is saved so I don’t lose it like my paper shopping list
  • The planner and shopping list works as I’m walking around the supermarket
  • The planner and shopping list can be shared with my husband
  • The planner and shopping list can be used in the kitchen, living room and at the supermarket
  • The planner and shopping list lets me prepare list and give it to my partner
  • The planner and shopping list works on my computer but can also be printed

The planner and shopping list is simple

  • The planner and shopping list is easy to use while I’m shopping with my children
  • The planner and shopping list is easy for me to use
  • The planner and shopping list is better than my scraps of paper
  • The planner and shopping list is preferable to writing a list on paper
  • The planner and shopping list is secure but easy to access
  • The planner and shopping list is not complex or confusing
  • ! The planner and shopping list is fun to use