SlideShare a Scribd company logo
type this
3D in
Windows 10
Windows Ink
Microsoft
Edge
Faster to
done
Microsoft
Office
Cortana
More creative, more productive
3rd
in purchase intent
212m
U.S. adults use
analog or digital
pen
Processor/Ram/Storage
Battery Life
Pen
Switch Storage
from HDD to SSD
Increase screen resolution
Windows Hello
2-in-1 purchase intent when shown new scenarios
3D in
Windows 10
Windows Ink
Microsoft
Edge
Faster to
done
Microsoft
Office
Cortana
More creative, more productive
3rd
in purchase intent
212m
U.S. adults use
analog or digital
pen
10x
more pen enabled
devices than iOS
or Android
2x
More pen devices
year over year
2x
More user
engagement year
over year
8pts
higher average
NPS scores for
pen attached
systems
60%
Top 10 revenue
producing apps
use Windows Ink
50%
More apps using
Windows Ink in
Windows Store
Simple
Natural
Powerful
Differentiated
Intelligent
UWP and Win32
The Windows Ink Platform
Low Level
APIs / Engine
Controls
HID
Hardware
Pointer (PointerPoint, WM_Pointer)
Radial
Controller
DirectInk
Ink Presenter
Rendering InkStrokeContainer
Low Latency
Beautiful Ink
Core WetStroke
Update Source
Custom Dry
Built-in Brushes
and Drawing
Attributes
Acceleration
Off-thread Input
Stroke Creation
Prediction
Smoothing
XAML Controls
InkCanvas InkToolbar TextBox
SmartInk
InkAnalysis Local
Ink Classification
Layout Analysis
Handwriting
Recognition
Shape Recognition
InkAnalysis Cloud
Ink Classification
Layout Analysis
Handwriting
Recognition
Shape Recognition
Cloud Service
APIs
UWP and Win32
The Windows Ink Platform
Low Level
APIs / Engine
HID
Hardware
Pointer (PointerPoint, WM_Pointer)
Radial
Controller
DirectInk
Ink Presenter
Rendering InkStrokeContainer
Low Latency
Beautiful Ink
Core WetStroke
Update Source
Custom Dry
Built-in Brushes
and Drawing
Attributes
Acceleration
Off-thread Input
Stroke Creation
Prediction
Smoothing
SmartInk
InkAnalysis Local
Ink Classification
Layout Analysis
Handwriting
Recognition
Shape Recognition
InkAnalysis Cloud
Ink Classification
Layout Analysis
Handwriting
Recognition
Shape Recognition
Cloud Service
APIs
Controls
XAML Controls
InkCanvas InkToolbar TextBox
<InkCanvas x:Name=“m_inkCanvas”/>
<InkToolbar TargetInkCanvas=“{x:Bind m_inkCanvas}”/>
XAML Ink Canvas
XAML Ink Toolbar
RichEditBoxTextBox AutoSuggestBox
Delete Words
Delete Lines
Insert words
into a sentence
Join two words
Add a new line
Overwrite Words
UWP and Win32
The Windows Ink Platform
Low Level
APIs / Engine
HID
Hardware
Pointer (PointerPoint, WM_Pointer)
Radial
Controller
SmartInk
InkAnalysis Local
Ink Classification
Layout Analysis
Handwriting
Recognition
Shape Recognition
InkAnalysis Cloud
Ink Classification
Layout Analysis
Handwriting
Recognition
Shape Recognition
Cloud Service
APIs
Controls
XAML Controls
InkCanvas InkToolbar TextBox
DirectInk
Ink Presenter
Rendering InkStrokeContainer
Low Latency
Beautiful Ink
Core WetStroke
Update Source
Custom Dry
Built-in Brushes
and Drawing
Attributes
Acceleration
Off-thread Input
Stroke Creation
Prediction
Smoothing
• Ballpoint Pen
• Highlighter
• Tilt Pencil
Model how analog pencil works
Natural pencil inking – dynamic range, layering
• Erasing
Stroke erase – erases full stroke
Erase all
• Stencils
Built-in Brushes and Erasing
Pen Hardware & Ecosystem Update
Ink Acceleration
 Using GPU preemption, Windows no longer has to
