Kony Visualizer. Wearables Developer's Guide

Size: px
Start display at page:

Download "Kony Visualizer. Wearables Developer's Guide"

Transcription

1 Kony Visualizer Wearables Developer's Guide Release 7.0 Document Relevance and Accuracy This document is considered relevant to the Release stated on this title page and the document version stated on the Revision History page. Remember to always view and download the latest document version relevant to the software release you are using by Kony, Inc. All rights reserved 1 of 120

2 Copyright 2015 Kony, Inc. All rights reserved. February, 2016 This document contains information proprietary to Kony, Inc., is bound by the Kony license agreements, and may not be used except in the context of understanding the use and methods of Kony, Inc., software without prior, express, written permission. Kony, Empowering Everywhere, Kony Modeler, and Kony Visualizer are trademarks of Kony, Inc. MobileFabric is a registered trademark of Kony, Inc. Microsoft, the Microsoft logo, Internet Explorer, Windows, and Windows Vista are registered trademarks of Microsoft Corporation. Apple, the Apple logo, itunes, iphone, ipad, OS X, Objective-C, Safari, Apple Pay, Apple Watch, and Xcode are trademarks or registered trademarks of Apple, Inc. Google, the Google logo, Android, and the Android logo are registered trademarks of Google, Inc. Chrome is a trademark of Google, Inc. BlackBerry, PlayBook, Research in Motion, and RIM are registered trademarks of BlackBerry. SAP and SAP Business Suite are registered trademarks of SAP SE in Germany and in several other countries. All other terms, trademarks, or service marks mentioned in this document have been capitalized and are to be considered the property of their respective owners by Kony, Inc. All rights reserved 2 of 120

3 Revision History Date Document Version Description of Modifications/Release 2/29/ Updated the following sections: Reorganized the entire Table of Contents of the Apple Watch documentation. Updated ios WatchKit Application Architecture. Complete rewrite of Creating Apple Watch Applications in Kony Visualizer. Deprecated version 6.5 content. Updated Prerequisites by Kony, Inc. All rights reserved 3 of 120

4 Table of Contents 1. Preface Purpose Intended Audience Formatting Conventions Related Documents Contact Us 7 2. Wearables Supported Platforms and Devices Apple Watch Android Wear by Kony, Inc. All rights reserved 4 of 120

5 1. Preface Wearables Developer's Guide 1. Preface 1.1 Purpose The document explains the Application Program Interface (API) in Kony Wearables apps and also provides overviews for understanding how to use them. 1.2 Intended Audience The document is targeted at developers who use Kony Visualizer to develop applications for the Apple Watch and for Android Wear devices. 1.3 Formatting Conventions The following are the formatting conventions used throughout the document: Click here Conventions Explanation Monospace User input text, system prompts, and responses File path Commands Program code File names. Italic Emphasis Names of books and documents New terminology by Kony, Inc. All rights reserved 5 of 120

6 1. Preface Wearables Developer's Guide Conventions Explanation Bold Windows Menus Buttons Icons Fields Tabs Folders. URL Active link to a URL. Note: Provides helpful hints or additional information. Important: Highlights actions or information that might cause problems to systems or data. 1.4 Related Documents Document Purpose Kony Visualizer Installation Guide This guide will help you understand the Kony Visualizer installation procedure. Kony Widget Programmer's Guide This guide will help you understand the widgets and their functionality in Kony Visualizer. Kony Visualizer Development API Developer's Guide This guide will help you understand the functionality and features of the Kony Visualizer API by Kony, Inc. All rights reserved 6 of 120

7 1. Preface Wearables Developer's Guide 1.5 Contact Us We welcome your feedback on our documentation. Write to us at For technical questions, suggestions, comments or to report problems on Kony's product line, contact 2015 by Kony, Inc. All rights reserved 7 of 120

8 2. Wearables Wearables Developer's Guide 2. Wearables Wearables are body-borne miniature electronic devices such as an Apple Watch or Android Wear. Using an Apple Watch or Android Wear, you can access information quickly without pulling out your phone. When you pair a watch with your phone, you can keep track of calendar appointments, notifications, and more from your watch. Based on the actions associated with the notification, you can interact with a companion app on your phone. The benefits of wearables include the ability to access information on the go, increasing productivity with convenient payment processing and so on. Notifications can alert a user to an event that might interest the user. For example, you receive a notification from an existing messaging app with action buttons such as "reply," "delete," and "ignore." When you click "delete," the delete message is deleted. If you click "reply," the app opens on your watch, and you can reply to the message. The watch acts as an extension of your phone by Kony, Inc. All rights reserved 8 of 120

9 2.1 Supported Platforms and Devices The following are the supported platforms for wearable using Kony Visualizer: Platform Version ios 9.0 and above Xcode 7.0 and above Android 4.4W (API 20) and above* * Notifications only Prerequisites The next few sections present overviews about how to develop applications for the Apple Watch and receive notifications on Android Wear. These overviews discuss the details of the Wearables application architecture, working with Xcode, creating a watch user interface (UI) for Apple Watch, setting up notifications on Android Wear, and designing a sample app. To create a Wearables app: You must install Kony Visualizer 7.0 to build a watch app using Kony Visualizer. You need to access Kony MobileFabric Messaging to test notifications. It is a good idea to have the target hardware (an Apple Watch or an Android Wear device) for development and testing Apple Watch Prerequisites The following describes the supported functionality and limitations of the wearable in Kony Visualizer: 2015 by Kony, Inc. All rights reserved 9 of 120

10 You can create your user interface and write your business logic in Kony Visualizer for Apple Watch apps. When developing an Apple Watch app, you can add forms and apply templates in your app. Your Apple Watch app can use notifications, glances, and actions. Apple Watch apps can also apply skins, just as you would with any app you develop in Visualizer. Only the ios platform supports background and foreground modes. On ios, invoking the functions kony.notificationsettings.createaction and kony.notificationsettings.createcategory multiple times will not overwrite the existing actions and categories. On ios, invoking the functions kony.notificationsettings.registercategory will remove the earlier registered categories Android Wear Prerequsites As per the Android documentation, the format methods in Android - DateFormat class implement a subset of Unicode UTS #35 patterns. The subset currently supported by the DateFormat class uses the format characters:acdehhlkklmmsyz. Up to level 17 of the Android API, only the formatting characters adehkmmszy are supported. Note: Android - DateFormat class incorrectly implements k as if it were H for backward compatibility. For more information refer to and Customization of the notification view is not supported in Android by Kony, Inc. All rights reserved 10 of 120

11 2.2 Apple Watch The Apple Watch is a wearable timepiece, a communication device, and a wellness and fitness tracker. The Apple Watch is designed for the wrist, and a user can access and interact with information at a glance. An Apple Watch helps you make calls and receive messages when paired with the iphone. This section provides developers with the information they need to develop apps for the Apple Watch using Kony Wearables ios WatchKit Application Architecture A watch application in ios needs three basic components: 1. An ios app that you create with Kony Visualizer and that runs on your iphone. 2. A WatchKit Extension process that executes the watch app's application logic. This is bundled with your Watch app and runs on the Apple Watch. 3. A Watch app that displays user interface elements and handles navigation. These three components are illustrated in the following diagram by Kony, Inc. All rights reserved 11 of 120

12 Beginning with Apple Watch OS2, your Watch app does not have to be paired at runtime with an ios app that runs on an iphone. The Watch app can be more or less a stand-alone app that provides its services on its own. However, watch apps require an ios app for launching. So it's unrealistic to expect that a watch app would exist completely on its own, and that its corresponding ios app would do absolutely nothing. In general, the services a watch app performs should be short tasks that quickly deliver information or require quick, minimal interactions. Longer-running tasks should be moved into the paired ios app that runs on the user's ios device and communicates with the Watch app via Bluetooth. Every Watch app has a WatchKit Extension built into it that contains your app's custom logic. The custom logic in the WatchKit Extension is written in Swift. The Watch app and the WatchKit Extension work together to start your app s interface. When you interact with your app on an Apple Watch, the Watch app chooses the appropriate scene from your Watch app's storyboards to handle the interaction. For example, if you view your Watch app s glance, it chooses your glance scene. After 2015 by Kony, Inc. All rights reserved 12 of 120

13 choosing the scene, the app launches the WatchKit Extension and creates the objects needed to manage that scene. If needed, the Watch app can communicate with the ios app to retrieve resources and information from remote servers. When the scene is fully configured, it is displayed on an Apple Watch Watch Apps and Kony Visualizer When you create Apple Watch apps with Kony Visualizer, you build your app's user interface using Visualizer's interactive environment and tools. To add code, you can add Swift modules or use the Kony Visualizer code editor to write your Swift code. In general, the Swift code responds to events generated by user interaction. But it can also respond to notifications from its paired ios app. After your user interface is created and you have added the Swift code that you need, you must export your Watch app from Visualizer and import it into Xcode. You can then run and debug your app WatchKit App Life Cycle You can launch your app, interact with notifications and view your app glances using a custom UI. Some interactions launch your Watch app and the embedded WatchKit Extension. The Watch app and WatchKit Extension pass information back and forth until you stop interacting with your app. The Watch OS then suspends the extension until the next user interaction. For more information on Apple Watch app architecture, click here Guidelines for Creating Wearables App To create a Wearables app for the Apple Watch, you have to use the Apple guidelines Guidelines for Creating a Wearables App's UI You must follow certain guidelines when you create a UI for a Watch app. The following are a few key elements for designing an Apple Watch app: 2015 by Kony, Inc. All rights reserved 13 of 120

14 Designing a Watch: An Apple Watch comes in two sizes 38mm and 42mm. The smaller screen is 340 pixels by 272 pixels, and the larger one is 390 pixels by 312 pixels. The watch features a retina display, and you must provide images at double the resolution. You need not provide different sized images (although you can), or design two different layouts because Apple uses relative sizing and spacing options so images and objects resize to fill the available space. App Anatomy: An Apple Watch app supports hierarchical and paginated navigation methods. Glances: Glances are used to display timely and contextual information from the ios app. Glances are accessed by swiping upward and then swiping through horizontally. A glance is read-only and will not allow you to work in your app directly. When you tap a glance, the corresponding watch app is launched. Notifications: The watch app supports local and remote notifications. The two stages of notifications are short look and long look. When you receive a notification, the short-look notification appears. You can add user actions, graphics, and content to notifications. For more information, refer to the respective links: Design Elements ios Designing for the Watch Click here App Anatomy Click here Glances Click here Notifications Click here User Interactions With a Watch App and the Associated Workflow Interacting with glances: Glances can only be tapped. On tapping the glance, the associated watch app will open by Kony, Inc. All rights reserved 14 of 120

15 Interacting with notifications: You can interact with notifications by tapping on actions. Actions can be configured to execute the business logic in the foreground or the background. The foreground mode opens the watch application, and the background mode executes the business logic in the phone app. Interacting with user interface objects in a Watch app: The business logic is executed in the WatchKit Extension Guidelines for Executing Business Logic in the Phone Background When you do not use an app for a certain length of time, the system moves the app to the background state. You need to follow the Apple guidelines to make your app responsive when it is in the background Glance A glance quickly conveys information. Unlike notifications, glances do not have any buttons and are non-interactive. The glance may not be needed for all applications. For more information on glances, click here. Glances are initialized early so that the glance is displayed quickly to the user. You have to follow certain guidelines while creating a glance interface. For more information on glance interface guidelines, click here Notifications Apple Watch apps support both local notifications and remote notifications. Remote notifications, which originate on a server and are transmitted over the internet to the watch, are also known as push notifications. For more information on notifications, refer to the following links: Notifications Local and Remote Notification Programming Guide Testing your notifications 2015 by Kony, Inc. All rights reserved 15 of 120

16 Notification guidelines Dynamic notifications The code that reacts to and handles notifications, like all of the custom code in your Watch app, resides in the WatchKit Extension and must be written in Swift. As a result, if your Wearables app needs to register for notifications, it uses the normal processes that all Apple Watch apps use. These are well documented in the list of links given above. When your app shows notifications, it first displays a short look notification form. If the user continues to look at the notification, then your watch app switches to a long look notification form. A short look notification form contains your app's icon, the app's name, and a string that presents the title of the notification, as shown in the following illustration. A long look notification form presents more detailed information, as you can see in the figure below by Kony, Inc. All rights reserved 16 of 120

17 The long look notification form contains a sash that is provided by the system. Next is the app's notification content. Your app may define specific action buttons that send action messages back to the ios app that is paired with your Watch app. Finally, the system provides a Dismiss button. The long look notification form supports two types of interfaces: static and dynamic. Static notification forms must follow these rules: All images must be in the app's bundle. The interface cannot include controls, tables, maps, or other interactive elements by Kony, Inc. All rights reserved 17 of 120

18 The interface s notificationalertlabel outlet must be connected to a label. The label s contents are set to the notification s alert message. The text for all other labels cannot change Dynamic notification forms enable you to customize the way your watch app displays a notification's content. The following illustration shows the difference between a static and a dynamic notification form. In this example, the static form uses a simple presentation with static labels. The dynamic interface presents more detailed information in a customized form Creating Apple Watch Applications in Kony Visualizer Kony Visualizer gives you the ability to design and develop Apple Watch apps in an interactive WYSIWYG environment. All of your Apple Watch apps must be companion apps to ios apps. However, it is possible for your Watch app to operate nearly independently of the ios app that installs and launches it. More commonly, Watch apps and ios apps cooperate together to accomplish tasks that are important to end users. Watch apps typically present small but important pieces of information that a user views and interacts with for about five to seven seconds on average by Kony, Inc. All rights reserved 18 of 120

19 With Kony Visualizer, you can create your entire ios app from end to end. Specifically, you can write an ios app that runs on a user's ios device, you can add your app's business logic in the WatchKit Extension, and you can design the watch app's entire user interface. The user interfaces for both your ios app and your watch app are forms and widgets that you simply drag and drop onto the Visualizer palette. For information about which user interface objects are supported on the watch, please see Watch Applications, Forms, and Widgets. When you write the application logic for the WatchKit Extension module in your Watch app, you write it in Swift using the code editor in Kony Visualizer, just as you would when developing any other type of app using Kony technologies. You must then export your ios and Watch apps to Xcode where you compile, build, and debug them Adding a Watch App to your Kony Visualizer Project In Kony Visualizer, you can add an Apple Watch app to your current project in just the same way that you would add a mobile, desktop, or tablet app to your project. In Visualizer's Project Explorer pane, you will see that in addition to the Mobile, Tablet, and Desktop channels, there is also a Watch channel displayed, as shown in the following illustration by Kony, Inc. All rights reserved 19 of 120

