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

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
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
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
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
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
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
CAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on BlockchainCAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on Blockchain
Claudio Di Ciccio
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
David Brossard
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 

Recently uploaded (20)

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
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
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
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
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
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
CAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on BlockchainCAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on Blockchain
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 

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