Wednesday, June 25, 2014

Driving sustainable user adoption for SharePoint and Yammer – Part I

A while ago I did a presentation at the Future of Business is sharing event on user adoption of collaboration technologies within companies. A good user adoption strategy – this is not the same as change management – is key in getting a collaborative environment accepted within a company.

Although SharePoint has been hugely successful in the past few years – there is still a gap in satisfaction between IT pros and business managers – SharePoint met the expectations of  73% of the former, and of 62% of the latter (Source: Microsoft SharePoint faces tough future, Forrester says). In my opinion, this is because in most organizations, user adoption is just an afterthought. People often confuse user adoption with training, so a typical reaction is – “let’s send our end users to some training” – probably a technical training about site collections, versioning, web parts, etc… and what happens 5 weeks after the training they fall back in the old way of working.  Training is important, it allows people to make the first jump, but it has to be contextual, if you have build a solution around managing projects with SharePoint, make a specific training on the benefits that people will get when using SharePoint.

But user adoption really is about people getting to know your solution, understand it and use it in a correct manner. In the end the success of a deployment such as Office 365/Yammer or SharePoint Online is measured by sustained user adoption. Why the emphasis on “sustained”?  A study by the Altimeter Group about usage of social computing tools found that after an initial spike in enthusiasm and usage, you typically see a gradual decline in usage until only limited groups within your company are you using the solution. [Altimeter Group– making the business case for Enterprise Social Networks] – this applies to collaboration tools in general.

Getting beyond the early adopters of a technology solution, is not easy and in a perfect world – with only IT consultants (just kidding :-)) - everything would work magically. In a real world “Build and they will come” simply does not work. one of the main reasons is that people are fundamentally resistant to change, so you will need to put some effort in it to explain them why they need to change. If a new idea or way of work is initiated and self-sustaining, it will only survive if it gets adopted by a critical mass of users (typically you will need to at least >50% adoption)

The two most important things to focus on are Why and What?  Why do you need SharePoint (or Yammer, Yambla,…) – and what are the business problems you are going to solve or mitigate.  People know about file shares and they work with on a daily basis and then comes along this  this new product – SharePoint – but untill you can explain them how they need to use in their daily work and routines, they will not adopt it. Social, Yammer – why? What is the added value of using the SharePoint newsfeed or Yammer groups to someone in accounting – don’t push a certain feature if you can’t answer why people would need it and how they can use it.

It is interesting to see that even after you have deployed a file sharing and collaboration solution, people still send out e-mails with attachments instead of a link to the file. There are two killer applications in an enterprise, Excel and e-mail. And even with companies advocating zero-email (but struggling to actually make it happen), I don’t see e-mail disappearing anytime soon. So instead of banning it, embrace it and integrate it into your solution and use it in the more efficient way.
In a next post I will talk about how to leverage a user adoption team to make your collaboration platform deployment a success.
“Success starts with deployment, it does not end with deployment” – a it is necessary but not sufficient.

Future of business is sharing - IMEC Share, innovate, collaborate and excel

Monday, June 23, 2014

Ten indispensable tools for SharePoint 2013 developers

  1. CamlDesigner 2013 – provides you with a graphical inferface which allows you to   build CAML queries for single lists as well as queries that can be executed with SPSiteDataQuery. You can also get code snippets for the server-side object model, the .NET client-side object model, the JavaScript client-side object model and REST. This tool has been developed by Karine Bosch and Andy Van Steenbergen – two of the board members of BIWUG (Belgian SharePoint User group) 
  2. SharePoint Manager 2013 – is a SharePoint object model explorer. It enables you to browse every site on the local farm and view every property.
  3. ULSViewer  - there are other tools out there – check out SharePoint ULS log viewer tool comparison and verdict
  4. SharePoint 2013 Client Browser – requires no installation –simply unzip the exe – allows you to explore the SharePoint object hierarchy.
  5. Fiddler – is a web debugging tool which allows you to investigate all HTTP traffic (REST calls and XML or JSON responses). It also has some built in features to profile app performance and spot bottlenecks – also check out Fiddler PowerToy – Part 2 : HTTP performance
  6. SharePoint 2013 Search Query Tool v2  - can be used to query, test and debug search queries – for both SharePoint 2013 on-premise and SharePoint online search queries. I also use it for examing and tuning ranking of search results. See understanding item ranking in SharePoint 2013 search for more details
  7. SPCop Community Edition – this is a Visual Studio extesion which analyzes your SharePoint code which was created by Matthias Einig and which is based on the SharePoint Code Analysis Framework
  8. SPFastDeploy – Visual Studio extension which allows to push individual files for deployment in SharePoint apps without requiring you to do a full re-deploy every time there is a change. It makes developers a lot more productive using the SharePoint 2013 hosted app model. Excellent tool built by Steve Curran.
  9. SharePoint Color Palette Tool – the new SharePoint 2013 theme model (also called composable looks) allows you to brand your SharePoint 2013 environment in a new way. One of the key components of a composable look is a .spcolor file which defines the color elements. The color palette tool is  a free utility that enables you to develop spcolor files interactively
  10. REST client plugin for Google Chrome – Excellent tool for creating REST requests – some developers might however favour the REST Postman plugin for Google Chrome.

