Bitcoin – Fear, Uncertainty, Doubt

Recently, there have been many articles that are down on Bitcoin. So many so, that it feels like a conspiracy to spread FUD! With that in mind, here are my counterpoint arguments to some of the more common anti-bitcoin messages. Keep in mind this is just my opinion, please don’t spend any money based on my musings below!

FUD: Educated economists think Bitcoin is a load of rubbish and going no where

History is littered with examples of disruptive thinking that experts were unable to fathom and as a result made completely incorrect predictions. For example in 2007 Matthew Lynn, a financial journalist, declared ”The iPhone is nothing more than a luxury bauble that will appeal to a few gadget freaks.”.

The truth is, many times “experts” simply don’t know what will happen one way or another. Furthermore, I would argue that it’s hard for educated economists to predict the outcome of Bitcoin, since Bitcoin came in to being through a totally different specialization (ie software and cryptography).

FUD: Bitcoin is a short term scam to make a fast buck

Most Bitcoin users don’t act that way. In fact, one of the biggest arguments against Bitcoin becoming a stable currency is that users mostly hoard Bitcoins for long term gains. These speculators are buying Bitcoin for the long haul because they believe that Bitcoin will go up in value over the long term.

For example, the Winklevoss twins purchased $11 million worth of Bitcoin, with the hope that in the long term they will substantially multiply their investment.

FUD: Bitcoin is a Ponzi scheme

That’s like comparing apples to oranges. A Ponzi scheme pays returns to its investors from the money paid in by subsequent investors, until finally there are no new investors and the whole thing crashes.

On the other hand, Bitcoin is a crypto-currency with a fluctuating exchange rate that floats freely on a daily basis – much like gold, the dollar, the euro, etc. Bitcoin is also a frictionless transport layer that enables digital payments across a peer-to-peer network.

FUD: Bitcoin is inherently deflationary. Thus less cash for everybody to spend. This is bad.

Bitcoin deals with this issue by having 8 decimal places. The higher the Bitcoin value rises, the smaller the decimal transaction size will become. Each decimal place has a name, with the smallest unit being 1 Satoshi. If 1 Bitcoin was worth as much as one million dollars 1 Satoshi would still only be worth 1 USD cent. In other words, there is no need to print new currency, we can simply use smaller units of Bitcoin.

 FUD: Bitcoin can’t become a currency because people hoard Bitcoins and transaction volume is too low.

People make this argument because they are comparing Bitcoin in it’s current state to a modern currency. However, I would argue that Bitcoin has not evolved beyond the point when gold became a value store.

In that early period gold was not exactly a frictionless, high volume, high transaction, commodity. It wasn’t until after the gold-rush that gold ended up in the pockets of the average Joe. Even then, gold was never a truly frictionless modern currency until paper represented gold in the gold standard monetary system.

We already have the Bitcoin ATM, Coinbase, and many other Bitcoin ventures. Now cast your mind five years into the future and consider all the other software and hardware devices that could make Bitcoin much easier to use. Once these devices have been deployed into the consumer marketplace it stands to reason that Bitcoin liquidity would increase.

The other consideration is that true liquidity will not happen at the full BtC level, it is much more likely that consumers will be trading fractions of Bitcoins rather than entire Bitcoins.

FUD: Bitcoin will devalue or collapse due to criminals using Botnets to mine for coins with free electricity.

If Bitcoin moves towards mass consumer adoption this outcome becomes less of a probability. Coinbase already has 650k+ verified legitimate users and of course this is only the very tip of the iceberg.

Bitcoin technology enables frictionless value based electronic transactions. This idea is very useful and viral. The viral effect might be amplified as software and hardware providers start to integrate Bitcoin into every day work flows and products. With enough users this argument becomes weak since the usage of Bitcoins by criminal networks would represent only a fraction of the market.

FUD: Bitcoin is designed for tax evasion.