20 As you can see, the watch appears as an additional channel in the Project pane at the left of the illustration. When you develop your mobile or tablet app, you do so by adding forms, widgets, and so forth to the appropriate channels. Likewise, you can build a watch app by adding forms and user interface objects to the Watch channel. The ability to interactively build both a Watch app and its associated ios app interactively provides a simple, integrated, and intuitive method of creating an integrated phone and watch application. In addition, when you build your Watch app project, you also need to select Apple Watch apps in the build settings in Kony Visualizer, as shown below by Kony, Inc. All rights reserved 20 of 120

21 Watch Applications, Forms, and Widgets You create your watch app's user interface with forms and widgets. You can use three types of forms in a watch application: App forms, Notification forms, and Glance forms. All of these are directly available on the Widgets tab of the Kony Library pane in Visualizer. A watch application cannot dynamically create forms at run time as you can in a mobile or desktop app. You must add all of the forms your watch app needs in Visualizer at design time. If your app has more than one form, it can dynamically select which form it will display at any given time. Notification forms can be either static or dynamic. That is, they can contain either static content that does not change, or they can hold dynamic information that changes by Kony, Inc. All rights reserved 21 of 120

22 Glance forms follow the Apple layout. Specifically, there are upper and lower areas to the glance form as defined in the Apple programming guidelines. Glance forms only support a few types of widgets. For example, you cannot add a button to a glance form because glances are not actionable. Visualizer enables you to use the following widgets in your watch application. Button Date Group: horizontal and vertical Image Label Line Map Segment Slider Switch Timer Watch Applications and Templates To help you build the user interface for your app, Kony Wearables for Apple Watch supports templates, but only for SegmentedUI widgets. For example, the sample app shown in the figure below has a SegmentedUI widget on its frmsecond form. To use a template with the SegmentedUI widget, you first click on the Templates tab, as shown below by Kony, Inc. All rights reserved 22 of 120

23 The Templates tab displays a list of all of the SegmentedUI widgets in your Watch app and enables you to add templates for each one. In this example, there is only one segment. It has a single template, and it's called segtemp, as the following figure illustrates by Kony, Inc. All rights reserved 23 of 120

24 In your templates, you can add Group widgets, buttons, images, and so forth. These are applied to segments and displayed in the UI when your app displays the segment. After you have your template looking the way you want it to, you can apply it to a segment by using the following steps by Kony, Inc. All rights reserved 24 of 120

25 1. Click on the Project tab and then selecting the segment, as illustrated below. 2. Go to the Properties pane and click the Segment tab, which is displayed in the following figure. 3. Now select the template to apply to the segment from the Row Template list by Kony, Inc. All rights reserved 25 of 120

26 Watch Applications, Actions, and Modules Adding actions enables you to build the business logic directly into your watch application. Watch app actions are typically event handlers that are triggered by user interactions with the UI. They can also be callbacks that are invoked by notifications. These are written in Swift. You add an action to a form or widget with the following steps. 1. Click the Action tab in the Properties pane, as shown below. 2. The Action tab displays the list of actions that the form or widget supports. Click the Edit button. Kony Visualizer displays a list of actions. Currently the only action that is supported is adding a Swift code snippet. 3. Add Swift Snippet and add your code in the editor pane that appears. If your snippet takes more than a few lines of code, you should consider putting it into a function an a Swift code module. Your app can then call the function from an action's code snippet. As with any other type of project, you can group your watch app's functions into modules and include them in your project. You create a Swift code module by clicking on Modules in the Project tree and then selecting New Swift module from the Watch node, as shown in the illustration below by Kony, Inc. All rights reserved 26 of 120

27 Your Swift modules are added to your project and are exported together with in when you build it. Therefore, when you import your project into Xcode, your custom Swift modules and all of the code they contain are also imported. Note that you can put any valid code in your custom Swift modules that you need for you app. This includes classes, methods, constants, module global variables, or whatever else you may need to write your app Communication Between the iphone App and the WatchKit Extension Watch apps are paired with iphones via Bluetooth. Watch apps send information requests to their respective ios apps by calling the sendmessage:replyhandler:errorhandler: method, which is in the WCSession class in the Apple Watch Connectivity API. In addition to using the sendmessage:replyhandler:errorhandler: method for information requests, your watch app can invoke it to perform time-consuming tasks such as network calls. In these cases, the watch application relies on the ios application to execute the business logic. Calling the the 2015 by Kony, Inc. All rights reserved 27 of 120

