Proximity Revisited

imageEarly in the life of this blog, I wrote several posts about ‘proximity’ and how important that attribute is to the user experience. I was recently reminded of that fact, and I realized that I my previous examples were too limited.

I was talking about designing a home page or a site page with all the appropriate web parts and without any of the inappropriate web parts. So, if you need to see a task list and a calendar, both of those should be represented on the page, not just sitting over in the quick launch area. Conversely, if you don’t want to have a picture on your site, then you should delete the one of those pretty people.

I also mentioned proximity in association with building dashboards. Having everything that you need being available at a single glance is the key benefit of a dashboard, so I guess my emphasizing proximity wasn’t much of a revelation. I also talked about proximity in terms of business process automation. As our engineers work though the recommendations resulting from their inspections, we tried to give them a view of each recommendation’s life-cycle that was meaningful.

It sounds like I covered all the bases. But, you know that I’ve never written a blog post with less than 250 words, so I must have missed something.

Earlier this year we built a payables process in SharePoint. People can select a vendor, enter a payment request (invoice) and spread that invoice around (allocate) to all the various GL accounts that are affected by it. For example, when we buy a new laptop for someone, we might buy them a case. Those are different types of expenditures.

I have always looked at accounting from a “money in” or “money out” perspective but our accountants seem to be in agreement with my Management Accounting professor – you have to pay attention to stuff like this.

Anyway, the system does all of that stuff reasonably well but there are a few things that the accountants wanted it to do better. Fortunately, one of the women in accounting is also working part-time with my team. One of the things she told me that they want isbetter views of the transactions at all of the various points. They have a view that shows payment requests that are pending, requests that still need someone’s approval, payment requests that are approved but not processes, as well as requests that have been paid and requests that were voided. Seriously, money in / money out works a lot better.

When I sat with her to find out what they wanted, Iimage experienced that old familiar feeling. The presence of that gap – the gap between what people can imagine and what they can’t. In this case, that gap separated the end users from what we SharePoint folks know as Data View Web Parts. As we work together, we are bridging that gap.

She said that they need more detail in the view(s). When I asked “why?” she said “sometimes, we need to know things about the vendor, or we need to know what GL accounts had been affected by this payment.” That made sense, except for the “sometimes” part. I don’t like views that show things that are only needed sometimes. I prefer views that show what you need ‘all the time’ but can be made to show what you need ‘sometimes’ on demand.

I wired up a imagelittle example of one view with the addition of two Data View Web Parts. One web part contained more detail about the payment request and one contained more detail about all of the allocations. I connected those web parts – OK – I really want web part to be one word…webpart, why can’t we just call them webparts – Sorry, I just had to say that. I connected those web parts to columns in the view. SharePoint easily let me show those columns as links, and now when they want the additional detail, they can click on the link and populate the web parts. If they click on the payment request ID, they get its details and its allocations. If they click on the amount, they just get the allocations. Easy-peasy.

To keep all this stuff proximate, we also have to constrict the original view by limiting the number of rows it contains. Most people hate paging, so I gave her an array of options to consider. All Payments, All Payments This Month, All Payments this Quarter, and then of course, this year, last year, etc. I showed her how we can set the page limit and how we can dynamically filter the list to render things like All Payments for a specific vendor. Then, I gave her a homework assignment – go back and sketch out the perfect view. Next week, I’m going to help her build that perfect view. Maybe then I’ll have a better illustration.

As Easy as 1-2-3

clip_image002Last week, I talked about how we built a prototype site in order to demonstrate some of the features we were thinking about using in a project for our legal department. The prototype site was well received, and even though we’re going to delete it pretty soon, it was worth building. In addition, it didn’t take that much effort to build. Part of the reason we were able to build the site so fast is because SharePoint is designed to be built fast; let’s face it, that’s one of the reasons we bought it. The second reason we were able to work fast is because we used a few of the tools we have bolted onto SharePoint. I’ve talked about each of these before, but it’s summer so I think we can stand a few reruns. Here are three of the things we have added to SharePoint that I am happy to have:

