14 Jun Device wall
The device wall project has reached the point where we have something really cool to show! Our mobile development team is building the wall to run user interface tests for Android and iOS across devices. A fun and easy way to run an application simultaneously on phones, tablets, computers, and even TVs. The device wall helps our team to develop applications that guarantee a great user experience, regardless of the device.
Why a device wall?
We have always felt a little frustrated about our offices that are littered with cables, USB hubs and devices. There has be a better solution to run our Android and iOS user interface tests on multiple devices?! We decided it was time for a change. Our mobile developers Pieter Otten and Jordy Langen came up with the idea for a device wall.
Device wall ingredients
Metal plate 1m x 2m, black
Internal: 12x Power sockets
External: 1x Network socket + 1x PowerPlug + switch
4x RenkForce 7-ports 4A USB3.0 HUB
1x Apple MacMini 2014
1x Dell P2418HT TouchScreen monitor
1x Touch-Base MacOS TouchScreen driver
76x strong magnet with a hook
1x Thunderbolt to USB 3.0 adapter
lots of cables (USB/apple/lightning)
1x Samsung Galaxy Nexus
1x Samsung Galaxy S2
2x Samsung Galaxy S3
1x Apple iPhone 4
2x Apple iPhone 5
1x HTC Wildfire
1x Sony Experia Play
1x Samsung S6
1x Asus MeMoPad 7
1x HTC Nexus 9
5x Telekom Puls
1x Samsung Galaxy Tab 3
1x Apple iPad 1
1x Apple iPad 1 gen3
1x Apple iPad Air 2
How it’s made
Our first hurdle: how do you build an device wall? The hardware component itself was actually quite easy. There are people on the web who show their device wall and tell which hardware they have used. What they do not tell you is how they built the exterior. What followed was a “How to build our device wall” brainstorm session. Obviously, we focus on a wall that looks good, but more importantly is the agile aspect, which means we can easily switch devices.
Magnets it is!
We came up with – what we consider to be – a brilliant idea: magnets. And not just sticking a magnet to the back of the device, but using magnets with hooks (so a magnet with a hook) to basically clamp the device. They are easy to move, and the magnet is located behind the device, so nobody will even see it. After a long search we finally found magnets strong enough, with an adjustable hook to support any kind of device .
Get ready to rumble
Next up, we ordered a black metal plate in the exact size with holes pre-cut so we could pull the cables. Our office handyman Ruud Heine created a wooden frame that can house all the cables, USB hubs and the server itself. After some weeks of anxious waiting, we could start assembling everything. In the meantime, we bought a monitor that supported touch and hooked it up to our buildserver.
Now that we have all the hardware in place, it’s time to enhance our current buildserver with the capability to fully interact with our device wall. So we set ourselves a roadmap:
• Create tools that let us run our user interface tests on every available device connected and report back to Jenkins
• Create reports based on the test results
• Create a (reaction time) game called “Whack a device” (you get the idea here)
• Have an image span over all devices, preciously cut based on every devices position, when the buildserver is idle