forrester reviews the konyone platform

14
Forrester Research, Inc., 60 Acorn Park Drive, Cambridge, MA 02140 USA Tel: +1 617.613.6000 | Fax: +1 617.613.5000 | www.forrester.com KonyOne Offers A Flexible, Low-Code Platform by Jeffrey S. Hammond, August 28, 2012 FOR: Application Development & Delivery Professionals KEY TAKEAWAYS KonyOne Installation Guides Are Comprehensive, But Keep In Mind Software Requirements Compared with other mobile middleware solutions, KonyOne has a relatively quick and well-documented installation process. Nonetheless, there are a few hurdles, namely, having a working Java application server, a Kony license key, and a version of Eclipse with the Kony custom plug-ins installed. You’ll also need to install device-specic emulators. Consider KonyOne If You Need Cross-Platform Native Apps Without Writing Native Code As a platform that “errs on the side of native,” KonyOne delivers on compiling native apps with functionality that will feel natural to Android and iOS users. KonyOne can also produce web applications that are a close approximation to the native version. Need To Integrate Web Services? KonyOne Makes It Easy To Link Data To UI Elements KonyOne enables menu-based integration with web services, which allows developers to wire events based on predened code and use the mapping feature to link data to user interface (UI) elements. Developers can also customize event chains with Lua or JavaScript. KonyOne Is A Flexible And Quick-To-Market Solution In addition to cross-platform native app functionality, KonyOne delivers on speed, exibility, and ease of deployment. Developers use one comprehensive menu pane to select which devices see which version of the app and can then quickly deploy their app aer publishing web services.

Upload: kony-inc

Post on 09-May-2015

3.096 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Forrester reviews the KonyOne platform

Forrester Research, Inc., 60 Acorn Park Drive, Cambridge, MA 02140 USA

Tel: +1 617.613.6000 | Fax: +1 617.613.5000 | www.forrester.com

KonyOne Offers A Flexible, Low-Code Platformby Jeffrey S. Hammond, August 28, 2012

FOR: Application Development & Delivery Professionals

KEY TAKEAWAYS

KonyOne Installation Guides Are Comprehensive, But Keep In Mind Software RequirementsCompared with other mobile middleware solutions, KonyOne has a relatively quick and well-documented installation process. Nonetheless, there are a few hurdles, namely, having a working Java application server, a Kony license key, and a version of Eclipse with the Kony custom plug-ins installed. You’ll also need to install device-speci! c emulators.

Consider KonyOne If You Need Cross-Platform Native Apps Without Writing Native CodeAs a platform that “errs on the side of native,” KonyOne delivers on compiling native apps with functionality that will feel natural to Android and iOS users. KonyOne can also produce web applications that are a close approximation to the native version.

Need To Integrate Web Services? KonyOne Makes It Easy To Link Data To UI ElementsKonyOne enables menu-based integration with web services, which allows developers to wire events based on prede! ned code and use the mapping feature to link data to user interface (UI) elements. Developers can also customize event chains with Lua or JavaScript.

KonyOne Is A Flexible And Quick-To-Market SolutionIn addition to cross-platform native app functionality, KonyOne delivers on speed, " exibility, and ease of deployment. Developers use one comprehensive menu pane to select which devices see which version of the app and can then quickly deploy their app a# er publishing web services.

Page 2: Forrester reviews the KonyOne platform

© 2012, Forrester Research, Inc. All rights reserved. Unauthorized reproduction is strictly prohibited. Information is based on best available resources. Opinions re!ect judgment at the time and are subject to change. Forrester®, Technographics®, Forrester Wave, RoleView, TechRadar, and Total Economic Impact are trademarks of Forrester Research, Inc. All other trademarks are the property of their respective companies. To purchase reprints of this document, please email [email protected]. For additional information, go to www.forrester.com.

FOR APPLICATION DEVELOPMENT & DELIVERY PROFESSIONALS

WHY READ THIS REPORT

In the latest installment in our “hands-on mobile” series, we rebuild and deploy the simple mobile application we built last fall with the KonyOne mobile middleware platform. $e KonyOne platform allows developers to build and deploy apps in a variety of mobile con!gurations, including apps that run natively on Android, iOS, and Research In Motion (RIM) devices. In the process, we install the KonyOne platform and use Kony Studio to de!ne mobile forms, wrap web services, and map RESTful payload data into form !elds as well as deploy the app as a native app and a web app to multiple mobile devices. Read on to get a feel for the KonyOne development experience.