Muhimbi PDF Converter – This product not only lets our users convert Office and a wide variety of other documents to PDF from the library drop-down menu, we can call on these services from a SharePoint Designer workflow. The best part is that last little bit about workflows. We can save our coworkers the time it takes to create the PDF, but we can also manage the process. That means that we can put the PDF in the library it belongs in, and because we can kick the workflow off when an item is uploaded or changed, we don’t have to worry about people forgetting this important step.

SharePoint Classifier – We added this product from Boost Solutions last year. Working from an intuitive interface, this lets us bulk edit metadata for a large number of selected or uploaded files quickly. We can set metadata to a specific value across the entire group or we can skip through the list of documents, setting some bits of metadata to a single value but setting others to unique values. We used this to quickly populate the demonstration libraries on our prototype site. Classifier can also copy or move the selected items from one library to another, set tags and check the documents in if necessary.

Lightning Conductor – This is our most recent add-on, but it’s one that I am really going to enjoy using. One of the features we wanted to demonstrate was the ability to pull items together from the various libraries based on certain metadata. The example we used was to show all the documents that had been tagged as the “Current Version” in a single web part on the main page. This illustrated a critical capability that our users wanted, the ability to store documents where they belong, but present them as if they are in the same place. What I like so much is the fact that we configured the web part in a matter of minutes.

These tools make SharePoint easier to use and much more powerful by augmenting the inherent strength of SharePoint’s out-of-the-box power. Whether our users are working directly with these tools or asking us to configure a solution for them, these (and other) tools are saving us precious time.

Lightning Conductor Web Part

New Haven RailroadA while back, I suggested that I wasn’t worried about the changes that Microsoft was making / has made to SharePoint because the market would come to our rescue. The pronoun here is referring to those of us who had gotten used to wiring up Data View Web Parts and customizing pages in SharePoint Designer. The collective changes in SharePoint 2013 will make building those solutions a different exercise and one that brings us closer to programming than my staff wants to be. I’ll save until later the philosophical debate(s) around whether script-coding is programming; whether programming is evil and to be avoided or a necessary skill that should be required, and whether JavaScript is the official language of the new world order and we should all just suck-it-up. Today, I want to point out one vendor that has stepped into the role I outlined last October.

We have been previewing the Lightning Conductor Web Part from Lightning Tools and I am happy to report that it looks like it can easily help us provide one of the solutions that we used to turn to XSL to provide – the custom view of data from places our users don’t want to go. OK, it’s not that they don’t want to go there; they just don’t want to be on the road forever. The people using SharePoint in our company don’t really want to use SharePoint to conduct business; they want SharePoint to work for them. We made a promise to those people years ago when we (Information Services) chose SharePoint; we said that we would invest time and budget into making SharePoint easy to use. I take that promise very seriously. If I start telling people “you have to learn a lot more about SharePoint in order to have it help you with that task…” I’m practicing bait and switch. This new tool is pretty cool, and it appears to be a really good use of my budget. So, what does this tool actually do? Well, I can’t describe this any better than the Lightning Tools website, but here’s what we like about it:

Using the tool, we can quickly put a web part on a page that aggregates content from multiple libraries on the site, from within the site collection, from within multiple site collections or from across our entire farm. We can filter this content, we can sort this content and we can decide what columns to include. We can do all of this from within the browser, without opening SharePoint Designer and without even leaving the page that we want to put the web part on. Configuration is fast, and the results are immediate. And, if we screw it up, we can simply delete the part without having messed up the entire page.

For example, we will be able to gather policies, underwriting correspondence, inspection reports, engineering metrics, previous claims and presentations given to any one of our customers, on any page on our farm. These documents (someday will) all reside in the sites where they belong, but I (will be able to) pull them together – without waiting for a search to complete – wherever they might be useful. Parenthetical expressions aside, we already have content in multiple locations that needs to be aggregated to be more useful.

Of course there are a lot of other ways to accomplish these tasks. I have watched lots of people demonstrate various techniques at seminars and, inspired by those demos, I urged my team to learn these techniques. These days, I want my team building solutions. I want them to show off their content and information management prowess, not their syntax skills. The people on my team can imagine great solutions by merging their understanding of SharePoint, content management and the unique attributes of our crazy little business. If I can buy tools like this to let them quickly build what they can imagine, it seems like a good move.

