March 22, 2009

This is a moving blog!

All content is moving to a new home.  In an effort to reduce the number of blogs I personally maintain I am eliminating them all in favour for Ventrino.  In fact, Ventrino is the only site I maintain outside of the day job now :-)

March 11, 2009

Building Communities

From time to time I ghost write blog posts on the subject of communities.  Recently requests have grown for reviews of community based applications and as a software developer by trade these are the kind I like most.

The “social phenomenon” is a big community driver.  Places where people like to meet are definitely treasure troves, at least as far as investors are concerned.

My own belief is places such as digg and facebook are doomed to failure.  Why? Well not because they are not useful or because the attract large communities, they are both good at that.  I believe they suffer from the same problem early web site builders ran across at the beginning of the 90’s.  That is, how do you make people pay?  All to often web sites fall back on the age old web-disaster, aka Advertising.

facebook face the largest negative profits in history and have little to show for it apart from a clueless and somewhat depressed founder - other than a community.  And what if that community turns on them?  Would facebook and digg be as popular if they sold to Microsoft? That would be as damning for them as allowing perverts free access to their membership.

As a keen member of both communities I don’t like to think of them under threat, but herein lies the conundrum.  How can they make them commercially viable.  facebook’s revolutionary and functional advertising implementation is encouraging.  To put a dent in their negative equity will need more than that.  As a user I am reluctant to invest too much time in facebook as it’s unlikely they will survive the test of time.  Quite how Zuckerberg’s backers take it when he shrugs of yet another $150m loss is hard to imagine, and digg are in a similar position.

Self built communities will work for the common good.  That is we will join communities of specific interest that are not encumbered by the generalisation of sites such as digg and facebook and that do not need a commercial reason to exist.

In the Internet gold rush all kinds of crazy ideas were backed but it’s those that had done well offline that really excelled online.  The weird ideas remained exactly that, weird and mostly not profitable.

The age of the community is coming, it will be in every aspect of our lives and advertisement will be replaced with real information, possibly even fact.  Bill board and media advertisers will lose their grip.

I have believed for a long time that as radio lost ground to TV so would TV lose ground to the web but never did I think it would happen so fast.

February 16, 2009

Changes to Ventrino Support

More often than otherwise we receive complimentary comments about the support we give for the Ventrino product.  I am instantly humbled by these comments as they really should be directed to other users of the script rather than Adam and I.

To understand the support we offer you need to know a little history of the Ventrino script. It started in 1994 as a tool to help bank managers locate interesting sites.  Upon leaving the bank I modified the concept so that people are rewarded for visiting sites.  I liked the idea of taking cash from rich PR companies responsible for the lame advertising of the 90’s.

Every PC delivered with Windows 95 had IE and included the new ‘Frames’ standard.  This was an opportunity to move the application on to the web, the right place for it to be.  The concept of the ’surf bar’ was created and soon I had many 10’s of thousands of people surfing daily.

My ISP struggled with the ‘unlimited’ free hosting they offered, on one hand they wanted to charge me mega $$$ on the other they did not want to lose the traffic.  Ironically I did not even own a domain name (in those days it would cost $150/year).  Running from a sub domain I gave them a one-liner on the front page with a link to a signup form.  I didn’t make any money from the script but I know they got weekly signups.

At this time I did not get support requests.  I published an email address but the business just seemed to grow on it’s own.  Perhaps the concept was simple enough, put your link in, surf, and have your site visited by other surfers.

Then I lost my job.

The UK government introduced two changes that had a major effect on IT sub contractors:  A new tax called IR35 which from my point of view just meant “we don’t like the fact you guys make so much money so we’re going to take it from you” and the other the introduction of free working visas to any foreigner who claimed to know something about IT.  Apparently the UK lacked IT skills.  This of course sent our heritage abroad.  Any IT skill was snapped by USA, Canada and Australia.   Poor Britain was left with an IT work force that barely spoke English but at least it was cheap.

I wasn’t ready to leave the UK permanently.  I had a growing business in the USA that looked after itself, and while I love America and Americans there is an attraction to Blighty that you can only acknowledge if you are a Brit abroad.

So I decided to develop the traffic exchange script for resale.  This is the moment I began to understand the need for support, and after a few years people began to develop clones.  The difference between us was measured by the quality of support.

To this day we have two competitors of significance and I believe our support remains on top, albeit very different to what it was when we began.

