Archive for App Development

Distributing Application Functionality with Snaplets

This week R3 Business Solutions released v2 of its Time Off Management app and its Budget Change Request Management app.  Both include a set of Snaplets to enable organizations to distribute key pieces of each application across the SharePoint environment, in order to make work convenient for users.  Snaplets are web parts, based upon a special central configuration enabled by CorasWorks, that make them distributable with full fidelity.  This enables you to distribute application functionality to say 20 places across an environment, but, to be able to make one change in a central place and all 20 instances of the Snaplet Web Part are updated.  In this article, we provide an overview of Snaplets and three videos that cover the business benefit, how to distribute Snaplets, and how to centrally customize them once they are deployed.

A Typical Scenario for Snaplets

People are adding business apps to their SharePoint environments.  They drop the app into the environment somewhere such as in a department site collection.  In order to use the app, users then navigate to the app and do their work.  This is how we historically have thought of apps – you go somewhere to use them.  However, in the broad, distributed work environment that is SharePoint, in many instances there is a better way.

Let’s look at a Help Desk app.  You could drop the Help Desk app into the IT Department Site Collection.  In general, Help Desk engineers use the app.  Historically, our engineers spend a lot of time doing data entry of new requests and fielding calls and emails about status.  So, now we tell users that they can go to the app and enter their requests.  What we find is that the users don’t do this, because it is inconvenient, thus, the engineers continue to do data entry and respond to status inquiries.

Enter the Snaplet.  The CW Help Desk apps use Snaplets.  You simple snap off the end-user, self-service UI, and distribute it to all of the locations where users could possibly work.  From there they can see their Requests: new ones, old ones, and the status.  From there they can enter new requests and pop off emails to assigned engineers and make comments etc.  Their work, from wherever they work, is connected to the app.  What you find is that users start to enter requests because it is convenient.  They reduce separate emails and calls to the Help Desk because they can see the status in real time, wherever they work.  This is a typical example of the productivity benefit of distributing application functionality across the SharePoint environment.

Below is a schematic of how this actually lays out.  In this example, we have two apps, the Help Desk in the IT Dept and a Time Off Management app in the HR department.  Both are good examples of apps where distributing the functionality to where users work makes sense.  The Green and Red dots show where the apps’ Snaplets are distributed to. So, you have Snaplets for both apps distributed to 4 department dashboards in their own Site Collections, to the Portal, to an Employee Services Console (where they self-serve), and to Personal Consoles such as their My Sites (people can self-service and drop the Snaplets into their My Site).  You distribute the end-user self-service Snaplet.  But, you may also distribute Snaplets for Management Reports and Snaplets for Review and Approval.  Any functionality in the app can be converted into a distributable Snaplet with full fidelity.


Technically, how do Snaplets Work

All apps built with CorasWorks have displays, views, forms, and actions in some combination.  So, when you go into an app, the user has a typical app UI.  Any UI in CorasWorks can be converted into a Snaplet for distribution. This is done by creating a Snaplet web part.  The Snaplet “encapsulates” all of the functionality of a particular UI display of an app. It is a connected, extension of the app.   It is created by using centrally configured capabilities driven by point-and-click builder wizards: Central Views, Central Actions, Central Forms and Global Links.  To the user, there is no difference between the UI within the site of the app and the UI that is available via the Snaplet – this is what we mean by “full fidelity”.  In addition, once you create the Snaplet it can be used within the app as well as being distributed.  The key is that the Snaplet is centrally configurable.  Imagine you have a Snaplet for end-users to manage their Time Off requests.  You want to add an action so that end-users can fill out a custom form for Time Off requests for personal days.  You just add it centrally in the app and any instance of the Snaplet now has that capability.

Video 1: Business Productivity through Snaplets – Self-service Help Desk (6:52 minutes)

In this brief video we will show you how Snaplets are used to distribute the end-user self-serve functionality of the CorasWorks Help Desk and show you how they add business value by putting functionality at the fingertips of users where they normally work.

Video 2: How to Distribute Snaplets – Time Off Management app (7 minutes)

In this video, we’ll show you how easy it is to distribute Snaplets using hte pre-built Snaplets that are part of R3 Business Solutions v2 of the Time Off Management app.

Video 3: Central Customization of Snaplets – Business Links as a Shared Central Resource (7 minutes)

In this video we’ll show you how to customize a Snaplet that has already been distributed.  We use a business links “central resource”. 


Most of us are familiar with business apps.  And, we are familiar with the distributed, collaborative environment of SharePoint. CorasWorks Snaplets and the capabilities that drive them, make it possible to have the best of both worlds – the structure of business applications with the ability for people to work wherever is most convenient.   The result is increased business productivity with a minimum of maintenance.  The best part is that it is very easy to do by leveraging CorasWorks Builder Wizards.



The Power of the Perfected 80% Solution

Sure, we all want exactly the right app for our needs.  But, our needs today are usually not the requirements of next month.  People change, processes change, needs change.  So, does it work to buy the “100% solution” today?  Let’s explore how CorasWorks Apps on SharePoint are really designed to be a perfected 80% solution.

The CorasWorks App Store is filled with off the shelf apps.  Each can be put to use immediately and has extensive documentation.  This applies to apps from CorasWorks and independent publishers.  You’d kind of think that what you are getting as a 100% solution.  I guess that is true at the start.  But, the reality is that they are designed to be the perfected 80% solution.  Now, in the software industry, the “80% solution” has had a bad rap, meaning that really what the vendor is shipping is just short on features and then the customer actually has to spend lots of money to custom build what they really need.

Our approach is different.  It is a solution for the perfected 80% solution that actually addresses the downstream 20% by design, in advance.  And, this is actually even more valuable.

To me, this is what makes the perfected 80% solution for apps on SharePoint:

 First, it seems to be all there to start.  It works out of the box and addresses a single need – cleanly.  The core design is complete and the documentation makes it easy to be a user.  It feels like 100%.  But, think of it as the base…

 Second, it is easy to customize.  You can have it your way.  It is easy to do things like change the color scheme, add, remove, or rename fields, shows different columns, change their displayed labels (surprisingly just missing in most apps), pre-filter, add conditional formatting. etc..  This is the typical province of the customization part of most apps that profess to take you from 80% to your 100%.  But, with CorasWorks it is truly easy to do, supported by a very rich set of options, and, it is just the beginning of YOUR 100%. 

 Third, you get to add your own features.  This is where our 80% solution rally breaks from the app pack.  At the start and over time, you want to add features that aren’t in the app.  The fact is that your 100% solution changes over time – it is a moving target.  Imagine using or any app and you want to add new features.  These features are completely new, maybe even using completely different information.  Can you do it in a few clicks?  With CorasWorks you can. Here are some examples:

-  Example 1: You are working on projects.  You want users to be able to select all of their tasks done for a week, mark them complete (changing 3 fields) and then email the project manager.  You want them to do it in one step.  With CorasWorks, you just create an Action and add it to a display.  Instant productivity.

-  Example 2:  You want to be able to take documents from one or more workspaces and publish them into a “Knowledge Base Review Process”.  Just create an Action and add it to your Workspace template.

- Example 3: You are a marketing manager.  Your users work on marketing campaigns where they subcontract vendors.  You want to add a shared resource to the environment that shows pre-approved vendors and contact information.  This is configured in one place as a Snaplet.  Then, the Snaplet web part is dropped on a tab in any project or added to your project template. Instantly, everyone sees the vendor information from within their workspace.

The ability to add new features is really the kicker for the perfected 80% solution.  You are in control of the app and where it evolves to.  Example 1 is a feature that enhances the app to increase end user productivity.  Example 2 is a feature that connects workspaces or apps across the environment.  Example 3 is a feature that creates a centrally configured, shared resource and allows you to distribute it across the environment.