That’s like saying that USD cash is designed for tax evasion. Yes, it is very possible to use cash for tax evasion by passing it under the table and not declaring it to the government. However, if you’re using cash within the normal constructs of society (ie shops) it will be passed through various systems (such as cash registers) that will log transactions. I would argue that by the time Bitcoin becomes a high volume consumer traded currency  most transactions will pass through some form of cash register.

FUD: Bitcoin is evil

Given the modern pace of technology, one way or another, a purely digital currency is within our future. Even if Bitcoin fails, something very similar will take it’s place. Bitcoin is arguably one of the lesser evil representations of digital currency due to being de-centralized.

After recent NSA revelations it seems foolhardy to trust the government with something as powerful as a fully regulated digital currency where they would be able to seize 100% of anyones wealth with a click of a button.

FUD: Bitcoin’s lack of regulation facilitates illegal markets

It should be noted that our government and law enforcement agencies are not completely useless. For example the FBI were perfectly capable of closing down Silk Road, the webs biggest drug black market.

There is also a counter argument that by making it easier for criminals to connect and transact via centralized marketplace websites, it makes it easier for law enforcement agencies to track down criminal communities, who would otherwise be acting in a far more more dispersed and untraceable manner.

 FUD: The top one percent of Bitcoin users own 40+ percent of Bitcoins

I would counter that the top 1 percent of Americans own 40+ percent of the nation’s wealth. Apparently this type of wealth distribution is the norm. I’m not saying I like it, I just don’t understand how this argument has any weight regarding Bitcoin.

FUD: Bitcoin makes it easier for criminals to do business with each other

Yes, but it also makes it easier for non-criminals to do business with each other. Since there are far more non-criminals than criminals, one can easily argue that the frictionless nature of Bitcoin can offer benefits to society at large that outweighs this downside. For example, Bitcoin makes it easier for independent business owners in third-world countries to trade with the rest of the world.

FUD: Early adopters stand to make profit, later adopters are “suckers”

Just like with any business related venture the first involved are the ones that take all the social and financial risk. There have been plenty of attempts at virtual currencies that resulted with no adoption and early investors loosing 100%. Bitcoin might just as easily have gone this way. However, Bitcoin seems to be a version of a virtual currency that finally strikes a chord. This turn of events is just as much about timing and luck as it is anything else.

Why should we persecute this batch of early adopters for this particular technology. What is the difference between this and those that purchased Google shares at $85 which are now $1000+? If someone today buys Google at $1000+ are they a sucker, or just an investor that missed the early opportunity?

FUD: Bitcoin will fail when “real” money is fully digitized

It’s much easier to create a standalone, self contained, digital currency than it is to try to tie “real” money to a digital transport mechanism that is fully integrated with everything in the world.

For example, let’s say the fed decided to create a digital transport system similar to Bitcoin that could carry “real” money around… it would be a huge effort on their part to truly integrate that into all shops, banks and existing financial infrastructure. It would take many years, by which time Bitcoin may well be so embedded within our commercial culture that it proves difficult or impossible to remove.

FUD: Bitcoin mining software is being distributed as malware

If your computer is susceptible to malware that can mine Bitcoin, then your computer is also susceptible to malware that can steal your credit card information, hijack your video camera, etc. In other words you should secure your computer.

FUD: Bitcoin mining has a terrible carbon footprint

Doesn’t printing money, stamping bullion, and minting coins also have a carbon footprint? If you measured all the banks computers in all the world what kind of carbon footprint would you find?

Bitcoin is no different to any other industry that uses electricity to create a product or service. There is absolutely nothing stopping Bitcoin miners from using machines that are solar or wind powered. In fact I can imagine it would be a selling point for Bitcoin miners to sell coins at a premium that have been “mined responsibly”.

Even so, I would personally like to see this issue addressed by the Bitcoin foundation. It seems highly likely that there is a technical approach to deal with this downside.

Conclusion

The real point here is Bitcoin is a highly disruptive technology that has the potential to change our lives on a fundamental level and that’s probably the main reason it’s generating so much controversy. Hopefully this article can help some folks re-examine their assumptions about Bitcoin.

