Why SharePoint Versions and Tools Do Not Matter

Recently, I’ve received a few comments about the training we provide at USPJ Academy. The comments relate to some of our courses that (correctly) have screenshots, examples, and code from previous versions of SharePoint. Apparently, one needs to have the latest and greatest version in order to learn about SharePoint.

To me, that makes about as much sense as saying that you can’t learn how to drive unless you have the latest model car, or that you can’t learn to cook unless you have the correct oven.

Let me elaborate a bit on what I mean by that.

SharePoint Isn’t About Technology

A frequently heard quote in the SharePoint community is that SharePoint is far less about technology and much more about business. Developers know that when you’re dealing with business problems, you deal with business objects. You don’t walk up to your client and say that their vacation request problems are solved by X amount of classes with Y amount of methods or properties.

Business users don’t care about technology, and don’t let marketing or sales tell you otherwise. Business users care about themselves and the problems they face. When Frank in HR has to work two extra days every April to handle all the vacation requests, he doesn’t care whether what gives him those two days back is called SharePoint or SAP, and least of all which version of those platforms help him. He’s only happy to spend the additional time with his wife, mistress, or motorcycle, whatever his fancy is.

Tell me, in your car, assuming you have one, who made the chip that controls everything from the engine to the AC? You don’t know, you say? Well, it’s quite often the same for business users when they work with software.

In fact, it’s quite often the same with us developers. Do you really know what platform Google or Facebook uses to build their software? Or in what language the web services from Amazon are written? Most likely, you don’t, and you don’t care, at least you don’t need to care. All we need to know is how to interact with those platforms, through programming interfaces, web services, or whatever we can access.

SharePoint Isn’t About Versions

I have heard, more frequently than you’d imagine, people claim that there’s absolutely no point in upgrading to SharePoint 2010 when their 2007 custom solution solves their problem.

In other words, people’s problems aren’t going to change when Microsoft releases a new version of SharePoint. If you solve your problems with SharePoint 2007, why is SharePoint 2010 required at all? Or even SharePoint 2013? You built a solution to fix what ached you, but you won’t get different or new aches when there’s a new version of SharePoint out.

There’s even a huge chance that you get new problems with your existing solutions when you upgrade. Features change, custom code may break, your neatly designed layout may suddenly get an ugly ribbon bar, or a range of other things may affect what you already have. So, upgrading is a huge risk that may break what you currently have.

If you’re fond of food, you may have had a soufflé. Cooking a soufflé is quite tricky and depends greatly on temperature control and knowledge of your tools, most importantly your oven. You need to learn how your oven works in order to get the best soufflé possible.

Well, when you introduce a new oven, you’re actually not getting to cook new things, but you’re forcing yourself to learn how to cook soufflés all over again.

I’m not a fan of upgrading anything until there is something that I am unable to solve on my current platform. My current workstation, for example, on which I do all my development, authoring, gaming, and social interaction, is a rig I built in 2007. Granted, I upgraded the graphics card recently because I couldn’t play Skyrim comfortably on the old one, but beyond that, it’s exactly the same machine I bought five years ago.

And speaking of upgrading tools…

SharePoint Development Isn’t About Visual Studio!

The specific comment I got on the USPJ Academy training is that the Beginning SharePoint Development course isn’t targeted at Visual Studio 2010 or even SharePoint 2010. The examples are all in Visual Studio 2008 (and I only upgraded from 2005 just before authoring the journal issue) and screenshots are in SharePoint 2007. Apparently, that means that people can’t learn how to do SharePoint development.

Look, I understand the desire to have and use the latest gadgets. After all, the cool kids always have the latest fashion clothes, the newest phones, and play the latest games, and we all want to be the cool kids, right?

Well, I’m sorry to disappoint, but SharePoint development is as much about Visual Studio as astronomy is about telescopes, to almost quote a famous programmer. Visual Studio is just a tool, little more than an advanced hammer, when you’re trying to build a house. Unless you understand how to build the foundation, how walls provide support, and how to build a roof that will keep the elements at bay, well, being the world champion of hammers isn’t going to mean anything.

Even if you learn how to use a certain hammer to build a wall, all you know is how to build a wall with that hammer. You still don’t know anything about building houses. You don’t know how people will live in the house and what they need to be safe, happy, and comfortable, which means a hell of a lot more to the residents than who made the hammer and whether it was a new or old hammer.

So, learning SharePoint development is like learning how to be a chef. You don’t learn recipes for your oven, you learn how food and ingredients work, how to mix them to produce great dishes, how to handle meat safely so you don’t get cross contamination, and, most importantly, how to give your guests or consumers of your food a great experience.

Screw the oven, I just want a nice, juicy steak!

.b

Found this article valuable? Want to show your appreciation? Here are some options:

a) Click on the banners anywhere on the site to visit my blog's sponsors. They are all hand-picked and are selected based on providing great products and services to the SharePoint community.

b) Donate Bitcoins! I love Bitcoins, and you can donate if you'd like by clicking the button below.

c) Spread the word! Below, you should find links to sharing this article on your favorite social media sites. I'm an attention junkie, so sharing is caring in my book!

Pin It

SharePoint 2013 App Marketplace – Functionality

You probably know that Microsoft released literally thousands of pages of documentation on SharePoint 15 (or SharePoint 2013, as I believe it will be called). Most comprehensive is the less intelligible open specification documentation, although that’s also where the good bits are.

You probably also know that I’m highly focused on learning what’s new on any new SharePoint version and that I write a USP Journal series that details this research and the findings. In the first issue, now freely available to members of the USP Journal mailing list, I wrote about the new App store.

