Windows 8 as an Application Integration Hub

Jim Wooley
Jim WooleyTechnology Consultant at Slalom Consulting
WINDOWS 8 AS AN APP
 INTEGRATION HUB
  CHARMS, PICKERS, CONTRACTS




              @JimWooley
       http://www.ThinqLinq.com
WEB BASED APPLICATION INTEGRATION
WIN8 APPLICATION INTEGRATION
WINDOWS 8 INTEGRATION OPTIONS



            Extension             File               Search
                        Pickers




                                            Charms
Contracts




            Protocol              Contact            Share
                                                     Settings
• File Extensions (.mp3, .jpg, .foo)
• Protocol (mailto)
• Schema.org
PICKERS

•   FileOpenPicker
•   FileSavePicker
•   FolderPicker
•   ContactPicker
•   CredentialPicker
FILEOPENPICKER

var openPicker = new Windows.Storage.Pickers.FileOpenPicker();
openPicker.fileTypeFilter.replaceAll([".png",
                                      ".jpg",
                                      ".jpeg"]);
openPicker.pickSingleFileAsync().then(function (file) {
    if (file) {
       // Do something with the selected file
    } else {
       // The picker was dismissed with no selected file
    }
});
CHARMS
SEARCH CONTRACT




Share provides a lightweight, in
context, easy experience for accomplishing
SEARCH ACTIVATION

protected override void OnSearchActivated(
     SearchActivatedEventArgs args)
{
  SearchResultsPage1.Activate(
    args.QueryText,
    args.PreviousExecutionState);
}
SHARE CONTRACT
      S H A R E P R O V I D E S A L I G H T W E I G H T, I N C O N T E X T, E A S Y
E X P E R I E N C E F O R U S E R D R I V E N A P P L I C AT I O N I N T E G R AT I O N S .
SHARING FROM SOURCE TO TARGET

Source App   Share Broker   Share Target App
SHARE SOURCE
protected override void OnNavigatedTo(NavigationEventArgs e)
{
   this.dataTransferManager = DataTransferManager.GetForCurrentView();
   this.dataTransferManager.DataRequested +=
         new TypedEventHandler<DataTransferManager,
                      DataRequestedEventArgs>(this.OnDataRequested);
}
private void OnDataRequested(DataTransferManager sender,
                             DataRequestedEventArgs e)
{
   DataPackage requestData = e.Request.Data;
   requestData.Properties.Title = title;
   requestData.Properties.Description = description;
   requestData.SetText(dataPackageText);
}
SHARE TARGET
WINDOWS 8 INTEGRATION OPTIONS



         Search               File                  Extension
                    Pickers




                                        Contracts
Charms




         Share                Contact               Protocol
         Settings
RESOURCES

• Building Windows Blog
  http://blogs.msdn.com/b/b8/
• Build Videos
  http://www.buildwindows.com/
• Windows 8 Samples
  http://code.msdn.microsoft.com/windowsapps/
• Activation options
  http://msdn.microsoft.com/en-
  us/library/windows/apps/hh464906.aspx#file_activation
• Contracts & Micro formats
  http://www.schema.org
QUESTIONS
            >




       @JimWooley
http://www.ThinqLinq.com
1 of 17

Recommended

Linq tools by
Linq toolsLinq tools
Linq toolsJim Wooley
944 views22 slides
Developing For Multiple Environments on SharePoint Online by
Developing For Multiple Environments on SharePoint OnlineDeveloping For Multiple Environments on SharePoint Online
Developing For Multiple Environments on SharePoint OnlineFrank Sikorski
185 views21 slides
Phonegap 2.x by
Phonegap 2.xPhonegap 2.x
Phonegap 2.xBrian LeRoux
1.9K views32 slides
Web Standards Support in WebKit by
Web Standards Support in WebKitWeb Standards Support in WebKit
Web Standards Support in WebKitJoone Hur
3.4K views20 slides
FactPub Chrome Extension - Developer's Guide - by
FactPub Chrome Extension - Developer's Guide -FactPub Chrome Extension - Developer's Guide -
FactPub Chrome Extension - Developer's Guide -Shun Shiku
163 views18 slides

