Sunday, March 5, 2017

Release and the struggle with Habit Tracker version 0.6.0

It's 1:06 AM and few hours back we released the version 0.6.0, notified all the users that a new version is on Playstore, please download and update.
Working full Sunday to implement the functionality which we decided i.e. on click of Not Done, record that as well and mark with a light orange background for that date on calendar.

Now, made those changes along with some other changes. Without testing much, and following any protocol check, built the app and published on playstore.

The movie starts now, at 11 PM, a friend of mine, roommate, informed me about a severe bug! Damn!
It was a core functionality where we mark YES or NO on the notification everyday. On click of YES it was taking no, but NO action was working fine. Tried to think of how to solve it, but couldn't.
It was late and I had to finish off some other important task as well, status mail!!!

At 12 shifted my attention to the other task, in 30 minutes completed it. It was quite late and was feeling exhausted. Thought of going back to sleep and look at this matter tomorrow. Took a break, re-imagined the possible problems which might be happening due to which this issue is coming. At 1 AM, came up with some idea after reading some manuals and tutorials. Tried, tried, tried. It was 1:30 AM and nothing which I was able to achieve.
1:36 AM, bang!!! solved it. Checked through the code if I am missing something, forgetting something, made any changes which I should revert, tested the app twice or thrice, bug was resolved. Phewwww!
Compiled, built and yes something which I missed to revert. Rectified it, 1 line of change, compiled the code again, built it and yessss finally released on Playstore.

Lessons learned:
  • Having a test case and getting it tested before generating a release version.
  • Following a protocol while going or releasing to live, like version code and name is upgraded and all the FIXME block as has been fixed.
  • Once released even, get it tested from couple of near by users, then send a push notification to all your users.
Finally, version 0.6.1 is out there. Khooolll!
It's 2:10 AM, off to sleep.
Good night.

Wednesday, March 1, 2017

Habit Tracker version 0.5.0 released

This version had very minor changes, UI level changes has been made and also considered some UX point of view as well. Mostly the next version which I am going to roll out will have the essence of taking short notes from the user and even showing the days when he or she missed to do.

Planning is such:
  • v0.6.0 - will also mark when user failed to do the habit on a specific date, to be shown in slight red background on the calendar, to give a visual representation on the month view of calendar at one glance.
  • v0.7.0 - will start asking notes, if user is interested, to go through it by the end of the week or by the end of the month.
  • v0.8.0 - will show a progress bar related to 21 days of continuous habit tracking. This will be the major change and help user to motivate to keep doing the habit which he or she wants to pick up at least for continuous 21 days.
 Along with all these updates coming down the line, minor fixes and upgrades will keep happening. I am not clear about the timeline of these releases, but most probably keep releasing each incremental version every week i.e 1st week of March - v0.6.0, 2nd week - v0.7.0, 3rd week - v0.8.0.

God bless me and give me energy to achieve this and come up with really helpful app to be useful for the customers.

4th round of Habit Tracker Release

After adding Google Sign-in, added the functionality to cloud backup. This 4th version release has given me a huge push to work on the app more and more. As it informs the activity log as how the app is being used and how many users are signing up in the app from different regions.
This reflects that there might be a need for such type of app.

Made the 4th version released in the last week of February, then worked on marketing mail as well sending it to existing users. Though it didn't have any effect on the app download or usage.

Now, what? I am consistently working on the app but the major role is played by the motivation! Looking at the app usage which I thought people would like something like this or there might be a need to track the habit but there isn't such thing. Very less app downloads, very less app usage at the client's end.
I still haven't decoded what's the cutting edge feature which I can give in the app so that it may touch user's attention and they may find a meaning in using the app. I still need to find the why of the app and how it will help.

Though still trying to work on the app and release it at minimal to keep going and pushing to reach somewhere. This initial stage is difficult. 

Thursday, February 23, 2017

3rd fold working on habit app



While going to GOA for a break I did published a small change i.e. reminding the user at 6pm asking whether they did the habit today which they are tracking. But there was a bug in it. It didn’t give any notification as such!! Aarrhh!!

On Feb  19th, released the 3rd version of the app, which has the Google Sign-in. There was a bug in it too but fixed it in 2 days.

In this version,
  • One can edit the habit name which is being tracked.
  • Changing the notification reminder time.
  • Moreover, made some UI changes
Finding time to work on the app is very scarce. It took me a month to release the Google Sign-In functionality.
Now I would be able to know people who are signing in the app. Learning about marketing mails and assisting the users with the app to help them improve daily, a process which needs commitment and daily check.

As our mind is a great slave, one needs to master himself or herself and focus on a specific path to achieve success. In today's world when you get more than 10 notifications popping down from the notification bar and grabbing your attention instantaneously (most of them are of no use) distracting you from the important task which you were focusing at, thus pulling you down from your productive capacity which one can reach but can't.

Habit Tracker will at least remind you once in everyday, that one distraction will remind you about the habit you want to adapt.

Friday, January 20, 2017

Baby Steps towards building a habit tracker app

On 19th which is just after the day when I published the 1st version of the app (18th Jan), I released the 2nd version as well with very minor fixes.
Now, every day when I come back from office I think of what new can I add today and release the app to play store.  This is so exciting! small releases, slow and steady increments in functionality.

From two days i.e. 20th and 21st (today) I am learning about Firebase, which is incredibly efficient and fast. It provides both the functionality which I was planning to incorporate in my app (google sign-in and cloud messaging) that also with a very little coding. This way I would be able to bring these features to my app pretty fast.

