Sunday, July 25, 2010

Training Users after deploying SharePoint 2007/2010

When deploying a SharePoint solution, the business often place most of their budget and allocated time to SharePoint Features, configuration and that strong look and feel and forget about end user training.

They understand that the assigned administrators require training to help manage and update the features available, and that type of training is usually included in the project planning – but they forget that the general, every day users may also require training, and they usually try to throw in a quick fix just before launch.

I planned to talk about the “SharePoint Learning Kit”, available from CodePlex, it’s a SharePoint e-learning site with tracking created by Microsoft that you install in your existing SharePoint farm, but there were a few things I didn’t like about this solution, mainly:

It’s not open source, meaning that I cannot edit this solution

Its uses a separate database, so I don’t see it as a true sharepoint sub-site anyways, and installation was difficult.

It was buggy, I have experienced some errors with this kit, and since the solution is not open source, it was difficult to fix.

Difficult to customise, the site has a strong Microsoft brand, its limits us in branding it for client's and since strong, consistent look is very important to clients, deploying a solution that cannot fit with the rest of the site seems very unprofessional.

But now I discovered the "Microsoft Productivity Hub", available for SharePoint 2007 and now SharePoint 2010, it is more community based and it is built to resolve all the problems I mentioned above.

The following blog post covers the Productivity Hub beautifully, thank you Muneer Natha for bringing this to my attention.

Saturday, July 24, 2010

Minimum requirements for a good on site working environment

In the past, when a software solution needs to be developed, my team build the solution in the office, tested it in the office and only when everything is built and ready, we would go to the clients offices to install and configure the final solution.

These days, it’s more common to deploy the entire team onsite (clients’ offices) right from the start of the project, and while on site they do all the development, testing and configuring directly on the clients servers.

This results in easy accessibility of the team, better focus, commitment and dedication from the team which ultimately means faster more accurate delivery of the solution.

But the team is moving away from an environment they are comfortable with to the clients’ environment which may not be designed for this purpose, and if a few basic requirements are not in place, delivery of the solution is compromised.

So if you are looking at getting an outsourced team to work in your office to deliver a solution, make sure these minimum requirements are in place.

Free, safe and close by parking – Not providing this is de-motivating to the team – so if it can be provided, do it; it makes it easier for the team to work late at night if needed.

Access Cards/Tags – If security is controlled by access cards or tags provide the team with the necessary, staff without access cards usually have to go through additional security checks which is time consuming, it also restricts move ability in and out of the building.

Proper Desk and Comfortable Chair – They going to be working there for the majority of the day, don’t give them that broken down desk lying in the store room – give them a comfortable environment, a chair with a high back and wheels if possible – you will see the results in the delivery.

Network access – Access to the network allows the team to build a solution that will work on your network – it’s one of the reasons why they are on site in the first place.

Internet Access – This is important for delivery, developing software solutions involve frequent access to the internet for trouble shooting and software updates – it also allows the team to communicate with subject matter experts and gain access to knowledge based content.

Email Access – An email account provided by the business, makes it easy for the team to communicate with the organisation and vice versa, it’s a frequently used communication channel that needs to be in place right at the start of the project.

Telephone Access – another communication channel that can speed up delivery.

Shared Folder Access - I should be saying SharePoint, but we are usually on site, installing SharePoint, what’s needed is a space for the team and other business members to easily share files and reports.

Printer Access (including colour printer if solutions include design work) – The solutions we provide involve documentation that requires sign off, as well as user manuals – we need a printer to deliver this.

Meeting room with projector Access – We will need to present our work to key decision makers, so access to meeting rooms with projectors is important, even access to small meeting rooms for team discussions is needed.

Microwave Oven Access – some of us bring food from home, help us enjoy that meal.

Drinks/Coffee/Snacks Access – If the team can get the things they like without leaving the building, the team will leave the building less, allowing more time for delivery.

Toilet Access – Easy and convenient access to toilets is something you desperately miss when you don’t have it.

