Ghostlab - This won't hurt a bit!

I always thought cross-browser testing on multiple devices was a lot like going to the dentist: it is unpleasant even if you are not deathly afraid of the process (which I am), but an absolute necessity to do from time to time, otherwise the undetected problems could escalate and eventually get painful... But maybe now I will be proven wrong about mobile testing, as Ghostlab seems to be the solution that eases the dread and makes the process smoother.

Ghostlab devices
Ghostlab devices

If you are interested in the topic of mobile testing, you probably know quite a few tools and ways of testing, like Sauce Labs and Browserstack, which are useful and easy to learn. At a basic level, Ghostlab is also a simple cross-browser testing app: you can fire up your own server, connect devices to it, then use the app itself to debug your site and make the necessary changes as you go. But Ghostlab manages to be even more than the sum of all similar apps, by offering built-in solutions to the most prevalent problems that surface when doing mobile testing.

No setup whatsoever

Most tools require quite a bit of setup, save for those that work in your browser (but those lack most of the functionality offered by locally run apps in return). Ghostlab only needs to be installed on your machine once, and ensure it’s on the same wifi network as the devices you will use it with. Once the server is started for your own (local or external) project or website, Ghostlab will provide you with the IP address through which your browsers and devices can connect to it. And that is the extent of it, you don’t have to struggle with different apps whether you test on iOS, Android, Windows or Firefox OS devices. As any JS enabled client can connect instantly, compatibility ceases to be an issue: instead of installing something onto all your devices, you can just type in Ghostlab’s address and have all the synchronised magic happen at once!

Synchronised clicks, scrolls and more

Easily the most unique and brilliant feature of Ghostlab is how every interaction is synchronised over all the different browsers. Once you connect a device, you can open pages, click, scroll and even fill out forms in one of the connected browsers (even on your desktop), and see the exact same thing happening across all the other browsers which connect to your Ghostlab server. This makes testing on multiple devices far easier than individually going through the motions on them all. Not only does this awesome synchronisation save a huge amount of time, it also looks surprisingly cool when a bunch of different sized devices start clicking and scrolling through websites in unison!

Remote debugging for every browser

Remote code inspection is traditionally a pain when it comes to mobile testing - especially when you consider older devices or most versions of Internet Explorer. Even for browsers with built in debug capabilities, using it on mobile can be uncomfortable. The solution Ghostlab has to offer for this is a thing of beauty: you can simply click the “inspect” button on the tab of browser/device that is connected, which brings up a devtools window where you can inspect, select and edit DOM content, CSS and scripts. This is made possible by weinre, a remote web inspector bundled with Ghostlab, which lets you play around with and fix your code instantly.

So, do you need it?

Apart from the above described stuff, all of which I find infinitely useful, Ghostlab has a few more nice features which are described in detail on their website. The ability to tweak exactly how content is served through Ghostlab, the idea of resizable, preset workspaces, and the straightforward interface design are all bonuses to an array of must-have functionality.

But the best things in life are usually either very expensive, or they make you fat. While Ghostlab is low on calories, it probably costs more than a freelancer or small company would pay without thinking twice. You can try it free for the first week to see if it does what you need it for, and if you buy multiple licenses it gets a bit cheaper, but when it comes to testing, quality is admittedly expensive...

At the end of the day, Ghostlab might not be the ultimate tool for every need (I don’t believe such a thing exists, anyway) but it made my mobile testing experience considerably less scary and painful. Now if only I found a similar solution for going to the dentist...