Table Of Contents

KonyOne Is A Leading Contender In The Mobile Middleware Space

KonyOne Installation And Initial Setup Require A Few Hours Of Effort

Kony’s Mobile Development Experience Will Feel Familiar To 4GL And Java Developers

KonyOne Delivers A Good Cross-Platform Native And Web Experience

Flexible Deployment Options Make KonyOne An Attractive Enterprise Mobile Option

RECOMMENDATIONS

KonyOne Helps Developers Quickly Build Cross-Platform Apps

Notes & Resources

Forrester conducted a hands-on review of the KonyOne mobile platform for this research.

Related Research DocumentsjQuery Mobile: The App Internet, Without The AppNovember 1, 2011

Mobile Development Goes MultiplatformDecember 22, 2010

De"ne Your Mobile Development StrategyAugust 24,2010

KonyOne Offers A Flexible, Low-Code PlatformGoing Hands On With KonyOne Shows How Middleware Is Evolvingby Jeffrey S. Hammondwith Phil Murphy and Shannon Coyne

2

11

AUGUST 28, 2012

Page 3: Forrester reviews the KonyOne platform

FOR APPLICATION DEVELOPMENT & DELIVERY PROFESSIONALS

KonyOne Offers A Flexible, Low-Code Platform 2

© 2012, Forrester Research, Inc. Reproduction Prohibited August 28, 2012

KONYONE IS A LEADING CONTENDER IN THE MOBILE MIDDLEWARE SPACE

In the latest installment in our “hands-on mobile” series, we’re reviewing KonyOne, a mobile middleware framework that a growing number of enterprises use to develop and deploy both consumer-facing and enterprise applications. Kony originally designed the platform as the underpinning technology to its vertical application business. In the early stage of the company’s growth, its primary focus was building turnkey applications for clients in the airline, insurance, and !nancial services industries. Over the past few years, the Kony team has extracted the runtime platform and developer tooling to make them consumable by enterprise development shops in either a hosted or an on-premises version. Applications written for KonyOne are cross-compiled into native packages for Android, iOS, and RIM’s BlackBerry and QNX operating systems or rendered as mobile web applications that use JavaScript, Cascading Style Sheets (CSS), and HTML. For native mobile applications, app code is packaged along with KonyOne runtime code, and the resulting package is deployed using the same techniques used to deploy a regular native app. $e result is cross-platform deployment with lower maintenance costs.1 At the time of our hands-on testing, KonyOne supported compilation to eight di%erent native mobile phone platforms and three native tablet platforms. For our hands-on review, we started with the application from our previous installment and rewrote it on the KonyOne platform.2

KonyOne Installation And Initial Setup Require A Few Hours Of Effort

By de!nition, mobile middleware tools have a server-side component, and KonyOne is no exception. Getting the server side of a mobile middleware platform up and running can sometimes be tricky, but that was not the case with KonyOne. We installed the KonyOne server on a machine with a clean build of Windows 7. Installation was simple — we unzipped a large !le (called the “Super Bundle”), and the installation was relatively straightforward. Note that:

! "e server is dependent on Java. $e KonyOne server requires a Java application server. In our case, we used the Tomcat image provided in the Super Bundle, but you can also install it on an existing J2EE app server. Of course, this means you also need a modern Java VM installed, running, and reachable via the CLASSPATH variable.

! Installation requires a license key. KonyOne is a commercial product that enforces its license with keys. We had to download the keys Kony provided and enter them on the machine to enable the server. $is process took approximately 10 minutes to complete.

! Installation requires Eclipse. KonyOne Studio consists of Eclipse and a set of custom-built plug-ins. In our case, we simply used the precon!gured version of Eclipse. While in theory you could write Kony Mobile apps on the command line, we don’t recommend it.

Page 4: Forrester reviews the KonyOne platform

FOR APPLICATION DEVELOPMENT & DELIVERY PROFESSIONALS

KonyOne Offers A Flexible, Low-Code Platform 3

© 2012, Forrester Research, Inc. Reproduction Prohibited August 28, 2012

