Archive for September, 2007

XHTML Friends Network

Friday, September 14th, 2007

I just added support to Fab Swingers for XHTML Friends Network or XFN. It’s a microformat that uses the rel attribute on link tags to add some extra information so that you can map human relationships.

I’ve added it to all the profiles so that the friends links use the XFN tags.

There’s more about XFN over at

I’m not sure how much practical use this is but I like experimenting with new technologies and it’s all about trying to make Fab Swingers the best adult social networking site. I think the next technology I should look at is OpenID.

Google: a tale of unrequited love

Wednesday, September 12th, 2007

For a brief two weeks in July we got great coverage on Google and then we got removed form the search results again, in favour of low-traffic, irrelevant sites.

My first theory was that it was due to the duplicate content problems that we had (which I fixed by removing it through the webmaster panel and using a robots.txt). Then I thought it might be due to linking to dubious content from our forums (which I fixed by modding phpBB to add a rel=”nofollow”).

It’s now clear that it’s none of these issues so I’ve re-done the homepage by essentially reverting some of my SEO changes.

I guess in the couple of weeks we’ll find out if that was the issue or if it was something else.

In the meantime, yesterday we had the highest ever traffic day with more than 1 million hits and enough page views to ensure that we’d get kicked off the free Google Analytics if it continues at even close to that level for the month. I’m continuing the off-line marketing campaign plus there’s accelerating word-of-mouth online; just today somebody emailed saying that they’d recommended the site to 40 people.

So I am still pretty comfortable that we will continue our exponential traffic rise even without any coverage from Google. But it would be nice to see Fab Swingers come ahead of some of the absolute crap that is presently beating it.

Benchmarking for end of first year

Sunday, September 9th, 2007

As we approach the end of the first year I thought it would be good to revisit the competitor benchmarking.

Alexa Rank PageRank Site
67 7 AdultFriendFinder
11,294 4 Swinging Heaven
13,698 4
19,106 4 Sex in the UK
41,603 4 TheAdultHub
64,261 2 Local Swingers
175,051 3 Fab Swingers
215,969 2 Swing2Us
286,550 1 UK Swingers

In every single benchmarking report I’ve done over the past year Swinging Heaven has dropped down the Alexa rankings and this report is no exception. I expect SH to be overtaken by both SDC and Sex in the UK this year.

Sex in the UK has been doing pretty well which I guess shows what happens if you spend an enormous amount of cash on AdWords.

The Adult Hub (14,864 to 41,603) and Local Swingers (29,790 to 64,261) have both dropped quite badly over the year. However both Swing2Us (111,209 to 215,969) and UK Swingers (124,171 to 286,550) have experienced catastrophic losses of traffic. This scale of traffic loss must be putting their businesses at risk.

As for good old Fab Swingers we’ve moved up another place since the last benchmarking and I think we’ve got a great chance of passing both Local Swingers and the Adult Hub in the coming year, especially if they continue their decline.

mod_wsgi deployment up and running!

Saturday, September 8th, 2007

It took a lot longer than planned but I know have the mod_wsgi deployment up and running and the performance is fantastic. Even during the busy evening the site was just lightening fast.

The server load is a little bit high so I guess that I’ll need to something when the traffic doubles but that will be a few months away at least.

I’m still not even thinking about a new server though; the next step will be to work out some sort of cache strategy. But for now I can forget about performance and start thinking about features and marketing again.

mod_wsgi Problems Continued

Friday, September 7th, 2007

The last deployment of the mod_wsgi version of the site failed again. This time I finally learnt the lesson and went to the bother of setting up a better test environment. Rather than simply using my Mac OS X laptop to test prior to deployment on Debian I am now testing on Debian too. I’m also making liberal use of Apache benchmark to at least do some basic testing under load.

The first problem I had was that I was ending up with an enormous number of database connections again which eventually crashed out. This turned out to be a problem with my code, I am now just using a global variable to store the MySQL connection object which seems to be working fine.

The second problem was that the server failed around half the time under load with simultaneous connections. No error messages that I could find were generated. This took about half a day to track down and eventually I found out that the problem was actually down to Python 2.4’s randint method from the random standard library. This was quite a surprise but when I Googled it turned out that other people have had similar problems.

In my case I was just trying to generate a random number so that I could choose between one of three adverts to display so I’m now just doing datetime.time().second % 3 which is absolutely fine under load and I don’t really care that it isn’t very random.

The performance numbers I’m now seeing from Apache benchmark are now in line with the numbers that Plenty of Fish have published although I’m very aware that there’s a huge difference between performance under test conditions and in real life.

Fingers crossed that the deployment tomorrow am goes to plan!

Passionate users

Thursday, September 6th, 2007

It may seem obvious that a sex dating site has passionate users but I’m thinking about the passion in the sense of passion for the site.

In How Not To Die Paul Graham says that “As long as you’ve made something that a few users are ecstatic about, you’re on the right track”.

We’ve got a great core of passionate users now, some people regularly log onto the site first thing in the morning and stay on all day. Other people are actively promoting the site to people they know which is getting us 50 new members a day at the moment. One member of the site has even designed and produced her own Fab Swingers promotional leaflets which she’s handing out at swingers clubs! Another member has told me that they’ve been banned from a pay site for promoting Fab Swingers.

I feel delighted and also a little humbled that people feel so strongly about the site that they’re willing to work so hard.

I think that this is secret weapon that will result in us eventually winning against the expensive pay sites, they may out spend us but they don’t understand how to put a community together.

Problems with mod_python deployment

Tuesday, September 4th, 2007

I went ahead with the mod_python deployment at 6.30 am this morning as planned; however it didn’t work out so I had to rollback.

The problem was that I ran out of MySQL database connections. I’ve got 120 processes and many of these processes will need MySQL connections. However only 1 in 10 requests are for CherryPy, the others are for static content so I could easily get by with only 12 processes if I was serving my static content on another server.

It’s also quite a waste of resources to be loading up lots of heavy Apache processes with both mod_php and mod_python when the vast majority of the time they are just doing images.

So, the new plan is to use lighttpd for the static content and then an Apache with ServerLimit and MaxClients set to 12.

I’ll try again tomorrow.

Switch to new code base tomorrow!

Monday, September 3rd, 2007

I’ve decided to switch the site over to the new code base tomorrow. This means that we’ll have moved away SQLObject and will be deploying under mod_python.

I am slightly concerned that there are still issues with the new code, ideally it would have been tested more thoroughly. However it is so staggeringly improved that I think it is with moving even if there are some problems. The speed increase is from anything up to 8000 ms to generate a page down to 60 ms!

It looks like that it’s the removal of the CherrpyPy WSGI middleware which is responsible for most of this speed-up. I started by deploying under mod_wsgi which initially looked great but under load it failed to show any improvement over my original setup. I think that the fault lies with CherryPy’s WSGI so the solution is to bypass it completely with mod_python.

I’ll get up early and do it first thing which is the quietest time. If there’s any problems I will just revert back.

Nofollow in phpBB

Saturday, September 1st, 2007

I’ve just implemented rel=”nofollow” on all links in the Swinging Forums. I’ve noticed that there were already some posts which were linking to what may well be considered bad neighbourhoods and I really don’t want a penalty based on the forums. I followed the instructions in this post.

Having said that Fab Swingers is still not appearing on Google for anything, although it’s only 5 days since the duplicate content was removed so I guess I just need to sit tight for at least another week and then I’ll look at it again.