Father of Wiki Speaks on Collaborative Development
An anonymous reader writes "eWeek is reporting that Ward Cunningham, creator of the wiki, has predicted an encouraging future for open source and collaborative development. From the article: "Cunningham, who is director of committer community development at the Eclipse Foundation, said open-source software will continue to grow and thrive because it enables user innovation. '[...] No end user wants to be a programmer; they just want to get their jobs done,' he said. But more and more people with powerful tools and powerful languages will be able to work together to build better systems, he said."
Here's an interesting quote from the article: ... Microsoft has to be more cautious. And IBM has to be more cautious. Even as a developer in the Eclipse foundation there's a certain amount of busy work that a developer has to do, like keeping an intellectual property log and stuff like that. But this is what you have to do."
"(Microsoft) has to inch toward this community style development, otherwise it would be irresponsible to their stock holders," Cunningham said. "What they do and say is in the best interest of their stockholders.
I thought this was an interesting angle arguing for OSS. I think many times OSS'ers seem too anti-corporate (myself included) to have thought of this angle.
I must say that I lost a very tiny bit of respect for him when he said that he "has nothing but respect for Microsoft", but my respect was pretty high to begin with so he didn't go down too far.
Does this sig remind you of Agatha Christie?
The conundrum is that end users want to consume something that is already available, but do not want to create it themselves. Once they decide to contribute, they cease being end users and become creators. If what he says is true, the shaolin and the wu-tang could be dangerous. Creators are a different breed than end users, though, of course, the two overlap considerably. However, if we want to say that end users don't want 'to program', then why would we assume that they want to contribute as well?
Reality, of course, provides the evidence that what he says is false. People are not only happy to consume others' works, but also motivated to create their own works. Whether their own works are frivolous opinions or heavy-duty scholarly works, people are motivated to create by the same desire they have to procreate. Since computer geeks are somewhat stunted in their ability to do the latter due to emotional and mental disabilities, they seek their immortality by creating very public works such as articles on Wikipedia, Open Source applications, and (godhelpme) posts on Slashdot.
Programmers are end users as well. I see a trend of allowing more and more advaced programming concepts to creep into content creation programs to allow finer control of the end result.
-John Fenley
Under this definition, anyone who writes anything of any complexity in a modern wordprocessor is a programmer. Modern WP packages can be regarded as shells in which the operator enters instructions (literal formatting commands, such as right-justify, or bold), decisions (floating tables, grammar/spellcheck), loops/recursion (automatic table of contents, automatic indexing), etc. On WP's like Wordperfect, you could actually make all of the commands visible. It frightened users to do that, because it showed just how much coding they were actually doing.
The power of high-level tools, then, is not to help the user avoid programming, it is to help the user avoid seeing what they're programming. It isn't to do the user's work for them, it is to allow the user to sidestep their phobias long enough to get the work done.
One of the follies of fourth- and fifth-generation programming languages was the assumption that programmers wanted their programming hidden from them as well. It is certainly true that software designers need to have a high level of abstraction, as they don't need to know the details (and shouldn't). It is also true that there are special cases in programming where you need minor scripting changes to have a big impact on the end result. In these cases, high level programming is entirely correct. The rest of the time, when details are everything, you don't want any more abstraction than you can possibly get away with.
For end-users, though, applications really need to be extremely high-level programming languages and very little more. That is why Word (which is essentially a scripting engine with a bunch of macros pre-programmed in) is useful to end-users, even though AmiPro is technically superior and Ventura Publisher is much more impressive. Word is a programming tool that can do anything Visual Basic can do, whereas the others are only applications. The user may claim to hate programming, but they can claim it all they like. The fact remains that they pick the programming tool over the "pure" application - when it is disguised cleverly enough.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
It was inevitable and of course it has a bright future. We don't need anybody to tell us this. Those of us that used to play around on BBSs back in the early 80s on our Apple IIes, and such, could see that.
What we do need to realize is that closed-source/proprietary has its role as well. If the goal is "freedom" for the user then that has to encompass all the tools available. The GPL and the strong leadership of Torvalds has insured a level playing field for that above it on the software stack but we need to be wary of Stallman/FSF fascist dogma. Open Source tends to work very well at the lower levels of the software stack - glibc, the kernel, other libraries, but we need to recognize that we need to provide incentives to innovate at the ever higher-ends of the software stack as well. I consider the rather luke-warm adoption of desktop linux (yes it is, I've been using it a work for the past 8 years) to be indicative of both factionalization and the perils of "giving everything away" at the higher-end of the software stack.
I would keep an eye out on croquet (or something in that realm), for what will be the next leap in collaboration. Definitely check out this recent video (might be windows only). I consider this web 3.0
Ward talks about how he used hypercard to create his first draft of the wiki... hypercard was very easy to use and its sad to notice how apple failed to notice its potential. For those wanting to try a new hypercard-like environment with all the bells and whistles we come to take as granted such as network support, rdbms support, multimedia, point your browsers to Runtime Revolution http://www.runrev.com/> a wonderful tool. It's also cross platfrom, write your stacks once, build to win32, macs, linux, freebsd, solaris. PS: actually I coded a simple wiki in rev in about 30 lines. And it is graphical! :-)
Cheers folks
-- Por mais que eu ande no vale das trevas e da morte, meu PowerMac G4 Não Travará!!!
I know we all love to hype collaborative devlopment and the open source model, but in all honesty not everyone is cut out to be a programmer, and programmers come in differnt levels of ability. I will admit freely that I am not one of the few elite programmers, and there is a good likely hood that I will never be. Sure, some projects, perhaps the majority, benefit from average programmers, and collaborateive development works in those cases. However, the most cutting edge, and bug-less, projects are only ever going to be the realm of the best of the best, and it doesn't matter how many people want to collaborate. Plus bad programmers, who fool you into thinking they are good because they want to feel needed, hurt any project they join, if only because they commit to work they will never finish. So yes, collaborative development such as sourceforge can help some projects, but it is definitely not the be all and end all for programming.
Philosophy.
Back in the distant past, my firm released its massive source freely thinking its hardware was the secret sauce.
I rec'd quite a few bug reports with included suggestions for appropriate fixes which were tested and happily integrated into the upcoming revision.
Not everyone wants to "help" like this but there were some truly great folks "among the customers" who couldn't wait for the update cycle to get their work done. NOT having access to the source (which eventually came to pass) was a sad day for my friends and perhaps the beginning of the end for a great enterprise.
"The power of high-level tools, then, is not to help the user avoid programming, it is to help the user avoid seeing what they're programming. It isn't to do the user's work for them, it is to allow the user to sidestep their phobias long enough to get the work done."
No, the point of high-level tools is to allow the user to focus on the domain their problem lies in, while avoiding extraneous material. That's why you'll be seeing more DSL's and other tools.
I recall the palpable buzz at the an Apple developer conference (Canberra? The year I read Jonno's copy of Vernor Vinge's The Peace War(?) during the long drive from Melbourne) where illicit copies of Silver Surfer -- pre-release HyperCard -- were being smuggled on to developers' systems and whispered about. Believe me, almost everyone who saw it -- five years before Berners-Lee kicked off the WWW on his NeXT -- recognised how exciting a paradigm it defined. Including Apple! On the Mac, for high level application developers, this was the era of Helix (exciting) and OMNIS (not very). (Confession: I think I was too young to entirely get what the fuss was all about.)
In those eight years before the web took firm hold, HyperCard was constantly promoted and bundled in very visible form (including printed manuals) with every Macintosh sold. It had a plugin architecture, and a massive roster of third party developers and solutions. My brother built an accounting system for a family business with it.
As a more bare-metal C/Pascal Mac developer during this period, I sometimes grew exasperated at the ubiquity of this seemingly pedestrian product I wasn't much interested in using!
you had me at #!
I don't know how many times I've clicked on the "documentation" link in a project only to be greeted with "Coming Soon!". Never mind design documents.
I think we're going to need a much higher level of abstraction for code before we reach a tipping point where projects can survive and grow without their lead creator.
--Rob
Towards the Singularity.
Ask most wiki users what a wiki is, and they'll say something like, "It's a platform for collaborative writing." That's mainly what it's used for of course, but that's not what it is. Cunningham's original definition is much better: "The simplest database possible." And that's the concept's main virtue, simplicty. I do wish people would bear that in mind when they decide to use a wiki for something — especially when it's something that'd be better done another way.
People have been saying that "any day now, the general public will be making software" for decades. So far, we're not much closer to that goal than 20 years ago. Hell, even VB 6 is way beyond what the average person can deal with. VB.Net became even less noob-friendly, as they added more features... So there's not a lot of hope there.
Automatically share the housework in a fair way http://www.chorebuster.net/