The Cloud Grey Blog

Jonathan Lipps Joins HeadSpin as Director, Learning and Education Programs

HeadSpin University

It was over two years ago now when I started Cloud Grey, my Appium and mobile testing-focused consulting firm. It's been an amazing few years, and I've learned a ton by working with all my various clients. One of my major efforts has involved increasing the amount and quality of Appium training and education. My weekly blog & newsletter Appium Pro has grown radically over this time period because, I think, it has been meeting a need.

The need for high-quality training

Increasingly, I've found that what my clients really need is solid training for their staff. For that reason, earlier this year I launched a series of public workshops designed to take attendees from basic knowledge of Appium to an advanced level. At the same time, the world of mobile testing has continued to expand. The types of testing we're responsible for is growing; performance, network, and visual testing are increasingly non-optional components of any test framework.

In my role as a consultant, I've been simultaneously inspired and frustrated. There is so much inspiration to be found in client work and training—so many ideas to make Appium better, for one. It can also be frustrating because so much of my time and energy is put into managing the consulting machinery. Every hour I spend doing expenses or reviewing legal documents is an hour that I can't spend on Appium, or even producing more training-related content. So many people have asked me to create online courses, but I simply don't have the time! I realized that if I wanted to adequately reach the testing world with the type of high-quality training materials I had in mind, I'd need to rely on the energy of a whole team, not just my own.

Making the best quality training ever--with the help of a team!

Observing all these things, and trying to pay attention to them, I decided to join up with HeadSpin as Director, Learning and Education Programs, to find a better way forward for me, for mobile testing, and for training in this space. HeadSpin is a company I've worked with for over two years. I've been an advisor to the company on their Appium support and other initiatives. What I realized over this time is that HeadSpin believes wholeheartedly in Appium's vision, and wants to push it forward with an energy I haven't found anywhere else. HeadSpin is also exploring new products and technologies in the mobile testing space at a really exciting pace.

In addition, HeadSpin believes strongly in high-quality Appium training. So, there was a natural opportunity for us to talk about working together, with the mission of producing the best mobile testing courses available (both online and in-person). Specifically, we care about training that helps learners make practical, high-quality contributions to their companies' app testing. These conversations with HeadSpin began a long time ago, but now, given the huge need all around the world for good online training due to the requirement for many of us to stay home and help fight COVID-19, it's time to turn these ideas into reality! Stay tuned for more news from me on this front soon—I've got some exciting ideas about how to make this training both high-quality and widely accessible.

A taste of what's to come

In the meantime, I'm happy to announce that today we're launching a sort of pre-release version of what we're calling the HeadSpin University, where we've packaged up some of the webinars and articles I've developed in conjunction with HeadSpin over the years. Check it out here, and make sure to sign up for more news as it's made available. In the next few weeks, for example, I'm going to take some of what I've developed for the Appium Pro Workshops and record it as a set of training videos, making it available for free to the community. We all need a little help with everything that's going on in the world, and this is one way I want to give back.

Appium Pro is here to stay

With this change of employment and mission for me, I welcome the opportunity to have a simpler focus, which will also allow me to be more active with the Appium maintainers, pushing forward projects like Appium 2.0 or the creation of new drivers. As a consultant, I didn't have too much time to help manage the Appium project with the other maintainers, and I've lamented my inability to contribute as much as I used to.

I understand that this decision to join HeadSpin might raise some questions about the future of Appium Pro, or indeed of its stance in the industry. For my part, I'll continue to publish Appium Pro, and to write about topics in exactly the same balanced and neutral way I did as an independent consultant. HeadSpin will continue to be the lead sponsor, of course, and I'll continue to choose topics I care about and write what I want. It's been a wonderful resource for the community and I hope it continues to grow as a valuable repository of all things Appium. Indeed, even the trainings I develop under the HeadSpin banner will exist for the purpose of giving everyone the best quality training possible, regardless of the cloud service they ultimately want to use, if any.

I'm very excited about what lies ahead, and how this partnership with HeadSpin will enable me to bring more focus and more value overall to the Appium community. Please don't hesitate to let me know what you're hoping this new development will bring, too!

Announcing Appium Pro Training Workshops

