Curated content for content, computing, and digital experience professionsals

Author: Marcel Meth

SharePoint – Migrating the Office Franchise to the Web

Microsoft has a lot to lose if they are unable to coax customers to continue to use and invest in Office.  Google is trying to woo people away by providing a complete online experience with Google Docs, Email, and Wave.  Microsoft is taking a different tact.  They are easing Office users into a Web 2.0-like experience by creating a hybrid environment, in which people can continue to use the rich Office tools they know and love, and mix this with a browser experience.  I use the term Web 2.0 here to mean that users can contribute important content to the site.

SharePoint leverages Office to allow users to create, modify, and display “deep[1]” content, while leveraging the browser to navigate, view, discover, and modify “shallow[1]” content.  SharePoint is not limited to this narrow hybrid feature set, but in this post I  examine and illustrate how Microsoft is focusing its attention on the Office users.  The feature set that I concentrate on in this post is referred to as the “Collaboration” portion of SharePoint.  This is depicted in Microsoft’s canonical six segmented wheel shown in Figure 1.  This is the most mature part of SharePoint and works quite well, as long as the client machine requirements outlined below are met.

Microsoft Office Sharepoint Server 2007

Figure 1: The canonical SharePoint Marketing Tool – Today’s post focuses on the Collaboration Segment

Preliminaries:   Client Machine Requirements

SharePoint out-of-the-box works well if all client machines adhere to the following constraints:

  1. The client machines must be running Windows OS (XP, Vista, or WIndows 7)
    NOTE: The experience for users who are using MAC OS, Linux, iPhones, and Google phones is poor. [2]
  2. The only truly supported browser is Internet Explorer (7 and 8.) [2]
    NOTE: Firefox, Safari, and Opera can be used, but the experience is poor.
  3. The client machines need to have Office installed, and  as implied by bullet 1 above, the MAC version of Office doesn’t work well with SharePoint 2007.
  4. All the clients should have the same version of Office.  Office 2007 is optimal, but Office 2003 can be used.  A mixed version of Office can cause issues.
  5. A number of tweaks need to be made to the security settings of the browser so that the client machine works seamlessly with SharePoint.

I refer to this as a “Microsoft Friendly Client Environment.”

Some consequences of these constraints are:

  • SharePoint is not a good choice for a publicly facing Web 2.0 environment (More on this below)
  • SharePoint can be okay for a publicly facing brochureware site, but it wouldn’t be my first choice.
  • SharePoint works well as an extranet environment, if all the users are in a Microsoft Friendly Client Environment, and significant attention has been paid to securing the site.

A key take-away of these constraints is that a polished end user experience relies on:

  1. A carefully managed computing environment for end users (Microsoft Friendly Client Environment)
    and / or
  2. A great deal of customization to SharePoint.

This is not to say that one cannot deploy a publicly facing site with SharePoint.  In fact, Microsoft has made a point of showcasing numerous publicly facing SharePoint sites [3].

What you should know about these SharePoint sites is:

  • A nice looking publicly facing SharePoint site that works well on multiple Operating Systems and browsers has been carefully tuned with custom CSS files and master pages.  This type of work tends to be expensive, because it is difficult to find people who have a good eye for aesthetics, understand CSS, and understand SharePoint master pages and publishing.
  • A publicly facing SharePoint site that provides rich Web 2.0 functionality requires a good deal of custom .NET code and probably some third party vendor software.  This can add up to considerably more costs than originally budgeted.

An important consideration, before investing in custom UI (CSS & master pages) , third party tools, and custom .NET code is that they will most likely be painful to migrate when the underlying SharePoint platform is upgraded to the next version, SharePoint 2010. [4]

By the sound of these introductory paragraphs, you might get the wrong idea that I am opposed to using SharePoint.  I actually think SharePoint can be a very useful tool, assuming that one applies it to the appropriate business problems.  In this post I will describe how Microsoft is transitioning people from a pure Office environment to an integrated Office and browser (SharePoint) environment.

So, What is SharePoint Good at?

When SharePoint is coupled closely with a Microsoft Friendly Client Environment, non-technical users can increase their productivity significantly by leveraging the Web 2.0 additive nature of SharePoint to their Office documents.

Two big problems exist with the deep content stored inside Office documents (Word, Excel, PowerPoint, and Access,)

  • Hidden Content: Office documents can pack a great deal of complex content in them.  Accessing the content can be done by opening each file individually or by executing a well formulated search. This is an issue!  The former is human intensive, and the latter is not guaranteed to show consistent results.
  • Many Versions of the Truth: There are many versions of the same files floating around.  It is difficult if not impossible to know which file represents the “truth.”

SharePoint 2007 can make a significant impact on these issues.

Document Taxonomies

Go into any organization with more than 5 people, and chances are there will be a shared drive with thousands of files, Microsoft and non-Microsoft format, (Word, Excel, Acrobat, PowerPoint, Illustrator, JPEG, InfoPath etc..) that have important content.  Yet the content is difficult to discover as well as extract in an aggregate fashion.  For example, a folder that contains sales documents, may contain a number of key pieces of information that would be nice to have in a report:

  • Customer
  • Date of sale
  • Items sold
  • Total Sale in $’s

Categorizing documents by these attributes is often referred to as defining a taxonomy.  SharePoint provides a spectrum of ways to associate taxonomies with documents.  I mention spectrum here, because non-microsoft file formats can have this information loosely coupled, while some Office 2007 file formats can have this information bound tightly to the contents of the document.  This is a deep subject, and it is not my goal to provide a tutorial, but I will shine some light on the topic.

SharePoint uses the term “Document Library” to be a metaphor for a folder on a shared drive.  It was Microsoft’s intent that a business user should be able to create a document library and add a taxonomy for important contents.  In the vernacular of SharePoint, the taxonomy is stored in “columns” and they allow users to extract important information from files that reside inside the library.  For example, “Customer”,  “Date of Sale,” or “Total Sale in $’s” in the previous example.  The document library can then be sorted or filtered based on values that are present in these columns.  One can even provide aggregate computations based the column values, for example total sales can be added for a specific date or customer.

The reason I carefully worded this as a “spectrum”  is because the quality of the solution that Microsoft offers is dependent upon the document file format and its associated application.  The solution is most elegant for Word 2007 and InfoPath 2007, less so for Excel and PowerPoint 2007 formats, and even less for the remainder of the formats that are non-Microsoft products..  The degree to which the taxonomy can be bound to actual file contents is not SharePoint dependent, rather it is dependent upon how well the application has implemented the SharePoint standard around “file properties.”

I believe that Microsoft had intended for the solution to be deployed equally well for all the Office applications, but time ran out for the Office team.  I expect to see a much better implementation when Office 2010 arrives. As mentioned above, the implementation is best for Word 2007.  It is possible to tag any content inside a Word document or template as one that should “bleed” through to the SharePoint taxonomy.  Thus key pieces of content in Word 2007 documents can actually be viewed in aggregate by users without having to open individual Word documents.

It seems clear that Microsoft had the same intention for the other Office products, because the product documentation states that you can do the same for most Office products.  However, my own research into this shows that only Word 2007 works.  A surprising work-around for Excel is that if one sticks to the Excel 2003 file format, then one can also get the same functionality to work!

The next level of the spectrum operates as designed for all Office 2007 applications.  In this case, all columns that are added as part of the SharePoint taxonomy can penetrate through to a panel of the office application.  Thus users can be forced to fill in information about the document before saving the document.  Figure 2 illustrates this.  Microsoft  refers to this as the “Document Information Panel” (DIP).  Figure 3 shows how a mixture of document formats (Word, Excel, and PowerPoint) have all the columns populated with information.  The disadvantage of this type of content binding is that a user must explicitly fill out the information in the DIP, instead of the information being bound and automatically populating based on the content available inside the document.

 

Figure 2: Illustrates the “Document Information Panel” that is visible in PowerPoint.  This panel shows up because there are three columns that have been setup in the Document library: Title, testText, and testNum.  testText and testNum have been populated by the user and can be seen in the Document Library, see figure 3.

 

Figure 3: Illustrates that the SharePoint Document Library showing the data from the Document Information Panel  (DIP)  “bleeding through.”  For example the PowerPoint document has testText = fifty eight, testNum = 58.

 

Finally the last level on the taxonomy feature spectrum is for Non-Microsoft documents.  SharePoint allows one to associate column values with any kind of document.  For example, a jpeg file can have SharePoint metadata that indicates who the copyright owner is of the jpeg.  However this metadata is not embedded in the document itself.  Thus if the file is moved to another document library or downloaded from SharePoint, the metadata is lost.

A Single Version of the Truth

This is the feature set that SharePoint implements the best.  A key issue in organizations is that files are often emailed around and no one knows where the truly current version is and what the history of a file was.  SharePoint Document libraries allow organizations to improve this process significantly by making it easy for a user to email a link to  a document, rather than email the actual document.  (See figure 4.)

 

Figure 4: Illustrates how easy it is to send someone a link to the document, instead of the document itself.

 

In addition to supporting good practices around reducing content proliferation, SharePoint also promotes good versioning practices.  As figure 5 illustrates any document library can easily be setup to handle file versions and file locking.  Thus it is easy to ensure that only one person is modifying a file at a time and that the there is only one true version of the file.

 

Figure 5: Illustrates how one can look at the version history of a document in a SharePoint Document Library..

Summary

In this post I focus on the feature set of SharePoint that Microsoft uses to motivate Office users to migrate to SharePoint.  These features are often termed the “Collaboration” features in the six segmented MOSS wheel. (See figure 1)  The collaboration features of MOSS are the most mature part of SharePoint and thus the most .  Another key take-away is the “Microsoft Friendly Client Environment.”  I have worked with numerous clients that were taken by surprise, when they realized the tight restrictions on the client machines.

Finally, on  a positive note, the features that I have discussed in this post are all available in the free version of SharePoint (WSS), no need to buy MOSS.  In future posts, I will elaborate on MOSS only features.

—————————————–

[1] The terms “deep” and “shallow” are my creation, and not a standard.  By “deep” content I am referring to the complex content such as a Word documents (contracts, manuscripts) or Excel documents (complex mathematical models, actuarial models, etc…)

[2] Microsoft has addressed this by stating that SharePoint 2010 would support some of these environments.  I am somewhat skeptical.

[3] Public Facing internet sItes on MOSS,  http://blogs.microsoft.nl/blogs/bartwe/archive/2007/12/12/public-facing-internet-sites-on-moss.aspx

[4] Microsoft has stated frequently that as long as one adheres to best practices, the migration to SharePoint 2010 will not be bad.  However, Microsoft does not have a good track record on this account for the SharePoint 2003 to 2007 upgrade, as well as many other products.

Cloud Computing: The Recent Sidekick/Microsoft Loss of Data Was Inevitable, But a Good Thing For Cloud Computing

So Microsoft was asleep at the wheel and didn’t use good procedures to backup and restore Sidekick data[1][2]. It was just a matter of time until we saw a breakdown in cloud computing.  Is this the end to cloud computing?  Not at all!  I think it is just the beginning.  Are we going to see other failures? Absolutely!  These failures are good, because they help sensitize potential consumers of cloud computing on what can go wrong and  what contractual obligations service providers must adhere to.

There is so much impetus for having centralized computing, that I think all the risk and downside will be outweighed by the positives.  On the positive side, security, operational excellence, and lower costs will eventually become mainstream in centralized services.   Consumers and corporations will become tired of the inconvenience and high cost of maintaining their own computing facilities in the last mile.