Full Access to Development and Staging server – These servers are used for proof of concepts, initial design, development and testing. Full access to this environment is required for the team to work out the best solution.

Access to Production server – We understand that access to the production server is more strictly controlled, so a clearly defined change control process will be useful when defined at the beginning of the project – so we can factor in the time required and plan accordingly.

Access to people responsible for network and sever support – We are on site for a short period of time, our timelines are planned on the assumptions that all systems provided by the business is running smoothly, if not, we will require quick resolution.

A “Driver” from the Business – Since our stay is short, we are seen by many in the organisation as strangers – meaning that when we approach them without assistance from the business for information and support, we usually don’t get the information we require, with someone from the business that can drive support from the rest of the organisation – delivery is much more faster.

Failure to provide the following will affect speed and accuracy of delivery, as the team may not have sufficient tools to complete the required tasks or the work environment, provided by the business, is not comfortable enough to get the team to focus properly.

Saturday, July 17, 2010

Auto Provisioning, the next step in SharePoint

The thing that makes SharePoint great is the way it was built (yes – that narrows it down!). It was built for the business users (not developers), to have sufficient control and power to create their own web space, that will assist them in achieving their business goal.

Before SharePoint, we had two extremes when providing a business user with an application or web space to achieve their business goals.

On one side we have business users requesting an application from the IT department, resources were eventually allocation and the SDLC begins, a solution is provided about a month or so later.  This application had its own database, little to no integration with other systems, its own security component, meaning another set of usernames and passwords the business users need to remember, and its own unique look and feel.

On the other side, the business user will create an application themselves via Excel or Microsoft Access.  The solution will be available quickly but the solution will be stored on business users workstation. The IT department may have no knowledge of this application, and even if they did, they will have a limited skill set in maintaining the solution. This application will not be backed up and will only be accessible when the business user’s machine is on. 

So a big thank you goes to SharePoint, with this product, the IT department has an environment that is easily maintained and governed. If a business user require a feature/reporting tool/web space, the people in IT can select an appropriate template, create the site and give the business user sufficient privileges.  Business users do not need to memorise new login credentials, that sub-site is automatically added to the existing maintenance plan and it can easily integrate with other systems. You are now getting the advantages of using both extremes mentioned above.

Now lets add "Auto Provisioning" into the mix, with auto provisioning, sites are created quicker, governance rules are still followed, and no human intervention is required.

Thanks to SharePoint workflows and event handlers, sites can be created in code. Not only that, governance rules can be applied to the site via code. So things like themes, site quotas and permissions can all be automatically implemented without the need of getting someone from the IT department.

So what does this mean? It means that a business user, who requires a feature, can fill in a form and select a template that most closely fits their requirements, they submit the form and two seconds later the site is created, skinned and ready for use with governance rules, like site quotas, already in place.

Its magical, people in IT can now focus on more important things like improving processes, learning new technology and keeping the movie server up to date.

Sunday, July 11, 2010

Please don’t pimp your SharePoint site

Look at this picture, someone spent allot of money on a Benz, but decided that they wanted to make the car look like a sports car instead, so with a little extra time and money, they added design elements that made the car look different, the new look gets a great deal of attention and everyone wants to drive it, but later people notice that the car cannot drive faster than 30km/h or drive up an incline without breaking something, the lights didn’t work as well as they use to, you can only enter the car a certain way, sharp turns has not been tested but is not recommended and only people with special training or knowledge on how this new look was implemented will be able to wash, repair, drive or fuel up the car.

Sounds crazy doesn’t it, well, that’s what you are asking us to do when you ask for a SharePoint site that does not look like a SharePoint site.

Sticking with my Benz example, the Benz comes from the factory in silver, black, white and red, and a special colour can even be created for you. That’s how Microsoft expected you to change the appearance of a SharePoint site, they gave you a wonderful selection of themes (colours) and they gave the developers the ability to create a custom theme, that’s it, that’s the tools SharePoint provide, more extreme looks are possible, but it involves digging under the hood of the car, and adding things that SharePoint was not expecting.

