Sunday, May 30, 2004


Logic for Licensing

Share Excel Spreadsheet Files over the Internet using Web BrowsersHaving some fun designing and implementing the BadBlue server's new licensing scheme. In a nutshell, the Excel sharing features allow browser-based remote users to update a Excel spreadsheets running on the server. The new licensing scheme limits the Excel collaboration features to a fixed number of "named users".

So to have Joe and Fred both update a spreadsheet, you'd need at least two "user licenses". You'll be able to order a "license pack" that will bump your licensed user count to the desired level. The "license pack" product simply comes in the form of a "license pack code", which gets emailed to you upon confirmation of the order.

The code works like this when you enter a new license pack code:

- Read the currently installed license packs
- Has the code already been installed?
- If so, set "UsersToAdd" to zero
- If not, set "UsersToAdd" to the encrypted value and save the new license pack code
- Bump the "LicensedUserCount" by "UsersToAdd"

One of the pages of the user-interface allows you to review your current licensed user count and see which codes have been installed.

When the product starts, it does the following:

- Set the "LicensedUserCount" to 1
- Read the currently installed license packs
- For each installed license pack...
- Decrypt each installed license pack code
- Bump the "LicensedUserCount" by "UsersToAdd"

The Enterprise Edition product, which includes the Excel sharing capability, will have a built-in licensed user count of 1. License packs will be sold in units of 5, 10, etc.

This is a new licensing model and one precipitated by a major investment in new features, which have been added by popular demand. In particular, a couple of accounting firms are trying to open up large legacy spreadsheets to the web without having to pay for a major application conversion.

This seems like a good alternative: users and business processes get to employ the same underlying Excel technology but open it up to anyone with a browser. The multi-user conflict resolution and audit-logging capabilites are pretty standard fare for this type of app. But one of the neatest new features is the ability to restrict which cells are visible and/or modifiable based upon the identity of the logged-on user.

There appear to be specific accounting situations in which this comes in handy. Say an auditor wants to comment on a spreadsheet without letting some of the data-entry folks see the comments. His notations are visible to certain users but invisible to the clerical users. Likewise, a law firm might want to place additional comments that aren't visible to either the auditors or anyone else. Oh, what a complex web we weave...

Anyhow, if you're interested in unlocking a spreadsheet by sharing it with browser-based users, give it a look.

BadBlue Tutorial - Excel Sharing FAQ (Share Excel Spreadsheets over the web, LAN or other network)

No comments: