Developing your own apps isn’t easy.
Well, that’s not quite true. Writing the code can be easy, but the real challenge comes when you actually have to operate the services you’ve built, and support your users. And if your app is a departmental app you’ve built yourself? That means you're now your own operations team. You’re going to have to plan how you’re going to run your services, and how you’re going to communicate with users.
Running a service is a long way from writing the code. You’re going to need to be on top of the services and APIs you’re using in your app, and keeping an eye on the networks and platforms that are running your code. You don’t need to have the same SLAs as a commercial app, or one that’s come from your IT department, and you don’t have to provide out-of-hours support – but your users are going to expect to be able to use the app when they want to, as it’s there to help get their jobs done.
So what can you do? If you’re using a platform like Azure to build your apps, many of the operational tools you’re looking for are built in. The same goes for the upcoming 2013 release of Visual Studio, which lets you debug code running on remote browsers. But you have no control over a lot of the things you'll be using in your apps. So that neat location service you’re using to help a field service engineer get to a customer -- you know that it says it’s accurate to 20 feet or so, but do you know how accurate it really is?
That’s a big problem facing any developer building a quick app for a few people. You may well trust a service enough to put it at the heart of your code, but if it’s a consumer-grade service you’re not going to have a service agreement to call on, and the user agreement you signed up to is unlikely to be any help when your users start complaining.
Part of the solution is educating your users, letting them know that they’re using apps that have been built with consumer-grade tools and that there’s no service level agreement. But that brings in another problem, as many consumer services are rock solid.
When did you last see Facebook go down, or Google Maps have a major outage? Users will expect the same level of service from your apps, even if the free API you’re using only has a limited number of calls an hour.
Working with an API brokerage can help, as it lets you see how many calls you’re using, and when you’re close to a limit. You could build those features into your own services, but you’re building apps to help your colleagues, not to spend your time operating a service – especially as you’ve still got your own job to do. Being able to log onto a portal simplifies the task of managing your services by letting you see key information at a glance.
Viafo's new service helps you keep tabs
The team behind the Viafo API brokerage are currently trialing a new service, aimed at giving both developers and API owners a view of how their APIs are performing. It’s a useful service, and one that means that you’re able to understand just why your users weren’t able to use your app a week ago, and why they’re only getting a 75% success rate with certain calls.
Viatest monitors API calls, showing just how reliable calls are to key APIs, as well as showing you how responsive they are. A service might well have an 100% uptime over the last month, but if its responses are slow, they’re going to impact your users’ experience of your app. It doesn’t matter what type of service you’re running, if users are unhappy, you’re going to hear about it, sooner rather than later.
If you can respond with details of why your users are getting a poor experience, and what you’re doing to fix the problem, then your users will be much more forgiving than if you ignore their requests, or give them a poorly thought out excuse. We’re all familiar with the stereotypical IT support request to “turn it on and off again,” so why not surprise your users with a detailed explanation of the problem and the planned solution?
The Viatest service is still in beta, but it’s already gathering useful data. The longer it’s live, and the more test devices connected to the service, the more data it will collect – and the more information you’ll be able to use to understand what services are working for you, and if they aren’t, which services you can switch to. It’s an approach that should simplify making key decisions, and can also benefit API providers by letting them know more about the experiences their users are having.
Information like that provided by Viatest is a powerful tool for any developer. It will help you answer questions from your users, as well as helping you chose the services you’re going to use - even if you’re just building a marketing tool for a one off project. Understanding the user experience deeply is vitally important in building modern apps, whether they’re desktop, tablet or smartphone. It influences everything from the services you’re using, to the services you’re building, from the design of an application, to its underlying architecture.
The more (and the more accurate) information you have, the happier your users will be – and as an added bonus your app is going to run better with each new lesson you learn.