10 Aug 2018

Gmail Search and Filters

A quick post about the idiosyncrasies of searching and filtering in Gmail. As a long time Gmail user (since 2008), I’ve made significant use of filters and labels to organise my emails. I also make use of several different domains and email accounts that I manage using Gmail as aliases. However, as I look to move off Gmail and away from Google services, I want to identify exactly who is emailing me with what email address. Specifically, what emails are sent to an alias using the plus operator (andy+newsletter@gmail.com instead of andy@gmail.com)?

Note, andy@gmail.com is NOT my email address, it is simply being used in this post as an example.

To help with this, I have deleted all my existing labels and filters in Gmail, and created new filters that label my mail according to the email address it was sent to, using search terms like to:(*@gmail.com), to:(*@googlemail.com) and to:(*@andyparkhill.co.uk). Note, I since have read and confirmed myself that the wildcard operator “*” doesn’t really work in Gmail search.

By default, the to:(*@gmail.com) filter will capture any email sent to aliases using the plus operator (like andy+newsletter@gmail.com), but it will not capture email sent to aliases that make use of periods (like an.dy@gmail.com).

I had hoped to be able to create a separate label for email sent to the email aliases, but after spending significant time reading up on Gmail search operators and experimenting, I now realise that this is simply not possible. Instead, I can use the existing Gmail label to help search for any emails sent to my Gmail aliases (using the plus operator) using the following search term:

“label:gmail to:-andy@gmail.com” (without quotation marks)

This search will return emails sent to andy+newsletter@gmail.com and andy+hackernews@gmail.com, but not those sent to andy@gmail.com.

Another useful search term I’ve started using is:

“-has:userlabels -in:sent -in:chat -in:draft -in:inbox -from:me” (without quotation marks)

This search will return all emails that are not labelled and that have not been sent by me.

Some useful links:

8 Jun 2018

The Future of SharePoint Development

This post is the sixth and last in a series looking at how SharePoint development has changed over the years, and how it is likely to change in the future. In this post, we will look ahead to the future of SharePoint development.

More posts in the series:

SharePoint Online and Office 365

Following on from the release of SharePoint 2016, SharePoint Online is the modern SharePoint platform. New features come first to the cloud, and when appropriate, make their way to the on-premise version. As such, it now makes sense to discuss the roadmap for SharePoint Online and Office 365 before considering the on-premises version.

At the SharePoint Virtual Summit in May 2017, Jeff Teper (Corporate VP of Office, SharePoint and OneDrive at Microsoft) reinforced SharePoint’s central position in the Office 365 business. This was seen as an attempt to settle the uncertainty about the platform’s future prior to the release of SharePoint 2016. Following this, at the 2017 Ignite conference in September, Microsoft announced the following features for SharePoint Online:

  • A number of new web parts would become available (such as a Microsoft Forms web part, a planner web part, the file preview web part, the activity web part to see what others in your organisation are working on, and a 3D file viewer web part). These were released in January 2018.
  • Better Teams and Groups integration, including being able to launch Teams directly from SharePoint, and being able to embed individual SharePoint pages within a Teams tab.
  • A number of Mobile app improvements, such as improved native mobile sites, an interactive news feed and bookmarking functionality.
  • Improved user experience on intranet sites:
    • Adding more web parts and layouts for communication sites
    • Adding News pages to both Team and Communication sites. These will be similar to wiki pages, but will allow users to easily add content that looks well.
    • Improved people cards making use of a LinkedIn integration to retrieve data for people in your organisation.
    • Streamlined custom site provisioning
    • Improved tool box for web parts to easily add web parts to any page.
    • Hub sites that provide a summary of content from other designated sites. These were released to SharePoint Online in March 2018, but they will not be supported in the initial release of SharePoint 2019.
      • Additionally, when a site is joined to a Hub site, the site inherits by default the Hub’s them and offers the ability to run Site Scripting methods
  • List improvements, including the ability to add PowerBI items and Bing maps into list view forms, and no more paging for large lists.
  • Improved search functionality, such as personalized search results, an updated results page, live preview of files and the inclusion of folders in the search results (released December 2017)
  • Security & Governance
    • A new SharePoint Admin Center, based on the Office 365 Admin Center. This will allow administrators to analyse file-based and site-based activities and manage all sites from a single page. Released in January 2018.
    • Improved functionality to manage your SharePoint sites, including previously hidden sites created by Groups/Teams.
    • Site-level conditional access –based the device the user is currently using.
    • Set compliance based on a user’s location, and the applicable regulations, a feature known as ‘Multi-Geo Capabilities in Office 365’.
    • Service-level encryption
    • Self-service OneDrive restore (released in January 2018)

Additionally, at the SharePoint Conference North America two weeks ago, Microsoft announced that the following features would be coming to Office 365:

  • SharePoint Spaces will allow users to make use of AI and VR/AR content for immersive experiences
  • Other Office 365 applications will start making use of AI capabilities for content  collaboration:
    • Personalized intelligent search in the SharePoint mobile app
    • The updated Office.com site that uses AI in the Recommended and Discover sections to personalize the recommendations to each person
    • Enhanced image searches
  • Organisational news and page management for intranet communications
  • GDPR and multi-geo data residency for SharePoint
  • Improved integration between SharePoint Online and Microsoft Teams

As you can see from above, and from the Office 365 roadmap, there are a number of new features being actively developed for SharePoint Online. The majority of changes to SharePoint Online are user interface improvements, new features to allow organisations to manage their data in the cloud, and greater integration with other Office 365 services.

From the 2017 Ignite conference, it was made clear that OneDrive would play a more substantial role in Office 365 and that it would become the “universal way to access all your files”. New features include:

  • Files On-Demand – see and sync all your files (coming to Windows 10 this summer); open, access and share files right from desktop
  • Share seamlessly from File Explorer and Mac Finder
  • Expanded administration controls for sharing
  • Able to share data securely without those accessing requiring a Microsoft account
  • File previews (using the same file preview web part used in SharePoint)
  • A scan button n the OneDrive mobile app to allow users to quickly capture photos, receipts, and documents. They will also be able to have OneDrive automatically upload photos to Office 365 for further processing (such as text extraction)

There has never been a clear distinction between SharePoint Online and OneDrive – they are both online document services used for storage and file sharing. Typically, OneDrive is used for personal storage while SharePoint is used to store and collaborate on documents for an organisation/department/team. The above changes to OneDrive seem to blur the distinction between the two products further.