28 sendmessage:replyhandler:errorhandler: method wakes the parent application up in the background (if it is not already running in the foreground), executes the operation, and returns the data that the Watch application needs. The watch callback method that handles the WatchKit request must return immediately or nearly immediately. To fetch data from the ios app, the Watch app calls sendmessage:replyhandler:errorhandler: in accordance with the Apple guidelines for using the WCSession class. The following example demonstrates how the Watch app fetchs data from the ios app. <Class Start> import Foundation import WatchConnectivity import WatchKit class PhoneCommunicator : NSObject, WCSessionDelegate { static var sharedinstance:phonecommunicator? = nil; var session:wcsession? = nil; override init() { super.init(); session = WCSession.defaultSession(); if(session!.delegate == nil){ session!.delegate = self; session!.activatesession(); } } class func getsharedinstance() -> (PhoneCommunicator) { if(sharedinstance == nil){ sharedinstance = PhoneCommunicator(); 2015 by Kony, Inc. All rights reserved 28 of 120

29 } } return sharedinstance!; } func pingphone() { if WCSession.isSupported() { print("session is supported on watch"); if(session!.reachable){ print("session reachable on phone"); session!.sendmessage( ["requestid": "sayhello"], replyhandler: { (response) -> Void in print("in reply handler" print("\(response["reply"]!)"); }, errorhandler: { (error) -> Void in print("in error callback"); print("\(error)") } ) } } } <Class End> 2015 by Kony, Inc. All rights reserved 29 of 120

30 Handling Notifications Your Apple Watch app responds to local notifications that occur on the Watch. It also responds to remote notifications that come from the parent ios app. Creating Notifications To create notifications, use the following steps. 1. Go to the Notifications node in the Kony Visualizer Project pane and select it. 2. In the menu that appears, click New Notification. By default, this creates a static notification that cannot be interacted with. It can only display information and alerts. 3. If you want to change the notification to a dynamic notification, which can have interactive elements such as buttons, select the notification that you created in step Use the down arrow next to the name of the notification to pull down the context menu and click Create Dynamic Notification, as shown in the following illustration by Kony, Inc. All rights reserved 30 of 120

31 Kony Visualizer adds a new node for the dynamic notification form to your project, as depicted in the illustration below by Kony, Inc. All rights reserved 31 of 120

32 When you create a dynamic notification form, the form can receive events. Therefore, you can add event handlers to the form by clicking the Action tab in the Properties pane, and then choosing the Edit button followed by Add Swift Snippet. Processing Notifications To process notifications, your app must do the following. 1. Register for the types of notifications to receive. 2. If your app receives remote notifications, it must specifically register for them. 3. Set up the notification handlers by Kony, Inc. All rights reserved 32 of 120

33 Registering Your App's Notification Types Register for the types of notifications your app will receive by calling the Apple ios method registerusernotificationsettings, which is a member of the UIApplication class. The registerusernotificationsettings method requires your app to pass it a UIUserNotificationSettings object to specify which notifications your app should receive. Registering for Remote Notifications If your app supports remote notifications, it must call the registerforremotenotifications method Apple ios API. Remote notifications are notifications can originate off of the Apple Watch. That is, they originate on the phone or when information comes in across in the Internet. Adding Notification Handlers You add notification handlers in your Swift code by selecting the Action tab in the Properties pane, and then choosing the Edit button followed by Add Swift Snippet. Your code must handle the notifications in accordance with Apple guidelines. For more information, please see the following Apple documentation. Notifications Local and Remote Notification Programming Guide Many notification event handlers have a parameter named completionhandler, as indicated by the red circle in the figure below by Kony, Inc. All rights reserved 33 of 120

34 2015 by Kony, Inc. All rights reserved 34 of 120

35 The completionhandler parameter contains a callback function that your event handler must call upon successful completion in order for the event to be handled properly. This call must be placed at the end of your event handler. Failure to invoke the completionhandler function results in undefined behavior How to Create a Sample Watch App on ios This walkthrough provides a brief introduction on how to create Watch apps for ios. Beginning the Sample Watch App When you build your own watch app, it must be built in conjunction with an ios app. So the first step is to create an ios app in Visualizer. To do so, you add forms and code to the Mobile or Tablet nodes (or both) in the Kony Visualizer Project tree, as the following illustration shows. You must ensure that your ios app has at least one form or your app will not build. If you need information on creating ios mobile or tablet apps in Kony Visualizer, please see the Kony Widget Programmer's Guide and the Kony Visualizer API Developer's Guide by Kony, Inc. All rights reserved 35 of 120

36 In the Kony Visualizer Project tree there is an additional platform (also called a channel) that is specifically for the watch. This channel, named Watch, contains three sub-items; one for forms, one for notifications, and one for glances, as shown below. Adding Forms to the Sample Watch App You can design a user interface for your watch app by dragging user interface objects and forms from the Widgets list in the lower left of the Visualizer screen and dropping them onto the Forms node, as illustrated below by Kony, Inc. All rights reserved 36 of 120

37 In this figure, you can see that the watch app has a single form, which is highlighted in the Project tree on the left. This is a container form that you can drag other widgets into. Like any other type of application built with Kony Visualizer, Watch apps can have multiple forms. Each form can contain a variety of user interface objects, such as buttons, labels, sliders, and so forth. Adding Actions to the Widgets and Forms As with forms and widgets in other types of applications, forms andwidgets in a watch app can respond to actions. For example, if your Watch app contains a button, you can add an event handler action to have the button widget process user interactions. Your Watch app's event handlers must be written in Swift, as required by Apple by Kony, Inc. All rights reserved 37 of 120

38 To do so, click on the Action tab in the Properties pane, as shown below. To add code for an action such as a Button widget's onclick event handler, use the following procdedure. 1. Select the widget that you want to add the event handler to in the Project tree 2. In the Properties pane, click the Action tab, as shown in the following figure. 3. Click the Edit button in the Action pane of the Kony VisualizerProperties window, as shown in the previous illustration. When you do, you are presented with the option of adding a Swift code snippet, which is illustrated in the following figure. 4. When you click Add Swift Snippet, Visualizer opens a window for you to define the parameters 2015 by Kony, Inc. All rights reserved 38 of 120

39 to your callback. This is shown in the figure below by Kony, Inc. All rights reserved 39 of 120

40 Notice in the preceding figure that Code Snippet has been added to the list of actions that respond to the button's onclick event. The onclick event for a button takes one parameter, called form, that contains the button's form. The form parameter is of type frmhomecontroller. When you build your app, Kony Visualizer turns all of this into Swift code for your event handler. Form controllers are generally the targets of your app's actions. So Kony Visualizer creates a form controller for every form in your app. In the example above, Visualizer created the frmhomecontroller type for the button's form. As the illustration above indicates, when the button's onclick event handler is invoked, it is passed the form controller of the form that invoked the handler. Other actions have more parameters than the Button widget's onclick event does. In such cases, the additional parameters are listed in the Define Parameters window. To type code into your event handler, click the Code Snippet node, which is shown in the preceding illustration. Kony Visualizer responds by displaying a code editor window. Use the code editor window to enter the Swift code that you want in our event handler, as shown in the figure below by Kony, Inc. All rights reserved 40 of 120

41 2015 by Kony, Inc. All rights reserved 41 of 120

42 In the preceding illustration, the event handler pushes a new form. By this action, the app navigates to a form called frmfirst. The Swift method call in the example above is simply a standard call to an Apple API function. In general, this is exactly how your app responds to events. That is, it uses actions and code snippets written in Swift to process input from the user. Note also that the preceding illustration shows Visualizer buttons for generating and validating code. Clicking the Validate button performs a check of the action sequence. However, this check does not find errors in your code. You must do that by exporting your built Visualizer project, importing it into Xcode, and debugging it. Clicking the Generate button generates the Swift code for the event handler and pops it up in a window, as the following figure shows by Kony, Inc. All rights reserved 42 of 120

43 2015 by Kony, Inc. All rights reserved 43 of 120

44 As you can see, Kony Visualizer generates the Button widget's handler for the onclick event using the parameters shown previously and the code snippet given above. When you build your project so that you can import it into Xcode, Kony Visualizer stores the code for your actions, like the code for the onclick event shown in the preceding figure, in a file called SwiftCallbacksBridge.swift. If you need to debug the code in your actions, that's where you will find it. Important: Many event handlers have a parameter named completionhandler. The completionhandler parameter contains a callback function that your event handler must call in order for the event to be handled properly. Failure to invoke the completionhandler function results in undefined behavior. Complex Actions The example in the preceding topic performed a simple navigation from one form to another in its event handler. However, if your app's event handler needs to perform a complex action, you generally should define a function in a separate Swift code module and call the function from your app's event handler. If you do, the code snippet for the event handler will probably be very simple and straightforward. But it can still perform complex processing by invoking one or more functions from your custom Swift code module. Moving event handler code into functions in Swift code modules provides you with several advantages. For instance, it enables you to define and access module global variables. You can also manually import libraries that may not normally be imported by the code that Kony Visualizer generates. Adding Notifications to the Sample Watch App You can add notification forms by clicking the notification in the Project tree and selecting the down arrow to pull down the context menu. From the context menu, choose New Notifications by Kony, Inc. All rights reserved 44 of 120

45 When you do, a notifications form will be added to your app. In this example, we will create a form for the fictional Kony Airlines that will display such information as flight schedules. The form appears below by Kony, Inc. All rights reserved 45 of 120

46 As with regular forms, you can drag user interface objects onto your notification form. Because they display primarily only static information, the palette of user interface objects that are available for notification forms is more limited than with regular forms. But you are able to add such user interface elements as images, labels, timers, and so on. Dynamic notifications are also available if you need them. To add a dynamic notification, simply select a notification form, click on its down arrow, and select Create Dynamic Notification from the context menu by Kony, Inc. All rights reserved 46 of 120

47 Note: Each static notification in your app can have at most one dynamic notification associated with it. Adding Glances to the Sample Watch App Every application must have one (and only one) glance form. The glance form itself has an upper and a lower group of user interface controls. To customize the controls, you simply drag user interface objects into the target group. Because glances are not actionable, none of the actionable user interface objects, such as button and segment objects, can be put on a glance form by Kony, Inc. All rights reserved 47 of 120

48 Building the Sample Watch App When you have finished adding widgets, actions, code snippets, and code modules to your app, you can build it by selecting Product from the Kony Visualizer main menu. Next, click Build. The Kony Visualizer Build Generation dialog box appears. In this dialog box, you must check ios to build your Watch app's parent ios app. You must also check Apple Watch to build your Watch app by Kony, Inc. All rights reserved 48 of 120

49 If the app builds correctly, Kony Visualizer outputs a.kar file. The.KAR file contains the storyboards for your app, the code for the actions and other event handlers, and any code that you added in custom Swift modules. To compile, debug, and run your app, you must next extract the.kar file and load it into Xcode, as described in the Kony documentation topic View Applications on a Mac. With your app in Xcode, you are ready to compile and debug it. If you make changes to you app's code in Xcode, it is recommend that you copy the changes back into the code editor in Kony Visualizer Internationalizing Watch Applications Apps for Kony Wearables can be customized for international use. In particular, you can define different strings that your app can use in its user interface for different locales. There are two ways to do this. First, you can define locale strings using Kony Visualizer. Second, you can add them to your app programmatically. To define locale strings in Kony Visualizer, use the following steps. 1. Select Edit from the main menu, and then choose Internationlization(i18n), as shown in the figure below by Kony, Inc. All rights reserved 49 of 120

50 2. In the dialog box that appears, enter the keys for the text you want to localize, as shown in the following figure. Use the plus symbol at the right of the dialog box to select the languages that you want to localize for. For each language that you add, enter the localized string. Click Finish. The Configure Internationalization dialog box closes. 3. Select the widget whose UI text you want to localize. 4. In the Properties pane, select the key you create in step by Kony, Inc. All rights reserved 50 of 120

51 For example, if you created a key called skey, selected the locales, and entered the localized strings in step 2, you would then select a widget as instructed in step 3. The Properties pane for the label widget would look similar to the figure above. You would next select the key skey in the Text i18n Key field. The result would be that, instead of the string "Label" being used for the Label widget's label when you app runs, your app would automatically use the localized strings if the app was being on a device is set to one of the locales you chose in step Apple-Specific Limitations This section describes limitations and issues that are specific to producing Wearables apps on the Apple Watch Old Glance Forms Reappearing in an App If you have a glance form in your Watch app and you delete it, it is possible that the old glance form may reappear in your app. This happens when you completely remove the glance form from your app and do not replace it with a new glance form. In other words, your app used to have a glance form but it doesn't any more by Kony, Inc. All rights reserved 51 of 120

52 The cause of this is due to the way Apple's Xcode compiler handles intermediate files for each particular App ID. Xcode stores the intermediate files in a directory for each specific App ID and it does not always delete the intermediate files when you change your application. Therefore, the old glance form may persist in the folder containing all of the intermediate files for that App ID. To fix this, use the following procedure. 1. From the Xcode main menu, select File and then Project Settings. 2. In the project settings, find the path to the folder for Derived Data. 3. Open a Finder window and navigate to the Derived Data folder. Delete everything in the folder. 4. Go back to Xcode and perform a clean build. The problem should be resolved Localized Text Appears in English In some locales, localized text is not used in your app. Rather, the English text appears in the user interface. According to the Apple release notes for Xcode 7.0, this is a known issue on the Apple Watch for apps that contain regions. The problem only appears in a limited number of locales. But unfortunately, Apple has not published a list of affected locales. If this occurs on your app, a way to work around it is for your app to load your localized strings from data files that you bundle with your app. Your app can then explicitly assign the localized strings to the appropriate properties on your forms Importing Projects from Kony Studio 6.5 Apple Watch apps developed with Kony Studio 6.5 can be imported into the current version of Kony Visualizer by Kony, Inc. All rights reserved 52 of 120

53 If your Apple Watch app was developed under Kony Studio 6.5, it was targeted at Apple's Watch OS1. However, Apple now requires apps in the App Store to be targeted to Watch OS2. To do this, you should import your project from Kony Studio 6.5 into Kony Visualizer 7.0 or later. Your app does not have to take advantage of the new features offered in Watch OS2 and Kony Visualizer 7.0. If that's the case with your app, then importing your project is straightforward. You just need to ensure that you have enabled the Watch app in your Kony Studio 6.5 project before you import it into Kony Visualizer 7.0. You can continue to use Xcode and Objective-C as you did before. If, on the other hand, you want to use the Watch OS2 and Kony Visualizer 7.0 features in you app, you will need to use Kony Visualizer 7.0 or later to design the user interface of your app and add its application logic. The application logic must be rewritten in Swift, rather than Objective-C. Once you make this conversion, you can access all of the new features available for your use. Whether you use the newer features or not, you should check to ensure that the Watch Compatibility Mode in the Project Settings dialog box. To do so, use the procedure below. 1. From the Kony Visualizer Project pane, which is shown in the following illustration, click Project Settings by Kony, Inc. All rights reserved 53 of 120

54 2. When the Project Settings dialog box appears, select the Native tab. 3. Click the iphone/ipad/watch tab. If there is no check mark in the Watch Compatibility Mode checkbox, click it to make one appear. For more detailed instructions on importing your Kony Studio 6.5 projects, please see Migrating Watch Apps from Watch OS1 to Watch OS2 in the Kony Studio 6.5 documentation by Kony, Inc. All rights reserved 54 of 120

55 2.2.5 Deprecated As of version 7.0 of Kony Visualizer Enterprise, Wearables applications are now developed completely in the Visualizer IDE. As a result of this newer, simpler paradigm, some of the development steps are no longer needed. However, they continue to be documented in this section for those still using version 6.5 and lower by Kony, Inc. All rights reserved 55 of 120

56 Configuring Your Xcode Project You must have an existing konyios plug-in for a WatchKit App. You can download the plug-in from the Kony update site or pick it from Kony Visualizer that is installed on your machine. Open your ios plugin in the Xcode project and add a new WatchKit App target. Once you add the WatchKit App target, the target configures and adds resources for your WatchKit App and WatchKit Extension. Adding WatchKit App to Your Project To add a WatchKit App to your ios project, follow these steps: 1. Install the latest Kony Visualizer 6.5, and navigate to <Drive:>\Kony\Plugins folder. 2. Locate <com.kony.ios_version>.jar plug-in, and copy it to a different location on your machine. 3. Rename the file to <com.kony.ios_version>.zip, and extract the.zip anywhere on your machine. 4. From the extracted folder, navigate to luavmiphone > VMAppWithKonylib and open VMAppWithKonylib.xcodeproj project. 5. Select File > New > Target, and navigate to the Apple Watch section by Kony, Inc. All rights reserved 56 of 120

57 6. Select WatchKit App and click Next. 7. To include notifications in your app, select the Include Notification Scene check box. 8. To include glance in your app, select the Include Glance check box. Note: Even if you are not planning to implement notifications in your app now, it is recommended to select the Include Notification Scene check box. It helps in debugging your notification interfaces. 9. Click Finish. The Xcode configures your project and creates two new targets as WatchKit App and WatchKit Extension. Designing and Writing Your App You can design the user interface of your watch application directly in Kony Integrated Visualizer directly on your design canvas. As with apps for other platforms, you can add widgets, configure their properties, and so forth by Kony, Inc. All rights reserved 57 of 120

58 Kony Integrated Visualizer generates your user interface as JSON statements, which must then be converted into something that Xcode can use to build your WatchKit app. Fortunately, Kony Integrated Visualizer provides a tool that translates the JSON user interface of your app into XML that Xcode can use. And it does this automatically during the build process, so you don't need to worry about it. You simply add the resulting XML to your Xcode project and Xcode will be able to build your Kony Integrated Visualizer application. To Build, Run, and Debug When you create your WatchKit App target, the Xcode automatically configures a build scheme to run and debug your WatchKit App. Use that scheme to launch and run your app in ios Simulator or on a device. For apps that include glance or custom notification interfaces, you must configure additional build schemes to test those interfaces. Use the glance scheme to debug your glance interface in the simulator, and use the notification scheme to test your dynamic and static notification interfaces. To configure custom build schemes for the glances and notifications, follow these steps: 1. In your Xcode, from the scheme menu, click on existing WatchKit App scheme and select Edit Scheme. 2. Duplicate your existing WatchKit App scheme, and name it appropriately. For example, choose a name like Glance - sample WatchKit App to indicate that the scheme is specifically for running and debugging your glance by Kony, Inc. All rights reserved 58 of 120

59 Note: You have to create a separate schema for Glance, Dynamic Notification, and Static Notification. 3. Select Run in the left column of the scheme editor. 4. On the Info tab, select the appropriate executable for the new scheme. 5. Click on Close button by Kony, Inc. All rights reserved 59 of 120

60 WatchKitRequestUtil KonyWatchKitRequestUtil is a class that helps communication between the WatchKit App and its parent (iphone) application. The APIs of this class facilitate the communication through the ios IPC channel between Apple Watch and iphone. A request, a set of key value pairs, from the Watch App is sent to its parent application. The parent application handles the request and sends the response, a set of key value pairs back to the watch app. The response data obtained from these APIs can be cached using one of the cache policies so that the further fetch data requests can leverage the readily available cache. These APIs can also help map the response data to the watch app UI using other classes of KonyWatchKitUtil library. All the requests that are sent to the phone using these APIs will be executed in the background. Instance Creation APIs These APIs help create an instance of KonyWatchkitRequestUtil object. The APIs are: sharedinstance init (instancetype) sharedinstance This API returns a shared instance of KonyWatchkitRequestUtil object. Example KonyWatchkitRequestUtil *util = [KonyWatchkitRequestUtil sharedinstance]; (id) init This API helps initialize KonyWatchkitRequestUtil object. Example 2015 by Kony, Inc. All rights reserved 60 of 120

61 KonyWatchkitRequestUtil *util = [[KonyWatchkitRequestUtil alloc] init]; Data Fetch APIs The Data Fetch APIs help fetch the data from the cache based on the cache policy specified. You cannot update the data using these APIs. The APIs are: fetchdatawithrequestid:oncompletion:cachepolicy fetchdatawithrequestid:userinfo:oncompletion:cachepolicy fetchdatawithrequestid:oncompletion:cachepolicy This API fetches data with a given requestid based on the cache policy specified. The parameters are: requestid: This parameter identifies a specific request among multiple requests made by a watch app from its parent application. oncompletion: This parameter accepts an Objective-C block as an input. The block is invoked after receiving the response from a parent application. The callback assumes two parameters: NSError: This parameter accepts an object that contains the error sent by the iphone application. data: This parameter is an object that contains data sent by the iphone. Note: You can pass nil if you do not want to do anything with the fetched data. cachepolicy : Specifies the cache policy. For more information on supported cache policies, Example click here by Kony, Inc. All rights reserved 61 of 120

62 void( ^ callback)(nserror * err, id data) = ^ (NSError * err, id data) { if (err) { NSLog(@"%@", err); //(To check what caused the error) } else { //do something } }; - (void) oncompletion: callback cachepolicy: KonyDataCachePolicyOnlyFromLocal fetchdatawithrequestid:userinfo:oncompletion:cachepolicy This API fetches data with a given requestid and userinfo based on the cache policy specified. The parameters are: requestid: This parameter identifies a specific request among multiple requests made by a watch app from its parent application. userinfo: This parameter specifies the dictionary that you must send to iphone. oncompletion: This parameter accepts an Objective-C block as an input. The block is invoked after receiving the response from parent application. The callback assumes two parameters: NSError: This parameter accepts an object that contains the error sent by the iphone application. data: This parameter is an object that contains data sent by the iphone. Note: You can pass nil if you do not want to do anything with the fetched data. cachepolicy: Specifies the cache policy. For more information on supported cache policies, click here by Kony, Inc. All rights reserved 62 of 120

63 Example NSDictionary * userinfo = [ [NSDictionary alloc] init ]; [userinfo is Edited ]]; - (void) EditMail userinfo: userinfo oncompletion: nil cachepolicy: KonyDataCachePolicyOnlyFromRemote Fetch Data and Update Controller APIs The fetch data and update controller APIs are similar to the other fetch APIs in this class. But they add convenience functionality of updating the application UI with the data obtained from fetch response. Updating the controllers using the response data is done by using KonyDataMapper class. The response data can still be cached using any of the supported cache policies. The APIs are: fetchandupdatecontrollerwithrequestid:controller:oncompletion:cachepolicy fetchandupdatecontrollerwithrequestid:controller:userinfo:oncompletion:cachepolicy fetchandupdatecontrollerwithrequestid:controller:oncompletion:cachepolicy This API fetches data with given requestid and controller based on the cache policy specified. The parameters are: requestid: This parameter identifies a specific request among multiple requests made by a watch app from its parent application by Kony, Inc. All rights reserved 63 of 120

64 controller: This is the object that manages a scene or a section of the scene. Typically, these objects are instances of WKInterfaceController class (manages scenes) or NSObject class (manages table rows). oncompletion: This parameter accepts an Objective-C block as an input. The block is invoked after receiving the response from the parent application. The callback assumes two parameters: NSError: This parameter accepts an object that contains the error sent by the iphone application. data: This parameter is an object that contains data sent by the iphone. Note: You can pass nil if you do not want to do anything with the fetched data. cachepolicy: Specifies the cache policy. For more information on supported cache policies, click here. Example void( ^ createlocalcache)(nserror * err, id data) = ^ (NSError * err, id data) { if (err) { NSLog(@"%@", err); //(just to check what caused the error) } else { // since we are calling API with KonyDataCachePolicyNoCache data fetched will not be cached, so in callback you can cache the fetched data using KonyDataCache APIs KonyDataCache * cache = [KonyDataCache sharedinstance]; [cache setcachewithdictionary: data]; //data is reply from the iphone } }; - (void) MarkRead controller: nil 2015 by Kony, Inc. All rights reserved 64 of 120

65 oncompletion: createlocalcache cachepolicy: KonyDataCachePolicyNoCache fetchandupdatecontrollerwithrequestid:controller:userinfo:oncompletion:cachepolicy This API is used to fetch data with given requestid, controller, and userinfo based on the cache policy specified. The parameters are: requestid: This parameter is used to identify a specific request among multiple request made by a watch app from its parent application. controller: It is the object that manages a scene or a section of the scene. Typically, these objects are instances of WKInterfaceController class (manages scenes) or NSObject class (manages table rows). userinfo: This parameter specifies the dictionary that you must to send to the parent (iphone). oncompletion: This parameter accepts an Objective-C block as an input. The block is invoked after receiving the response from parent application. The callback assumes two parameters: NSError: This parameter accepts an object that contains the error sent by the iphone application. data: This parameter is an object that contains data sent by the iphone. Note: You can pass nil if you do not want to do anything with the fetched data. cachepolicy: Specifies the cache policy. For more information on supported cache policies, click here. Example //Let us say we have an ExampleInterfaceController class which extends WKInterfaceController, 2015 by Kony, Inc. All rights reserved 65 of 120

66 ExampleInterfaceController * mycontroller = [ [ExampleInterfaceController alloc] init ]; NSDictionary * userinfo = [ [NSDictionary alloc] init ]; [userinfo is Deleted"]]; void( ^ callback)(nserror * err, id data) = ^ (NSError * err, id data) { if (err) { NSLog(@"%@", err); //(To check what caused the error) } else { //do something } }; [util controller: mycontroller userinfo: userinfo oncompletion: callback CachePolicy: KonyDataCachePolicyFetchLatest ]; Cache Policies A cache is an area of local memory in Apple Watch that holds a copy of frequently accessed data. If the caching is not there, then Apple Watch sends the request to iphone to display the information. Such frequent requests will reduce the performance of your app. The KonyWatchKitUtil library has the following cache policies: KonyDataCachePolicyOnlyFromLocal: Use this policy to fetch the data from the local cache. If the cache is not available, then the APIs with this cache policy execute a callback block with 2015 by Kony, Inc. All rights reserved 66 of 120

67 "nocache" error. KonyDataCachePolicyFetchLatest: Use this policy to fetch the latest data from the cache or its parent (iphone) application. The data received is cached. Note: Fetching the latest information occurs by validating the cacheid that is supplied as part of the request information. It is the responsibility of the parent app to validate the version of the data (cacheid), with the current version of the data available in the parent app. If the validation results in a decision to send the latest information back to the watch app, then the parent app should send the response dictionary in the following format { "hasupdate":true, "cacheid":<updated CacheId>,"data":<responsedata>}. If the validation results in a decision where there are no updates in the data, then the parent app should send the response dictionary in the following format {"hasupdate":false}. KonyDataCachePolicyOnlyFromRemote: Use this policy to fetch the data from its parent (iphone) application. The data received is cached. KonyDataCachePolicyNoCache: Use this policy to fetch the data from its parent (iphone) application, and the data is not cached. Note: If there is a connection failure between the watch and its parent, then a callback is executed with a connectionfailed error Note: Data is cached based on the requestid passed as a first parameter to these four cache policies. Passing same requestid will overwrite data in the cache. The following is an example where the cache policy KonyDataCachePolicyFetchLatest is used as a parameter. The parent application should validate the cacheid, and the appropriate response is sent back by Kony, Inc. All rights reserved 67 of 120

68 function onwatchrequestcallback1(userinfo, replyobj) { var date = new Date(); var testdata; if (userinfo["datasetid"] === "Delet ) { if (userinfo["cacheid"] == currentcacheid) { testdata = { "data": nil, //optional here since cache in local is valid no need to pass data again "cacheid": userinfo["cacheid ], "hasupdate : false }; } else { testdata = { "data": { "label": { "text": "BasicWorks" } }, "cacheid": date, "hasupdate": true }; } } replyobj.executewithreply(testdata); } 2015 by Kony, Inc. All rights reserved 68 of 120

69 KonyDataMapper A KonyDataMapper class helps update UI widgets on an Apple Watch application. This class accepts a dictionary of information and automatically maps the dictionary contents on to the widget properties when the dictionary follows a pre-defined format. Typically, this dictionary is the response data received from a phone application using KonyWatchKitUtil APIs. The class has the following APIs: initwithobject: This API helps initialize KonyDataMapper object. This API accepts an object that manages UI widgets (an object of WKInterfaceController class) as a parameter to map the widget properties with the dictionary contents. Note: If you initialize KonyDataMapper object using the init function, an exception will result. updatewidgetpropertiesfromdictionary: This API updates the widget properties with the input dictionary contents. This API relies on outlets (properties) defined in the controller object to map the dictionary contents. The keys in the dictionary are the names of the outlets in the object passed as a parameter in KonyDataMapper object creation. The values must be the dictionary with keys as properties of outlets and their corresponding values. Note: Some widgets can accept string also as a value. Sample code to create object and updating the properties //Sample code KonyDataMapper *datamapper = [[KonyDataMapper alloc] initwithobject:self];//here self is the InterfaceController [datamapper updatewidgetpropertiesfromdictionary:adictioanry]; The followingare the widgets supported by KonyDataMapper class: 2015 by Kony, Inc. All rights reserved 69 of 120

70 Button Date Group Image Label Map Switch Separator Slider Timer Table Button This widget (an instance of WKInterfaceButton class) represents a tappable area on the watch screen. A button supports actions that help invoke a method. For example, when you tap on the watch screen, an action associated with the button gets invoked. A button can be enabled or disabled dynamically. You can assign the styles for a title using attributed title. You cannot add a Button widget to the following forms: Notification Static Notification Dynamic Glances 2015 by Kony, Inc. All rights reserved 70 of 120

71 Properties The followingare the properties of the Button Widget. Property Description Modifiable at Runtime alpha The opacity of the object. A value of 1.0 represents fully opaque and a value of 0.0 represents fully transparent. backgroundcolor backgroundimage A string that specifies the background color of the button. A string that specifies the background image name for the button. color The color to apply to the button s title. No enabled A Boolean value that indicates whether the button is enabled. The default is true. font The font to apply to the button s title. height The height of the object. Specify a fixed height or set the value of the object to be a percentage of its container s height. hidden Indicates whether the item is hidden initially. horizontal id image installed The horizontal alignment of the item. Use this attribute to configure the horizontal position of the item relative to its immediate parent. A string containing a unique identifier for the button. A string containing the name of the image to use for the button. A Boolean value that indicates whether the item is rendered for the current device No No No 2015 by Kony, Inc. All rights reserved 71 of 120

72 Property Description Modifiable at Runtime mode opacity render The image scaling mode to be used for the button s image. A numeric value that specifies the opacity of the widget. The value of this property must be in the range 0.0 (transparent) to 1.0 (opaque). Any values outside this range are fixed to the nearest minimum or maximum value. A Boolean value that specifies whether the button will be rendered. No No title A string that specifies the title of the button. vertical visible widgetalignment width The vertical alignment of the item. Use this attribute to configure the vertical position of the item relative to its immediate parent. A value that specifies whether the button is visible. It accepts a Boolean value in a casesensitive string or nonstring formats such as "true" / "false" or true/false. You can also specify 0 for true or 1 for false. Indicates how a widget is to be anchored with respect to its parent. The width of the object. Specify a fixed width or set the value of the object to be a percentage of its container s width. No No Event The button widget provides the following event by Kony, Inc. All rights reserved 72 of 120

73 Event Description onclick Triggered when the button is clicked by the user. Example //Defining the button properties. "button": { "title": "button title", "backgroundcolor": "#654321", "backgroundimage": "image" } // You can also configure the button using the string. "button": "buttonname" Note: Images must be placed in the "ImageAssests" folder, and the image name must be specified as values in a dictionary. By default, images have a higher priority than color. If the specified image name is not found, then the color is applied. Date This widget (an instance of WKInterfaceDate class) displays the date or time on the watch screen. A date can be configured by time zone and calendar. You can dynamically change the color of the date. The ios-supported calendar and time zones must be specified as string. The followingare the supported calendar formats: GregorianCalendar BuddhistCalendar ChineseCalendar 2015 by Kony, Inc. All rights reserved 73 of 120

74 CopticCalendar EthiopicAmeteMihretCalendar EthiopicAmeteAlemCalendar HebrewCalendar ISO8601Calendar IndianCalendar IslamicCalendar IslamicCivilCalendar IslamicTabularCalendar IslamicUmmAlQuraCalendar JapaneseCalendar PersianCalendar RepublicOfChinaCalendar Properties The followingare the properties of Date Widget. Property Description Modifiable at Runtime alpha The opacity of the object. A value of 1.0 represents fully opaque and a value of 0.0 represents fully transparent. calendar A string that specifies the type of calendar to use by Kony, Inc. All rights reserved 74 of 120

75 Property Description Modifiable at Runtime contentalignment date A value that specifies the alignment of the content. Can be set to one of the following: Left, Right, Center, Justify. The date information to display. The date options correspond to the values of the NSDateFormatterStyle type defined in the Apple documentation. No No format height kcfdateformatternostyle, kcfdateformattershortstyle, kcfdateformattermediumstyle, kcfdateformatterlongstyle, kcfdateformatterfullstyle A selector for choosing between standard and custom formats. For standard formats, you use the Date and Time attributes to configure the information you want to display. Changing the value of this attribute to Custom lets you configure the date exactly the way you want based on the format options. The height of the object. Specify a fixed height or set the value of the object to be a percentage of its container s height. No hidden Indicates whether the item is hidden initially. horizontal id The horizontal alignment of the item. Use this attribute to configure the horizontal position of the item relative to its immediate parent. A string containing a unique identifier for the widget. No No 2015 by Kony, Inc. All rights reserved 75 of 120

76 Property Description Modifiable at Runtime installed opacity A Boolean value that indicates whether the item is rendered for the current device A numeric value that specifies the opacity of the widget. The value of this property must be in the range 0.0 (transparent) to 1.0 (opaque). Any values outside this range are fixed to the nearest minimum or maximum value. No preview A preview of what the date and time will look like. No render textcolor time A Boolean value that specifies whether the widget will be rendered. A hexadecimal string that specifies the color of the date. The time information to display. The time options correspond to the values of the NSDateFormatterStyle type No No No timezone A string that specifies the time zone for the date. vertical visible width The vertical alignment of the item. Use this attribute to configure the vertical position of the item relative to its immediate parent. A value that specifies whether the item is visible. It accepts a Boolean value in a case-sensitive string or nonstring formats such as "true" / "false" or true/false. You can also specify 0 for true or 1 for false. The width of the object. Specify a fixed width or set the value of the object to be a percentage of its container s width. No 2015 by Kony, Inc. All rights reserved 76 of 120

77 Example //Defining the date properties. "date": { "textcolor": "#123456", "timezone": "Asia/Kolkata", "calendar": "IndianCalendar" } Note: The order of the keys is not mandatory. You can use only the required key-value pairs. Group This widget (an instance of WKInterfaceGroup class) helps group one or more widgets. The group acts as a container. Configure a group by setting image, color, and cornerradius. You can add the Group widget to the following forms: App forms Glance Forms Notification Static Notification Dynamic Properties The followingare the properties of the Group Widget by Kony, Inc. All rights reserved 77 of 120

78 Attribute Description Modifiable at Runtime animate background backgroundcolor backgroundimage A Boolean value indicating whether the background image can be animated. Set the value to to configure the animation parameters, including its duration (in seconds) and whether it starts immediately when the parent interface controller appears onscreen. Animations started at load time run continuously in a loop. A string containing the name of the image to use for the image that is displayed behind the group s items. A string that specifies the background color of the widget. A string that specifies the background image name for the button. No border The border style for the group. No bottom height id insets The number of pixels to pad on the bottom of the widget. The height of the object. Specify a fixed height or set the value of the object to be a percentage of its container s height. A string containing a unique identifier for the widget. The amount of space (in points) to insert between the edges of the group and its parent container. Selecting Custom lets you specify different values for the top, bottom, left, and right edges. No No 2015 by Kony, Inc. All rights reserved 78 of 120

79 Attribute Description Modifiable at Runtime layout left mode opacity radius render right spacing top A value that specifies how items in the group are laid out. Can be set to FlowHorizontal or FlowVertical. The number of pixels to pad on the left side of the widget. The content mode for the group s background image. Use this option to specify whether the image is scaled or pinned to a particular edge of the group. A numeric value that specifies the opacity of the widget. The value of this property must be in the range 0.0 (transparent) to 1.0 (opaque). Any values outside this range are fixed to the nearest minimum or maximum value. The corner radius to apply to the group s rectangle. Content inside the group is clipped to the corner radius. If you do not specify a custom value, WatchKit applies a 6-point radius by default. A Boolean value that specifies whether the widget will be rendered. The number of pixels to pad on the right side of the widget. Additional spacing (in points) to include between items in the group. The number of pixels to pad on the top of the widget. No No No No No No No 2015 by Kony, Inc. All rights reserved 79 of 120

80 Attribute Description Modifiable at Runtime visible width A value that specifies whether the item is visible. It accepts a Boolean value in a casesensitive string or nonstring formats such as "true" / "false" or true/false. You can also specify 0 for true or 1 for false. The width of the object. Specify a fixed width or set the value of the object to be a percentage of its container s width. Example //Defining the group properties. "group": { "backgroundcolor": "#123456", "backgroundimage": "image", "cornerradius": "2.0" } Note: The order of the keys is not mandatory. You can use only the required key-value pairs. Image The Image widget (an instance of WKInterfaceImage class) is non-interactive widget that you can use to display a bitmapped image on the watch. The Image widget can display either a single image or sequence of images to play an animation. Note: Images must be present in the ImageAssests folder by Kony, Inc. All rights reserved 80 of 120

81 Supported Image formats: All the image formats supported by ios. Preferabley PNG or JPEG. Other supported formats can introduce performance issues. File Naming conventions Single image: <imagename><extension> Ex: sample.png Image sequence : <imagename><sequencenumber><extension> Ex: sample1.png, sample2.png, sample3.png etc Properties The followingare the properties of the Image Widget. Attribute Description Modifiable at Runtime alpha animate height The opacity of the object. A value of 1.0 represents fully opaque and a value of 0.0 represents fully transparent. A Boolean value indicating whether the image can be animated. Set the value to to configure the animation parameters, including its duration (in seconds) and whether it starts immediately when the parent interface controller appears onscreen. Animations started at load time run continuously in a loop. The height of the object. Specify a fixed height or set the value of the object to be a percentage of its container s height. No hidden Indicates whether the item is hidden initially horizontal The horizontal alignment of the item. Use this attribute to configure the horizontal position of the item relative to its immediate parent. No 2015 by Kony, Inc. All rights reserved 81 of 120

82 Attribute Description Modifiable at Runtime imagename The name of the image to be displayed. This image must be in the WatchKit app s bundle. installed Indicates whether the item is rendered for the current device No mode The content mode for the image. This mode defines how the image scales or fills the image area. No tint The color applied to a template image. vertical width The vertical alignment of the item. Use this attribute to configure the vertical position of the item relative to its immediate parent. The width of the object. Specify a fixed width or set the value of the object to be a percentage of its container s width. No Example //Defining the image properties. "image": { "imagename": "imagename", "tintcolor": "#654321" } // You can also configure the Image using the string. "image": "imagename" Note: The order of the keys is not mandatory. You can use only the required key-value pairs by Kony, Inc. All rights reserved 82 of 120

83 Label This widget (an instance of WKInterfaceLabel class) displays text on the watch screen. The text is displayed using the system default font, scale, and alignment. To use custom values for text, use attributed text. The default label color is white. The following are the properties of the Label Widget: Attribute Description Modifiable at Runtime alignment alpha font height The alignment of the text within its bounding rectangle. Use this attribute to align text when the width of the label is greater than the width of the text itself. The opacity of the label. A value of 1.0 represents fully opaque and a value of 0.0 represents fully transparent. The font information to be applied to the text. You can specify one of the predefined styles or provide custom style information. For custom fonts, you must include the font in your WatchKit app bundle. You can also apply font information when using the methods for setting attributed text. The height of the label. Specify a fixed height or set the value of the label to be a percentage of its container s height. No No hidden Indicates whether the label is hidden initially. horizontal The horizontal alignment of the label. Use this attribute to configure the horizontal position of the label relative to its immediate parent. No installed Indicates whether the label is rendered on the current device. No lines The maximum number of lines to allow for the label text. Text that does not fit on the specified number of lines is truncated. No 2015 by Kony, Inc. All rights reserved 83 of 120

84 Attribute Description Modifiable at Runtime minscale The amount by which the font may be scaled to accommodate text. Values must be 1.0 or less. Specifying a value of 0 causes WatchKit to use the default scaling behavior, which allows scaling to 0.8 of the original font size. No text The text to be displayed. textcolor The color of the label's text. vertical width The vertical alignment of the label. Use this attribute to configure the vertical position of the labelrelative to its immediate parent. The width of the label. Specify a fixed width or set the value of the label to be a percentage of its container s width. No Example //Defining the label properties. "label": { "text": "labelname", "textcolor": "#5236ce" } // You can configure the text using the string. "label": "labelname" Note: The order of the keys is not mandatory. You can use only the required key-value pairs by Kony, Inc. All rights reserved 84 of 120

85 Map This widget (an instance of WKInterfaceMap class) displays the map on the watch screen. You must configure the map dynamically. A map can have more than one annotation. Properties The following are the properties of the Map Widget: Attribute Description Modifiable at Runtime alpha The opacity of the object. A value of 1.0 represents fully opaque and a value of 0.0 represents fully transparent by Kony, Inc. All rights reserved 85 of 120

86 Attribute Description Modifiable at Runtime annotation An array of dictionaries that specifies the text to be displayed on the screen. The dictionary contains the following structure. location: An array of two double values that specifies the location. This property is mandatory. The double values must be in the following format. lat: Specifies the latitude value. long: Specifies the longitude value. imagename: A string that specifies the image for annotation. offset: An array of two floating point values that specify the offset distance for annotation. pincolor: The color of the pin on the map. Can be set to red, green, and purple. If the pincolor is not specified, by default red is configured. All other colors are not supported. remove: A Boolean value as a string or number. This property removes all annotations. It accepts a boolean value in case-sensitive string or nonstring formats such as "true" / "false" or true/false. You can also specify 0 for true or 1 for false. enabled height A Boolean value that indicates whether the map is enabled. The default is true. The height of the map object. Specify a fixed height or set the value of the object to be a percentage of its container s height by Kony, Inc. All rights reserved 86 of 120

87 Attribute Description Modifiable at Runtime horizontal The horizontal alignment of the item. Use this attribute to configure the horizontal position of the item relative to its immediate parent. No id A string containing a unique identifier for the map. No maprect An array of four double values that specifies the twodimensional map projection. The array must be in the following format. No x: Specifies the location of the point along the x-axis of the map. y: Specifies the location of the point along the y-axis of the map. width: Specifies the width of the map. region height: Specifies the height of the map. An array of four double values that specifies the values as an array with the following properties. You must provide the values in two-digit numbers. latitude: Specifies the latitude value. longitude: Specifies the longitude value spannorth: Specifies the vertical span representing the amount of map to display. spansouth: Specifies the horizontal span representing the amount of map to display. textcolor The default color of the text. widgetalignment Indicates how a widget is to be anchored with respect to its parent. No 2015 by Kony, Inc. All rights reserved 87 of 120

88 Attribute Description Modifiable at Runtime width The width of the object. Specify a fixed width or set the value of the object to be a percentage of its container s width. Important details about the preceding properties: For annotation you can specify either imagename and offset or pincolor. The behavior is undefined if you specify imagename and pincolor. The offset must be configured to display the custom pin. If the pin image name is not specified, then the red pin is used. The offset (with image) takes precedence over pincolor. The remove property accepts a boolean value. If remove is true, then all annotations are Example deleted. //Defining the map properties. "map": { "maprect": [10.22, 10.33, 20, 20], "region": [ , , 1, 1], "annotation :[ { "location": [ , ], "imagename": "image", //optional by default red color pin is used "offset": [1.2, 3.4], }, { "location": [ , ], "pincolor": "purple" "remove": "yes" //Removes all annotations } 2015 by Kony, Inc. All rights reserved 88 of 120

89 ] } Note: The order of the keys is not mandatory. You can use only the required key-value pairs. Separator This widget (an instance of WKInterfaceSeparator class) helps separate the widgets. You can assign a color to a separator. The following are the properties of the Separator Widget: Attribute Description Modifiable at Runtime alpha The opacity of the object. A value of 1.0 represents fully opaque and a value of 0.0 represents fully transparent. color The default color of the separator. height The height of the object. Specify a fixed height or set the value of the object to be a percentage of its container s height. hidden Indicates whether the item is hidden initially. horizontal The horizontal alignment of the separatpr. Use this attribute to configure the horizontal position of the separator relative to its immediate parent. No installed Indicates whether the item is rendered for the current device. No vertical The vertical alignment of the item. Use this attribute to configure the vertical position of the item relative to its immediate parent. No 2015 by Kony, Inc. All rights reserved 89 of 120

90 Attribute Description Modifiable at Runtime visible width A Boolean value that specifies the visibility of the separator. Accepts a Boolean value in case-sensitive string, nonstring, or numeric formats. As a string, your app can set this property to "true" or "false". Alternatively, it can use the values true and false. If you choose a numeric format, specify 0 for true and 1 for false. The width of the object. Specify a fixed width or set the value of the object to be a percentage of its container s width. Example //Defining the separator properties. "Separator": { "color": "5236ce", } Note: The order of the keys is not mandatory. You can use only the required key-value pairs. Slider This widget (an instance of WKInterfaceSlider class) selects a value from a defined range of values by using the minus and plus signs on the slider. The value is incremented using a float value form 0 to 1.0. A slider can be enabled or disabled dynamically. Properties The following are the properties of the Slider Widget by Kony, Inc. All rights reserved 90 of 120

91 Attribute Description Modifiable at Runtime alpha The opacity of the object. A value of 1.0 represents fully opaque and a value of 0.0 represents fully transparent. color A hexadecimal string that specifies the color of the slider. continuous enabled height The display style for the slider. When enabled, the slider value displays its value using a solid bar. When disabled, the slider displays its value using discrete steps. A value that specifies whether the slider is enabled. It accepts a Boolean value in a case-sensitive string or nonstring formats such as "true" / "false" or true/false. You can also specify 0 for true or 1 for false. The height of the object. Specify a fixed height or set the value of the object to be a percentage of its container s height. No hidden Indicates whether the item is hidden initially. horizontal installed maximage The horizontal alignment of the item. Use this attribute to configure the horizontal position of the item relative to its immediate parent. A Boolean value that indicates whether the item is rendered for the current device. The name of the image to display next to the maximum value of the slider. This image must be bundled with your WatchKit app. No No No maximum The largest numerical value allowed by the slider. No minimage The name of the image to display next to the minimum value of the slider. This image must be bundled in the WatchKit app. No minimum The smallest numerical value allowed by the slider. No 2015 by Kony, Inc. All rights reserved 91 of 120

92 Attribute Description Modifiable at Runtime numberofsteps value vertical visible width A positive integer as a string or number that specifies the number of steps between the minimum and maximum values. The slider uses the number of steps to determine how much to increment or decrement the value when the user interacts with the slider controls. A positive float value as a string or number that specifies the value of the slider. The vertical alignment of the item. Use this attribute to configure the vertical position of the item relative to its immediate parent. A Boolean value that specifies the visibility of the separator. Accepts a Boolean value in case-sensitive string, nonstring, or numeric formats. As a string, your app can set this property to "true" or "false". Alternatively, it can use the values true and false. If you choose a numeric format, specify 0 for true and 1 for false. The width of the object. Specify a fixed width or set the value of the object to be a percentage of its container s width. No No Note: The behavior is undefined if you assign negative values to the numberofsteps and value properties. Example //Defining the slider properties. "slider": { "value": ".25", "numberofsteps": "10", "color": "#5236ce", 2015 by Kony, Inc. All rights reserved 92 of 120

93 } "enabled": "yes" // You can configure the slider using the string. "slider": ".5" Note: The order of the keys is not mandatory. You can use only the required key-value pairs. Switch This widget (an instance of WKInterfaceSwitch class) displays a toggle button on the watch screen. The following are the properties of the Switch Widget. Attribute Description Modifiable at Runtime alpha color enabled font height The opacity of the object. A value of 1.0 represents fully opaque and a value of 0.0 represents fully transparent. A hexadecimal value contained in a number or a string that specifies the color of the switch. A value that specifies whether the slider is enabled. It accepts a Boolean value in a case-sensitive string or nonstring formats such as "true" / "false" or true/false. You can also specify 0 for true or 1 for false. The font information to be applied to the title string. You can specify one of the predefined styles or provide custom style information. The height of the object. Specify a fixed height or set the value of the object to be a percentage of its container s height. No hidden Indicates whether the item is hidden initially by Kony, Inc. All rights reserved 93 of 120

94 Attribute Description Modifiable at Runtime horizontal The horizontal alignment of the item. Use this attribute to configure the horizontal position of the item relative to its immediate parent. No installed Indicates whether the item is rendered for the current device No state tint A Boolean value that specifies the state of the switch. Accepts a Boolean value in a case-sensitive string, nonstring, or numeric formats. As a string, your app can set this property to "true" or "false". Alternatively, it can use the values true and false. If you choose a numeric format, specify 0 for true and 1 for false. False indicates that the switch is off, while true specifies that it is on. A hexadecimal value contained in a number or a string that specifies the color of the switch when it is on. title The string to be displayed next to the switch. No vertical visible width The vertical alignment of the item. Use this attribute to configure the vertical position of the item relative to its immediate parent. A Boolean value that specifies the visibility of the separator. Accepts a Boolean value in case-sensitive string, nonstring, or numeric formats. As a string, your app can set this property to "true" or "false". Alternatively, it can use the values true and false. If you choose a numeric format, specify 0 for true and 1 for false. The width of the object. Specify a fixed width or set the value of the object to be a percentage of its container s width. No Example //Defining the switch properties. "Switch": { 2015 by Kony, Inc. All rights reserved 94 of 120

95 "title": "switchname", "color": "5236ce", "state": "no", "enabled": "yes" } // You can configure the switch using the string. "Switch": "SwitchName" Note: The order of the keys is not mandatory. You can use only the required key-value pairs. Timer This widget (an instance of WKInterfaceTimer class) acts as a countdown timer. There is no delegate for the timer. To know when the timer reaches zero, you need to run a separate timer next to the timer. A timer can be stopped or started, and the countdown is automatically calculated from the date. The counting starts when the timer reaches zero. The following are the properties of the Timer Widget: Attribute Description Modifiable at Runtime action A string containing start or stop. alpha date height The opacity of the object. A value of 1.0 represents fully opaque and a value of 0.0 represents fully transparent. A string containing the date and time in the format mm/dd/yyyy hh:mm ap where mm is the month, dd is the day, yyyy is the year, hh is the hour, mm is the minutes, and ap is am or pm. The height of the object. Specify a fixed height or set the value of the object to be a percentage of its container s height by Kony, Inc. All rights reserved 95 of 120

96 Attribute Description Modifiable at Runtime hidden Indicates whether the item is hidden initially. horizontal The horizontal alignment of the item. Use this attribute to configure the horizontal position of the item relative to its immediate parent. No installed Indicates whether the item is rendered for the current device No textcolor visible vertical width A hexadecimal value contained in a number or a string that specifies the color of the switch. A Boolean value that specifies the visibility of the separator. Accepts a Boolean value in case-sensitive string, nonstring, or numeric formats. As a string, your app can set this property to "true" or "false". Alternatively, it can use the values true and false. If you choose a numeric format, specify 0 for true and 1 for false. The vertical alignment of the item. Use this attribute to configure the vertical position of the item relative to its immediate parent. The width of the object. Specify a fixed width or set the value of the object to be a percentage of its container s width. No Example //Defining the timer properties. "time": { "date": "12/30/ :30 am", //mm/dd/yyyy hh:mm a "textcolor": "#123456", "action": "start" } Note: The order of the keys is not mandatory. You can use only the required key-value pairs by Kony, Inc. All rights reserved 96 of 120

97 Table This widget (an instance of WKInterfaceTable class) represents a single-column table. The table represents a dictionary containing a controller for row and data dictionary for each widget. Each row in a table is a class that is a subclass of the NSObject and contains outlets. To initialize a group of rows simultaneously, use the key "rows". To insert rows at a given position or delete a specific row with the specified indices, use the key "rowactions." The followingare the updatable properties of the Table Widget: Attribute Description Modifiable at Runtime height The height of the object. Specify a fixed height or set the value of the object to be a percentage of its container s height. hidden Indicates whether the item is hidden initially horizontal The horizontal alignment of the item. Use this attribute to configure the horizontal position of the item relative to its immediate parent. No installed Indicates whether the item is rendered for the current device. No rows vertical width The number of row controllers supported by the table. Change the value to add or remove new row controller objects to the storyboard file. The vertical alignment of the item. Use this attribute to configure the vertical position of the item relative to its immediate parent. The width of the object. Specify a fixed width or set the value of the object to be a percentage of its container s width. No Note: The index value ranges from zero to the number of rows in a table by Kony, Inc. All rights reserved 97 of 120

98 Example //Inserting two rows in a table."table": { "data": { "controller": "RowController", "rows": [{ "button": "buttonname", "label": "labelname" }, //row { "button": "buttonname2", "label": "labelname2" }, //row ] } } //Insert and remove two rows in a table."table": { "data": { "controller": "RowController", "rowactions": { "insert": [{ "index": 0, "data": { "button": "buttonname3", "label": "labelname3" } }], "remove": [1] } } 2015 by Kony, Inc. All rights reserved 98 of 120

99 Note: The order of the keys is not mandatory. You can use only the required key-value pairs by Kony, Inc. All rights reserved 99 of 120

100 KonyDataCache KonyDataCache is a class that stores key-value pairs, similar to a dictionary. The cache stores data temporarily in a watch that is obtained from an iphone using WatchKit requests. Reusing the cached data improves performance. The cache reduces the processing requests to iphone and helps to improve responsiveness for the users. However, if the data is not critical to the application and memory is running low, cached data can be discarded. If discarded, the data must be recomputed. cachetimeoutinterval This property helps cache the data in an Apple Watch for the duration specified. If you do not specify the cachetimeoutinterval, the data is cached for one day. The duration must be specified in seconds. Example KonyDataCache * cache = [ [KonyDataCache alloc] localcache ]; cache.cachetimeoutinterval = 20; // so data is cached for 20 seconds Following are the APIs available for the KonyDataCache class: initwithname:(nsstring*)cachename (instancetype)sharedinstance (void)setobject:(id)value forkey:(id)key (id)getobjectforkey:(id)key (void)setcachewithdictionary:(nsdictionary*)dict (NSDictionary)getDictionaryFromCache (void)setstring:(nsstring*)string forkey:(nsstring*)key 2015 by Kony, Inc. All rights reserved 100 of 120

101 (NSString*)getStringforKey:(NSString*)key (void)setimage:(uiimage*)image forkey:(nsstring*)key (UIImage*)getImageForKey:(NSString*)key (NSArray*)getAllkeys (void)clearcache (void)removecacheforkey:(nsstring*)key initwithname:(nsstring*)cachename This API helps you initialize the KonyDataCache object with the specified cache name. Signature initwithname:(nsstring*)cachename Input Parameters cachename [String] - Mandatory Specifies the name of the cache that must be initialized. Return Values This API returns the initialized KonyDataCache object. Platform Availability Available on ios platform. Example KonyDataCache * cache = [ ]; [KonyDataCache alloc] 2015 by Kony, Inc. All rights reserved 101 of 120

102 (instancetype)sharedinstance This API helps you create a shared instance of the KonyDataCache object with a default name. Signature (instancetype)sharedinstance Input Parameters None Return Values This API returns the KonyDataCache shared instance. Platform Availability Available on ios platform. Example KonyDataCache * cache = [KonyDataCache sharedinstance]; (void)setobject:(id)value forkey:(id)key This API helps you set cache with a given key value pair. Signature (void)setobject:(id)value forkey:(id)key Input Parameters value [object] - Mandatory Specifies the value to be cached. key [String] - Mandatory Specifies the key for the value object by Kony, Inc. All rights reserved 102 of 120

103 Return Values None Platform Availability Available on ios platform. Example KonyDataCache * cache = [ [KonyDataCache alloc] ]; NSArray * arr [cache setobject: arr (id)getobjectforkey:(id)key This API helps you get the value of the NSObject for the given key object. Signature (id)getobjectforkey:(id)key Input Parameters key [String] - Mandatory Specifies the key object for which the associated value is retrieved. Return Values None Platform Availability Available on ios platform by Kony, Inc. All rights reserved 103 of 120

104 Example NSArray * arr = [cache (void)setcachewithdictionary:(nsdictionary*)dict This API helps you set cache with a given dictionary. Signature (void)setcachewithdictionary:(nsdictionary*)dict Input Parameters dict [Object] - Mandatory Specifies the dictionary object with which the cache is set. Return Values None Platform Availability Available on ios platform. Example NSDictionary * dict {@ "val2" }; [cache setcachewithdictionary: dict]; (NSDictionary)getDictionaryFromCache This API helps you get the dictionary from cache by Kony, Inc. All rights reserved 104 of 120

105 Signature (NSDictionary)getDictionaryFromCache Input Parameters None Return Values This API returns the dictionary. Platform Availability Available on ios platform. Example NSDictionary * dict = [cache getdictionaryfromcache]; (void)setstring:(nsstring*)string forkey:(nsstring*)key This API helps you set the cache with given key-value string objects. Signature (void)setstring:(nsstring*)string forkey:(nsstring*)key Input Parameters String [String] - Mandatory Specifies the string object set as a value to the given key. key [String] - Mandatory Specifies the key for the object. Return Values This API returns the dictionary. Platform Availability Available on ios platform by Kony, Inc. All rights reserved 105 of 120

106 Example [cache ]; (NSString*)getStringforKey:(NSString*)key This API helps you get the string object associated with the given key. Signature (NSString*)getStringforKey:(NSString*)key Input Parameters key [String] - Mandatory Specifies the key for the object to which the associated value is retrieved. Return Values This API returns NSString object. Platform Availability Available on ios platform. Example [cache ]; (void)setimage:(uiimage*)image forkey:(nsstring*)key This API helps you set the image object to a given key in cache. Signature (void)setimage:(uiimage*)image forkey:(nsstring*)key 2015 by Kony, Inc. All rights reserved 106 of 120

107 Input Parameters image [UIImage] - Mandatory Specifies the image object set as a value to the given key. key [String] - Mandatory Specifies the key for the object. Return Values This API returns NSString object. Platform Availability Available on ios platform. Example UIImage * image = [UIImage [cache setimage: image (UIImage*)getImageForKey:(NSString*)key This API helps you get the image for a given key. Signature (UIImage*)getImageForKey:(NSString*)key Input Parameters key [String] - Mandatory Specifies the key object to which the associated value is retrieved. Return Values This API returns UIImage. Platform Availability Available on ios platform by Kony, Inc. All rights reserved 107 of 120

108 Example UIImage * img = [cache (NSArray*)getAllkeys This API helps you get all keys in the cache. Signature (NSArray*)getAllkeys Input Parameters None Return Values This API returns NSArray object. Platform Availability Available on ios platform. Example NSArray *arr = [cache getallkeys]; (void)clearcache This API helps you clear the cache. Signature (void)clearcache Input Parameters None Return Values None 2015 by Kony, Inc. All rights reserved 108 of 120

109 Platform Availability Available on ios platform. Example [cache clearcache]; (void)removecacheforkey:(nsstring*)key This API helps you remove cache for the given key. Signature (void)removecacheforkey:(nsstring*)key Input Parameters key [String] - Mandatory Specifies the key object that has to be removed from the cache. Return Values None Platform Availability Available on ios platform. Example [cache removecacheforkey:@"myimage"]; 2015 by Kony, Inc. All rights reserved 109 of 120

110 2.3 Android Wear Google's Android Wear helps you run your app on your wrist. As with your phone, you can use Android Wear to play music, check the weather, track fitness, track flights, get reminders, answer calls, and more. Android Wear is paired (connected) with your handheld device through Bluetooth. The message that you receive on your phone is also displayed on Android Wear. Using Android Wear, you can also block notifications being received from your phone. You can only display notifications on Android Wear. Creating a complete app for Android wearable using Kony Visualizer is not available in this release Application Architecture for Android Android Phone and Android Wear apps consist of the following components: Message Data Receiver: This component is responsible for listening to the data and message changes that happen between the wearable and mobile application. Message Data/Send: This component is responsible for sending data between the wearable and mobile application using Data APIs and Message APIs by Kony, Inc. All rights reserved 110 of 120

111 Wearable Listener: The wearable listener service receives events from other nodes such as data changes, messages, or connectivity events. The lifecycle of this service is managed by Android Wear. Data Layer: This component stores the data. Broadcast Receiver: The broadcast receiver component helps you receive intents that are broadcast by the system or by other applications, even when other components of the application are not running. For example, applications can register for the ACTION_BOOT_COMPLETED system event that is executed once the Android system has completed the boot process Notification Lifecycle for Android The Android notification lifecycle involves three stages: Stage one: A push message is sent from a push messaging server. Stage two: The message is then received by the Android Phone. Stage three: The device displays the notification on both the Android phone and Android Wear. When you interact with the notification action on the Android Wear or Android Phone, the necessary callbacks are executed. The notifications are dismissed on both the devices. The following illustration depicts a typical notification lifecycle for Android: 2015 by Kony, Inc. All rights reserved 111 of 120

112 You have to follow certain guidelines for creating notifications such as title, number of lines of text you want to display, image size, and so on by Kony, Inc. All rights reserved 112 of 120

113 2.3.3 Configuring an Android Wear Project This section explains the procedure to configure an Android Wear project and covers the following topics: Installing the Software Download the SDK and Install the Software Set Up the Android Wear Emulator or Device How to Create and Test a Sample App on Android Wear Troubleshooting Installing the Software Refer to the following links to install Android SDK, Android Wear Device, and Emulator: Download the SDK and Install the Software Set up the Android Wear Emulator or Device How to Create and Test a Sample App on Android Wear In this release Kony Visualizer supports only notifications to be displayed on your Android Wear. Creating a complete app would be available in future releases. To create a sample app and test it on your Android Wear, follow these steps: 1. From your Kony Visualizer, open an existing project or create a new project. 2. Go to Application Properties > Native> Android, and select Enable Local Notifications check box to receive Local Notifications and GCM check box to receive Push Notifications by Kony, Inc. All rights reserved 113 of 120

114 3. To see actions in notifications, your app should have actions, categories associated with the actions. You app should also register the category. For example, below is the code for the sample app. //Sample code to create actions. Make sure this code is executed before notification gets fired. var ReadMailObj = kony.notificationsettings.createaction ({"id":"readmail", "label":"readmail", "pspconfig": {"activationmode":kony.notificationsettings.activation_mode_ FORWARDS, "authenticationrequired": true, "destructive": true}}); var Delet Obj = kony.notificationsettings.createaction ({"id":"delet ", "label":"delet ", "pspconfig": {"activationmode":kony.notificationsettings.activation_mode_ 2015 by Kony, Inc. All rights reserved 114 of 120

Kony Visualizer. Wearables Developer's Guide

Kony Visualizer. Wearables Developer's Guide Kony Visualizer Wearables Developer's Guide Release 7.3 Document Relevance and Accuracy This document is considered relevant to the Release stated on this title page and the document version stated on

More information

Engagement Services. Database Setup Guide - SQL Server

Engagement Services. Database Setup Guide - SQL Server Kony MobileFabric Engagement Services Database Setup Guide - SQL Server Release 7.2.5 Document Relevance and Accuracy This document is considered relevant to the Release stated on this title page and the

More information

Installation Guide - Windows

Installation Guide - Windows Kony Visualizer Enterprise Installation Guide - Windows Release V8 SP3 Document Relevance and Accuracy This document is considered relevant to the Release stated on this title page and the document version

More information

Integration Service. Admin Console User Guide. On-Premises

Integration Service. Admin Console User Guide. On-Premises Kony MobileFabric TM Integration Service Admin Console User Guide On-Premises Release 7.3 Document Relevance and Accuracy This document is considered relevant to the Release stated on this title page and

More information

Installation Guide - Mac

Installation Guide - Mac Kony Visualizer Enterprise Installation Guide - Mac Release V8 SP3 Document Relevance and Accuracy This document is considered relevant to the Release stated on this title page and the document version

More information

Installation Guide - Mac

Installation Guide - Mac Kony Visualizer Enterprise Installation Guide - Mac Release 7.3 Document Relevance and Accuracy This document is considered relevant to the Release stated on this title page and the document version stated

More information

Integration Service. Admin Console User Guide. On-Premises

Integration Service. Admin Console User Guide. On-Premises Kony Fabric Integration Service Admin Console User Guide On-Premises Release V8 SP1 Document Relevance and Accuracy This document is considered relevant to the Release stated on this title page and the

More information

Installation Guide - Mac

Installation Guide - Mac Kony Fabric Installation Guide - Mac On-Premises Release V8 Document Relevance and Accuracy This document is considered relevant to the Release stated on this title page and the document version stated

More information

Installation Guide - Mac

Installation Guide - Mac Kony Visualizer Enterprise Installation Guide - Mac Release 7.0 Document Relevance and Accuracy This document is considered relevant to the Release stated on this title page and the document version stated

More information

Installation Guide - Windows

Installation Guide - Windows Kony Visualizer Installation Guide - Windows Release 2.5 Document Relevance and Accuracy This document is considered relevant to the Release stated on this title page and the document version stated on

More information

Kony MobileFabric Engagement Services QuickStart Guide

Kony MobileFabric Engagement Services QuickStart Guide Kony MobileFabric (Building a Sample App - Android) Release 7.0 Document Relevance and Accuracy This document is considered relevant to the Release stated on this title page and the document version stated

More information

Sync Services. Server Planning Guide. On-Premises

Sync Services. Server Planning Guide. On-Premises Kony MobileFabric Sync Services Server Planning Guide On-Premises Release 6.5 Document Relevance and Accuracy This document is considered relevant to the Release stated on this title page and the document

More information

Integration Service. Admin Console User Guide. On-Premises

Integration Service. Admin Console User Guide. On-Premises Kony MobileFabric TM Integration Service Admin Console User Guide On-Premises Release 6.5 Document Relevance and Accuracy This document is considered relevant to the Release stated on this title page and

More information

Kony MobileFabric. Release Notes. On-Premises. Release 6.5. Document Relevance and Accuracy

Kony MobileFabric. Release Notes. On-Premises. Release 6.5. Document Relevance and Accuracy Kony MobileFabric Release Notes On-Premises Release 6.5 Document Relevance and Accuracy This document is considered relevant to the Release stated on this title page and the document version stated on

More information

Sync Services. Server Planning Guide. On-Premises

Sync Services. Server Planning Guide. On-Premises Kony Fabric Sync Services Server On-Premises Release V8 Document Relevance and Accuracy This document is considered relevant to the Release stated on this title page and the document version stated on

More information

Introduction to Kony Fabric

Introduction to Kony Fabric Kony Fabric Introduction to Kony Fabric Release V8 Document Relevance and Accuracy This document is considered relevant to the Release stated on this title page and the document version stated on the Revision

More information

Kony Reference Architecture SDK. API Programmers' Guide

Kony Reference Architecture SDK. API Programmers' Guide Kony Reference Architecture SDK API Programmers' Guide Release V8 SP2 2018 by Kony, Inc. All rights reserved 1 of 98 Kony Reference Architecture SDK API Programmer's Guide Copyright 2018 Kony, Inc. All

More information

Android Build Guidelines

Android Build Guidelines Kony Visualizer Android Build Guidelines Release 7.2.1 Document Relevance and Accuracy This document is considered relevant to the Release stated on this title page and the document version stated on the

More information

Supported Devices, OS, and Browsers

Supported Devices, OS, and Browsers Kony Visualizer Supported Devices, OS, and Browsers Release V8 Document Relevance and Accuracy This document is considered relevant to the Release stated on this title page and the document version stated

More information

User Journey - Funnel Reports, App Events and APM

User Journey - Funnel Reports, App Events and APM Kony Fabric Reporting and Analytics User Journey - Funnel Reports, App Events and APM Release V8 SP1 Document Relevance and Accuracy This document is considered relevant to the Release stated on this title

More information

Supported OS, Application Servers, and Databases Guide

Supported OS, Application Servers, and Databases Guide Supported OS, Application Servers, and Databases Guide Release V8 Document Relevance and Accuracy This document is considered relevant to the Release stated on this title page and the document version

More information

Installation Guide for Kony Fabric Containers Solution On-Premises

Installation Guide for Kony Fabric Containers Solution On-Premises Kony Fabric Installation Guide for Kony Fabric Containers Solution On-Premises Release V8.3.0.0 GA Document Relevance and Accuracy This document is considered relevant to the Release stated on this title

More information

Kony Licensing Guide

Kony Licensing Guide Release 6.5 On-Premises Document Relevance and Accuracy This document is considered relevant to the Release stated on this title page and the document version stated on the Revision History page. Remember

More information

1 Build Your First App. The way to get started is to quit talking and begin doing. Walt Disney

1 Build Your First App. The way to get started is to quit talking and begin doing. Walt Disney 1 Build Your First App The way to get started is to quit talking and begin doing. Walt Disney Copyright 2015 AppCoda Limited All rights reserved. Please do not distribute or share without permission. No

More information

Sync Services. Design Guidelines

Sync Services. Design Guidelines Kony MobileFabric Sync Services Design Guidelines Release 6.5 Document Relevance and Accuracy This document is considered relevant to the Release stated on this title page and the document version stated

More information

Kony MobileFabric. Deployment Guide. Release 7.3. Document Relevance and Accuracy

Kony MobileFabric. Deployment Guide. Release 7.3. Document Relevance and Accuracy Kony MobileFabric Deployment Guide Release 7.3 Document Relevance and Accuracy This document is considered relevant to the Release stated on this title page and the document version stated on the Revision

More information

Apple Watch Docs. Release 0.1. Michael Hahn

Apple Watch Docs. Release 0.1. Michael Hahn Apple Watch Docs Release 0.1 Michael Hahn Nov 20, 2017 Contents 1 First Watch Glance 3 1.1 Create an iphone App.......................................... 3 1.2 Add WatchKit Targets..........................................

More information

Sync Services. Developing Offline Applications

Sync Services. Developing Offline Applications Kony MobileFabric Sync Services Developing Offline Applications Release 6.5 Document Relevance and Accuracy This document is considered relevant to the Release stated on this title page and the document

More information

Aware IM Version 8.2 Aware IM for Mobile Devices

Aware IM Version 8.2 Aware IM for Mobile Devices Aware IM Version 8.2 Copyright 2002-2018 Awaresoft Pty Ltd CONTENTS Introduction... 3 General Approach... 3 Login... 4 Using Visual Perspectives... 4 Startup Perspective... 4 Application Menu... 5 Using

More information

Installation Guide - Linux. On-Premises

Installation Guide - Linux. On-Premises Kony Management Installation Guide - Linux On-Premises Release 4.3 Document Relevance and Accuracy This document is considered relevant to the Release stated on this title page and the document version

More information

Installation Guide - Mac

Installation Guide - Mac Installation Guide - Mac Release 7.0 Beta Document Relevance and Accuracy This document is considered relevant to the Release stated on this title page and the document version stated on the Revision History

More information

Registering for the Apple Developer Program

Registering for the Apple Developer Program It isn t necessary to be a member of the Apple Developer Program if you don t intend to submit apps to the App Stores, or don t need the cloud-dependent features. We strongly recommend joining, though,

More information

Kony MobileFabric. Sync Windows Installation - Manual - WebSphere. On-Premises. Release 7.2. Document Relevance and Accuracy

Kony MobileFabric. Sync Windows Installation - Manual - WebSphere. On-Premises. Release 7.2. Document Relevance and Accuracy Kony MobileFabric Sync Windows Installation - Manual - WebSphere On-Premises Release 7.2 Document Relevance and Accuracy This document is considered relevant to the Release stated on this title page and

More information

Workstation Configuration Guide

Workstation Configuration Guide Workstation Configuration Guide August 13, 2018 Version 9.6.134.78 For the most recent version of this document, visit our documentation website. Table of Contents 1 Workstation configuration 4 1.1 Considerations

More information

In the first class, you'll learn how to create a simple single-view app, following a 3-step process:

In the first class, you'll learn how to create a simple single-view app, following a 3-step process: Class 1 In the first class, you'll learn how to create a simple single-view app, following a 3-step process: 1. Design the app's user interface (UI) in Xcode's storyboard. 2. Open the assistant editor,

More information

EMC Documentum My Documentum Desktop (Windows)

EMC Documentum My Documentum Desktop (Windows) EMC Documentum My Documentum Desktop (Windows) Version 7.2 User Guide EMC Corporation Corporate Headquarters: Hopkinton, MA 017489103 15084351000 www.emc.com Legal Notice Copyright 2003 2015 EMC Corporation.

More information

EMC Documentum Composer

EMC Documentum Composer EMC Documentum Composer Version 6.0 SP1.5 User Guide P/N 300 005 253 A02 EMC Corporation Corporate Headquarters: Hopkinton, MA 01748 9103 1 508 435 1000 www.emc.com Copyright 2008 EMC Corporation. All

More information

Lionbridge Connector for Sitecore. User Guide

Lionbridge Connector for Sitecore. User Guide Lionbridge Connector for Sitecore User Guide Version 4.0.5 November 2, 2018 Copyright Copyright 2018 Lionbridge Technologies, Inc. All rights reserved. Lionbridge and the Lionbridge logotype are registered

More information

Lionbridge Connector for Sitecore. User Guide

Lionbridge Connector for Sitecore. User Guide Lionbridge Connector for Sitecore User Guide Version 4.0.2 March 28, 2018 Copyright Copyright 2018 Lionbridge Technologies, Inc. All rights reserved. Lionbridge and the Lionbridge logotype are registered

More information

THIS IS AN OBSOLETE COPYRIGHT PAGE. Use Common/Copyright/Copyright

THIS IS AN OBSOLETE COPYRIGHT PAGE. Use Common/Copyright/Copyright Unica Marketing Operations and Unica Campaign Version 8.2.0 Integration Guide Publication Date: September 20, 2010 Copyright THIS IS AN OBSOLETE COPYRIGHT PAGE. Use Common/Copyright/Copyright Table of

More information

EDAConnect-Dashboard User s Guide Version 3.4.0

EDAConnect-Dashboard User s Guide Version 3.4.0 EDAConnect-Dashboard User s Guide Version 3.4.0 Oracle Part Number: E61758-02 Perception Software Company Confidential Copyright 2015 Perception Software All Rights Reserved This document contains information

More information

EMC Documentum Composer

EMC Documentum Composer EMC Documentum Composer Version 6.5 SP2 User Guide P/N 300-009-462 A01 EMC Corporation Corporate Headquarters: Hopkinton, MA 01748-9103 1-508-435-1000 www.emc.com Copyright 2008 2009 EMC Corporation. All

More information

Workstation Configuration

Workstation Configuration Workstation Configuration December 12, 2017 - Version 9.4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

More information

The MVC Design Pattern

The MVC Design Pattern The MVC Design Pattern The structure of iphone applications is based on the Model-View-Controller (MVC) design pattern because it benefits object-oriented programs in several ways. MVC based programs tend

More information

Document Number: /4/2012

Document Number: /4/2012 Copyright 2012 icontrol Networks, Inc. All rights reserved. No reproduction in whole or in part without prior written approval. icontrol Networks, icontrol, and icontrol logo design are pending trademarks

More information

Welcome to Selector2GO Help

Welcome to Selector2GO Help Welcome to Selector2GO Help World Headquarters 445 Hamilton Avenue, 7th floor, White Plains, New York 10601 United States of America Support: +1 914 259 4900 support@rcsworks.com 2004-2018. All Rights

More information

Getting started 7. Setting properties 23

Getting started 7. Setting properties 23 Contents 1 2 3 Getting started 7 Introduction 8 Installing Visual Basic 10 Exploring the IDE 12 Starting a new project 14 Adding a visual control 16 Adding functional code 18 Saving projects 20 Reopening

More information

MindManager Enterprise for Windows Release Notes

MindManager Enterprise for Windows Release Notes MindManager Enterprise for Windows Release Notes February 11, 2016 Release version: 16.1.193 Mindjet Corporation Toll Free: 877-Mindjet 1160 Battery Street East San Francisco CA 94111 USA Phone: 415-229-4200

More information

Workstation Configuration

Workstation Configuration Workstation Configuration December 15, 2017 - Version 9.3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

More information

IBM Proventia Management SiteProtector Policies and Responses Configuration Guide

IBM Proventia Management SiteProtector Policies and Responses Configuration Guide IBM Internet Security Systems IBM Proventia Management SiteProtector Policies and Responses Configuration Guide Version2.0,ServicePack8.1 Note Before using this information and the product it supports,

More information

Getting Started with HCA and Client Server

Getting Started with HCA and Client Server Getting Started with HCA and Client Server This Getting Started Guide continues from the previous Getting Started sections that covered installation, adding devices, and checkbox control. This guide assumes

More information

Mobile Application Workbench. SAP Mobile Platform 3.0 SP02

Mobile Application Workbench. SAP Mobile Platform 3.0 SP02 SAP Mobile Platform 3.0 SP02 DOCUMENT ID: DC-01-0302-01 LAST REVISED: January 2014 Copyright 2014 by SAP AG or an SAP affiliate company. All rights reserved. No part of this publication may be reproduced

More information

eclicker Host 2 Product Overview For additional information and help:

eclicker Host 2 Product Overview For additional information and help: eclicker Host 2 Product Overview For additional information and help: support@eclicker.com Compatible with the iphone, ipod touch, and ipad running ios 5.0+. Apple, the Apple logo, iphone, and ipod touch

More information

Page Topic 02 Log In to KidKare 02 Using the Navigation Menu 02 Change the Language

Page Topic 02 Log In to KidKare 02 Using the Navigation Menu 02 Change the Language Page Topic 02 Log In to KidKare 02 Using the Navigation Menu 02 Change the Language help.kidkare.com 03 Enroll a Child 03 Withdraw a Child 03 View Pending and Withdrawn Children 04 View Kids by Enrollment

More information

Lionbridge Connector for Episerver. User Guide. EpiServer 10. Version

Lionbridge Connector for Episerver. User Guide. EpiServer 10. Version Lionbridge Connector for Episerver User Guide EpiServer 10 Version 1.3.12 May 2018 Copyright Copyright 2018 Lionbridge Technologies, Inc. All rights reserved. Published in the USA. March, 2018. Lionbridge

More information

Livescribe Connect User Guide. Draft P-2 May 23, 2011

Livescribe Connect User Guide. Draft P-2 May 23, 2011 Copyrights and Trademarks LIVESCRIBE, ECHO, PULSE, CONNECT, and NEVER MISS A WORD are trademarks of Livescribe Inc. All other trademarks are properties of their respective owners. Copyright 2007-2011.

More information

BrainStorm Quick Start Card for Microsoft OneDrive for Business

BrainStorm Quick Start Card for Microsoft OneDrive for Business BrainStorm Quick Start Card for Microsoft OneDrive for Business mso.harvard.edu Changing the Way the World Works Clear the path for your productivity goals! Using Microsoft OneDrive for Business, you have

More information

User s Quick Start Guide

User s Quick Start Guide i User s Quick Start Guide Table of Contents Introduction... 4 Browser Requirements... 4 Key Terms... 5 Global Navigation Bar... 5 Dock... 5 Guided Workflows... 5 Stack... 6 Activity... 6 Logging Into

More information

Abila Nonprofit Online. Connection Guide

Abila Nonprofit Online. Connection Guide Abila Nonprofit Online This is a publication of Abila, Inc. Version 1.x 2014 Abila, Inc. and its affiliated entities. All rights reserved. Abila, the Abila logos, and the Abila product and service names

More information

Lutron Home Control+ App for the Apple ipad TM, iphone TM and ipod touch

Lutron Home Control+ App for the Apple ipad TM, iphone TM and ipod touch for the Apple ipad TM, iphone TM and ipod touch revision F Page 1 1.800.523.9466 Overview... 3 What hardware and software do I need?... 4 How does the ipad/iphone/ipod Touch connect to my Lutron system?...

More information

Version Android User's Guide. May-02-13

Version Android User's Guide. May-02-13 Version 12.5 Android User's Guide May-02-13 Table of Contents Chapter 1 Overview 1 Getting Help 2 Other Resources 3 Documentation and Learning Resources 3 Technical Support 4 Community 4 Blackboard Collaborate

More information

Trend Micro Incorporated reserves the right to make changes to this document and to the products described herein without notice. Before installing and using the software, please review the readme files,

More information

Sage CRM 7.3 SP1 Mobile Guide

Sage CRM 7.3 SP1 Mobile Guide Sage CRM 7.3 SP1 Mobile Guide Contents Chapter 1: Introduction to Sage CRM Mobile Solutions 1 Chapter 2: Setting up Sage CRM Mobile Apps 2 Prerequisites for Sage CRM mobile apps 3 Installing the mobile

More information

Install and upgrade Qlik Sense. Qlik Sense 3.0 Copyright QlikTech International AB. All rights reserved.

Install and upgrade Qlik Sense. Qlik Sense 3.0 Copyright QlikTech International AB. All rights reserved. Install and upgrade Qlik Sense Qlik Sense 3.0 Copyright 1993-2016 QlikTech International AB. All rights reserved. Copyright 1993-2016 QlikTech International AB. All rights reserved. Qlik, QlikTech, Qlik

More information

Office Adapters for Quark Publishing Platform

Office Adapters for Quark Publishing Platform Office Adapters for Quark Publishing Platform Contents Getting started... 1 About Quark Publishing Platform...1 System requirements... 3 Installing the Office Adapters for Quark Publishing Platform...

More information

USER GUIDE MADCAP FLARE WebHelp

USER GUIDE MADCAP FLARE WebHelp USER GUIDE MADCAP FLARE 2018 WebHelp Copyright 2018 MadCap Software. All rights reserved. Information in this document is subject to change without notice. The software described in this document is furnished

More information

QuarkCopyDesk 10.1 ReadMe

QuarkCopyDesk 10.1 ReadMe QuarkCopyDesk 10.1 ReadMe CONTENTS Contents QuarkCopyDesk 10.1 ReadMe...4 System requirements...5 System requirements: Mac OS X...5 System requirements: Windows...5 Installing: Mac OS X...7 Performing

More information

EMC Documentum Composer

EMC Documentum Composer EMC Documentum Composer Version 6 SP1 User Guide P/N 300 005 253 A01 EMC Corporation Corporate Headquarters: Hopkinton, MA 01748 9103 1 508 435 1000 www.emc.com Copyright 2008 EMC Corporation. All rights

More information

Kony MobileFabric. Sync ORM API Guide. Release 6.5. Document Relevance and Accuracy

Kony MobileFabric. Sync ORM API Guide. Release 6.5. Document Relevance and Accuracy Kony MobileFabric Sync ORM API Guide Release 6.5 Document Relevance and Accuracy This document is considered relevant to the Release stated on this title page and the document version stated on the Revision

More information

Custom Metrics and Reports

Custom Metrics and Reports Custom Metrics and Reports Release 6.5 2015 by Kony, Inc. All rights reserved 1 of 124 Custom Metrics and Reports Guide Copyright 2013 Kony, Inc. All rights reserved. July, 2015 This document contains

More information

SAS Data Integration Studio 3.3. User s Guide

SAS Data Integration Studio 3.3. User s Guide SAS Data Integration Studio 3.3 User s Guide The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2006. SAS Data Integration Studio 3.3: User s Guide. Cary, NC: SAS Institute

More information

S A M P L E C H A P T E R

S A M P L E C H A P T E R SAMPLE CHAPTER Anyone Can Create an App by Wendy L. Wise Chapter 2 Copyright 2017 Manning Publications brief contents PART 1 YOUR VERY FIRST APP...1 1 Getting started 3 2 Building your first app 14 3 Your

More information

MadCap Software. WebHelp Guide. Flare 2017 r2

MadCap Software. WebHelp Guide. Flare 2017 r2 MadCap Software WebHelp Guide Flare 2017 r2 Copyright 2017 MadCap Software. All rights reserved. Information in this document is subject to change without notice. The software described in this document

More information

Upgrading Integration Service on WebSphere. On-Premises

Upgrading Integration Service on WebSphere. On-Premises Kony MobileFabric On-Premises Release 6.5 Document Relevance and Accuracy This document is considered relevant to the Release stated on this title page and the document version stated on the Revision History

More information

Office 365. Quick Start User Guide

Office 365. Quick Start User Guide Office 365 Quick Start User Guide Contents What is Office 365?... 5 How to Sign In to Office 365... 5 To Sign Out when you are done... 5 Why Use Office 365?... 5 Office 365 Home Page... 6 Top right-hand

More information

Teamcenter 11.1 Systems Engineering and Requirements Management

Teamcenter 11.1 Systems Engineering and Requirements Management SIEMENS Teamcenter 11.1 Systems Engineering and Requirements Management Systems Architect/ Requirements Management Project Administrator's Manual REQ00002 U REQ00002 U Project Administrator's Manual 3

More information

RealPresence Media Manager

RealPresence Media Manager RealPresence CloudAXIS Suite Administrators Guide Software 1.3.1 USER GUIDE Software 6.7 January 2015 3725-75302-001A RealPresence Media Manager Polycom, Inc. 1 Copyright 2015, Polycom, Inc. All rights

More information

BlackBerry PTT Client Quick Reference Guide

BlackBerry PTT Client Quick Reference Guide BlackBerry PTT Client Quick Reference Guide Please note the following before using push-to-talk (PTT): Push-to-Talk contacts reside within the PTT application. You will need to launch the application to

More information

Mega Menu Add-on User Guide

Mega Menu Add-on User Guide Mega Menu Add-on User Guide A guide to using the Mega Menu add-on interface Last updated: February 7, 2018 Version: 1.0 2017-2018 Cybage. All rights reserved. The information contained in this document

More information

QUICK START GUIDE NTS HOSTED PBX CALL MANAGER. Welcome. Getting Oriented

QUICK START GUIDE NTS HOSTED PBX CALL MANAGER.   Welcome. Getting Oriented QUICK START GUIDE NTS HOSTED PBX Welcome Welcome to NTS Hosted PBX! This guide is intended to get you up and running with the basic features associated with the product. For more in-depth information,

More information

Blackboard Portfolio System Owner and Designer Reference

Blackboard Portfolio System Owner and Designer Reference Blackboard Learning System Blackboard Portfolio System Owner and Designer Reference Application Pack 2 for Blackboard Learning System CE Enterprise License (Release 6) Application Pack 2 for Blackboard

More information

COPYRIGHTED MATERIAL. 1Hello ios! A Suitable Mac. ios Developer Essentials

COPYRIGHTED MATERIAL. 1Hello ios! A Suitable Mac. ios Developer Essentials 1Hello ios! Hello and welcome to the exciting world of ios application development. ios is Apple s operating system for mobile devices; the current version as of writing this book is 5.0. It was originally

More information

Liferay Digital Experience Platform. New Features Summary

Liferay Digital Experience Platform. New Features Summary Liferay Digital Experience Platform New Features Summary Liferay has redesigned its platform with new functionality in Liferay Digital Experience Platform (DXP). The following is a summary of the key new

More information

Lab 3: Using Worklight Server and Environment Optimization Lab Exercise

Lab 3: Using Worklight Server and Environment Optimization Lab Exercise Lab 3: Using Worklight Server and Environment Optimization Lab Exercise Table of Contents Lab 3 Using the Worklight Server and Environment Optimizations... 3-4 3.1 Building and Testing on the Android Platform...3-4

More information

Kony Fabric. Sync ORM API Guide. Release V8. Document Relevance and Accuracy

Kony Fabric. Sync ORM API Guide. Release V8. Document Relevance and Accuracy Kony Fabric Sync ORM API Guide Release V8 Document Relevance and Accuracy This document is considered relevant to the release stated on this title page and the document version stated on the Revision History

More information

VisualPST 2.4. Visual object report editor for PowerSchool. Copyright Park Bench Software, LLC All Rights Reserved

VisualPST 2.4. Visual object report editor for PowerSchool. Copyright Park Bench Software, LLC All Rights Reserved VisualPST 2.4 Visual object report editor for PowerSchool Copyright 2004-2015 Park Bench Software, LLC All Rights Reserved www.parkbenchsoftware.com This software is not free - if you use it, you must

More information

DREAMFACTORY SOFTWARE INC. Snapshot User Guide. Product Usage and Best Practices Guide. By Sathyamoorthy Sridhar June 25, 2012

DREAMFACTORY SOFTWARE INC. Snapshot User Guide. Product Usage and Best Practices Guide. By Sathyamoorthy Sridhar June 25, 2012 DREAMFACTORY SOFTWARE INC Snapshot User Guide Product Usage and Best Practices Guide By Sathyamoorthy Sridhar June 25, 2012 This document describes Snapshot s features and provides the reader with notes

More information

Solo 4.6 Release Notes

Solo 4.6 Release Notes June9, 2017 (Updated to include Solo 4.6.4 changes) Solo 4.6 Release Notes This release contains a number of new features, as well as enhancements to the user interface and overall performance. Together

More information

Accessing the SIM PCMH Dashboard

Accessing the SIM PCMH Dashboard Accessing the SIM PCMH Dashboard Setting up Duo, Creating Your Level-2 Password, and Setting up Citrix Receiver to Log in to the Dashboard P R O C EDURAL GUID E Document File Name Accessing_the_SIM_Dashboard.docx

More information

Parallels Toolbox User's Guide

Parallels Toolbox User's Guide Parallels Toolbox User's Guide Parallels International GmbH Vordergasse 59 8200 Schaffhausen Switzerland Tel: + 41 52 672 20 30 www.parallels.com Copyright 1999-2018 Parallels International GmbH. All rights

More information

Oracle Cloud Using the Google Calendar Adapter with Oracle Integration

Oracle Cloud Using the Google Calendar Adapter with Oracle Integration Oracle Cloud Using the Google Calendar Adapter with Oracle Integration E85501-05 January 2019 Oracle Cloud Using the Google Calendar Adapter with Oracle Integration, E85501-05 Copyright 2017, 2019, Oracle

More information

(Refer Slide Time: 1:12)

(Refer Slide Time: 1:12) Mobile Computing Professor Pushpendra Singh Indraprastha Institute of Information Technology Delhi Lecture 06 Android Studio Setup Hello, today s lecture is your first lecture to watch android development.

More information

Desktop App Release Notes

Desktop App Release Notes BlackBerry AtHoc Networked Crisis Communication Desktop App Release Notes Release 6.2.x.277, May 2018 (Windows) Release 1.7, May 2018 (Mac) Copyright 2014 2018 BlackBerry Limited. All Rights Reserved.

More information

Copyright

Copyright 1 Overview: Mobile APPS Categories Types Distribution/Installation/Logs Mobile Test Industry Standards Remote Device Access (RDA) Emulators Simulators Troubleshooting Guide App Risk Analysis 2 Mobile APPS:

More information

About Xcode and iphone SDK

About Xcode and iphone SDK apple About Xcode and iphone SDK iphone SDK and Xcode 3.1.2 developer tools for iphone OS 2.2 Contents Introduction Compatibility with Mac OS X Versions What's New Installation Deprecation Notice Introduction

More information

Desktop App Release Notes

Desktop App Release Notes BlackBerry AtHoc Networked Crisis Communication Desktop App Release Notes Release 6.2.x.275, November 2017 (Windows) Release 1.6.0, April 2017 (Mac) Copyright 2014 2017 BlackBerry Limited. All Rights Reserved.

More information

GENERAL SET-UP & APP PAIRING/SYNCING FEATURES BATTERY ACCOUNT & DEVICE SETTINGS PRIVACY WARRANTY GENERAL SET-UP & APP ANDROID

GENERAL SET-UP & APP PAIRING/SYNCING FEATURES BATTERY ACCOUNT & DEVICE SETTINGS PRIVACY WARRANTY GENERAL SET-UP & APP ANDROID ANDROID GENERAL SET-UP & APP PAIRING/SYNCING FEATURES BATTERY ACCOUNT & DEVICE SETTINGS PRIVACY WARRANTY GENERAL SET-UP & APP WHICH PHONES ARE COMPATIBLE WITH MY SMARTWATCH? Wear OS by Google works with

More information

Workstation Configuration

Workstation Configuration Workstation Configuration September 22, 2015 - Version 9 & 9.1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

More information

for Windows Release Notes: Version September 12, 2013 Document version: MINDJET Page 1

for Windows Release Notes: Version September 12, 2013 Document version: MINDJET Page 1 for Windows Release Notes: Version 14.0.334 September 12, 2013 Document version: 130912 MINDJET Page 1 Table of Contents RESOLVED ISSUES IN VERSION 14.0.334... 3 General Usability... 3 Import / Export

More information

Metagrid user manual.

Metagrid user manual. Metagrid user manual www.metasystem.io Contents HELLO!... 3 FIRST STEPS... 4 VIEWS... 7 SCENES... 10 BUTTONS... 12 ACTIONS... 17 APP-SPECIFIC SETUP... 19 HELLO! -2- Thank you for purchasing Metagrid -

More information