…In the beginning I was conscientious about support.  The script cost $695 and for that we made sure everything worked the way is should.  We were asked to develop exclusive code but this time consuming exercise meant we couldn’t provide the support we wanted to.  Instead we would develop new features but they would not be exclusive (this is still true today).  The only advantage you get would be to the next patch (3 months at best).  Still the orders came in.

We dropped the price to $395 but support would be exclusive to the forum.  Everyone ignored that and we found 30 to 40 new tickets each morning, every single one of them asking a question that was already covered in the FAQ or the forum.  Their complaint that $400 should be enough for support too had a ring of truth to it from their point of view and it would have done to us had we been selling 10 a week.

The price dropped eventually to it’s current value of $195 but we became determined over how support would be handled.  We employed Jake part time.  As he has absolutely no knowledge of computers, the Internet or anything technical it was ideal.  His main task to direct support enquiries to the forum and handle sales enquiries only.

Because of the volume of questions arriving Jake began to learn a few things and he tried to answer a few, this led people to think he was a techy after all and quickly the sales ticket system descended into the support system we did not want it to be.

In the mean time some fantastic work was being done by many of the script owners.  Remarkably there was one guy on there who didn’t even own a script who was helping out.  For a small fee he could fix practically any issue you have.  And it was (and still is) a small fee.  To my deepest regret we had a misunderstanding and I remember saying something I am not proud of.  Can you believe it?  This was a man who was helping me.  I was guilty of not researching the original problem and under pressure of the moment got a bit snaky.  He has since forgiven me and continues to offer great service to other forum members.  We have in fact made it more formal allowing him to produce tailor made applications just for you and with a huge knowledge of our script he can inevitably create a solution for any requirement.  Check him out, his forum name is raydube and he speaks French and English, his website is www.raydube.com.

Adam and I do the development work.  Although Adam was 7 when the first script was released he is responsible for moving it to PHP in recent years.  CGI Perl/C and ASP have all been used in the past.  Switching to PHP has meant anyone can get involved in third party development.  An increase in support is down to peoples understanding of PHP, because they know more, there is more to ask.

This lead to a rally of development.  We actually took a route that would be a serious no-no in my apprenticeship days.  Better known as “get it done, damn the consequences”.  I can envisage my peers in consternation with that statement.

So an increase in support was on the cards.  As integrating a design generates more support questions than any other we put effort into producing an easy to use system.  Offering two methods of integration our template system is so flexible we have competitive script owners switching to ours and using it to “make it look like xxxx’s script please, I don’t want people on the forum knowing I have switched scripts!”

Adam and I embarked on the next version of the script.  This is going to be a radical change in so many ways.  Some may think of it more of a “nuke” type script for marketing.   Unfortunately it has not been a smooth ride to date and that’s all down to the support for the current script.

One one hand we have people itching for the new script wanting to know where we are with it, on the other people who have just invested in the current script wanting support now.

How can we please both?  The first thing we decided was to drop the price and free installation.  You save $97.50 but in return you must install yourself.  If you must have us do it then we charge $67 but you can get someone on the forum to do it for $40 or less.  Remarkably this lead to one person demanding free installation as that was on offer when he viewed our website, the fact that when he bought his script the price had dropped to just $97.50 had ‘nothing to do with it’.  Jake gave him short thrift and he has now posted that Ventrino is a scam on ‘900 thousand’ websites.  Could we ever get any better advertising?  I thank him from the heart of my bottom because if anything sales have increased since he said that (although it may have something to do with the lower price too ;-))

We decided that with the script at it’s lowest price ever we should experiment by telling Jake he was only allowed to deal with sales enquiries through the sales system.  Pre-sales can sometimes require technical assistance but even these, even if he knew the answer, should be redirected to the installation forum.  The current version has been around long enough for all installation issues already covered in the FAQ, Manual or for those who don’t like to read - they can ask on the forum too.

Why we don’t give private support

It deserves a fresh post but if you got this far you may as well carry on and put this one to bed too.  Since we started the forum there has been a rule against requesting support through private means such as email or PM.

All technical support questions are to be posted on the forum. Please do not send a private message or email to a staff member requesting technical help.

This may seem tough but the reason for it if understood should result in your agreement, I hope so anyway.  If you have skipped the entire post this is the bit worth reading and absorbing as I think it will help you when supporting your membership too.

