Saturday, January 24, 2009

QR Codes

Brandon Wiley invented an ATM machine this week for complementary currency using QR codes. Writing python code on Google App Engine, he wrote code which can generate a QR code using Google Chart API and an oauth consumer to allow someone to redeem the currency without giving the ATM site the username and password to their account. The transaction was made with the OSCurrency API. Some more API support needs to be done to make the transaction more resistant to counterfeiting, but it already makes a cool demo.

Monday, January 19, 2009

Stupid Currency Tricks with OAuth

We interrupt our regularly scheduled program with a screencast for software developers.

If you are not a software developer, the screencast may not be useful, but it's good to understand why OAuth is critical to online complementary currency. When you buy something online, you don't log into your bank's website to do the transaction. You may click on a PayPal purchase button or some other one-click button. So, a member may not want to log into a community currency website to make a payment to a peer. The community currency website needs to expose an application programming interface to third party applications (like Facebook) to make payments and execute other functions. How is the third party authorized to make a payment on behalf of the member? The OAuth protocol allows a member to seamlessly grant the third party application authorization to perform specific actions on his accounts, for instance. It's kind of a big deal.

In this screencast, a web application is built which lets a member of a community currency system (on another server) make a payment to another member. The member is redirected to the currency server to authorize the app to make the payment. This authorization could be for one payment or also for future payments initiated by the member. Included at the end of this post are some links that I found extraordinarily helpful in adding OAuth support to OSCurrency.


This is actually the second Stupid Currency Tricks screencast this year. The first screencast was writing an app to make remote calls to OSCurrency using HTTP Authorization using a Nokia N800 handheld computer.

Here are some helpful resources:

Developing OAuth Clients In Ruby

How To Turn Your Rails Site Into an OAuth Provider

Beginner's Guide to OAuth - Part I: Overview

Beginner's Guide to OAuth - Part II: Protocol Workflow

Beginner's Guide to OAuth - Part III: Security Architecture

Beginner's Guide to OAuth - Part IV: Signing Requests

Sunday, January 4, 2009

An Improvement to Employee Discounts with Network Effects

At the Next Economy Workshop, Donald Jackson said he was interested in considering currency designs that would support small businesses since they are especially vulnerable during an economic crisis. Yesterday, Donald wrote Alternative Currencies and Independent Business Wages. In Donald's analysis, a fundamental problem small businesses have is paying competitive wages compared to large corporate firms. The solution:
Let us suppose that on top of existing base pay, local employers added an extra $3-4 dollars worth an hour for their employees. However, instead of being issued in dollars, let us suppose this wage boost is issued in a local currency that is only accepted by those very same firms. All of the local, independent firms in a network issue the wage increase, but those increased wages can only be spent within that local network.

As businesses compete with each other for employees, a common non-dollar compensation is employee discounts. An employee discount is the difference in price between what is charged to a customer and what is charged to the employee. One might assume this difference is roughly less than or equal to the profit margin. If the employee pays for the employer's cost of goods, this type of compensation costs the employer nothing. For instance, Microsoft has a company store where employees can purchase Microsoft software for next to nothing. Whole Foods gives employees a 20% employee discount.

Sometimes, if they are close to each other, small businesses will informally honor each others employee discounts. Can we scale this cooperation among small businesses across a region?

As long as the employee provides substantial services to the employer and the employee discount is not "property of a kind commonly held for investment" (Business Tax Answer Book - p. 386), then the benefit is not treated as taxable income to the employee:
Thus, employee discounts on the purchases of securities, commodities, or currency, or of either residential or commercial real estate are not qualified employee discounts and are not excludable from gross income.

It seems to me that a zero interest local currency would not be considered property held for investment. Also, this seems to be a tool that small businesses can use to survive in lean times against large companies whose tools include government subsidies not available to small businesses.
Fork me on GitHub