More Related Content

Similar to Windows 8 as an Application Integration Hub

OGCE SciDAC2010 Tutorial by
OGCE SciDAC2010 TutorialOGCE SciDAC2010 Tutorial
OGCE SciDAC2010 Tutorialmarpierc
978 views17 slides
Александр Краковецкий_Разработка универсальных приложений для Windows Phone 8... by
Александр Краковецкий_Разработка универсальных приложений для Windows Phone 8...Александр Краковецкий_Разработка универсальных приложений для Windows Phone 8...
Александр Краковецкий_Разработка универсальных приложений для Windows Phone 8...GeeksLab Odessa
839 views26 slides
Delegating user tasks in applications by
Delegating user tasks in applicationsDelegating user tasks in applications
Delegating user tasks in applicationsFriedger Müffke
459 views20 slides
How collaboration works between Dev and Ops - DevOps Agile Testing and Test S... by
How collaboration works between Dev and Ops - DevOps Agile Testing and Test S...How collaboration works between Dev and Ops - DevOps Agile Testing and Test S...
How collaboration works between Dev and Ops - DevOps Agile Testing and Test S...Giulio Vian
142 views32 slides
Mobile Device APIs by
Mobile Device APIsMobile Device APIs
Mobile Device APIsJames Pearce
30.6K views67 slides
SplunkLive! Getting Started with Splunk Enterprise by
SplunkLive! Getting Started with Splunk EnterpriseSplunkLive! Getting Started with Splunk Enterprise
SplunkLive! Getting Started with Splunk EnterpriseSplunk
5.4K views54 slides

Similar to Windows 8 as an Application Integration Hub(20)

