SlideShare a Scribd company logo
1 of 41
 
Frank La Vigne, Tablet PC MVP Lead Designer Applied Information Systems Reston, VA APP329 Practical Ink Analysis
Who Is Frank La Vigne? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Digital Ink Basics ,[object Object],[object Object],[object Object],[object Object],[object Object]
Digital Ink ,[object Object],[object Object],[object Object],[object Object],[object Object]
Strokes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Capturing Ink ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Recognizing Ink ,[object Object],[object Object],[object Object],[object Object],string recognitionResults =  inkCollector.Ink.Strokes.ToString();
Digital Ink Basics
Word Recognition ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Moving from Strings to Documents ,[object Object],Developers need an API  to do the “heavy lifting”  and convert the ink to  the right to text  and   preserve the structure.
Meet the InkAnalyzer ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
InkAnalyzer in Action ,[object Object]
Coding the InkAnalyzer  ,[object Object],[object Object],[object Object],InkAnalyzer analyzer = new  InkAnalyzer(this.collector.Ink, this); analyzer.AddStrokes(this.collector.Ink.Strokes);
Coding the InkAnalyzer (cont'd)  ,[object Object],[object Object],[object Object],analyzer.RemoveStroke (this.collector.Ink.Strokes); analyzer.Analyze(); analyzer.BackgroundAnalyze();
Ink Analysis Results ,[object Object],[object Object],[object Object],[object Object],[object Object]
ContextNode Types ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
InkAnalyzer Results
Recursing the Tree ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
InkAnalysis Sample App
Wouldn't It Be Great If… ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ink to XML Converter
Improving Recognition Results ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Factoids in Action ,[object Object]
Hints & Factoids ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Coding Hints & Factoids ,[object Object],[object Object],[object Object],[object Object],AnalysisHintNode hintNode = inkAnalyzer.CreateAnalysisHint(); hintNode.Factoid = Factoid.Web; hintNode.CoerceToFactoid = true;
InkWeb Browser
Using a Custom Word List ,[object Object],[object Object],[object Object],string[] wordListArray = { “Blogging", “AJAX", “Podcast“, “PVR” }; AnalysisHintNode hintNode = inkAnalyzer.CreateAnalysisHint(); hintNode.Factoid = Factoid.WordList; hintNode.SetWordlist(wordListArray);
Ink to Blog Application
Detecting Relationships in Ink ,[object Object],[object Object],[object Object],[object Object],[object Object]
ContextLink Object ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Coding the ContextLink Object ,[object Object],[object Object],foreach (ContextLink cl in contextNode. Links ) { // What's doing the pointing cl.SourceNode.Strokes.ModifyDrawingAttributes(new  DrawingAttributes( Color.Blue )); // What's being highlighted cl.DestinationNode.Strokes.ModifyDrawingAttributes( new DrawingAttributes( Color.Red )); }
Finding Context Links
Shape Recognition ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Coding Shape Recognition ,[object Object],[object Object],[object Object],ContextNodeCollection drawingNodes = inkAnalyzer.FindNodesOfType(ContextNodeType.InkDrawing); string results = "Drawings detected:"; foreach (InkDrawingNode drawingNode in drawingNodes) { results += drawingNode. GetShapeName()  + ""; } MessageBox.Show(results);
Shape Recognition Game
Additional Resources ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Questions & Answers
While You're Here Fill out your session evaluation Enter to win  a Windows Mobile ®  phone or Zune™ Geek out with a huge rack of servers Enterprise Mobility in Action  in the Expo Hall Go on a date ISV Speed Dating   lets you pitch your app to Mobile Operators and OEMs (May 1 only) Meet the geeks The  Expert Cabana  is packed with MEDC  speakers and MVPs
© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation.  Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.  MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

More Related Content

Viewers also liked (6)

Tips on Starting a Compelling Vlog
Tips on Starting a Compelling VlogTips on Starting a Compelling Vlog
Tips on Starting a Compelling Vlog
 
Intro to .NET for Government Developers
Intro to .NET for Government DevelopersIntro to .NET for Government Developers
Intro to .NET for Government Developers
 
Create a Windows 8 App in minutes
Create a Windows 8 App in minutesCreate a Windows 8 App in minutes
Create a Windows 8 App in minutes
 
Windows 8 Developer Workshop
Windows 8 Developer WorkshopWindows 8 Developer Workshop
Windows 8 Developer Workshop
 
Ppt for presentation on google inc.
Ppt for presentation on google inc.Ppt for presentation on google inc.
Ppt for presentation on google inc.
 
Presentation on-google
Presentation on-googlePresentation on-google
Presentation on-google
 

Similar to Exploring Ink Analysis

Presentation on visual basic 6 (vb6)
Presentation on visual basic 6 (vb6)Presentation on visual basic 6 (vb6)
Presentation on visual basic 6 (vb6)
pbarasia
 
Visual basic 6.0
Visual basic 6.0Visual basic 6.0
Visual basic 6.0
Aarti P
 
Unify Design & Deliverables
Unify Design & DeliverablesUnify Design & Deliverables
Unify Design & Deliverables
nathanacurtis
 
Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan
 
Build a game with javascript (april 2017)
Build a game with javascript (april 2017)Build a game with javascript (april 2017)
Build a game with javascript (april 2017)
Thinkful
 
WP7 HUB_Introducción a Silverlight
WP7 HUB_Introducción a SilverlightWP7 HUB_Introducción a Silverlight
WP7 HUB_Introducción a Silverlight
MICTT Palma
 

Similar to Exploring Ink Analysis (20)

01 Database Management (re-uploaded)
01 Database Management (re-uploaded)01 Database Management (re-uploaded)
01 Database Management (re-uploaded)
 
Ppt on visual basics
Ppt on visual basicsPpt on visual basics
Ppt on visual basics
 
Presentation on visual basic 6 (vb6)
Presentation on visual basic 6 (vb6)Presentation on visual basic 6 (vb6)
Presentation on visual basic 6 (vb6)
 
Visual basic 6.0
Visual basic 6.0Visual basic 6.0
Visual basic 6.0
 
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
 
Designingapplswithnet
DesigningapplswithnetDesigningapplswithnet
Designingapplswithnet
 
SLUGUK BUILD Round-up
SLUGUK BUILD Round-upSLUGUK BUILD Round-up
SLUGUK BUILD Round-up
 
Ary Mouse for Image Processing
Ary Mouse for Image ProcessingAry Mouse for Image Processing
Ary Mouse for Image Processing
 
Ary Mouse for Image Processing
Ary Mouse for Image ProcessingAry Mouse for Image Processing
Ary Mouse for Image Processing
 
2013 Lecture 5: AR Tools and Interaction
2013 Lecture 5: AR Tools and Interaction 2013 Lecture 5: AR Tools and Interaction
2013 Lecture 5: AR Tools and Interaction
 
Introduction to Shiny for building web apps in R
Introduction to Shiny for building web apps in RIntroduction to Shiny for building web apps in R
Introduction to Shiny for building web apps in R
 
Linq
LinqLinq
Linq
 
Unit 1 - TypeScript & Introduction to Angular CLI.pptx
Unit 1 - TypeScript & Introduction to Angular CLI.pptxUnit 1 - TypeScript & Introduction to Angular CLI.pptx
Unit 1 - TypeScript & Introduction to Angular CLI.pptx
 
Unify Design & Deliverables
Unify Design & DeliverablesUnify Design & Deliverables
Unify Design & Deliverables
 
Web-Dev Portfolio
Web-Dev PortfolioWeb-Dev Portfolio
Web-Dev Portfolio
 
Revealing C# 5
Revealing C# 5Revealing C# 5
Revealing C# 5
 
Put Your Hands in the Mud: What Technique, Why, and How
Put Your Hands in the Mud: What Technique, Why, and HowPut Your Hands in the Mud: What Technique, Why, and How
Put Your Hands in the Mud: What Technique, Why, and How
 
Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2
 
Build a game with javascript (april 2017)
Build a game with javascript (april 2017)Build a game with javascript (april 2017)
Build a game with javascript (april 2017)
 
WP7 HUB_Introducción a Silverlight
WP7 HUB_Introducción a SilverlightWP7 HUB_Introducción a Silverlight
WP7 HUB_Introducción a Silverlight
 

More from Frank La Vigne

Intro to MVC 3 for Government Developers
Intro to MVC 3 for Government DevelopersIntro to MVC 3 for Government Developers
Intro to MVC 3 for Government Developers
Frank La Vigne
 
Windows Phone Public Sector
Windows Phone Public SectorWindows Phone Public Sector
Windows Phone Public Sector
Frank La Vigne
 
Dr ScriptLove or How I Learned to Stop Worrying and Love JavaScript
Dr ScriptLove or How I Learned to Stop Worrying and Love JavaScriptDr ScriptLove or How I Learned to Stop Worrying and Love JavaScript
Dr ScriptLove or How I Learned to Stop Worrying and Love JavaScript
Frank La Vigne
 
Bing & Silverlight: Perfect Together
Bing & Silverlight: Perfect TogetherBing & Silverlight: Perfect Together
Bing & Silverlight: Perfect Together
Frank La Vigne
 
Poor Man's Project Natal
Poor Man's Project NatalPoor Man's Project Natal
Poor Man's Project Natal
Frank La Vigne
 
Silverlight FireStarter DC Keynote
Silverlight FireStarter DC KeynoteSilverlight FireStarter DC Keynote
Silverlight FireStarter DC Keynote
Frank La Vigne
 
XAML: One Language to Rule Them All
XAML: One Language to Rule Them AllXAML: One Language to Rule Them All
XAML: One Language to Rule Them All
Frank La Vigne
 
Tablet PC as Pretty Cool Smart Client Platform
Tablet PC as Pretty Cool Smart Client PlatformTablet PC as Pretty Cool Smart Client Platform
Tablet PC as Pretty Cool Smart Client Platform
Frank La Vigne
 
Re-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Re-use Your Skills and Code to Expand the Reach of Your Apps with SilverlightRe-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Re-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Frank La Vigne
 

More from Frank La Vigne (20)

Binary Classification on Azure ML: Is this Red Wine Good or Bad?
Binary Classification on Azure ML: Is this Red Wine Good or Bad?Binary Classification on Azure ML: Is this Red Wine Good or Bad?
Binary Classification on Azure ML: Is this Red Wine Good or Bad?
 
Neural Networks from the Ground Up
Neural Networks from the Ground UpNeural Networks from the Ground Up
Neural Networks from the Ground Up
 
Machine Learning Melee: AWS ML vs. Azure ML
Machine Learning Melee: AWS ML vs. Azure MLMachine Learning Melee: AWS ML vs. Azure ML
Machine Learning Melee: AWS ML vs. Azure ML
 
HTML5, Silverlight & Kinect
HTML5, Silverlight & KinectHTML5, Silverlight & Kinect
HTML5, Silverlight & Kinect
 
Intro to MVC 3 for Government Developers
Intro to MVC 3 for Government DevelopersIntro to MVC 3 for Government Developers
Intro to MVC 3 for Government Developers
 
A Lap Around Silverlight 5
A Lap Around Silverlight 5A Lap Around Silverlight 5
A Lap Around Silverlight 5
 
Windows Phone Public Sector
Windows Phone Public SectorWindows Phone Public Sector
Windows Phone Public Sector
 
IE9: Power, Peformance and Standards
IE9: Power, Peformance and StandardsIE9: Power, Peformance and Standards
IE9: Power, Peformance and Standards
 
Dr ScriptLove or How I Learned to Stop Worrying and Love JavaScript
Dr ScriptLove or How I Learned to Stop Worrying and Love JavaScriptDr ScriptLove or How I Learned to Stop Worrying and Love JavaScript
Dr ScriptLove or How I Learned to Stop Worrying and Love JavaScript
 
Mix11 Recap DevDinner
Mix11 Recap DevDinnerMix11 Recap DevDinner
Mix11 Recap DevDinner
 
Bing & Silverlight: Perfect Together
Bing & Silverlight: Perfect TogetherBing & Silverlight: Perfect Together
Bing & Silverlight: Perfect Together
 
Pimp My Website
Pimp My WebsitePimp My Website
Pimp My Website
 
Exploring Sketch Flow
Exploring Sketch FlowExploring Sketch Flow
Exploring Sketch Flow
 
Poor Man's Project Natal
Poor Man's Project NatalPoor Man's Project Natal
Poor Man's Project Natal
 
Using Blend
Using BlendUsing Blend
Using Blend
 
Silverlight FireStarter DC Keynote
Silverlight FireStarter DC KeynoteSilverlight FireStarter DC Keynote
Silverlight FireStarter DC Keynote
 
XAML: One Language to Rule Them All
XAML: One Language to Rule Them AllXAML: One Language to Rule Them All
XAML: One Language to Rule Them All
 
Tablet PC as Pretty Cool Smart Client Platform
Tablet PC as Pretty Cool Smart Client PlatformTablet PC as Pretty Cool Smart Client Platform
Tablet PC as Pretty Cool Smart Client Platform
 
Re-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Re-use Your Skills and Code to Expand the Reach of Your Apps with SilverlightRe-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Re-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
 
Building Data Centric Apps in WPF
Building Data Centric Apps in WPFBuilding Data Centric Apps in WPF
Building Data Centric Apps in WPF
 

Recently uploaded

Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
UXDXConf
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
panagenda
 

Recently uploaded (20)

IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at Comcast
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & Ireland
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 

Exploring Ink Analysis

  • 1.  
  • 2. Frank La Vigne, Tablet PC MVP Lead Designer Applied Information Systems Reston, VA APP329 Practical Ink Analysis
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 20.
  • 22.
  • 23. Ink to XML Converter
  • 24.
  • 25.
  • 26.
  • 27.
  • 29.
  • 30. Ink to Blog Application
  • 31.
  • 32.
  • 33.
  • 35.
  • 36.
  • 38.
  • 40. While You're Here Fill out your session evaluation Enter to win a Windows Mobile ® phone or Zune™ Geek out with a huge rack of servers Enterprise Mobility in Action in the Expo Hall Go on a date ISV Speed Dating lets you pitch your app to Mobile Operators and OEMs (May 1 only) Meet the geeks The Expert Cabana is packed with MEDC speakers and MVPs
  • 41. © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Editor's Notes

  1. 06/08/09 15:52 © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.