SharePoint Joinery

clip_image002One of the challenging things about working with wood is learning all of the different ways that wood can be joined together. As I said a few weeks ago, it’s not like you can weld it. Joinery is fascinating, labor intensive and meticulous work. The goal is to maximize the surface area for glue and if possible, include a mechanical connection for added strength. I know how to make almost every type of joint, but sometimes I cheat.

If you look at the picture to the right, you will see that it features an interesting joint. With a little fancy cutting, I can create the illusion of a door and a face frame in what is really a solid panel. But, if you look down and to the right, you’ll see a pocket screw.

Pocket screws are a wonderful little cheat. No fancy cutting involved. Drill a hole by running a special kind of bit through a jig, add a bit of glue and whirr whirr whirr, screw the thing together. Fast, easy and ridiculously strong, they only feel like cheating to the guy who knows how to cut the other kind of joints. Email is the pocket screw of SharePoint (see, I do know which blog I’m writing).

Apparently, the fitness freaks in our Human Resources department want us to get healthy. We are going to have an exercise contest where we will form teams, count steps and track calories and the winners will get something like a gift certificate at Dick’s Sporting Goods. Personally, I think that’s like dieting in order to win a case of Tofu, but that’s beside the point. The point is, they want to track this all in SharePoint, which is very cool. Even better, the young woman running the contest wants to build the tracking solution herself. Now that’s exercise I can support.

She will be using a couple of custom lists, some connecting gear and a widget or two:

Team Members – I.E. those of us inclined to walk, run, bike, swim or climb our way to a healthy heart.

Teams – Because some people need a better reason to exercise than living longer. For those people, we introduce peer pressure and the fear of letting your friends down.

Steps – Who, when and how many.

Workflows – She has one that enrolls a person onto a team, and one that adds an individual’s steps to the team total.

Widget – Sooner or later, she’s going to want to make this pretty.

Before we get to making this pretty, she wants to make it easy. I like that. SharePoint should be easy. The problem is that she wants us to walk every day! If we have walk on Saturday and Sunday, we have to have a way to record the steps. We have several:

VPN – Fire up your laptop, connect with VPN, go to the SharePoint site and enter your steps.

Mobile Browser – She’s going to make a nice looking mobile version of the entry page and we will publish that through the MaaS 360 browser. That way, people with iPhones or iPads can enter their steps without having to log in. That’s easy.

Email – Email? Yes, email. SharePoint can receive email. SharePoint workflows can “read” emails and I can enter my steps in a dirt-simple process.

To: TheSharePointLibraryAcceptingSteps@ourDomain.com
From: Me
Subject: Steps 06/01/2014 12,500

I’m going to walk a lot in June.

clip_image004That’s easy to do, and with the help of those HarePoint Extensions for SharePoint workflows, it will be easy to build. HarePoint is like the jig that helps me angle those pocket screws into position.

We use email in several processes where connecting something to SharePoint would otherwise require the equivalent of a hand-cut dovetail. For example, we have a process where SharePoint needs to know about a status change that results from a SQL Server stored procedure. Connecting SharePoint to SQL Server is possible, but running workflows on External Lists is not – the data isn’t in SharePoint. Fortunately, SQL Server can send SharePoint an email and we can read that email.

Of course, SharePoint can send email too. So, if one of our employees doesn’t include enough information on the subject line of that email, our workflow can write them back:

Yo, Stepper. We’re thrilled that you’re getting some exercise, but we do need three things to make those steps count. Please include the word ‘step’ (or steps, or Steppenwolf), an mm/dd/yyyy formatted date and the number of steps on the subject line of your email. They can be in any order, but we need all three.

Thanks,
Step counting robot

Sure, there are other ways to connect SharePoint to the rest of the world, but email works well enough in this case. People like email. People understand email. People can send email from almost anywhere using almost any device. Besides, the goal isn’t to show off our SharePoint prowess, the goal is to make life easy. I think I’ll go walk me some steps.

It’s Alive

iPad Screen shotWell I guess the phrase is actually “it’s now gone live” but that just doesn’t invoke the same emotional response. We have a business process that is now partially running in SharePoint. Even better, the right portion is running in SharePoint and the stuff that shouldn’t be in SharePoint is running somewhere else.

The business process is “payables” – something everybody has to do but something most people do differently than we do. See, we’re small, we don’t have a lot of vendors, we don’t have a complicated (no you can’t have that) procurement process and we don’t have a receiving dock. We buy things. We hire contractors. We incur professional fees. We refund premium on occasion and we reimburse people for things. We do this a bunch of ways. We have Concur (shudder and cue the foreboding music) which I actually kinda like. We do ACH transactions. We do wire transfers and we write checks. We also periodically reimburse people for small purchases with something called cash. I’m sure some of the younger readers are Googling that term.