Anyway, as I stated at the top of this article these are  just my opinions, please don’t spend any money based on my musings. That said, if you’ve found this article useful and have a few satoshi’s to spare please consider making Bitcoin donation to: 19rN88GkWwLfKBn6Kue5wGrWWq2KnqDQRk ;)

How Startups Become 10x Less Efficient at Releasing New Features (or, nSpeed)

nSpeed

nSpeed = the velocity at which a startup is able to build and release new features.

To be clear, the nSpeed estimates below are my personal estimations and not scientific fact. However, I hope they illustrate my main point which is software and business complexity severely slow down the rate at which a technical team can release new features. A fact that many non-technical folks find hard to grasp.

Phase 1  Moving from idea to prototype [nSpeed = 1]

The maximum possible nSpeed is during prototype phase. One developer is able to build huge swaths of product at a break neck pace. There is nothing to impede the developer from thinking about and building new features. No users, no maintenance, no sysops, etc. 100% of efforts result in new features.

Phase 2 – Releasing an alpha version to friends and family [nSpeed = 0.75]

The first group to use a software product is usually a small group of friends and family. At this point developers can no longer devote 100% of effort to building new features. They need to start fixing bugs, supporting users and being mindful of not breaking the working product.

Phase 3 – Releasing a beta version to early adopters [nSpeed = 0.5]

During this phase, a user-base will typically grow from tens to hundreds of users. Developers now need to start thinking about building a stabilized production environment. Code needs to become more tightly controlled, testing servers need to be used, more time is taken up by sysops, more bugs are reported and more support requests are initiated.

Phase 4 – Releasing version v1.0 to the general public [nSpeed = 0.25]

With successful user adoption comes many challenges. Developers need to start coding with “scale” in mind. They need start adding things like job queuing, asynchronous code, load balancing, database sharding and other scaling related sub systems. From this point forward all new code needs to work within the context of a highly distributed architecture. Also, business overhead increases during this phase i.e more product meetings etc.

Phase 5 – 1+ year after releasing V1.0 [nSpeed = 0.125]

After 1+ year, a codebase can grow to 100k+ lines of code. Testing and deployment procedures are now much more complex. There are hundreds of bugs in the backlog. Support systems have now taken on their own life. Systems operations is a full time occupation. Adding new code now requires an unprecedented amount of time consuming forethought, discussion and attention to detail.

 Phase 6 – Becoming a medium to large company – [nSpeed = ?]

A company with 50-100+ employees suffers from all of the above overhead with the additional resistance factor of working with lots of people. What used to be one person’s job now becomes an entire department. Inter-departmental roadblocks, red-tape and meetings slow everyone down massively. The molasses effect is so great, I haven’t even bothered to guess at an nSpeed.

 nSpeed, In Context

Let’s imagine that Mark Zuckerberg was the only developer who ever worked on Facebook. If you think about him as sole developer, moving from one phase to the next, it’s not hard to picture how the nSpeed of each new phase becomes slower. For example, if he had single-handedly worked on the product to get it to phase 5 (with millions of users, a distributed architecture, etc.) it seems highly likely that he would be pushing out new features far slower than during his zero responsibility prototyping phase. I’m going to venture a guess of at least 10x slower.

Conclusion

I think many people understand that it’s much slower to develop within a complex system than it is to develop within a simple one. However, I’m not sure it’s common knowledge just how much slower it can become over time.

If you are a developer, I would be very interested to hear your guess as to what the nSpeeds of phases 1-6 might be.

At the very least, I hope this article helps illustrate why your tech team is gradually getting slower ;)

Bootstrapporn – Inspiration for Unfunded Bootstrappers (Audio)

