What a month! On Monday we launched our take on collective buying - Wahanda MobDeal.
This is an area of eRetail which is really picking up momentum in these cash-strapped times so we were obviously hoping we would get a good response. As usual our supply team have pulled together some amazing offers and combined with the immediacy of the 24-hour availability period it’s so far proved very compelling.
The premise is fairly simple, and in that respect is a take on a fairly old idea: Collective Purchasing Power. We negotiate an amazingly good deal with a supplier which is only available if we can deliver a minimum number of orders. It’s then put front and center on the site for just 24 hours. So everyone knows what the deal is for that today we send the details via email early in the morning (well early for us techies).
Combined with giving the user the ability to easily spread the word (Facebook, Twitter etc.) it creates a buzz that is truly astonishing.

Getting it built
So what have been the challenges with this from a Technical perspective?
In many ways this was quite a straightforward project. The goal was to best combine features we already have on the site, rather than re-invent any wheels. This made the project far more about the detail than a big engineering effort. We chose the christmas iteration to implement some new designs (more on that to follow) which also created a lot of attention to the little things.
Thanks to the use of electronic fulfillment (a printable voucher) we were able to cut down the booking process to a single page. We then had to implement differing handling based on whether we have reached the required minimum and build lots of different email templates for each variation. Chris did a great job adding the dynamic elements that make the product feel so vibrant. Countdown timers, dynamically updating sales counters and the like. We haven’t made the hourglass actually functional yet but we will.
ZQueue
A pretty crucial part of this process is the ability to only authorise payments up until the point the deal is on. If we don’t hit the minimum then no one pays anything. Up to this point we’ve always authed and completed in a single step so this proved to be quite a big change. Fortunately we were already on the way there with some of core technologies.
We’ve been slowly changing our architecture to make a lot more use of asynchronous message queues. Usually associated with enterprise class systems messaging based systems are a great, simple of way of clearly separating out parts of the architecture, and hence making the development split easier. So the lead developer on the main process was able to simply concern himself with the workflow and not the resulting offline actions like sending emails and processing payments.

Our queuing system was built in-house (it’s really very simple) and is totally persistent. All it consists of are a bunch of stored procedures in SQL Server which deal with doling out items to process or adding items to defined queue. There are some additional maintenance jobs that run to ensure nothing ever gets missed, as well as ensuring the indexes on the queue are usable.
In addition we have some features which break the FIFO rules, allowing prioritization of items and automatic failure mgt. (with re-queuing) if a downstream process is unable to deal with an item successfully. This makes it a great way to see what’s going on at any one time but watching the flow of data across the queue.
Anyway, I hope you all enjoy MobDeals. There’s lots more very cool stuff in the pipeline so watch this space!







