Skip to main content

Premise

One saturday, my 6 roommates and I decided to settle accounts. It took more than 2 hours to enter all the expenses in a spreadsheet and do the maths to know "who owes whom". During these 2 hours, we argued once again about the way we should settle accounts : a spreadsheet shared on our local network versus a simple sheet of paper with a calculator. I was for the spreadsheet : no calculations mistakes and you can add a forgotten expense without doing all the maths again. Those in favor of the paper thought the spreadsheet was too complicated.

This afternoon decided me to create a small project that would just answer the question "who owes whom" without installing any software, nor managing a shared spreadsheet, nor having to figure out the best debts repartition. At that time, there were not so many web services for that purpose, few in french and none satisfying our needs.

I used my recent skills with GWT, learnt Python and developped that :


Welcome screen

The simple spreadsheet where I enter my expenses

Finally the results

It took time : almost one month for that simple application, working evenings and week-ends. I learnt a new programming language and solved the mathematical problem of debts repartition, but what took most of my time was the user interface. It looks very simple but it's all "ajax" and the spreadsheet is real! (I mean you can use it with your keyboard almost like a desktop-app spreadsheet.)

Maybe by the time you're reading this post, this litte app is still running here.

Geek section

  • Client: GWT 1.5, 2400 lines of Java
  • Server: Apache + modpython on Ubuntu 8.04, 275 lines of Python
  • Database: sqlite

Popular posts from this blog

Version 3 release for roommates

Version 3 of kidanki has been released for roommates. I can finally enter the expenses I share with my roommates using my mobile! Some screenshots: Home screen of kidanki on a laptop Home screen of kidanki on a mobile Home screen of kidanki on a tablet

Version 3 release for anonymous usage

Kidanki exists in two versions: the "anonymous" version where one can create and share an expenses sheet without signing in; the "connected" version where one signs in and can manage several expenses sheets and several groups of people. Today, version 3 for anonymous has been released! It works on mobile, tablet and desktop screens, it's fast and it couldn't be any simpler. Here are some screenshots: Creating a new expenses sheet List of expenses on a mobile screen List of expenses on a tablet screen List of expenses on a desktop screen List of debts on a mobile screen Expenses sheet settings on a tablet screen

Release α.3.0: new look

This time, it is the user interface turn to be refactored: debts are now presented at the same time as the expenses. Debts view is the answer to "who owes whom?" so it makes sense to show it directly when the user logs-in. The last ongoing list of expenses is directly presented when logging-in. The UI's skin is totally renewed. New login screen New welcome screen Geek section This version required a big amount of work as I now use GWT2.0. The biggest task was to embedd all my ccs code in GWT resource modules. This allows to really reduce the amount of downloaded css I also use the new code splitting feature of GWT so that heavy components that are seldomly used are not loaded.