A Developer’s Guide to Evaluating Digital Ink SDKs
When creating a pen-enabled application, developers should first consider whether they would like to utilize external resources in the development process, or if they would like to handle the development internally. If they decide to make use of external resources, they may then need to consider the use of a digital ink SDK.
Evaluating and selecting the right digital ink SDK ensures the success of any pen-enabled application. The right SDK enables developer teams to collaborate more effectively and enhances the quality of the end product. Choosing the wrong SDK, however, can hinder the development process, add complexities to the end user experience, create security vulnerabilities, increase app crashes, and more.
Developing an app with these kinds of issues can severely impact business growth. In fact, nearly two-thirds of developers acknowledge that they have found out about undetected software errors directly from end users of the app. Worse yet, many find out about app errors through social media (25%), media coverage (17%), or even directly from the CEO (21%). These errors can damage a company’s reputation, anger investors, and frustrate end users.
That’s why choosing the right external resource to help with the development of an app is critical. Since many undetected software errors can happen after implementing an SDK, it’s important to choose a provider with comprehensive technology support that will ultimately become a great long-term partner.
When evaluating SDKs for digital ink app creation, there are many factors to consider. Some criteria developers should keep in mind include:
- Does the SDK provide high-quality rendering?
- How well the SDK integrates with the type of app they’re building.
- How easy the SDK is for developers to work with.
- If the SDK will support your particular use cases.
- If the SDK amplifies any potential security vulnerabilities.
- How the SDK impacts storage.
As the global leader in the pen display and tablet market, Wacom has spent decades developing products and apps with the most accurate, intuitive, and natural pen experience in the industry. After designing such digital ink apps and services as Inkspace, Bamboo Paper, and Wacom Notes, Wacom has observed certain key focus areas that developers should consider while evaluating potential digital ink SDKs. This guide digs into all the questions developers who are tasked with seeking out an SDK should ask in their selection process.
Areas to Consider When Evaluating Digital Ink SDKs
#1: End User Experience
One of the main benefits of a well-built digital ink SDK is an improved user experience. SDKs should help developers ensure that their app is of the highest quality, works well with other apps, and has no errors or bugs before going to market. To achieve this, here are some key questions that developers should ask:
1. How does the SDK provide high-quality digital ink?
Digital ink SDKs should allow developers to include premium digital inking features in their applications with flexible, high-quality rendering and visual feedback. WILL SDK for ink achieves this by focusing on four key elements:
- Natural ink rendering: To deliver an outstanding experience, digital ink should have the same look and feel as pen and paper. The SDK must be able to capture and render user data to make the output as realistic as possible. WILL SDK for ink helps to present ink in a consistent way across all platforms.
- Active ink capabilities: Content is displayed in different ways depending on the device or app being used. WILL SDK for ink supports most variations in the presentation of ink, whether it’s through mobile, desktop, or web. It accomplishes this through document size reduction and support for commonly-used web standards.
- Metadata and semantics: Digital ink metadata is needed to describe variables including the document type and author, ink document structure, and intellectual property management. WILL SDK for ink supports these standard types of metadata, as well as individual schemas and whatever metadata can be defined.
Increasingly, metadata is also being used for semantics, enabling meaning to be extracted from digital ink. Typically, this means linking words written using digital ink to related web-based information as they are created and stored within the property storage or the built-in Triplestore. WILL also defines its own semantic metadata for ink.
- Sensor data and biometrics: The Universal Ink Model, which is the serialization format of WILL SDK for ink, supports the capture of sensor data from digital pens. For example, this data can include:
- Pressure – the force applied to the nib of the pen
- Inclination – the vertical alignment of the pen barrel
- Orientation – the relative position of where the nib makes contact on the active area
- Timestamps – the time that a reading was taken on a sensor
While other SDKs may store the sensor data and biometrics in the strokes, WILL separates the data. The device supplies the data to the OS, and then WILL stores the transformed data it receives from the OS. This ensures that the device determines data accuracy. In addition to the pen-sensor data, contextual data, such as the date and time the ink was created, is collected and stored with the ink. This includes:
- The make and type of digitizer being used
- The type and version of the digitizer driver being used
- The type and version of the operating system of the client PC being used
- The Network Interface Card address of the PC
2. Does this SDK give them access to the key functionalities they need to develop their app?
Digital ink SDKs may vary slightly in the functionalities they provide for developers. If you are building remote-related apps, SDKs that offer motion gesture recognition are useful. SDKs offering the use of gyroscope and accelerometer sensors, which provide moving coordinates to the phone, allow developers to use these coordinates and implement them into their apps.
3. Does the SDK have features that are unique from other similar SDKs?
Some SDKs have more specific use cases than others. Some focuse on helping to develop apps that help with note-taking and calculations, others may offer APIs that offer unique features to benefit a specific use case, such as the support of handwriting recognition for equations and offers advanced math support.
4. What features are included in this digital pen SDK that will enhance the user experience?
Digital ink SDKs should offer key features for developers to be able to provide end users with an optimal experience. WILL SDK for ink provides access to these features:
- Ink geometry pipeline and rendering: To convert sensor data from an input device into a geometry that is rendered by a platform-specific rendering engine.
- Ink serialization: To exchange the rendering results, the collected sensor data, and relevant metadata, the Universal Ink Format is used to serialize and de-serialize the information.
- Ink manipulation: To manipulate the generated geometry, the ink manipulation operations can erase ink strokes (including exact split) and select partial or full strokes.
Another top consideration should be the ease with which a potential pen SDK integrates with the components of an app. SDKs should be able to quickly and smoothly integrate with the app so as to not distract from the user experience. A poorly-integrated digital ink SDK can lead to a host of problems, including app bloat, instability, shortened battery life, data leakage, and more. To avoid those potential pitfalls, here are some questions to consider:
1. Does the digital ink SDK support the programming languages and development environment that the developer uses?
SDKs should be able to easily integrate with the environment a developer is already working in. For example, an SDK that uses a static Java library may depend on internal Android framework modules. That means that this package only runs on devices that support those modules, so developers would also need to be working in that environment.
2. How comprehensive is the documentation?
Integrating an SDK should be intuitive with minimal need for support. The SDK should also come with comprehensive documentation to aid in the integration process. WILL SDK for ink comes with detailed technical information to support developers.
3. What are the specific platforms that the pen SDK supports? Are custom integrations supported on request? How well does the SDK integrate with mobile platforms?
SDKs need to be able to support whatever platform the developer is working in. Many SDKs are supported on either iOS or Android or another single specific platform. WILL SDK for ink integrates with iOS, Android, Windows UWP, Windows WPF and Web.
SDKs should integrate well with mobile platforms; they should never limit mobile adoption but rather accelerate it.
#3: Developer Friendliness
Before adopting a digital ink SDK, developers should evaluate the level of support that the kit provides. Additionally, they should consider how compatible the kit is with their team’s abilities. Thinking about the following questions can help ensure a potential digital ink technology is a good fit:
1. What skill set is needed for developers to most effectively utilize this SDK?
Developers should take a look at the different components of the SDK, including the API, documentation, libraries, sample graphics and code, and more. By analyzing these elements and comparing them to their own particular skill set, they should be able to gauge how well they’d be able to implement the SDK.
The developer should also evaluate whether the SDK is more customizable or has plug-and-play readiness. Customizable SDKs may take more skill to be able to tailor to the developer’s end goals. Plug-and-play SDKs generally require less of a skill set required to implement.
2. Does the SDK include an application programming interface (API)? Does it provide a high or low-level API?
An API is included in most SDKs to help integrate with the rest of your code. Some will include a higher-level graphics API, and some will include a lower level. Lower-level graphics API provides the developer with more control but may add more complexity. The WILL SDK for ink uses a lower-level graphics API.
3. Is there a trusted community and technical support if the developer encounters any issues?
It’s helpful if the SDK offers a community blog or forum of some sort to connect developers who are using the same SDK. Forums where developers can ask and answer each other’s technical questions do not only provide a great resource for support, but also show a high level of engagement and use of the SDK.
4. How robust are the instructions and sample code provided?
The more detailed the instructions and sample code provided, the easier it will be for developers to implement. Code samples give developers example programs and libraries to help them build and optimize their apps more easily. WILL SDK for ink contains sample code snippets that are explained step-by-step for ink rendering, ink serialization, and ink manipulation.
#4: Use Cases
Exploring some past examples of how this SDK has been used before can help developers determine if it’s the right fit for their app. Developers should consider:
1. Does the SDK enable features that satisfy all of their use cases?
Developers should keep in mind the use cases that their app will be supporting, and consider how the SDK they choose can support those use cases. WILL SDK for ink can be used for note-taking and drawing, digital education, form filling, multimodal input and creative rights management. These can be used across multiple verticals, including education, healthcare, financial services, retail, hospitality, and public sector.
2. Does the SDK provider have use cases or case studies that align with what they are building?
Some SDKs allow end users to recognize handwritten text in hundreds of different languages. An API may transcribe handwritten notes and recognize hand-drawn shapes and emojis. Some SDKs offer use cases for apps that help with note-taking and calculations, while others support handwriting recognition for equations and offers advanced math support.
3. Does the SDK offer any features for industry-specific pain points?
Developers should consider the specific industry pain points that their app will be positioned help to alleviate. For example, the Wacom Ink for Education bundle was designed to answer the common use cases and pain points currently found in software development for modern digital education. Due to the complex nature of current hybrid education programs, educators had been struggling to enable digital smart workflows that support digital handwriting. This bundle aims to help developers integrate digital ink capacities into their applications through access to WILL SDK for ink, free sample codes, and integration support service.
#5: Security and Storage
Developers need to know what types of data a pen enablement SDK will let into and out of their application. Here are a few questions they should ask to ensure an SDK satisfies security standards:
1. What data does it allow into and out of the application?
The format in which data is stored both within and outside of the application and the ways in which that data is transferred can affect its overall security and open itself up to potential vulnerabilities.
2. What is the data model used for storage? Is it language- and/or platform-neutral?
WILL SDK for ink’s underlying data model is the Universal Ink Model. This model defines a language-neutral, hardware- and platform-neutral data model for representing and manipulating digital ink data captured using an electronic pen or stylus, or using touch input.
3. What are the different storage types offered, and what are the differences between them?
Two of the most common types of data for digital ink are biometric and spline. Biometric data is information regarding user interaction with pen and tablet, such as contact pressure, tilt, and pen rotation. Spline data pertains to how user output is geometrically and visually rendered to show x and y coordinates, curve, and scale.
4. Are certain data storage types optional to save memory space? What information is required?
With WILL SDK for ink, spline and brush data are required. Storage of biometric data is optional. So, if developers don’t need information regarding user interaction with pen and tablet, they can omit that to save memory space.
5. How does the SDK encode data to conserve memory space?
Files with visual elements take up more space than text alone. WILL SDK for ink uses delta encoding to store and transmit data. Rather than saving new data updates separately, delta encoding only saves the differences between iterations in a data sequence.
Limit Risk with the Right SDK
A digital ink SDK can mean the difference between a market favorite or a flop. The right digital ink SDK should be able to help developers create an app with premium digital inking features, flexible high-quality rendering and visual feedback, unique drawing and manipulation features, and ultimately provide a superior end-user experience.
The SDK should also help to enhance developer productivity, streamline their process, and help them to alleviate many of the risks and challenges associated with building their app.
To reap these benefits, however, developers need to fulfill their due diligence in evaluating potential pen SDKs across all the key focus areas, from integration to use cases to storage. These criteria determine how well the pen SDK satisfies different developer teams’ needs and, ultimately, how it impacts the application’s success.
Get expert advice on selecting the best digital ink SDK for your application. Contact a Wacom technical representative in the form below or learn more on developer.wacom.com.