Thursday, June 05, 2014

Understanding item ranking in SharePoint 2013 search

SharePoint 2013 allows you to view the result of the ranking model by retrieving the rankdetail managed property. The rankdetail property will only be returned when there are less than 100 results in the returned search result set.

There is however an interesting tool hidden inside SharePoint which outlines the rankdetails calculation which I found in Explain rank in SharePoint 2013 search. SharePoint 2013 contains a built-in  application page called /_layouts/15/explainrank.aspx which accepts two mandatory parameters:
  • q – which contains the query
  • d – which specifies the path of the item for which you want to see the rankdetail
You can download a specific Explainrank search display template which will incorporate a link to the explainrank.aspx page with the required parameters. An alternative for this which will also work on Office 365/SharePoint Online is the Mavention Search Ranking app. My current favorite for the moment is the SharePoint 2013 Search Query Tool which also allows you to show rankdetails and rank calculation.

For a deep dive explanation of all the fine details of search ranking you should definitely take a look at customizing ranking models to improve search relevance in SharePoint 2013. On a very high level relevance is determined by two different types of parameters:
  • Dynamic ranking: ranking parameters linked to the search term which is being used
  • Static ranking: ranking parameters which are being applied independent of the search query which is being used. When you look at the standard ranking algorithm being used when doing a content search – the following static parameters are taken into account:
    • Clickdistance : number of clicks between an authoritative page and items in the index.
    • QueryLogClicks, QueryLogSkips and LastClicks : use click through behavior to see if results are considered relevant by users
    • EventRate : activity tracking of usage events (clicks or view) – items with high usage activity get a higher activity rank score than less popular items. This is activity on items in SharePoint outside of the search pages.
    • URLDepth : documents which have a longer URL are considered to be less relevant
    • InternalFileType – SharePoint 2013 prioritizes some files differently based on the file type – this is the current ranking (PPT,DOC,HTML,ListItem,Image,Message, XLS,TXT,XML). The most signifcant difference with 2010 is the fact that PowerPoint get a relatively higher weight in 2013 and Excel lower.
    • Language – some languages seem to be favoured – I’m still looking into the details of this
One of the surprises with SharePoint 2013 search is that it does not take into account the freshness of results – Mikael Svenson wrote an interesting post about this in  Adding freshness boost to SharePoint Online and this functionality is now also available in the SharePoint 2013 Search Query Tool


The end of SharePoint autohosted apps

Up until a couple of weeks ago you basically had 3 options to develop a SharePoint app as shown in the figure below – one of the options – Autohosted apps was however available in preview mode and therefore not recommended for production use. Mid May Microsoft pulled the plug out of this one – see Update on Autohosted Apps Preview Program

As outlined by Andrew - Update on Autohosted Apps Preview Program – this is probably a good thing because although the deployment model was quite flexible you were never sure what were the actual limitations with regards to allocated CPU time,data out,storage and memory usage. So for now, we have to wait and see what enhancements become available for provider hosted SharePoint apps to make it as flexible in deployment as autohosted apps but while still providing you with sufficient control and troubleshooting capabilities.