wait for the next scanout to get ink on the screen.
Microsoft Pen Program
Microsoft Pen
UWP and Win32
The Windows Ink Platform
Low Level
APIs / Engine
HID
Hardware
Pointer (PointerPoint, WM_Pointer)
Radial
Controller
Controls
XAML Controls
InkCanvas InkToolbar TextBox
DirectInk
Ink Presenter
Rendering InkStrokeContainer
Low Latency
Beautiful Ink
Core WetStroke
Update Source
Custom Dry
Built-in Brushes
and Drawing
Attributes
Acceleration
Off-thread Input
Stroke Creation
Prediction
Smoothing
SmartInk
InkAnalysis Local
Ink Classification
Layout Analysis
Handwriting
Recognition
Shape Recognition
InkAnalysis Cloud
Ink Classification
Layout Analysis
Handwriting
Recognition
Shape Recognition
Cloud Service
APIs
Ink Analysis
Root
WritingRegion Drawing Drawing DrawingWritingRegion … …
ListItem x2Line
Line
InkWord InkWord
InkWord InkWord
…
…
InkBullet
Paragraph
For Each Text Node
• RecognizedText – The string representing the recognized text in the node
Note: Line, ListItem, and Paragraph nodes also have a RecognizedText property
• TextAlternates – The list of alternates for the recognized text
• Understand slanted text via RotatedBoundingRect
Text Recognition
Avani hello, halo, hollo
Shape Recognition
Triangles Equilateral
Triangles
Isosceles
Triangles
Right
Triangles
Squares Rectangles Diamonds Quadrilaterals Parallelograms
TrapezoidsPentagons Hexagons Circles Ellipses
Ink
Drawing
Microsoft Confidential
Demo - InkEditor
Important InkAnalysis Concepts and Tips
Microsoft Confidential
Stateless Ink Analysis
Find the nodes
you’re
interested in
Extract strokes
Send to
InkAnalyzer
Analyze the
strokes
Do cool stuff
var inkAnalyzer = new InkAnalyzer();
private async void AnalyzeButton_Clicked(object sender, RoutedEventArgs e)
{
if (!inkAnalyzer.IsAnalyzing)
{
inkAnalyzer.ClearDataForStrokes(strokes);
var strokes = inkCanvas.InkPresenter.StrokeContainer.GetStrokes();
inkAnalyzer.AddDataForStrokes(strokes);
var results = await inkAnalyzer.AnalyzeAsync();
}
}
Microsoft Confidential
Stateful (Incremental) Ink Analysis
Find the nodes
you’re
interested in
Strokes
changed
Update
InkAnalyzer
Analyze the
strokes
Do cool stuff
private void
InkPresenter_StrokesCollected(InkPresenter sender, InkStrokesCollectedEventArgs args)
{
inkAnalyzer.AddDataForStrokes(args.Strokes);
}
private void
InkPresenter_StrokesEraseded(InkPresenter sender, InkStrokesErasedEventArgs args)
{
foreach (var stroke in args.Strokes)
{
inkAnalyzer.RemoveDataForStroke(stroke.Id);
}
}
Microsoft Confidential
Stateful (Incremental) Ink Analysis
Find the nodes
you’re
interested in
Strokes
changed
Update
InkAnalyzer
Analyze the
strokes
Do cool stuff
private void StrokesUpdated(IReadOnlyList<uint> updatedStrokeIds)
{
var strokeContainer = inkCanvas.InkPresenter.StrokeContainer;
foreach(var id in updatedStrokeIds)
{
inkAnalyzer.ReplaceDataForStroke(strokeContainer.GetStrokeById(id));
}
}
private async void AnalyzeButton_Clicked(object sender, RoutedEventArgs e)
{
if (!inkAnalyzer.IsAnalyzing)
{
var results = await inkAnalyzer.AnalyzeAsync();
}
}
Microsoft Confidential
var results = await _inkAnalyzer.AnalyzeAsync();
var root = inkAnalyzer.AnalysisRoot;
// Query for particular node kind
var drawings = root.FindNodes(InkAnalysisNodeKind.InkDrawing);
var paragraphs = root.FindNodes(InkAnalysisNodeKind.Paragraph);
var words = root.FindNodes(InkAnalysisNodeKind.InkWord);
// Document tree traversal
foreach (var paragraph in writingRegion.Children) {…}
foreach (var word in line.Children) {…}
var line = word.Parent;
Query Document Structure
Find the nodes
you’re
interested in
Strokes
changed
Update
InkAnalyzer
Analyze the
strokes
Do cool stuff
Microsoft Confidential
var results = await _inkAnalyzer.AnalyzeAsync();
var root = inkAnalyzer.AnalysisRoot;
var drawings = root.FindNodes(InkAnalysisNodeKind.InkDrawing);
foreach (var drawing in drawings)
{
var shape = drawing as InkAnalysisInkDrawing;
if(shape.DrawingKind == InkAnalysisDrawingKind.Circle)
{
convertInkToXAMLShape(shape);
var strokeIds = shape.GetStrokeIds();
inkAnalyzer.removeDataForStrokes(strokeIds);
foreach(var id in strokeIds)
{
strokeContainer.GetStrokeById(id).Selected = true;
}
strokeContainer.DeleteSelected();
}
}
Mapping between strokes and
InkAnalysisNode
Microsoft Confidential
Use Prior Knowledge
Find the nodes
you’re
interested in
Strokes
changed
Update
InkAnalyzer
Analyze the
strokes
Do cool stuff
private void
InkPresenter_StrokesCollected(InkPresenter sender, InkStrokesCollectedEventArgs args)
{
inkAnalyzer.AddDataForStrokes(args.Strokes);
foreach (var stroke in args.Strokes)
{
inkAnalyzer.SetStrokeDataKind(stroke.Id, InkAnalysisStrokeKind.Writing);
//inkAnalyzer.SetStrokeDataKind(stroke.Id, InkAnalysisStrokeKind.Drawing);
}
}
Microsoft Confidential
Cloud Service For Smart Ink
Consistent Ink Recognition Experience
Across Devices and Platforms
Faster and Frequent Improvements to the
core recognition capabilities
Personalized Recognition with the
Microsoft Cloud and Microsoft Graph
Compute Power for larger ML models for
better accuracy
Microsoft Confidential
Reachouttous!
• Learn more:
• aka.ms/WindowsInkSample
• aka.ms/DigitalInkBlog
• aka.ms/WinHEC2017
• aka.ms/InputScope
• aka.ms/InkPresenterClass
• aka.ms/HandwritingView
• Code Samples
• aka.ms/SimpleInkSample
• aka.ms/ComplexInkSample
• aka.ms/InkAnalysisSample
Interested in being a co-engineering
partner for our cloud solution, or have an
ink related question for the team? Contact
us here:
WindowsInk@Microsoft.com
Follow us on Twitter for the latest ink and
pen news from our team!
Twitter: WindowsInk
Harnessing the Power of AI with Windows Ink
Harnessing the Power of AI with Windows Ink
Harnessing the Power of AI with Windows Ink

