This is the keynote presentation for the
Silicon Valley Linux User Group (SVLUG)
at Cisco in San Jose, CA on 07 Jan 2004.
Slide 1: Web Collaboration with TWiki
Writeable webs empower employees to share knowledge and to be more productive
- Knowledge intensive companies try to keep their Intranet up-to-date and to share knowledge efficently
- Wiki is an emerging web-based technology which enables teams to organize and share content in an organic and free manner
- TWiki is both a leading open-source Wiki for the enterprise and a web based collaboration platform
- This talk explains what TWiki is, its history, how it is used, and how to get started
Presentation for
Silicon Valley Linux User Group (SVLUG)
on 07 Jan 2004
--
Peter@ThoenyPLEASENOSPAM.com
Slide 2: Agenda
- Challenges of Intranets, Distributed Teams, CMS
- What is knowledge?
- What is a Wiki? What is TWiki?
- Highlights & limitations of TWiki
- Advanced Features, Web Applications
- Initial Deployment
- Collaboration Issues
- Case Study Wind River
- Summary
- Questions & Answers
Slide 3: Challenges of Intranets
- Some content is outdated
- The quantity is limited
- Difficult to find content; inconsistent
- Special tools and knowledge required to maintain
- Content is static, it has a "one webmaster syndrome":
If I discover a page on the Intranet that has incorrect or insufficient information, I just ignore it because I am too busy to find out who the webmaster is and to write an e-mail requesting an update
Slide 4: Challenges of Distributed Teams
- Open questions:
- How to get a virtual team working together efficiently?
- How to get everyone in sync?
- How to avoid duplicate efforts?
- Typical answers:
- Scheduled conference calls
- Occasional visits
- Shared drives
- Exchange documents by e-mail
- Instant Messaging (IRC, AIM, ICQ, etc)
Slide 5: Challenges of Distributed Teams (cont.)
- Issues with e-mail and mailing lists:
- E-mail gets lost after some time
- Search is limited to email client
- Great for discussion, but ... hard to find 'final consensus' on a thread
- E-mail is not hyper-linked and is not structured, content can't easily be grouped into related topics
- E-mail and attachments are not version controlled, e.g. it is difficult to determine the history of a document
Slide 6: Challenges of CMS
- Rigid structure (can be good and bad)
- Control over content more important than free form knowledge sharing
- Content is typically structured hierarchically or in table format, with limited cross-linking between pages
- Limited support for unstructured content, or content that has "structure and exceptions"
Slide 7: What is Knowledge? How can it be Fostered?
- Knowledge: The sum of what is known : the body of truth, information, and principles acquired by mankind
- Can knowledge be managed? Von Krogh, Nonaka and Ichijo in Enabling Knowledge Creation, ISBN:0195126165
, believe that knowledge can only be enabled
- Management in the sense that you cannot force someone to innovate. We can only create an environment where knowledge can be created
- Five key knowledge enablers:
- Instill a knowledge vision
- Manage conversations
- Mobilize knowledge activists
- Create the right context for knowledge creation
- Globalize local knowledge
Slide 8: What is a Wiki?
- WikiWikiWeb = Writeable Web
- As quick to contribute as e-mail,
- as easy to use as a website
- Ward Cunningham
implemented the original WikiWiki
in 1995 to collaborate on software patterns
- Inspired by HyperCard
- Design principles:
- Open - Should a page be found to be incomplete or poorly organized, any reader can edit it as they see fit.
- Incremental - Pages can cite other pages, including pages that have not been written yet.
- Organic - The structure and text content of the site is open to editing and evolution.
Slide 9: What is a Wiki? (cont.)
- The original WikiWiki
has these features:
- Read-write web, every page can be edited using just a browser
- HTML form based editing
- Pages are served dynamically
- Pages are linked automagically with WikiWords
- Simple markup, no need to learn HTML
- Over 100 Wiki engines
based on the original Wiki idea, mostly open source
Slide 10: Wikipedia
- Wikipedia
: Wiki + Encyclopedia
- A free encyclopedia that is being written collaboratively by its readers
- Project was started in January 2001
- The most active public Wiki: There are over 170,000 articles in English; more in other languages
- Anyone in the world can edit any
page.
- Doesn't that lead to chaos?
- Domain experts contribute
- Well defined policies for contributing and handling content
- Graffiti gets removed quickly (rollback available)
- Content can be freely distributed and reproduced under the terms of the GNU Free Documentation License
Slide 11: Does Wiki fit into the Corporate World?
- Issues with conventional Wiki systems in the enterprise:
- Perceived as chaotic
- No security
- No audit trail
- A Wiki system with the right extensions can be used in a corporate environment
Slide 12: What is TWiki?
- TWiki started as a Wiki engine, but has outgrown its roots and is now a platform for web applications
- Mission: "TWiki is a leading-edge, web-based collaboration platform targeting the corporate intranet world. TWiki fosters information flow within an organization; lets distributed teams work together seamlessly and productively; and eliminates the one-webmaster syndrome of outdated intranet content."
- Open Source software (GPL), hosted at http://TWiki.org/
Slide 13: What is TWiki? (cont.)
- A Wiki in the original sense, but also:
- A shared notebook for projects: Repository, scheduling, meetings
- A departmental collaboration tool: Processes, project reviews, QA tracking
- An Intranet publishing tool: IT, HR, ISO standards
- A CMS with focus on free-form collaboration: Requirements capture
- A knowledge base: Problem/solution pairs with attached patches
- A platform to create web based applications like news portals, inventory systems, issues tracking systems
Slide 14: Who is using TWiki?
- Many corporations, like 3Com, AMD, Alcatel, AT&T, Boeing, ... Xerox
- BT, Disney Corp, Motorola, SAP, Wind River and others submitted success stories
- Academia, like Brandeis University
- Also communities on the Internet, like IPCop Firewall
, Hurd GNU fans
, blueDonkey.org
- Statistics:
- > 30K downloads
- > 10K on mailing list for upgrade announcements
- > 1000 installations
- See TWikiInstallation
directory to see who is using TWiki for what purposes
Slide 15: Who is developing TWiki?
- Nine Core team members
with CVS write access:
- Over 100 developers
contributing spec, code, patches
- Main communication vehicle: TWiki at TWiki.org for brainstorming, feature and bug tracking, doc authoring and support
Slide 16: Highlights: Web Environment
Slide 17: Highlights: Interactive Environment
- Add and refactor content - "Share Knowledge"
- Notification
of changes:
- Get notified of page changes by e-mail or RSS feed
- A way to keep everybody in synch
- Also a way to check content by senior engineers
- Peer review for up to date content:
- Fix a posting that is inaccurate or insufficient
Slide 18: Highlights: WikiWords for Linking
- Easy to create hyperlinks within TWiki pages, just use a WikiWord
- WikiWords are capitalized words, run together, e.g. WebCollaboration, IntranetTools
- To create a link, edit the page and type:
-
For more info, see IntranetTools
- If the 'IntranetTools' page exists, it is turned automatically into a link:
Slide 19: Highlights: Creating New Pages
- First, edit the page where you want to spin off a new page, and type in some text including a WikiWord for the new page:
-
For more info, see IntranetServices
- You will get:
- For more info, see IntranetServices?.
- The '?' is a link (to a page that doesn't exist, yet)
- Now, to create the IntranetServices page, click on this link, type in some text and preview / save it
- If you return to original page and hit Refresh, the link now covers the whole WikiWord:
Slide 20: Highlights: WikiSyntax for Content
- WikiSyntax
- Content is more important than nice formatting
- Formatting is simple
- Easy to learn
- What about HTML?
- TWiki renders HTML
- Better practice to use TWiki syntax, easier to maintain by other users
Slide 21: Highlights: Version Control
- Pages are under revision control:
- See previous page revisions
- Click on the r1.4 type links at bottom of page
- See differences between revisions
- Click on the Diffs link at bottom of page
- See who changed what and when.
- 'Soft Security' - anyone can change anything, but changes are logged
- Complete audit trail, even for meta data like access control
Slide 22: Highlights: Access Control
- Define groups in Main.TWikiGroups
- Example TWikiAdminGroup page:
- Set read/write/rename access restrictions to webs and pages based on these groups
- Default - use Soft Security
- Special applications - use Access Control
- Avoid write access restrictions - "If you can see you can play"
Slide 23: Limitations of TWiki
- Is a purely web based environment. This has the following implications:
- The editor is simply an HTML form; browser editors are primitive
- Some browsers allow you to launch your preferred editor, like w3m on Unix
- Non WYSIWYG editing; nevertheless rich text can be created using a very simple markup language (WikiSyntax)
- Type:
Make text *bold* and =fixed=
- Get: Make text bold and
fixed
Slide 24: Resources for Learning TWiki
- It takes 20 minutes to learn TWiki essentials and start sharing knowledge!
Slide 25: Advanced Features
- TWiki skins
- TWiki variables
- TWiki forms
- Formatted search
- Plugins
- Plugin API
Slide 26: Advanced: TWiki Skins
- TWikiSkins change the look of a TWiki topic, for example the layout of the header and footer
- Rendered text between header and footer does not change
- You can also use skins to define an alternate view, like a view optimized for printing
- Separation of program logic, look and content
- Corporations typically create their own skin to match the corporate branding standard
- Many SkinPackages
available for download at TWiki.org
Slide 27: Advanced: TWiki Variables
- TWiki Variables are what environment variables are to an OS, or macros are to a programming language
- TWiki Variables are text strings - like
%SCRIPTURL%, %URLPARAM{"city"}%, %INCLUDE{"OtherPage"}% - that get rendered at page view time
- Types of variables: Predefined variables; preferences variables; user defined variables
- Useful to create web applications
Slide 28: Advanced: TWiki Forms
- Use TWikiForms to add form-based input to free-form content, e.g. you can structure topics with unlimited, easily searchable categories
- A form is defined in a topic - (DB table definition)
- Forms can be attached to topics - (DB table row)
- The form appears in edit mode, and the contents are rendered as a table when viewing the actual page
Slide 29: Advanced: Formatted Search
- Use FormattedSearch to generate customized reports in list format or table format
- Typically used to list topics with form data
- Report is embedded in a page with a
%SEARCH{...}% variable
- Example applications:
- Example report:
Slide 30: Advanced: TWiki Plugins
- TWikiPlugins enhance the functionality of TWiki
- Growing Plugins repository
at TWiki.org - over 100 Plugins available for download
- A great resource for administrators and web developers to tailor TWiki to their needs, like for example with:
Slide 31: Advanced: TWiki Plugins - Spreadsheet
- SpreadSheetPlugin
: Add spreadsheet formulae to TWiki tables
- Over 40 formulae available like
$AVERAGE(), $IF(), $REPLACE(), $TIME(), $SET(), $GET()
- You type:
| *Region:* | *Sales:* | | East | 320 | | Central | 580 | | West | 240 | | Total: | %CALC{"$SUM($ABOVE())"}% |
|
|
Slide 32: Advanced: Plugin API and Plugin Internals
- A TWikiPlugin is composed of a Perl module that gets installed on the server and a topic with help and Plugin configuration
- A Plugin implements callbacks that extend the functionality of TWiki
- An API for TWikiPlugins provides the specifications for hooking into the core TWiki code from your external Perl Plugin module
Slide 33: Web Applications
- The basic feature set of TWiki can be used to implement web applications
- We look at two examples:
- TWiki Installation Directory
- Workflow system to track features and bugs of TWiki
- Use/create Plugins for more advanced applications
Slide 34: Web App: TWiki Installation Directory
Slide 35: Web Application: Feature Tracking
- New features of TWiki are tracked in TWiki.
- New entries are classified as:
- These features can be promoted to:
Slide 36: Initial Deployment
- Install TWiki on web server
- Plan rollout and content
- Build initial structure
- Populate initial content with help from early adopters
- Initial rollout with smaller group
- Train and coach users
- Do not underestimate inertia and time
Slide 37: Collaboration Issues
- E-mail Habit - "I prefer e-mail"
-
E-mail doesn't scale - new people, new technology, new customers, new partners...
- Shared knowledge vs. 'Owners' - "I don't want to edit someone else's page"
-
Wiki culture: nobody 'owns' pages, and any change can be built upon
-
First person to create page is not the owner!
- 'No control' syndrome - "This leads to chaos"
- Can be perceived as disruptive by upper management
-
Soft security, audit trail, peer review
- TWiki syntax - "yet another language"
-
TWiki is e-mail, e.g., just *do it* -
Use the help pages, doesn't take long to learn
Slide 38: Case Study Wind River: Initial deployment
- Wind River provides market-specific embedded platforms that integrate real-time operating systems, development tools and technologies
- Wind River started a large software project in spring 2000, involving around 100 engineers located in 7 offices on two continents
- Evaluated two web based products to keep track of teams, schedules, milestones, meeting minutes, code reviews, and to store all project related documents:
- eRoom: Was in use by merged company ISI
- TWiki: Was in use by acquired company TakeFive
- Decided for TWiki because it was more flexible and configurable than eRoom, even though eRoom had a more polished UI and more out-of-box applications
Slide 39: Case Study Wind River: Build and Coach
- Initial time was spent to compile the requirements with key stakeholders, and to build the content structure
- Gave virtual trainings for each office on collaboration, with focus more on "pros and cons of e-mail, webmaster maintained Intranets, and TWiki based collaboration", and "why it pays off using online collaboration"
- Coached employees by monitoring content and sending "collaboration hints"
Slide 40: Case Study Wind River: Growing Up
- Other groups within the company started using TWiki after seeing how projects can be managed in TWiki
- Big push after a cross-functional council started using TWiki to document its initiatives, metrics and processes
- Several skins have been created in the familiar Wind River Intranet look
- The Intranet home is now a TWiki driven news portal
- Large deployment:
- 1400 registered users
- 100 webs, 35K pages
- 180K actions / month
- 14K updates / month
Slide 41: Summary
- TWiki is a powerful platform for web collaboration
- Free form content and content with structure where needed
- Easy to share knowledge online
- Careful coaching is needed
- Viral growth after people "get it"
- TWiki is a platform to build web-based applications efficiently
Slide 42: Questions & Answers
Slide 43: References
Slide 44: About Peter
- Peter Thoeny - Peter@ThoenyPLEASENOSPAM.com
- Software developer with over 15 years experience, with interests in corporate collaboration, web technology and UI design
- Author of the open source collaboration software TWiki, managed the project over the last four years
- Graduate of the Swiss Federal Institute of Technology in Zurich
- Lived in Japan for 8 years working as an engineering manager for Denso, the largest auto electric parts supplier in Japan
- Now in the Silicon Valley for 6 years, managing the Engineering Operations group at Wind River
Notes
--
PeterThoeny - 06 Jan 2004