The payables process, in addition to resulting in many financial outcomes, begins with a variety of financial transactions. Eventually, we will lasso all of these transactions and pull them into the same ring, but we decided to start with Check-Requests and checks. The process is pretty simple. We buy something from a vendor. They send us an invoice. We send them a check. In between step 2 and 3, someone studies the invoice, makes sure it’s legitimate, prepares a check request and then somebody else approves that request. That whole process, the stuff between step 2 and 3, is now done in SharePoint. Below are some of the cool things we (remember ‘we’ now means ‘they’ and stands for the shy people on my team) were able to include:

  • Maintaining a list of vendors that are automatically checked to make sure they aren’t on the US Treasury’s list of bad guys, and then approved by someone in authority in accounting.
  • Create a check request for an invoice(s) from an approved vendor.
  • Attach the image(s) of the receipt(s) to that check request.
  • Allocate the amount of that/those invoice(s) across multiple departments or multiple accounts within a department. For example, I buy a server, but some portion of the invoice is for the warranty.
  • Route the check request to one or more people for approval.
  • Do all the little checks and balances like making sure that the total of the allocations equal the total of the request.
  • Approve individual check requests for payment.
  • Allow the approvers to send the request back to the previous person to correct an error.

The tools used to make this happen include:

  • SharePoint external lists and the ability to impersonate users when working with them
  • InfoPath forms
  • Custom lists and views
  • Data View Web Parts to put the forms, lists and view on a single interactive page.
  • SharePoint Designer workflows to respond to the various activities a user did and to validate the transaction while it is in process
  • HarePoint’s Workflow Extensions to do some of the tricky stuff that SharePoint Designer doesn’t seem to do, like execute SQL Statements or use Regular Expressions to evaluate a sting.
  • Nintex Workflow’s “for each” capability to cycle through each Paid request in an external list to update our detailed custom list with the payment details.
  • All the various widget to widget connections you can establish in SharePoint Designer to get web parts to respond to other web parts.

We decided to use InfoPath instead of other techniques because we wanted a more functional form with less code buried behind it. I’m not sure that we saved on the coding effort, but I like the mix we are left with. We are trying to stay very close to the level where we can establish the action we want by “configuring” parts instead of writing code. It’s a fine-line kind of balancing act, but it works for us.

This just in, yes I know that Microsoft has put InfoPath on the short-line track to obscurity, but it will be around for a while and I feel that we risk very little by using it the way we do.

The reason I said that the right stuff is and isn’t running in SharePoint is central to our use case for having SharePoint and it is something that I think people often overlook – SharePoint runs in a browser. By building the front-end of this application in SharePoint, I can let people who are traveling submit invoices to be paid, approve payment requests and manage their budgets without having to write any web stuff. Also, since we have that Mass360 browser I talked about, I can approve payments on my iPad without a VPN connection.

The stuff that’s not running in SharePoint are those back-room accounting processes that nobody sees and everyone is content just knowing that they get done. Nothing to see here, move along.

Platform Jacking

I first heard the term Newsjacking used by David Meerman Scott. In fact he may have invented the term. That doesn’t surprise me. I have heard David speak several times, and he has been so far ahead of the curve that the future appeared to be a straight line.

I hope that’s enough homage to @dmscott for him to look the other way as I borrow his term and mangle it. I simply couldn’t think of a better way to describe what happens when a company moves in to exploit a hole in what should be another product’s / company’s domain. Think about the way Google stepped into fill the void Apple left when they decided to stop using Google Maps (in favor of their not nearly as accurate maps). Now, instead of Google being passed by, this may have evolved into a normal competition, but that’s a subject for someone else’s blog.

Microsoft, in my opinion has been jacked on at least two (maybe 3) occasions. OK, here’s the difference between me and David Meerman Scott and my blog and a blog written by an analyst – ‘my opinion’ is based on my experience and that’s all. Here are my three candidates:

MaaS360 – Back in the days when we were eagerly awaiting the first beta of SharePoint 2010, I was listening to a presentation by a Microsoft employee who suggested that one of the features of SP2010 would be a way to tunnel into SharePoint without VPN – Something Microsoft does with both Exchange and Lync via an edge Server. Those two features were a tremendous boon to our operation, and left most of our employees not even needing VPN connections on their laptops. If we had that ability for SharePoint, I could forget how to spell VPN, but we don’t. Once again, if we actually do, please explain it to me in a comment and I’ll buy you a beer if we ever meet in person.

Anyway, what I don’t think Microsoft does for my laptop, they clearly don’t do for my iPhone or my iPad – but MaaS360 does. If you’re not familiar with MaaS360, it’s a mobile device management app which allows companies to control mobile access at a very granular level. In addition, there is the MaaS360 Browser that talks to its counterpart server and provides seamless access to SharePoint from my iPhone. We are now planning to build out a collection of nice mobile pages so our employees will have access to SharePoint from their iPhone/iPads without VPN.

