Considering Product Activation? You Need to Think About These 10 Issues

Product activation is a popular approach for securing software licenses. However, software developers need to consider all the requirements for a capable activation system, from the license models they’ll need to support to how they’ll deal with the corner-case customer environments.

The basic activation process is typically as follows. Upon purchase the software vendor sends a unique product serial number to the user. When the user installs the application they are prompted to enter their product serial number. Their application connects to the vendor’s hosted license server over the Internet to confirm that this product serial number is valid and has not already been used to activate a license. It also obtains from the license server the license limits that apply to that user’s license, such as a time limit or enabling of product features. Finally it locks the license to the user’s system by reading certain machine parameters, such as the MAC address or hard disk ID, and encrypts the license limit and locking information in a file which is saved on the user’s system. Once activated the application interrogates that local encrypted file to perform its license check, so continues working on that user’s specific machine within the defined license limits with no further communication required with the vendor’s systems.

Sounds simple enough… but here are the ten areas you need to consider as you select a product activation system.

License models

What are the license models you wish to offer across your target markets? Are there other models Marketing might want to offer next year? Here are some possibilities:

* Time-limited licenses, for trials or subscription licensing
* Feature-enabling, to offer different price points or to package your product for different verticals e.g. a customer’s license might have Feature A to be OFF, Feature B at the Pro level, Feature C at level 5, Feature D on a 30-day trial and so on.
* Usage-based licensing. This could be metered (where the usage is tracked for subsequent reporting and billing, but not limited) or debiting (where the user purchases a usage quota which is depleted as the application is used).
* Custom licensing. Maybe you need to communicate some licensing parameters to your application, such as the Terabytes of data to address, number of communication channels to support, number of pages open at any one time and so forth.
* Some combination of the above e.g. enabling each feature with its own usage and time limit.

Disconnected systems

Not all computers have an Internet connection, so you need to consider how you will support your users who are on isolated corporate networks, or just can’t get a network connection from their laptop. The whole point of product activation is automation and convenience – you don’t want to have to set up phone support (during working hours, 24×7?, multi-lingual?) to help people without a network connection. Luckily, there are some solutions… if you pick the right system. For example:

* User self-service activation. Does the activation system provide a way for users to activate licenses on disconnected systems? A common approach is for the licensing software, when it finds it can’t connect to the hosted license, to encrypt the locking and product serial number information in a file, which the user then hand-carries to any web browser for upload to the vendor’s self-service web page. The vendor’s system accepts the file, checks it, and returns the encrypted file needed to enable the license. This file exchange can also be done by email, or even snail mail.
* Proxy server support. In many sectors such finance, mil/aero and government, users’ systems don’t have a direct connection to the Internet but can access it via an HTTP proxy server. Can your applications access your hosted license server via an existing HTTP proxy server?
* Install your own proxy server. If there isn’t a suitable HTTP proxy server available, does the activation solution include its own proxy server for installation on the customer’s network?

Security

The idea is to protect your applications from hacking and ‘honest abuse’ (over-subscription by legitimate customers), so you need robust security. Here are some questions to consider:

* If you issue time-limited licenses for trials or subscriptions, is there protection against users who try to extend their license by turning back their system clock?
* Is there protection against users who try to hack or spoof the licensing library built into your application?
* Is the communication between the licensed application and the license server secure against man-in-the-middle attacks, replay attacks, and counterfeit attacks?
* If you are tracking license limit data locally for each user, are these records secure against hacking and rollback to prior versions?
* Can no-one else set up a license server and issue licenses for your product?

Node-locking

The general approach to preventing a license from simply being copied onto another system is to lock each license to your desired parameters of the target system, such as the MAC address, host ID, hard disk ID and so on.

So far so good, but here are some node-locking questions to ask:

* Is the node-locking mechanism flexible and extensible, so you can lock to the parameters you wish?
* Does the node-locking mechanism follow generally-accepted computer science principles, and not do such tricks as bypassing the operating system, with all its unforeseeable consequences (such as breaking just because the user installed a boot manager, or upgraded their operating system)?
* Can you secure licenses on virtualized systems (e.g. VMWare), where the hardware parameters can legitimately change for a licensed user? How about supporting users who run Windows on a Mac?
* If you want, can the node-locking mechanism provide resiliency against small changes, so not inconveniencing users who make a minor system upgrade?
* Can you specify a set of locking parameters, with the license working if any one of them is matched? For example, perhaps your user wants to be able to run their license in one of any four machines – can you accommodate this?
* If some users really prefer dongle-based licensing, can you lock to a dongle as well?
* If you sell a system with your own custom hardware in it, can you lock the license to, say, the serial number in your custom hardware?
* How do you deal with the inevitable ‘My machine crashed – how do I restore my license?’ user inquiry?