Ruben Gamez (Bidsketch)
Covers the whole spectrum of Ruben’s journey from side projects to a newly-minted self-sustaining bootstrapped company.

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Corey Maass (The Birdy)
Corey’s story is impressive and shows the efforts required to bootstrap.

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Ted Pitts & Harry Hollander (Moraware)
Some real truths. Great story about two seasoned micropreneurs building a biz slow and steady.

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Michael Sliwinski (Nozbe)
About how he was able to bootstrap a “scratch your own itch” side project into a successful startup that employs a dozen people and services tens of thousands of paying customers.

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Amy Hoy (Freckle)
About how she was able to free herself from the shackles of full-time employment and escape the stress of the freelancing hamster wheel by developing her own online product empire.

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Rob Walling (HitTail Part 1)
Original episode about the acquisition of HitTail.

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Rob Walling (HitTail  Part 2)
Post mortem of HitTail’s success.

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Bootstraporn might be another way to spell it!

Anatomy of a Native Feeling HTML5 iOS App

There’s been a lot of bad press about how you can’t build a native feeling HTML5 app on iOS. The main (perceived) issue is that HTML5 apps don’t “feel” native as you click around. However, I’m of the opinion that you can build beautiful native-feeling apps with HTML5, but it requires attention to detail. The trick is to test and optimize every UI  interaction on the device as you build out the app. If something “feels” laggy, then stop building until you get it to feel native, by hook or by crook.

I’ve been touting this possibility to a number of clients over the past year, however they’ve all been too risk averse and chose to go native… until now. Thankfully, UberMedia let me have a stab at building a small app for them in pure HTML5. The app is called Splitsville (a check-splitting app), it’s available on the app store for you to check out. So far, most people who use it think it “feels” native.

Although the app is small, it’s easy to imagine that a larger app made of multiple components such as this could also be made to feel just as native.

It’s Time for an Open Twitter (a 501c3)

Anti-Competitive

I like Twitter. I’ve been trying to build a business on Twitter’s platform for the past 3 years. However, their most recent announcement of new rules and regulations has stunned me.

Twitter has the power to topple regimes, but by following advertising dollars they are building a walled garden and making anti-competative decisions. It does not bode well for our world that such a commercially driven company should wield so much power and be the epicenter of global conversation.

Non-Profit

In the same way Wikipedia is a non-profit democratization of knowledge, we need a non-profit democratization of global real-time-messaging.

Dalton Caldwell has an interesting idea, but I don’t think it will end the Twitter monopoly due to being pay-to-play. For example, I doubt app.net will bring free-for-all freedom-of-speech to the third world.

In my opinion, the best scenario would be for a new uncensored non-profit organization to offer a free, global, robust, API for real-time-messaging.

sky.net

For the sake of this article, let’s call this new service, sky.net and assume it has millions of dollars of donations to keep it running (think Wikipedia).

sky.net could quickly win a huge amount of users due to the overwhelming power of geeks and influencers talking about it, blogging about it, building awesome software clients, and letting everyone know that sky.net was the best option for a free global chat stream.

The market segmentation could look much like Android and iOS. Especially because sky.net would be free to use, with no developer restrictions, a new global chat-stream, free/paid apps available on all devices. No restrictions.

Monopoly

The sad fact is that right now Twitter has the right, and the power, to shape global conversation and change our world. Unfortunately their commercial interests are not truly aligned with the responsibility they are entrusted. We need an impartial non-profit company to take Twitter’s place and become the true real-time-messaging backbone of the internet.

The current situation, with Twitter owning real-time-messaging is like saying ATT owns email, or Facebook owns the internet.

Let’s be clear, Twitter created a free ubiquitous protocol for all to use, and then they withdrew access to it and claimed it for themselves. In other words, they created a single protocol and invited the open market to create multi-variant clients to use it (just like email, or http).

How can one commercial company be allowed to own a protocol such as http or email? Furthermore, Twitter’s new terms and conditions have made some astonishing demands and rules that seem to show the true color of the companies leadership. For example they forbid intermingling between Twitter and other social networks on the same screen.

Geeks Have The Power

If we, as geeks, could build awesome apps and use our influence to promote and get a critical mass into sky.net, it could be a defining moment for the internet when free-speech and anti-walled garden ideals won-out.