Yes, drastic looks are possible, not recommended, not supported, but possible, and providing a drastically different look usually comes at a cost, but before we get to that, let’s look at the advantages of providing a strong look.

The key advantage in providing a strong look, is that it will look great (assuming it was designed by a professional designer), and great looking sites naturally leads to better user experience and better user adoption – two big components that needs to be well satisfied in order for you to see a good return on investment (ROI).

And to many decision makers, that reason is good enough to spend that extra time and money on the look. Good ROI directly translate to “successful project”, which means good review meetings and bonus, right? Strangely yes, but only if the client does not know why they wanted SharePoint in the first place.

SharePoint has become this thing that everyone wants, but few know why. This is not uncommon; it’s why the Blackberries and iPhone’s are purchased by people who just want to make and receive phone calls and occasionally send and receive text messengers.

"Strong" look and feel, i.e. look and feel that involves developers and designers changing code and templates, compromises some of the features that SharePoint provide. This is a fact.

One example is the search feature, the developers can change the look of the search component located on top of every page, but SharePoint has certain expectations from this control and treat this component differently on different pages. Since changing the search components look is not a supported approach, Microsoft has not provided documentation on how the search component is treated on different pages, and with so many different templates and pages available from SharePoint, it is not practical to test this new looking search component in every possible page available from SharePoint. Meaning that if you add a component the developer did not test, say a wiki site, there is a good change that the site will not look right, or potentially not work correctly.

The “not look right” problem may happen frequently and should be easy to fix. The templates provided by SharePoint was designed to “look right” in the standard look, if your new look have thinner menu’s and wider content areas or you moved something that was originally placed on the right to the left, each template needs to be adjusted to handle this new look. That means that if the client is planning to add a wiki site, the developer must create a special wiki site template that fits with this look and feel, and don’t forget that this new template must be tested because it has to work as well as the original template, and since each template provides features like mobile friendly views and integration with outlook – these can very easily be things that the developer forgets to test.

Now, After getting a SharePoint site with a strong look, look at what you have, SharePoint was created to help the business users create and manage sites and collaboration space, SharePoint was created in such a way that the tools and power were given to the business users, not the developers, allowing the business users to directly create the space needed for them to complete their task’s and objectives in a well controlled and governed environment. By adding this strong look, the power is forced to shift back to the developers and designers, because the environment is now too fragile to leave in the business users hands, scenarios requested by the business needs to first be tested by the developers, corrected and only then be given to the business to use, in other words, you are not using SharePoint correctly and instead of resolving the problems that SharePoint is trying to solve, you are just finding new ways in achieving them.

As always, there are exceptions to the rule. If Microsoft is going to showcase this beautiful SharePoint Ferrari site (click here for showcase), then I must be talking a whole lot of nonsense.

Well, no, that site is beautiful, no question about that, it got me going to the site, frequently, and I recommend it to friends, and from everyone’s point of view, it is a very successful SharePoint deployment, but how much of that site is using SharePoint, and how much is custom built?

The site features a discussion forum, did they use the SharePoint Discussion Forum or did they create their own, for better design flexibility? The same question goes for the Blog.

Apart from the content management component, is there anything else there that’s from SharePoint? And, while talking about the content management component, are they using it the way it was designed to be used, or are they embedding their own HTML/CSS/Javascript/Flash into the content area to achieve this look? Can a business user update the site or must it be maintained by a web developer?

So, if you want to build a site that have a small amount of content administrators and a large number of readers (like any typical inTERnet site). Then you want a site that is content/images/video/flash heavy, but not necessary feature heavy. This means that the features been compromised when applying a heavy look on a SharePoint site is not used anyways, allowing you to achieve your design objective without anyone noticing the compromise, and as a result, you got a beautiful site with good user adoption.

InTRAnet sites that are focused on public content only, i.e. information for the entire company to see with no focus on collaboration type content or features, can also have a Strong look, you will compromise the features that will not be used, and still be regarded as a successful implementation.

