Democratizing Taxes

There’s an old proverb:

Nothing in this world is certain except for death and taxes, but scientists are still trying to prevent death.

Government and taxes

Governments are a way for people to provide certain basic needs at scale. Most commonly, the services best provided by the government are those of natural monopoly: control over natural resources, electricity and water supply, roads and railroads, safety (police and army), health and education. Things that have economy of scale, where competition is ill advised, and privatization will not benefit the people.

Let’s analyze the army, as an example: the army provides security. It prevents threats to the people of this country by the people of other countries. Let’s say, for the sake of example, that the army is privatized. My neighbors pay for protection and I don’t. Can the army protect their country without protecting mine? No. Therefore, I’m incentivized not to pay, not to conscript. I leach on others. Governments are built to prevent such behavior, and it is done by taxes.

A tax is a way of collecting money from the people, for the benefit of the people through these

natural monopolies. And in order to make things easier, all tax money is pooled into one big pool, and then spread back to the different services. Through the centuries of slow information and transaction flow, this provided a certain fairness. Collecting taxes was complicated, spreading the money was complicated. Asking people what they want was complicated – even in relatively modern democracies.

Over the years, technology and changes in moral stands may change what is considered as public service and what is considered for private service, as the example of the privatized firefighters becoming popular again in the US – they will save your life, but will only save your property if you pay extra. However, the amount of control you had about how your tax money was spend was extremely limited.

Charity and taxes

There seems to be a charity boom over the past few years. I think there are two reasons for this:

  1. Increase in available income: there has been a tremendous improvement in the average quality of life over the past hundred years. Over the last decade, a lot of technologies have reached a level of maturity that we get so much bang for the buck, that there are we have spare bucks in the bank. Computers are dirt cheap, cars are smaller and cheaper, overall health is better, etc. This leaves more income for charity – because giving makes us feel good about ourselves.
  2. Internet makes charity direct: take Kiva, for example. Kiva provides you with an interface to control exactly what happens with every dollar you donate. You know who gets it, and what they plan to do with it. This is not an organization governed by a group of old people in suits. This is you helping one other person.

I think that for these two reasons, we will see more and more charity in the coming years.

There are claims that charity is the sign of bad policy. That is, if governments did a better job, we wouldn’t need charity. I think it’s the other way around. Governments were the only way we could manage the basic services in the old days. There just wasn’t any other way. Taxes are built to fit the old days.

Charity is people voting with their money on what services are important and what aren’t. What they believe should be the basic rights of every human being and what isn’t. I believe that we will see more charity-like models enter governments over the next fifty years, as democracy becomes more direct and more open than ever before.

Charitable Taxation

Don’t get me wrong – I think taxes are extremely important. It is crucial that we force everyone to partake in the payment for the public services we consume. What I suggest is a concept of Charitable Taxation, under which you will get a choice of spending some of your income tax directly to charity or government service of your choice. For example, I think most of my income tax should go to health and education services. Other may think the police is more important.

Services that are underfunded will have to change. They will be forced to become private – as it seems that nobody feels they are necessary as government services. Others will bloom, as the people feel they are more important. And what services are provided by the governme

nt will be in constant change, always adapting to the time.

There is a lot of details that need to be brushed out, obviously. I’m not completely certain that this mechanism is, in fact, stable. However, I think that we are best provided when we are more involved in how our governments act. After all, they are the government of the people, by the people and for the people.

On Websites & APIs

A few weeks back, I attended Startup Weekend in Israel. Startup Weekend is a gathering of people of all sorts – coders, designers, marketers and the like – that join forces for one intensive weekend to create something out of nothing. While most groups spent most of their time discussing business plans and polishing presentations (which was a disappointment for some of the more talented developers in the bunch), our team spent almost all of our time developing a new internet service.

What’s In A Service?

Developing a new service in 48 hours is not an simple task, especially for a group of ten people who have only just met and have widely varying skill sets. We wanted to take one commercial area, which we felt was badly served by existing sites, and revamping it. Creating, in two days, the open source seed that could later be used to take over the category. In Israel, the worst served segment is of classified ads, so that is what we were aiming for.

Here’s a list of what we had in mind:

  • Insert a new item (for example, a car or a cellphone)
  • Different displays and properties for each kind of classified ad (cars are different than cellphones)
  • Filter many items (according to properties of the item)
  • Search
  • User registration and login (via existing services, such as Facebook Connect)

To make things more difficult, we had ambitious goals about creating the front end of the service as well:

  • Develop not only a website, but also mobile applications (mainly, iPhone and Android).
  • Translate to several languages.
  • Test several, completely different,  design concepts and user interfaces. We really wanted to make a radically better website. Aside from the graphic design, we had several ideas about comments and Facebook integration that were pretty cool. We also had ideas about mixing UI concepts from price comparison sites as well as classified ads sites.
  • Use real ads, taken from competing sites (which, in Israel, is probably legal since classified ads are considered too utilitarian to be protected by copyright law).

