day -15: hope & girl power
Daily stories from the ambadoo team, behind the scenes, dev-stats and other random stuff.
Mission Accomplished. What we set out in the beginning of this week’s sprint we also managed to complete. The sprint demo went really well, and apart from some minor things we kept this sprint.
Current State
As it is now you can log in, either as an existing user or create an account through Facebook Connect. When you’re logged in, you can share/broadcast your profile over Bluetooth or WiFi. We’re already seeing some difficulties with this technique and will move over to a server/geo based connection system in the future. But it will have to do for now.
People nearby can then add you to their address book on the fly, conceptually it is like exchanging those business cards people did in the old days, before they added directly on twitter, facebook or linkedin.
That, plus actually being able to add & edit your profile, list contacts, view and contact a friend was pretty much what we limited the first version to. We’re close now :-)
New Backend Planning
There’s been some great changes in the API, from sending urls to only use json, a data-exchange format. Though we’re continuing to stabilize and clean up our existing back-end we’re starting the draft of a new backend, built on Neo4j, strictly using RESTful, OAuth 2.0, HATEOAS, and other open standards that makes an Open API awesome.
Girl Power
Currently we have only one iPhone developer, and as a matter of fact (as far as I know) the only female iPhone developer in the Öresund region, Ester Ytterbrink, which is pretty awesome! She’s fighting hard with the app, but it’s a heavy mission to be alone on, since everything has to be written from scratch more or less.
Rumors says that she’s getting company from next week – which would be such a relief for all of us. It’s a heavy burden to sit alone on things that’s taken another team several people months to complete. Hope we have.
day -24: pick a stick
Daily stories from the ambadoo team, behind the scenes, dev-stats and other random stuff.
You come to a point in every project where the existing material is so overwhelming, heavy & difficult to work with you just start to remove parts until it falls apart. Like the pick-a-stick game, where you have a bunch of sticks on a flat surface and you pick one by without disturbing the remaining ones.
Today we played that game with the back-end. There are so much functionality that’s not used anymore and it’s all nested, looking pretty much like a pile of sticks, making it hard to understand where to start work & change. So far the status is: ‘it should work’ and the good thing is we can always do a rollback if we realize we picked the wrong stick.
ETS
We also had our first Exploratory Testing Session today with the new iPhone app. The exercise was quite simple. Log in. But even the simplest of tasks does fail and the mission of ET sessions is to make it fail, and find out why. I think in many processes that step of development is missing. We made it fail, and fixed the bugs that caused it.
Since I’ve started to work agile, scrum and all that this means I just realize how many other areas that could be applied, not just software developments. Having sprints, daily stand-ups, follow-ups etc. is making you progress fun & fast. When you run in to problems, you solve them fast, then move on.
Facebook Connect & OAuth
Since we changed the authentication model we had to change the clients too, both the iPhone app and the web app. There’s been some difficulties on the web app with setting the cookie, but they seem to have found the problem. If so, the web app should be up running any time.
What we found out in this process however is that the new authentication model is not very streamlined for an Open API and third party developers. It’s clumsy in the way the application developer has to authorize themselves.
For now it’s ok since the API is not yet open and it’s only ourselves who develop on it, but we’ll change when the opening day comes. OAuth seems to be the answer. Twitter just took the step to discontinue basic authentication to only use OAuth, which is a safer, easier & in many ways better authentication model.