OGCE SciDAC2010 Tutorial by marpierc
OGCE SciDAC2010 TutorialOGCE SciDAC2010 Tutorial
OGCE SciDAC2010 Tutorial
marpierc978 views
Александр Краковецкий_Разработка универсальных приложений для Windows Phone 8... by GeeksLab Odessa
Александр Краковецкий_Разработка универсальных приложений для Windows Phone 8...Александр Краковецкий_Разработка универсальных приложений для Windows Phone 8...
Александр Краковецкий_Разработка универсальных приложений для Windows Phone 8...
GeeksLab Odessa839 views
Delegating user tasks in applications by Friedger Müffke
Delegating user tasks in applicationsDelegating user tasks in applications
Delegating user tasks in applications
Friedger Müffke459 views
How collaboration works between Dev and Ops - DevOps Agile Testing and Test S... by Giulio Vian
How collaboration works between Dev and Ops - DevOps Agile Testing and Test S...How collaboration works between Dev and Ops - DevOps Agile Testing and Test S...
How collaboration works between Dev and Ops - DevOps Agile Testing and Test S...
Giulio Vian142 views
Mobile Device APIs by James Pearce
Mobile Device APIsMobile Device APIs
Mobile Device APIs
James Pearce30.6K views
SplunkLive! Getting Started with Splunk Enterprise by Splunk
SplunkLive! Getting Started with Splunk EnterpriseSplunkLive! Getting Started with Splunk Enterprise
SplunkLive! Getting Started with Splunk Enterprise
Splunk5.4K views
Developing your first application using FI-WARE by Fermin Galan
Developing your first application using FI-WAREDeveloping your first application using FI-WARE
Developing your first application using FI-WARE
Fermin Galan17.4K views
HTML5 for Rich User Experience by Mahbubur Rahman
HTML5 for Rich User ExperienceHTML5 for Rich User Experience
HTML5 for Rich User Experience
Mahbubur Rahman2.9K views
FIWARE Wednesday Webinars - How to Debug IoT Agents by FIWARE
FIWARE Wednesday Webinars - How to Debug IoT AgentsFIWARE Wednesday Webinars - How to Debug IoT Agents
FIWARE Wednesday Webinars - How to Debug IoT Agents
FIWARE821 views
WebRTC & Firefox OS - presentation at Google by Robert Nyman
WebRTC & Firefox OS - presentation at GoogleWebRTC & Firefox OS - presentation at Google
WebRTC & Firefox OS - presentation at Google
Robert Nyman13.8K views
Internet Explorer 8 by David Chou
Internet Explorer 8Internet Explorer 8
Internet Explorer 8
David Chou3.2K views
Windows Phone 8 - 11 App to App Communication by Oliver Scheer
Windows Phone 8 - 11 App to App CommunicationWindows Phone 8 - 11 App to App Communication
Windows Phone 8 - 11 App to App Communication
Oliver Scheer2.8K views
Tech Talk - Blockchain presentation by Laura Steggles
Tech Talk - Blockchain presentationTech Talk - Blockchain presentation
Tech Talk - Blockchain presentation
Laura Steggles225 views
Profiling PHP - AmsterdamPHP Meetup - 2014-11-20 by Dennis de Greef
Profiling PHP - AmsterdamPHP Meetup - 2014-11-20Profiling PHP - AmsterdamPHP Meetup - 2014-11-20
Profiling PHP - AmsterdamPHP Meetup - 2014-11-20
Dennis de Greef1.9K views
Day: Open Development by Day Software
Day: Open DevelopmentDay: Open Development
Day: Open Development
Day Software505 views
Googleappengineintro 110410190620-phpapp01 by Tony Frame
Googleappengineintro 110410190620-phpapp01Googleappengineintro 110410190620-phpapp01
Googleappengineintro 110410190620-phpapp01
Tony Frame758 views
Developing your first application using FIWARE by FIWARE
Developing your first application using FIWAREDeveloping your first application using FIWARE
Developing your first application using FIWARE
FIWARE1.7K views
HAD05: Collaborating with Extranet Partners on SharePoint 2010 by Michael Noel
HAD05: Collaborating with Extranet Partners on SharePoint 2010HAD05: Collaborating with Extranet Partners on SharePoint 2010
HAD05: Collaborating with Extranet Partners on SharePoint 2010
Michael Noel693 views
Akash rajguru project report sem v by Akash Rajguru
Akash rajguru project report sem vAkash rajguru project report sem v
Akash rajguru project report sem v
Akash Rajguru705 views

More from Jim Wooley

Improving code quality with Roslyn analyzers by
Improving code quality with Roslyn analyzersImproving code quality with Roslyn analyzers
Improving code quality with Roslyn analyzersJim Wooley
828 views41 slides
Tearing down the //build/ 2016 conference by
Tearing down the //build/ 2016 conferenceTearing down the //build/ 2016 conference
Tearing down the //build/ 2016 conferenceJim Wooley
373 views11 slides
Ssdt wooley by
Ssdt wooleySsdt wooley
Ssdt wooleyJim Wooley
465 views8 slides
Reactive Extensions for JavaScript by
Reactive Extensions for JavaScriptReactive Extensions for JavaScript
Reactive Extensions for JavaScriptJim Wooley
2.1K views25 slides
Entity Framework Migration by
Entity Framework MigrationEntity Framework Migration
Entity Framework MigrationJim Wooley
883 views25 slides
Dynamic programming in a statically typed world by
Dynamic programming in a statically typed worldDynamic programming in a statically typed world
Dynamic programming in a statically typed worldJim Wooley
292 views11 slides

More from Jim Wooley(7)

Improving code quality with Roslyn analyzers by Jim Wooley
Improving code quality with Roslyn analyzersImproving code quality with Roslyn analyzers
Improving code quality with Roslyn analyzers
Jim Wooley828 views
Tearing down the //build/ 2016 conference by Jim Wooley
Tearing down the //build/ 2016 conferenceTearing down the //build/ 2016 conference
Tearing down the //build/ 2016 conference
Jim Wooley373 views
Reactive Extensions for JavaScript by Jim Wooley
Reactive Extensions for JavaScriptReactive Extensions for JavaScript
Reactive Extensions for JavaScript
Jim Wooley2.1K views
Entity Framework Migration by Jim Wooley
Entity Framework MigrationEntity Framework Migration
Entity Framework Migration
Jim Wooley883 views
Dynamic programming in a statically typed world by Jim Wooley
Dynamic programming in a statically typed worldDynamic programming in a statically typed world
Dynamic programming in a statically typed world
Jim Wooley292 views

Recently uploaded

Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue by
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueElevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueShapeBlue
224 views7 slides
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ... by
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...ShapeBlue
120 views17 slides
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT by
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBITUpdates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBITShapeBlue
208 views8 slides
Don’t Make A Human Do A Robot’s Job! : 6 Reasons Why AI Will Save Us & Not De... by
Don’t Make A Human Do A Robot’s Job! : 6 Reasons Why AI Will Save Us & Not De...Don’t Make A Human Do A Robot’s Job! : 6 Reasons Why AI Will Save Us & Not De...
Don’t Make A Human Do A Robot’s Job! : 6 Reasons Why AI Will Save Us & Not De...Moses Kemibaro
35 views38 slides
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading... by
Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading...The Digital Insurer
91 views52 slides
The Power of Heat Decarbonisation Plans in the Built Environment by
The Power of Heat Decarbonisation Plans in the Built EnvironmentThe Power of Heat Decarbonisation Plans in the Built Environment
The Power of Heat Decarbonisation Plans in the Built EnvironmentIES VE
84 views20 slides

Recently uploaded(20)

Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue by ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueElevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
ShapeBlue224 views
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ... by ShapeBlue
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
ShapeBlue120 views
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT by ShapeBlue
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBITUpdates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
ShapeBlue208 views
Don’t Make A Human Do A Robot’s Job! : 6 Reasons Why AI Will Save Us & Not De... by Moses Kemibaro
Don’t Make A Human Do A Robot’s Job! : 6 Reasons Why AI Will Save Us & Not De...Don’t Make A Human Do A Robot’s Job! : 6 Reasons Why AI Will Save Us & Not De...
Don’t Make A Human Do A Robot’s Job! : 6 Reasons Why AI Will Save Us & Not De...
Moses Kemibaro35 views
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading... by The Digital Insurer
Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading...
The Power of Heat Decarbonisation Plans in the Built Environment by IES VE
The Power of Heat Decarbonisation Plans in the Built EnvironmentThe Power of Heat Decarbonisation Plans in the Built Environment
The Power of Heat Decarbonisation Plans in the Built Environment
IES VE84 views
Business Analyst Series 2023 - Week 4 Session 7 by DianaGray10
Business Analyst Series 2023 -  Week 4 Session 7Business Analyst Series 2023 -  Week 4 Session 7
Business Analyst Series 2023 - Week 4 Session 7
DianaGray10146 views
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... by ShapeBlue
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
ShapeBlue196 views
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit... by ShapeBlue
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
ShapeBlue162 views
State of the Union - Rohit Yadav - Apache CloudStack by ShapeBlue
State of the Union - Rohit Yadav - Apache CloudStackState of the Union - Rohit Yadav - Apache CloudStack
State of the Union - Rohit Yadav - Apache CloudStack
ShapeBlue303 views
"Package management in monorepos", Zoltan Kochan by Fwdays
"Package management in monorepos", Zoltan Kochan"Package management in monorepos", Zoltan Kochan
"Package management in monorepos", Zoltan Kochan
Fwdays34 views
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti... by ShapeBlue
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
ShapeBlue141 views
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online by ShapeBlue
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineKVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online
ShapeBlue225 views
Transcript: Redefining the book supply chain: A glimpse into the future - Tec... by BookNet Canada
Transcript: Redefining the book supply chain: A glimpse into the future - Tec...Transcript: Redefining the book supply chain: A glimpse into the future - Tec...
Transcript: Redefining the book supply chain: A glimpse into the future - Tec...
BookNet Canada41 views
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ... by ShapeBlue
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
ShapeBlue129 views
Business Analyst Series 2023 - Week 4 Session 8 by DianaGray10
Business Analyst Series 2023 -  Week 4 Session 8Business Analyst Series 2023 -  Week 4 Session 8
Business Analyst Series 2023 - Week 4 Session 8
DianaGray10145 views
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue by ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlueCloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
ShapeBlue139 views

