In mid April, I was welcomed by the Seattle community to speak about Appium at their Mobile Development Meetup. In addition to having a great time and great conversations, there were some key takeaways from the meetup that are worthy of some thought. Of course, there's not time to summarize all the amazing conversations that I had with the wonderful Seattle-ites, but here are the high points.
Mobile testing is more important now than it's ever been. There are few things as painful as submitting your app to the app store, getting it accepted and published, then realizing that your app has a showstopper bug that's getting lots of 1 star reviews. Of course, more testing would solve that problem, but testing everything manually is a long, slow process. So we turn to automated testing, but the situation there is little better. Between all the different frameworks (with different limitations), it starts to feel like you're learning a new framework every time you want to write a test. So it's back to manual testing... and the cycle repeats itself.
There's a deep need for a cross platform testing tool. People are writing apps for Android and iOS now. Not just one or the other. And you're probably being asked to test on both platforms. So rather than manually test on every device and OS you need to support, what can you do? You need a tool that lets you write your app so you can write one test and run it on many platforms. It was great to see people's enthusiasm for Appium because it lets you run tests on iOS and Android.
Accessibility is not optional. This is a sticky issue for a lot of developers. On one hand, accessibility is a key technology for the web, and something we all ought to have in our apps anyway. On the other hand, it takes time to build in accessibility and your project was due yesterday. Tipping the scales in accessibility's favor is the fact that nearly all iOS and Android testing tools use accessibility functionality in some way to automate the device. Much like the early days of browser automation, these labels and hooks are all that exist to allow for automating the device. So if you're stuck on accessibility, remember that it makes testing your apps easier too.
Mobile Development is complex. If you've gone to a mobile meetup, odds are you left with your head spinning. Keeping all the frameworks, concepts, and tools straight is a full-time job, and you've got code to write! Don't feel bad. The mobile world is complex and moves at an astonishing speed. It's worth some time to get the basic concepts straight: Hybrid v. Native apps, the major app development frameworks, and the top testing tools (like Appium!).
Windows Phone and Firefox OS cannot just be ignored. While neither of these platforms has the market share to command a lot of attention yet, it's important that mobile devs keep their eyes on the future. You don't know what the market will choose as the next great platform, and it's absolutely key to keep a strong awareness of what is coming in the future, and how you can write killer apps with great tests on that hot new platform. So important that Sauce Labs' Jonathan Lipps spent his time at GTAC working with some Mozillians to hack Firefox OS into Appium.
Seattle's mobile developers are amazing! I had some great conversations and spent the day after my talk hacking with some cool engineers, getting them set up to use Appium. Props to Carter Rabasa for setting up an amazing meetup. If you're in the Seattle area, check them out!