Unexpectedly Handy

Tweet

Over the last few months I’ve received a surprising number of requests that involve integrations with Paypal, especially integrations between Joomla/Virtuemart and Paypal.

For the most part, Paypal integrations tend to be fairly easy to configure. The fraud department at Paypal, however, recently made our lives more difficult by tightening up the fraud prevention rules so that a single login from a ‘prohibited’ country causes the entire account to immediately go into a restricted mode. Once the account is restricted, transactions are limited and the account owner has to go through a painful series of validations which sometimes include waiting for a PIN to be delivered via postal mail.

Fortunately, we stumbled into this problem while working on our company website rather than a client site. Our team that handles Joomla/Paypal work is based in Romania – a restricted country according to Paypal. Although we’ve never had a problem in the past, a single login from Romania caused our entire Paypal integration to become crippled. To make matters worse, we have a 6-week backlog of Paypal related work that needs to get into production immediately, and we couldn’t risk causing a client’s account to be spontaneously restricted.

How could our Romania-based team log into the Paypal developer network and process test transactions, etc. when their country’s entire IP range is banned? If ever there was a classic example of the relationship between offshore development and Murphy’s law, this was it!

After much deliberation, we signed up for the cheapest Windows 2003 VPS we could find, created guest accounts for the developers, and asked them to use that server for all Paypal related activities. The developers use Remote Desktop to establish a session on the VPS, then simply launch a browser and log into Paypal from there. Paypal sees a domestic IP, and everyone is happy. The VPS is rock-bottom because it doesn’t actually serve a single www/ftp site, and can be leased for under $30/month.

At first, I was unhappy about having to pay $30/month simply to use a browser with a non-banned IP address. Much to my surprise, the Windows VPS was about to become incredibly handy.

While testing the server I had realized that the remote desktop scheme might be very useful in situations where I was on a slow connection and needed to perform bandwidth-intensive tasks such as backing up a site via ftp or updating a long series of Joomla sites. A Remote Desktop session doesn’t require much bandwidth, and will continue running even if the user is disconnected – a big advantage when operating over a mobile phone connection. Since I was about to go on the road for a few weeks, I decided to install Outlook, Office, and a full suite of web development tools to the VPS and use it as my remote office while I’m abroad.

A few days later, as we were making our way from California to Bangkok, a massive earthquake hit Taiwan. I soon learned that the undersea fiber network that provides most of the connectivity for Thailand had been affected and most connectivity had been lost. Even our satellite connection had slowed to about 56k.

Suddenly that $30/month seemed like a good deal. While others sat frustrated as spam and large attachments caused their e-mail clients to time-out, I established a stripped-down (640×480 + 256 color) session to my Windows server and was able to operate at full speed. Since I was only viewing the desktop rather than actually downloading mail, no amount of spam or attachments slowed me down and I was able to push on with business as usual.

In the offshore development business, a successful company always leaves lots of room for this kind of thing to happen. It’s important to be open-minded and creative in identifying workarounds when problems do arise, and always look for the opportunity to learn something or otherwise benefit from the obstacles along the way.

Our connection is still painfully slow, but I’m able to post this blog entry without too much trouble and I’m thinking of new ways to take advantage of this Windows VPS all the time. I’m reminded that even under the best circumstances, web development (and especially offshore development) is complex and problem-prone and each obstacle can lead to a more elegant long-term solution in the end.

I hope that everyone has an enjoyable New Year’s celebration, and I look forward to a successful and happy 2007 for all of us! Happy New Year!

Free book: Jump Start HTML5 Basics

Grab a free copy of one our latest ebooks! Packed with hints and tips on HTML5's most powerful new features.

  • Divine

    That or Proxy ;)

  • http://www.lowter.com charmedlover

    I’ve had the same issue. My client for a number of projects was in Romania and the countless issues with them not being allowed to use PayPal was troublesome.

  • wwb_99

    Proxies won’t help in limited connectivity situations–your connection to the proxy is still bottlenecked at 56k.

    And I also almost live in remote desktops. The other similar trick is that you can use this remote desktop to test things from outside your network or DNS setup, which can be very important in some cases.

  • Adam A Flynn

    Dave,

    Brilliant solution. I’ll have to look into investing in such a VPS myself.

  • firehous

    Dave,

    It’s my understanding that Windows only allows 1 Remote Desktop connection at a time. Doesn’t this hinder your efforts?

    I know there are at *least* 2 people (you and Romanian Developer) who might need to use it at once!

    -Costas

  • Divine

    Heh, Proxy would solve the PayPal problem thus cutting the cost down (30/m less). I didn’t refer to his _later_ excuses for paying that much. ;)

    Cheers. Happy New Year

  • http://www.revmedia.com dhecker

    Paypal doesn’t allow you to connect via proxy (I checked with them). Also, a proxy would actually make the problem worse, since it requires bandwidth between 3 points instead of two, so the remote desktop was the way to go for us…

  • crome

    Great Dave! I feel a need for a VPS system. I am always put off mobile internet because of its frustratingly slow speeds but this seems a great way round that.

  • http://www.limevisual.com martin.christian

    Great point dave!

    When faced with the task of developing in different environments which are globally dispersed this tactic was a great learning curve and, ultimately, a simple yet brilliant solution for the mobile individual.

    I’ve set one up at home but its quite resource heavy… You would need to judge whether the advantages outwiegh the costs.

  • Anonymous

    Nice solution perhaps, but you could ask yourself the question: do you think suicide economics will work in the end? Outsourcing to cheaper countries that offer no social protection for their workers has a bad effect at your own doorstep, namely, if we continue to lose jobs to these countries, who is going to be able to buy your stuff in the future?

    My motto is: if a client is not prepared to pay a decent fee, he/she isn’t worth to work for. Websites are much cheaper then an andvertiseùment in a newspaper, so there is no excuse to owrk on the cheap.

  • Anonymous

    Whilst I can’t comment on the usefulness of terminal client for remote working, I have to ask why you didn’t tunnel a web connection over SSH into your office then back out to paypal, problem fixed in 2 minutes.

  • Gabriel Radic

    Hi Dave,

    I would love to get one of those VPS things myself. I’m a web designer stuck with a PowerPC Mac, and I was wondering about a couple of things:

    1. Would it make sense to use it for testing web pages in IE/Windows?

    2. Can you install software on it? Like a browser plugin or a text editor.

    3. Where did you find a reliable host for 30US$/month?

    TIA.

  • http://www.revmedia.com dhecker

    Hi Gabirel –

    1) sure, we’ve been using for that purpose already
    2) yep, so far no problems except for the cicso vpn which refused to be installed over remote desktop
    3) pm me for the name of the company!

  • GabrielRadic

    PM sent. Thanks.

  • Snikch

    For those people with decent connections / static IP’s at work, just port forward a port to your office computer (port 3389 I think is the remote desktop port) and that way you get access to your computer, no need for a seperate server!

    We have remote desktop for 4 of our computers at our office.

    In reponse to the question as to how many connections you can have, with a standard Windows install you only get one connection, but with Windows Server you can have as many as is set by group policy, but by default I believe it’s 3.