On Oct. 14 2003, I gave a talk on Wiki technology, as a tool for faciliating collaborative content creation at low cost, at the Computer Consultants of St. Louis. You can download the PowerPoint presentation:
Wiki PowerPoint Presentation: WikiCCSL.ppt
Or read the text of it:
Wiki: Low Threshold Online Collaboration
Kyle Cordes
Oasis Digital Solutions Inc.
CCSL
Oct. 14, 2003
Yet Another “About Me” Slide
* Developer, “Architect”, Consultant, Trainer, Project
Manager, etc.
* Java, EJB, Oracle, SQL Server, Delphi, C++, Python,
Ruby, EJB, XML, multi-tier, etc.
* Proponent of agile, iterative development
* Oasis Digital Solutions Inc.
¨ Outsourced development and other services
* kylecordes.com
Agenda
* What is a Wiki?
* Examples
¨ Instant Intranet
¨ Web Site
¨ Documentation
* Details and Implementations (the bits)
* Online Collaborative Communities
What is Wiki?
* “The simplest online database that could possibly
work.” – Ward Cunningham
* “Wiki is a piece of server software that allows users
to freely create and edit Web page content using any Web browser. … has a
simple text syntax for creating new pages and crosslinks between internal
pages on the fly.”
* Like a CMS, but simpler
Get To The Point
* Wiki is not the perfect solution to many problems, maybe none
at all
* Wiki is a good solution to many problems
* You can use Wiki to create lots of value for yourselves and
your customers, with tiny startup effort … and starting is often the hardest
thing to do.
Example 1 – Instant Intranet
* Vague, but strong need for a way to share information in a
team / company
¨ No Time
¨ No Budget
¨ No Person to assign to do a bunch of work
* Lots of miscellaneous information
¨ Knowledge Base / FAQs
¨ Developer Data Dump
Non-Solutions
* Lotus Notes?
¨ None of us knew how to use it
¨ Noone in our office had rights to do anything
¨ Hours of meetings to ask and get it
¨ Easier to just forget it
* Official Intranet?
¨ Each change required manual effort from IT
¨ IT too busy to do it, not cost-justified
¨ Easier to just forget it
Solution: a Wiki
* Install a Wiki
¨ 20 minutes, on my own PC, later on a server
* Learn something, type it, share it
¨ it was expensive to learn these things, and really cheap to save
the next person the effort
* Someone asks a question, answer it
¨ “It’s on the Wiki”
¨ “Here is the answer, I added it to the Wiki”
* Other people joined in after a couple weeks
¨ Grew to hundreds of pages
Example 2 – Need a Web Site
* No Time, No Budget, Noone to assign a bunch of work
* Multiple contributors with a few minutes here and there
* Not yet sophisticated enough for a real CMS
Solution: a Wiki
* XPSTL.org
* Can turn off public editing if desired
* Get the info online now
* Add and edit the content over time
¨ Discover the structure also
* Later, a web designer can make it in to a real web site
Example 3 – Documentation
* Our software / services / procedures need to be documented!
¨ No Time
¨ No Budget
¨ No Person to assign to do a bunch of work
* Open Word, start typing?
¨ I can do that, but it’s unlikely the next person will open and add to
it.
Solution: a Wiki
* Power users (and others) can contribute a bit at a time as
they work
* For internal apps, create Wiki links right in the software
* Eventually, hand the accumulated information over to a doc
writer
¨ But still keep a Wiki around to accumulate new information
Where Did Wiki Come From?
* Ward Cunningham created “The” Wiki
¨ “WikiWikiWeb”, Psuedo-Hawaiian for “Quick”
¨ First embryonic version ca. 1991
¨ Lots more broad use ca. 1995
¨ Portland Pattern Repository
¨ Community of Extreme Programming ideas
¨ The Wiki: c2.com/cgi/wiki
¨ Ward is a very, very smart guy.
Wiki Implementations
* Hundreds of them out there
¨ Mostly free
¨ Any language you can think of
¨ Some very easy to install
¨
xhref=”http://c2.com/cgi/wiki?WikiEngines” mce_href=”http://c2.com/cgi/wiki?WikiEngines”>http://c2.com/cgi/wiki?WikiEngines
* Try some out, decide which features you came about, choose
one that has them.
Wiki Implementations
* Ward’s Perl implementation
* UseMod – one Perl file, very easy setup
* TWiki – extremely featureful
* TikiWiki – part of a big package, like “____Nuke”
* ASP.Net Wiki
* PHPWiki
* Hundreds more, many homegrown also
¨ Creating a Wiki is a common “learn a new language” project
Text Formatting Rules
* Paragraphs:
¨ Do not indent, use blank line as separatorTab before
* Horizontal Lines: —-
* Lists: <tab>* item, use more tabs to nest
* Font: indent one space for fixed width font
* “”words”” “““words””” etc for various bold ital etc.
* Some wikis support tables, some HTML, etc.
Links: WikiWords
* PutWordsTogether to automatically create links
* Some users hate that, so some implementation lets you do this
instead: [Link Text Here]
Links
* URLs become links
* Image URLs are shown as the image
Inter Wiki Link
* Haven’t had much use for this myself
Community Issues
* Malicious Users
* Reluctant Contributors
¨ Many people who would be too shy to improve a public page in a CMS, do
so in a Wiki.
* “Mind Wipes”
Anyone Can Edit Anything!
* This can’t possibly work!
¨ But it does work surprisingly well
* Well suited in small groups
* Remarkably, often works well in larger communities
* Changes are recorded (many impls.)
* Plenty of security options in other implementations
¨ Choose the minimal level that works for you, to keep the usage threshold
low
The Wiki Mind Wipe
* Sometimes a user will decide to remove everything they’ve
ever said.
* If it was useful, someone else will probably put it back.
¨ Local Connection: Jeff Grigg
Wiki Vandals
* Some users will post lots of irrelevant, caustic, obscene,
etc. junk
* Others users will remove it
* Ban IPs
* If it happens a lot, use login security, or require changes
to be approved by a trusted user
Wiki Spam
* Users will post advertising as Wiki pages (or in existing
ones)
* Other users, who watch RecentChanges, will delete them
* Logs IPs. Ban them.
* If it happens a lot, use login security, or require
changes to be approved by a trusted user
Wiki Bots
* Malicious Users will write scripts to add lots of junk to
Wiki
* Many Wiki implementations throttle the rate of changes from
an IP to slow this.
¨ But an eager miscreant can get around that
* If it happens a lot, use the same solutions as before
Back To The Point
* Wiki is not the perfect solution to many problems, maybe none
at all
* Wiki is a good solution to many problems
* You can use Wiki to create lots of value for yourselves and
your customers, with tiny startup effort … and starting is often the hardest
thing to do.
Talk Offer
* I need practice giving talks!
* I’ve give this talk, or one like it
¨ In your organization
¨ For Developers, For Managers
¨ No Cost (in town), No Obligation
The End
* Kyle Cordes