Part 1: Backstory
Each month at Etch we take a breather from project work for a hackday. Typically we spend our time experimenting with the latest web tech, or creating something light-hearted like SJWN or iFaux 5. This year we intend to focus each hackday on making something useful.
A few weeks ago, whilst on one of our regular wake-up-shake-ups, we started talking about an idea for the hack, the conversation went something like this…
Jim: “What are we going to make this month?”
Kev: “I feel like doing something with hardware.”
Gav: “How about an Open Device Lab? We could put some shelves up in the planning room and get our devices out on display.”
Could we setup an ODL at Etch?
We’ve thought about setting up an ODL for a while. There’s an increasing amount of advice and resources to help get setup. But we’ve always been concerned about how viable it would be to run a Lab in our studio:
✓ Collection of devices.
We have a modest collection of devices but they would still be enough to fill a spreadsheet with bug reports.
✗ Not enough space.
Our workspace is small. Having another team in the building would make it quite cramped — we’d be close friends by the end of the day.
✗ Wrong location.
We’re based in Canterbury — it’s a quiet City and there’s not much of a tech-scene here. If we built a Lab would many people come and use it?
Was there an alternative?
Jim: “What about a device lab that comes to you… a lab in a van?”
Kev: “Hmm… a van could be a bit expensive to run.”
Gav: “It’s only a couple of dozen smartphones… you could fit them into a suitcase.”
Jim: “Yeah, you could pick it up and take it away with you… or have it delivered.”
Thinking about the Pros and Cons.
ODLs are awesome! In a perfect world, we’d all have one on our doorstep. Until that day arrives a portable lab could really help.
With a bricks and mortar ODL:
✗ Taking the whole team out takes time and money.
✗ You might only have a day at the lab, what if testing takes longer?
With a portable ODL (in a case):
✓ Stay put, the Lab comes to you.
✓ Spend more time testing, in your own environment.
This was starting to make a lot of sense.
How do you fit a Device Lab into a suitcase?
We had some stuff to figure out.
Part 2: Proof of concept.
On the morning of the hackday we got straight to work — the room was filled with everything we might need: micro USB cables, extension leads, Hubs, Routers, Wood, Metal, Cardboard, Hammers, a cuddly toy, Saws, Power-Drill, Jigsaw, oh yeah… and some Devices.
Where did we start… ‘content first’ of course… we worked out what had to go into the case.
TL;DR: If you haven’t got time to read on here’s a photo log of the day’s events.
How many Devices?
After a search for some up to date stats on Device market share, e ended up with a list of about 10 devices that would cover all bases.
- Screen resolutions — from tiny 240px to 800px phablet widths.
- Pixels per inch.
- CPU performance.
- Devices with known quirks — like the Kindle fire which uses a weird rendering engine.
- Different OS versions for Android and iOS
We decided not to include iDevices on our wishlist. a) they’re expensive to buy/replace. b) everyone has one anyway.
We knew what devices we needed, now we had to get them syncing. We tried out 4 pieces of software:
Ghostlab: is a serious bit of kit. It works great and is painless to setup, but it’s not free or open source.
BrowSync: keeps devices in sync by controlling them from a chrome extensions, whilst devices run native apps to communicate. It worked well for the devices it supports, but we needed something with more coverage.
Remote Preview: a more lightweight solution, using content in an iframe, we didn’t try it out because it sounded a bit too limiting.
Browser sync: uses Node.js to keep devices in sync, similar to Ghostlab except it’s open source.
We settled on Browser Sync. as it’s got a few features we really liked:
- not too much configuration needed.
- it integrates with Grunt so can work as part of our build script.
- because of NPM integration it can be part of a project repo.
- it works on Linux (unlike Ghostlab)
We had a few problem problems with synchronised scrolling — maybe from multiple inertia scroll devices? And occasionally devices would fall out of sync, but over all it was pretty impressive.
Picking the right case.
We had to figure out how devices could be stored in the case securely, so that they were safe when being transported, but still easy to unpack when they arrived. We opted for a small flight case:
- robust and lockable.
- compact to keep shipping prices as low as possible.
- convenient size to sit on a desk.
How could we display the devices when they were unpacked? It needed to be practical:
- Devices needed to face the same way and be positioned at a comfortable viewing angle.
- Devices needed to be easy to pick the devices up (we used this magic stuff called velcro).
Easy to setup.
After some trial and error we managed to get the setup process down to 5 simple steps.
- Open the case and unpack everything.
- Rest the Device stand against the back of the case.
- Route the cables from each device to the USB hub.
- Switch the Devices on and boot up your software
- Sit back and enjoy the magic.
Connecting to the software.
We optimise each device for easy connection to network by putting settings on home screen and having notes for steps to connect to wifi. Either using a pinned notes app if available, or producing a custom wallpaper with the notes written on it.
The moment of truth…
Boom! It works… Device Lab in a case.
“We were so chuffed with the end result, that we decided to continue the experiment.”
Part 3: Labcase for Hire.
We’re setting up Labcase.org — a non-profit hire service where teams can get a compact Device Lab delivered to their workplace.
We’re taking what we learnt from making the concept Labcase and putting it into a new improved version. This one will be easier to setup and hold more devices — packed away securely in a lockable Gun case.
If you’re interested in hiring a Labcase go to the site and drop-off your email address, and we’ll notify you when the service starts. It will be available in the UK at first, but we hope that this inspires others to setup a Labcase, and that those can be listed for hire too.
If you have any questions or suggestions send us a tweet @Etch