Interestingly, Twitter’s own greedy move of limiting 3rd party clients to a maximum of 100,000 users ensures that existing (and new) client developers would make every effort to move to a system like sky.net.

Funding

After reaching critical mass (of say 100m users) it would be easy for sky.net to maintain donations and funding. After all, if an API developer was making millions of profit (think Hootsuite, Datasift) they would have a very high motivation to regularly donate to sky.net to ensure its upkeep. However, they would not be unable to alter the non-profit manifesto of sky.net. Philanthropists may also consider donating to sky.net in the name of unbiased and open free speech. It’s also worth mentioning that with new open source scaling technology, sky.net might be comparatively inexpensive to run.

Ecosystem & Investment

If sky.net really existed it would be a more secure option for any company or investor that is doing business with Twitter today. The sky.net manifesto would be rock solid and would ensure that an unbiased free market prevailed. It would also ensure that API capabilities would not be pulled from under any responsible developers feet. The investment surge that happened during early Twitter days could be free to be re-sparked due to renewed investors confidence in an unwavering unbiased platform.

sky.net would have no obligation other than to make a great API for other vendors to capitalize on, and it would not cost users or developers anything.

 

Honor in Business

Have you ever had business dealings with someone who treated you without honor? I personally believe that one does not need to step-on other people in order to get ahead in business.

Both myself, and friends of mine, have been on the receiving end of dishonorable business dealings at one point or another during our career.

Ultimately, how you decide to treat people you do business with is up to you. But remember, as you sail along, you will be leaving in your wake ripples of either honor or dishonor.

Yelp, You Cost Me $2000 by Suppressing Genuine Reviews, Here’s How You Fix It

Dear Yelp,

It’s highly likely that you’re costing your users millions of dollars by offering some astonishingly bad recommendations.

For example, I did business with a moving company based on 5 star recommendations that you presented.

As a result I was strong-armed into paying $2000 more than originally quoted. I spent 40 days without any furniture and quite a few of my belongings have been misplaced – forever.

I’ve always loved your site. I love your startup story. I love your crowd sourcing review model. For years now I’ve been using Yelp to help me make decisions about where to eat and what to purchase. Yelp has never steered me wrong. So what happened this time? How come your reviewers were so far off the mark?

They weren’t.

Your reviewers described exactly what I experienced and warned against this company again and again. But you hid all of those reviews.

Wait, what? Why would you do that?

After Googling the issue I found out that some time back you introduced a very difficult to notice and access filter link (screen shot here) to hide reviews that seem to be fake. You also introduced an automated algorithm that flags suspicious looking reviews and shuffles them into the filtered section.

Your algorithm typically hides entries by people who only post one review and who don’t otherwise engage in Yelp. Your assumption is that if a user only posts one review, posts no comments, has no friends etc. then most likely they are fake and trying to game the system.

Let’s call this “Assumption X”.

In the case of the company that I mention above (the one that ripped me off) Assumption X is exactly wrong at least 10 out of 14 times. Just to be clear, 10 honest one star reviews have been hidden from public view. That’s a 71% false positive hit rate.

So why did Yelp get it wrong 10 times?

In each case the one star review was left by someone who would never normally leave a review… they were simply so outraged that they were motivated to signup to Yelp and try to warn others how bad this company is. None of them ever used Yelp again. Furthermore, they didn’t have the knowledge or inclination to try to make their Yelp profile look acceptable to Yelp’s automated suppression systems.

The Cost of Assumption X

In this instance Assumption X has cost me personally $2000. If you extrapolate my loss to all other Yelp users it would be easy to imagine at least 50 other people per year would make the same purchasing decision I did based on Yelp’s 5 star presentation of this company.

It seems fair to estimate that Assumption X is hurting Yelp users to the tune of $100,000 per year – for this one company. There are approximately 5 million companies in the USA and over 20 million reviews on Yelp.

When I think how many genuine and helpful reviews must be hidden from view due to Assumption X, my mind boggles at how much money is being lost by people who trust Yelp to help them make purchasing decisions.