You can read more about the series on the SharePoint 2013 Beta series webpage.

Here’s the third part of what I wrote about the new App Marketplace (and also the final part of this mini-series, at least for now):


Other Functionality

Although probably not for the layperson, the protocol documentation also reveals a rich framework for managing Apps, rights, and licenses. This means that not only will there be a SharePoint App marketplace from Microsoft, but it will also be possible for third-party vendors to build their own marketplaces.

Already there are several vendors who do this, with varying success. Although the new marketplace model may seem to compete, I am certain that most of these vendors will welcome better tools for building their solutions, deploying their products and services, and even competing with Microsoft in providing the best applications for users.

One clear sign of this is that the SPWeb class, which in the object model represents a site in a site collection, contains a new method in the SDK called LoadAndInstallApp. This method allows developers to send an App package into the web and install it.

Note: There is a class called SPSolutionExporter which may trick someone to believe there is a way to export an app, but this class exists in SharePoint 2010 and is only use to export a site as a template to the solution gallery.

I have found no evidence, and it would be strange if there were, of a method to export Apps using built-in functionality. I’m sure someone will make it, though.

Beyond these functionality extensions, the SPApp model also supports easy database provisioning. Many custom applications require data storage, and with SharePoint 2010, the methods for doing so is limited to what are known as Service Applications.

The problem, though, is that Service Applications can be difficult to build and maintain. When developers want custom data storage, they often either store data in SharePoint itself, or just build a custom database outside the realm of SharePoint, adding burden to administrators and dependencies on external resources.

Hopefully, the new functionality in Apps allow for easier provisioning of custom databases so that this hassle is removed from the development cycle. The methods suggest so, even including the aforementioned support for SQL Azure databases, but of course, nothing is known at this point.

I’d like to mention that Apps are deployed on sites (SPWeb) or possibly even as sites. That means you can deploy an App highly targeted to ensure you get the functionality you need only where you need it.

Note: I mentioned security as a main focus of the SDK App documentation. There is a rich model for ensuring applications can’t behave in a way you don’t want and for ensuring only the right people get access. However, I’m not going to detail these features in this issue because of space constraints.

The huge question, however, is whether SharePoint Apps will be full farm solutions or just sandbox solutions. I have some thoughts on that too, but I need to do a bit more research first.

Also, I’m thinking that these features are what’s going to be most important to most readers, but please feel free to correct me if I’m wrong.


This article is an excerpt from the first issue of the USP Journal  SharePoint 2013 Beta series. The issue contains more on the SharePoint App Marketplace as well as additional information, comments, news, and rumors. You can get the first issue free of charge on the issue web page.

Combined, this mini-series comprise only the content related to SharePoint Apps from the first issue. Later issues, included in the subscription, contain even more information, both in SharePoint Apps and other new features.

.b

Pin It

SharePoint 2013 App Marketplace – Licensing

Several community comments and a couple of blog posts speculate that SharePoint 15 will have an App store of sorts. Although everything is speculation at this point, there’s clear evidence now that Microsoft will include such an ‘app store’, referred to by Microsoft as “The Marketplace”.

You probably know that Microsoft released literally thousands of pages of documentation on SharePoint 15 (or SharePoint 2013, as I believe it will be called). Most comprehensive is the less intelligible open specification documentation, although that’s also where the good bits are.

You probably also know that I’m highly focused on learning what’s new on any new SharePoint version and that I write a USP Journal series that details this research and the findings. In the first issue, now freely available to members of the USP Journal mailing list, I wrote about the new App store.

You can read more about the series on the SharePoint 2013 Beta series webpage.

Here’s the second part of what I wrote about the new App Marketplace:


Licensing

Microsoft will also add support for licensing of the application packages that developers deploy. What this means is that vendors or even regular folks can put a price on their application and sell it through the marketplace.

The first clue to this is a method attached to the SPWebApplication class called IsUserLicensedForEntity.

Note: Apparently, licensing can also be turned off, which could mean that either no applications requiring licenses will be installed or that the application developer has not set a license at all (in other words freeware).

However, there’s much more information in the protocol documentation, specifically in the MS-APPMD document (or SharePoint App Management Database Protocol Specification if you insist on the full name).

That document says that there are four license types that you can add to your package:

  • PerpetualMultiUser marketplace license type.
  • PerpetualAllUsers marketplace license type.
  • TrialMultiUser marketplace license type.
  • TrialAllUsers marketplace license type.

In addition to these license types, there’s also something called an OMEXLicenseType, but the description doesn’t clarify what the purpose of this license type is:

“The commercial type of the marketplace license, used for commercial purposes and stored in the protocol server.”

From the documentation, it does not seem like this is an alternative license type to the perpetual or trial licenses, but something that is added on to every license, regardless of license type.

The ‘protocol server’, by the way, is the SharePoint server. Wonder why they can’t just call it that.

The model also defines a license director who is a person (or maybe group) who are allowed to assign licenses to users. For example, a company may buy 10 user licenses for a product, but have 50 active users. The license director will be able to select which of those users get access to the product.

Licenses can also be timed so that they expire after a certain time. The expiration applies only to trial licenses, so perpetual licenses aren’t affected (duh).


This article is an excerpt from the first issue of the USP Journal  SharePoint 2013 Beta series. The issue contains more on the SharePoint App Marketplace as well as additional information, comments, news, and rumors. You can get the first issue free of charge on the issue web page.

Combined, this mini-series comprise only the content related to SharePoint Apps from the first issue. Later issues, included in the subscription, contain even more information, both on SharePoint Apps and other new features.

.b

Pin It