I am a sucker for tools. Especially developer tools. This is why I just had to write something about AT&T’s Application Resource Optimizer – ARO.
Here’s a short video of what ARO is:
In a way, developers today have a lot more on their shoulders. In the past, they had to deal a bit with memory issues and a few other resources and make sure their products don’t crash. These days they have to also deal with security, multi-threading, scaling, networking and a bunch of other things.
The problem is, that at the same time, we expect a lot less from developers: they now use higher level abstractions, 3rd and 4th generation languages, they are integrating modules more than writing their own code. All this is great, but it leads to a degree of waste: of computing resources that are used improperly.
Troy Hunt explains it best in his post where he goes to show what mobile apps “do” over the network:
You can kind of get how these issues happen; every man and his dog appears to be building mobile apps these days and a low bar to entry is always going to introduce some quality issues. But Facebook? And Qantas? What are their excuses for making security take a back seat?
Developers can get away with more sloppy or sneaky practices in mobile apps as the execution is usually further out of view.
His post is an eye opener and a call for action. It shows us how out future looks: if anything and everything can and will be written in Java Script, as Jeff Atwood suggests, then we’re all headed to a world of pain.
For that reason, a tool for real developers such as the one AT&T is offering is so important.
So what exactly does this ARO does? It collects data by testing your application and generates trace files that can then be analyzed. The kind of information it collects:
- Data traffic – TCP sessions, HTTP packets and their content
- Screen video captures at a low frames per second
- User input
- Battery level
- Device usage – GPS, Camera, Bluetooth
The analyzer is the front end that provides feedback and suggestions on what can be done.
I haven’t had the pleasure of playing with this tool, but I am sure it is an essential one for application developers.
Have a tool I need to know about? Just send me a comment about it.
Want to know of more developer tools that I like? Check out my tools of the trade.