I propose that every useful PKB system should have the following characteristics:
A powerful organization scheme
Linking information should be central
Minimal effort for input
Semi-automation of organization
Provide powerful visualizations
Support all media types
Easily navigable
Sharing
Data export
Open source
Cross-platform