I am no fan of Microsoft's products, and at the beginning I thought that SharePoint
was one of its biggest blunders... but now I find it to be especially
well-suited to create a collaborative space. Read-on to find out why!
My
organization is creating a global intranet using SharePoint 2007 (an
upgrade to 2010 is planned). At the beginning, with my experience of
Open Source systems (mainly Drupal) I was appalled by the ugly
documentation provided by MS, by the lack of out-of-the-box features and
the difficulty of creating new ones, and by the code it generates.
Since
the training of all users falls on my shoulders, the first item was an
issue only for me, since users do not need to read what is produced by
Microsoft. Lucky them! I had to read several pages of technical details
that were often pointless, while some key features where not mentioned.
Thanks to Google and the large SharePoint user base, this issue can be
fixed with a careful combing of online documentation. This leads
to the main barrier to using SharePoint: while it is a very powerful
platform, several of its most interesting features are not immediately
visible, hence it can easily be regarded as unsuitable and dumped.
Nonetheless, I think it is an excellent choice for a corporate intranet.
After literally months of frustration, this is not a statement that I
make light-heartedly.
Compared to other platforms, SharePoint
is quite complex to setup, hence most likely you will need to hire
someone to help you with the development. Be VERY careful in the choice
of the consultants. The award-winning (!!) provider who installed the
system for us completely botched the process, and not only failed to
deliver some developments, but they even messed up some out-of-the-box
functionalities, with the results that now our team of developers has to
work hard to fix all of them (if you are thinking of hiring a provider
with HQ in Canada, feel free to drop me a line to check if it is the
same that we had the misfortune of hiring: stay away from them!!)
Once
your system is up and running, you will notice some nice features:
users can easily setup email notifications to track changes
across the whole site (very powerful feature), participate to forums
simply sending emails, customize the way they access information in a
number of ways, etc. One feature that I love is that each user can
create his/her own site to store online their documents, share
information securely with their colleagues, create personalized pages
with relevant news and dashboards, publish a blog, and much more. While
not all of the above features are unique to SharePoint, two areas where
it shines are permissions management, and integration with MS
Office and Windows: truly excellent! While this may not be important
for social networking, for a collaborative platform they are killer
apps. For example, users can access document libraries like folders on
their computer, and save files to them without the need to open the
browser, thus removing any limit between their computer and the online
storage. You can use MS Excel or MS Access to modify attributes of large
number of items (for example, if you want to add/modify the taxonomy of
a whole document library, you can create the classification in MS
Excel, and then Copy&Paste it!) or create new PowerPoints
handpicking slides from the previous presentations. A great
characteristic of Sharepoint is that it is modular: every site can have
sub-sites, and each sub-site can have its own document libraries,
workflows, list of administrators and users, etc. This makes it very
scalable and flexible, and being able to share the burden of
administering the site can be a boon. If you are a fan of FireFox, you
can add a toolbar to access the document libraries, upload images, share
notes, access all admin screens without browsing all the menus, etc.
(love it!) There are many other good points, but let me stop here.
In
short, SharePoint simplifies sharing and disseminating knowledge
through a number of channels, it reduces duplication of effort, grants
excellent access to the stored information, and can greatly enhance
collaboration. For the end user, it is pretty simple to use, thus it is
accessible even to those that are not too familiar with web technology
(usually, these are field workers that have a wealth of invisible
information.)
While SharePoint can be great for KM, you need to
be aware that it is not easy to reap these results, and some parts of
it are far from perfect.
The wiki are VERY basic. Blogs are
ok, but not amazing. Integration with Facebook or Twitter, for example,
is possible only if you have some programming experience in JavaScript
(feel free to ask me how I did it.) If your site is in a secure area
(https) the RSS feed generated by SharePoint cannot be read by
SharePoint (Brilliant! It is common fault: Google Reader does not read
the RSS feeds from Gmail, too.) On Codeplex you can find some free
add-ons that expand these out-of-the-box functions, but installing
them takes some developer’s time. Not a huge issue, but it adds to the
total cost of the solution. Also, if you want to have a reasonably
good-looking site (and want to add some functionalities) you will want
to purchase the Server Publishing add-on, too. I feel that is a key
component for SharePoint, thus do factor its licence cost in the budget.
Get ready to have some developer working on the site, too.
If you
want to break the information silos, and aggregate items from different
areas you can use the Content Query Web Part, but as it is
out-of-the-box it is of very limited use. You can customize it to make
amazing stuff... but it requires programming skills in HTML, CSS, XSLT
(and JavaScript, if you want fancy things.) There is no Web Part to play
video or audio files, and slideshows can be created only for whole
pictures libraries. You can overcome all these limits using the Content
Query Web Part (it is known as the Swiss Army Knife of SharePoint!!)...
but that is not easy (feel free to ask me a document about it, too.) A
quite surprising issue is that the text editor on SharePoint works only
for Internet Explorer, and it outputs horrible HTML code that may not
display correctly on every browser. Again, you can easily fix this
installing TinyMCE, CKEditor, WhizzyWIG (IMHO, the top 3 best Open
Source text editors) or Telerik RADeditor (not Open Source, but the Lite
version is free), but you need to factor in again some developer’s
time. Also, user management is not ideal, and a few minor
functions do not work as smoothly if are not using internet Explorer.
One
of the biggest limits, and I do not see any way out of it, is the
accessibility from low bandwidth areas. If you want to save bandwidth,
an interesting characteristic of SharePoint is that it automatically
creates a “web preview” and a “thumbnail” version of every image
uploaded to a Pictures Library. However, every single page on SharePoint
is shipped with two fairly large files: Core.js and Core.css. These
cannot be modified or else you lose the warranty. Also, SharePoint
injects a number of additional files depending on which page you are
looking at. You can package all the files in one, minify the sum, and
set the system to serve your new files instead of the standard ones, but
that is an hassle, and it just reduces the problem. Even if page
caching is enabled (and it should be!!) the site will be quite slow at
first page load for a user in a low bandwidth environment, and there is
no way out of it. If you are using it to create an intranet, your users
will have enough motivation to wait for the first download, and then it
should be ok. If you are creating a site that is intended for the
general public, and a relevant part of it is in low bandwidth areas, you
are probably better off using something else.
The bottom
line is that at the beginning you will probably want to scream at
SharePoint, but once you have learned how to tame it, it can be a great
tool. It can be pretty expensive, though, unless you have some
internal resource that can research on Codeplex and Google, and then
handle all the tweaks that are needed. While I do not think it would be a
wise choice for a public-facing site with target users in low bandwidth
areas, it can be excellent for an intranet, or an environment where
sharing documents and collaboration are important... if you have the
resources to handle it.
Comments?