I think we are moving forward with this purchase We just purchased this product! We had a few questions during our evaluation, and they were quickly answered by the responsive service group at Lightning Tools.

Let me dwell on that last thought for a second. I love it when a vendor lets you work with the actual technical support group during a sales evaluation. Not only did we get our answers, we were able to evaluate the support as well. BTW, the support is as good as the product.

The Lightning Conductor looks like a nice fit for us, but I’ll fill you in on our actual experience after we put it to use. Maybe I’ll get one of my team members to write about and I’ll get a week off – this is sounding better and better.

SharePoint FM

clip_image002I spent my freshman year at the University of Georgia (go Bulldogs) and thanks to some friends on my dorm floor, I was able to visit some beautiful parts of that state. Once while driving around some desolate south-Georgia back roads, we stumbled across a Pirate game on the radio. I recognized KDKA AM 1020 Pittsburgh immediately by the announcer’s voice. We could hear that game in Georgia due to the ability for AM radio waves to skip across the planet, bouncing off the Ionosphere. FM radio waves, due to the different way they propagate, are limited to line-of-site reception. Hmm, if this is an analogy to SharePoint, wouldn’t I want to be AM? No; we chose an FM model because it’s more narrowly focused, but capable of delivering a higher quality signal (think classical music vs. political talking heads). If we extend this analogy just a little closer to the breaking point, we like operating in a narrow band of the “development spectrum” within SharePoint so we can:

Focus on Quality – This is very important to my team. We don’t want to simply be a company that uses SharePoint; we want to implement Content Management in SharePoint. That requires adherence to the standards and best practices associated with ECM, not just the creation of a bunch of libraries. In addition, we want to improve the business process associated with the creation, use and distribution of the information that we store in SharePoint. In the current project that I’m working on, I have worked with the owner of the process to build a better way of entering data, segregating data and presenting data for review. In the course of defining the requirements, we are expanding the use case from one where we keep track of stuff to one where we keep track, manage, analyze and share this stuff with our coworkers and our customers.

Stay close to home – We keep our solutions close to “out-of-the-box”, because we want our users to be able to understand, combine, extend and reuse the work we’ve done. We also don’t want to invest too heavily in development because we have better things to be developing. No offense to ECM, but out-of-the-box SharePoint can look pretty good, and if it’s easy to use and satisfies the customers, we don’t need to make it overly snazzy. Plus, I keep coming back to the notion that, in using SharePoint, people learn how to use SharePoint, and that knowledge is cumulative. I have also found that my coworkers are more interested in how the solution works, than appearance. I think there’s a fine line between adding functionality to have the page look tricked out and modern, and adding functionality that improves the user experience – we’re working hard to find, but not cross that line.

Be a wee bit anal – I know that some of you might be asking “why not just let your users develop their own solutions from the ground up?” The answer is simple and a bit selfish; I don’t want to join some friends of mine who have been left with half-finished or half-baked SharePoint solutions when some department level guru decides to leave. I want our solutions to be documented. I want to know what needs to change if we move the solution to a new server, or to our Internet-facing farm, and I want to be able to maintain the “systems” that our employees have come to rely upon. I also want our solutions to follow some standards. For example, where we have managed metadata in use, I don’t want to see a solution that is using a Choice column that has (at the moment) the same information as what is in the term store.

The system that I mentioned above organizes data from a series of inspection reports and follow-up meetings in three related lists. In order to review that data, we built a Web Part Page that contains about 5 Data View Web Parts to pull the related bits from those lists and present them in a useful format. To setup the page, we pass a bunch of parameters in with the URL. For example, based on source parameters, the page can be grouped by Facility, or by Engineer, or by Category. We construct those URLs in a workflow and store them with each item in the master list so they can be exposed as links in a wide variety of views. The Facility link, for example will configure the page to be grouped by Facility. We could have just built a second DVWP page to drive the sort and filter process and then build the URL on-the-fly, but that would put us in maintenance mode. SharePoint Views look pretty good, and many of our users can build them. Letting them add the URLs to their own views, lets them extend our solution. It’s still a line-of-sight system, but it has a little better reach.