Wiki Talk at CCSL

On Oct. 14 gave a talk on Wiki technology, as a tool for faciliating collaborative content creation at low cost, at the Computer Consultants of St. Louis.

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