preload
Feb 17

This morning at Wahanda we launched a new site to host all things technical!

The site can be found at tech.wahanda.com and is where we’re going to put publish all of the work we’re doing on standard API’s, status updates, Widgets and even this blog (we’ll merge it in).

The piece we’ve built in detail and launched today is the ability to build customised widgets.

To get a widget for your site follow these easy steps:

  • Simple choose Widgets from the menu.
  • Select the one you’re interested in.
  • Choose the parameters that best suit you
  • Enter your affiliate code (if you have one)
  • Take your code!

If want to sign up with us directly as an affiliate (to get a code) then contact us at partners@wahanda.com.

We’ll be adding a lot to this site over the next few weeks so keep watching.

Tagged with:
Feb 08

When we first started Wahanda we made the decision to have an all Mac OSX development environment. This has served us pretty well over the last year or 2 and the Mac is a great platform. For those like myself who only gets involved in PHP development with a single windows VM for SQL Server it’s still working great.

However our primary site platform now spans a fair few Java Webapps. Running 2 tomcats + VM’s for IE6, IE8 etc. has got to the point where the standard test-amend-compile-test cycle can be in the order of minutes. This was understandably causing a lot of complaints!

So, we all sat down and had a long discussion about what to do. I would love to be in a position to buy everyone dual quad-core Mac Pros but we really don’t have that sort of money at the moment. So with general agreement we decided to move to a more generic hardware platform running Debian Linux (We did debate using Ubuntu but as the servers are all Debian it was decided to go for consistency).

Chris went away and played with some options and ended up with this spec:

This is at least a doubling of the previous developer MacBooks. 2 more cores, twice the RAM and RAIDED drives rather than the rather pathetic 5400rpm notebook drives from before.

The following diagram is just the 2 tomcats starting up. That capacity really is needed!

screenshot-system-monitor

This one is building the entire site stack. Doesn’t suck up quite as much as an init of the environment but the spread of load across the 4 cores is great to see.

screenshot-system-monitor2

Overall we’ve reduced the test-amend-compile-test back to only a few seconds. An enormous boost to productivity in the team. The downside was that we lost everyone who made the switch for 2 straight days why they got everything set up.

The marketing / design / copy team are also very happy with their pass-me-down MacBooks. :-)

Tagged with:
Jan 23

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.

Wahanda MobDeal

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.

MobDeals Zqueue

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!

Tagged with:
Jan 09

Well we are working through the weekend very early in the fresh year so a little to and fro footie with an exercise ball is totally called for.

Weekend Footie Fun!

Weekend Footie Fun!