Sadly, I won't be able to work on the app in next two weeks as I am taking leave. One to go to my native place and other one for GOA!

But after coming back, the release cycle will start again. Everyday I would be planning to release something in the app. Let's see how can I understand customer need and provide a value added functionality in the app.

Best of luck to me! :-D

Wednesday, January 18, 2017

Working on Habit Tracker App

Today on 18th January 2017, I finally decided to work on a very minimum viable app with bare minimum functionality and that will have the Habit tracker. From last week I was think to make this but I thought to make it first after learning iconic framework so that I can have an app for every platform, but today when I got to know that those types of apps are very slow due to some FPS rate. Hence finally decided to built in on native platform.

Along with that I gave the target date to publish this app on play store by today itself. Best of luck Vikrant. :-P
More over the devil hacker (which is small in proportion) in me tells me that not to share this information with any one unless you make it popular. Because I read somewhere that when you don't tell about what you are doing then you tend to complete it with speed. I don't know whether it is true or not. Let's see.
  • 8:59 PM - right now when I am typing this particular line.
  • 9:13 PM - and I am downloading latest targeted tool in my Android Studio :-|
  • 9:22 PM - downloaded all the latest SDK and running the demo sample app on my Moto E, hurray. It's done, so far so good.
  • 10:08 PM - checking out calendar library after adding the + (plus) button at the bottom right
  • 10:15 PM - locked which calendar library to use, found it from GitHub and imported it through gradle dependencies and included it to xml layout view, plug and play and it happened, added calendar view to app, only the view yet.
  • 10:36 PM - on click listener implemented on calendar view 
  • 11:52 PM - got really involved with the development, added the functionality to mark that this habit was done for a date. Reset functionality coded but haven't tested yet.
  • 12:35 AM - view trends complete and yes reset working perfectly, now I can go for a version 1 publish now or I may add the marker in calendar and then go for it.
  • 1:56 AM - added dots on calendar dates where habit has been marked as done, changed some display text and colors. Good to go for live. Let's see how much time does that takes?
  • 2:45 AM - generated signed APK and now filling up the publish google playstore form with the name of the app as 'Habit Tracker'
  • 3:17 AM - finally created all the graphics and content which are needed on playstore. Filling up the forms and stuffs right now
  • 3:24 AM - clicked on Publish App button, hurrrrayyyy :-)
Done for the day. Good night.

Monday, December 12, 2016

What is IT Project Management?


From starting of design document to signing off the last project module delivery to the client is all about project management.
In between, a lot of elements play a vital role to complete the entire project, like:-
  1. Platform to use to develop the system
  2. Resources/ People
  3. Design Phase
  4. Dividing and allocating task to right person
  5. Predicting approx timelines
  6. Documentation!
I am not talking about the hierarchy of a project, here I want to discuss about what are the things which project manager needs to  take care of?
Generally we think the real stuff is done by the coder in a software project but that's a false assumption.
 "Quality and on time delivery of the project depends upon how manager manages the team!"

Stages of a project?


In each of this phase there is a vital role of a project manager, what? needs to be find out by the manager itself. It's not that Design phase is for Business analyst, Development phase is for developers, Testing phase is for tester.  It's not about checking that everything is happening on time, managing means lot more than that.

  • Making sure the Business Analyst (BA) has gathered all the specs and prepares the SRS document which gets a sign off from the client.
  • After this, BA rights the use cases (covering all the scenarios).
  • UI Mock-up is prepared & finally signing off from the client as the spec and definition of the system has been locked for this iteration, any new feature request will go in another iteration/ cycle.
  •  Once the above 3 process is done, next starts the Documentation process:-
    • Defining the list of Users, their Roles, and each functionality of the system covering all the scenarios as defined by Use-Cases. (This takes time and patience but quality doesn't come in hurry work)
    • The entire system can be broken into different Modules and Sub-Modules.
    • Categorizing all the functionality under these Modules.
    • Assigning each Module to Resources.
    • Finally, preparing the timeline of each module by discussing it with the Resources (as they are the one who know how much time will it take) and thus locking the overall timeline of the project.
  •  After this only the real time tracking of the project can be done. For us, it works like this:-
    • On time DB schema preparation
    • List of APIs/ Data Flow
    • Data Structure/ Model class definition
    • On behalf of each API, queries or stored proc, if required
    • Using the Mock-up, Front-end design
    • Using the API doc, WS coded or back-end api creation
    • Binding of back-end with front-end
    • Unit tested from developers side 
    • Passed to tester if completed
    • Tester tests it & pass it or iterate it through bug list
    • After all the modules has been tested and passed, deployment!
  • Analysis that we are delayed, which functionality took time (development time or bug fixing time) & who was responsible (not to nag, but for improvement) - this is called soul searching phase 
  • Celebrate with a party!
Generally the manager who has the experience of all the phases of a software development life cycle (SDLC) knows how things work and how it should be managed is preferred, theoretically gaining knowledge of SDLC from an MBA degree will make him an idealistic manager hence resulting to develop an ideal system which practically is impossible, as defined by physics.
Lots of things comes under consideration, which can't be documented or taught, which comes from intuition and that, my friend, is gained through experience.

Goals - long term vs short term rewards

 I guess it has started to be clear now that it's the goal which drives a person or else he or she may fall in the grip of the activitie...