Generally beautiful, New York City is even beautiful-er when autumn foliage comes around. So it was cool to discover this Flickr set of scanned leaves from Morningside Park – literally 3 blocks from where we live.
The lesson of design which considers its users, environment and resources vs. design that is isolated, contrived and wasteful holds true to software as well, from the UI to the server.
I don’t usually read Fast Company & co, but I found an article in the recent issue pretty inspiring. It’s about a landscaping company called Whole Systems Design which tries to build stuff in a way that takes into account the environment where it’s located. Environment not just in the “compost your pizza leftovers to offset CO2 of your vacation” meaning, but in the “stuff that already exists when you start building” sense. It’s a simple and intelligent approach to design – create something that works with what’s already there. From the article:
[company’s founder, Ben Falk] calls mainstream environmentalism, with its “nihilistic,” minimize-human-impact approach, one of the “largest hurdles we face toward being a good community member of the earth again.” He cites one of his influences, Berkeley architect Christopher Alexander, who asked, “Can a building be just as natural as a tree?” Adds Falk: “Or a beaver dam? … It goes beyond ‘Let’s pretend we’re not there.’ We’re here. Let’s make a good impact.”
This links for me with the release of Phusion Passenger, aka “mod_rails for Apache”. I don’t know how well it works (Dreamhost now offers it, which seems a good sign), but if it works well this may be the most important thing that happened for Ruby on Rails since it was launched.
Rails’ main weakness, in my opinion, was that it did not take into account what was already before it, namely the Apache web server (and also stuff like existing code/DB schemes, but that’s less critical perhaps). It was very slow under Apache, and instead of fixing this the Rails community set out to replace Apache with something else – first lighttpd, then Mongrel, now nginx. But it turns out Apache leads its category, by a large margin, for a reason and that creating a good web server, though it might seem pretty straightforward to begin with, is actually pretty hard.
With mod_rails, Rails deployment may now be as easy as PHP deployment, which will give RoR a chance to compete in the shared server space, which is often looked down upon and yet is far bigger than the dedicated server domain, as seen here (this is based on PHP IP vs Domain stats – very rough but generally the right idea):
It is said that The Velvet Underground were hugely influential even though few actually bought their records, because most of those who did listen to them ended up starting bands. For some time, I was thinking Ruby on Rails is going to end up similarly – myself and many other developers got our initial exposure to MVC and ORM and Convention Over Configuration from Rails, but we often ended up building applications in Rails-influenced frameworks like CakePHP or Code Igniter that implemented these ideas in languages that could be easily deployed with reasonable performance (the key word here is easily. You can get performance with Rails, but it requires leaving your core problem for some time, to specialize on deploying RoR). Now, it may not be this way – provided people are still working on improving the docs :)
Ubuntu’s Brainstorm app is very cool. Basically it lets users post suggestions, bugs and requests for Ubuntu, and rate/comment other users’ posts. It enables users to get involved in the process and lets developers know what users are missing most and get ideas for future additions. It’s a new interface for discussion, something new on top of forums, bug tracking apps etc.
(Dell’s Ideastorm, predates Brainstorm, but the concept will probably work better with Open Source projects where users are more accustomed to this kind of feedback process. Ideastorm’s own top items are almost all Open-Source related. Having less of a life also makes some difference I suppose ;))
You can get the source at Ubuntu’s repository but unfortunately there isn’t a downloadable standalone package for this yet. It would be great to have an simple install of this, I think almost any product and company could benefit from something like this.
This is why open source software is growing so fast: it’s a positive feedback loop, its products feed its own growth. Good to see Ubuntu growing so nicely, with Vista & Leopard we definitely need an alternative.
Jeremy Zadowny explains why “WebOS” is a meaningless term. In my view, the Web is really a big Tower of Babel situation: people from all over the world are building, with no coordinating body or hierarchy, the hugest construction ever. But the reason the Web doesn’t fall apart is that we all do have a very basic, simple language to communicate with one another: HTTP.
Stay close to HTTP (like PHP, REST, RSS or AJAX do) and you succeed. Try to build your own seperate, more sophisticated, languages (like SOAP, .NET or Java applets) – and you fail.
(To clarify: I consider Java and .NET failures, due to the fact mega-powerful companies like Microsoft, Sun and IBM invested huge resources at them and yet their Web market share is lower than that of the open LAMP stack, and decreasing. SOAP is far from HTTP since it builds a complex request mechanism instead of REST’s GET/POST. REST really is just a fancy name for HTTP GET/POST – in real life, most Web Servers actually block PUT/DELETE requests)
You can think of the Web as what anthropologists call a Trading Zone (speaking of the Bazaar…): A place where people with many different backgrounds, cultures and motives meet. Naturally a common language emerges, simple and sparse. In many languages there “Spoken” and “Written” dialects. The Web’s spoken language is Pidgin HTTP, comprised of two verbs: GET and POST. On top of these verbs, there are simple nouns and adjectives unique to specific domains – like fishermen and merchants in the trading zone would have common names for the ocean’s creatures, Flickr or Yahoo! APIs are domain languages for their specific areas. As I see it, these are becoming even simpler, with Atom, RSS and microformats removing cumbersome API keys and domain-unique XML responses. “Hey, Flickr! Got fish today?”
GET /services/feeds/photos_public.gne?tags=fish&format=rss_200 HTTP/1.1
I’m reading Fred Turner’s “From Counterculture to Cyberculture” now, and it is the best book I’ve read in a while. With every Barnes & Noble filled with so many pop-science books who try to quickly monetizethe latest meme while it’s still in fashion (you recognize that type of writing by the use of the word “Meme” ;)), this book stand out as deep and insightful.
Two main lessons for me in this book. One which I didn’t expect is being introduced to Systems thinking: this reminds me of learning to program, when you begin to see algorithms wherever you look. Systems is one step further, as they give you tools and metaphors to look at non-deterministic behaviors, which tend to be in higher supply in the real world.
Another is the way the approach which Stewart Brand, the books’ main subject takes to implementing his values. The book traces Brand’s path from starting the Whole Earth Catalog to playing a major part in evangelizing personal computing and the Internet. I’ve recently had a chance to look at an actual copy of the Catalog (which is why I’m updating this post now, a year after it was published) – what strikes me most is the down to earth, practical approach it takes. The Catalog was meant for people who left mainstream society and went “back to the land”, setting up their own communities. Brand offers them tools and information which is far more eclectic than you’d expect: not just organic gardening tutorials and geodesic dome construction tools, but also the latest project management techniques and army fitness guides.
Underneath the items in the Catalog is an approach that says technology can shape history. If you have an idea on how things should be, you try to implement it not just via politics and fashionable “activism”, but by actually building something. It’s a comforting notion, in a time when some of what Brand helped create create (and the Web itself) seems to have been largely overtaken by charlatans.
Here’s a video of a panel with Turner, Brand, Kevin Kelly and Howard Rheingold, discussing the book. (The RealVideo version sounds better on my machine). The actual conversation starts at about 7:30 minutes.
And to counter my last post, a nice description of a working collective mind emerging in real time from Kevin Kelly’s “Out of Control“:
Loren Carpenter boots up the ancient video game of Pong onto the immense screen. Pong was the first commercial video game to reach pop consciousness. It’s a minimalist arrangement: a white dot bounces inside a square; two movable rectangles on each side act as virtual paddles. In short, electronic ping-pong. In this version, displaying the red side of your wand moves the paddle up. Green moves it down. More precisely, the Pong paddle moves as the average number of red wands in the auditorium increases or decreases. Your wand is just one vote.
The audience roars in delight. Without a moment’s hesitation, 5,000 people are playing a reasonably good game of Pong. Each move of the paddle is the average of several thousand players’ intentions.
They later get to control, collectively, a flight simulator. It’s a pretty good book, and you can read it all online.