Open Device Labs: Why Should We Care?

Advertisement

With all of the different smartphones, tablets and other devices that sport various operating systems and versions thereof, a Web developer’s job — testing (sometimes virtually) on multiple devices to resolve errors — hasn’t become any simpler. This article suggests how we can manage these tasks without pouring a truck-load of money into actually buying all of these different devices.

odl-nbg-2-4-5001
A user tests his website on a Blackberry device and takes notes of bugs.

Do You Test On Actual Devices?

Whether you develop websites or apps, you face several problems in ensuring that a product runs correctly on as many devices as possible. Emulators for iOS, Android, Opera and the rest can help with that, but they differ from the software that runs on real devices. One of the things you just can’t simulate properly is touch interaction. Without being able to test gestures, there is no way to find out whether your users will understand how to use your interface. Because this is unlikely to change anytime soon, there is no way around testing on real devices.

While most developers probably have a smartphone and a tablet at home, two devices cover only a fraction of the types of devices and operating systems available — devices and operating systems that you should be testing your projects on. There are dozens of screen sizes, browsers and display types, and they make a huge difference when you’re fixing bugs in a responsive design. Despite your CSS and JavaScript being valid and well written, malfunctions on some mobile devices will occur simply because the variety of rendering engines haven’t been sufficiently standardized.

odl-nbg-2-15-500_mini2
Testing touch gestures on different devices.

Some errors you would probably never notice because they appear only on devices that are uncommon in your country — but may be common in others. Thus, buying a lot of devices for testing seems to be an obvious solution. But that leads to two major problems: buying all of these devices would become very expensive (and you probably would not use them regularly anyway). Secondly, remote debugging on a wide variety of devices is not that simple. Fortunately, this has become much easier with all of the tools available today, but you still have to deal with it.

Crowd-Sourcing Makes Life Easier

This is where crowd-sourcing comes in. No one needs all of these devices every day. In fact, most developers need them only every few weeks.

Instead of every developer buying them all, what if there was a place where people could share devices for testing? If each person purchased a single device, you might already have enough to set up a device lab — which would save you a lot of money. The bigger the community of people contributing to this lab, the larger the variety of devices to test on. Even better, the community could even ask manufacturers to provide their devices to the lab, thus saving you even more money. Thus, access to mobile devices and a great testing space would be made available not just to you, but to everyone.

The Open Device Lab3 initiative aims to do just that. Currently, there are more than 50 locations around the world where a developer can go to test their project on multiple devices (some labs have more than 80 in stock). Most are completely free to use, while a few charge a small fee to cover the cost of running the lab. Because open device labs are meant to be non-profit, this is a fair deal and still much cheaper than buying the devices on your own.

odl-nbg-2-2-500_mini4
A co-working space can be a nice surrounding for an Open Device Lab.

The people behind the labs range from individual developers who establish labs in their local co-working spaces to agencies that open their doors to share their hardware and knowledge with everyone. Different labs focus on different types of development: some on websites, some on apps, others on operating systems. Most have rules on using the lab. In general, you will want to make sure that installing your own software or wiping a device is OK.

Most sites cover a wide range of mobile manufacturers. In general, open device labs aim to supply at least the devices most used in their area. To check which devices are available in your area, search for a lab5 and check the list of manufacturers.

Many labs also provide development tools, such as Weinre6, Adobe Edge Inspect7, JS Console8 and Remote Preview9, as well as platform-specific tools, such as the Safari Web Inspector10. Remote inspection11 might be set up in some labs so that you can test and debug your websites from your computer, while some labs will have helper tools to enable you to test a product synchronously on all devices and debug individually. Each lab has its own features, so check to see whether the one near you meets your needs.

While Remote Preview will display a website on different devices, JS Console is just a remote console for your website. Weinre and Edge Inspect allow for remote inspection through a WebKit inspector and synchronized browsing, but they only run in the embedded Web view of the OS.