We’re not only talking about small stuff like restaurants and cafes, we’re talking about large stuff like moving companies, kitchen installation and car dealerships.

I don’t believe you are purposefully trying to cost Yelp users tens of millions of dollars per year by dishing out bad advice, I just think you haven’t tested Assumption X thoroughly enough.

Sockpuppeting

Perhaps even worse, reputation management companies are very familiar with Assumption X and know how to game Yelp. All they need to do is create and nurture sockpuppet accounts that look real. Once a few “real” looking accounts rally round a planted 5 star review by befriending the author, commenting on the review and flagging the review as helpful… hey, presto, it’s out of the filter and onto the main page.

So now we have a situation where Yelp’s automation systems regularly flags real reviews as fake and fake reviews as real.

The Fix

The quick fix is for you to alter Yelps automated algorithms to pick up on pattens of outrage. These kind of companies (the ones that rip you off) will most likely have many long and carefully written one star reviews that are hidden by the filter and will have a few five star reviews that reputation management companies have managed to get through.

However, I don’t recommend that fix, as it would be Assumption Y.

A better fix (a real fix) would be to introduce an optional (yes, I said optional) Yelp verification system that allows users to go through a painless question based identity verification process. This would not be hard to do. Question based identity verification processes are already used and supplied under the hood by agencies such as TransUnion, Equifax & Experian.

Then, when a user joins Yelp and has completed their first review, you can present them with the option of quick and painless question based identity verification. You can explain this will make it very likely that their review will go live.

Question based identity verification can be very painless. I have used systems that confirmed my real identity within less than a minute. The system simply asked my name and address, then it used credit history knowledge (supplied by on of the previously mentioned credit bureaus) to ask a few questions such as:  “When you were living at 123 Main Street, were you living with John Smith?, John Doe? etc”. All I had to do was answer three multiple choice questions and hey presto my identity was validated.

The results of the verification process would not need to be published in any other way than to say “Verified Yelp User”.. oh, and of course, to push the reviews out of the filter and onto the main page.

As long as you only allowed each valid identity to appear once on the Yelp this system would be “very hard” to game. After all, it’s easy to create sock puppet accounts when all you need is an email address… but not so easy if each account needs a unique verified credit history associated with it.

Now that you are a public company and have a market cap of $1.5 billion, I’m quite sure that you have the resources to implement such a system, which will be better for everyone.

Update 1: Some folks have asked me to mention that I originally discussed this issue in a bit more detail here (6 mins in).

Update 2: Some people have said that users might find the proposed solution creepy. There is no reason they would have to. It would be as simple as asking the user a question “Please validate your a real person by answering these few questions”. As far as the user is concerned it’s just a few questions and answers.

Update 3: If you want to see sockpuppeting in all its glory have a look at these two reviews posted by “Bob” (both posted on the same day) about the moving company that ripped me off.

Update 4: For in-depth discussion of this post with ALL the angles explored, please see this discussion thread here.

The Only Reason My App Worked Was Due to a Slow Database

Things Are Not What They Seem

Astonishingly, the only reason my Ajax driven web app has been able to run consistently and successfully for the past two years is due to MySQL latency.

I know this because yesterday (with the help of Jonathon Hill) I optimized the database by moving it off the server and onto it’s own 4GB Rackspace instance. (Everything was running on a single 2GB Rackspace instance prior to this).

As soon as I got the new database up and running it was blazingly fast (using the Percona flavor of MySQL made it a breeze).

But today I noticed that the load average on the front end head server (now MySQLless) was running super high (100+) with customers being unable to login and generally use the service.

After some digging around I noticed that Ajax requests were being served wayyy faster allowing for each client to establish 5-10 concurrent ajax requests thus flooding the Apache child pool – amping up the load – and bringing down the site.

Semi-blocking Ajax Queue

To fix this I quickly implemented a semi-blocking queuing system for all Ajax requests.

Basically the JavaScript now queues all ajax requests the client sends and only makes one ajax call at a time UNLESS a call is blocked for more than one second, then it is allowed through.

