Small things can drastically improve productivity
Nov 20, 2013
I have always thought that smart laziness was a good quality, and to be honest, I still believe it.
Every month, I enter my activity and expenses into our system. Every month I fear this moment ; it’s one of the most painful tasks and processes I have to go through. Some of my colleagues believe that the process is painful on purpose to make sure you don’t expense everything every month, so the company can save some money. On my end, I think that people who designed the system are not using it themselves but have assistants doing the job for them, so they don’t know the pain of it.
As I was tired of losing 3-4 hours per month for that, I decided to develop an app on my phone. This app allows me to enter my expenses every day, upload pictures of the receipt, store the data locally, sync with a sever when I have network access, and produce an excel sheet at the end of the month will all the information. To declare my expense in the system, I only need to import the excel file generated by my phone.
The only issue is that I am not a developer. So learning Objective C (Yes, I have an iPhone) would have taken me too much time (I tried once few years ago, didn’t succeed). So, instead I decided to have a look to hybrid apps with Cordova framework. When reading the description it seems very promising and easy to use: “Apache Cordova is a set of device APIs that allow a mobile app developer to access native device function such as the camera or accelerometer from JavaScript. Combined with a UI framework such as jQuery Mobile or Dojo Mobile or Sencha Touch, this allows a smartphone app to be developed with just HTML, CSS, and JavaScript.”
The most powerful sentence that convinced me: “…smartphone app to be developed with just HTML, CSS, and JavaScript”.
HTML, CSS and Javascript—I thought, I should be able to handle that and develop something. I just needed three functions on my app: enter expenses, list expenses, and generate excel report in the best format.
I will skip all the details about the development phases. It took me around 10 hours to develop the full app. I am not counting the hour I spent creating my Apple developer account and trying to figure out all the certificates I had to create, download and install on my Mac in order to publish and test the app on my phone (Phones that need to be declared on the Dev Apple portal). For those who are interested, in the backend I used Google Apps engine to support my Web Services, Google SQL Cloud to store the data, and Google Storage to store the pictures of my receipts.
In terms of return on investment, it’s now taking me 30 minutes at the end of the month to create my expense report and activity sheet in the system instead of three hours. And the other benefit for me, now that I’m doing my expenses on a regular basis, I am forgetting fewer expenses. So, for 10 hours of development, I am now saving 2-5 hours per month, for one user. I just need to share this app with three other coworkers, and in one month I am breaking even. My app is not very sexy, though, so I don’t think I will share it.
Ok, my ROI calculation is not completely correct, as I am now taking care of my expenses on a more regular basis, but it’s usually time when I am not connected with my laptop. Another point where you can challenge me is basically the way I was doing my expense before the app, once a month. If I had done it on a regular basis I would also probably have saved time.Most importantly, though, I don’t fear the expense report at the end of the month now.
By sharing my experience I wanted to highlight three points:
- Each user is different and has a different way of working. A process that works for one person can fail or be painful for somebody else.
- Mobile application development is not complex, and small apps can really improve the life of your end user without touching your legacy system.
- User experience is very critical, not only for a commercial website, but also for the internal tool used on regular basis.