NXApp, Winter 1993 (Volume 1, Issue 1). 
Copyright ã1993 by NeXT Computer, Inc.  All Rights Reserved.

Shrinkwrap Corner

written by David Spitzler

MAKING THE MOST OF NEXTSTEP
NEXTSTEP, some believe, is a software developer's dream come true.  Developing applications for NEXTSTEP is not like developing for any other platform.  Never before have an operating system and development environment afforded developers the kind of productivity and ease of use that NEXTSTEP does.  Industry publications and analysts have praised NEXTSTEP for its all-around merits.  

For instance, Network Computing said in its June 1993 issue that ªNEXTSTEP v3.1's greatest strength is in its development tools. Since so much code is reusable, industrial-strength applications can be built in no time, and they will be of professional quality. And there is a huge variety of third-party tools for everything...º

Indeed, NeXT's most successful customers worldwide are benefitting from side-by-side deployment and integration of NEXTSTEP commercial and custom applications.

Many customers select NEXTSTEP for the competitive advantage they can achieve by rapidly building and deploying custom applications.  And while some customers may never use commercial softwareÐfor example, a mortgage company may use NEXTSTEP to deploy loan processing software and need nothing elseÐfar more require off-the-shelf productivity software.

Simply becoming a registered NEXTSTEP developer and creating a commercial application, however, doesn't guarantee success.  There are software marketing rules of thumb that you should consider to ensure the best chances for success:

1	Identify and research a market.

2	Design and build a product that meets the needs of that market.

3	Make your product stand out from its competitors.

Here are some of our recommendations for making the most of your NEXTSTEP development efforts.

Know your market
Before you sit down to begin development, take the time to find out who will likely buy your product once you bring it to market.  Software development for any platform should almost always be based on market need.  The first thing you need to know is NeXT's target markets.  Why?  Because your markets must be aligned with the markets that NeXT is approaching.

As a company, NeXT is focusing on a few commercial markets.  Early NEXTSTEP users may remember that NeXT started in 1985 to build computers solely for education.  Over time, NeXT began working with customers in other markets who recognized the value of NEXTSTEP as compared to other platforms.

Although NeXT continues to do business with customers in education, today NeXT is placing greater emphasis on commercial customers.  In these markets, NEXTSTEP has proven successful as an enterprise-wide solution for the integration of commercial and custom applications.  

The markets where NeXT has the greatest focus are:

	Financial Services: First National Bank of Chicago, NationsBancÐCRT, Chrysler Financial, Swiss Bank Corp.

	Government and public sector: 
	ARPA, City of Baltimore, Los Angeles Country Sheriff, Toronto Police Department, US Navy, US Postal Service

	Healthcare: Abbott Laboratories, Glenrose Children's Hospital, 
	Mt. Saint Clemens Hospital, Rush Presbytarian Hospital

	Telecommunications: McCaw Cellular, Williams Telecommunications, CanTEL

These markets represent the kinds of organizations that require integration beyond what they can find in platforms from other vendors.  NEXTSTEP offers them an object-oriented, client/server user and development solution for greater productivity across the enterprise.

Customers need products that can become part of an overall custom-integrated desktop environment, bringing together custom and commercial applications.  These products can be grouped in two product categories:

	Horizontal products are what almost every customer needs regardless of market: word processing, spreadsheets, flat file database, calendaring, drawing, contact and information management, and presentation tools.

	Vertical products are specialized solutions serving particular customer needs. Developers of vertical applications should have a strong understanding of these specific needs. Examples include data and news feeds for financial services, record management applications for healthcare providers, and customer service applications for telecommunications companies.

You can develop successful applications in either category. Keep in mind, though, that each category will require that you take different approaches to your development. Horizontal products are more general and can be easier to research and create; however, you're likely to have much greater competition. Vertical products are more specialized, so you have fewer competitors to worry about; but you must have have a thorough understanding of the vertical market you choose. 

Customers come first
NEXTSTEP is an exciting and productive development environment in which to build great software.  You should be careful, however, not be lured to NEXTSTEP by ease of development and as a result neglect to focus on customer needs.  One way to improve your chances for success is to solicit feedback on your development ideas from NEXTSTEP customers.

Many developers overlook how valuable customer input can be in developing a product or upgrading it between releases.  Often, customers enjoy testing a product for bugs during a beta cycle; some customers will take the time to provide critical comments and suggestions that may lead to a product that better suits the customers' needs and ultimately helps you create a product that is more marketable to other customers.

Seeking customer input may also lead you to discoveries that your own research might not.  Customers might be able to tell you, for example, if an idea you have is already available in a product from another vendor.

Differentiate or die
Understanding the market and your customer is only the first step. Unless your product significantly transcends the feature set of your competitor's product, you run the risk of 
saturating a given product category and therefore not getting enough sales to make a profit. This is especially true today, while the NEXTSTEP market is still growing.  A small market cannot support more than a few products in the same category because of simple economics: We can't have too many products chasing a few customers.