But this is an inTRAnet site, at a later stage, people will ask for collaboration features, or will want to implement a SharePoint template that was originally not planned for. That’s when the developers are forced to tweak, modify and add special SharePoint templates, instead of getting the business user’s to add the standard template themselves.

Friday, July 02, 2010

Search - Now an essential feature for websites.

When I use to create website’s, my focus use to be on what the client asked for, its usually the home page, the content, and a good user experience. Search functionality was never something a client puts a strong focus on, and thus, it was never something I put allot of time towards.

Why should I? whatever you want you can find from the home page or the navigation menu's, right? The search feature is something that people hardly use, and when we do use it, we not really expected to find what we want anyways.

That was my attitude up until last year. in all my project planning, I place about one day on adding a search feature to a website, that’s one day for everything search related from start to finish.

It would involve creating a simple textbox on a header, usually expecting one keyword, and a search button, it would have a search results page that run a simple query that will return a bland list of titles and links that will reference a page that was lucky enough to have the keyword the query is looking for in the right field in the database. Nothing major and added nothing fancy, client’s didn’t see the value of invest more money into this feature, and no one is expected to use it, this feature as only there because it makes the site look more complete.

Thankfully, clients attitude are changing, finding information through a navigation menu is phasing out. It was a flawed approach anyways, menu’s are based on a navigational structure that seemed logical to a small group of decision makers, but may not make sense to others. The structure is usually fixed and difficult to adjust or grow. It can contain many layers resulting in information been buried deep in the navigation structure making it difficult to find.

So, you “looking” for what you want is old school, rather tell the system what you want and let the information come to you, sounds like the typical search feature, but give it a bigger budget, in fact, treat it as a project on its own.

Users are no longer expecting a bland list of links that contains this magic keyword they typed in. They are now expecting to find exactly what they are looking for, first time. The search feature is replacing the navigation menus. Search is now the primary way in finding information, so like the home page and any other primary component, the user experience needs to be great.

In South Africa, the two most popular websites used for finding employment is “pnet” and “careerjunction” I have my CV registered in both sites. In the past I logged into both sites, entered my keyword, and spent the next 45 minutes filtering through the long list of vacancies that contain my keyword, it was not frustrating, it was the way. Today, things are a little different. CareerJunction placed some time and money in improving their search. Now, in addition to searching by my keyword, I can easily filter my search result by clicking on a list of locations, industries, job type and so on, I can also see how many entries this filter will return, giving me a much better user experience.

Pnet, has not upgraded their search feature, I now find their approach frustrating, so now I only use CareerJunction.

So far, the most impressive search feature I have seen is from Netflix., They use Silverlight PivotViewer to show all the videos available to rent, and as you filter the results, the video’s that match the filter criteria is shown via an excellent user experience. Its simple, detailed, functional – its just wonderful.

Thursday, July 01, 2010

ajax/silverlight and application.master page dont mix in MOSS 2007!!

If you want to give sharepoint 2007 a strong look and feel (in other words - make it look nothing like sharepoint). It involves digging under the hood and changing files SharePoint did not expect you to change, on of these files is the application.master page.

If you want to mess around with the application.master page, I say mess around, because Microsoft does not recommend this, (and I am sure this is one of the resons why), make sure the application.master page contains no ajax controls or silverlight controls.

Ajax use the preRender event to load whatever it needs to load in order for ajax to work, some SharePoint admin pages overwrite this preRender event, meaning that the ajax bit of code never run, and there is no way to stop this from happening.

We know that the following pages give errors if ajax exist in the application.master page.


I am assuming they did this because MOSS 2007 was out BEFORE ajax was big, so it seemed like a good idea at that time to mess around with the preRender event. I am hoping tht they learnt from there mistake and will rectify this with a service pack, but I wont hold my breath, looks like there focus was to fix it in SharePoint 2010 instead.

So, as a rule when planning your look and feel in a MOSS 2007 site, make sure there is no ajax or silverlight controls in your master pages.