! Installing device emulators can be tricky. KonyOne executes compiled applications; therefore, developers use standard Android, iOS, and RIM emulators to test apps on their development machines. We found it a bit tricky to install the Android and RIM emulators and get them working with Eclipse. $is would be the case for all approaches that use standard emulators — it’s not speci!c to the KonyOne platform.

All told, it took us a little more than an hour to install and set up the KonyOne Super Bundle and get it ready for development. Unlike our previous experience with jQuery mobile, clear documentation aided our setup considerably.

Kony’s Mobile Development Experience Will Feel Familiar To 4GL And Java Developers

Developing a mobile application within the KonyOne Studio is straightforward for developers already familiar with Java development tools such as Eclipse and Oracle JDeveloper as well as those experienced with traditional fourth-generation programming language (4GL) tools such as PowerBuilder and Visual Basic. Developers start by creating a Kony project in the Eclipse-based integrated development environment (IDE). For simpler enterprise apps, developers can use a combination of Apache Tomcat and Memcached to execute server-side code. Alternatively, they can deploy an app on commercial Java application servers such as IBM WebSphere or Oracle WebLogic.

When it comes to actually laying out your mobile app, KonyOne Studio uses a forms-based application metaphor. Developers create a new form for every screen they want to build into the application, and then the developer adds user interface (UI) elements to the screen from a palette. $e experience isn’t quite “what you see is what you get” (WYSIWYG), but it’s close enough to it that it makes little practical di%erence. $e Kony Mobile control palette organizes UI elements by function and o%ers a rich set of basic widgets, containers to group widgets and manage layout across di%erent devices, and more-advanced widgets such as chart and map. KonyOne also supports special widgets for Windows Mobile and for dedicated mobile web apps. Developers can either place UI elements directly on forms or place them into reusable modules. $e module feature is particularly useful for larger mobile apps and multideveloper teams, as it allows designers to create a consistent navigation design and layout that can then be reused across multiple screens.

When building our test app, we were particularly impressed with a number of KonyOne’s features:

! Good control of form header and footer elements. In most mobile apps, you’ll !nd a header or footer bar that contains buttons or images that link to di%erent screens for navigation. $ese header and footer bars are the modern-day design equivalent of menus and are critical pieces of app design. $e Kony Mobile platform implements these controls as discrete UI elements but also handles device-speci!c styling for the user. By default, the navigation bars adopt device conventions, appearing on the top of the screen in Android apps and on the bottom in iOS apps. Developers can, of course, override the defaults, but correct app styling by convention is a nice touch for less-experienced mobile developers.

Page 5: Forrester reviews the KonyOne platform

FOR APPLICATION DEVELOPMENT & DELIVERY PROFESSIONALS

KonyOne Offers A Flexible, Low-Code Platform 4

© 2012, Forrester Research, Inc. Reproduction Prohibited August 28, 2012

! Visual layout of screens and a quick preview mode. We used the form editor to lay out the basic screens of our application (see Figure 1). In our case, we used an element called a segment, which is useful when you will have repeating elements in the app (in our case movie title, descriptions, and box art). Within the segment, we simply dropped label UI elements and an image UI element and then con!gured important parameters in the property page. One criticism: We could resize the UI elements on the form painter but could not rename elements on the form itself, only in the property page. Once a form is laid out, the developer can quickly view the form on a device emulator by using the preview button and then selecting the device in the emulator pane. We found ourselves continually tweaking the design and using the quick preview mode to view the results.

! Extensive support for web services. As part of our basic mobile app, we consume movie catalog data from an Open Data Protocol (OData) application programming interface (API) that Net"ix provides to developers. It took us approximately 30 minutes to set up, de!ne, and debug our web service call in the KonyOne Studio service de!nition tool (see Figure 2). $e result: an XML-based service call that gets data for top-ranked movies in the Net"ix catalog. In addition to RESTful XML and JSON web services, KonyOne Studio also supports de!nition of SOAP-based services as well as a screen-scraping service that pulls data from existing website HTML pages. $is last service type would be particularly useful to developers who need to build a mobile version of an existing web application but don’t have the time or the data access rights to build a proper service façade.

Our service de!nition e%orts were not without some minor challenges. We initially tried to use a JSON service but encountered some di&culty: Our test call returned a “Malformed JSON error.” We then switched to an XML-based service and were able to return data and manipulate the data set to parse movie titles, summaries, and box art. While we were later able to de!ne a working JSON version of the web service with some guidance from Kony tech support, better error messages and documentation would have sped our initial attempts.

