Friday, July 31, 2009

Riding the Wave!

The mighty gods of the Interwebs (Google) have deigned to give me an early Wave account! I have been playing around with it a bit, and two things have become abundantly clear:

  1. It is dangerously powerful. I was talking with my girlfriend on Wave (they give you a second test account), and we found that there are a lot of different ways of holding a conversation, including typing into two separate blips. The realtime nature of it really does make a difference, since you can start responding before the other person is done. This may sound gimmicky, but it really does change the way you do stuff.

  2. It is still buggy. I haven't been able to change my settings, because the "settings wave" doesn't seem to work for me. There are also a lot of missing features, and it has a habit of getting desynched or dying in weird ways. That's why they call it a development build.

Still, overall, it is pretty awesome. The simplicity of widget-making looks like it will enable an absolutely massive number of cool apps, and the open nature should do a lot to spur its growth.

I will have to say that it will probably be about 6 months to a year before the live editing of text and graphical doodles gets old. Well, that may be an exaggeration, but it is really freaking cool.

Now to start being useful and actually start developing for it; you know, like was the deal with getting the account.

Saturday, July 18, 2009

I need to stop reading about programming languages

Every once in a while, I start reading about the cool things going on with programming languages. I'm not one of those people who generally spends his days musing over tuples, continuations, and monads (I still have no idea what they are), but it I do find it interesting to take some time to think about the tools that I use on a constant basis on a more meta level.

There is a lot of cool stuff going on in programming languages now and pretty much since the beginning of time, i.e. January 1, 1970. How to handle concurrency is one of the biggest things facing the language world right now, but there are tons of other things, like JIT optimizations and experiments in language interoperability (such as Parrot).

One example of a solution to the "concurrency is hard and threads suck" problem is the Termite language. It is built on top of the Gambit Scheme compiler/interpreter and implements the message passing style of concurrency. Take a look at the paper describing Termite; it has some cool examples of what you can do with message passing stuff. Of course, this is all stuff that Erlang has been doing forever, but nobody seems to want to use Erlang for anything but telco systems, for whatever reason.

Of course, as an Emacs fan(atic), talk of a cool Lisp-family language immediately got me thinking about a replacement for the desperately-outdated Emacs Lisp. That lead me to a proposed plan for replacing Emacs Lisp with Scheme... from 1996. It's been more than a decade, and as far as I can tell, there has been nearly zero progress in actually making that happen. The plan makes it sound like it would be relatively easy to do (barring some incompatibilities between Scheme and Elisp), but there is not any hint of it being in a better state now than it was then.

This is not a criticism of the people working on it; there are a lot of brilliant Emacs hackers, and the fact that it hasn't happened already means that it is a really hard problem to solve. It is more of an example of why I need to avoid spending too much time reading about programming languages: it's depressing. In comparison to most everything else in the computing industry, languages seem to move at a positively glacial pace. I get all excited about how some cool asynchronous, message-passing, migratable dialect of Scheme could be used to make a concurrent and fast Emacs implementation; then I go back to PHP for my programming, which doesn't have namespaces, integrated packaging support, or even a decent threading system, and cry a little inside.

I blame you, Steve Yegge. You made me dream again.

Thursday, July 2, 2009

free vs Free

This started as an email reply to my dad in response to this article.

I saw this via slashdot, so you probably read it. Obviously I agree with Galdwell that taking digital recording over the web without paying for them is not simply a "choice" it is theft.

I get the sense that Anderson is not necessarily advocating copyright infringement (which is different from stealing, especially for things like newspaper articles which are given away for zero dollars), but saying that when the incremental costs are essentially zero (which they are on the web and internet as a whole) the price will go to zero. I haven't read his book, but from what I've heard, he talks about ways that a business can survive when it is selling things for free.