More Related Content

Similar to Harnessing the Power of AI with Windows Ink

Programming with RealSense using .NET
Programming with RealSense using .NETProgramming with RealSense using .NET
Programming with RealSense using .NET
Matteo Valoriani
 
Serverless Streaming Data Processing using Amazon Kinesis Analytics
Serverless Streaming Data Processing using Amazon Kinesis AnalyticsServerless Streaming Data Processing using Amazon Kinesis Analytics
Serverless Streaming Data Processing using Amazon Kinesis Analytics
Amazon Web Services
 
Intercepting Windows Printing by Modifying GDI Subsystem
Intercepting Windows Printing by Modifying GDI SubsystemIntercepting Windows Printing by Modifying GDI Subsystem
Intercepting Windows Printing by Modifying GDI Subsystem
Positive Hack Days
 
Intercepting Windows Printing by Modifying GDI Subsystem
Intercepting Windows Printing by Modifying GDI SubsystemIntercepting Windows Printing by Modifying GDI Subsystem
Intercepting Windows Printing by Modifying GDI Subsystem
Positive Hack Days
 
Serverless Streaming Data Processing using Amazon Kinesis Analytics
Serverless Streaming Data Processing using Amazon Kinesis AnalyticsServerless Streaming Data Processing using Amazon Kinesis Analytics
Serverless Streaming Data Processing using Amazon Kinesis Analytics
Amazon Web Services
 
WSO2Con EU 2016: An Introduction to the WSO2 Analytics Platform
WSO2Con EU 2016: An Introduction to the WSO2 Analytics PlatformWSO2Con EU 2016: An Introduction to the WSO2 Analytics Platform
WSO2Con EU 2016: An Introduction to the WSO2 Analytics Platform
WSO2
 
Corey.Berry.Portfolio.2016
Corey.Berry.Portfolio.2016Corey.Berry.Portfolio.2016
Corey.Berry.Portfolio.2016
Corey Berry
 
WSO2Con USA 2015: WSO2 Analytics Platform - The One Stop Shop for All Your Da...
WSO2Con USA 2015: WSO2 Analytics Platform - The One Stop Shop for All Your Da...WSO2Con USA 2015: WSO2 Analytics Platform - The One Stop Shop for All Your Da...
WSO2Con USA 2015: WSO2 Analytics Platform - The One Stop Shop for All Your Da...
WSO2
 
High DPI for desktop applications
High DPI for desktop applicationsHigh DPI for desktop applications
High DPI for desktop applications
Kirill Grouchnikov
 
Create real value in your business process by automated data and form extraction
Create real value in your business process by automated data and form extractionCreate real value in your business process by automated data and form extraction
Create real value in your business process by automated data and form extraction
Marvin Heng
 
Serverless Streaming Data Processing using Amazon Kinesis Analytics
Serverless Streaming Data Processing using Amazon Kinesis AnalyticsServerless Streaming Data Processing using Amazon Kinesis Analytics
Serverless Streaming Data Processing using Amazon Kinesis Analytics
Amazon Web Services
 
Building a game engine with jQuery
Building a game engine with jQueryBuilding a game engine with jQuery
Building a game engine with jQuery
Paul Bakaus
 