License Relocation

The fact of life is that users often want to move their license to a different system, months or maybe years after it is first activated. This appears straightforward, but there are some issues to consider:

* Maybe you don’t want to offer this facility to everyone. Can you control which users are allowed to relocate their licenses?
* For users who are allowed to relocate their license, can you control how often they can do so? You may not want them doing so every day (that sounds like they’re sharing the license with others).
* Is there are any intervention required on your part during a license relocation, or does the product activation system take care of it? Is it secure?
* Can licenses be deactivated on disconnected systems?
* Your application may well have some settings your users adjust as they work with it, so your application runs exactly as they like it. Do they have to set these up again on the new installation (that would be annoying), or can you transfer them automatically?
* Does the product activation system track license relocations, so you know what your users are doing? Could it alert you when a relocation is done?

License Revocation

Maybe you don’t fully trust your customers, or perhaps you sell your product on credit, or on a monthly subscription, so might need to revoke a user’s license if they didn’t pay up or re-subscribe.

* Can your activation system revoke a user’s license?

Reseller sales

Perhaps you sell via resellers or OEMs now, or plan to do so. Maybe your sales department is looking for resellers overseas, or has it in their strategic plan? In that case, you’d better be ready to deal with the basic issue: how do you delegate order fulfillment (if desired) to your reseller, while still keeping track of the licenses they issue?

* Can your activation system allow resellers to issue licenses?
* If it does, can you restrict the range of licenses they can issue? For example, can you prevent them enabling certain features that aren’t part of their agreement with you, can you limit the number of licenses they issue, or set a maximum time limit on the licenses they issue?
* Can you generate a report on the licenses they’ve issued? Can they?
* Can you receive an alert when they issue a license?

Extensibility

While you may think that all your customers’ needs will be met with a product activation approach, what if that isn’t the case? Perhaps some users will not want any information to go out of their organization at all (often the case with some government and financial institutions).

* Can your activation system also support, say, dongle-based or floating licensing over your customers internal network, with no outside communication required at all?
* If you do need to support floating licensing or dongle-based licensing, does engineering have to re-do the licensing integration, or does the existing licensing system they integrated for product activation support it without needing any modification or replacement?

Platform support

Of course you need to protect your application on all the computer platforms you support.

* Does the activation system provide a client library for all your current platforms?
* How about platforms in your product roadmap?
* How about 64-bit platforms?
* What if a major customer requires support for a non-standard platform – can you readily obtain it?
* If your application is in Java, and you take advantage of Java’s platform independence, is the licensing library actually multi-platform, or are you introducing platform dependency?

Back-office integration and infrastructure

If your business involves a large number of licenses, or you expect it to, you may want to automate license fulfillment.

* Can you automate fulfillment from your back-office/CRM system, say via Web Services?
* Can you automate management tasks, such as backup, archival and reporting for the licensing system?
* Maybe you don’t want to host the license server at all. Is there a 3rd-party managed service available?

Clearly not all of these questions will apply to all software vendors, however they hopefully provide food for thought, and suggest areas you should consider to ensure your product activation deployment is successful.

Effective Activity-Based-Costing and Optimal Cost Management

How do firms choose their overhead cost assignment? How do firms choose optimal cost management based on critical production activities that create and capture values? What is the nature and function of expense assignment? What are sources of expense indicators or cost drivers? What are some policy implications of the Activity Based Costing in formulating effective cost assignment and cost management strategies?

These managerial accounting questions relate to effective cost assignment and optimal cost management strategies of a business enterprise-the appropriate mix of costs management strategies that maximizes the return on investment and shareholders’ wealth while minimizing the cost of operations, simultaneously.

The correlation between optimal cost management and effective activity-based costing is critical to sound business strategic options designed to maximize the wealth producing capacity of the enterprise. In these series on effective cost assignment and optimal cost management, we will focus on the pertinent strategic cost questions and proffer some operational guidance.

The overriding purpose of this review is to highlight some basic cost theory, strategic costs relationships, and industry best practices in effective cost assignment designed to optimize cost management. For firm-specific cost management strategies, please consult a competent professional.

Activity-based costing (ABC) is an effective management technique for assigning and controlling the overhead costs. Overhead expense analysis and assignment can be made more accurate by using ABC techniques for a wide range of products, for product expenses and profitability analysis and for appropriate distribution and control of the overheads.

Please note that the optimal cost management and effective activity based costing for each firm differs markedly based on overall industry dynamic, market structure-degree of competition, height of entry/exit barriers, market contestability, stage of industry life cycle, and its market competitive position. Indeed, as with most market performance indicators firm-specific cost management position is insightful only in reference to the industry expected value (average) and generally accepted industry benchmarks and best practices.

