Get started

Interactive Ink SDK makes it easy to get started. This page helps you set up a development environment, get a certificate and play with provided example applications.

Setting up a development environment

To develop with iink SDK for Windows, you will need:

• Visual Studio 2017
• Internet connection to let Visual access nuget.org and download the iink library and its dependencies
• Git (to clone the Github example repository)

Example applications

MyScript iink SDK comes with example applications illustrating how to use key APIs.

The code is available on GitHub for both UWP and WPF.

A custom compilation step will download the minimal set of recognition assets required for the example to run. More assets (e.g. to support other recognition languages) can be downloaded from MyScript Developer Portal.

A reference implementation for the platform-specific integration layer can be found alongside the examples. It covers aspects such as rendering that the low-level iink SDK does not provide out-of-the-box for flexibility and portability reasons.

The source code of both the examples and the reference implementation is released under the Apache 2.0 license. You can reuse it into your own projects without any particular restriction.

Getting a certificate

A certificate is a binary “key” provided by MyScript that is required to enable iink SDK in an application:

• If you have just registered with MyScript Developer Portal, you should have received a certificate by mail that will let you run the provided get started example.
Developer Portal certificates are specifically generated for each app identifier. You cannot directly reuse the “get started” certificate inside your own application.

The certificate comes embedded in a source file that you should include in your project:

• MyScript-provided examples expect it to be located at a specific location (see instructions below).
• For your own application, you can place it where you want, provided that it is accessible to instantiate the iink runtime.

More details on certificates and license management can be found in the dedicated support section.

Playing with the Get started example

The Get started example is the easiest way for a first contact with iink SDK APIs.

To run it, just follow the following instructions:

Step 1: Clone the MyScript Git repository containing the examples for Windows and navigate to the root of the folder.

For the Universal Windows Platform (UWP), type:

git clone https://github.com/MyScript/interactive-ink-examples-uwp.git
cd interactive-ink-examples-uwp

For “traditional” Windows desktop .NET development using WPF, type:

git clone https://github.com/MyScript/interactive-ink-examples-wpf.git
cd interactive-ink-examples-wpf

Step 2: Replace MyCertificate.cs file in GetStarted directory with your certificate.

Step 3: Open the appropriate solution file:

• iink-examples.uwp.sln for UWP
• iink-examples.wpf.sln for WPF

Set GetStarted project as your startup project by right-clicking the project in the solution browser and selecting “Set as startup project”.

Step 4: Build and run.

This will automatically fetch the latest iink SDK libraries, via the NuGet Package Manager.

If you encounter compile errors of the form ...UserControlsEditorUserControl.xaml.cs(85,27,85,40): error CS0103: The name 'captureCanvas' does not exist in the current context, edit the UserControlsEditorUserControl.xaml file so that Visual Studio considers it updated (ex: add a space at the beginning, remove it and save the file). Then build again and there should be no error anymore.

Building your first interactive ink application

To guide you through the fundamentals of Interactive Ink SDK, let’s imagine that you want to build a (very) simple handwriting calculator. This guide explains some key concepts and provides you with the code portions that are relevant for a simple iink SDK integration.

As most iink APIs are independent from the type of content you manipulate (text, math, diagram, etc.), the code can be easily adapted to other use cases.

For the sake of this example, such an application would provide the end user with:

• a writing area to write computations,
• buttons to undo, redo, and clear the canvas,
• a validation button to convert content to typeset form and do the calculation,
• a history of the past calculations,
• persistence across sessions,
• some custom styling over what iink SDK provides by default.
This guide assumes that all the iink-related code is part of a single Calculator class.

The guide consists of the following steps:

While introducing the different concepts one-by-one in a logical manner, this guide is written in a way that allows you to refer to a particular aspect at any time, even if you don’t strictly follow the intended order.