About Me


  • Enterprise Solutions Architect with 11 years of experience
  • Expertise on Microsoft Technologies, ECM, Open Source, Mobility
  • Expertise on SharePoint 2010, MOSS 2007, .Net 4.0 & More
  • Solution Design, Capacity Planning, Performance Tuning, Disaster Recovery
  • Migration experience from Lotus Notes, Plum Tree to SharePoint & Microsoft Technologies

Friday, September 21, 2012

10 Best Practices to improve Intranet for better user involvement

Based on my experience, I recommend following 10 best practices to engage your employees and improve your intranet portal. (excuse typos, it is still work in progress article)

10 Best Practices to improve Intranet
  1. Intranet as Default Site
    • Set Intranet URL as a default browser URL thru Desktop Policies
    • This will force every employee of the organization to check the Intranet home page
    • This will allow them to familiarize with Intranet
    • Curiosity will allow the users to navigate the site
  2. Announcements & Updates
    • Have the latest announcements & Updates published on the home page of the Intranet
    • All the announcements circulated thru mails should be published on the Intranet home page like Cricket match banner, Colors Day, Labs reach-out banner.
    • All these announcements should have expiry date setup, after certain period they should automatically disappear from the homepage.
    • Also, educate the HR and Corporate Communication teams to Use the Intranet Home Page to reach out to the Employee, along with sending mails
    • Announcement & Update mails should have links Intranet for future reference.
  3. Ownership of the Home Page
    • Corporate Communication team should own the home page of the Intranet and main site contents
    • In Intranet, you should have taxonomy mapped to reflect your organization structure
    • For each department, have a separate sub-site under Intranet
    • Each of this site should be managed by respective department
    • Each department should have the project / team sites which will be managed by their respective Leads / Managers
    • Users should have complete control on the sites which they are working on / based on their responsibility.
  4. Contacts
    • Have all the User Profiles imported from Active Directory
    • AD should have upto date User information 
    • AD should have Reporting Structure & Organization structure clearly defined
    • Have People Search enabled on the Home page of the portal
  5. Have a single DNS address for the Intranet
    • Instead of having multiple DNS addresses for each and every application, have a single DNS entry like http://intranet
    • All other applications which are supporting should have intranet Child URLs (eg: Wiki --> http://intranet/wiki, Blogs --> http://intranet/blogs )
    • If we have a single URL, it is easy to use and reduces lot of Confusion about the URLs
    • This will be easy for users to get to the other sites by navigating from homepage
  6. Taxonomy
    • Change the Portal Structure to match the Departments
    • Have Department Sites
    • Department Sites should have Project / Initiative sites as Sub-sites
    • All the Shared Folder content should be uploaded into respective sites
    • Reduce Shared Folder & Email Documents culture
    • Create multiple user groups and assign the permissions based on the scope
  7. Search
    • Information Architecture should allow easy access to role specific / related information
    • Configure search and search scopes to find information easily
    • Enable federated search
    • Allow search filtering
  8. User Privileges
    •  Identify user permissions based on roles and responsibilities
    • Privileges should be mapped to his/her current role and responsibility
  9. Governance - Create detailed governance plan
  10. Engage your users to use (by enabling Classifieds, Blogs and Wiki)

Tuesday, August 21, 2012

SharePoint 2013 API Selection for development

I was going thru SharePoint 2013 API development guidelines from Microsoft and found following table which provides guidance on which set of SharePoint 2013 APIs for common SharePoint 2013 development project scenarios.[Source: http://msdn.microsoft.com/en-us/library/jj164060%28v=office.15%29#CommunityContent]

If you want to do this ... ... use these APIs
Create an ASP.NET web application that performs create/read/update/deleted (CRUD) operations across a firewall on SharePoint data or external data that is surfaced in SharePoint by a Microsoft Business Connectivity Services (BCS) external content type JavaScript client object model
Create an ASP.NET web application that performs CRUD operations on SharePoint data or external data that is surfaced in SharePoint by a BCS external content type, but does not have to call SharePoint across a firewall .NET Framework client object model, Silverlight client object model, or REST/OData endpoints
Create a LAMP web application that performs CRUD operations on SharePoint data or external data that is surfaced in SharePoint by a BCS external content type REST/OData endpoints
Create a Windows Phone app that performs CRUD operations on SharePoint data Mobile client object model
Create a Windows Phone app that uses the Microsoft Push Notification Service to alert the mobile device of events in SharePoint Mobile client object model and the server object model
Create an iOS or Android app that performs CRUD operations on SharePoint data REST/OData endpoints
Create a .NET Framework application that performs CRUD operations on SharePoint data .NET Framework client object model
Create a Silverlight application that performs CRUD operations on SharePoint data Silverlight client object model
Create an HTML/JavaScript application that performs CRUD operations on SharePoint data JavaScript client object model
Create an app for Office that works with SharePoint JavaScript client object model
Create a custom Windows PowerShell command Server object model
Create a timer job Server object model
Create an extension of Central Administration Server object model
Create consistent branding across an entire SharePoint farm Server object model
Create a custom Web Part, application page, or ASP.NET user control Server object model

Wednesday, July 4, 2012

Publishing Capabilities in SharePoint Foundation

Is your organization is Small? Do you have a SharePoint Foundation 2010? Are you missing SharePoint publishing capabilities? Do you want to create rich publishing content with different page layouts and master pages in SharePoint Foundation instead of buying SharePoint 2010 Standard edition?

Mund Publishing Infrastructure (It’s Free!!!) comes as a solution to the above problem! It provides the site publishing features to the SharePoint Foundation platform. By using its features one can easily create and maintain a custom branded site using SharePoint Designer in SharePoint Foundation.

Download and try for yourself from Codeplex.

Tuesday, May 15, 2012

Improving Performance in SharePoint Sites

Your guide to improve performance in SharePoint. Check following links for more details.
  1. Aptimize - http://www.aptimize.com/web-performance/sharepoint-performance
  2. Fine Tuning Your SharePoint 2010 Environment – Front End Optimizations
  3. Chris O'Brien's Checklist for SharePoint optimization

Performance Optimising SharePoint Sites

  1. http://spmatt.wordpress.com/2012/04/04/performance-optimising-sharepoint-sites-part-1/
  2. http://spmatt.wordpress.com/2012/04/04/performance-optimising-sharepoint-sites-part-2/
  3. http://spmatt.wordpress.com/2012/04/04/performance-optimising-sharepoint-sites-part-3/

VMWare - SharePoint 2010 Best Practices Guide - http://www.vmware.com/files/pdf/solutions/SharePoint_2010-Best-Practices-Guide.pdf

Free e-books from Microsoft Press

Microsoft Press has made following books downloadable free in electronic format.  
  • Introducing Windows Server 2012
  • Introducing Microsoft SQL Server 2012
  • Introducing Microsoft SQL Server 2008 R2
  • Introducing Windows Server 2008 R2
  • Understanding Microsoft Virtualization Solutions
All these books are available in - PDF, Mobi (Kindle) and epub. Download your copy today by clicking on the specific book image or direct link.
image
clip_image002   clip_image003   clip_image004   clip_image005 

For more free eBooks from Microsoft Press, access following link

Wednesday, May 9, 2012

Are you ready for SharePoint 15?

On 12-May-2010 (exactly 2 years back) Microsoft released SharePoint 2010. It created lot of hype in the CMS world.
Do you think it met with expectation and adoption rate?

Now, we started talking about SharePoint 15. As per the leaked Microsoft Roadmap, release of SharePoint 15 is around the corner.
Are you ready for SharePoint 15?

Based on my interaction with multiple clients, I understand that there are many companies yet to migrate to SharePoint 2010. They are still validating whether SharePoint 2010 is the right platform investment to move from MOSS 2007 (SharePoint 2007). I am not sure whether it is a good idea to release new product when it is in early stages of adoption.

I would like to hear your thoughts on this.

Monday, May 7, 2012

SharePoint adoption kit for your organization

Ah… What to do now? I have SharePoint 2010 intranet implement but not many employees are adopting it. 
  1. Did we waste Thousands / Millions of dollars moving to SharePoint 2010? 
  2. How should I improve user adoptionrate in my organization and how to engage them using Intranet.

I think this the exact statement runs thru most of your minds. Keeping this in mind Microsoft released an Adoption Kit for SharePoint 2010 and can be downloaded from following location.

Cheers!

Top SharePoint Sites

  • Do you have an Intranet / Internet developed in SharePoint 2010?
  • Do you want to know which SharePoint intranet site best in the world?
  • Do you want to know what type of design trends other companies are following for SharePoint 2010 implementation?
  • Do you want to compete with others to be best intranet?
  • Then visit "www.topsharepoint.com" and http://www.wssdemo.com/livepivot. 


 Excellent site for understanding current SharePoint UI trends and how other companies are using SharePoint.

SharePoint 2010 Guidance

I encourage all SharePoint consultants / developers to read thru and follow the guidance recommended by Microsoft in developing SharePoint 2010 Applications.

Download SharePoint 2010 Guidance

This Guidance document talks about (brief overview by Microsoft)
  • Application and design patterns to address common development challenges.
  • Architectural decisions that affect site topology and security.
  • How to design and implement SharePoint applications that are scalable, manageable, and configurable.
  • How to decide between design options, such as how to choose between a list and database.
  • How to design a SharePoint application for testability, how to create unit tests, and how to run continuous integration tests.
  • How to manage the application life cycle through the development, test, deployment, and upgrade stages
  • How to implement a team-based development environment.

Wednesday, June 8, 2011

SharePoint 2010 on Cloud


Many organizations want to spend very less on maintaining their infrastructure. So, many of them opt for Virtualization or Cloud. In this blog, I am going to discuss more on hosting options available on Cloud and best approaches your organization can take. Also I will provide pricing options…
  1. Amazon EC2
  2. Rackspace Cloud - Cloud Servers
  3. Windows Azure - VM Roles
Case Studies:

  • Amazon's Corporate IT Deploys SharePoint 2010 to the AWS Cloud
Amazon's Corporate IT deployed its highly mission-critical IT application - the company's intranet - to the AWS Cloud. The whitepaper discusses the deployment criteria, security requirements, architecture and implementation of the mission-critical application. It not only discusses how they were able to take advantage of security features of AWS and Microsoft SharePoint 2010 (and Microsoft SQL Server 2008) and deploy an application that involves highly sensitive data but also shares several lessons learned in a candid manner. Download Whitepaper (PDF).

Wednesday, June 1, 2011

SharePoint 2010 Licensing Costs

*** The following information is gathered from publicly available Costs from Microsoft. This should be used only for reference to get ballpark costs for SharePoint licensing. If your company has Volume Licensing or Licensing Agreement with Microsoft, prices provided may vary. Costs are in US dollars. This information captured based on prices available over internet as on May 2011.
SharePoint 2010 Licensing Costs

Windows Server 2008 R2
Standard$1,209.00 includes 10 CALs
Enterprise $3,999.00 includes 25 CALs
For Extra Windows Server 2008 R2 CALs *** CALs 5 Pack - $199.00 ***CALs 20Pack - $799.00



SQL Server 2008 R2
Standard $1,849.00 includes 5 CALs
Enterprise $13,969.00 includes 25 CALs
For Extra SQL CAL *** CAL - $205 (approx. includes Software Assurance)


SharePoint 2010 Server - Internal Implementation (Intranet)
SharePoint 2010 $4,926.00 Each SharePoint Server should have SharePoint 2010 License. Each Person accessing SharePoint need a Standard CAL. To access enterprise features need to buy Enterprise
Standard CALs $95.00
Enterprise CALs$83.00




SharePoint 2010 Server - Internet Implementation
Standard $11,793.00 Each SharePoint Server should have SharePoitn 2010 License. No need for extra CALs if it is accessible over Internet. 
Enterprise $41,392.00




References


http://www.microsoft.com/windowsserver2008/en/us/pricing.aspx
http://www.microsoft.com/sqlserver/2008/en/us/R2-editions.aspx
http://www.microsoft.com/sqlserver/2008/en/us/pricing.aspx
http://community.bamboosolutions.com/blogs/sharepoint-2010-price-calculator/default.aspx

Tuesday, January 11, 2011

HTML 5 and SharePoint

For quite sometime, I am looking at how HTML 5 can be incorporated into SharePoint 2010. Based on the I am building HTML5 SharePoint Solution which can be used for any type of HTML 5 implementation as a webpart.


This solutions will allow to implement following HTML 5 options inside SharePoint
  • Video
  • Web Gallery
  • Photo Transition
  • Audio
  • Announcements display thru transitions
I hope to have this solution ready by next week.

Apple has excellent HTML 5 demos and source code, check out @ http://developer.apple.com/safaridemos/

Transitions example -- from Apple.com

Wednesday, November 17, 2010

SharePoint 2010 Capacity Planning Tool

When you are architecting a SharePoint Portal it is very import that you understand the boundaries and thresholds that will impact performance and maintenance of the environment. You should always consider the capacity planning while architecting any solution. Microsoft has well documented and provided lot of resources around Capacity planning and that information can be found in http://technet.microsoft.com/en-us/sharepoint/ff601870.aspx.

Apart from these resources, for SharePoint 2007 Microsoft provided Capacity planning tool which really helped many people in designing basic architectural diagram and configuration for the SharePoint portal implementation using MOSS 2007.  

HP (Hewlett-Packard) also provides an excellent Sizing Tool which helps many architects in designing and tuning Farms for SharePoint 2010. Also provides an understanding on Pricing of the Server Farm, you can do lot of tuning.


Cheers!!!

Friday, October 22, 2010

Finally... Macbook Pro 15"

Finally, I got Macbook Pro - 15" (intel core i7 - 2.66 GHz, 8 GB Ram, Mac OS X).

I delayed my purchase expecting Apple will release Macbook Air with i7 processor, but I was disappointed with  20th Oct MBA announcement. So, I went immediately and bought Macbook Pro.

It is performing well and hoping to have Windows Server 2008 with SharePoint 2010 installed on VMWare Fusion. 

Friday, July 30, 2010

SharePoint 2010 - Technical Diagrams

I felt following information really useful in Deploying SharePoint 2010 based Solutions (Reference: Microsoft - SharePoint 2010 Documentation).

SharePoint 2010 - Technical Diagrams

You will find design / technical diagrams on the following items

1. Design Sample: Corporate Portal with Classic Authentication
2. Design Sample: Corporate Portal with Claims-based Authentication
3. SharePoint 2010 Products Deployment
4. Services in SharePoint 2010 Products
5. Cross-farm Services in SharePoint 2010 Products
6. Topologies for SharePoint Server 2010
7. Extranet Topologies for SharePoint 2010 Products
8. Hosting Environments in SharePoint 2010 Products
9. Search Technologies for SharePoint 2010 Products
10. Search Environment Planning for Microsoft SharePoint Server 2010
11. Search Architectures for Microsoft SharePoint Server 2010
12. Design Search Architectures for Microsoft SharePoint Server 2010
13. Business Connectivity Services Model
14. Content Deployment in SharePoint Server 2010
15. Microsoft SharePoint Server 2010 Upgrade Planning
16. Microsoft SharePoint Server 2010 Upgrade Approaches
17. Microsoft SharePoint Server 2010 — Test Your Upgrade Process
18. Microsoft SharePoint Server 2010 — Services Upgrade
19. Microsoft SharePoint Server 2010 — Upgrading Parent and Child Farms
20. Getting started with business intelligence in SharePoint Server 2010
21. Databases That Support SharePoint 2010 Products
22. SharePoint 2010 Products: Virtualization Process

SharePoint 2010 Capacity Planning


It's been quite long, I wrote my last blog. I hope from now on I will try to contribute and share my ideas and understandings on SharePoint.

As a SharePoint Architect or Consultant when you are designing a solution you need to understand what are SharePoint boundaries that will affect the performance of the SharePoint. I have interacted with many people they often forget about Performance and Capacity instead they focus on delivering. Let's explore the limitations of SharePoint as recommended by Microsoft.

References:


  1. SharePoint Server 2010 capacity management: Software boundaries and limits
  2. Performance and capacity test results and recommendations (SharePoint Server 2010)
Web application


Limit MaximumNotes 
Content database 300 per Web application Try to limit your content databases per web application to 300 (I don't think many organizations will end up having 300 content databases per web application (the most I have seen is around 50)). Make sure not to have big databases, it will be difficult to manage.

It is recommended to use Windows PowerShell to manage a web application which has Large number of content databases.

Windows Powershell 2.0 installed by default in latest operating systems (Windows 7, Windows Server 2008 R2).
Zone 5 per Web application The number of zones defined for a farm is limited to 5. Zones include Default, Intranet, Extranet, Internet, and custom. It is similar to previous version, no difference here.
Managed path 20 per Web application Managed paths are cached on the Web server, and CPU resources are used to process incoming requests against the managed path list.

Exceeding 20 managed paths per Web application adds more load to the Web server for each request.


Application Pool


Limit MaximumNotes
Application pools10 per Web server Try to limit the number of application pools per web server to 10, as it is mainly driven by RAM and Server Hardware


Content database


Limit MaximumNotes 
Content database200 GB Make sure not cross 200GB limit for Content Database, even though Content database can scale up to 1 TB (only recommended for Large and Single Server Repositories).
BLOB Storage20 millisecondsAccess to RBS (Remote BLOB Storage) should not exceed 20 milli seconds limit.


Site collection limits


Limit Maximum Notes 
Site collections per content database2000Try to limit Site Collections per database to 2000. But Microsoft supports till 5000 site collections.
Web site 250,000 per site collection The maximum recommended number of sites and subsites is 250,000 sites. As per my experience, I would advice not to exceed more than 5000 sites per Site Collection (As it will be difficult to manage and Govern).
Site collection size 100 GB per site collection A site collection should not exceed 100 GB unless it is the only site collection in the database.


List and library limits


Limit Maximum Notes 
List row size 8,000 bytes per row For each list or library item in a Row can use only maximum of 8000 bytes in total in the database, that means data stored in the row should be 8000 bytes of size.
File size 2 GB Supported by SharePoint is 2 GB, but default limit is set to 50 MB.
Documents / List Items30,000,000 per library / ListDo not exceed the documents stored in library / List to more than 30,000,000 items.
Major versions400,000 If you exceed this limit, basic file operations—such as file open or save, delete, and viewing the version histor— may not succeed. 
Rows size limit 6 table rows internal to the database used for a list or library item Specifies the maximum number of table rows internal to the database that can be used for a list or library item. To accommodate wide lists with many columns, each item may be wrapped over several internal table rows, up to six rows by default. This is configurable by farm administrators through the object model only.
Bulk operations100 items per bulk operation You can only select upto maximum of 100 items for any bulk operation (like editing in Datasheet)
List view lookup 8 join operations per query Only 8 Look up or Join operations allowed per List View, example, you are looking for Person, another list or calculation it is limited only to 8, if you cross more than that operation is blocked.
List view 5,000 By default list view is limited to show maximum of 5000 items per view. If you would like to display more items than you might end up in Performance issues.
List view 20,000 This limit is only for Auditors and Administrators (Special privileged people J)
Subsite 2,000 per site view Limit number of Subsites to 2000 per site view
Coauthoring in Microsoft Word and Microsoft PowerPoint for .docx, .pptx and .ppsx files10 concurrent editors per document Recommended maximum number of concurrent editors is 10.

The boundary is 99 (with Performance issues and "File in use" error J).


Page limits


Limit Maximum Notes 
Web parts 25 Limit to 25 webparts per page.


Security limits


Limit Maximum value Notes 
Number of SharePoint groups a user can belong to 5,000 Recommended to limit a user to 5000 user groups. It is similar to Active Directory User Groups management.
Users in a site collection 2 million per site collection You can add millions of people to your Web site by using Microsoft Windows security groups to manage security instead of using individual users.

This limit is based on manageability and ease of navigation in the user interface.

Use Power Shell to manage Users if you have large User Base per site collection.
Active Directory Principles/Users in a SharePoint group 5,000 per SharePoint group SharePoint Server 2010 enables you to add users or Active Directory groups to a SharePoint group.

Having up to 5,000 users (or Active Directory groups or users) in a SharePoint group provides acceptable performance.

The activities most affected by this limit are as follows:

  • Fetching users to validate permissions. This operation takes incrementally longer with growth in number of users in a group.
  • Rendering the membership of the view. This operation will always require time.
SharePoint groups 10,000 per site collection Above 10,000 groups, the time to execute operations is increased significantly. This is especially true of adding a user to an existing group, creating a new group, and rendering group views. 
Security principal: size of the Security Scope 5,000 per Access Control List (ACL)The size of the scope affects the data that is used for a security check calculation. This calculation occurs every time that the scope changes. There is no hard limit, but the bigger the scope, the longer the calculation takes.

Thursday, November 19, 2009

SharePoint Server 2010 - Beta..

Finally, I got SharePoint Server 2010 Beta, also downloaded Windows Server 2008 x64 edition.

I will try to configure it today and see how it works. Crossing my fingers... not to face any typical Microsoft Installation issues ;-)

Cheers!

Tuesday, November 25, 2008

Visual Studio 2010 Available...

Oh.. no.. Not again.. Microsoft releases another version of .Net Framework, now it is 4.0 (quoted as Next generation of developer tools.. Oph.. what the ...). Also, they unveiled Visual Studio 2010 edition, which looks cool.

To get hands on experience on Visual Studio 2010, you get download it from Microsoft site i.e. http://www.microsoft.com/downloads/details.aspx?familyid=922b4655-93d0-4476-bda4-94cf5f8d4814&displaylang=en

" Visual Studio Team System 2010 includes a new Architecture Explorer for the discovery and exploration of existing code assets and application architectures." - Microsoft

Visual Studio Team System 2010 will deliver new capabilities that embrace the needs of the users in the lifecycle – from architects to developers, from project managers to testers.

Among the great new functionality in VSTS 2010:

  • Discover and identify existing code assets and architecture with the new Architecture Explorer.
  • Design and share multiple diagram types, including use case, activity and sequence diagrams.
  • Improve testing efforts with tooling for better documentation of test scenarios and more thorough collection of test data.
  • Identify and run only the tests impacted by a code change easily with the new Test Impact View.
  • Enhanced version control capabilities including gated check-in, branch visualization and build workflow.
Currently, I am exploring all the new features.. Soon will add more my reviews and other new stuff...

Wednesday, April 9, 2008

Sharepoint 2007 Alerts are not working

Finally I managed to resolve this problem in my case.

Issue:
We have implemented a MOSS solution which contains a few custom lists. We have also configured alerts and customized them to suit the customer’s requirements.

Alerts were working fine but about suddenly they stopped working for one particular list. Alerts are working for all other lists/document libraries/etc. without any issues. If we check the content DB of MOSS, we can see the alerts are getting created successfully. But the emails are not being sent. We get confirmation emails that a new alert has been created, so message flow seems solid.

So, I then took a backup (by creating a List template with content), and recreated a new list with the same data and configuration. Alerts are working fine in the new list which has the same configuration and data. But with this approach we will lose Created/Modified and Author/Editor details.

Solution:

So, to resolve this issue I restarted the SPTimerV3 service (windows SharePoint timer), restarted IIS in all the servers. Thought this will resolve alerts issue. But no luck. Also, rebooted the machine (I know it doesn't make any sense but we wanted to try it) “

So, did google search and tried all the options provided in the following articles.... Also, contacted Microsoft support to help us out on this. But they are not sure about the problem.

http://weblogs.asp.net/mellota/archive/2007/10/11/sharepoint-2007-task-notification-alert-emails-not-working.aspx

http://www.moss2007.be/blogs/vandest/archive/2007/11/23/sharepoint-immediate-alert-notifications-stopped-working.aspx
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2150023&SiteID=1
http://suguk.org/forums/thread/6756.aspx
http://www.sharepointblogs.com/mindykelly/archive/2007/08/01/alerts-not-working-in-moss.aspx

As none of the option above help me to resolve the problem. So, thought of deleting the list and recreating list by losing out Created/Modified and Author/Editor details. But to my luck, I wanted to try removing all the alerts in the portal and test.

So, I created an application which will allow to take backup/restore all the alerts in the portal. After taking backup of all the alerts in the portal. I deleted all the alerts and then created one sample alert and tested, to my luck Alerts started working without any issue.

So, I restored all the alerts back without any issue. Now Alerts are being sent from the "troubled" list. Looks to you bit silly. But it is true... if you are working on MOSS 2007, be prepared for these kind of issues.

I hope this post will help someone, as I spent many frustrating days to resolve this issue.

Saturday, March 29, 2008

Web 2.0 Design Patterns

In his book, A Pattern Language, Christopher Alexander prescribes a format for the concise description of the solution to architectural problems. He writes: "Each pattern describes a problem that occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice."
  1. The Long Tail
    Small sites make up the bulk of the internet's content; narrow niches make up the bulk of internet's the possible applications. Therefore: Leverage customer-self service and algorithmic data management to reach out to the entire web, to the edges and not just the center, to the long tail and not just the head.
  2. Data is the Next Intel Inside
    Applications are increasingly data-driven. Therefore: For competitive advantage, seek to own a unique, hard-to-recreate source of data.
  3. Users Add Value
    The key to competitive advantage in internet applications is the extent to which users add their own data to that which you provide. Therefore: Don't restrict your "architecture of participation" to software development. Involve your users both implicitly and explicitly in adding value to your application.
  4. Network Effects by Default
    Only a small percentage of users will go to the trouble of adding value to your application. Therefore: Set inclusive defaults for aggregating user data as a side-effect of their use of the application.
  5. Some Rights Reserved. Intellectual property protection limits re-use and prevents experimentation. Therefore: When benefits come from collective adoption, not private restriction, make sure that barriers to adoption are low. Follow existing standards, and use licenses with as few restrictions as possible. Design for "hackability" and "remixability."
  6. The Perpetual Beta
    When devices and programs are connected to the internet, applications are no longer software artifacts, they are ongoing services. Therefore: Don't package up new features into monolithic releases, but instead add them on a regular basis as part of the normal user experience. Engage your users as real-time testers, and instrument the service so that you know how people use the new features.
  7. Cooperate, Don't Control
    Web 2.0 applications are built of a network of cooperating data services. Therefore: Offer web services interfaces and content syndication, and re-use the data services of others. Support lightweight programming models that allow for loosely-coupled systems.
  8. Software Above the Level of a Single Device
    The PC is no longer the only access device for internet applications, and applications that are limited to a single device are less valuable than those that are connected. Therefore: Design your application from the get-go to integrate services across handheld devices, PCs, and internet servers.
Reference: http://www.oreilly.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html