Phases of Cost Assignment:

In the first phase, major activities for manufacturing or sale of finished products are properly identified and classified according to the expenditure hierarchy. Expenditure hierarchy facilitates classification of activities based on the ease with which they are traceable to a product or product lines. Such activities may include material procurements, production runs, material handling, order processing, inventory management, warehousing, and transportation.

In the second stage, activity expenditures are assigned to each product or product lines and cost indicators or cost drivers, and overheads are listed in accordance with the major activities required to create and capture values. A brief review of the extant academic literature suggests that the nature of production activity or transaction decides appropriate expense indicators or expense drivers.

Activity-based costing system uses an appropriate cost driver that differs with the nature of production activities that create expenses. Additionally, there are several levels of activities: Unit level, batch level, product level and facility level. Moreover, facility level activities are carried out at the plant level and a bit difficult to trace while unit-level activities are product-specific and most easily traceable to products.

In practice, proper identification and careful analysis of cost incurred for each cost pool are required and critical for appropriate cost driver rate determination. Finally, firms trace and allocate the cost of activities or operations to the final products-goods and services. As you know, cost tracing is the process of directly matching an expense with a product being produced, where expense allocation uses estimates to apply costs to products or product lines. While many costs can be allocated to products directly, some costs relate to multiple products or change on a per-unit basis and should be allocated proportionately.

Some Operational Guidance:

Effective cost assignments require management accounting staff to identify the objects to which the relevant costs will be assigned, accumulate the relevant costs in different cost pools, and identify the most appropriate basis/method for allocating relevant costs. Please note that not all expenditures are relevant and expense controls are subject to vertical differentiation-level organizational authority.

Additionally, not all expenses should be unitized. For example, fixed costs do not change with an increase or decrease in the quantity of goods or services produced or sold. Indeed, fixed costs are expenses that must be paid by firms, independent of any business activity within a specific scale of production. Therefore, it may be misleading to unitize fixed costs of production, ceteris paribus.

To formulate optimal cost assignment strategies, management should understand and anticipate some challenges derivative of expense allocation and activity based costing. Some of these challenges include: traceability, materiality, method, accuracy, and timeliness. As I have already explained, some expenses are not easy to trace. Appropriate expenditure identification, analysis, tracing and assignment should be conducted using multiple methods and defensible assumptions.

In practice, expenses allocation are data driven and managerial analytics aided by computer technology. However, sound analysis of expense drivers and assignments, should be guided by full grasp of well-established cost theory and generally accepted accounting principles. For example, when examining cost tracing and assignment, firms should determine how closely to allocate individual expenses. With modern computer systems and cost analytics, it is often possible to trace every expense driver even when there are multiple products -goods and services.

Further, not all expenditures are material. And because there are costs and benefits associated with search, analysis and assignment of expense data, firms must decide to what extent to account for expense drivers. This is the accounting concept of materiality. Firms must always weigh the costs and benefits of all managerial decisions. Business managers must decide whether the benefits justify the costs and what amount of cost analytics is optimal as it pertains to firm profitability.

Finally, firms should create and maintain multiple costing systems. And use appropriate techniques such as traditional costing, job-order costing, process costing, or variable costing to facilitate internal managerial decision making and external financial reporting requirements. Please note that variable costing is not permissible for external reporting but may be useful in assisting managers to make resource allocation and other business decisions, efficiently and effectively. Often, successful businesses maintain managerial accounting costing systems to facilitate internal planning and financial accounting costing systems designed to support the external financial reporting function.

In sum, cost accounting systems and activity based costing facilitate accurate estimation of expenses of products-goods and services which is critical for profitable business operations. Business managers should know, understand, and anticipate which products are profitable and which products are not profitable. Therefore, cost analytics must be relevant, accurate, timely, and consistent with the calculus of economic advantage. To create and sustain competitive advantage in the global marketplace, firms need effective identification of cost drivers, cost assignment and optimal expenditure management strategies-the appropriate mix of expenditures management strategies that maximizes the return on investment and shareholders’ wealth while minimizing the cost of operations, simultaneously.

5 Steps To Maximum Productivity

Do you know that you get 80% of your results from just 20% of your time and effort and consequently 80% of your time is virtually wasted on non productive activities?. Once you realize this it is easy to take advantage and either reduce the hours you work or significantly improve your productivity.

The 80-20 rule was first discovered by Italian economist Vilfredo Pareto a hundred years ago. Using this knowledge is incredibly powerful in combating the “not enough hours in the day” mentality of today’s society.

The 80-20 rule means that in any area of our lives, literally 80 percent of our fruits are derived from only 20 percent of doing “what matters”. In other words, there is only a very small portion of all that we do each day, regardless of the situation, that brings us the “higher return”.

