Thursday, January 13, 2011

Sonatribe.com update


Update time :)

Had my head down this week - and from the outside it'll look like not a lot has been going on. We put the holding site up and went underground!
In that time @chrismou has joined the team and has taken up the task of creating the HTML for the UI. And I've been hard at work getting the features implemented.
One of the main things I've been working on recently is a tagging system. Almost everything runs off of tags. Kind of like hastags in twitter. You'll be able to tag photos, conversations etc and they will automatically show up in news feeds or pages within the site.

So, anyway - after implementing the tags (1st round) - I realised we had an issue - if we renamed something through the admin site that had created a tag on its creation - i.e. if you create an event "glasto" the server creates a tag definition "glasto" and then for each instance of the event another tag: "glasto-2010", "glasto-2011"

But - if we rename the event, non of the things that are tagged with the related tags reflect that so they are effectively lost - this has huge implications for the site as a lot of stuff runs off the back of the tagging facility - especially conversations (which I'll be starting after I'm done with this refactoring)

I'm nearly done with it now - using tag proxies which can be updated using set based operations (basically a lightweight replica of the original tag - a reference and a copy of the value) - this allows me to run a set based operation on rename. It's kind of a document db specific problem - as there is not relational integrity - but the approach is still very simple, very fast and very effective.
We'll hopefully have a beta or at least an alpha ready for preview by the end of jan/early feb. We've got a ton of features planned for the site and the Android/iPhone apps which we'll add incrementally - going with the "release early/release often" approach.
w://