My first "Apps for Good" session

21 March 2014

Apps for Good

On Thursday, I did my first Skype session for Apps for Good. Apps for Good is a charitable organisation that works with schools to provide a course for 10-18 year olds to build a mobile, web or social app to solve real issues they care about. The course teaches the fundamentals of the digital world, while also developing skills in problem solving, creativity, communication and teamwork.

Apps for Good then arrange for "Expert Volunteers" from the world of tech to mentor the student teams in one-hour sessions via videoconference or in person. Capgemini (my current employer), are an Apps for Good partner, so after a session at the end of last year introducing us to the concept and what they were about, I decided to sign up and help.

For my first session, the class was a group of Year 9's based in Cornwall, and there were about 27 of them. They were building their apps in groups of 3 or 4 so I ended up talking to 7 groups about their apps and what they were doing. I did a bit of questioning them about their apps and then each group had prepared 3 questions to ask me.

My first session

My session was a "Web Development" one, so focusing around the tools and tech that they were going to use to build their apps, the kinds of things I was asking them were:

  • What is your idea for your app?
  • What programming languages have you been learning, what have you built so far? (They'd been doing HTML, CSS, JS and a little Python)
  • What do you think is the most important thing to consider when building your application?
  • Have you thought about how you will break up tasks and what will happen when multiple people are working on the same part of the project?
  • Are there any tools you can use to help you get started?

They asked me a variety of questions such as:

  • How i thought their app could be improved
  • If they were using the right technologies
  • What tips I had from the first web app I built (I told them not to be discouraged if things didn't work first time - and that over 10 years into web development they still don't!)

The session didn't go into a lot of technical detail as this class was only just about to start designing and building, but I've been asked if I'll take part in a future session once they start building - so something to look forward to.

My thoughts on Apps for Good

I think the principles of Apps for Good are exactly what is needed in IT education today. IT is not just about the code, it's about the product idea, the processes of refining ideas, solving problems and learning from experiences. Combining building a product with the rest of the lifecycle is an invaluable learning experience and will give students a great start.

Anyone can sign up, so if you're interested in helping the next generation of technologists and entrepreneurs then take a look at the Apps for Good website.

Tags: Education

Approching PHP development with TDD

23 January 2014

One of the most common code review comments I write is "needs unit tests". The trouble with this, is that once the code is written it's very easy to write unit tests which pass, but either don't go into the heart of whether the tests are valid, or don't cover all of the possible scenarios. In these instances, the tests are almost more dangerous than useful - because they give a false confidence that because the tests are green the code behind them must be ok.

A lot of the time, we can reduce these risks by considering the tests firsts and following Test Drive Development (TDD). What I hope to show below is how you might approach a problem from a test driven perspective, and how that can help you think more deeply about what your code needs to do, and what weaknesses there may be. I should point out however, that I'm far from a TDD "expert" and am almost using this post as a test of my thoughts - so any feedback or comments would be very welcome.

Read more of this post »

Tags: Development, PHP, TDD, Unit testing

Date fun in PHP

22 January 2014

A project I'm working on at the moment has a requirement to work out subscription dates for subscriptions of varying length (3, 6 or 12 months). After some "fun" working around some quirks of PHP date handling (and memories of working through this kind of stuff before) I thought it worth writing up, partly so I've got a reference next time it comes up, but also in case anyone else finds it useful.

Read more of this post »

Tags: Development, PHP

Drupal and HHVM

26 December 2013

The HipHop Virtual Machine team recently issued a blog post of the results of a 3 week lockdown focusing on making HHVM more compatible with popular open source PHP projects, and improving performance across the board. As part of this, it was stated that compatibility with Drupal (7 and 8) was at 100%. I decided to have a play at getting HHVM up and running with Drupal and doing some initial performance investigations.

Read more of this post »

Tags: Development, Drupal, HHVM