Let's Add It Up
At Booking.com, we don't just develop software. Figuring out how to develop our people -- specifically, our designers -- is one of the fun things I sometimes get to work on. And, naturally, part of that is figuring out how to develop myself as well.
Unfortunately, for remote workers (as I am), it can be hard to participate in this kind of group process. Scheduling meetings is hard enough in a busy company; accommodating one person's travel schedule is next to impossible. And Skype or other online options, while useful, do not come close to allowing true collaboration within a group setting.
I decided to pursue a solo option.
Personal development time
Way back around the dawn of the modern internet, when blogging seemed like it mattered and everyone thought they could be the next Zuckerberg, I decided I was going to create a financial management web app. There were a few services around already; Mint was probably the most successful back then (they're still going today, albeit as a shitty-looking Intuit company -- their promising competitor, Wesabe, folded in 2010), but I wanted something that did exactly what I needed. My dream service would allow me to quickly import the financial transactions from my technically-challenged, export-free bank via the magic of copy-and-paste combined with regular expressions, and produce wondrous graphs and reports to allow me to monitor the ups and downs of our family spending and saving.
Back then, I was more interested in the backend technical implementation details than the design or user experience, and I wrote a handful of blog posts discussing the challenges of ORM and URL naming schemes. Sadly, the project never progressed further than the virtual drawing board, but it has been in the back of my mind ever since, so when I began to consider candidates for a solo P2P project, it was clear what the favourite option was likely to be.
So far I have drawn up a brief summary of functionality, and a shortlist of the technologies and disciplines that I want to either learn or improve at using:
- RESTful API design - I've done this before, but I'm not really sure I've ever done it entirely right;
- Facebook's React.js - one of the current hot JS-based technologies that I've not really dug into yet;
- Build tools such as Grunt or Gulp;
- SVG icons - the modern standard that I should really learn about instead of being stuck back in the sprite stone age;
- Sass - I've used this in the past a little, but there is little opportunity to use it on a regular basis at work;
- Client-side caching with LocalStorage, and possibly app caching.
These primarily technical choices are in addition to the obvious need for UX/interaction design, decisions about colour, and probably a need to design a logomark at some point. I'll be posting occasional updates here, and screenshots to Dribbble as the project progresses.
The only part of my earlier project to remain the same is the name. Besides being a great Violent Femmes track, Add It Up still seems to me to be a splendid name for a finance tracking web app.