More Related Content Similar to Forrester reviews the KonyOne platform Similar to Forrester reviews the KonyOne platform (20) More from Kony, Inc. (15) Forrester reviews the KonyOne platform1. FOR: Application KonyOne Offers A Flexible, Low-Code
Development
& Delivery
Professionals
Platform
by Jeffrey S. Hammond, August 28, 2012
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-specific 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 predefined 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,
flexibility, 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 after publishing web services.
Forrester Research, Inc., 60 Acorn Park Drive, Cambridge, MA 02140 USA
Tel: +1 617.613.6000 | Fax: +1 617.613.5000 | www.forrester.com
2. FOR APPLICATION DEVELOPMENT & DELIVERY PROFESSIONALS AUGUST 28, 2012
KonyOne Offers A Flexible, Low-Code Platform
Going Hands On With KonyOne Shows How Middleware Is Evolving
by Jeffrey S. Hammond
with Phil Murphy and Shannon Coyne
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. The KonyOne platform
allows developers to build and deploy apps in a variety of mobile configurations, 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 define mobile forms, wrap web services, and map RESTful payload data
into form fields 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 Notes & Resources
2 KonyOne Is A Leading Contender In The Forrester conducted a hands-on review
Mobile Middleware Space of the KonyOne mobile platform for this
research.
KonyOne Installation And Initial Setup Require A
Few Hours Of Effort
Related Research Documents
Kony’s Mobile Development Experience Will
Feel Familiar To 4GL And Java Developers jQuery Mobile: The App Internet, Without
The App
KonyOne Delivers A Good Cross-Platform November 1, 2011
Native And Web Experience
Mobile Development Goes Multiplatform
Flexible Deployment Options Make KonyOne December 22, 2010
An Attractive Enterprise Mobile Option
Define Your Mobile Development Strategy
RECOMMENDATIONS August 24,2010
11 KonyOne Helps Developers Quickly Build
Cross-Platform Apps
© 2012, Forrester Research, Inc. All rights reserved. Unauthorized reproduction is strictly prohibited. Information is based on best available
resources. Opinions reflect 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 clientsupport@forrester.com. For additional information, go to www.forrester.com.
3. FOR APPLICATION DEVELOPMENT & DELIVERY PROFESSIONALS
KonyOne Offers A Flexible, Low-Code Platform 2
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 financial 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. The
result is cross-platform deployment with lower maintenance costs.1 At the time of our hands-on
testing, KonyOne supported compilation to eight different 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 definition, 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 file (called the “Super
Bundle”), and the installation was relatively straightforward. Note that:
The server is dependent on Java. The 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. This 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 preconfigured version of Eclipse. While in theory you
could write Kony Mobile apps on the command line, we don’t recommend it.
© 2012, Forrester Research, Inc. Reproduction Prohibited August 28, 2012
4. FOR APPLICATION DEVELOPMENT & DELIVERY PROFESSIONALS
KonyOne Offers A Flexible, Low-Code Platform 3
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. This would be the case for all approaches that use standard emulators —
it’s not specific 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.
The experience isn’t quite “what you see is what you get” (WYSIWYG), but it’s close enough to it
that it makes little practical difference. The Kony Mobile control palette organizes UI elements
by function and offers a rich set of basic widgets, containers to group widgets and manage layout
across different 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. The 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 find a header
or footer bar that contains buttons or images that link to different screens for navigation. These
header and footer bars are the modern-day design equivalent of menus and are critical pieces
of app design. The Kony Mobile platform implements these controls as discrete UI elements
but also handles device-specific 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.
© 2012, Forrester Research, Inc. Reproduction Prohibited August 28, 2012
5. FOR APPLICATION DEVELOPMENT & DELIVERY PROFESSIONALS
KonyOne Offers A Flexible, Low-Code Platform 4
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 configured 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
Netflix provides to developers. It took us approximately 30 minutes to set up, define, and debug
our web service call in the KonyOne Studio service definition tool (see Figure 2). The result: an
XML-based service call that gets data for top-ranked movies in the Netflix catalog. In addition
to RESTful XML and JSON web services, KonyOne Studio also supports definition of SOAP-
based services as well as a screen-scraping service that pulls data from existing website HTML
pages. This 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 definition efforts were not without some minor challenges. We initially tried to use
a JSON service but encountered some difficulty: 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 define 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 flow in a
Kony application without actually writing code, as each UI element in KonyOne has a set of
predefined 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 first time. Selecting an event takes the developer into a wiring screen where
events kick off chains of actions defined by a developer (see Figure 3). In our case, we call the
previously defined Netflix service and then map the data returned into UI fields 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.
© 2012, Forrester Research, Inc. Reproduction Prohibited August 28, 2012
6. FOR APPLICATION DEVELOPMENT & DELIVERY PROFESSIONALS
KonyOne Offers A Flexible, Low-Code Platform 5
Visual styling of apps with device-specific 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 definition, and we found
we were able to create the same look and feel of our original jQuery mobile app in about 45
minutes. App-specific look and feel also goes beyond skins: Developers can completely suppress
individual UI elements on a device-by-device basis simply by setting a configuration option in
the properties editor.
All told, it took us about six hours to learn to use Kony Studio, define our app, adjust its visual style,
and get it to a deployable state. While the app definition 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 The KonyOne Studio Plug-In For Eclipse
Source: screen shot from our test using KonyOne Studio
76981 Source: Forrester Research, Inc.
© 2012, Forrester Research, Inc. Reproduction Prohibited August 28, 2012
7. FOR APPLICATION DEVELOPMENT & DELIVERY PROFESSIONALS
KonyOne Offers A Flexible, Low-Code Platform 6
Figure 2 Defining An XML-Based Web Service In KonyOne Studio
Source: screen shot from our test using KonyOne Studio
76981 Source: Forrester Research, Inc.
© 2012, Forrester Research, Inc. Reproduction Prohibited August 28, 2012
8. FOR APPLICATION DEVELOPMENT & DELIVERY PROFESSIONALS
KonyOne Offers A Flexible, Low-Code Platform 7
Figure 3 Using The Event Flow Editor In KonyOne Studio
Source: screen shot from our test using KonyOne Studio
76981 Source: Forrester Research, Inc.
© 2012, Forrester Research, Inc. Reproduction Prohibited August 28, 2012
9. FOR APPLICATION DEVELOPMENT & DELIVERY PROFESSIONALS
KonyOne Offers A Flexible, Low-Code Platform 8
Figure 4 The Mapping Editor In KonyOne Studio Makes It Easy To Link Data To UI Elements
Source: screen shot from our test using KonyOne Studio
76981 Source: Forrester Research, Inc.
KonyOne Delivers A Good Cross-Platform Native And Web Experience
After 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 satisfied with the result, we were able to install the *.apk
file created by the KonyOne Studio build process onto a real device without incident.
Web versions were a close approximation of the native apps. The 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 fit the expanded real estate of
the 10-inch screen.
© 2012, Forrester Research, Inc. Reproduction Prohibited August 28, 2012
10. FOR APPLICATION DEVELOPMENT & DELIVERY PROFESSIONALS
KonyOne Offers A Flexible, Low-Code Platform 9
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).
That said, we did find 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 flat 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 The Android Emulator
Source: screen shot from our test using KonyOne Studio
76981 Source: Forrester Research, Inc.
© 2012, Forrester Research, Inc. Reproduction Prohibited August 28, 2012
11. FOR APPLICATION DEVELOPMENT & DELIVERY PROFESSIONALS
KonyOne Offers A Flexible, Low-Code Platform 10
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 file, 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 find 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-specific native code to
run in a KonyOne app. This bridging capability gives app developers the ultimate escape — they
can always code a specific 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. These 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 fine-grained control over their own apps.
Data synchronization for offline scenarios. The KonyOne platform contains a synchronization
component that allows developers to implement full bidirectional synchronization to support
offline applications and to enforce data integrity. When devices reconnect to the network, the
synchronization engine reconciles the differences between the local and server data stores. We
did not test offline 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 Microsoft SharePoint, Oracle PeopleSoft, Oracle Siebel, and
SAP ERP and CRM. These connectors make it easier for developers to expose back-office
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.
© 2012, Forrester Research, Inc. Reproduction Prohibited August 28, 2012
12. FOR APPLICATION DEVELOPMENT & DELIVERY PROFESSIONALS
KonyOne Offers A Flexible, Low-Code Platform 11
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 shifts 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, reflective of its genesis as an internal configuration 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 different types
of app functionality by using different 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 shift
in development or tools or require developers to learn more functional programming
languages will result in a reduced on-ramp to productive mobile development.
© 2012, Forrester Research, Inc. Reproduction Prohibited August 28, 2012
13. FOR APPLICATION DEVELOPMENT & DELIVERY PROFESSIONALS
KonyOne Offers A Flexible, Low-Code Platform 12
ENDNOTES
1
In our conversations with development shops that build native apps for multiple platforms using the
dedicated platform software development kits (SDKs), they report a 50% to 70% porting cost per platform.
2
In the first 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.
© 2012, Forrester Research, Inc. Reproduction Prohibited August 28, 2012
14. About Forrester
A global research and advisory firm, 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 — first, technology second.
FOR MORE INFORMATION
To find out how Forrester Research can help you be successful every day, please
contact the office 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 clientsupport@forrester.com. We offer
quantity discounts and special pricing for academic and nonprofit institutions.
Forrester Focuses On
Application 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
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