Archive for the ‘How We Work’ Category

Crash-Talk: David Gilroy from Conscious Solutions on effective selling

Adam Cardew - March 2nd, 2010

A couple of weeks ago, David Gilroy from Conscious Solutions came to give a select few of us at Team Rubber a crash-talk in selling. I won’t give away any of the secrets shared with us in this post, but it focused on the different approaches to sales that his company uses. Detailing to us how his team is built in such a way to take prospects through the sales pipeline and underpinning attitudes enabling them to achieve their targets. Other, less obvious techniques (all above board of course) were equally intriguing, and those who were fortunate enough to be in the crash-talk certainly came away with heads buzzing. Even two weeks after, new ideas inside Team Rubber are still emerging from the talk and I think it’s safe to say that it really helped many of us.

Many thanks to David for taking the time to come and chat to us. Crash-talks are definitely of great use – more of the same please!

We’re making Opinion Suite join up with Linked Data (through RDFa)

Andy Parkhouse - January 29th, 2010

With so much chat and buzz at the moment (and rightly so) about Tim Berners-Lee et al’s data.gov.uk, I thought it’d be timely to say a bit about how we’ll be doing our bit towards publishing online consultation information as Linked Data (Steph Gray has recently blogged on a similar subject).

We’ve built (and are continuing to iteratively improve) Opinion Suite, an open-source online consultation management and creation system designed primarily for local authorities and other governing bodies.  It’s currently being used by Bristol City Council, Sutton Borough Council and a large partnership led by Cumbria County Council, with more rollouts hopefully coming soon.

Through Opinion Suite, organisations can store, organise and publish details of all their consultations – hopefully, exactly the kind of information that it’d be really useful to be able to access from a variety of sources, to include in apps and to run analyses/queries on.

As you probably know, that’s what Linked Data is designed to facilitate; it’s a way of marking up web pages semantically so that software (like browsers, search spiders etc) can understand more about the content and so that it’s easier for citizens to ‘cut and combine’ the information in ways that are relevant to them.  The Government’s into it in a big way: all central government consultations need to include this markup as of the start of 2010 and DirectGov already uses it to pull consultation details into its listings.

We’re currently making a few changes to the code of Opinion Suite so that all consultation details entered using the system are marked up as Linked Data – using RDFa, to be precise.  This means that all consultations inputted into Opinion Suite will include this additional metadata, making the information therein more readily and widely available.  So, for example, DirectGov could pick up all of a local authority’s consultation details and pull them directly into the ‘local consultations’ part of their site, or someone could make an app to compare consultation activity with other data, such as population or earnings surveys.  That’s a lot of potential added value for something that’s really not that hard to do – and it won’t affect the appearance or user experience of Opinion Suite for end users or administrators as the data will be taken from existing fields.

It might also be worth mentioning that this is in addition to the existing RSS functionality built into Opinion Suite – for example, you can create an RSS feed from any search query in Consultation Finder, meaning you can take the content and embed it into a blog or community website.

Basically, we like sharing and we like making the most of data – so we reckon RDFa’s a good thing all round and an easy win in many ways.

Why do people completely ignore Security?

Tim Wintle - January 27th, 2010

When it comes to security, I’m often shocked by how much people are won over by a little social engineering – but I was even more shocked this morning.

Here are some regular examples of things we routinely see people do – all of which are potentially highly dangerous, and could easily lead to an attacker stealing your bank details, work information, or your entire computer:

  • Open files attached to emails (.swf, .pdf, .doc, .wmv, .sh to name a few) We all know never to open a file we’ve been sent unless the email has been digitally signed right? But how many people actually sign their emails?
  • Embedding content from another domain into your website (pulling a .swf, .js, .class, or even .gif file from another domain can give the other website owner control over what happens on your site)
  • Emailing log-in details. (emails are sent as plain text – if either of you are on wireless, then anyone within 100 meters or so of you can see exactly what’s been sent with some very basic tools)

But what I saw today was even more shocking (to me) – I was invited to join a facebook group, ostensibly to help find a couple who lost thier camera (there’s no reason to suppose that’s not actually what the group is doing, so feel free to go ahead and join).

When I looked at the page, it has this message:

TO MASS INVITE
1)Click "Invite people to join"
2)Delete all the text in your address bar and replace it with the following
javascript:elms=document.getElementById('friends').getElementsByTagName('li');
for(var fid in elms){if(typeof elms[fid] === 'object'){fs.click(elms[fid]);}}
Then hit enter

In fact, looking at the code, that does look like it does what it says on the tin, so nothing dangerous – “what’s the big deal” you might ask?

Well that message is asking you to paste executable source code into your browser, which will run the code as if it was code trusted by facebook

i.e. whatever code you paste into your browser window, can do whatever it wants to do with your facebook account – and I suspect very very few of the people who followed the instructions actually understood exactly what the code was going to do – although I know for a fact that a lot of people did follow the instructions.

So that’s another one to add to the list – Never copy and paste anything into your browser that doesn’t begin with http: or https:

Thought Den’s art of Flash game production

Alex Pitkin - January 15th, 2010

Some really good ‘Rules of Production’ from our compatriots at Thought Den in their The art of flash game production (with some baggage bowling fun thrown in) post.

It was written after the Suitcase Skittles development that we did with them last year for IHG in which we all learnt a lot. But that seems to be the case with most Flash game developments…

Team Rubber Devs Twittering

Anthony George - January 11th, 2010

The Team Rubber developers spend a lot of time, love and craft doing what we do. If you want to know more about what we’re doing and how, follow us on twitter.
http://twitter.com/TeamRubberDevs

The Greatest Web Framework ever!

Tim Wintle - December 10th, 2009

Here’s a question for the non-developers among our readers:

What web framework is this a screen-shot of?

mce1 The Greatest Web Framework ever!

Answer:

(If you answered “Wordpress” you’re wrong)

- it’s actually from something called TinyMCE – which happens to be used for editing blog posts as part of wordpress – but it’s certainly not “wordpress” – it’s commonly used when building all kinds of sites – using all kinds of frameworks.

What wordpress actually looks like (for the people who build wordpress sites):

Wordpress:

wp The Greatest Web Framework ever!

You may not have got much from looking at that screen-shot – so, for comparison, here are what two other common web frameworks look like to the people that use them to build websites:

Turbogears:

turbogears The Greatest Web Framework ever!

Drupal:

drupal1 The Greatest Web Framework ever!

The chances are that you probably wouldn’t have been able to guess which one of those was which [unless you are a developer who has worked on one or more of them for an extended period of time].

Which brings me back to the post title – What is the greatest web framework ever?

Well that depends on what you’ve got experience with, and what site you want to build.

So What’s the best?

For some reason, people often seem to thing there’s a golden bullet to solve all their problems – both developers and clients. During a discussion the other day I likened this argument to saying

“Excel is great – it’s the best Application ever”

- and from that point forward only using Excel – for anything.

You want to play some music while you work, so you fire up Excel, and start rocking out – Sure, some might say that Excel just isn’t as good at playing music as iTunes – but you carry on because “It’s the best Application ever”

Then you want to check your emails – so you fire up Excel again (Your colleagues are sniggering behind you as you ask the jumping paperclip how many new emails you’ve had today – but you use it all the same…)

Oh hang on – you don’t!

Yet as developers we often find that we’re required to build a site using a specific technology – because “It’s the best application ever”

Some examples:

If you’re creating a blog then wordpress is really great – if you’re editing a blog post then there’s a TinyMCE already built-in, along with blog comments, and the ability to list blog posts in reverse-chronological order on the frontpage. If you don’t want those features – or you want other features, then you’re going to have to start building those things from scratch – that means no easy-editing form, no automatic page generation etc (unless you code it yourself).

Google Wave is written using GWT – which is a great tool for their specific requirements as it lets you design web applications that look like desktop applications in a very nice manner (if you’re a pythonista then you’d probably try something like pyjamas for that).

One of the web apps I spend a lot of time in is written in a mixture of Python and ANSI C (no web framework at all) – and that’s the best decision for that application and it’s requirements.

Another project I work on is in Zope – and another one is based around the Shindig OpenSocial framework – again, they’re the right frameworks for the tasks at hand

- and they’re all different because the tasks are all different.

Day 1 – Certified Scrum Master

Laura Wotherspoon - December 1st, 2009

Alex and I have just completed day 1 of our Certified Scrum Master course. It’s reassuring to know that we’re on the right track with all things Scrum at Rubber, and it’s useful to have some tips and hints of how to make things better.

The best thing so far has definitely been the gift of a real life set of ‘Planning Poker Cards’ – to facilitate playing points poker in iteration (sprint) planning.

Planning Poker Cards

Tomorrow promises lots more tools to help us make scrum even more efficient for Rubber. We’ll let you know how it goes!

Optimisation – it’s sometimes needed.

Tim Wintle - November 10th, 2009

Here at Team Rubber, we pride ourselves on working in a fairly agile manner. For the viral ad network in particular, this means that the most important thing at the end of an iteration is to ship working features, rather than to wait until everything is perfect before shipping.

As a side effect of this, optimisation is generally left until it becomes a noticeable issue. Obviously we worry about the complexity of our algorithms, and not designing ourselves into a corner – but I’m generally happy to take a constant speed reduction in exchange for faster development.

The code I’ve been working on this iteration was a different story, however, and I thought this story might be useful to people in the same situation.

My first implementation took about six CPU hours (in userspace alone!) to process just 1.5 Gb of data. Sure it scales sub-linearly, but I don’t want to have to bring loads of extra hardware on-line just to support this program.

The first thing to look at was the profiling information. pstats showed me that we were spending over 35 minutes looking up entries in my custom cache class – which is shared between different applications. This has a knock-on effects on the rest of the system as our cached items have to expire within a set time – this 35 minute delay means at least 10,000 extra (expensive) cache misses during this run. Each cache miss takes an average of 0.03 CPU seconds, so that’s an extra five minutes on top

(more…)

More Cycling promotion from the man

Alex Pitkin - October 28th, 2009
Storing, changing, buying, repairing and inspiring

Storing, changing, buying, repairing and inspiring

I just noticed on the Guardian site that the Government has recently launched a new cycling incentive on top of their already successful (at Team Rubber anyway) Cyclescheme tax saving initiative.

What they seem to be doing is not to offer any more savings on buying a bike – this will remain the same – but offering more support and kudos for companies to actually provide the infrastructure required to allows employees to cycle to work everyday. They are segmenting this infrastructure into 5 main areas:

  • Storing
  • Changing
  • Buying
  • Repairing
  • Inspiring

You can read all about all of these on the Cycle to Work Guarantee site.

Now while these are all great words that would make any type of travel a more successful experience, what I am personally interested in is the ‘Inspiring’ bit.

This is the part that I find the most difficult and have put the most effort into in getting people out of cars and onto bikes. You can read what they’re proposing on the site and all I should really say is good luck!

Picture #9653B: a Corner of our Studio got Better

Andy Parkhouse - October 27th, 2009

I’m not a huge office design nerd but space matters. We spend a lot of time in our studio, and we want it to be right: tidy, comfortable, safe, reliable, welcoming, stimulating and pleasing to the eye. Oh yes, and awesome too.

Getting it right means a lot of “little ups – then over time, we up”. Here’s a few recent wins :)
office_neater