Most support requests come from people who are too lazy to search an FAQ, forum or Manual and think they will get a faster solution by asking.  To be fair most of us are brought up being told “Those who don’t ask don’t get” and thus we rationalise the first activity should be to ask someone who will know the answer.  I know this is true because I am guilty of this myself.

Let’s consider the implications of answering all private support requests:

If we add support tickets to forum topics (as opposed to posts) they hover between 40 and 60 per day 7 days a week.  That represents roughly 15,750 minutes per week, or 262½ hours.  Support should represent a third of the time we spend in business, the other two being development and sales.  So if we take 40 hours as the average working week that means we would need to take on another 3½ people dedicated to support to break even - and those support folk would need to have the same knowledge of the script and business as Adam, Jake an I already have.

But the business does not keep still, dropping the price brings an influx of new owners and they are unaware (or care) that previous owners paid more.  They see the service those folk got and wonder why they don’t get the same.  The answer is simple enough, they can.  All they have to do is select the paid support option.  They are then on the same level playing field as previous owners, and as their costs match it suits everyone.

Private support helps only one person

The reason private support is not offered free is it only helps one person.  Post your request on the forum and anyone else who cares to search for the same problem will find the solution.  It’s that simple.

This releases Adam, Jake and I from support that’s already covered and enables you to get the job at hand done faster, and by that I mean make money faster!

January 2, 2009

PHP to redirect IP addresses to different page

If you would like to redirect browsers based on their IP the following method can be used to handle multiple IP’s.  You can choose to redirect entire networks or a single ip.

<?php
//array of ip's you wish to block.  Note that you can block an 
//entire class by replacing it with 0, so to block a class c 
//(254 computers) use something like 123.123.123.0
$blockIP = array('123.123.123.0','100.100.100.101');
 
$remote = explode('.',$_SERVER['REMOTE_ADDR']);
foreach($blockIP as $ip) {
  $goodIP = false;
	for($i=0;$i<4;$i++) {
    $ipSeg = explode('.',$ip);
    if($remote[$i] == $ipSeg[$i] || $ipSeg[$i] == '0') {
      //segment qualifies
      $goodIP = true;
    } else {
      //ip no good so move to the next
      $goodIP = false;
      continue 2; 
    }
  }
  if($goodIP) {
    //ip passes so no need to check the rest
    $blockThisIP = $ip;
    break;			
  }
 
}
//for convenience test $blockThisIP and process here
//replace www.crayola.com with the place you wish to 
//send ip's too
if($blockThisIP) {
  //php header method - can only use this if the page 
  //has not begin to display in the browser
  header('Location: http://www.crayola.com');
 
  //javascript redirection - use this method if browser has 
  //begun to display page
  echo "<script type=\"text/javascript\">
  window.location = \"http://www.crayola.com\";</script>";
}
?>
July 24, 2008

Three little characters  designed to make your life hell

On more than one occasion these characters  have turned up just when everything else seems fine.  Like a tiny weeney scratch on a new car, one that only you know about, these little bastards turn up and take the rest of the day to diagnose. 

So what  is for?

  •  cannot be smoked or injected
  • Too much  causes stress in older programmers
  • Does  increase or decrease carbon emissions?
  • is  useful for anything? How does it help?

What is  ???

 is often seen at the top left corner of a web page.  When you open the source file and compare that to the output source you will not find , so what causes  to appear in your file?

The secret to diagnosing  is to avoid looking for the obvious.  If you have code that looks like this:-

<?php
echo "Hello World";
?>

placed in a file called hello.php and you run this directly (ie not as an include file) then you may wonder wtf is going on?  How come  turns up?  When you run it the output looks like this:-

 
Hello World

The reason is your editor has saved the file as UTF-8.  With the ever increasing complexity of character encoding some editors will automatically ignore your settings and update your configuration to use UTF-8. Even if you have been using ASCII without any trouble since 1982!

So what you may ask? Winjii, it’s so you can type in Winjii. Not sure what it is, but the 127 characters provided by ASCII’s not enough for some languages, they need more because they are not able to express themselves with so few characters.

Well there’s *$@# chance that I will ever need any more so the solution at least for me is straightforward.

The Fix

Change the character encoding of your page.  With most editors all you need to do is select properties and then choose ASCII then save the file. 

Changing the meta tag alone is not enough, with extended attributes on files now no one can be sure where a browser or whatever reader your using will use to determine how to display it.