The labs also address Wi-Fi issues12 that occur with normal routers when more than an 40 devices are connected to the network. People have already solved problems that would normally drive you crazy, and they are happy to share their solution with you. And you can do the same by sharing your knowledge with others.

Many labs are built in existing co-working spaces, which makes it easy to maintain and access them. Another advantage of this is that you can schedule your time in the co-working space to coincide with when you will need to test extensively.

odl-nbg-2-16-500_mini13
A user takes notes about viewing his website on a Blackberry.

Help Yourself And The Community

You can benefit a lot from such spaces. When you’re tackling a particularly tricky problem, the lab very likely has people who can assist you.

But make sure to help others when they ask for it. Developing websites together is much more fun and, from my experience, produces better results. And when you deliver great work, other people will notice and will consider hiring you for future work.

Support Open Device Labs

Because open device labs are built by the community for the community, it is very important that users give a little back. Doing this is rather simple. Most people have old devices at home. If you do and don’t need them anymore, consider donating them.

Secondly, offer some spare time to maintain a lab or at least spread the word among your colleagues. All of these little things help labs to grow, in turn helping developers like you all around the world.

The Open Device Labs14 website has a map of all existing labs. You can see how many devices are available and from which manufacturers, and you can read and give feedback on each lab. Thus, you can easily find a lab that fits your needs.

odl-nbg-2-18-500_mini15
Viewing your product on various devices at one place makes it easy for you to identify problems.

Nonetheless, many more labs are needed around the world, as shown in the world map16. The demand is worldwide, but many people don’t know that such labs exist or how easy starting one actually is. Labs flourish with enough supporters, and the more supporters in a region, the better a lab gets. So, help to build these spaces, and tell others about the movement.

An API17 enables easy access to information about all of the labs. To open up your own lab, the non-profit organization LabUp2018 will support you by providing relevant information. You can easily build a website for your lab, and keep basic information about the lab up to date using the API. It is CORS- and JSONP-enabled, so you can access it right from your own domain. The documentation19 describes what kind of data you can access with the API and how to implement it on your website.

Create An Open Device Lab

Open device labs are a new movement, so you might not find one near you. But filling the gap is easy. Just search for colleagues in your region, connect with them, build the lab together, and move the Web forward! If you work at a company that owns a lot of devices, creating an open device lab is especially easy. But creating one wouldn’t be much harder for a freelancer. LabUp2018 will be happy to help you establish a lab21 by giving you tips on setting up the technical aspects and by connecting you to device manufacturers.

If you’d like to spearhead a lab in your area, taking care of the following details will give you a good start:

  • Make the space open and freely accessible.
  • Create a pleasant interior so that people look forward to coming.
  • Provide some devices at launch, and invite contributions or sponsorships.
  • Make sure the Internet connection is fast and reliable.
  • Build rock-solid Wi-Fi.
  • Install stands for the devices.
  • Secure the devices so that they don’t get stolen.
  • Coordinate people to run the lab when it’s open. (And consider keeping it open for long hours).
  • Find ways to reduce costs for you and the lab’s users.

In short, seriously consider creating, maintaining or supporting an open device lab in your area.

odl-devicepark-500_mini22
Open Device Labs often have a lot of different devices to test on.

More Resources

All images by Open Device Lab Nuremberg27.

(al) (ea)

Footnotes

  1. 1 http://www.smashingmagazine.com/wp-content/uploads/2013/05/odl-nbg-2-4_mini.jpg
  2. 2 http://www.smashingmagazine.com/wp-content/uploads/2013/05/odl-nbg-2-15_mini.jpg
  3. 3 http://opendevicelab.com/
  4. 4 http://www.smashingmagazine.com/wp-content/uploads/2013/05/odl-nbg-2-2_mini.jpg
  5. 5 http://opendevicelab.com/#find
  6. 6 http://people.apache.org/~pmuellr/weinre/docs/latest/
  7. 7 http://html.adobe.com/edge/inspect/
  8. 8 http://jsconsole.com/
  9. 9 https://github.com/viljamis/Remote-Preview
  10. 10 http://developer.apple.com/library/ios/#documentation/AppleApplications/Reference/SafariWebContent/DebuggingSafarioniPhoneContent/DebuggingSafarioniPhoneContent.html
  11. 11 https://gist.github.com/3816624
  12. 12 http://klick-ass.com/news/affordable-wifi-access-point-capable-to-support-50-100-clients-wanted/
  13. 13 http://www.smashingmagazine.com/wp-content/uploads/2013/05/odl-nbg-2-16_mini.jpg
  14. 14 http://opendevicelab.com/
  15. 15 http://www.smashingmagazine.com/wp-content/uploads/2013/05/odl-nbg-2-18_mini.jpg
  16. 16 http://opendevicelab.com/#find
  17. 17 http://api.opendevicelab.com/
  18. 18 http://lab-up.org/
  19. 19 http://opendevicelab.com/api-documentation.php
  20. 20 http://lab-up.org/
  21. 21 http://www.smashingmagazine.com/2012/069/24/establishing-an-open-device-lab/
  22. 22 http://www.smashingmagazine.com/wp-content/uploads/2013/05/odl-devicepark_mini.jpg
  23. 23 http://lab-up.org/
  24. 24 http://www.smashingmagazine.com/2012/09/24/establishing-an-open-device-lab/
  25. 25 http://www.dmolsen.com/mobile-in-higher-ed/2012/06/26/how-to-build-a-device-lab-part-1/
  26. 26 http://klick-ass.com/tag/open-device-lab/
  27. 27 http://odl-nbg.de/en

↑ Back to topShare on Twitter

Anselm Hannemann is freelance frontend webdeveloper and digital magazine creator. He helps implementing Responsive Images as a W3C standard, helped building opendevicelab.com and organizes a publishing conference.

Advertising
  1. 1

    Creating the device labs is really costly. You need to be very careful about your devices. This article is very helpful.

    3
  2. 2

    The Open Device Lab is a nice concept and needed to support this initiative. Thanks for putting it together.

    3
  3. 3

    This is the first I’ve heard of this, but it’s a fantastic idea. Not only is the “device lab” cool, I think it’d be great if companies that had these labs would publicize them and open them up to the general public, even if it were for one or two days in a week. It’d be a great way for smaller design shops to gain publicity.

    At my company, we’re all work-from-home guys and we don’t yet have a dedicated testing team. We realized that we had a big problem if someone was assigned to the project, but didn’t have the devices that were in scope for the project.

    So we took an inventory of all the devices that we all had, and we found out that we had every generation of iPhone, iPad, kindles, Android tablets, and quite a few Android phones….So we have a ‘crowd-sourced’ device lab, so-to-speak. We’ll use emulators where we can, and when it comes time for testing, we just notify whoever has the device to set aside a few hours for testing.

    4
  4. 4

    Simon Papineau

    May 29, 2013 3:46 am

    This is a really interesting article, I’ll look into creating a lab for Montreal. Alternatively, there are more and more “crowdsourced testing” providers popping up on the web.

    2
  5. 5

    Wow, it’s a great idea for dev in order to test their product on actual device and be inspired by people around … !

    0
  6. 6

    Martin Dufresne

    May 29, 2013 8:29 pm

    Great article! In Canada, Wavefront a non for profit accelerating Canadian mobile companies has put in place device libraries where devs can use them for testing. Over 1000 devices to choose from with libraries in Vancouver, Waterloo, Toronto, Ottawa and Montreal

    1
  7. 7

    At Clearleft in Brighton UK, we have created a device lab over time which has been based on people donating old devices. A few we have paid for, but it isn’t costly. Just think, every time somebody upgrades, what are they going to do with their handset? The Clearleft lab isn’t limited to handheld devices either which is something that has been common in a few others. We also have things like Microsoft Surface, Chrome Book and various low-cost unbranded tablets.

    Our door is always open for people to come in and test things.

    1
  8. 8

    This is a fantastic initiative and should prove very useful for startups that have very little money. While testing our app, we went about posting messages like ‘Does anyone have ‘x’ device running on ‘y’ OS?’ Had to call friends and beg them to take some time out and test the app on their devices. With one of these locations close by life would have been so much easier.

    1
  9. 9

    Christopher Stratis

    May 30, 2013 4:04 pm

    At their recent Evolve conference, Xamarin announced a very impressive looking solution for this problem, Xamarin Test Cloud. (http://xamarin.com/test-cloud)

    I was in attendance during the keynote when it was unveiled, and all of the developers in the crowd were really impressed with the idea, implementation, and potential that this solution has. The keynote announcement is online on their website here: http://xamarin.com/evolve/2013#keynote-72:12

    Just thought I’d pass that along as another alternative to consider for solving the device testing problem with so many platforms, devices, and form factors to cover.

    0
    • 10

      Joschi Kuphal / Open Device Lab Nürnberg

      May 31, 2013 12:23 am

      Thanks, Christopher, for the link to Xamarin’s test cloud. I’ve watched the keynote, and it’s definitely an interesting product. However, I would not consider it a real alternative to physical device testing. Firstly, if I didn’t miss something, it is focused on testing native apps. While native app testing is indeed a possible use case for an open device lab, at least at our lab it’s mostly websites that are tested. Furthermore, Xamarin’s test cloud still doesn’t provide any feedback about the process of interacting with the device (i.e. using the touchscreen, listening to sound, using the camera etc.). From this perspective, the test cloud is nothing more than an huge emulator, with all it’s advantages and disadvantages. This is exactly what open device labs are trying to overcome …

      1
  10. 11

    Has anyone actually come up with a decent to-do/check list for those times when you have access to a range of devices?

    0
    • 12

      Anselm Hannemann

      June 3, 2013 7:33 am

      Hi dtgreen, I am not sure if I understand you correctly. If you mean a check-list what things to test on your site there can’t be a proper list. It fully depends on your website and its components. Generally you always should test the user experience (touch gestures, button sizing) of the whole site (not only the home page) and might step a bit deeper into JavaScript-driven features as there can be a difference in behavior sometimes. Don’t forget about pointer events on Windows Phone 8 systems if you added touch gesture handlers in your website.

      -1
  11. 13

    Great concept! Not only does it provide you with better testing, I think it’s also a good thing to bring knowledge about mobile development together this way.

    It might be hard to find / start such a place though in areas with a low ‘developer density’, but a friend of mine came up with a clever solution for that: ask your local telecom shop if you can test your stuff over there! They often have lots of different devices laying around and if you pick a quiet day, they will probably lend you a hand. Maybe even help you with the actual testing! So ask nicely, and who knows how this might evolve…

    0
  12. 14

    This is fantastic, great initiative but long way to go though.
    cheers.

    0
  13. 15

    Emil R. Møller

    June 16, 2013 10:45 pm

    Thank you @Anselm Hannemann for making a good article telling about OpenDevicelabs, as I believe it’s absolutely essential for delivering a good user expierence in our fast time of the web moving towards mobile devices.

    I had a hard time finding an open devicelab ( Copenhagen ), and also i find it pretty time consuming going to an devicelab to check how it looks, go back to the office, fix it, and looping that process for each project.

    Well… I build my own devicelab without spending money using, adobe edge inspect and remote preview and cardboard docks.
    Took me about 2 hours to figure out how the tools worked and make a device access point on my own server ( Used by Remote preview), looked in my closed for old broken devices with the screen intact, called some friends getting old iphones, android phones they didn’t use.

    0$ later and a day i now have 8 devices to doing live development and testing while building my projects thanks to the web community and friends.

    I can only recommend every front-end developer to try it out, and let others use it!

    Regards

    Great article! Thanks!

    1

Leave a Comment

Yay! You've decided to leave a comment. That's fantastic! Please keep in mind that comments are moderated and rel="nofollow" is in use. So, please do not use a spammy keyword or a domain as your name, or else it will be deleted. Let's have a personal and meaningful conversation instead. Thanks for dropping by!

↑ Back to top