Each of these is done easily, using point & click wizards.  When you create one feature for one app, you can then reuse this feature to add to any other apps (point #4, added features are re-usable).

 So why is 80% better than 100%?

Because at the start, you don’t know what you don’t know.  The perfected 80% solution actually incorporates by design the necessary flexibility and ease to customize an app and to add (or even turn off) features.  It has a vast set of options, that are easy to do, and manageable as part of an environment.  Any app dropped into a SharePoint environment that is really useful will end up being connected with other apps, portals, dashboards, workspaces, consoles, etc.  They simply should change as your people learn ways to work better together.  With the perfected 80% solution from CorasWorks and our independent publishers, you can get to and stay at YOUR 100% solution even as your needs change.

Feel free to test it out on us.  Next time you chat with someone at CorasWorks ask them for a few ideas about what someone may want to do next with a given app, how long it would take, and how it is done.  It’s a great way to get a different perspective of where you may want to go before you get there.


CW Apps: Local vs. One Touch Configuration

CorasWorks and partners are releasing more and more apps to the App Store.  Typically, the business applications are being provided in one of two basic configurations – Local or One Touch.  I’ll briefly cover the differences between the two.


Local configuration is the classic way of providing portable apps.  By portable, we mean apps that can be built by a partner, and then, shipped to a customer, installed and used – without major configuration.  The Time Off Management app by R3 Business Solutions is an example.  The app is self-contained and ships as a single application template with all functionality.  Technically, the various application features are all configured to work with the data that is stored within the application site itself.  This makes it very portable and easy to install and use.  The end-user is free to customize the configurations, but, it is very easy to get started with.  In addition, local configuration is very useful for apps where you will have many separate instances.  Examples of these are the CorasWorks Our Workspace and the Add-Ons.


One Touch configuration is a new type of application configuration that is possible using the new v10 of the CorasWorks Workplace Suite.  Typically, these applications have two parts that are separate application templates.  One is an “application configuration site” and the other is the production site that holds the data.  Examples of these are the CorasWorks Department Dashboard and the Help Desk with Self-Service.  There are a number of benefits to a One Touch configuration as follows:


- Application Management – An application owner has control over the app, via the ACS site, and thus, the users can be prevented from “messing” with the app functionality


- Centralized Application Governance – You can have many ACS sites for different apps in a centralized site collection with control, even though the production apps themselves are distributed across your SharePoint environment (different site collections and web apps)


- Multi-Site Central Configuration Management – You can have a single ACS site, which is centrally configured, that serves as the basis for multiple sites.  this is very useful in situations where you have multiple instances of sites where you want consistency, such as our Department Dashboard or multiple project sites for a single program


- Distributed Application Functionality – The One Touch configuration enables you to distribute application functionality across your SharePoint environment.  (See my blog on the Self-Service Snaplets of the Help Desk).  Effectively, you can “snap off” any functionality from a production site and distribute it to portals, dashboards, my sites, or other apps.  Users are able to work wherever is convenient while working with the production app information.  Most importantly, the application manager can make one change to the ACS site and the many distributed UI’s will immediately update. 


The key technologies that power the One Touch Configuration are Global Links, Central Views, Lock Down Manager, and CorasWorks Central Configuration.  Using these features it is easy to build apps in a One Touch configuration and very easy to install them and even to distribute the application functionality.


For many apps, you’ll see CorasWorks publishing both a Local and a One Touch version.  However, certain apps lend themselves to one approach or the other. The short guideline is:


- Local configuration is for apps where you’ll be using it for multiple unrelated instances.  Great for workspaces, add-ons, and, business apps that would apply to different departments.


- One Touch configuration is where you want a more controlled environment, multiple instances of an app which are related, or the ability to distribute application functionality.




Check out the new CorasWorks App Store for plug-and-play apps for CorasWorks/SharePoint!

Application Evolution White Paper – A story of continuous improvement on SharePoint

Today, we released a new White Paper called “Enabling Application Evolution”.  It tells the story of how an “application” evolves from a simple vendor work order approval point solution into a more complex, distributed, inter-connected system for vendor management.  It is the story of how organizations can continually improve in this new world of modular, distributed, work environments on SharePoint.


We published the white paper to compliment today’s “integration release” of the new CorasWorks Workplace Suite v10.1 and Data Integration Toolset v1.4.  Affectionately known as  r14.14 (10.1 times 1.4), these products are now integrated in such a way as to very effectively empower organizations to naturally evolve their applications and their work environments forward without having to redo things over and over.


The white paper tells the story of how Greensleeves Solutions, our fictitious company, goes through five very natural stages of the evolution of this app.  Along the way people argue, haggle, like and don’t like, and, get innovative and productive.  The software plays its role to incrementally meet the changing needs to enable the organization to get to the next stage of productivity.  You can download the white paper from our site (see upper right corner of the landing page).


Below is a graphic showing the five stages of evolution covered in the white paper from a single app in Marketing up through a Vendor Self-Service portal.  All of the elements are reusable, inter-connected and centrally manageable – and being CorasWorks – done with point and click modular software vs. custom code development.




The interesting part is that you’ll probably find it to be a realistic scenario.  It starts to raise a number of questions about application software in the future.  Do the classic options of Buy or Custom Develop really make sense in this new world? Do people really know how they will want to work at the beginning of requirements gathering?  Exactly where is THE application?  What if you build the apps, but, the users actually work from their own departmental dashboards, personal consoles etc. and don’t go to the app per se – they just do task-oriented work across apps and business processes?  Is the application now just the data and configuration?  Have we moved to a services oriented architecture on the front-end?


Over the years, our software has evolved to support this evolving new world of applications.  The v14.14 release today is a big step.  We hope that this white paper will give you some insight into how the process of evolution could occur in your organization and the benefits of continuous improvement.