The Open Website API

Building several clients to the service required extreme separation of responsibilities. In most existing frameworks (it’s slightly better in Ruby on Rails than in Django), are built on three layers: the data model, the controller or view and the template.

The data model defines what data objects are used in the system. We’ve built a simple generic model for a classified ad, and a set of meta-models that define the properties expected for each type of item.

The controller or view is responsible for fetching the data required for this action. For example, in order to create a new ad, I need the list of expected properties for this type of item (a car). The controller is responsible of all the heavy lifting (such as fetching data, validating input correctness, etc.). We created the controllers for our main actions, quite simply.

The template defines the way the page layout. It is responsible for rendering the way the website looks like (the HTML). This is what we found most cumbersome. First, each template is tied to a URL. This meant that we couldn’t have two HTML clients without splitting a lot of code. Then, the mobile client needed an API, which required a third branch of controllers and templates to render the objects for the iPhone.

This just wouldn’t do. Instead, we decided to create the API once, and use it for everything else. That means that on the server side we only had to develop the API, and not even a single HTML page. Then, we could have written as many clients as we wanted, each with a completely different flow, look and feel. The web clients were just html with some ajax, that didn’t have to be on the server. The iPhone app was just as simple to develop. No code was duplicated. I was surprised at how fast we have iterated ideas.

What’s it good for:

  • Complete API – by default, there’s an API for everything. There isn’t anything on the website that can’t be easily implemented on any other client. It makes the website very open for developers, without requiring any special treatment.
  • Complete separation of functionality from design – the server side was responsible for authentication, data validation and simple access paths to the data. The client is responsible for the flow, and user interface. Each client can be completely different, tailored for the device it is used on (think: web vs. mobile). There were hardly any limitations on what a client could do, because the API was so basic.
  • DRY code – write once, use everywhere
  • Third party friendly – having an API is important for another reason. Think of the Twitter API and how it helped create the Twitter ecosystem (something they are fighting today). For an open source website, this is an only an advantage. You want as many people plugging in and creating something new on top of it. Over time, the best ideas will merge, and community will benefit from the competition, while not wasting resources duplicating the data layer.

Cons:

  • Slower loading times – pre-rendered HTML will always be faster to load. Do people care that gmail takes a few seconds to load, every time you open it? Not really, because it’s so useful. And with smart client side caching and some clever ajax pre-loading, you can cut this time down significantly.
  • Command & Control issues – does the project include a client? If so, which one? How do you chose which client is “official”, or best? If not, does it mean you need two packages to install the website? How do you manage a list of clients? Where’s the data? Is it free and portable?
  • Security and tampering – when you have a very open API, you are vulnerable. There’s a fine line between being open, and being so open that you endanger the data integrity.

Rapid Development, Distributed Development

There are two special cases where this method can show itself to be especially useful.

The Lean Startup:

A startup in its most early stages is an organization trying to build an unknown solution for an unknown problem. It is a team of people, trying to find both a business problem and a solution to such a problem. This is called the product/market fit. The lean startup mentality dictates that the early stages of the startup should focus on learning.

Having an open website API is a great way to learn. First, it’s a great way for A/B testing and iteration of ideas. Second, there’s a real chance for serendipity. Your users will create clients for themselves, thus telling you what they need, and why they love your service.

The Open Source Website:

We’ve all heard about open source code projects, but an open source website is a much rarer creature. I’ve talked a bit about the reasons why it’s so difficult last year. The open website API liberates the project in several ways. The biggest pain point of the open source API is the data. A website without data is useless. By having the data in one central place, there’s great opportunity for innovation on the client side, having several open source clients developed with ease. In any other way, you wouldn’t be able to fork the website’s look and feel without copying all the data as well (think: Wikipedia).

I’d love to hear what you think. What other pros and cons are there? Would you want to see more open source websites?

The Woes Of Internet Identity

There’s no identity on the Internet

You can be an anonymous comment troll, claiming every single video on YouTube is the worst piece of film you have ever-ever seen (even worse than Batman & Robin!). How can anyone tell you are posting the same comment on every video? Or that you are, in fact, both sideshowkid1982 and hornyteen19?

Even worse, you can impersonate another person. You can buy a domain cleverly named after Steve Jobs, Bill Gates, Bill Clinton or your next door neighbor, where you can cause all sorts of grief. Anything from stealing some searches and making a few bucks on ads, all the way to impersonating and dominating their public image (easier when your target isn’t famous). Next, open a fake Facebook profile, maybe throw a couple of nasty comments in this or that site posing as them, and presto, you have a PR disaster waiting to happen.

For those who don’t know us, our reputation is what comes up in Google when they type in our name.

Claiming Assets

