Interesting overview that gets at what I like about Ning.
There's a huge philosophical and mental gulf between the Ning conception of apps and the traditional programmer sense. We think there should be one perfect app, with lots of users. Flickr, for example. If we want a new feature, we whine at Flickr to add it. Ning isn't about software perfection and collective brilliance, it's about individual empowerment. If you want a photo site, you go to someone's photo site and hit the "ah gotta git me wunna thayem!" button. Boom, you have a photo site. If you want a new feature, you hit "edit my app" and add it. It's so very American, and is so against the grain of programmers who are taught that duplication is bad and must be avoided.
Now here's something I wrote on ThoughtStorms a couple of years ago :
Today I got the very first version of SpittingCobra [A simple web-based Python code-generator] working. And I had a vision. That thousands might install little code generating scripts on their computers and sites. All minor variants, customized for their own particular languages and situations and purposes. That cranking the handle of these thousands of little code generators will spit out thousands more scripts. That the cell learns to reproduce. That, just as the blogosphere is a rich, dense, weave of discussion and opinion and knowledge. So we'll create a rich, dense weave of software customization and authoring. That "programming" will be swamped by spitting scripts. That "design" will be an argument, flowing across weblogs and wikis. That we'll bang the rocks together harder. And split the atoms into smallers pieces.
OK. I got a bit carried away :-) But this idea of evolving software by reproduction and "natural" selection; an ecosystem of continuously adapting small-apps on the network is something that's intrigued me for (OMFG) nearly 20 years. (Since I first read Dawkins's "Blind Watchmaker" around the same time I learned Smalltalk in college.)
Ning is the nearest I've ever seen anyone come to that.
A reader asks : But Phil, have you actually used Ning to write any applications?
Erm ... well right now, strictly speaking, um, no. I'm holding out until they get the Ruby bindings ...
2 comments:
The question here is how does it differ from the core concept of Open Source.
It doesn't differ from the core concepts of Open Source. What it does is automate significant parts of the process.
Even with something like Rails or TurboGears you still have to "manage" them in an old-fashioned way. You download the language, download the libraries, run scripts, find the newly generated files on your file system, open them and edit them in the editor etc. Once you are working on your application, managing it is your responsibility. If it's a web-app you have to worry about managing the web-server, making sure it finds the application, making sure the paths are right, the configuration info is right etc. etc.
Now imagine that you could develop an application on something like Ning : simply start by cloning an existing prototype, change only those bits that need changing, and then "compile" it (ie. export as a stand-alone package to the server of your choice) Even compile it down to run on clients like phones or set-top boxes.
I think we could be less than a decade away from a world where something like that is the norm. Where the current situation of programmers having to do their own sys-admin of their development environment, looks as outdated and inefficient as them having to do their own memory management using malloc and free.
Post a Comment