This application has only one objective: to learn how to go from very simple applications and slowly turn it into a nice looking and more complex one. The branches are from the different contributors, and probably the best looking app, or a combination of ideas from the diffet branches will be merged into the main and picked up from each branch to proceed to the next step. In order to see the full steps of this learning process, I suggest you look at the commits history.