How can you benefit from being aware of this principle? Implementing a strategy based on the 80-20 rule can result in greater wealth and greater leisure time? Just imagine how productive you will be if 80% of your time could be spent on productive activities. You have to realise that the things that matters most should never be at the mercy of activities that matter least.

Here are 5 Steps to maximise your productivity:

1) Keep a work log for at least a week

Write down all of your activities and the time spent doing them. I appreciate this is time consuming initially but it is essential you get a true picture of your working week.

2) Analyse your activities

Separate your activities into high priority – those that produce a return or where only you have the skills to do the work – and low priority – activities others can do where the activity can be delegated to support staff. You will almost certainly find that you are spending most of your time on low-priority activities rather than activities directly providing a return. In almost all businesses these non productive activities tend to absorb time at a far greater rate than they should.

3) Delegate non productive activities

Once you can identify the low priority activities delegate as many as possible to support staff providing training where required. If necessary employ an additional member of staff to take responsibilities – the cost will be more than offset by your improved productivity. There may be a number of low priority activities you are tempted to keep. Unless it is absolutely unavoidable don’t be tempted and don’t get involved in non productive activities or your productivity will fall.

4) Calculate the time required for any remaining low priority activities

Once you have delegated all that you can, your next step is to calculate how much time you should be spending on the remaining low priority activities to make maximum use of your productive time. Do not work disproportionately hard at these low priority activities and set aside specific time each day or week to complete them.

5) Prioritise your remaining activities

Once you have cleared out the activities that do not bring you any return, it is time to turn your attention to the activities in your life that are bringing the most reward. Prioritise your activities and concentrate most of your time just on a few high-priority activities.

The objective throughout is to maximize your results from the areas of high return and to delegate those activities that have a low return. Having to spend a disproportionate amount of time on non productive activities is a major source of stress for many businessmen. Delegating these activities will therefore have the added benefit of reducing the stress you are under. It is all about doing less work for greater return.

For more success in life, whether that is more money, more time with your family or just making time for golf you should start implementing the 80-20 rule immediately. It will help your career as well as your personal life and, as a bonus, following the 80-20 rule day in and day out can make you very wealthy over the long term.

What Is Productive Activity?

When we think of activity usually as a sporting activity, where people participate in more physically energetic sports as fun and to test our competitive ability; such as in playing tennis, ice and field hockey and football.

However, the term ‘activity’ can also mean anything that uses physical movement of our limbs to create muscular action, plus using coordination and strength to move our muscles and skeletal joints around with an element of skill.

This can be for are other sporting activities such as curling, recreational activities such as bowls, hobby activities such as needlecraft, work activities such as woodwork and so on. They are all under the umbrella of productive activities, because there is a purpose of creating something for the goal during the activity.

Playing any type of games is productive, because the aim is to win the game, which also provides competitiveness, socialization and brain stimulation for testing our mental acuity, through concentration and skill, more than muscular strength and fitness.

Sporting activities need practise for obtaining greater strength and skill, with the aim to become better than the opponent for winning the ultimate prize that brings prestige and honor.

The focus on daily productive activities is different in because they are a repetitious activity performed daily so that little physical or cognitive effort is put into them as repeat them each day.

It means our physical and cognitive actions have little concentrated effort, because we do them without even thinking about how we perform them.

We call these tasks daily living activities, or functional performance activities; which are completed for enabling personal autonomy and independence in daily living.

Maintaining our functional independence in daily living is the most important aspect of personal control that we have, because if we are not able to be independent; then we lose the ability to control of our own personal life. If we ever become very sick, we may end up in hospital, because we are unable to take care of ourselves.

Hospitals remove our personal control, in order to take care of our medical problems. Hospitals, like all institutions are organized on tight schedules; with meals at a specific times, visitors at other times and doctor’s visits always in the morning.

They provide very little personal control to the ‘consumer, or the patient; until you are able to return home and only then is control reinstated. It means you can return to living a full and active life as you choose, through independence and autonomy.

If you are not able to achieve this ability, it means that your health will be poor and you are unable to take care of yourself. It may mean that you need to be looked after by other people and which means institutional care in either a hospital or nursing home.

All types of productive activity are used to help you live an independent and autonomous life. This is your ultimate goal in daily living, because without this ability; you will not be in control of the choices you make in living your own life.

Enabling productively, safe activity cannot be over-emphasized, because if we ever become so seriously physically impaired with functional limitations; which can happen if we gain too much weight. Our physical health will suffer and we lose our ability to maintain our personal independence in our daily functional activities. Losing any of these tasks is the first step to losing control of our daily life.

Our goal as human beings is to remain productively active in everything we do, so that we remain independent, participatory and functional, in order to be a holistically, self-fulfilled person.