! Wiring events reduces the amount of code required. You can create application "ow in a Kony application without actually writing code, as each UI element in KonyOne has a set of prede!ned events for standard actions. For example, buttons have an onclick event when they are pressed. For our form, we chose the masterdataload event that is executed when a form loads for the !rst time. Selecting an event takes the developer into a wiring screen where events kick o% chains of actions de!ned by a developer (see Figure 3). In our case, we call the previously de!ned Net"ix service and then map the data returned into UI !elds in our form by using a mapping action (see Figure 4). While we did not have to write custom code, it would have been simple to add a function event to the chain we created. Custom code is written in the Lua language, a lightweight scripting language that will feel familiar to developers who have used Visual Basic Script (VBScript), PowerScript, or a host of other Windows based 4GLs.

Page 6: Forrester reviews the KonyOne platform

FOR APPLICATION DEVELOPMENT & DELIVERY PROFESSIONALS

KonyOne Offers A Flexible, Low-Code Platform 5

© 2012, Forrester Research, Inc. Reproduction Prohibited August 28, 2012

! Visual styling of apps with device-speci#c look and feel. Kony accomplishes visual styling of apps by applying “skins” to UI elements. By default, skins are applied consistently across all target platforms, but it’s easy to “fork” a skin, which creates variants for each mobile platform the developer intends to target. By default, the forked children are copies of the parent skin, so the developer only has to modify the skin for the device for which they want to create a custom look. It’s also easy to add theme elements to an application’s skin de!nition, and we found we were able to create the same look and feel of our original jQuery mobile app in about 45 minutes. App-speci!c look and feel also goes beyond skins: Developers can completely suppress individual UI elements on a device-by-device basis simply by setting a con!guration option in the properties editor.

All told, it took us about six hours to learn to use Kony Studio, de!ne our app, adjust its visual style, and get it to a deployable state. While the app de!nition period was longer than the time we spent with jQuery Mobile, the total time to spin up on KonyOne was less, mainly because we had good documentation and samples to draw from.

Figure 1 $e KonyOne Studio Plug-In For Eclipse

Source: Forrester Research, Inc.76981

Source: screen shot from our test using KonyOne Studio

Page 7: Forrester reviews the KonyOne platform

FOR APPLICATION DEVELOPMENT & DELIVERY PROFESSIONALS

KonyOne Offers A Flexible, Low-Code Platform 6

© 2012, Forrester Research, Inc. Reproduction Prohibited August 28, 2012

Figure 2 De!ning An XML-Based Web Service In KonyOne Studio

Source: Forrester Research, Inc.76981

Source: screen shot from our test using KonyOne Studio

Page 8: Forrester reviews the KonyOne platform

FOR APPLICATION DEVELOPMENT & DELIVERY PROFESSIONALS

KonyOne Offers A Flexible, Low-Code Platform 7

© 2012, Forrester Research, Inc. Reproduction Prohibited August 28, 2012

Figure 3 Using $e Event Flow Editor In KonyOne Studio

Source: Forrester Research, Inc.76981

Source: screen shot from our test using KonyOne Studio

Page 9: Forrester reviews the KonyOne platform

FOR APPLICATION DEVELOPMENT & DELIVERY PROFESSIONALS

KonyOne Offers A Flexible, Low-Code Platform 8

© 2012, Forrester Research, Inc. Reproduction Prohibited August 28, 2012

Figure 4 $e Mapping Editor In KonyOne Studio Makes It Easy To Link Data To UI Elements

Source: Forrester Research, Inc.76981

Source: screen shot from our test using KonyOne Studio

KonyOne Delivers A Good Cross-Platform Native And Web Experience

A#er we designed our application, we deployed it as a native app on Android and as a web app for iOS and RIM. We were pleased with the results:

! Our native app worked well in both emulators and on real Android phones. Deploying a KonyOne app to an emulator is a simple task, which allowed us to do most of our unit testing on the development machine. Once we were satis!ed with the result, we were able to install the *.apk !le created by the KonyOne Studio build process onto a real device without incident.

! Web versions were a close approximation of the native apps. $e web version of our test application rendered well across an Apple iPhone and an RIM Torch. We also tested the web version on an iPad tablet, and it rendered well while resizing to !t the expanded real estate of the 10-inch screen.

Page 10: Forrester reviews the KonyOne platform

FOR APPLICATION DEVELOPMENT & DELIVERY PROFESSIONALS

KonyOne Offers A Flexible, Low-Code Platform 9

© 2012, Forrester Research, Inc. Reproduction Prohibited August 28, 2012

! Our application look and feel was consistent with our desired design. Our goal was to create an application that looked as much like our original version as possible. We succeeded; the resulting KonyOne app captures the same design aesthetic as our jQuery Mobile app (see Figure 5). $at said, we did !nd the theming options to be a bit simplistic. For example, backgrounds for UI elements could be one or two colors, but blending between two colors could only be set from top to bottom. It also took a bit of work to achieve the "at menu bar look and feel in our original app with the buttons we used for navigation in the footer element of the KonyOne app.

Figure 5 Our Sample KonyOne App Running In $e Android Emulator

Source: Forrester Research, Inc.76981

Source: screen shot from our test using KonyOne Studio

Page 11: Forrester reviews the KonyOne platform

FOR APPLICATION DEVELOPMENT & DELIVERY PROFESSIONALS

KonyOne Offers A Flexible, Low-Code Platform 10

© 2012, Forrester Research, Inc. Reproduction Prohibited August 28, 2012

Flexible Deployment Options Make KonyOne An Attractive Enterprise Mobile Option

Once we completed our test mobile application, we were easily able to deploy it to a KonyOne server instance running locally. Deployment was a two-stage process: First we published the web services we created, and then we published the web application. For the native Android version, Kony created an *.apk !le, which we installed on a local Android device. Total deployment time for all versions of the application was less than twenty minutes. Kony also has a hosted version of its platform, so we could have chosen to deploy a production version of our application on Kony infrastructure instead of our own.

It’s also worth noting that the KonyOne platform has a number of enterprise features that we did not exercise with our basic mobile app. For the sake of completeness, we’ll mention four in particular that we think enterprise developers will !nd useful:

! Extended integration with device capabilities. We did not need to integrate with on-device instruments such as the camera or accelerometer for our simple mobile app, but KonyOne provides deep platform integration with what it calls its foreign-function interface capability. Foreign functions interface with native device APIs and allow platform-speci!c native code to run in a KonyOne app. $is bridging capability gives app developers the ultimate escape — they can always code a speci!c bit of functionality in Objective-C or Java if they need to.

! Heightened information security requirements. Kony has recently begun to add mobile app management (MAM) capabilities into the KonyOne platform. $ese capabilities allow developers to force upgrades to new versions, set policy around when on-device data expires, or trigger a remote wipe of an application. Built-in MAM can be a boon to development organizations that are running ahead of their IT operations peers because it allows developers to exert !ne-grained control over their own apps.

! Data synchronization for o$ine scenarios. $e KonyOne platform contains a synchronization component that allows developers to implement full bidirectional synchronization to support o'ine applications and to enforce data integrity. When devices reconnect to the network, the synchronization engine reconciles the di%erences between the local and server data stores. We did not test o'ine sync, as our application’s task only makes sense when a user is connected to the Internet.

! Connectors to popular enterprise applications. KonyOne includes connectors to several key systems of record, including Microso# SharePoint, Oracle PeopleSo#, Oracle Siebel, and SAP ERP and CRM. $ese connectors make it easier for developers to expose back-o&ce functionality to mobile devices.

In the end, we were able to meet our goals and ship both native and web-based versions of our sample app. Our total time on the tool was approximately 20 hours of labor for a novice mobile developer to run through the KonyOne installation process, learn the basics of the KonyOne Studio, set up a mobile app, test it, and deploy it.

Page 12: Forrester reviews the KonyOne platform

FOR APPLICATION DEVELOPMENT & DELIVERY PROFESSIONALS

KonyOne Offers A Flexible, Low-Code Platform 11

© 2012, Forrester Research, Inc. Reproduction Prohibited August 28, 2012

R E C O M M E N D AT I O N S

KONYONE HELPS DEVELOPERS QUICKLY BUILD CROSS-PLATFORM APPS