[Td 2015] what is new in visual c++ 2015 and future directions(ulzii luvsanba...
[Td 2015] what is new in visual c++ 2015 and future directions(ulzii luvsanba...[Td 2015] what is new in visual c++ 2015 and future directions(ulzii luvsanba...
[Td 2015] what is new in visual c++ 2015 and future directions(ulzii luvsanba...
Sang Don Kim
 
Serverless Streaming Data Processing using Amazon Kinesis Analytics
Serverless Streaming Data Processing using Amazon Kinesis AnalyticsServerless Streaming Data Processing using Amazon Kinesis Analytics
Serverless Streaming Data Processing using Amazon Kinesis Analytics
Adrian Hornsby
 
Virtual Network Computing Based Droid desktop
Virtual Network Computing Based Droid desktopVirtual Network Computing Based Droid desktop
Virtual Network Computing Based Droid desktop
IOSR Journals
 
Xuedong Huang - Deep Learning and Intelligent Applications
Xuedong Huang - Deep Learning and Intelligent ApplicationsXuedong Huang - Deep Learning and Intelligent Applications
Xuedong Huang - Deep Learning and Intelligent Applications
Machine Learning Prague
 
WaveEngine Dotnet 2018
WaveEngine Dotnet 2018WaveEngine Dotnet 2018
WaveEngine Dotnet 2018
Javier Cantón Ferrero
 
Catan world and Churchill
Catan world and ChurchillCatan world and Churchill
Catan world and Churchill
Grant Goodale
 
Social Analytics on MongoDB at MongoNYC
Social Analytics on MongoDB at MongoNYCSocial Analytics on MongoDB at MongoNYC
Social Analytics on MongoDB at MongoNYC
Patrick Stokes
 
Build a Real-time Streaming Data Visualization System with Amazon Kinesis Ana...
Build a Real-time Streaming Data Visualization System with Amazon Kinesis Ana...Build a Real-time Streaming Data Visualization System with Amazon Kinesis Ana...
Build a Real-time Streaming Data Visualization System with Amazon Kinesis Ana...
Amazon Web Services
 

Similar to Harnessing the Power of AI with Windows Ink (20)

Programming with RealSense using .NET
Programming with RealSense using .NETProgramming with RealSense using .NET
Programming with RealSense using .NET
 
Serverless Streaming Data Processing using Amazon Kinesis Analytics
Serverless Streaming Data Processing using Amazon Kinesis AnalyticsServerless Streaming Data Processing using Amazon Kinesis Analytics
Serverless Streaming Data Processing using Amazon Kinesis Analytics
 
Intercepting Windows Printing by Modifying GDI Subsystem
Intercepting Windows Printing by Modifying GDI SubsystemIntercepting Windows Printing by Modifying GDI Subsystem
Intercepting Windows Printing by Modifying GDI Subsystem
 
Intercepting Windows Printing by Modifying GDI Subsystem
Intercepting Windows Printing by Modifying GDI SubsystemIntercepting Windows Printing by Modifying GDI Subsystem
Intercepting Windows Printing by Modifying GDI Subsystem
 
Serverless Streaming Data Processing using Amazon Kinesis Analytics
Serverless Streaming Data Processing using Amazon Kinesis AnalyticsServerless Streaming Data Processing using Amazon Kinesis Analytics
Serverless Streaming Data Processing using Amazon Kinesis Analytics
 
WSO2Con EU 2016: An Introduction to the WSO2 Analytics Platform
WSO2Con EU 2016: An Introduction to the WSO2 Analytics PlatformWSO2Con EU 2016: An Introduction to the WSO2 Analytics Platform
WSO2Con EU 2016: An Introduction to the WSO2 Analytics Platform
 
Corey.Berry.Portfolio.2016
Corey.Berry.Portfolio.2016Corey.Berry.Portfolio.2016
Corey.Berry.Portfolio.2016
 
WSO2Con USA 2015: WSO2 Analytics Platform - The One Stop Shop for All Your Da...
WSO2Con USA 2015: WSO2 Analytics Platform - The One Stop Shop for All Your Da...WSO2Con USA 2015: WSO2 Analytics Platform - The One Stop Shop for All Your Da...
WSO2Con USA 2015: WSO2 Analytics Platform - The One Stop Shop for All Your Da...
 
High DPI for desktop applications
High DPI for desktop applicationsHigh DPI for desktop applications
High DPI for desktop applications
 
Create real value in your business process by automated data and form extraction
Create real value in your business process by automated data and form extractionCreate real value in your business process by automated data and form extraction
Create real value in your business process by automated data and form extraction
 
Serverless Streaming Data Processing using Amazon Kinesis Analytics
Serverless Streaming Data Processing using Amazon Kinesis AnalyticsServerless Streaming Data Processing using Amazon Kinesis Analytics
Serverless Streaming Data Processing using Amazon Kinesis Analytics
 
Building a game engine with jQuery
Building a game engine with jQueryBuilding a game engine with jQuery
Building a game engine with jQuery
 
[Td 2015] what is new in visual c++ 2015 and future directions(ulzii luvsanba...
[Td 2015] what is new in visual c++ 2015 and future directions(ulzii luvsanba...[Td 2015] what is new in visual c++ 2015 and future directions(ulzii luvsanba...
[Td 2015] what is new in visual c++ 2015 and future directions(ulzii luvsanba...
 
Serverless Streaming Data Processing using Amazon Kinesis Analytics
Serverless Streaming Data Processing using Amazon Kinesis AnalyticsServerless Streaming Data Processing using Amazon Kinesis Analytics
Serverless Streaming Data Processing using Amazon Kinesis Analytics
 
Virtual Network Computing Based Droid desktop
Virtual Network Computing Based Droid desktopVirtual Network Computing Based Droid desktop
Virtual Network Computing Based Droid desktop
 
Xuedong Huang - Deep Learning and Intelligent Applications
Xuedong Huang - Deep Learning and Intelligent ApplicationsXuedong Huang - Deep Learning and Intelligent Applications
Xuedong Huang - Deep Learning and Intelligent Applications
 
WaveEngine Dotnet 2018
WaveEngine Dotnet 2018WaveEngine Dotnet 2018
WaveEngine Dotnet 2018
 
Catan world and Churchill
Catan world and ChurchillCatan world and Churchill
Catan world and Churchill
 
Social Analytics on MongoDB at MongoNYC
Social Analytics on MongoDB at MongoNYCSocial Analytics on MongoDB at MongoNYC
Social Analytics on MongoDB at MongoNYC
 
Build a Real-time Streaming Data Visualization System with Amazon Kinesis Ana...
Build a Real-time Streaming Data Visualization System with Amazon Kinesis Ana...Build a Real-time Streaming Data Visualization System with Amazon Kinesis Ana...
Build a Real-time Streaming Data Visualization System with Amazon Kinesis Ana...
 

More from Windows Developer

Our Fluent Path to Spatial Computing: Easy as 1-2D-3D
Our Fluent Path to Spatial Computing: Easy as 1-2D-3DOur Fluent Path to Spatial Computing: Easy as 1-2D-3D
Our Fluent Path to Spatial Computing: Easy as 1-2D-3D
Windows Developer
 
Fluent Design System inside of Microsoft: Office
Fluent Design System inside of Microsoft: OfficeFluent Design System inside of Microsoft: Office
Fluent Design System inside of Microsoft: Office
Windows Developer
 
Building powerful desktop and MR applications with new windowing apis
Building powerful desktop and MR applications with new windowing apisBuilding powerful desktop and MR applications with new windowing apis
Building powerful desktop and MR applications with new windowing apis
Windows Developer
 
Creating Innovative Experiences for Fluent Design using the Visual Layer
Creating Innovative Experiences for Fluent Design using the Visual LayerCreating Innovative Experiences for Fluent Design using the Visual Layer
Creating Innovative Experiences for Fluent Design using the Visual Layer
Windows Developer
 
Rapidly Construct LOB Applications with UWP and Visual Studio 2017
Rapidly Construct LOB Applications with UWP and Visual Studio 2017Rapidly Construct LOB Applications with UWP and Visual Studio 2017
Rapidly Construct LOB Applications with UWP and Visual Studio 2017
Windows Developer
 
Modernizing Desktop Apps on Windows 10
Modernizing Desktop Apps on Windows 10Modernizing Desktop Apps on Windows 10
Modernizing Desktop Apps on Windows 10
Windows Developer
 
How Simplygon helped Remix become platform independent
How Simplygon helped Remix become platform independentHow Simplygon helped Remix become platform independent
How Simplygon helped Remix become platform independent
Windows Developer
 
Technical deep dive into creating the “Solutions Showcase for Mixed Reality” ...
Technical deep dive into creating the “Solutions Showcase for Mixed Reality” ...Technical deep dive into creating the “Solutions Showcase for Mixed Reality” ...
Technical deep dive into creating the “Solutions Showcase for Mixed Reality” ...
Windows Developer
 
Developing for Sets on Windows 10
Developing for Sets on Windows 10Developing for Sets on Windows 10
Developing for Sets on Windows 10
Windows Developer
 
Data-Driven and User-Centric: Improving enterprise productivity and engagemen...
Data-Driven and User-Centric: Improving enterprise productivity and engagemen...Data-Driven and User-Centric: Improving enterprise productivity and engagemen...
Data-Driven and User-Centric: Improving enterprise productivity and engagemen...
Windows Developer
 
Drive user reengagement across all your Windows, Android, and iOS with Micros...
Drive user reengagement across all your Windows, Android, and iOS with Micros...Drive user reengagement across all your Windows, Android, and iOS with Micros...
Drive user reengagement across all your Windows, Android, and iOS with Micros...
Windows Developer
 
Fluent Design: Evolving our Design System
Fluent Design: Evolving our Design SystemFluent Design: Evolving our Design System
Fluent Design: Evolving our Design System
Windows Developer
 
Seizing the Mixed Reality Revolution – A past, present and future Mixed Reali...
Seizing the Mixed Reality Revolution – A past, present and future Mixed Reali...Seizing the Mixed Reality Revolution – A past, present and future Mixed Reali...
Seizing the Mixed Reality Revolution – A past, present and future Mixed Reali...
Windows Developer
 
Windows 10 on ARM for developers
Windows 10 on ARM for developersWindows 10 on ARM for developers
Windows 10 on ARM for developers
Windows Developer
 
Building Mixed reality with the new capabilities in Unity
Building Mixed reality with the new capabilities in UnityBuilding Mixed reality with the new capabilities in Unity
Building Mixed reality with the new capabilities in Unity
Windows Developer
 
Set up a windows dev environment that feels like $HOME
Set up a windows dev environment that feels like $HOMESet up a windows dev environment that feels like $HOME
Set up a windows dev environment that feels like $HOME
Windows Developer
 
Modernizing Twitter for Windows as a Progressive Web App
Modernizing Twitter for Windows as a Progressive Web AppModernizing Twitter for Windows as a Progressive Web App
Modernizing Twitter for Windows as a Progressive Web App
Windows Developer
 
Holograms for trade education, built for students, by students with Immersive...
Holograms for trade education, built for students, by students with Immersive...Holograms for trade education, built for students, by students with Immersive...
Holograms for trade education, built for students, by students with Immersive...
Windows Developer
 
Designing Inclusive Experiences to Maximize Reach and Satisfaction
Designing Inclusive Experiences to Maximize Reach and Satisfaction Designing Inclusive Experiences to Maximize Reach and Satisfaction
Designing Inclusive Experiences to Maximize Reach and Satisfaction
Windows Developer
 
Cboard: A Progressive Web App for Everyone
Cboard: A Progressive Web App for EveryoneCboard: A Progressive Web App for Everyone
Cboard: A Progressive Web App for Everyone
Windows Developer
 

More from Windows Developer (20)

Our Fluent Path to Spatial Computing: Easy as 1-2D-3D
Our Fluent Path to Spatial Computing: Easy as 1-2D-3DOur Fluent Path to Spatial Computing: Easy as 1-2D-3D
Our Fluent Path to Spatial Computing: Easy as 1-2D-3D
 
Fluent Design System inside of Microsoft: Office
Fluent Design System inside of Microsoft: OfficeFluent Design System inside of Microsoft: Office
Fluent Design System inside of Microsoft: Office
 
Building powerful desktop and MR applications with new windowing apis
Building powerful desktop and MR applications with new windowing apisBuilding powerful desktop and MR applications with new windowing apis
Building powerful desktop and MR applications with new windowing apis
 
Creating Innovative Experiences for Fluent Design using the Visual Layer
Creating Innovative Experiences for Fluent Design using the Visual LayerCreating Innovative Experiences for Fluent Design using the Visual Layer
Creating Innovative Experiences for Fluent Design using the Visual Layer
 
Rapidly Construct LOB Applications with UWP and Visual Studio 2017
Rapidly Construct LOB Applications with UWP and Visual Studio 2017Rapidly Construct LOB Applications with UWP and Visual Studio 2017
Rapidly Construct LOB Applications with UWP and Visual Studio 2017
 
Modernizing Desktop Apps on Windows 10
Modernizing Desktop Apps on Windows 10Modernizing Desktop Apps on Windows 10
Modernizing Desktop Apps on Windows 10
 
How Simplygon helped Remix become platform independent
How Simplygon helped Remix become platform independentHow Simplygon helped Remix become platform independent
How Simplygon helped Remix become platform independent
 
Technical deep dive into creating the “Solutions Showcase for Mixed Reality” ...
Technical deep dive into creating the “Solutions Showcase for Mixed Reality” ...Technical deep dive into creating the “Solutions Showcase for Mixed Reality” ...
Technical deep dive into creating the “Solutions Showcase for Mixed Reality” ...
 
Developing for Sets on Windows 10
Developing for Sets on Windows 10Developing for Sets on Windows 10
Developing for Sets on Windows 10
 
Data-Driven and User-Centric: Improving enterprise productivity and engagemen...
Data-Driven and User-Centric: Improving enterprise productivity and engagemen...Data-Driven and User-Centric: Improving enterprise productivity and engagemen...
Data-Driven and User-Centric: Improving enterprise productivity and engagemen...
 
Drive user reengagement across all your Windows, Android, and iOS with Micros...
Drive user reengagement across all your Windows, Android, and iOS with Micros...Drive user reengagement across all your Windows, Android, and iOS with Micros...
Drive user reengagement across all your Windows, Android, and iOS with Micros...
 
Fluent Design: Evolving our Design System
Fluent Design: Evolving our Design SystemFluent Design: Evolving our Design System
Fluent Design: Evolving our Design System
 
Seizing the Mixed Reality Revolution – A past, present and future Mixed Reali...
Seizing the Mixed Reality Revolution – A past, present and future Mixed Reali...Seizing the Mixed Reality Revolution – A past, present and future Mixed Reali...
Seizing the Mixed Reality Revolution – A past, present and future Mixed Reali...
 
Windows 10 on ARM for developers
Windows 10 on ARM for developersWindows 10 on ARM for developers
Windows 10 on ARM for developers
 
Building Mixed reality with the new capabilities in Unity
Building Mixed reality with the new capabilities in UnityBuilding Mixed reality with the new capabilities in Unity
Building Mixed reality with the new capabilities in Unity
 
Set up a windows dev environment that feels like $HOME
Set up a windows dev environment that feels like $HOMESet up a windows dev environment that feels like $HOME
Set up a windows dev environment that feels like $HOME
 
Modernizing Twitter for Windows as a Progressive Web App
Modernizing Twitter for Windows as a Progressive Web AppModernizing Twitter for Windows as a Progressive Web App
Modernizing Twitter for Windows as a Progressive Web App
 
Holograms for trade education, built for students, by students with Immersive...
Holograms for trade education, built for students, by students with Immersive...Holograms for trade education, built for students, by students with Immersive...
Holograms for trade education, built for students, by students with Immersive...
 
Designing Inclusive Experiences to Maximize Reach and Satisfaction
Designing Inclusive Experiences to Maximize Reach and Satisfaction Designing Inclusive Experiences to Maximize Reach and Satisfaction
Designing Inclusive Experiences to Maximize Reach and Satisfaction
 
Cboard: A Progressive Web App for Everyone
Cboard: A Progressive Web App for EveryoneCboard: A Progressive Web App for Everyone
Cboard: A Progressive Web App for Everyone
 

Recently uploaded

Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 

Recently uploaded (20)

Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 

Harnessing the Power of AI with Windows Ink

  • 1.
  • 2.
  • 3.
  • 5. 3D in Windows 10 Windows Ink Microsoft Edge Faster to done Microsoft Office Cortana More creative, more productive 3rd in purchase intent 212m U.S. adults use analog or digital pen Processor/Ram/Storage Battery Life Pen Switch Storage from HDD to SSD Increase screen resolution Windows Hello 2-in-1 purchase intent when shown new scenarios
  • 6. 3D in Windows 10 Windows Ink Microsoft Edge Faster to done Microsoft Office Cortana More creative, more productive 3rd in purchase intent 212m U.S. adults use analog or digital pen 10x more pen enabled devices than iOS or Android 2x More pen devices year over year 2x More user engagement year over year 8pts higher average NPS scores for pen attached systems 60% Top 10 revenue producing apps use Windows Ink 50% More apps using Windows Ink in Windows Store
  • 8.
  • 9. UWP and Win32 The Windows Ink Platform Low Level APIs / Engine Controls HID Hardware Pointer (PointerPoint, WM_Pointer) Radial Controller DirectInk Ink Presenter Rendering InkStrokeContainer Low Latency Beautiful Ink Core WetStroke Update Source Custom Dry Built-in Brushes and Drawing Attributes Acceleration Off-thread Input Stroke Creation Prediction Smoothing XAML Controls InkCanvas InkToolbar TextBox SmartInk InkAnalysis Local Ink Classification Layout Analysis Handwriting Recognition Shape Recognition InkAnalysis Cloud Ink Classification Layout Analysis Handwriting Recognition Shape Recognition Cloud Service APIs
  • 10. UWP and Win32 The Windows Ink Platform Low Level APIs / Engine HID Hardware Pointer (PointerPoint, WM_Pointer) Radial Controller DirectInk Ink Presenter Rendering InkStrokeContainer Low Latency Beautiful Ink Core WetStroke Update Source Custom Dry Built-in Brushes and Drawing Attributes Acceleration Off-thread Input Stroke Creation Prediction Smoothing SmartInk InkAnalysis Local Ink Classification Layout Analysis Handwriting Recognition Shape Recognition InkAnalysis Cloud Ink Classification Layout Analysis Handwriting Recognition Shape Recognition Cloud Service APIs Controls XAML Controls InkCanvas InkToolbar TextBox
  • 11. <InkCanvas x:Name=“m_inkCanvas”/> <InkToolbar TargetInkCanvas=“{x:Bind m_inkCanvas}”/> XAML Ink Canvas XAML Ink Toolbar
  • 13. Delete Words Delete Lines Insert words into a sentence Join two words Add a new line Overwrite Words
  • 14. UWP and Win32 The Windows Ink Platform Low Level APIs / Engine HID Hardware Pointer (PointerPoint, WM_Pointer) Radial Controller SmartInk InkAnalysis Local Ink Classification Layout Analysis Handwriting Recognition Shape Recognition InkAnalysis Cloud Ink Classification Layout Analysis Handwriting Recognition Shape Recognition Cloud Service APIs Controls XAML Controls InkCanvas InkToolbar TextBox DirectInk Ink Presenter Rendering InkStrokeContainer Low Latency Beautiful Ink Core WetStroke Update Source Custom Dry Built-in Brushes and Drawing Attributes Acceleration Off-thread Input Stroke Creation Prediction Smoothing
  • 15. • Ballpoint Pen • Highlighter • Tilt Pencil Model how analog pencil works Natural pencil inking – dynamic range, layering • Erasing Stroke erase – erases full stroke Erase all • Stencils Built-in Brushes and Erasing
  • 16. Pen Hardware & Ecosystem Update Ink Acceleration  Using GPU preemption, Windows no longer has to wait for the next scanout to get ink on the screen. Microsoft Pen Program Microsoft Pen
  • 17. UWP and Win32 The Windows Ink Platform Low Level APIs / Engine HID Hardware Pointer (PointerPoint, WM_Pointer) Radial Controller Controls XAML Controls InkCanvas InkToolbar TextBox DirectInk Ink Presenter Rendering InkStrokeContainer Low Latency Beautiful Ink Core WetStroke Update Source Custom Dry Built-in Brushes and Drawing Attributes Acceleration Off-thread Input Stroke Creation Prediction Smoothing SmartInk InkAnalysis Local Ink Classification Layout Analysis Handwriting Recognition Shape Recognition InkAnalysis Cloud Ink Classification Layout Analysis Handwriting Recognition Shape Recognition Cloud Service APIs
  • 18.
  • 19. Ink Analysis Root WritingRegion Drawing Drawing DrawingWritingRegion … … ListItem x2Line Line InkWord InkWord InkWord InkWord … … InkBullet Paragraph
  • 20. For Each Text Node • RecognizedText – The string representing the recognized text in the node Note: Line, ListItem, and Paragraph nodes also have a RecognizedText property • TextAlternates – The list of alternates for the recognized text • Understand slanted text via RotatedBoundingRect Text Recognition Avani hello, halo, hollo
  • 21. Shape Recognition Triangles Equilateral Triangles Isosceles Triangles Right Triangles Squares Rectangles Diamonds Quadrilaterals Parallelograms TrapezoidsPentagons Hexagons Circles Ellipses Ink Drawing
  • 24. Microsoft Confidential Stateless Ink Analysis Find the nodes you’re interested in Extract strokes Send to InkAnalyzer Analyze the strokes Do cool stuff var inkAnalyzer = new InkAnalyzer(); private async void AnalyzeButton_Clicked(object sender, RoutedEventArgs e) { if (!inkAnalyzer.IsAnalyzing) { inkAnalyzer.ClearDataForStrokes(strokes); var strokes = inkCanvas.InkPresenter.StrokeContainer.GetStrokes(); inkAnalyzer.AddDataForStrokes(strokes); var results = await inkAnalyzer.AnalyzeAsync(); } }
  • 25. Microsoft Confidential Stateful (Incremental) Ink Analysis Find the nodes you’re interested in Strokes changed Update InkAnalyzer Analyze the strokes Do cool stuff private void InkPresenter_StrokesCollected(InkPresenter sender, InkStrokesCollectedEventArgs args) { inkAnalyzer.AddDataForStrokes(args.Strokes); } private void InkPresenter_StrokesEraseded(InkPresenter sender, InkStrokesErasedEventArgs args) { foreach (var stroke in args.Strokes) { inkAnalyzer.RemoveDataForStroke(stroke.Id); } }
  • 26. Microsoft Confidential Stateful (Incremental) Ink Analysis Find the nodes you’re interested in Strokes changed Update InkAnalyzer Analyze the strokes Do cool stuff private void StrokesUpdated(IReadOnlyList<uint> updatedStrokeIds) { var strokeContainer = inkCanvas.InkPresenter.StrokeContainer; foreach(var id in updatedStrokeIds) { inkAnalyzer.ReplaceDataForStroke(strokeContainer.GetStrokeById(id)); } } private async void AnalyzeButton_Clicked(object sender, RoutedEventArgs e) { if (!inkAnalyzer.IsAnalyzing) { var results = await inkAnalyzer.AnalyzeAsync(); } }
  • 27. Microsoft Confidential var results = await _inkAnalyzer.AnalyzeAsync(); var root = inkAnalyzer.AnalysisRoot; // Query for particular node kind var drawings = root.FindNodes(InkAnalysisNodeKind.InkDrawing); var paragraphs = root.FindNodes(InkAnalysisNodeKind.Paragraph); var words = root.FindNodes(InkAnalysisNodeKind.InkWord); // Document tree traversal foreach (var paragraph in writingRegion.Children) {…} foreach (var word in line.Children) {…} var line = word.Parent; Query Document Structure Find the nodes you’re interested in Strokes changed Update InkAnalyzer Analyze the strokes Do cool stuff
  • 28. Microsoft Confidential var results = await _inkAnalyzer.AnalyzeAsync(); var root = inkAnalyzer.AnalysisRoot; var drawings = root.FindNodes(InkAnalysisNodeKind.InkDrawing); foreach (var drawing in drawings) { var shape = drawing as InkAnalysisInkDrawing; if(shape.DrawingKind == InkAnalysisDrawingKind.Circle) { convertInkToXAMLShape(shape); var strokeIds = shape.GetStrokeIds(); inkAnalyzer.removeDataForStrokes(strokeIds); foreach(var id in strokeIds) { strokeContainer.GetStrokeById(id).Selected = true; } strokeContainer.DeleteSelected(); } } Mapping between strokes and InkAnalysisNode
  • 29. Microsoft Confidential Use Prior Knowledge Find the nodes you’re interested in Strokes changed Update InkAnalyzer Analyze the strokes Do cool stuff private void InkPresenter_StrokesCollected(InkPresenter sender, InkStrokesCollectedEventArgs args) { inkAnalyzer.AddDataForStrokes(args.Strokes); foreach (var stroke in args.Strokes) { inkAnalyzer.SetStrokeDataKind(stroke.Id, InkAnalysisStrokeKind.Writing); //inkAnalyzer.SetStrokeDataKind(stroke.Id, InkAnalysisStrokeKind.Drawing); } }
  • 30.
  • 31.
  • 32. Microsoft Confidential Cloud Service For Smart Ink Consistent Ink Recognition Experience Across Devices and Platforms Faster and Frequent Improvements to the core recognition capabilities Personalized Recognition with the Microsoft Cloud and Microsoft Graph Compute Power for larger ML models for better accuracy
  • 33. Microsoft Confidential Reachouttous! • Learn more: • aka.ms/WindowsInkSample • aka.ms/DigitalInkBlog • aka.ms/WinHEC2017 • aka.ms/InputScope • aka.ms/InkPresenterClass • aka.ms/HandwritingView • Code Samples • aka.ms/SimpleInkSample • aka.ms/ComplexInkSample • aka.ms/InkAnalysisSample Interested in being a co-engineering partner for our cloud solution, or have an ink related question for the team? Contact us here: WindowsInk@Microsoft.com Follow us on Twitter for the latest ink and pen news from our team! Twitter: WindowsInk

Editor's Notes

  1. 2
  2. 4
  3. 5
  4. 6
  5. 7
  6. 9
  7. 10
  8. 11
  9. 12
  10. 13
  11. 14
  12. 15
  13. 16
  14. 17
  15. 18
  16. 19
  17. 20
  18. 21
  19. 23
  20. 24
  21. 25
  22. 26
  23. 32