Since there’s no escrow service for identity, there’s a problem claiming assets on the internet. I can’t prove I really am me. There are several people with my name walking on planet earth. Are they mad at me for stealing their identity? For being first on Google?

It’s one of those hard problems, that no one seems to know how to handle. Technorati, the blog index, wants me to publish a post with a unique gibberish key they provide, such as this one:

H4MAMUUKAUD3

Does this prove I am the writer of this blog? Somewhat. Does this prove I am who I claim to be? Hardly.

In Cyberspace No One Can Hear You Scream

OpenId and other Authentication Services are a short step in the direction of creating a single sign-on to the Internet. It’s a way of connecting your Google Profile and your StackOverflow account. Supposedly, it leaves password security to a relatively small and trusted group of identity providers, and I have to memorize fewer username-password combinations.

I have several problems with this solution:

  1. There’s a real threat to OpenId. A clever hacker finds a way to reset the password on your OpenId provider, and your done. Dead to the Internet. All you street cred is gone (and worse – is your credit card number saved on any of these sites? You may lose real money, too). For a solution to be viable it has to be extremely secure. I’m talking fingerprint-DNA-retina-scanner secure. Something your country will be proud to use instead of its current identification system.
  2. Each of the big Internet companies is an identity provider of its own.You have to remember which identity you have used for any particular site. Did I use my Facebook account or my Google account for Posterous? Can’t remember. A solution will require that these profiles be merged or linked together.
  3. It’s opt-in. Anyone can comment on this blog claiming that they “love this post, it is great, post more on this subject, buy generic Viagra”. Thank you. I value your input. I want to find out where you live and send you flowers. But I can’t. Because you don’t have to tell me who you are, and I have no way of requiring you to, even if I wanted to.
  4. There’s no claiming of assets. When I buy a house, I register it under my name. When I buy a car, I register it under my name. When I buy a website, I type in a bunch of possibly-fake details on some obscure site. This means that I have to prove again and again that this blog is mine. I’ve had to repeat the process of insert-this-fugly-random-key-somewhere-in-a-blog-post-so-all-your-readers-will-get-an-rss-update-of-a-fugly-random-generated-key-and-hate-you about seven time for different services (mostly analytics and spam related). It is tiresome. And fugly. Please stop.

What About My Privacy

Convenience comes with a cost. Having my biological markers in some database somewhere can be disastrous if the database is broken into. Someone can steal my DNA. They can then pretend to me and frame me for a crime I didn’t commit. Or patent my DNA and sue me for infringement. Or any other idea taken from a really bad 80’s sci-fi movie.

Seriously, though, I’ll be screwed.

Until we really understand what identity is, and how to protect it, memorizing a bunch of passwords isn’t that bad. And you will just have to get these randomly generated keys every once in a while. Don’t blame me. Blame society.

Do Androids Dream Of Digital Memorabilia?

I walked by this bench on my way home, and I had to stop and take a picture. These pages were somebody’s things. She cared for them, otherwise she wouldn’t have kept them. They meant something to her. Now, they were tossed away. Garbage, yellow with years and useless. Maybe the owner of the pages passed away. Maybe they symbolized a time that was no more. It’s sad, how we can throw away memories.

These things, they aren’t just things. They are memories. They trigger memories in our brain, whenever we touch and smell them. They are a select few, because we don’t have room to carry with us everything we have ever touched. We only get to pick the strongest, most important memories to keep.

I have a habit: every time I move, I throw away half of my things when I pack. It means I have less to carry, and I have room to grow. When I unpack, I throw away half of what I carried over. These are the things I thought I may need, but in truth do not fit my new surrounding. The thing that takes the longest to sort is always the memorabilia drawer. It’s the drawer where I keep the trinkets I have nothing to do with. A medal I won in second grade, my high school diploma, a little wooden thing-a-ma-bob that I’ve got from a friend from halfway across the globe. This is the hardest drawer to sort. What stays? What still has meaning? I touch each item, and I wait. Does it bring back a memory or a feeling? I should keep it.

Our Digital Life

The drawer is full of old stuff. It hardly has anything new in it. It may be because I’m getting less sentimental about things, but I think it’s because I have less memory-inducing items. When have you last developed a photo? Looked through a physical album? We collect digital memories.

I have more photos than I can count. I hardly ever look at them. Mostly, because they don’t induce such a strong reaction as something physical. I guess it’s how our brains are wired. Nevertheless, my new memories are depicted by digital memorabilia. Digital photography, digital video, a Facebook status saying “zOMG! I had so much fun last night!”. How are you suppose to filter through your Facebook statuses? Is a starred tweet really as meaningful as a piece of paper that you have deliberately kept for years?

We just keep it all, hardly sorted. We don’t have the tools to filter, and we don’t have the need. Storage is cheap. Why would you ever delete anything? But you end up with too much, and thus, you end up with not enough. Not enough time to go through your old memories, and see how you have changed, grown, evolved.