Windows 8 as an Application Integration Hub

  • 1. WINDOWS 8 AS AN APP INTEGRATION HUB CHARMS, PICKERS, CONTRACTS @JimWooley http://www.ThinqLinq.com
  • 2. WEB BASED APPLICATION INTEGRATION
  • 4. WINDOWS 8 INTEGRATION OPTIONS Extension File Search Pickers Charms Contracts Protocol Contact Share Settings
  • 5. • File Extensions (.mp3, .jpg, .foo) • Protocol (mailto) • Schema.org
  • 6. PICKERS • FileOpenPicker • FileSavePicker • FolderPicker • ContactPicker • CredentialPicker
  • 7. FILEOPENPICKER var openPicker = new Windows.Storage.Pickers.FileOpenPicker(); openPicker.fileTypeFilter.replaceAll([".png", ".jpg", ".jpeg"]); openPicker.pickSingleFileAsync().then(function (file) { if (file) { // Do something with the selected file } else { // The picker was dismissed with no selected file } });
  • 9. SEARCH CONTRACT Share provides a lightweight, in context, easy experience for accomplishing
  • 10. SEARCH ACTIVATION protected override void OnSearchActivated( SearchActivatedEventArgs args) { SearchResultsPage1.Activate( args.QueryText, args.PreviousExecutionState); }
  • 11. SHARE CONTRACT S H A R E P R O V I D E S A L I G H T W E I G H T, I N C O N T E X T, E A S Y E X P E R I E N C E F O R U S E R D R I V E N A P P L I C AT I O N I N T E G R AT I O N S .
  • 12. SHARING FROM SOURCE TO TARGET Source App Share Broker Share Target App
  • 13. SHARE SOURCE protected override void OnNavigatedTo(NavigationEventArgs e) { this.dataTransferManager = DataTransferManager.GetForCurrentView(); this.dataTransferManager.DataRequested += new TypedEventHandler<DataTransferManager, DataRequestedEventArgs>(this.OnDataRequested); } private void OnDataRequested(DataTransferManager sender, DataRequestedEventArgs e) { DataPackage requestData = e.Request.Data; requestData.Properties.Title = title; requestData.Properties.Description = description; requestData.SetText(dataPackageText); }
  • 15. WINDOWS 8 INTEGRATION OPTIONS Search File Extension Pickers Contracts Charms Share Contact Protocol Settings
  • 16. RESOURCES • Building Windows Blog http://blogs.msdn.com/b/b8/ • Build Videos http://www.buildwindows.com/ • Windows 8 Samples http://code.msdn.microsoft.com/windowsapps/ • Activation options http://msdn.microsoft.com/en- us/library/windows/apps/hh464906.aspx#file_activation • Contracts & Micro formats http://www.schema.org
  • 17. QUESTIONS > @JimWooley http://www.ThinqLinq.com

Editor's Notes

  1. F:\\Projects\\Windows 8 Release Preview Metro style app samples - C#, VB.NET, C++, JavaScript\\Association launching sample
  2. Demo FileOpenPicker and then add a FileOpenContract
  3. Demo search and Adding search handler
  4. Demo share from IE Show target code from F:\\Projects\\Windows 8 Release Preview Metro style app samples - C#, VB.NET, C++, JavaScript\\Sharing content target app sample\\C#
  5. Summary