Microsoft is now pushing the cloud model as the main way of using Office applications, with your content and your applications being available wherever you are and on whatever device you are using. As part of this push, Office 2019 will likely be the last version to be sold with a perpetual licence (bought outright, as opposed to buying a subscription to the software). Future versions will be tied to an Office 365 subscription.

SharePoint 2019

Microsoft confirmed at the MS Ignite conference in September 2017 that it would release SharePoint 2019 towards the end of 2018, with the first previews due soon. The following features are likely to be included in SharePoint 2019:

For Users:

  • More modern page layouts and site template (such as the Team News and Communication sites). However, the new Hub Sites that have been recently released in SharePoint Online, will probably miss the initial release of SharePoint 2019 (but will probably be available via a Feature Pack at a later date).

  • The modern look and feel of SharePoint Online will become the default look in the on-premise version, leading to an updated modern looking UI. The classic pages will remain, for this release at least, as a fall back. This includes:

    • The improved SharePoint Admin Centre

    • Suit Navigation

    • App Launcher

    • Modern sharing experience

  • Improved file activity, usage tracking and stats for files

  • An updated NextGen OneDrive Sync Client, with no support for SharePoint 2016. This will likely include the Files On-Demand feature to provide the selective synchronization of SharePoint-based documents.

  • Significant improvements to lists including:

    • Improved list creation user experience

    • The ability to copy and paste from Excel into a SharePoint List (eliminating the need for datasheet views)

    • Row formatting

  • An updated UI for the SharePoint mobile app

  • Improved support for Hybrid architectures. This will include greater integration with Flow and PowerApps, the successors to InfoPath, allowing for data to move more easily between on-premise and cloud based SharePoint instances. These are seen as ‘no code’ business process tools for power users.

    • Forms (used in list and libraries) can be edited with PowerApps to create custom forms (the old use case for InfoPath)

    • Microsoft Flow will become the default workflow engine, although old workflows will remain usable