There are several general tactics for avoiding the problems of market saturation. One is to enter a category in which there are few existing products. Another is to differentiate by building a product that is either innovative in its approach or that introduces brand new functionality. With NEXTSTEP, there are several ways to do this and distinguish yourself from the competition.

Extensibility: Leave room to grow
A great way to differentiate your product is to allow other vendors to build modules that add functionality to your application. One of the industry's best examples of this is Lotus Notesä, software for enterprise-wide workgroup communication.  Not only is Notes an exemplary product, but more than 200 third-party developers are actively building add-ons to Notes.  

Pages Software is also following this model with its development of Pages by Pagesä, a document and word processing application.  Pages hopes to foster development around its application through Design Modelsä. These modules determine the look of Pages documents by defining styles and rules for using fonts, body text, headings, graphics, and other design elements.  Design Models are created with the Pages Designer Toolkitä by third-party developers and resellers, and by MIS departments that establish the document rules and constraints for an organization.

Integration is essential
An application that's just a good standalone productivity tool can't stand out in NeXT's marketplace.  Because NEXTSTEP allows developers to rapidly build sophisticated applications, NeXT's customers are accustomed to applications that not only perform standalone functions but also interact seamlessly with other products and with the NEXTSTEP environment.

To be successful you need to recognize this need for integratability.  For instance, customers generally prefer a product that has an open application programmer's interface (API) over a comparable application that doesn't make its API accessible. Customers also expect applications they buy to integrate seamlessly with the custom applications they have created.  

For example, the spreadsheet Mesaä from Athena Design offers traditional  spreadsheet functionality.  However, customers have found Mesa to be far more useful than a traditional spreadsheet because it helps them enhance their own custom applications. The Mesa Object Library Interface (MOLI), included with the product, allows another application to link into the data of a worksheet, execute database queries, graph data, and do much more.  An API can therefore reduce the amount of programming time it takes to build a custom application that performs like a spreadsheet.

Leverage NEXTSTEP's features
NEXTSTEP customers typically prefer applications that offer capabilities they can't find in other operating environments. For example, they look for support for 
NEXTSTEP's standards, such as Distributed Objects (DO) and Portable Distributed Objects (PDO), object linking, and interprocess communication through Services. Including these capabilities in your application makes it more appealing.

There are many other kinds of tools and capabilities you can incorporate to increase your chances for success with NEXTSTEP: 

	When appropriate, provide tools for groups and for distributed computing so your customers can use your application and other NEXTSTEP applications in collaborative settings. 

	Make your application scalable for large, complex networks, and be sure it will support hundreds and even thousands of users on local and wide area networks.  Also remember that large sites will need a flexible licensing scheme.

	Provide ways for your customers to extend your application. For example, if you provide means for customers to dynamically load objects at runtime, each customer can add exactly the functionality they need.  (An open, documented API also makes it extensible.)

	Assume your customers operate in heterogeneous computing environments. Whenever possible, support formats from DOS, Windows, Macintosh, mainframes, Wang, and so on. A word processor, for example, should import and export as many standard text file formats as possibleÐASCII, RTF, WordPerfectâ, WriteNow, Maker Interchange Format, Microsoft Word, and more.

	Expect that your customers will use your product in ways that you never imagined.

Conclusion
Now is the most exciting time in NeXT's history to begin product development for NEXTSTEP.  There's enormous market potential for NEXTSTEP and for third-party products that run on NEXTSTEP: There's currently an installed base on NeXT computers and Intel 486 computers, and will soon be one on Hewlett-Packard's PA-RISC platform, Sun Microsystem's SPARC platform, and with OpenStep on top of SunSoft's Solaris.

Fortunately for developers, NeXT has pioneered a technology called Multiple Architecture BinariesÐªfat binariesºÐthat allows you to create a single version of an application for mixed hardware environments.  One copy of an application dynamically loads the correct binary automatically, depending on the computer on which it is running.  That means that developers will be able to support all four platformsÐIntel, Motorola, PA-RISC, and SPARCÐwithin a single application wrapper.

NeXT encourages you to bring products to market for NEXTSTEP on Intel processors, because the fastest way to a port to PA-RISC, OpenStep, or SPARC is to do a great NEXTSTEP for Intel 3.2 product now. 

David Spitzler is in Developer Relations at NeXT and works primarily with developers of shrinkwrapped software.

Next IssueÐBuilding Alliances
__________________________________________________________________________________
Next Article	 NeXTanswer #1511	Info Panel 
Previous article 	NeXTanswer #1508	 appDidInit: 
Table of contents		http://www.next.com/HotNews/Journal/NXapp/Winter1994/ContentsWinter1994.html