Appium Pro Workshops

Over the course of the last few years since I've been working on Cloud Grey, doing all kinds of Appium and mobile testing consulting, I've noticed a huge need for high-quality Appium training. For this reason, a service I regularly provide my clients is the development of custom training for a specific team, based on the needs and skill level of the team (do they prefer Python over Java? do they have a greater need for performance testing than visual validation? etc...) This has gone really well for my clients, and I've learned a lot in the process! (Interested in custom training for your enterprise QA or dev team? Get in touch!)

Over time, I've realized that there's often a need not for a whole team but for one or a few people within an organization to level up their Appium or mobile testing skills. These people have been left out of Cloud Grey's training program so far, because their organization doesn't see the need to develop a custom training for just one or two people. For this reason, I've decided to develop a set of "standard" training workshops, and will be hosting these workshops all around the globe, in the hopes of bringing the best Appium and mobile testing training the world has to offer, to the world.

Because of the work I and Cloud Grey have been doing over the years with Appium Pro, delivering great Appium-related tips and tutorials, I thought that there's no better home for this new program than Appium Pro! For this reason I'm very happy to announce Appium Pro Training Workshops. Check out the link there for a full description of the first training workshop I'm offering, designed to take learners from an existing intermediate Appium skill level on a journey to understanding a host of more complex and advanced concepts and techniques, including performance testing, visual testing, and the use of AI for testing.

These workshops will consist of 2 full days of Appium training, will be led by me personally, and will be available on a first-come, first-served basis to a small group of people, to ensure a high-touch and hands-on environment with lots of help for everyone. I'm launching this program with two locations and dates already set:

To celebrate the initial launch of this workshop program, I'm offering a small set of tickets for each workshop at a dramatic discount of $500 off! Please take advantage of this opportunity and be one of the first Appium aficionados to get the best Appium training I think there is, anywhere. If you have any questions, or want to request a workshop on a different topic or in a different location, please drop me a line.

Appium 1.15 Released

Appium 1.15 is out! Check out my highlights from the changelog below, my comments in italics:


  • Add --base-path server argument to set a custom route prefix #13079. This means you don't have to have your Appium server running at "/wd/hub" anymore if you don't want to!
  • Make it possible to start server without an app or a package id using UiAutomator2 and XCUITest #337 #195
  • Internally, WebDriverAgent, UiAutomator2 and Espresso servers operate only through W3C spec protocol. Yay, no more old protocols floating around!


  • Support iOS 13/Xcode 11. iOS 13 release is huge
  • Settings (these can all be toggled to different values throughout the course of the test)
    • mjpegScalingFactor #983
    • snapshotTimeout #181
    • useFirstMatch #187
    • defaultActiveApplication #209
    • activeAppDetectionPoint #215 #218
  • New capabilities
    • includeSafariInWebviews #1060
    • safariGlobalPreferences #1057
  • Remove some third-party dependencies (this is big news because we no longer need to install these dependencies on the system to automate real iOS devices--all we need is Appium!)
  • Add ability to automate split screen applications #214 #215 #204 (Split screen apps are a new important category of iOS app we need to be aware of)
  • Switch async execute to not need CORS (works for real and simulated devices) #1063 (this is nice because we used to have to disable CORS protection on the Appium server to get async execute working).

Android General

  • Default Chromedriver version is 77.0.3865.40 #143
  • Add server feature to enable automated Chromedriver downloads #548. Hooray, no more going and downloading Chromedriver manually!
  • New capabilities
    • waitForLaunch #556 #327
    • ensureWebviewsHavePages #553. Sometimes you can get webviews that don't actually have pages and aren't automatable by Chromedriver, so this prevents them from showing up in the context list.)
    • enforceAppInstall #573

There's lots more to the changelog; these are just the bits I felt like calling out. Check out the rest here! And as always, you can get the latest simply with npm install -g appium! + Appium Element Finding Plugin Improvements

If you weren't at SeleniumConf 2018 in Chicago, you might have missed the talk by Jason Arbon (with a cameo by yours truly) on work I did in conjunction with to bring Artificial Intelligence to finding elements with Appium. Here's the video in case you want the full scoop:

In the last months, we've looked for ways to improve the performance and accuracy of the plugin, and there are two recent changes worth mentioning:

  1. Images are now classified in their greyscale format rather than color RGB. The purpose for this intentional loss of information is twofold: first of all, users are typically able to recognize icons by their shape alone. Color is obviously important, but most icons can be reasonably classified with only reference to shape. Because of this, there's no real reason to include color information as it makes the learning space bigger. That is why, second, the original model was trained on greyscale images. Using greyscale images in the plugin thus improves prediction accuracy.
  2. The plugin now takes advantage of TensorFlow's ability to classify multiple images in parallel. While the image classification step was never the long pole in the tent (so to speak), this improvement just about doubles the classification speed.

There are still ideas we have to make this plugin better, for example figuring out how to avoid getting every single element and its screenshot from the app using XPath, as this is incredibly time-consuming!

If you haven't yet tried out the plugin, be sure to read the Appium Pro article on the plugin to learn how to get started. And then, make sure you have the most recent version (2.1), which contains the improvements listed above. Happy testing!

Jonah Stiennon Joins Cloud Grey

Jonah Stiennon

Cloud Grey is pleased to announce that Jonah Stiennon (GitHub, LinkedIn) has joined Jonathan Lipps (Cloud Grey's founding principal) as the firm's first partner. Jonah has a long history with Appium, having been one of the first people hired by Jonathan to work full-time on Appium at Sauce Labs, in the initial days of the Sauce Labs Open Source team.

Despite having taken a few years to pursue other opportunities, Jonah still sits in the top 10 Appium contributors by commit count. More recently, you may have noticed Jonah contributing some posts to the weekly Appium Pro newsletter (for example, an epic guide to Getting Started With Appium For iOS Real Device Testing). We, and the Appium project, are excited to have someone with such history and context rejoin the industry and get hacking on Appium again.

It's not just the Appium community at large that will benefit from Jonah's involvement, however. Cloud Grey's clients will also be glad to hear of the additional bandwidth we will have for trainings, strategy consulting, and other services. For Jonah's part, he's excited for the opportunity to put his open source prowess to work, and directly help solve client problems as part of Cloud Grey:

"I'm excited to be re-entering the Software Test Automation industry, and looking forward to working with Jonathan and Cloud Grey. This is a big step for me personally, and I look forward to applying my skills and knowledge towards leveling up all the QA and software test professionals who comprise our community."

Everybody please give Jonah a hearty welcome! And if now is the time you've been waiting for to get some help putting your mobile automation in order, don't hesitate to contact us.

Test Talks Debut


Last week I had the pleasure of recording a super-fun interview with Joe Colantonio on his Test Talks show. We talked about Cloud Grey, Appium Pro, and a host of specific Appium-related topics.

Check out the full episode and don't forget to sign up for Appium Pro!

Hello World

I am thrilled to be announcing this brand new consultancy. For a long time I have seen the need for greater professional assistance in the world of Appium automation, and the time has come to step out and make it happen. The idea behind Cloud Grey ("Appium services") is simple, and will no doubt expand and grow over time. Regardless of what it becomes, I am confident that it will enable me the time and space to continue contributing to the Appium project.

There's a lot to be excited about with Appium right now. New features, new docs, new drivers, and AppiumConf right around the corner. Of course, the world of mobile automation is as confusing and volatile as ever. I hope that Cloud Grey will help Appium users to further understand the bewildering array of choices faced when starting out automating their mobile apps.

I am particularly enthusiastic about the fact that Cloud Grey, even before our official launch, has joined the JS Foundation. The JS Foundation is the non-profit foundation that hosts the Appium project, along with a number of other important projects in the JS ecosystem. Given that Appium relies completely on this ecosystem, and the same is true of Cloud Grey, it's only right to support the ecosystem financially.

Last, but not least, we are also launching Appium Pro, our new weekly Appium newsletter. It's designed to share interesting tips and tricks for using Appium more effectively, along with any important news from the community. Go on, subscribe now!

Thanks for reading, and don't hesitate to contact us if you have any questions, or want to see particular kinds of content in this space. The best way to keep up with this blog will be to follow our Twitter account. Happy testing!