Yes, you read it right. I had to go and fix my mobile in a service center and it happened to be a place with everyone around complaining. I had to wait for a long time before my turn came. I had my laptop and local database/services too, off-course I use git. So no reason for me not to work on my code.
As I started my work I could not stop people around me talking to each other about complaining about the software on their phone. I quickly notice that most of the issues were with the software updates, loss of emails app and installation of apps. I was quickly attracted to the kind of pain they where going through it. Days since they where unable to use the phone optimally and the amount to visit they made to the service center which where unanswered and the list goes on.
The questions that struck me was:
- Have I made a deliberate attempt in the my app that I was developing?
- Was there enough information and help provided to the users?
- Is there enough diagnostics to be retrieved for special case issues?
- Are health monitoring of app done on regular basis?
- Does the design include after service of once the app is installed?
These could be some trivial question on the face of it. However when you run a small team and solving some specific problems for clients. Do we incorporate these point initially at the beginning? Think about it. By the way when I was running my app on the emulator few of the customer where very interested in looking at my screen. So I would suggest if it is possible write some code sitting around the actual consumer of your app.