This allows the javaScript to be asynchronous but severely throttles asynchronousness (if that is a word!) concurrency.

I was expecting this to slow things down but it seems to have really speeded things up from both a user and backend perspective.

But perhaps even more importantly the server load average has gone from 100+ down to 0.2.

I can only assume the reason the system has been working for the past two years is because MySQL latency was forcing the Apache child processes to run slower, with a knock on effect of Ajax responses being slower, with a knock on effect of chained Ajax requests being delayed thus creating a less asynchronous environment.

In other words, the only reason my app worked for the past two years was due to a slow database!

How I Converted My Subscription Site from Paypal to Stripe in 2 Days

PayPal to Stripe in 2 Days

Stripe.com is a dream for any developer wanting to build payment processing into their site.

In fact, the API is so easy to use it leaves me wondering why many other API’s make such a mountain out of a molehill. Stripe goes one step further by making every part of website payment integration stupidly easy.

App Store Approval = Days   –>   Stripe Approval = Instant

For example, have you ever tried to get approval to join the App Store and start making money? It takes hours of form filling and fact checking, then days of waiting. With stripe you only need to fill out a single form with your company information and tax ID. Then click a button and – bada-boom bada-bing – you can start collecting money online instantly.

(Assuming you live in the USA and have your company papers in order.)

PayPal Sandbox = Hours   –>   Stripe Sandbox = Instant

Another example is with PayPal, if you want to use the sandbox to test your application it takes hours of fiddling around setting up a sandbox account loging in and out of various vendor, seller accounts etc. But with stripe it is as simple as clicking a swich that says “test” and using a pre-assigned test API key.

Even better than that, all the documentation auto inserts a working test API key into any example code so you can literally copy/paste from their site into yours and things work.

Merchant Account = Headache   –>   Stripe = Merchant Account

You probably already know this, but just in case you didn’t, stripe does not require a merchant account. Simply enter your existing bank routing and account number and stripe sweeps money into your account on a daily basis (with a 7 day lag per sweep). Setting up a merchant account usually takes weeks and requires hours of paperwork to be filled. Most other payment gateways require merchant accounts.

Subscriptions

The subscription side of things is also super easy. Just add a few subscription plans in the stripe control panel and sync the plan ID’s with the ones you are already using on your site. When a customer switches plans stripe does all the annoying prorata stuff for you out of the box (so your customer doesn’t loose money and you don’t have to fiddle around with PayPal partial refunds).

They also have a nice and simple way of getting invoices out the API into your system so you can show customers exactly when what they paid for.

How I Switched in Only 2 Days

The trick here was to keep my infrastructure exactly the same. The only change I made was to the PayPal endpoint (i.e. the PayPal IPN script). At the top of the IPN script I check to see if the request is from PayPal or Stripe. If it’s from stripe I convert Stripe JSON parameters to PayPal IPN POST parameters. Hey presto everything works in an instant.

To get going the only new stuff I needed to add was a credit card form and a cancel button and test, test, test for a day or so.

Nuking Test Data

I was just about to write to the stripe team to suggest it would be awesome if they had a way to nuke all my sandbox test data… but then I wondered if they already had it. In the settings control panel I found a button marked “Clear Test Data”. Simple as that.

Conclusion

Due to the above PayPal IPN trick, ease of testing, ability to erase test data and instant go-live approval I converted my subscription site from PayPal to stripe in only 2 days. I switched it live on day 3. Not too shabby.

I don’t usually rave about this kind of service but they built something in a way that I would have loved to build myself. These guys really thought this through from business to UI to documentation to technology.

Awesome job guys!

Did you hear the one about the Irish ATM?

I had a fantastic trip to Ireland for the new year. During my trip I used an ATM machine to get some cash out. I was surprised by the default cash options. I’ve been racking my brains and can’t seem to come up with any sensible rationale for these amounts. Do you have any idea what the business objectives might be here? (See below pic)

Answers in the comments please!