System Integration and Customizable SolutionsSpin makes an outstanding multimedia authoring tool and is the only tool of its kind for writing server-side programs, but Spin really excels as a system integration tool. Spin's true potential to rock the Internet lies in how third-party software developers, consultants, and integration houses can use it to create highly customizable solutions for the Internet.
The rewards of moving a business to the Internet are substantial. According to a report by the International Data Corporation, Small and Medium Enterprises (SME's) that use the Internet command average revenues of $3.8 million, compared to SME's who are not online with average revenues of $2.7 million.
The Internet is changing the way that businesses do business, but a company trying to move its systems to the Internet does not have very many options:
Custom SoftwareThe first option is expensive programmers are in high demand right now because of the dramatic expansion of the Internet (and other causes, such as the looming Year 2000 bug). Writing custom software is only reasonable if you are a large company that already has an IT (Information Technology) department with Internet skills, or if your company's business is primarily Internet related (companies such as Amazon.com or Yahoo!).
Canned SolutionsThe vast majority of companies are left with only the second option, purchasing a canned solution. These small and medium sized enterprises (SME's) can only purchase a canned solution if a software developer has written one and is actively selling it.
Even if a company is lucky enough to find a solution, it is unlikely that this canned solution will adequately meet their needs. According to the editor-in-chief of Software Development magazine, "Some 20% to 30% of code must be customized for each organization, and the new system must integrate with existing applications, various databases, and best-of-breed tools. This is no easy task." Consequently, the failure rate is for canned solutions is high.
Since even canned solutions require extensive customization, and customization would appear to require expensive programming, even canned solutions are not a reasonable solution for many SME's. The cost of customization is high, and rising. Business integration consumes in excess of 40% of IT budgets and is projected to cost $40+ billion dollars in 1998. According to the report Conquering Customization published in March 1998 by Forrester Research, customizing a business package to fit established business processes is so difficult that many businesses find it is easier to "re-engineering their business process to fit the package."
A Problem for Software Developers, tooThe incredibly high demand for programmers with Internet expertise is a mixed blessing for those programmers.
Online EcommerceA typical example is online ecommerce. If you are a company looking to sell products online, you can either build a custom online store or purchase a packaged store and deploy it. Either way, the problems are manifold.
First, you must create a catalog for your products, and give people ways to find the products they are interested in. You also need mechanisms to add new products to the catalog, and to delete old products.
You also need a way for them to purchase products. You need some sort of online shopping cart, a way to take and validate credit card numbers, a shipping address, and other information. You also need to interface with your shipping department (if your products are tangible) or for software, a way for the customer to download their purchase.
You need ways to handle failures, including errors in the information the customer types in, problems with credit card payments, even network problems while they are trying to download their software.
A more significant issue is interfacing with existing business systems. For example, most canned ecommerce solutions have their own system for keeping track of inventory (if they deal with inventory at all). If the business already has an inventory system (so they can sell products mail order, wholesale, or retail) it is difficult to keep the two systems synchronized. This can be a disaster. Not being able to tell a customer whether or not you have an item in stock is becoming unacceptable (think about Christmas shoppers looking for the latest gotta-have-it toy). Telling a customer you don't have something when you do loses a sale. Telling them you have something when you don't can be even worse.
You also need to interface with systems that let you know when to order new inventory, or order the raw materials you need to build more products for inventory. You also might want to interface with purchasing systems, so you can handle returns. These interfacing issues are generally out of the question with canned solutions. Even if they are possible, they require large amounts of custom programming.
A common complaint with canned ecommerce solutions is that they take a one-size-fits-all approach. Different businesses have different needs. A car dealer wanting to sell on the Internet will have different needs from a grocery store or a travel agent. Even similar products have different needs; for example, books and music CD's are very similar, but an online store for music CD's will want to have audio clips from the songs. A company selling classical music CD's will probably want a different kind of catalog from one selling popular music. Some products (like computers) have extensive options and there are complex interdependencies between the options.
Even if a company's needs are exactly met by a canned solution, it will still want to customize. After all, would you want your store to look exactly like your competitor's store, and provide the same features and conveniences? Of course not. And your needs will surely change over time as your business evolves and grows.
SpinUsing Spin, a software developer can create an ecommerce solution that can be easily customized to the needs of each business. The software developer can create components to perform each required function:
The software developer can also target niche vertical markets. For example, they could put together an ecommerce solution for florists, or an ecommerce solution for car rental agencies. Targeted solutions like these can be extremely profitable. And even though the solution is highly targeted, it can still be customized to meet individual needs, or to differentiate it from a competitor.
Be sure to see the Spin scenarios page for a detailed ecommerce scenario.
Human ResourcesAnother area begging for customizable solutions is web interfaces to legacy transaction processing systems. This section gives one simple example, but there are thousands of equally good examples. It is estimated that over 70% of business data is still being held in transaction processing systems like IBM's CICS (Customer Information Control System).
Consider a typical company that uses CICS to manage human resources data. Like many companies, it now has an intranet and it wants to give its employees the ability to access their HR data such as how many vacation days they have accrued, and the ability to examine and change their health benefits.
IBM already has components that can access CICS data, which can be used in Spin. Also required is a way to restrict access to data. For example, regular employees are only allowed to access their own data, while specified HR employees can access anyone's information, and an even smaller set of HR supervisors are allowed to change anyone's information. If CICS is running on a Novell server, then Novell has components to access Novell Directory Services (NDS) that can validate that a user is who they say they are. These components can be combined with other components (such as components for generating web pages) to build one or more solutions.
Many consulting companies are already doing good business building
intranet access to CICS data. Such a company can adapt software
they probably already have into components. These components
can then be mixed and matched with other components to build an
array of solutions. The consulting company can then either simply
use these solutions in their consulting business so they can
work faster, or they can hire junior-level programmers
to do much of the customization work and expand their business,
or they can even sell the solutions. Spin allows the company
to leverage their expertise, and so make more money.
Spin can be a powerful tool for CBT, since the only difference between a multimedia authoring tool and a CBT authoring tool is a few components to support things like courseware, testing, grading, and tracking students. These are all components that can be easily added to Spin (by anyone, even a course instructor).
There are a number of advantages to using Spin for CBT. First, existing authoring tools might have been designed specifically for CBT, but (like generic ecommerce solutions) they are one-size-fits-all. The training needs of a company are far different than the needs of an educational institution, and different companies all have their own differing requirements. Some uses for CBT tools don't even fall under the category of CBT, such as materials to get salespeople up to speed on new products. Spin can use different components, or can even create new components to customize itself to specific needs.
Even more significantly, Spin can be customized at multiple levels. For example, one company might build a set of components for Spin that support a variety of generic CBT functionality. They then sell this as a CBT authoring tool. A purchaser of this system might be a large company with a dedicated training department. This department will then add new components (or modify existing ones) to create a CBT authoring tool that is customized for that specific company. This might be something as simple as adding the company logo courses, to adding access to other systems in the company (for example, for product information). A course author might also build and use a few components to help write a specific kind of course. And finally, the course instructor can build new components (while the course is in progress) to help answer a particularly difficult question from a student.
Be sure to see the Spin scenarios page for a more detailed CBT scenario.
ComponentsIn addition to complete solutions, there will also be a lively marketplace for components. After all, a component for accepting credit-card payments will work equally well for an ecommerce solution as for an educational institution that accepts payment by credit card.
Other tools have lively markets for components, such as plug-ins for tools like Photoshop or 3D Studio, or Visual Basic components. There are already sites that collect and sell components that can be used in Spin. The advantage of Spin is that it uses generic JavaBean components, so people do not have to write components specifically for Spin. Even components written for other system (like ActiveX controls written for Visual Basic, and CORBA components written for business systems) can be converted automatically for use in Spin.
Components can be programmed, using a variety of programming tools and languages, or they can be authored in Spin. Spin World provides a forum for people who want to buy, sell, trade, or just freely share components.
Here are some ideas for components that could be developed: