Appropriate use of SharePoint
A post on the SharePoint blog on the potential for SharePoint to replace file servers has stimulated a good debate. I replied to it here and Joel (the original author) replied to me here (thanks for taking the time and effort Joel!). Initially I was left feeling less than convinced that Joel had addressed my concerns and considered a counter comment, however now I think a new post is required because of the whole I don’t think we disagree – I think we just have slightly different perspectives.
Rather than continue to throw around th pros and cons of the file server, maybe its better for me to describe the way I prefer to work, which blends the use of file storage (local and server) and SharePoint. Neither is the total solution.
Maybe that will help both Joel and I iterate to a better understanding of each others positions.
First off let me say that I have been using SharePoint since version 1 and have used Notes, Quickplace, WebSphere portal and various other collaborative workplaces over the last 10 years and my view of their role is simillar.
I consider SharePoint a great place to publish but not a great place to work, so here are a few details of how I breakdown working with files and publishing them.
How I work with files:
- I prefer working with files stored on my local hard drive. Every application – not just Office – works great with the local file system and its quick, reliable and simple to use.
- I have pretty much every file I have ever worked on and many reference files on my local file system and I can search the 30,000 files in a flash using X1. In addition I get fast high quality previews of the files I am searching. In the last 10 years if I had saved files directly into collaborative spaces they would be spread across probably a 100 different workspaces and be impossible to find.
— Impossible might seem strong but remember these files would have been scattered across collaborative workspaces from several customers and partners and several of the systems that contained the files have now been decomissioned.
- I re-use data from old files every day, I don’toften go back 10 years but I go back 3 years every week.
- I am really looking forward to Vista’s ability to combine search with tags and other meta-data and again I stress the importance of the ability to work with all my files, across customers and projects.
- I love the fact that files in my local file system are available almost instantly with no network delays or reliability issues and that I can replicate them easily to my Tablet for mobile working. I have found replication to be 100% reliable even with plenty of adds, deletes, renames and edits at both ends (obviously not at the same time)
How I backup my files:
- I backup my files on-site using robocopy to mirror my master file system to another machine each night
- I backup my files offsite using Iron Mountains connected, which is fast and very efficient, especially when multiple users have many duplicate files (as it uses a single instance store). There is a web interface to Connected as well to provide anywhere access (but I have never needed to use it).
How I publish files:
- When I am ready to share files I need to publish them, if I am working with a small team all sharing a file server, this is really easy – just mirror (or copy) my files up to the file server.
- Sometimes I use Groove as a way to share files between team members and it works well, but it’s expensive.
- More often I publish the files to a collaborative workspace and the discontinuity always annoys me, the fact that I have to browse to a document library and upload the file, or drag and drop it using web-dav, often needing to add document properties. SharePoint makes this a bit better because it can use property promotion to populate server meta-data from document meta-data.
- Sometimes I copy files using web-dav but the poor web-dav integration always annoys me, I particulary don’t like the fact that web-dav support rarely includes surfacing document properties in the shell or providing right click actions. Now that most of the functionality in collaborative workspaces is implemented by well defined web services I wish shell extentions could be written that exposed this functionality via Windows Explorer as well as the Browser, much as SharePoint v1 did.
How I publish status:
- When other people need to track what I am doing I don’t find uploading individual files very useful. Instead I prefer to post documents with embedded documents or more often links. That way I can provide people with access to sets of related files with approporate comments. Its even better if people can comment back to me.
- Discussion databases can be used in this way and I often use Notes databases, but I think I have a preference for blogs to provide this function. Now that SharePoint includes blogs this is a step forward, especially because I can use LiveWriter which allows me to save drafts in the file system and also easily edit previous posts. Even better LiveWriter keeps track of all of my posts to all of my blogs and because all of its data is in the file system I can replicate it between multiple machines and easily back it up.
How I publish ideas:
- Blogs are definately my favorite place to publish personal ideas, although I prefer discussion areas for developing ideas.
- I also like wikis but prefer them for publishing ideas that need collaborative effort over time, for example a process or service definition that I know will evolve. I am concerned though that wiki content is more difficult to reuse as it gets locked up within a particular wiki. For someone who is working on many projects having my contribution to each project locked away in a wiki silo is an issue I have not come to terms with.
Lots of the comments above touch on team working, but here are some particular notes:
- When I work with a team on a file server every team member gets a personal working directory. The owner of it gets READ/WRITE access and all other team members get READ. This means there is never a risk of conflicts and everyone can easily track everyone elses activity. This is especially true with search that makesit really easy to aggregate files from across multiple peoples working progress areas.
- When working with a team across multiple companies, I prefer to use Groove, the fact that it works offline and syncs in the background well makesit much more likely to be used. I also like the fact that it provides a multiple tools including a discussion area where people can refine Ideas and post status information. We sometimes use it to provide a sort of team blog. Everyone I know who uses Groove wishes it included RSS notifications so that we only had one place to look for change (our RSS readers).
- When working with a team within the company my preference is to work locally on my desktop and Tablet and publish to a collaborative space at key points, if I am working with a small team I will also write a highlight report with links to documents, blog posts, useful web sites etc.
- I think RSS will have a huge impact — making it much easier to coordinate activities within and between teams as well as many other scenarios.
In summary I am essentially looking for a more integrated and seamless experience, hesistate to propose solutions because there are people better at figuring these thing out than me but here are some things I have seen and liked.
- I really liked the idea of accessing web based document libraries through the windows shell, especially if I have right click menu support for all key actions like check-in/out.
- I really like the idea of being able to perform actions offline and then have these actions execute transparently when my PC detects that it’s online again.
- I like the idea of making RSS subscriptions to document libraries and associating them with folders in the filesystem and seeing file enclosures appear as if by magic.
- I want all change reported to me through RSS and sometimes I want enclosures to be delivered as well.
- I want intelligent handling of URLs, ie if I am offline I want them to resolve to local replicas or caches on-line I want the option (Lotus Notes handles this pretty well)
- I want tags to work across applications and not just at the file system level.
- I like the Vista idea that allows applications to register preview, search and property handlers to create a more unified experience
- I really like the “blog this” concept and would like as many applications as possible to have one click integration into Live Writer or simillar. That way I have a single place to manage blogs and persist drafts and previous posts
- I like the idea of Groove but I would like a central Groove server as well so that a star topology was supported for replication as well as a mesh. Sometimes with small teams individuals working across time zones are not online enough at the sametimes.