Monthly Archives: March 2013

Nintex investment announcement and why we should all be excited about it.

imageFirst … the news:  http://www.nintex.com/en-US/News/Pages/default.aspx#734

Often when people see a company take on an investment like Nintex announced today they scoff and wonder what luxury locations the owners will now be sunning themselves in.  They usually see it as selling out and not what that deal really represents.

I want you to take a pause for a moment and think about what something like this means for the SharePoint industry.  Think about what a deal like this says. 

These folks have decided to invest $222 million (!!  ma-ma-ma-million) in an independent SharePoint business.  They have decided that there is room for that business to grow in a huge way and to get a handsome return on their investment.

This was a business that, when I first got into SharePoint, started with a recycle bin feature for SharePoint document libraries all those many years ago and grew it into a tens of million dollar business.  Nintex Workflow is now THE singularly most widely used ISV application in SharePoint worldwide.  It’s huge.

We (the entire SharePoint community) should all be all stopped dead in our tracks and being blown away about how incredible this is.

This is awesome because it means outsiders view the space as growing and being worthwhile investing in. 

This is awesome because it means those folks out there with an idea and passion can see where it could take them.  It inspires people to make a go of it and bet on their passion and enthusiasm.

And most importantly this is awesome because it means companies like Nintex can raise money and use it to build their business with new amazing products and solve more of the tough problems facing organizations with tools like SharePoint.

Enterprise software doesn’t have the glitz, glamour and absurd hype the consumer market has … but it does have boat loads of value.  Just look at companies like Yammer being bought by Microsoft, Box taking more funding than you can shake any reasonable length stick at & companies like Splunk and WorkDay are rocking along nicely in the enterprise space.

It’s outcomes like this one for Nintex that make our space an exciting one to be in and something we should all pause, consider and congratulate the Nintex team on.  Provoke loves Nintex products and we use them to help our customers everyday.  We can’t wait to see where their next adventures takes them and look forward to being a part of that journey for many years to come.

Congrats to Brett, Brian, Steve, Mike, Ryan, Alberto and the rest of the Nintex crew!!

-Chris.

Exchange online archive awesomeness

There are two kinds of people in this world when it comes email management:

  • Pilers (derived from pile … warning not a real word)
  • Filers

Pilers – just let their inbox grow to monumental size and rely on search etc… to find things.  There are loads of these people around.  Their inboxes grow to multiple GB and they never file or clear anything out.

Filers – once they read an email and do whatever they need to do they delete it OR file it in a folder somewhere. They rely on both folder hierarchy and search to find email.

I am a filer. I like having a folder for a particular project etc… I cant really say why … but it seems to work best for me.

Now to the point of this post 🙂 …

At Provoke we use Exchange Online for our email system. It rocks. MS look after it for us.  We get 4GM mailbox sizes.

4GB !?!?!? you might say … how on earth do you cope with only 4GB?!?!? That’s what I said. (That is about 1 yr of email for me)

In Exchange Online E3 you can get this nifty feature called an Online Archive.  It lets you stick all sorts of stuff in there and it doesn’t go towards your mailbox quota. 

I have 100GB of this archive which is awesome.

The other thing you need is a way to get mail into that archive.  Enter policy!

When you select a folder in your mailbox in Outlook you can tap the Set Folder Policy button:

image

And then set a Policy to move mail to the archive after it gets to a particular age.  Policies inherit so you don’t have to do this on every folder. 

Then you set the Online Archive setting to a time period after which you want to move email to the archive. In my case I like 6 months.

image

You access it via outlook or OWA just as you normally would.  It shows up along side your mail mailbox.

image

Another cool thing about this is that it frees up space in your offline mail store (OST) on your computer.  The Online Archive is online available online … not when you are offline.

No more email mailbox quota problems.  NICE!

-CJ.

Revisiting SharePoint development 6.5 years later…

Way back in 2006 I wrote a blog post entitled “Application Development on MOSS 2007 & WSS V3” that discussed the various options for building apps on SharePoint. It’s been by far and away the most viewed blog post I have written. As of writing its sitting at 140,000 views.  

The main point on writing that post 6.5 years ago was to provide a simple summary of the options available for development in SharePoint 2007. At the time those were:

  • Web Parts
  • _Layouts application
  • User Controls
  • ASPX pages added to a site with code behind

Towards the end of the post I summarized the choices in a simple decision matrix (below):

image

Now fast forward to 2013 and the new release of SharePoint 2013 … Most of that matrix still holds true albeit with a couple of minor tweaks. Back when I wrote the original post there was no support for SharePoint built into Visual Studio for example.  Today instead of the Smart Part (thx again Jan Tielens) you can use a Visual WebPart (which is a user control that is compiled down to a server control by Visual Studio, but which gives you the benefits of the visual design surface at design time, unlike a standard WebPart).

Given so long has passed I thought it was about time that I revisited the choices and took a look at what has changed in the last 6.5 years!

Before I go on, I want to reiterate that this is my personal opinion. Many of you won’t agree.  So this is really just a summary of the decision matrix I use in my head when evaluating the options and deciding on the best choice for the situation.

Evolution of the matrix…

Updating this matrix is a lot trickier now we have SharePoint Online where many of the pervious on-prem options don’t exist. e.g. no full trust code.

I went back and forth on deciding what my updated matrix would include. This took a while and, given I am a big proponent of SharePoint Online, I would prefer everyone think about designing their solutions with the possibility of moving to SharePoint Online in future.

Why?  Well in a recent internal email amongst developers here is what I said (some bit snipped):

Apps should be our first choice moving forward.

The reason is simple.  There is no future in Sandbox Solutions or Full trust solutions.

Notice i said “first” .. not only 🙂 When will Sandbox Solutions go away? Shortly after the new app model supports everything you can do in a sandbox solution. MS will deprecate it as fast as they can and then turn it off after giving  everyone a year to re-write their code.

Trust me, MS wants to kill sandbox solutions as fast as they can.  Same with full trust code. It gives SharePoint a bad name when SharePoint fails … even because of code someone else wrote and deployed to it.  The sandbox is too expensive to run in Office 365 and therefore will be shot. To be clear, the goal is to remove any 3rd party code running within a SharePoint process. Doing so will improve the security, scalability and reliability of SharePoint.

Now that might sound a bit harsh … and to be fair I was trying to be … but my point is the long term vision for SharePoint is to not host other peoples code.  The new app model might not be a perfect replacement today … but given time I’m willing to bet it will get better and support more of the things you can’t do today.

Then I went on…

For now we should be thinking Apps first … and augmenting it with sandbox and full trust only when needed.  Otherwise we are painting ourselves in a corner. This is most important for 365 solutions.  Still, 2 years from now we shouldn’t be having to explain ourselves to our customers for painting them into a corner where they can’t migrate to 365 or upgrade to the latest version of SharePoint because of our recommendations. Not good.

Don’t get me wrong.  I’m not saying “no sandbox” and “no full trust” … i’m just saying we should be leading with apps first and then backing in sandbox and full trust only when needed.

I like apps because they also mean we are not constrained to what development options SharePoint imposes like MVC or the latest improvements in the .Net framework.  Because your code runs remotely you can run it on anything you like. It could be PHP for example.

<mega tangent> PS: can we start a petition to stop calling the new model the “app  model” and call it something like the “remote code model” that “apps” happen to use. Then we can reserve “apps” for stuff that gets put in the Marketplace. I know this won’t happen but it would be nice 🙂 “Apps” was a bad idea IMHO.</mega tangent>

Back to the matrix…

After going back and forth on it for a while I came to the stark realization that a matrix was no longer required.  Dev has got simpler for a change!

So here is my new “matrix” … or the “Decision List 2013 edition” as I am now calling it:

  1. Design Manager package (on-prem or online)
  2. App for SharePoint (on-prem or online)
  3. Sandbox Web Part (on-prem or online)
  4. Full Trust Web Part (on-prem only)
  5. Full Trust everything else (on-prem only) (_layouts pages etc…)

It’s pretty straightforward when you think about it.  Start with the lightest touch possible and only step down to the next heaviest when you have to.  This might seem screamingly obvious, but it would surprise you (or not) how many developers jump for the most heavy weight option first because it’s the most powerful and they don’t have to think.

Further more option #2  above can be further expanded to:

  1. SharePoint Hosted App
  2. Provider Hosted App

You may notice the absence of the Auto Hosted app type above. This is the option where you package your application and SharePoint will automatically host the application code for you in Azure. Reasons for this are simple A) its not available (yet)  B) it’s horrid (my opinion).  Auto Hosted apps code runs in Azure space managed and controlled by SharePoint Online … not you.  I hate the thought of having to support code running in a location I have no control over and no visibility.  For example, unable to see what is going wrong when a customer calls asking for support.  For the small price you pay hosting in Azure directly via the Provider Hosted model you will reap payback many times over when you need to upgrade your app and or diagnose a support issue and can’t tell what is going on.

Summary…

Regardless of your like or dislike of the new app model there is one thing that is clear … at least to me anyway. That your code will not live inside the SharePoint process in the future. For me, that means thinking about how to start designing solutions with this in mind as to not inadvertently painting yourself into a corner that is costly and painful to get out of.  Sure, there will be situations today that mean you have no other choice to use some sandbox and full trust code.  But …

My words of advice are simple.  Think apps first and fall back to heavier options if needed.

This way over time as the new app model gets better and becomes the starting point for all SharePoint development you will already be ahead of the curve and will have an easier path to the cloud when your customers are ready.

+ ask any developer if they would rather be using MVC, Razor, SignalR etc… my bet is they say “yes”.

-CJ

New Release: Office Developer Tools for Visual Studio 2012

I vividly remember penning the blog post announcing the Visual Studio Extensions for WSS (VSeWSS 1.2) .  Love them or hate them VSeWSS was the first MS foray into integrated developer tooling for SharePoint developers.  In all honesty VSeWSS was a skunk works project started by some folks in the SharePoint and SPD engineering team.  I inherited them when Alex Malek moved to the IE team.  For the 2010 release I worked pretty closely with Mike Morton from the VS team on what became the SharePoint tooling that you see today.  I am sure Mike and team hit their heads on a wall with the number of times I said we needed features like a content type and list visual designer vs. just XML.  We literally had a feature list 100s of items long and only resources to do ~30 in the first version. We eventually got the list designer a release or so later 🙂

Now we have the next major iteration of those tools that have just released for SharePoint and Office 2013!

Read the announcement here:
http://blogs.msdn.com/b/somasegar/archive/2013/03/04/now-available-office-developer-tools-for-visual-studio-2012.aspx

Randall also has a write up on them here: http://blogs.msdn.com/b/officeapps/archive/2013/03/05/download-the-office-and-sharepoint-visual-studio-tools.aspx

They come complete with fancy colored icons in the new project picker!  (the preview was grey scale). I laugh … but the grey pissed me off for some reason.

Personally I love the mention about Continuous Integration workflows and new debugging features with service bus … and looking forward to getting my sticky hands and playing around some more.

Get them here: http://aka.ms/OfficeDevToolsForVS2012.

Great work @chakkaradeep!!

-CJ.