Previously I mentioned a few key SharePoint design points in one of my old posts about Facebook applications, their design and how it can relate to designing successful SharePoint applications. At the risk of the points being obfuscated in the previous article (it was quite a lengthy post) I have decided to reiterate the points here in a more succinct post. I hope they can assist you whilst you design your next SharePoint application!

KEY POINT #1: One Web Part does NOT constitute an application!

WebParts are an excellent plugable means of providing functionality in SharePoint. They may form part of an application but in no way should they contain entire applications.

For those of you who have been developing web applications for some years, application delivery via a web site may sound standard if not obligatory. Unfortunately there is a growing trend to deliver applications entirely in Widgets and WebParts within web sites. Some may state their case saying that simple applications should use this delivery method, to which I, for the most part, would not object. My gripe lies with bigger applications that use such delivery methods (e.g. LearningPoint*).

When thinking about your next application, think on a ‘Site’ level. Ask yourself “How can I deliver functionality (web parts, events, workflows, custom actions, etc) that is tied back to an appropriately configured Site that, in its entirety, provides an application that meets a business need?”. SharePoint 2007’s Records Centre is a great out-of-the-box example of what I mean.

KEY POINT #2: A social application is as good as dead if it appears dead.

In social networks, people will only begin to use your application given one of two circumstances:

  1. Usage of the application is mandated by the consumer. This applies to more commercial SharePoint applications.  A company would be silly to purchase an application that addresses a specific business need and then not mandate its usage (what would be the point of buying the product?); or
  2. A user sees or knows of other users using the application. A more common scenario seen when developing in-house bespoke or open source applications.

In both cases your next SharePoint application should be ‘advertising’ its usage, giving it life! This achieves a few key things:

  • Increases user adoption - In an enterprise context, inquisitive users want to know what tools other employees are using to deliver certain outcomes. Generally speaking they want to know what they are missing out on!
  • Increases subsequent usage – If usage is being advertised, users feel they need to be seen to be contributing by using the application
  • Provides a business case for further funding – An application that appears to be heavily utilized in an organisation has a greater chance of getting repeat funding for more licenses (commercial applications) or further development (in-house applications)
  • Increases an organization’s reliance on SharePoint itself – A popular SharePoint application only makes the consumer’s SharePoint portal a more popular location to collaborate. Without SharePoint in the organisation, your application is useless!

Out of the box SharePoint provides some web parts around social networking and implicit personalisation to ‘advertise’ usage (e.g. My Recent Documents). NewsGator Social Sites* looks to better these and bring the social networking capabilities to the forefront of the portal.  How can your next application take advantage of SharePoint’s social networking and implicit personalisation functionality to give the appearence that people within your organisation are utilizing your application?

Share and Enjoy:
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Technorati
  • Twitter
  • MySpace
  • RSS
  • Twitthis

Tags: , , , , ,

SharePoint Application Development - Key Design Points : Leave a Reply

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">