As an aside, though I don't think it is terribly important to this discussion, I'd like to make clear the distinction between the two definitions of "free." There is an ambiguity in English (which isn't resent in German and some other languages, by the way), namely that free" means both "costing zero dollars" and "freedom." This is the hing that the Free Software people always make a big deal about, sincethey are fine with people charging for Free Software, as long as the recipients of the program have the freedom to modify, etc. the program.

In this case, there is a phrase, invented by Stewart Brand, which gets thrown around that says that "information wants to be free." It's certainly possible to disagree with this, but it is primarily in situations of censorship; where it is very difficult to keep information hidden once it has leaked out. The idea is that you have to exert a lot of pressure (= time, attention, and money) to prevent information from flowing between people, that the uninhibited exchange of information is the natural state of info.

If you believe that "information wants to be free," then you would have to spend an enormous amount of time and energy trying to keep it from being free, especially on the internet. This is what we've seen with the RIAA, where they are trying hard to give certain people access to information, while barring others, who haven't bought the song, or live in a country which hasn't agreed to certain licensing terms, for example.

A radically different way of looking at things, then would be to say that rather than try to put information in a little box and then give people access to only that box, take a step back and let information do what it does best: spread around. The "problem" with this is that you pretty much have to give up on trying to extract money from each transfer of info between two people, since doing so will vastly limit the usefulness and exposure of the information.

Or, to put it like a Mathematician, if you have a problem with people stealing things, simply define their action as not stealing.

Anderson argues, [the] magic of the word "free" creates instant demand among consumers, then Free (Anderson honors it with a capital) represents an enormous business opportunity

Arg, just what we need, another definition of "Free." Free Software people already have enough trouble getting their definition to gain traction as it is.

Anderson cautions that this philosophy of embracing the Free involves moving from a “scarcity” mind-set to an “abundance” mind-set.

I like this idea, since it is the only one that makes sense in the digital world. There isn't (for all practical purposes) any cost involved in making a copy of a set of bits, so the notion that there can be any sort of sacristy of any digital item is false. Companies have tried to artificially create scarcity where there is none through things like DRM or activation keys or licensing, but it goes against the natural properties of the medium, that there is no scarcity.

For a detailed, well-researched account of this phenomenon, look at this page talking about the complex issues involved in scarcity in Sony's "Home" service. A choice quote:

There are things about Home that are simply beyond my understanding. Chief among these bizarre maneuvers is the idea that, when manufacturing their flimsy dystopia, they actually ported the pernicious notion of scarcity from our world into their digital one. This is like having the ability to shape being from non-being at the subatomic level, and the first thing you decide to make is AIDS.

He gives the example that "if you approach an arcade machine and there is a person standing in front of it, you will not be able to play it." It is foolish to invent scarcity in a system which is free of it.

The problem is that our entire economy presumes the existence of scarcity, so we don't have a good way to deal with abundance, since we have never really encountered it before. The rules of economics will have to be rethought, or at least, some of the aspects reconsidered, in an environment which lacks something as fundamental to economics as scarcity.

More importantly, Gladwell makes an interesting argument that just because some costs of production have gone down, that does not mean the overall price of a product must go down. Instead, he cites examples where people
have absorbed these cost reductions, but turned their efforts towards ever more elaborate, and expensive, applications.

The YouTube example is an interesting one, since both authors use it. My take on it is that it isn't intended to make money now; Google knew that it was a money loser going it. I think that the idea for Google was that online video was a growing and important market, and they wanted to control the largest provider so that they would have a foot in the door once it matured. This may sound like a cop-out, but plenty of "traditional" companies have loss leaders, it's just that in this case, YouTube is not so much a loss leader for another Google project, but for the future, when it will be profitable (or that is Google's hope). If they didn't think it was worth it, they would drop it like it's hot.

In this case, I don't think YouTube is that good of an example for Anderson, since it doesn't show how a business can survive off of giving stuff away for free, it shows how a business is willing to take even very large losses in order to enter a market. The best I could see is that it is a good example of how people will react to free publishing and viewing of videos. So rather than looking at whether or not YouTube is profitable, look at whether or not people using YouTube as a platform can be profitable.

Genetic engineering means that drug development is poised to follow the same learning curve of the digital world, to "accelerate in performance while it drops in price."

I can see where he's coming from, but until the cost of physically producing the drugs is "too cheap to meter," I think pharmaceutical products will still cost money. What I could see happening is if a "pill printer" is invented, which would allow anyone with the blueprints for a drug to make physical pills, then the price of drugs would quickly approach zero. I get the sense that creating such a device is unlikely, or at least, unlikely enough that it won't be cost-comparable to paper printers. But assuming that did happen, then drugs would "only" be information, and a downward pressure on prices would arise the same way it has for music.

Genzyme isn’t a mining company: its real assets are intellectual property—information, not stuff. But, in this case, information does not want to be free. It wants to be really, really expensive.

Assuming that information wants to be anthropomorphized, I would say that the information wants to be free, but the drug company wants exactly the opposite. That is to say that if the "source code" of the drug ever got leaked, it would be very difficult to keep it from spreading around, the "wants to be free" part of the quote.

Overall, I think that Anderson has some interesting ideas, but may go a bit too far with them, since "Free: Sometimes a Good Price for Certain Things" wouldn't be as interesting. It could be that Gladwell overstates Anderson's commitment to the idea in order to set up a straw man, or Anderson overstates the point to try to push people's expectations; I'd have to read the book to know for sure.

I think that there is a lot to be said for free information, and that Free (as in Freedom) sharing without restrictions on use and reuse are best for the information, but not always best for the creator of the information. This is extremely dependent on the field and particular scenario, which is why it is so tricky.

The Open Source Software movement argues that Open Source development is a superior way to develop software, since the benefits to the code of low barriers to entry outweighs the harm to the developers of having a harder time of making money off of the code. This equation changes even within software development, as Open Source Software has had a hard time gaining traction in game development and video editing software. In those cases, the advantage to the coder of being paid for professional development outweighs the cost to the code base of having a limited number of contributors.

I would take an even broader look and find that as the cost of information technology has dropped, the returns to those who deal in information and intellectual property have increased, greatly.

And this leaves room for entities (not necessarily even "companies") which have vastly lower costs, by employing people part-time or on a case-by-case basis to eat their lunch. One interesting business model which hasn't been explored much (except by Amazon's Mechanical Turk) is the idea of "micro employment" (my term), in which people are paid per task, and the tasks last on the order of hours to days. Rather than hiring a journalist to a full-time position, you ask for stories, and pay people per story. Then, rather than paying for a copy of the story the person wrote, you would pay them to produce a story, which could then be read by anyone without restriction. There are certainly advantages and disadvantages to this idea, so I'm not saying that this exact thing will be the future of all employment, but it could be an interesting way to go.

The problem for the recording industry so far, and coming for the newspaper industry, is that they sold a completely homogeneous product. My copy of a CD is identical to any other, whether I pay for it like a law abiding citizen, or steal it. Once it is produced it becomes generic information, both easy to reproduce and steal today, and equally valuable to anyone.

So, maybe rather than trying to sue people into supporting an old business model, you can embrace that fact and charge money before the information is produced, and then give out unlimited, unrestricted copies once it has been produced? For musicians, this is pretty easy, since a lot of musicians make most of their money from touring and merchandise anyway, abandon the notion that recorded music is a business and treat it like advertising for live shows. For a lot of artists signed to major labels, this is the only hope they have of digging themselves out of the hole that the recording company puts them in. But that is a whole other rant.

But what about intellectual property whose value is highly individualized?

I think this could be a major way forward. I would charge an individual to produce information (I don't like the term "intellectual property," because falsely equates physical property with information). In this case, the information I gave them would come without restrictions, except for proper attribution, which I consider even more important in an "abundance" economy than a "scarcity" one. If they shared the information around, it would actually be better for me, since it would be free advertising for other people to buy my service as well.

Legal or medical advice? Architectural strucutral plans for the building you want someone to put up for you? Not just "a database program" which you can steal, but an actual database that works, well, for your company?

Again, it is not "stealing" if the company intentionally gives away copies for Free (without any restrictions). Is it possible to "steal" Linux? Only if you take aspects of it and release them as closed source software, but it is impossible, by definition, to "steal" copies of Linux, so the term doesn't even apply.

This is what companies like Oracle do a lot of. It is the "infrastructure" model of Open Source software, in which you give away the infrastructure and charge for the customization.

A similar scenario would be giving away the plans for a theoretical bridge between two perfectly even concrete blocks over a big, perfectly flat, concrete base, but charge for building a custom-designed bridge in a particular place. I imagine that the basic ideas behind a bridge are given away freely in the form of textbooks, and that the real thing you are paying an engineer for is figuring out how to adapt those generic plans to suit a particular location (where rocks need to be blasted, roads re-routed, etc.). It would be to everyone's benefit to have some people who did nothing but think about how to make better generic bridges, and then gave that info away for free, so that the actual bridges could be made better. Concretely, the plans for "a suspension bridge" should be free, but you could charge for the plans for "the Golden Gate bridge."

The returns to people who do a good job at these things are high. They are higher now, relative to average compensation across the economy, than they were 10, 20, or 30 years ago, when many of the tools they routinely use today did not exist.

This makes me think of the fairly abstract, philosophical issue of whether people "deserve" to be paid. Surely, I shouldn't be forced to pay someone who has dedicated their life to learning to hula hoop really well. If they want to charge money for a performance, that is fine, but they can't force me to go. Likewise, it would be unreasonable for them to expect the government to force people to pay them for making a plastic ring and wiggling it around their hips. If there were a large hula hoop industry that was seeing its revenues decline, they would probably whine about how they needed the government to set up laws to protect them.

Likewise, there is nothing that says that there have to be professional musicians, actors, or producers. We have those professions now, but if the technology changes to make their jobs useless, why should everyone else pay to keep them around? It doesn't need to cost anything aside from the bandwidth used to distribute music, so why do we need a company whose purpose is to distribute music? Similarly, it costs almost nothing to send bits of text around, so why do we need newspaper companies with a fleet of distributors?

People will lose their jobs. Maybe even more than will gain new jobs from new business models. But should we have resisted the development of cars to save the buggy whip manufacturers?

So a newspaper might have little future reporting on the small amount of real news, and large amount of nonsense, currently in a paper. But they might have a great future generating customized content to, for example, an oil company that wants to be up to date on economic, political, and weather issues that impact its industry. That company might have exactly zero interest in giving away the custom content it paid for because 1. it paid for it and 2. the only other customers are its competitors.

Or, the company would merely only want that information to exist, for its own purposes, but not care about other people getting it. Aside from the issue of competitors knowing, if I want to know stuff about the oil industry, why would I care if other people knew that stuff as well? I can see a system in which people care more about information existing than being able to prevent other people from having it. I pay money to learn to dance, but I don't expect that the teacher will prevent other people from learning what I did. Also, the teacher does not try to prevent me from teaching other people what I learned, because it serves as advertising of his teaching skill.

The Kindle sounds like a rip off to me- [I] have a computer, what do I need with another device that costs more than a mid range laptop? But I don't blame people for telling them to take a hike. Without readers authors are out of work. But without content there is no reason to buy a Kindle.

Well, the point of the Kindle (for consumers) is that it is much more pleasant to look at than a computer screen for long reads. The "E-Ink" display technology doesn't require any active light or power to hold an image, so it looks a lot more like paper than a computer screen. It is also light and portable if you are comparing it to a book. I don't read enough books to make it worthwhile for me, but think about how much cleaner your room would be if all of your books were consolidated in a single device. If you get the chance, take a look at one in a store sometime, they really do look like paper.

I do have some problems with it, like the DRM that Amazon has for downloaded books, but that is more of an aspect of their service, and not of the device itself. The newly released model, the Kindle DX, can read arbitrary PDFs.

It seems like the example of the Kindle at the beginning was more about who got what cut of the money than any philosophical debate about freedom and sharing. I bet that if you flipped the equation around, so the publisher got 70% and Amazon got 30%, there wouldn't be a complaint.

As for this part:

The people at Amazon valued the newspaper's contribution so little, in fact, that they felt they ought then to be able to license it to anyone else they wanted.

I would have to look at the specifics to get a clearer picture, but it strikes me that the newspaper shouldn't care whether someone is buying an article on a Kindle, on a computer, or on an iPhone 58G QMBZ, as long as the consumer is paying the correct amount. The author shouldn't have the right to dictate on what devices their content can be purchased or viewed; they should only be able to charge for a copy. It would be like saying, "you may only read this book while in a brick house." Why should they even know what device I am using to view or purchase the content?

Again, I think this is a question of pure revenues; the publisher didn't really care that much about the third part licensing, except for the fact that Amazon might license the creator's content for less than the creator would have. If the "third parties" agreed to a price set by the content creator, then you probably wouldn't hear anything about it.

Again, I'd have to look more at this deal to learn the specifics, but I really don't like the amount of control authors have to deny access to certain devices or systems. It means that any new device coming to the market has to spend a huge amount of time and energy setting up licensing deals in order to be granted the "privilege" of purchasing and playing content. This greatly limits the amount of innovation that can happen around content-centric devices. A more open model, in which all content is DRM-free and a standard way of purchasing content exists and does not know or care about the particular device being used would be much better.

From someone whose entire livelihood depends on customized intellectual property.

I think that you are likely to be pretty well off, since, privacy issues aside, you only stand to benefit from your diagnoses being freely redistributable. A diagnosis of one person's X-Ray is pretty useless to someone else, except for someone trying to learn, and in that case, it would be good for society if the means of learning were as cheap and easy as possible.

In conclusion

It seems like there is a big split between the "old and not-really-applicable-to-the-internet" model of "information is a just like a widget, and you pay for each individual item" and the "new-but-incomplete" model of "information has no restrictions on its distribution." The new system is very incomplete and has a lot of problems, the biggest of which being "how do you pay for it?" Some people are starting to figure this out for certain areas, and I'm certain that more will follow. It is important to be open to the possibility that companies and even jobs will look dramatically different once this new model has fully set in. There might be less "9 to 5 in a cubicle" and more freelance-type work where people are paid for jobs lasting moths, weeks, days, hours, or minutes. It's exciting to think about what is ahead and to envision how these new technologies can change the way the world works.