KonyOne is an industrial-strength middleware platform that is adapting well to the shi#s in mobile app development technology. We were able to complete our assigned tasks while barely scratching all the capabilities of the platform. Our one complaint is that KonyOne Studio is still a bit rough around the edges, re"ective of its genesis as an internal con!guration tool. We had a few spots that tripped us up but got beyond them with a bit of coaching from the Kony team along the way. By the time you read this, Kony will have shipped a major update to its platform, which will smooth some of those spots and add JavaScript to Lua as a supported programming language. If you need to build native, hybrid, and web apps from a common code base, we recommend that you put KonyOne on your evaluation shortlist. Based on our hands-on experience, we’d recommend the Kony platform for:

! Development shops that want a single mobile platform for consumer and enterprise apps. Many companies separate their business-to-employee mobile app strategy from their business-to-consumer (B2C) strategy: Marketing is in charge of consumer apps, and IT is on the hook for employee apps. Tens of thousands of customer mays intermittently use B2C apps, while hundreds of users may use an employee app each day. KonyOne is capable of working well across both scenarios and has a pricing model that supports deployment of large-scale consumer apps.

! Development shops that build apps to support a variety of mobile workloads. Multiple app deployment options make KonyOne a good option for organizations that have device-centric, connected, and mobile content needs. Developers can best deliver di%erent types of app functionality by using di%erent mobile architectures. For example, we see many successful content-centric apps delivered with HTML5, while Internet-connected workloads use a combination of native and hybrid app technologies. With the KonyOne platform, developers can make decisions about what technology style to use on a screen-by-screen basis, allowing them to structure large apps with composite workloads to use the mobile deployment technology that best matches each discrete task.

! Development shops looking for a higher-level development experience. Many of the elements of KonyOne Studio will feel familiar to Java, .NET, and 4GL developers. For traditional development shops, an environment that does not entail a conceptual shi# in development or tools or require developers to learn more functional programming languages will result in a reduced on-ramp to productive mobile development.

Page 13: Forrester reviews the KonyOne platform

FOR APPLICATION DEVELOPMENT & DELIVERY PROFESSIONALS

KonyOne Offers A Flexible, Low-Code Platform 12

© 2012, Forrester Research, Inc. Reproduction Prohibited August 28, 2012

ENDNOTES1 In our conversations with development shops that build native apps for multiple platforms using the

dedicated platform so#ware development kits (SDKs), they report a 50% to 70% porting cost per platform.2 In the !rst installment of our hands-on mobile series, we reviewed jQuery mobile. See the November 1,

2011, “jQuery Mobile: The App Internet, Without The App” report.

Page 14: Forrester reviews the KonyOne platform

Forrester Research, Inc. (Nasdaq: FORR) is an independent research company that provides pragmatic and forward-thinking advice to global leaders in business and technology. Forrester works with professionals in 17 key roles at major companies providing proprietary research, customer insight, consulting, events, and peer-to-peer executive programs. For more than 29 years, Forrester has been making IT, marketing, and technology industry leaders successful every day. For more information, visit www.forrester.com. 76981

«

Forrester Focuses OnApplication Development & Delivery Professionals

Responsible for leading development and delivery of applications

that support your company’s business strategies, you also choose

technology and architecture while managing people, skills, practices,

and organization to maximize value. Forrester’s subject-matter expertise

and deep understanding of your role will help you create forward-thinking

strategies; weigh opportunity against risk; justify decisions; and optimize

your individual, team, and corporate performance.

ANDREA DAVIES, client persona representing Market Insights Professionals

About ForresterA global research and advisory "rm, Forrester inspires leaders,

informs better decisions, and helps the world’s top companies turn

the complexity of change into business advantage. Our research-

based insight and objective advice enable IT professionals to

lead more successfully within IT and extend their impact beyond

the traditional IT organization. Tailored to your individual role, our

resources allow you to focus on important business issues —

margin, speed, growth — "rst, technology second.

FOR MORE INFORMATION

To !nd out how Forrester Research can help you be successful every day, please contact the o&ce nearest you, or visit us at www.forrester.com. For a complete list of worldwide locations, visit www.forrester.com/about.

CLIENT SUPPORT

For information on hard-copy or electronic reprints, please contact Client Support at +1 866.367.7378, +1 617.613.5730, or [email protected]. We o%er quantity discounts and special pricing for academic and nonpro!t institutions.