In this interview, Coveros CEO and founder, Jeff Payne, discusses mobile application quality. The Mobile Dev+Test speaker explains how much the advent of mobile devices has changed the development game, including both benefits and challenges he's experienced.
Josiah Renaudin: Today I'm joined by Jeff Payne, the CEO and founder of Coveros and a keynote speaker at our upcoming Mobile Dev+Test Conference. He'll be speaking on mobile application quality. Jeff, thank you very much for joining us.
Jeff Payne: Thank you for having me.
Josiah Renaudin: No problem at all. First, could you tell us just a bit about your experience in the industry?
Jeff Payne: Sure. At Coveros, we build security-critical applications using agile methods. These days, many, many critical applications are using or have mobile application interfaces. Everything from banks to e-commerce sites to critical infrastructure, et cetera, et cetera, et cetera. It seems like pretty much these days if you don't have a mobile interface for your app or you're not building apps specifically for the mobile space, you're behind.
Josiah Renaudin: I want to talk a lot about your keynote today. How much more complex has application development become with the advent of mobile platforms? Compared to developing on standard PCs, what new intricacies has mobile development brought to the table?
Jeff Payne: Sure, it's very complex. It's a fascinating topic because of that complexity. Some of the areas that we're seeing people are struggling with, both from a development and a testing perspective, are first compatibility and interoperability. There are so many devices out there, and because of the business model for these devices and the operating system and the applications, they're constantly being updated by the developer of the device or the OS or the apps you're using. It's very difficult to put out an application that's going to work on many, many, many different devices and across many, many different versions of those devices. Compatibility and interoperability is huge. That's one area that's big.
A second one is usability, particularly when you're talking about your phone. You're talking about a tiny, tiny little interface, right? When mobile devices first came out, mobile phones first came out, a lot of companies jumped in and built web-based interfaces for their phone, for their app, so that you could look at their website, say for instance on your phone. But it was so tiny nobody could read it. People began to realize that, in order for these devices to be productive, really need to concentrate on usability and user experience, and figure out how to build user interfaces to them that are actually usable. Those two areas, along with performance and security, are just really big in the mobile space.
Josiah Renaudin: It's absolutely more complex, but we've also seen a lot of improvement in the development area. How much has mobile testing improved since we first introduced to smartphones? What strides have we taken to guarantee more consistent quality throughout?
Jeff Payne: Sure, that's a great question. First of all, initially, mobile testing, like any kind of testing on a new environment, was pretty, I'll call it, ad hoc. A lot of clicking around and just trying to make sure that things worked from a user's perspective.
Now you're seeing a lot more structured testing. You're seeing a lot more automation. You're seeing a lot more of what I'll call rigorous exploratory testing, so informal or exploratory types of testing but that are done with rigor associated with them. Very much a better understanding of the importance of the user experience, and testing not only for features and functions, but for usability and how good is the functionality of this thing in terms of usability.
All those things are hugely important, as well as trying to figure out how you deal with the fact that this software that you're building and you're testing sits inside of a device, and ultimately it's got to work in that device. How do you test that, right? How much of the testing do you do outside of the device? How much do you do inside of the device? What kind of a testing process do you follow to make sure from an end-to-end perspective the software works?