Next time I’ll move, I don’t think I’ll have to throw away half of my memorabilia. What’s left of it, fits in a tiny little box, and everything in it is at least six years old. And I’ll be taking my portable hard-drive with me, of course. It still has space for another decade or so of digital memories. I have plenty of space to keep them all.

I just hope I can remember when they were all taken.

Social Media Vs Social Commitment

If a million people join this group, it will have a million people in it

It’s easy to start a group on Facebook. It’s easy to join. But does your group have meaning? Does it move people to action? Opening a new group is easy, creating a movement is hard. Creating a movement requires commitment.

Most people are afraid of failing. Some think they will lose the respect of their friends and families. Some can’t risk the financial costs. So we need validation from the group for everything. That’s why most Facebook groups use weak language. The creators don’t want to link their reputation too tightly with the failure to achieve the goal.

If X people will join, Y will happen – the creators of these groups leave themselves a nice exit route. If X doesn’t happen, we’re off the hook. We don’t promise to do anything. Oh, and we really don’t have much contorl over Y either, we just kind of hope Y will listen.

Example: If 100,000 people join this group, Nike will stop child labor in China. The language sends a message, and the message is: we’re not serious about child labor. Instead, try Help us stop Nike from using child labor in China. Now we have to be active. Now we are about change. Now we have started a movement.

What’s in a movement?

There’s a video going around the internet about a guy dancing at some music festival. This video is used as a perfect metaphor for a movement in three minutes. It depicts all the stages of a movement, from inception to full blossom.

  1. The Leader – every movement needs a leader. The leader is not afraid to stick out, to be different, to do what he believes even if he has to do it alone.
  2. The True Fans – the first to join the leaders are true fans. They believe in the movement, they just aren’t willing to take the risks. The risk of no-one joining. The risk of failing. They are not alone. They have a leader. This is very important. We’re not all fit to be leaders. If you believe in something, find who else does, and join them. You don’t have to open a new movement to make change.
  3. The Tipping Point – notice what happens after the third guy joins in. This is the tipping point, the critical mass. This is the point where change begins. Suddenly, there’s enough energy in the movement to challenge the status-quo, to be noticed.
  4. Change Complete – as more and more people join in, it becomes riskier not to join. As change builds, which were once the heretics are now the in-crowd, and those still sitting on the sidelines are conservatives, holding on to a fading life-style.

Notes from the trenches

In 2008 a group called Improv Everywhere created an event in New York’s Grand Central Station. The 200 or so participants of the event froze in place for five minutes in the midst of one of the busiest places on earth.

The video was so powerful it attracted many followers. In fact, there were over 70 similar events worldwide. I was lucky enough to help with the organization of the event in Tel Aviv (shameless plug). We weren’t the only group in Israel trying to create such an event. Why were we the only ones to succeed?

  • We made decisions. When you lead a tribe, there’s always a chance people won’t like your decisions. Do you take a risk and alienate some people? Do you put everything to voting? In a lot of groups, everything was up for vote and consensus was a must. Most of them couldn’t even choose a date. In our group, we’ve set the date up front. Even if your tribe is a democracy, the tribe elects a leader that has the power to make decisions in the name of the group.
  • We inspired confidence in the tribe. We had to communicate to the tribe that the event will take place as planned, and it will be a huge success. Once we earned the confidence of the first true fans, the tribe grew organically.
  • We engaged and empowered the tribe. Participants were asked to do whatever they could to improve the event. We asked them to bring friends. We ignited their imagination. We accepted their suggestions. We joined forces with others who wanted to help. We kept going until due date, and we came back to the group and published the results after the event.

The Tribes We Lead

We are bombarded with a contradictory message: You are unique, just like everybody else. We are supposed to express our uniqueness by buying branded shoes. We are supposed to wear our own style, as long as it’s skinny jeans. Brands spend billions shouting at people who don’t listen. They try to be noticed even though we don’t care. A lot of us go for it. It’s easy to be part a movement when someone else tells you what to do.

That’s OK. Most of us aren’t built to lead a tribe. Think about it. If we were all leaders, who would we lead? A tribe has leadership and followers. Followers don’t have to be passive. We can be passionate and active. We can recruit our friends. We can organize events. We will take risks for the cause.

We don’t need millions to create change. If we are a thousands active fans, we can reach a hundred thousand people, easy. Maybe even a million. That’s a lot of power, a lot of awareness, a lot of movement. In order to lead, find followers who are passionate and create a platform for them to spread the word.

Help us realize we can be part of a tribe that believes in something more than skinny jeans and branded shoes. Don’t be afraid. We need you to lead us. It is easy for us to find you, now more than ever. We are looking for you. We are connected. We want to help. We just need you to empower us.