Harmon.ie – By far the best example of filling a void is Harmon.ie, the product that fills the chasm between Exchange and SharePoint so brilliantly that I no longer want Microsoft to build the feature into either server. Harmon.ie’s product is so cool, and so robust that I needed a term like Platform Jacking to describe it – some of our employees literally work out of Outlook and the Harmon.ie sidebar as if SharePoint doesn’t even exist. SharePoint, in these cases has simply become the invisible conduit to the even more invisible SQL Server.

I’ve written about Harmon.ie before, but a reader recently asked me to review Harmon.ie’s iPad app. OK, so we have to go back to that whole “not an analyst” thing. Giving a review sort of implies that I know something about Harmon.ie’s competitors – I don’t. Someone on my staff used to, but then we purchased Harmon.ie and we stopped caring about alternatives. Here are a couple of reasons why we still don’t care:

Harmon.ie works – You might be surprised to hear “it works” used as a differentiating statement for products, but it can be. Some products don’t work, or they don’t work as advertised. Harmon.ie works, and if you every find and area where it doesn’t, they will fix it fast.

Harmon.ie fills many holes – Harmon.ie started by filling the hole between Exchange and SharePoint and Lotus Notes and SharePoint. Then, they released Harmon.ie for the iPad and I had a way to connect my Exchange email with SharePoint on my iPad that looked and felt very similar to the way I connect these two essential products on my desktop. Now, I see that Harmon.ie has been released for the OWA client for Office 365. These guys are always one step ahead of demand.

WebEx – I recently received a new laptop at work. Somewhere during the lifespan of my old laptop, we switched to WebEx for hosting public meetings. Check out the picture at the top – That’s from my desktop, and WebEx has attached itself to my Lync client as if to remind me that Lync doesn’t work so well for public meetings. WebEx is jacking Lync right on Microsoft’s front lawn.

Why I Bought an iPad

clip_image002Less than year ago, before the iPad had actually been released, I wrote about why I would not be buying one. Of course I wanted one, but the problem with spending someone else’s money is that you can’t give into compulsive shopping behavior patterns or marketing hype – there has to be a reason. Good reasons include: “we need the technology” – we don’t; “this is a solid trend and now is the time to get on board” – it might be, and it might be; “it will save us money” – hmmmm. At first, I didn’t think there was any way an iPad could save us money but now I think it can.

Most of the people that my department supports are currently working off of laptops. We buy some of them laptops so they can work at home and we buy some of them laptops because they travel. We don’t just buy them a laptop; we buy a docking port, an extra A/C adapter, monitor, keyboard and mouse. For most of the traveling folks, we spend a bit more to get them a powerful, yet lightweight laptop. It is numerically possible to buy those people a desktop PC and an iPad for slightly less than a laptop. I am not talking about windfall savings, but a savings nonetheless. Even a small savings, coupled with the other benefits that an iPad brings to the equation, could swing this decision. What other benefits?

It’s Cool – Usually, “it’s cool” is not a good reason, but in this case, that translates into the fact that I am giving my users something they think is cool. That’s huge, and in the IT world, that rarely happens. I have made a career giving my users things that let them work longer hours, from distant places and stay in touch with people they might otherwise enjoy a break from. On top of that, they have to lug most of those things through the airport and on the plane with them. Last time I checked, iPads, go through security without having to be removed from your bag.

It’s Secure – Oh, I am sure someone will eventually find a way to make Apple regret allowing even the hint of Flash-based apps on the iPad, but even with that threat looming, the iPad is way more secure than a laptop. Security is two benefits in one. First, the traveler is less likely to be rendered incapable of using the device while on the road. Second, and more importantly, we don’t have to repair the unit upon its return or diagnose and repair on the road.

Likes and Dislikes – I did buy an iPad, so I could research these possibilities, and so far, I like what I see. I think it will work for many of my traveling users, but it won’t work for all of them and I’m not sure it works for me. It works for the people who are tied to email and who need to read documents, see the results of spreadsheets and review presentations. The people that actually have to write, edit and prepare those documents are going to want a laptop. Documents to Go is decent, but it doesn’t connect to SharePoint (or even Office Live for reasons I don’t understand) so there is at least a three-app process involved to create/edit and share. A three app combo on the iPad is like a three-cushion bank shot in pool, it’s unlikely most people are going to bother to make the attempt.

As for me, I can connect to our Internet facing SharePoint site, and I can use VPN to connect to our internal site. I can create documents, store them locally, use an app to upload them to SharePoint, use a SharePoint service to turn them into a PDF and… well, actually, I haven’t quite figured out the best way to email that PDF without downloading it again. Even when I crack that last little bit, I’m not sure it’s worth it. On the other hand, I can connect to my desktop over RDP and do practically anything on that box from my iPad. It’s a cumbersome connection that works well for a geek like me, but I won’t be convincing any of my users to put up with it. But hey, this is iPad v1.0 and I know it’s going to get better. Apple seems driven to play in the enterprise, Microsoft (should) want Apple to succeed more than Google and I have a goal for 2011 of developing an iPad app. If this truly is a trend toward my future, I am going to get ahead of it.