For Administrators:

  • Direct links in Central Administration to SharePoint documentation
  • SMTP authentication when sending emails (including Office 365)
  • Microsoft will be releasing Workflow Manager 2019 to replace Workflow Manager 1.0
  • InfoPath, despite being deprecated, will continue to be supported in SharePoint 2019. InfoPath has an extended support date of July 2026.

    • Similarly, SharePoint Designer is likely to be still supported in SharePoint 2019, which just goes to prove the saying “the ones you hate never, ever leave”. However, Jeff Teper suggests that SharePoint Designer is unlikely to be needed, as all customization should be possible using the new web parts.

    • Improved Hybrid administration options:
      • A new SharePoint Hybrid status bar to allow you to monitor the health of your hybrid configuration
      • Direct links in Central Administration to the Hybrid Configuration Wizard
      • OneDrive in Office 365 will be used by default in Hybrid scenarios, rather than on-premise.
      • The Modern Office 365 Search will be used to give a consistent experience in a hybrid environment
      • The ability to configure hybrid scenarios whilst installing SharePoint 2019
    • Use of # and % characters will be allowed in file and folder names
    • Increase in the URL path limit to 400 characters
    • The SharePoint Migration Tool will be included to move content from SharePoint on-premise databases to either SharePoint Online or the OneDrive Service, that will include PowerShell support.

    For Developers:

    • Greater support for the SPFx development model. with a continued push to make this the default development model.

    The major new features announced so far for SharePoint 2019 are the Modern user interface and the improved integration with Office 365 for hybrid architectures.

    Developing for SharePoint 2019

    With the release of SharePoint 2019, the SharePoint Framework (SPFx) will become the only framework to survive two releases as the preferred development model. This will hopefully encourage the developer community to start using it more. SPFx became available to use with SharePoint 2016 on-premise following the release of Feature Pack 2 in September 2017.

    Microsoft is continuing to reboot the UI with modern pages becoming the default page type, and with SharePoint 2019, developers will be able to use the SPFx to develop web parts for the Page model. There are unfortunately no plans to bring the modern UI to SharePoint 2016 on-premise.

    I have mixed feelings about the SharePoint Framework. I feel that (at last) Microsoft has given developers a development model worth using, and we had to break from the legacy SharePoint server-side development practices. The SharePoint Framework embraces web development best practices and tooling, and opens up the SharePoint development to a wider audience of developers. However, as the majority of organisations are still on SharePoint 2013 or earlier (see below), we won’t see a noticeable adoption of SPFx for a number of years.

    It will be interesting to see if Microsoft finally moves to kill off some of the legacy development models. While it is clear that full trust server side solutions will remain (as they are required to make up for the limitations of the SPFx model), will SharePoint Add-Ins and JSLink still be supported in SharePoint 2019? Add-in web parts can be added to modern pages (in SharePoint Online), but I'm not aware of many people using them.

    As noted above, Microsoft has again focused on improving support for hybrid architectures. In particular, the integration of PowerApps and Flow is only for hybrid scenarios, not for on-premise only.


    I started writing the initial version of this post several years ago as a rant against the App Model and SharePoint Add-Ins in SharePoint 2013. I could clearly see that, despite the protestations of Microsoft evangelists, the App Model was increasing the complexity of SharePoint solutions, while at the same time offering reduced capability compared to full trust solutions. Other developers clearly felt the same, as very few used SharePoint Add-Ins. This lack of adoption led Microsoft to launch their latest development model, the SharePoint Framework, effectively killing the App Model.

    As I wrote and rewrote the rant, it morphed into the current series of posts that look at how SharePoint development has changed over the years. Clearly, in a product that is approaching 20 years old, the recommended best practices are going to change over time as new features are added and development methodologies and tools are adopted, modified and dropped. However, SharePoint developers have seen Microsoft release 4 major development models in the past 10 years. This profusion of development models has been driven by Microsoft’s increasing focus on SharePoint Online and Office 365. This caused the identity crisis I described in my post on SharePoint 2010 – was SharePoint an online service or on-premise software?

    This question was definitively answered with the release of SharePoint 2013 – SharePoint was an online service. This led to doubts if another on-premise version of SharePoint would be released. In the end, Microsoft’s large enterprise customers effectively forced the release of SharePoint 2016, as they were (and largely still are) unwilling to trust their data to Microsoft’s cloud.

    Cloud Adoption

    Microsoft’s focus is clearly on cloud based subscription services, and it has been recommending that organisations move to SharePoint Online since 2014. At the 2016 Future of SharePoint event, a Microsoft speaker revealed that 90% of its 70,000 internal SharePoint sites were hosted on Office 365. At the recent SharePoint Conference North America, it was revealed that:

    • 400,000 organizations are on SharePoint
    • 70% of all seats are in the cloud
    • 135 million active users in Microsoft 365

    It is worth digging into these figures. While 70% of all seats may be in the cloud, these seats will be purchased as part of an Office 365 subscription. These may not be used – based on this survey, around 70% of organisations with Office 365 subscriptions will actually make use of SharePoint Online. (In the same survey, very few organisations valued the SharePoint Online service, unlike email and Office apps – it seems Microsoft has some way to go to deliver business value to customers using SharePoint Online).

    Microsoft 365 is a package of Windows 10, Office 365 and Enterprise Mobility & Security. I’ve been unable to find a breakdown of the Microsoft 365 figures – does the quoted active users figure include people who have purchased Windows 10 (direct from Microsoft or via an OEM)? How many of those users are in subscriptions that have been paid for (as opposed to free student subscriptions)?  Until I see such a breakdown of paid versus free subscriptions, and details of the usage of SharePoint Online and other applications by subscribers, I’m dubious as to how useful or relevant these figures are.

    More meaningful figures can be found in Concept Searching’s 2017 SharePoint and Office 365 State of the Market Survey White Paper. In this survey, most organisations that responded indicated that they were using SharePoint 2013 or earlier (around 50% were on SP213, and a massive 40% were still on SP2010). These figures are backed up by an earlier report from Rencore (The State of SharePoint and Office 365 Development 2016). Only around 20% had migrated to use SharePoint 2016, due to the release’s lack of compelling business features. Around 50% of the organisations used SharePoint Online/Office 365 in some form. Just over 20% planned to migrate to SharePoint Online/Office 365, and around the same figure were considering a hybrid architecture.

    The white paper makes clear that as organisations grow more aware of the benefits and disadvantages of cloud based services like Office 365, they are less keen to replace on-premise applications wholesale:

    ‘The move to the cloud is happening,but not in the droves Microsoft anticipated. Many organizations are now spending the time to develop cloud and cybersecurity plans,and are much more knowledgeable about the pros and cons of “life in the cloud”. As such, they are in no rush to move to the cloud, and, in fact, plan on keeping key applications on-premises.

    The key reasons for organisations not wanting to move SharePoint on-premise to the cloud are:

    1. Large organisations have invested and customized their existing (generally complex) SharePoint on-premise deployments. Moving to the cloud would require losing this investment, and may require significant work to replicate in Office 365.
    2. The long term price for an organisation’s Office 365 subscriptions could greatly exceed the price of their existing on-premise deployment.
    3. Avoiding a costly migration to Office 365 that would involve reviewing content, updating IT infrastructure and considering the governance and security implications. (It is important to note that organisations using SharePoint have typically been slow to to migrate to newer versions, as the migration is a complex and time consuming process. The constant churn of development models has also helped contribute to a reluctance to upgrade to the latest version – no organisation wants to invest time and effort in a development framework only for Microsoft to drop it a year or two later.)
    4. Security and compliance – organisations are afraid of entrusting their data to Microsoft. they are also aware of how difficult it would be to export their data once it was stored with Microsoft data centres, possibly in a different country. This is particularly important following the GDPR legislation came into force.
    5. Restricted customization options available in Office 365 – Microsoft limits significantly how SharePoint Online can be customized. Organisations using SharePoint on-premise have full control over how they use and customize their solutions.

    The main takeaway from the white paper for me was that the majority of organisations are still on SharePoint 2013 or earlier. While most organisations are also making use of Office 365, I suspect this is mainly for email, OneDrive and MySites. Migrating existing sites from on-premise to Office 365 with their customizations seems to be quite rare. It also means that adoption of SPFx is likely to be slow, as organisations using SharePoint 2013 or lower are unable to use it.

    One key reason for organisations not upgrading to more recent versions of SharePoint is the lack of compelling features in the latest releases. Both SharePoint 2016 and 2019 are incremental releases that offer relatively little to organisations already using SharePoint 2010 or 2013. Customers still on SharePoint 2013 may be tempted to upgrade to SharePoint 2016/19 as mainstream support has now ended, but new customers will be more likely to use SharePoint Online and Office 365, something that the Concept Searching white paper also highlights.


    To encourage the legacy on-premise customers (generally large organisations) to move online, Microsoft has been pushing hybrid architectures, and there is increasing support for hybrid scenarios in SharePoint 2019. In particular, Microsoft is keen to offer online services that can replace customers’ customized on-premise solutions, to allow organisations to avoid costly rewrites of existing custom code. This will also allow Microsoft hook into an organisations data and ease any future migration to the cloud.

    However, organisations who use hybrid architectures have learnt that it greatly increases the complexity of, and the time to implement and deploy, SharePoint solutions. Organisations running a hybrid environment will face a number of usability, maintenance and administration issues, and in reality it is only a viable option for larger companies that have dedicated SharePoint developers and administrators. Additionally, there are are cost implications of running a hybrid solution, as you have the cost of your on-premise farm and the monthly subscription costs.

    The Future of SharePoint and Office 365

    The future of SharePoint is clearly as an online service within the wider Office 365 suite of services and applications. The modern SharePoint application looks to be focused on collaboration services, enhanced with AI and VR. There have been significant new features released recently to improve the use of SharePoint Online as an intranet. Many former SharePoint features now being handled by other teams (PowerBI for business intelligence, Delve for search, PowerApps for forms, Flow for workflow). This points to a trend in Office 365 of having lightweight apps with specific purpose, such as Microsoft Forms.

    Additionally, there is a greater emphasis in modern SharePoint on integration with other O365 applications and services, and fewer customization options available. This applies to both branding (there are limited ways of branding SharePoint Online), and also in custom code options (the SPFx offers significantly fewer options than a full-trust solution). To compensate, Microsoft have been pushing no code tools like PowerApps and Flow that can be used by power users.

    For developers, developing for SharePoint Online will mean consuming a series of end-points from the various online services and applications being integrated with SharePoint. While we will be able to make use of modern web development techniques, I suspect there will be significantly less requirement to develop custom solutions as Microsoft develops new applications and services that can do a similar job for a monthly subscription. This allows organisations to have a low cost solution (initially – monthly subscriptions can quickly add up), and further locks the organisation into Office 365.

    SharePoint on-premise will continue to be released for legacy customers, for at least one more version (2022 anyone?), but is basically going to become a container with basic functionality that allows easy integration with other subscription Office 365 services. This is very similar to the path being taken by Exchange on-premise. It is unlikely that many new customers will invest in SharePoint on-premise now, specifically with Microsoft pointing towards Office 365 as the preferred option. For existing customers, the decision to upgrade will become harder, as each new release of SharePoint offers less and less business value. SharePoint is a mature product – is unlikely to change significantly in the basic features it offers.

    SharePoint is an outstanding product that has evolved significantly over it’s twenty year history. After many years battling it, I’m finally moving on to other areas of development (Azure and Xamarin, and also some Linux/Python development on the side), but I’ll always have a soft spot for it. Many thanks to all those readers who have struggled on to read this last instalment of a series that began over 18 months ago.

    22 May 2018

    How to Fix: ‘The trust relationship between this workstation and the primary domain failed’

    I come across this error several times a year, typically when I start up a Virtual Machine that hasn’t been used in a while. Many people will recommend leaving and then re-joining the AD to resolve this problem – this is a terrible idea. I came across this solution a couple of years ago, and after having to search it for again today, I decided to post it here so I can find it more easily in the future.

    To fix the error, reset the computer password using the netdom command line utility:

    netdom.exe resetpwd /s:<server> /ud:<user> /pd:<password>


    • <server> is a domain controller in the joined domain
    • <user>is in DOMAIN\User format, and has the required rights to change the computer password

    I typically log on to the affected virtual machine using a local administrator account. I run the command above using  an elevated command prompt. Once the command succeeds, simply reboot the machine, and you will then be able to log on using a domain account as normal.

    12 Apr 2018

    Moving to GitLab

    I’ve recently moved my repositories from GitHub to GitLab. I thought I share a quick post on why I did this and how to go about it.

    Why Move?

    GitLab has a number of advantages over GitHub for source code hosting:

    1. Free private repositories – GitLab is financed by their Enterprise tiers, and have a free tier for personal projects and small teams. GitHub is free only for public repositories.
    2. GitLab has built-in Continuous Integration/Delivery options built-in, and has a number of DevOps features available to integrate with your specific workflow.
    3. GitLab has a wider range of options for creating project specific sites (using GitLab Pages), such as allowing you to use custom domains and SSL certificates for each project.
    4. GitLab, unlike GitHub, has an open source community edition (with an MIT licence), allowing you to setup your own GitLab server to self-host.
    5. GitLab has pretty much all the features that you expect from GitHub (Wikis, Markdown-based readmes, issue tracking). An important consideration for me was that GitLab, like GitHub, also offers Two Factor Authentication (2FA).

    The disadvantages of moving to GitLab are:

    1. As GitHub has been around longer, network effects mean that the majority of developers and projects are already using it. As of 2017, GitHub had some 26 million user and 67 million repositories.
    2. Occasionally you can have slow UI performance.
    3. Both offer integration with a number of third party services (such as Trello, Slack, Jenkins) but GitHub currently offers more integration options than GitLab.

    How to Move

    GitLab has made made migrating from GitHub very easy. Simply create a new project, and on the new project page, select the ‘Import project’ tab. From here, you can select the GitHub import option. You will then be asked to sign in to GitHub and to authorize GitLab to access your GitHub repositories. On doing this, you are taken to the GitHub Importer page, which lists your projects on GitHub. You can then select the projects to import to GitLab individually, or simply import them all:

    Note, the import preserves the repositories commit history. Once the projects are successfully imported, you can then decide whether to delete the source projects on GitHub. I deleted all of my private repositories on GitHub, and maintained only my public projects.

    As GitHub is the more popular site for hosting source code, I wanted to be able to keep hosting and updating my public projects there easily. I had thought initially to add GitHub as a second remote to the new GitLab repository, so I could update both GitHub and GitLab repositories from the command line. However, it turns out that GitLab offers the Repository Mirroring feature. From the GitLab documentation:

    There are two kinds of repository mirroring features supported by GitLab:
    push and pull. The push method mirrors the repository in GitLab
    to another location, whereas the pull method mirrors an external repository
    in one in GitLab.

    By configuring the public repositories to push to the corresponding GitHub repository, I can simply commit my code to the GitLab repo as normal, and the commits are automatically reflected in the mapped GitHub project.

    Once the push mirroring was configured, I found that I could commit to GitLab and the code changes would be pushed to GitHub in a matter of seconds!

    Migrating to GitLab was a very simple process, and so far, I’m very happy that I made the move.

    14 Nov 2017

    A Year without Social Media

    Over a year ago, I finally gave up on Twitter, the last social networking platform I had been using. I thought now would be a good time to reflect on giving up on social media.

    For the first few weeks, I found myself repeatedly going back to check on various Twitter feeds. I didn’t tweet at all, but was compulsively following stories and comments about the forthcoming Brexit referendum. After the referendum, I then managed to avoid checking Twitter for several months, until the end of 2016, when I was pulled back to Twitter by the unfolding RHI scandal in Northern Ireland (I blame the Stephen Nolan show for igniting my interest in that topic).

    Since the start of 2017, I have managed to avoid using Twitter at all, except for very occasional tweets about poor service or delivery complaints to get attention from customer service. It turns out this is the only way to get the likes of Amazon and other companies to actually respond to you, and is now the only reason I’ve keep my Twitter account. I rarely visit the site, I don’t follow anyone on my new twitter account, and I now automatically delete the rare tweets I do make after a few days. In short, Twitter is simply a tool that I use very infrequently.

    Of course, it isn’t that easy to give up on social media. After giving up on Twitter, I found myself getting drawn into following Hacker News, the social news website from Y Combinator focusing on technology and start-up culture. Like Twitter with its followers count and likes, it uses gamification techniques (user karma and comment upvoting) to encourage members to participate. However, after spending some time on the site, you realise that there is a real problem with ‘group think’. There is a definite bias towards to US and Silicon Valley points of view, and any alternative views are effectively down voted into oblivion. I managed to wean myself off the comments by focusing on the top links submitted (using alternate sites like Hacker News Top Links, and the excellent Hacker Newsletter from Kale Davis) and avoiding the associated comments by blocking access to the site on my personal laptop and on my work PC. As an alternative to/reminder of the Hacker News comments, I also follow the satirical site, n-gate.com.

    In addition, I’ve blocked all use of Safari on my iPhone, and have removed all apps from it that give real time information/updates. In effect, I’ve reduced use of my smart phone to just Gmail and Pocket now.

    In short, it isn’t quite as easy to give up social media as it first seems. Going cold turkey can work, but you have to work hard to prevent yourself being drawn back to the same old sites. You also have to be careful about giving up Twitter or Facebook, and replacing them with other sites that consume just as much of your time with the same gamification techniques. As a result, I’m careful to avoid such sites (Hacker News, StackOverflow) where possible. Giving up Twitter has given me more time, but I need to remind myself to do something useful with it, and not to waste it all over again.

    29 Jun 2017

    SharePoint Development - SharePoint 2016

    This post is the fifth in a series looking at how SharePoint development has changed over the years, and how it is likely to change in the future. In this post, we will look the recent SharePoint 2016 release.

    More posts in the series:


    SharePoint 2016

    There was considerable discussion about the SharePoint 2016 release – notably, whether an on-premise version of SharePoint would even be released. This reflected the constant focus by Microsoft on the Office 365 brand and SharePoint Online over the on-premise offering. This only intensified with the appointment of Satya Nadella as Microsoft CEO in February 2014. He brought a fresh focus on mobile and cloud offerings, and a move away from the traditional Office and OS products.The future of SharePoint on-premise, despite being a product that generated $3 billion for Microsoft in 2015, was seen to be seriously under threat.

    In the end, Microsoft did release an on-premise version, after realising that many of their large corporate customers were not prepared to consider migrating their data to a third party cloud service. Microsoft’s “Evolution of SharePoint” blog post in February 2016 confirmed this decision. But even this blog post focused mainly on SharePoint Online/Office 365 features, and how SharePoint 2016 could integrate with them. The hybrid capabilities of SharePoint 2016 were heavily marketed by Microsoft in the lead up to the release, in an effort to entice large organisations to start using cloud based services alongside their existing on-premise installations.

    The new on-premise version was an incremental update on the 2013 release, with the major improvements being around the hybrid capabilities already mentioned. The hybrid options required having an Office 365 subscription, in addition to paying for the on-premise licensing. Some of the new features (such as durable links) also required having Office Online Server (the updated and renamed Office Web Apps Server 2013), with Office Online Server now being seen as essential to deploy alongside SharePoint Server 2016.

    With this version, the free Foundation edition was dropped, and it was only available in the Standard and Enterprise editions. SharePoint 2016 was released to market on the 14th March 2016, and was finally released to general availability on the 4th May 2016, after missing the planned release date at the end of 2015. As described at the release event, the four areas of innovation in SharePoint 2016 were:

    • File sharing on any device
    • Intranet/Team sites on any device
    • New extensibility options for developers
    • Enterprise features around security, compliance and privacy

    The new features in SharePoint 2016 included:

    • Improved mobile experience
      • Support for touch screens on the web application
      • Mobile apps for Android iOS and Windows devices promised within the next year
    • Integration with the new PowerApps and Flow services, again not available upon release, but to be available within the year.
      • PowerApps is a set of developer tools and templates that are simplified for ordinary business users to create business applications. The announcement that they will be integrated with SharePoint means that users will be able to create cross-platform PowerApps that utilize SharePoint lists and libraries as a data source.
      • Microsoft Flow is part of PowerApps and is a clone of the well known IFTTT service, allowing users to mash up data from various services, and set up certain actions to specific defined events. 
    • Hybrid features, including:
      • SharePoint Insights, a reporting service that combines “usage and compliance data from on-premises and cloud into the Office 365 Reporting Center”. In other words, the analytics logs from your SharePoint on-premise farm are automatically uploaded to Office 365 to give a unified audit view. Again, this feature was not available on the release of SharePoint 2016, but was to be available for the end of 2016.
      • The new Hybrid Search allows users to search across both on-premise and online SharePoint sites for relevant content with a single combined list of search results (and not separate results for on-premise and online sites as before). This uses a new Cloud search service application for SharePoint 2013 and 2016 that generated a unified cloud-based search index.
      • A Single Sites View for users to view any on-premise and SharePoint Online sites they have access to.
      • A new enhanced UI, so that the look and feel is consistent across both online and on-premise sites for a consistent user experience, particularly for hybrid scenarios. This included the introduction of the App Launcher to SharePoint 2016, to allow users to access Office 365 applications such as Exchange Online, Delve and OneDrive from on-premise.
      • OneDrive Redirection – use of the user’s Office 365 My Site instead of hosting it on-premise. OneDrive for Business aims to bring users to one place to help them work with their files, regardless of where they are stored. Note, this feature was available in SharePoint 2013 with SP1.
      • Integration with Office 365 Delve and the Office Graph (see Office 365 section below) with on-premise, to surface relevant content and activity for individual users
      • Users can have a single profile in Office 365 where all their profile information is stored. This profile can then be used for both SharePoint on-premise and SharePoint Online.
    • Compliance features were significantly improved, a major selling point for Enterprise customers.
      • Data Loss Prevention (DLP) features, similar to those found in Microsoft Exchange Server 2014 and Exchange Online, were introduced to both SharePoint Online and SharePoint 2016.
      • The Compliance Center uses the DLP features to allow users to identify and search for sensitive content in both SharePoint Server 2016 and OneDrive documents. 51 built-in sensitive information types, such as credit card numbers, passport numbers and bank account numbers, are defined and used to identify sensitive data in documents. Once found, following a crawl by the search service application, sensitive documents can be reviewed in the eDiscovery Center, and the sharing permissions can be changed, the data removed from shared sites, or the documents can be exported for further review
      • The In-Place Hold Policy Center allows users manage policies defined across site collections and OneDrive for Business, and to establish time-based holds on data for a specified time.
    • Miscellaneous
      • Improved sharing options, with a share button on every page, and the option to view who already has access to an item.
      • Support for Open Document Format (ODF)
      • The file names can now be longer than 128 characters, and character restrictions are being removed, so that the & ~ { } characters, GUID, leading dots are now allowed in file names.
      • About Me profile page to include content from Delve and Office Graph API
      • Image and video previews are generated on hovering the mouse over a a file in the document libraries.
      • Durable links - make it easier to move files without having to update links.

    While this is not a comprehensive list of all the end user features in SharePoint 2016, it confirms that the release was incremental and didn’t offer many significant improvements for end users. This wasn’t particularly surprising, given the maturity of the SharePoint platform.

    Developing for SharePoint 2016

    This was the first release of SharePoint to be based on the SharePoint Online codebase, with some capabilities backported for the on-premise version (such as PerformancePoint). This meant that with a single unified code base for both the SharePoint Online and on-premise versions, there was a now a single roadmap for the product. Features would come first to the cloud, and when appropriate, would be added to the on-premise version.

    Microsoft made much of the fact that new features would be constantly be added to Office 365, and that these will be made to on-premise farms available more quickly using the new Feature Packs (for those customers with Microsoft's Software Assurance volume-licensing plan), rather than the traditional Service Packs. Clearly, most of the future effort and innovation would be directed at Office 365, with relatively few new features coming specifically for on-premises.

    The move to a single codebase based on SharePoint Online meant a number of architectural changes:

    • As already mentioned, there would be no Foundation version of SharePoint 2016. This was understandable, given the minimal capabilities and very low take-up of Foundation in previous releases.
    • As noted above, several new features required having Office Online Server (the renamed Office Web Apps Server) installed. Office Online Server is now seen as being essentially a dependency for SharePoint Server 2016.
    • Excel Services has been removed from SharePoint 2016, and is instead included as part of the Office Online Server.
    • Microsoft Project Server 2016 (PWA)  is now integrated to SharePoint 2016, instead of requiring a separate install as previously. As a result, MS Project Server content is now consolidated into the SharePoint Content databases and not in a separate database.
    • Forefront Identity Manager is no longer included for bi-directional synchronization of user profile information with Active Directory. Instead a uni-directional sync using AD Import is available. Microsoft Identity Manager 2016 can be configured separately to enable bi-direction sync if required.This is part of a move away from Windows based identity management to cloud based identity management (such as Azure Active Directory, which was now trusted by default).

    This version of SharePoint was primarily an infrastructure release, with relatively few improvements for end users. Instead, Microsoft was focusing on improving how SharePoint is installed, configured and maintained, and in particular, offering more options for integrating on-premise SharePoint farms with Office 365 services. The changes included:

    • Installation & Topology
      • The initial configuration of Farm and Server Roles was simplified in the installer wizard, due to the new MinRole server configuration.
      • A new MinRole topology. Based on the experiences gained by Microsoft in running SharePoint Online, this allows administrators to optimize the configuration of each server in a Share Point farm based on the role it has been assigned. The different server roles supported are Front-End, Application, Distributed Cache, Search, and the new Specialized Load role. The Specialized Load role is used for services that are to be isolated from the default SharePoint services (such as 3rd party services or PerformancePoint), and servers with this role are excluded from compliance and reporting. The SharePoint health analyser is used to enforce the min-role topology by scanning all servers except those used for the specialized load role.
      • SharePoint 2016 can no longer be installed in standalone mode. Farm Administrators would have to choose one of the 6 Mini Roles available during the configuration phase. There is a Single Server Farm option where everything is installed on the same computer for development purposes.
      • As there is no ‘standalone’ installation option to install SQL Express, SQL server must already be installed and running prior to installing SharePoint.
    • Upgrade Options
      • You could only upgrade to SharePoint 2016 from SharePoint 2013,  using the database-attach upgrade method. There were no supported direct upgrade paths from SharePoint 2010 or earlier.
    • Improved performance and reliability
      • The Zero Downtime Patching strategy will make use of simplified patch management to significantly reduce the size and number of update packages. Rather than deploying large cumulative updates that contain all patches up to that point in time, as currently, the new patching strategy will mean patches are distributed through smaller packages (~100 MB). As the new patches contain smaller, more targeted changes, SharePoint administrators can now choose which patches to install and skip, so that patching with zero downtime is possible.
      • The introduction of Fast Site Collection Creation to speed up the creation of a new Site Collection. This uses a master site collection template at the Content Database level to provision a new site, and avoids the overhead of Feature activation. Because of this, the time to create a site collection fell from 40 seconds to just 2 seconds.
      • Reliability improvements to the Distributed Cache. This still relies on AppFabric 1.1, which, despite being deprecated as a Windows feature, will continue to be supported for the SharePoint 2013 and 2016’s lifecycles.
      • Resilient file system (ReFS) storage protects data from common errors that normally cause data loss. When ReFS is used in conjunction with a mirror space or a parity space, detected corruption can be automatically repaired using the alternate copy provided by Storage Spaces. ReFS also prioritizes data availability so that if corruption occurs, the repair process is both localized to the area of corruption and performed online, requiring no volume downtime. ReFS includes the Salvage feature that removes the corrupt data from the namespace on a live volume and prevents good data from being affected by non-repairable corrupt data.
    • Scalability
      • Content databases will scale into Terabytes, up from a maximum of 200 GB per content database in SharePoint 2013.
      • A maximum of 100,000 Site Collections per database (the limit was previously 20,000)
      • The list view threshold will be greater than the existing 5,000 items limit. In reality, the threshold still exists, but SharePoint 2016 will automatically create Indexed Columns on lists with more than 5000 items, so that while the threshold is still in place, it no longer impacts end users.
      • Maximum file upload size has increased from 2GB to 10GB, allowing for large media (video) files to be stored in SharePoint 2016. The file BLOBs will still be stored in the content database and will make use of the Shredded Storage implemented in SharePoint 2013.
    • Security
      • Encrypted connections (TLS 1.2) supported by default 
      • Supports sending email to SMTP servers that use STARTTLS connection encryption, and using non-default SMTP ports
    • Miscellaneous
      • SharePoint Logging API (SLAPI) allows easier ability to record and report on analytics and telemetry across a whole range of objects in the Farm
      • Some 115 new PowerShell cmdlets have been added to help support SharePoint, and STSADM is finally officially deprecated

    For developers, the main changes were:

    • The announcement of a new development model, the SharePoint Framework (SPFX, see details below).
    • A new simplified Page model, to give a improved end user experience. The new page model was required for the new SharePoint development model, and gives rise to a new page canvas that gives a simplified editing experience for end users (no more clunky ribbon), and made it easier to add and remove web parts (no web part zones as in classic pages). However, classic web parts would not work in the new page model, so new web parts would be provided to replace the existing OOTB SharePoint web parts. The new page model gives rise to new client application types:
      • Page-based apps – an alternative to provider-hosted apps with server side code, these are implemented in JavaScript, but have benefits such as having full page context.
      • List-based apps – an alternative to JS Link for transforming the display/edit/new experience around list items
    • The new modern page model is used in the updated team and publishing sites, which can mean that when migrating content from existing SP2013 sites, you can end up with mixed content (classic and modern pages) that have significantly different web parts and editing experiences available.
    • A new version of SharePoint Designer would not be released with SharePoint 2016. The existing version SharePoint Designer 2013 would continue to be supported in SharePoint 2016.
    • Similarly, a new version of InfoPath would not be released. The previous version InfoPath 2013 will continue to be supported in SharePoint 2016. The InfoPath Form Services will continue to be supported to 2023 but there will be no further enhancement to InfoPath. Despite some talk of next-generation forms for SharePoint, Microsoft currently has no replacement story for InfoPath. Instead, PowerApps is being touted as a possible replacement.
    • Search Improvements
      • SharePoint 2016 also offers the option to crawl current and legacy SharePoint versions such as 2007, 2010 and 2013, without needing to upgrade those versions.
      • Supports indexing of up to 500 million items per Search Server application
    SharePoint Framework

    For developers, the main talking point with the release of SharePoint 2016 was the introduction of (yet another) development model, the SharePoint Framework (SPFx). This was a SharePoint client-side framework that would allow developers to use the latest web development technologies and tooling to create pages and web parts for both SharePoint Online and SharePoint on-premise.  As for many of the new features announced for SharePoint 2016, it wasn’t actually ready for release in May 2016. Instead, a preview was available in August 2016, and the framework was released to general availability in February 2017. This was for SharePoint Online only; it is expected to be released for SharePoint 2016 on-premise via Feature Pack 2 in the second half of 2017.

    Key features of the SharePoint Framework include:

    • Runs in the context of the current user and connection in the browser. The new framework does not use iFrames, unlike the previous App Model.
    • The controls are rendered in the normal page DOM.
    • The controls are responsive and accessible by nature.
    • It's framework agnostic - React, Handlebars, Knockout, Angular, and other JavaScript frameworks can be used..
    • The toolchain is based on common open source client development tools like npm, TypeScript (required), Yeoman, webpack, and gulp.
    • Solutions can be deployed in both classic web part and publishing pages and modern pages.

    SPFx is effectively a JavaScript based client-side UX framework for SharePoint. While it is possible to use any JavaScript framework with SPFx, the clear preference from Microsoft is for developers to use TypeScript (which makes sense for SharePoint developers coming from the legacy server-side APIs), and the React framework. The new framework would use RESTful API’s to communicate with the SharePoint (Online or on-premises) backend.

    This was a major change to SharePoint development which historically was based around full trust C# code running server-side. With the SharePoint Framework, Microsoft was saying that the future of SharePoint development was using client-side JavaScript. As the new framework was client based, the files for any web parts of apps that use SPFx can live anywhere (on a CDN or a separate website), not just in SharePoint. Developers were no longer tied to using Visual Studio (or even the Windows OS) for development, but could instead use lightweight code editors like VS Code or Sublime.

    I haven’t been able to play with the new framework, as it is currently only available for Office 365. But I have been following a useful blog series that is asking prominent SharePoint developers to describe their experiences of SPFx in their own words. Some common themes emerge:

    • The framework is a good start, but it has a long way to go until it gains parity with full-trust server side code or the App Model. Currently, the framework really only offers web parts; developers are looking to use the framework to:
      • Create SPAs built on top of SharePoint.
      • Provide more granular customizations (giving alternatives to custom actions and display templates)
      • Provision lists and sites (developers are still reliant on PnP Guidance, which is to use Add-ins)
      • Automate deployment of SPFx solutions
      • Give alternatives to JS Link and script injection
      • Ability to target specific site collections, not just the tenant
    • The positives about the framework include:
      • You no longer need to develop on a SharePoint server. The “local development” model is very different – IIS no longer hosts files on your local machine, since Gulp and node.js are used to serve files instead.
      • The use of unit tests (automatically generated when creating a new SPFx solution) will lead to higher quality applications.
      • There were mixed views about the use of TypeScript, but most agreed that this would help legacy SharePoint developers make the jump to the new framework.
      • The framework, combined with the new page model, helps to simplify end user experience, and gives rise to improved rendering on mobile devices
    • Common complaints include:
      • Lack of documentation (to be fair, I personally think the documentation is quite good compared to previous releases, but there is a definite lag on documenting the new features, simply due to the large number being released).
      • The steep learning curve for Enterprise developers who are unfamiliar with the modern web development stack.
      • Lack of support for the framework in Visual Studio (currently there is only a community extension that allows developers to create SPFx projects in Visual Studio).
      • SPFx doesn’t provide guidance on how to bundle dependencies, or how to deal with an updated version of solutions.
      • The Framework is not as agnostic as it purports to be: all the existing first party web parts and documentation use TypeScript and the React framework, making it difficult for developers who prefer vanilla JavaScript and Angular. This issue was mentioned by almost every developer in the blog series.
      • As SPFx is a client-side framework, there is no security model to work against, as in the server-side API. The lack of a security model means that  Provider-hosted add-ins (using iFrames) are a still a valid developer option as they are isolated on the page. Alternatively, a server side component (eg Web API) may be required.

    SharePoint Online/Office 365

    As noted in my blog post on SharePoint 2013, Microsoft were quickly developing new features for SharePoint Online/Office 365. The pace of change had only accelerated since 2013, and new features and services being delivered almost weekly. Recent features include:

    • Microsoft Graph is an underlying Office 365 service maps the relationships among people and information (such as email, Yammer, meetings, recently accessed documents), and allows more relevant and personalized information to be presented to each individual user. The Office Graph uses machine learning techniques to connect people to the relevant content, conversations and people around them. It is based on the Yammer enterprise Graph. In another win for the folks at Microsoft Marketing, Microsoft Graph was known previously as the Office Graph (renamed in November 2015), and before that, known as the Office 365 Unified API (see below).
    • Delve is a data visualization and discovery tool that surfaces interesting content to users. It is based on the Office Graph, and in effect, tries to show documents and content to the user that it thinks they will need, before they know they need themselves.
    • Sway for Business, an interactive multimedia tool that allows users to quickly create and share interactive reports, personal stories and presentations.
    • Modern team sites with a responsive UI.
    • Office 365 Groups - a way to centralize membership for multiple Microsoft products (such as SharePoint Online, Exchange, Teams, Yammer) in one place, and apply policies at the project or team level instead of applying to each separate product.
    • Improved integration between SharePoint Online and OneDrive, with users being able to access SharePoint Online document libraries using the OneDrive mobile app.
    • Office 365 Public CDN, allowing a library in SharePoint Online to be become a repository for assets to be stored in a CDN.

    One of the major changes in Office 365 for developers was the launch of the Unified APIs, subsequently renamed as the Microsoft (Office) Graph. Due to the rapidly increasing number of services in the Office 365 brand, Microsoft recognized that unified API was required to bring together all the various APIs that access the Office platform. This Office 365 Unified API subsequently evolved into the Microsoft Graph, giving developers a single endpoint to access data from Microsoft cloud services.


    SharePoint 2016 was a pivotal release, not so much in the new features it offered, but in that it effectively set SharePoint Online as the modern SharePoint platform. This new modern SharePoint is built on top of Azure and uses modern web development technologies, in direct contrast to the legacy SharePoint on-premises platform it evolved from. Microsoft's effort and innovation will clearly be directed at developing SharePoint Online and Office 365, with few new features coming specifically for the legacy on-premise platform.

    For the end user, the main features were the improved mobile experience (and improved UI overall), and the increasing number of Office 365 services that they could use from SharePoint on-premise. Apart from this, the 2016 release offered end users very little. For administrators, the improved hybrid support in SharePoint 2016 made integrating with Office 365 significantly easier, and there were significant improvements in installing and maintaining on-premise farms (such as the MiniRole topology, Zero Downtime Patching and ReFS). For developers, this was a significant release, with the new codebase being based on SharePoint Online, and yet another development framework, and a simplified Page and publishing model.

    I have mixed feelings about the new SharePoint Framework (SPFx). Obviously, as the fourth development model to be introduced, why should I or others bother investing in this one? Microsoft is selling it as the one and true way to develop solutions for SharePoint, but they pushed Sandbox Solutions and the App Model in the same way, and they’re now as dead as the dodo. Why should we assume that there won’t be yet another development model in the next SharePoint release?

    One reason is that Microsoft has actually released the new model correctly. They had learned from their many mistakes in releasing the previous development models. Instead of just laying down the law to developers that this was the development model to use, the process has been more open. Microsoft had been discussing the framework with developers and vendors for over a year before SharePoint 2016 was released, in a series of Dev Kitchen events organised by the SharePoint Product Group. Previews of the framework were available for almost a year before it was released in February to general availability. The use of the SharePoint Framework Roadmap has been rightly praised – the goals for SPFx for the next 12-18 months are openly discussed and prioritised using community feedback, and new framework features and functionality are rapidly being released.

    Another reason is that Microsoft has embraced the modern web development stack. The new framework attempts to standardise development for SharePoint around web development best practices and tooling, and to move to client side development. SPFx gives us a clean break from legacy SharePoint, and the increasingly anachronistic server-side development model that we have all been using for too long. While this means a huge learning curve for existing SharePoint developers, it does represent a chance to encourage other (non-Microsoft) developers to build solutions using SharePoint/Office 365.

    Finally, the framework is additive: it doesn’t replace anything or make the legacy development models obsolete. Organisations can continue to build solutions using the existing development models, but as the framework matures, customers will begin to use it to build new solutions and enhance existing solutions.

    I suspect adoption of the new framework will be very slow. It is still not available for on-premise SharePoint 2016, and the majority of existing on-premise customers are still on SharePoint 2013 or even older versions. The use of the web development stack will be a barrier to existing SharePoint developers making the jump. I suspect it will take at least another 2-3 years before we see any significant uptake of the framework, as organisations start to migrate to 2016, and as developers gain confidence that Microsoft is not going to pull the rug from under their feet (yet again).

    Overall, I’m actually positive about the SharePoint framework. It represents a break from the legacy SharePoint development practices that have built up, and allow us to embrace web development techniques that can be used outside of the SharePoint ghetto. Obviously Microsoft is hoping it will encourage greater use of SharePoint from non-Microsoft developers. Regardless of whether the SharePoint Framework survives or not, the future of SharePoint development is clearly client-side. I’m looking forward to developing solutions with it soon!

    To be clear, with the advent of the new SharePoint Framework, the App/Add-in model is dead. It will kept around for a while until SPFx gains parity, but it will then be deprecated to death, just as Sandbox Solutions have. I doubt if full trust server side solutions will ever stop being an option for on-premise customization, simply because they offer a way to provide a custom backend API for SPFx solutions. Additionally, I suspect that if you’re serious about developing for SharePoint (as opposed to just consuming a SharePoint / Office 365 API), you will still need to understand the underlying object model.

    While the SharePoint Framework was a positive feature of the SharePoint 2016 release, there were also a few negatives. For developers, the lack of investment in new tools to replace SharePoint Designer and InfoPath was disappointing. After initial hinting at a replacement for InfoPath (Forms on SharePoint Lists), this was cancelled, and PowerApps was parachuted in to (partially) replace InfoPath. As there is no full replacement for InfoPath, the InfoPath 2013 client and InfoPath Forms Services will continue to be supported until 2023.

    The much heralded new iOS app for SharePoint, released in June 2016, was also underwhelming. As someone who had to use and support it, I’m aware of issues where users belonging to a large number of site collections were unable to access their sites via the app. As can be seen from the iTunes rating graph below, until the release of v2.9.3 last week, the ratings for the app were around 3.2-3.4, which is relatively low. Hopefully, the new version of the app will have resolved many of the issues that Microsoft appears to have ignored for the past year.

    Another major failing in the release of SharePoint 2016 was the failure to address what we should be using Yammer for. After all the hype for Yammer in the SharePoint 2013 release, it wasn’t mentioned at all at the release of SharePoint 2016. What is the use case for Yammer? Where does it stand amongst the other conversation tools like Skype, Office 365 Groups and traditional SharePoint discussions?

    The major takeaway from this release was that Microsoft wanted developers to stop viewing SharePoint as a platform, and to start viewing it as a service. This conclusively resolved Microsoft’s SharePoint identity crisis. With the new SharePoint Framework and the new modern page model, Microsoft were effectively ignoring the legacy SharePoint development models and were rebooting using the latest web development technologies.

    Microsoft now appears to see SharePoint on-premise as a way of promoting hybrid solutions. The improved hybrid support in SharePoint 2016 aims to push the current on-premise customers (typically larger organisations reluctant to store their data in a third party cloud-based solution) into using the hybrid model and increasing their exposure to the rapidly growing range of Office 365 services. As part of the move away from being a platform, SharePoint (Online and on-premise) is now being built more for an out of the box experience for end users, as opposed to being a platform for developers to build customized solutions.

    In attempt to quell any of the uncertainty around the SharePoint 2016 release, Microsoft has already told us that it will not be the last on-premise release. As well as summarizing this series so far, I’ll look ahead to the next release of SharePoint and how we will develop for it in the next (and last) article.

    25 May 2017

    Belfast Street Poster Art

    If you talk about street art in Belfast, most people will think of the paramilitary murals that mark out the sectarian landscape of the city. Or possibly they know of the number of talented street artists that are reclaiming walls in Belfast for more contemporary and non-sectarian street art, like emic or #VISUALWASTE. Check out this virtual tour of murals if you’re interested in finding out more.

    But there is also a strong tradition of street poster art, particularly around the University/Botanic Avenue area. I seen these posters recently, and thought they were worth sharing.

    Nothing to hide, nothing to fear…

    Nothing to hide, nothing to fear...

    In Billy We Trust…

    Daily Mail – Super Bigot Edition

    If you come across any others, please share in the comments. Thanks!