Willie Sutton, a notorious bank robber,  is often misquoted as saying that he robbed banks "because that’s where the money is."[3]   Yet all of us still keep our money with banks of one sort or another. Even though online fraud statistics are sharply increasing [4][5], the trend to use online and mobile banking as well as credit/debit transactions is on a steep ascent. Many banking experts suggest that this trend is due to convenience.

Whether a corporation is maintaining their own application servers and desktops, or consumers are caring and feeding for their MAC’s and PC’s the cost of doing this, measured in time and money is steadily growing. The expertise that is required is ever increasing.   Furthermore, the likelihood of having a security breach when individuals care for their own security is high.

The pundits of cloud computing say that the likelihood of breakdowns in highly concentrated environments such as Cloud computing servers is high.  The three main factors they point to are:

  1. Security Breaches
  2. Lack of Redundancy
  3. Vulnerability to Network Outages

I believe that in spite of these, seemingly large obstacles, we will see a huge increase in the number of cloud services and the number of people using these services in the next 5 years.  When we keep data on our local hard drives, the security risks are huge.  We are already pretty much dysfunctional when the network goes down, and I have had plenty of occasions where my system administrator had to reinstall a server or I had to reinstall my desktop applications.  After all, we all trust the phone company to give us a dial tone.

The savings that can be attained are huge:   A Cloud Computing provider can realize large savings by using specialized resources that are amortized across millions of users. 

There is little doubt in my mind that cloud computing will become ubiquitous.  The jury is still out as to what companies will become the service providers.  However, I don’t think Microsoft will be one of them, because their culture just doesn’t allow for solid commitments to the end user. 

—————————————-

[1] The Beauty in Redundancy, http://gadgetwise.blogs.nytimes.com/2009/10/12/the-beauty-in-redundancy/?scp=2&sq=sidekick&st=cse 

[2] Microsoft Project Pink – The reason for sidekick data loss, http://dkgadget.com/microsoft-project-pink-the-reason-for-sidekick-data-loss/

[3] Willie Sutton, http://en.wikipedia.org/wiki/Willie_Sutton.

[4] Online Banking Fraud Soars in Britain,  http://www.businessweek.com/globalbiz/content/oct2009/gb2009108_505426.htm?campaign_id=rss_eu

[5] RSA Online Fraud Report, September 2009,  http://www.rsa.com/solutions/consumer_authentication/intelreport/10428_Online_Fraud_report_0909.pdf

The SharePoint Backend- What are the Headaches – What are the benefits

As I pointed out in my first post (SharePoint: Without the Headaches – A Discussion of What is Available in the Cloud,) you don’t necessarily need to host SharePoint in your own organization.  Although I believe that most businesses should focus on leveraging the front end of SharePoint to its full extent, it is important for non-technical users to have an understanding of what it takes to host SharePoint and why one might want to do so.  Therefore, this post provides a discussion of what it takes to host SharePoint and the driving factors for hosting SharePoint.

 

Microsoft’s original intent was to build a tool that was easy to leverage by non-technical users.  Microsoft thought of this as the natural extension of Office to the web[1].  That being said, the complexities got away from Microsoft, and in order to leverage a number of features one needs access to the back end.

Before delving into the SharePoint back end, let me point out that many businesses hire SharePoint development staff, both permanent and on a consulting basis. I think that developing custom SharePoint code should be done only after thoroughly justifying the expense.  It is often a mistake.  Instead, organizations should clearly define their requirements and then leverage a high quality third party add-on.  I will mention some of these at the end of the post.

SharePoint is a fragile product and therefore custom code for SharePoint is very expensive to develop, test, and deploy. Furthermore, custom code often needs to be rewritten when migrating to the next release of SharePoint.  Finally, SharePoint is a rapidly growing product, and chances are good that custom code may soon become obsolete by new features in the next generation.

In my first post, I pointed out that inexpensive SharePoint hosting options are available in the cloud. These options tend to be limited.  For example, the inexpensive rentals do not provide much security, only provide WSS (not MOSS), and do not allow one to add third party add-ins.  It is possible to lease custom environments that don’t surrender to any of these limitations, but they come at a cost.  (Typically starting at $500 per month[2].)  I believe that robust MOSS offerings with third party add-ons will be available at competitive prices within two years. 

——————————————————————————–

[1] SharePoint is developed by the Office division.

[2] For example, FPWeb offers a SharePoint hosted environment with the CorasWorks Workplace Suite included starting at $495 per month.

Continue reading

SharePoint: Without the Headaches – A Discussion of What is Available in the Cloud

There are few people who have not heard of SharePoint, but understanding what SharePoint has to offer is another story.  The best way to understand SharePoint is to use it.  This series of posts will provide an overview of the product, and explains how a non techie can get started.

SharePoint is currently in its third incarnation (SharePoint 2007) and within 9 months Microsoft will be deploying the fourth version, “SharePoint 2010.”  There are three distinct SKUs:

  1. WSS (Windows SharePoint Server)
    – Comes with the Windows Server and is free.
  2. MOSS (Microsoft Office SharePoint Server) Standard Edition
    – An extension of WSS, and is licensed per server as well as per user.
  3. MOSS (Microsoft Office SharePoint Server) Enterprise Edition
    – An extension of the Standard Edition, and is licensed per server as well as per user.

It is also possible to buy a “Public Connector” for MOSS, which is a license  that allows SharePoint to be used as a publicly facing site with no limit on the number of users .

Although Microsoft is trying to showcase SharePoint as an excellent platform to build publicly facing sites, there is general agreement that SharePoint is best used in a closed community where users must login.  Microsoft touts SharePoint as a product that supports six pillars: (These pillars are about to be rebranded in SharePoint 2010, see SharePoint 2010 has new pillars.)  The six pillars are:

  1. Collaboration
    – Allowing members of a closed community to share documents, tasks, calendars, contacts, etc
  2. Portal
    – Providing a single web site that is the gateway to an organization’s web based functions.
  3. Enterprise Search
    – Competing with Google for the enterprise,
  4. Web & Enterprise Content Management
    – A publishing platform that allows for simple workflows among authors and editors.
  5. Forms Driven Business Process
    – Allows for easy development of electronic forms and associated automated workflows.
  6. Business Intelligence
    – Allows organization to build dashboards summarizing data that reside in disparate electronic repositories.

The original intent behind SharePoint was to empower business users to control their own destiny without being dependent on IT and Development staff.  In the author’s experience, SharePoint often requires much more planning and maintenance than business users can provide.  Thus one often finds that specially trained SharePoint IT and developer personnel are required to stand-up and support in-house SharePoint deployments.

Although still quite limited, it is now possible to lease robust versions of SharePoint that reside in the cloud and truly are managed without any hidden costs.  This series of articles will summarize three services that were tried by the author:

  1. SharePoint Online – Part of the Microsoft Business Online Productivity Suite.
  2. Apps4rent – A robust SharePoint and Exchange online implementation.
  3. WebHost4Life – Similar to  Apps4Rent’s SharePoint implementation with a non-Exchange email system.

The discussion will focus only on SharePoint.  In all cases, the environments are WSS (Not MOSS) and are hosted in a joint tenancy model, meaning that you are sharing computing resources with other SharePoint sites. Although people will tell you there could be a number of reasons why this may be problematic, the author never experienced any issues due to joint tenancy.  Microsoft does offer an expensive service in a dedicated environment.  This service requires that a minimum of 5,000 user licenses are being leased.

Both Apps4rent and WebHost4Life have a simple model that is easy for an end user to understand. In contrast, the Microsoft environment is quite confusing with poor documentation.  Both Apps4Rent and WebHost4Life offer immediate support with chat sessions, and the customer service staff was knowledgeable and helpful.  Again, in contrast to this, Microsoft’s support was poor.  Microsoft communicated via a secure email channel, responses took 4 to 6 hours, and the support personnel did not understand the product well…

Continue reading