SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
Tablet Development with Silverlight




                            Jeremy Likness
                            Project Manager, Senior Consultant
                            jlikness@wintellect.com
                                                                   Copyright © 2011




consulting   training   design   debugging                       wintellect.com
consulting   training   design   debugging   wintellect.com
what we do
    consulting     training    design     debugging

 who we are
   Founded by top experts on Microsoft – Jeffrey Richter, Jeff Prosise, and John Robbins –
   we pull out all the stops to help our customers achieve their goals through advanced
   software-based consulting and training solutions.

 how we do it                                           Training
                                                        •   On-site instructor-led training
   Consulting & Debugging                               •   Virtual instructor-led training
   •   Architecture, analysis, and design services      •   Devscovery conferences
   •   Full lifecycle custom software development
   •   Content creation                                 Design
   •   Project management                               •   User Experience Design
   •   Debugging & performance tuning                   •   Visual & Content Design
                                                        •   Video & Animation Production


consulting    training    design     debugging                                   wintellect.com
Agenda
 •   The Rise of the Tablet
 •   Case Study
 •   Why Silverlight?
 •   From GUI to NUI: A Touchy Subject
 •   Tips and Tricks
 •   Going Native
 •   Windows 8
 •   Conclusion


consulting   training   design   debugging   wintellect.com
The Rise of the Tablet

                    Devices purchased by employee and
                               used at work

                                                       Employee
                                                       purchased and
                                                       used for
                                                       business
                                                       Not used




                                             Source: IDC (almost 3000 respondants)


consulting   training   design   debugging                            wintellect.com
Consumerization of IT
 • “Although consumer technologies create new risks
   for the enterprise, eliminating their use is
   increasingly difficult, and impractical” – Rich
   Mogull, Research VP, Gartner
 • The IT organizations in 26% of enterprises (firms
   with 1000 employees or more) were planning to
   implement or had implemented general purpose
   touchscreen tablets such as the Apple iPad. –
   Forrsights Hardware Survey Q3 2010, Forrester
   Research



consulting   training   design   debugging         wintellect.com
The Influence of NUI

 • Natural User Interfaces are easier to learn
 • iPhone, iPad, Windows Phone 7 are examples of a
   touch-first interface
 • Microsoft Kinect, also a NUI, sold 10 million units in
   30 weeks
 • Users are forcing the enterprise to take NUI
   seriously
 • Tablet is a “here and now” technology for deploying
   NUI
 • Windows 7 supports NUI, Windows 8 will embrace it


consulting   training   design   debugging            wintellect.com
Silverlight is not Dead!
 • Version 5 to be released late 2011
 • The primary development platform for the Windows
   Phone
 • 1 million Silverlight developers (Silverlight team blog)
 • 70% penetration (RIAStats.com)
 • Silverlight Firestarter: DayForce
    – “1/4th cost to build Silverlight compared to Java”
    – “1/30th total cost due to reduced load on servers”
 • Major enterprise adoption, including Fortune 500
   companies


consulting   training   design   debugging             wintellect.com
Case in Point: Rooms to Go
 • Sales people tired of losing their customer by having to
   walk over to a kiosk to get information
 • Needed something portable, easy to use, with a friendly
   touch interface
 • Didn’t want “that other device” because of security
   concerns and inability to integrate with their existing
   Windows-based software
 • Windows tablet would fit in nicely with existing security
   infrastructure
 • Silverlight development allowed them to keep in house
   expertise for the project

consulting   training   design   debugging            wintellect.com
demo
   point of sale slate application




consulting   training   design   debugging   wintellect.com
Why Silverlight?
 • Connects easily to existing web services
 • Insanely easy to deploy/install OOB
 • Leverages existing development team and keeps the
   technology in house
    – Familiar languages like C#, VB.NET
    – Familiar Visual Studio environment
 • Great for platforms with enterprise features
    – Integration with existing authentication/authorization
      (Active Directory)
    – Security policy enforcement


consulting   training   design   debugging           wintellect.com
From GUI to NUI
 • Silverlight is not touch-friendly “out of the box”
 • Mouse gestures are promoted but “It’s just not
   the same”
 • No multi-touch capability (tracking a “mouse”
   rather than touch points)
 • No touch and hold
 • Applications built without touch in mind will suffer




consulting   training   design   debugging     wintellect.com
demo
   untouchable




consulting   training   design   debugging   wintellect.com
Touch Primer
                  • A touch is a point of contact




             (X = 2.7,Y=5.9)

consulting   training   design   debugging          wintellect.com
Touch Primer
                  • A manipulation is a continuous touch.
                    The touch may change position and the
                    manipulation may track inertia.


                                     Origin = (2,3)
                                     Delta = (+2,+3)
                                     Duration = 0:0:0.5
                                     Velocity = (+3,+3)
consulting   training   design   debugging         wintellect.com
Touch Primer
                  • A gesture is a specific, repeatable
                    combination of manipulations that may
                    involve multiple touches.


                                      Tap
                                      Double Tap
                                      Hold
                                      Pinch
consulting   training   design   debugging         wintellect.com
LightTouch for NUI

 •   Provides the missing touch support
 •   Does not require elevated trust
 •   Parity with the Windows Phone 7 APIs
 •   Powered Rooms to Go
 •   Open source
 •   http://lighttouch.codeplex.com/



consulting   training   design   debugging   wintellect.com
demo
   lighttouch




consulting   training   design   debugging   wintellect.com
Manipulate 2D Behavior
  <Touch:Manipulate2DBehavior IsInertial="True"
    ManipulationStarted="TouchShapeBehavior_ManipulationStarted"
    ManipulationDelta="TouchShapeBehavior_ManipulationDelta“
    ManipulationCompleted=
         "TouchShapeBehavior_ManipulationCompleted"/>

  private void TouchShapeBehavior_ManipulationDelta(Object sender,
      Manipulation2DDeltaEventArgs e)
  {
      var senderShape = (Shape)sender;
      var translateTransform =
  (TranslateTransform)senderShape.RenderTransform;
      translateTransform.X += e.Delta.TranslationX;
      translateTransform.Y += e.Delta.TranslationY;
  }



consulting   training   design   debugging               wintellect.com
List Box Scroll Behavior

  <i:Interaction.Behaviors>
      <Touch:ListBoxTouchScrollBehavior/>
  </i:Interaction.Behaviors>




consulting   training   design   debugging   wintellect.com
Touch Combo Box

   <Touch:TouchableComboBox
       ItemsSource="{Binding Collection}"
       Width="200"
       HorizontalAlignment="Left"
       DisplayMemberPath="Title"/>




consulting   training   design   debugging   wintellect.com
Element Resizing Behavior

  <Image x:Name="ResizeImage"
  Source="/Wintellect.Touch.Sample;component/Assets/avatar.png">
      <i:Interaction.Behaviors>
           <Touch:ElementResizingBehavior x:Name="ResizeBehavior"/>
      </i:Interaction.Behaviors>
  </Image>




consulting   training   design   debugging                wintellect.com
Gesture Listener

    <Touch:GestureService.GestureListener>
        <Touch:GestureListener
            Tap="GestureListener_Tap"
            DragStarted="GestureListener_DragStarted"
            DragDelta="GestureListener_DragDelta"
            DragCompleted="GestureListener_DragCompleted"
            DoubleTap="GestureListener_DoubleTap"
            Hold="GestureListener_Hold"/>
    </Touch:GestureService.GestureListener>




consulting   training   design   debugging                  wintellect.com
Tips and Tricks

 • “Fat Fingers” is no longer just cliché
 • The fewer touches, the better
      – Filters instead of searches
      – Pop-ups instead of combo boxes
 • A child’s curiosity, or great UX?
      – Draw the user’s attention
      – Make it intuitive
 • Don’t forget about the SIP!

consulting   training   design   debugging   wintellect.com
demo
   the software input panel




consulting   training   design   debugging   wintellect.com
Going Native (with Silverlight)

 • Elevated trust and nothing to share with
   Windows Phone 7
 • Native Extensions for Silverlight (NESL)
 • http://archive.msdn.microsoft.com/nesl
 • COM Wrapper for Windows 7 Touch
 • Requires additional steps in your installation
   package


consulting   training   design   debugging   wintellect.com
NESL Touch




consulting   training   design   debugging   wintellect.com
Windows 8




consulting   training   design   debugging   wintellect.com
Windows 8: What we KNOW
 • First-class touch experience
 • Designed to target multiple platforms and processors –
   instead of a runtime like Silverlight, Windows 8 will meet
   the hardware on its own turf
 • HTML5 + JavaScript environment will be available
 • Fallback to existing shell
 • Will support existing applications (yes, that means
   Silverlight too)
 • There are still millions of Windows XP machines and XP
   will end of life – it is likely Windows 7 will be the stepping
   stone, not Windows 8

consulting   training   design   debugging               wintellect.com
Windows 8: What we SUSPECT
 • Jupiter is a Xaml runtime
 • Xaml technology will remain
 • Something similar to Silverlight will exist, but likely will be
   closer to the OS and native to Windows 8 rather than part
   of a lightweight, portable runtime
 • We should be able to use our favorite languages like C# to
   develop, but there will be a lot more focus on native (C++)
   experiences as well
 • We’ll know a heck of a lot more coming out of BUILD than
   we will going into it


consulting   training   design   debugging              wintellect.com
Your Reality Check (HTML5)
 • HTML5 won’t be finalized for years
 • Technology outpaces standards bodies
 • Touch is still “new” to HTML5
      – Supported only by smart phones and special desktop builds
      – Specification still in flux
 • Other technologies will continue to fill gaps
      – Native code (WPF, Surface SDK, Objective-C, etc.)




consulting   training   design   debugging                   wintellect.com
ROI: Today’s Skills Tomorrow
 • HTML5 and multi-touch
    – Manipulations are similar (touch start, touch move, and touch end)
    – Touches (fingers), targets (touches on the interesting
      element), changes (finger removed)
 • JavaScript – you still need to know the APIs
    – Even on Windows 8 will likely rely on hooks
    – “Not your mama’s JavaScript” – today’s JavaScript plus JQuery
      includes classes, inheritance, even the “namespace” concept
    – Good coding practices are good coding practices
 • Xaml is likely to remain
 • Why do we love Silverlight?
 • Xaml + C# (VB/F#/etc.) + Visual Studio + Portability
 • BUILD, BUILD, BUILD

consulting   training   design   debugging                    wintellect.com
Example: SVG and XAML

               HTML5                         Silverlight
               SVG                           Xaml Graphics
               SVG Styles                    Resource Dictionaries
               Canvas                        Canvas/WriteableBitmap
               Audio/Video                   Audio/Video
               CSS3 Grid                     Layout (DataGrid, Panel…)
               CSS3 WOFF                     Typography
               CSS3 Transforms               Transforms
               DOM                           Visual Tree/Event Model
               Timer                         DispatcherTimer
               Web Storage                   Isolated Storage


consulting   training   design   debugging                               wintellect.com
Remember!
 • Jounce for your MVVM framework
      – http://jounce.codeplex.com/
 • LightTouch for your NUI
      – http://lighttouch.codeplex.com/
 • Follow @JeremyLikness for Silverlight updates:
      – http://csharperimage.jeremylikness.com/




consulting   training   design   debugging        wintellect.com
Questions?




                            Jeremy Likness
                            Project Manager, Senior Consultant
                            jlikness@wintellect.com



consulting   training   design   debugging                       wintellect.com

Contenu connexe

Tendances

UX leaks : mythes et réalités
UX leaks : mythes et réalitésUX leaks : mythes et réalités
UX leaks : mythes et réalitésKaoutar ADJERIME
 
Targeted documentation STC Houston, Mar 20, 2012
Targeted documentation   STC Houston, Mar 20, 2012Targeted documentation   STC Houston, Mar 20, 2012
Targeted documentation STC Houston, Mar 20, 2012STC_Houston
 
Learnings from founding a Computer Vision startup: Chapter 8 Software Enginee...
Learnings from founding a Computer Vision startup: Chapter 8 Software Enginee...Learnings from founding a Computer Vision startup: Chapter 8 Software Enginee...
Learnings from founding a Computer Vision startup: Chapter 8 Software Enginee...Till Quack
 
Pull | Experience Design
Pull | Experience DesignPull | Experience Design
Pull | Experience DesignDavid Moskovic
 
People Dimension in Software Projects
People Dimension in Software ProjectsPeople Dimension in Software Projects
People Dimension in Software ProjectsEmanuele Della Valle
 
Microsoft And The Future Of Productivity
Microsoft And The Future Of ProductivityMicrosoft And The Future Of Productivity
Microsoft And The Future Of ProductivityRichard Chaves
 
Guerrilla Usability: Insight on a Shoestring
Guerrilla Usability: Insight on a ShoestringGuerrilla Usability: Insight on a Shoestring
Guerrilla Usability: Insight on a ShoestringDavid Sturtz
 
Bringing user-centered design to open source software development
Bringing user-centered design to open source software developmentBringing user-centered design to open source software development
Bringing user-centered design to open source software developmentMüller-Birn Claudia
 
Usability & Agile Development
Usability & Agile DevelopmentUsability & Agile Development
Usability & Agile Developmentbinuvt
 
Designing an MVP that works for your users - LeanUX NYC 2014
Designing an MVP that works for your users  - LeanUX NYC 2014Designing an MVP that works for your users  - LeanUX NYC 2014
Designing an MVP that works for your users - LeanUX NYC 2014Ariadna Font Llitjos
 
It's all about the (customer) experience
It's all about the (customer) experienceIt's all about the (customer) experience
It's all about the (customer) experienceICS
 
Consulting Overview for Sales Implementation Team
Consulting Overview for Sales Implementation TeamConsulting Overview for Sales Implementation Team
Consulting Overview for Sales Implementation TeamJudy Hogan
 
Removing the Systemic Project Barriers
Removing the Systemic Project BarriersRemoving the Systemic Project Barriers
Removing the Systemic Project BarriersJorvig Consulting Inc.
 
Introduction to User-Centered Design
Introduction to User-Centered DesignIntroduction to User-Centered Design
Introduction to User-Centered DesignAllison Bloodworth
 
[Seminar] hwiyeon 200709
[Seminar] hwiyeon 200709[Seminar] hwiyeon 200709
[Seminar] hwiyeon 200709ivaderivader
 
Big picture design without Big Design Up Front (Agile Roots 2010)
Big picture design without Big Design Up Front (Agile Roots 2010)Big picture design without Big Design Up Front (Agile Roots 2010)
Big picture design without Big Design Up Front (Agile Roots 2010)Desiree Sy
 

Tendances (20)

Collaborating in the Cloud with Lync
Collaborating in the Cloud with LyncCollaborating in the Cloud with Lync
Collaborating in the Cloud with Lync
 
Courageous Design
Courageous DesignCourageous Design
Courageous Design
 
UX leaks : mythes et réalités
UX leaks : mythes et réalitésUX leaks : mythes et réalités
UX leaks : mythes et réalités
 
Targeted documentation STC Houston, Mar 20, 2012
Targeted documentation   STC Houston, Mar 20, 2012Targeted documentation   STC Houston, Mar 20, 2012
Targeted documentation STC Houston, Mar 20, 2012
 
Learnings from founding a Computer Vision startup: Chapter 8 Software Enginee...
Learnings from founding a Computer Vision startup: Chapter 8 Software Enginee...Learnings from founding a Computer Vision startup: Chapter 8 Software Enginee...
Learnings from founding a Computer Vision startup: Chapter 8 Software Enginee...
 
Pull | Experience Design
Pull | Experience DesignPull | Experience Design
Pull | Experience Design
 
People Dimension in Software Projects
People Dimension in Software ProjectsPeople Dimension in Software Projects
People Dimension in Software Projects
 
Microsoft And The Future Of Productivity
Microsoft And The Future Of ProductivityMicrosoft And The Future Of Productivity
Microsoft And The Future Of Productivity
 
Guerrilla Usability: Insight on a Shoestring
Guerrilla Usability: Insight on a ShoestringGuerrilla Usability: Insight on a Shoestring
Guerrilla Usability: Insight on a Shoestring
 
Failure and agility
Failure and agilityFailure and agility
Failure and agility
 
IBM design thinking @LeanUXNYC
IBM design thinking @LeanUXNYCIBM design thinking @LeanUXNYC
IBM design thinking @LeanUXNYC
 
Bringing user-centered design to open source software development
Bringing user-centered design to open source software developmentBringing user-centered design to open source software development
Bringing user-centered design to open source software development
 
Usability & Agile Development
Usability & Agile DevelopmentUsability & Agile Development
Usability & Agile Development
 
Designing an MVP that works for your users - LeanUX NYC 2014
Designing an MVP that works for your users  - LeanUX NYC 2014Designing an MVP that works for your users  - LeanUX NYC 2014
Designing an MVP that works for your users - LeanUX NYC 2014
 
It's all about the (customer) experience
It's all about the (customer) experienceIt's all about the (customer) experience
It's all about the (customer) experience
 
Consulting Overview for Sales Implementation Team
Consulting Overview for Sales Implementation TeamConsulting Overview for Sales Implementation Team
Consulting Overview for Sales Implementation Team
 
Removing the Systemic Project Barriers
Removing the Systemic Project BarriersRemoving the Systemic Project Barriers
Removing the Systemic Project Barriers
 
Introduction to User-Centered Design
Introduction to User-Centered DesignIntroduction to User-Centered Design
Introduction to User-Centered Design
 
[Seminar] hwiyeon 200709
[Seminar] hwiyeon 200709[Seminar] hwiyeon 200709
[Seminar] hwiyeon 200709
 
Big picture design without Big Design Up Front (Agile Roots 2010)
Big picture design without Big Design Up Front (Agile Roots 2010)Big picture design without Big Design Up Front (Agile Roots 2010)
Big picture design without Big Design Up Front (Agile Roots 2010)
 

Similaire à Tablet and Slate Development with Silverlight

Windows 8: A Tale of Two Stacks
Windows 8: A Tale of Two StacksWindows 8: A Tale of Two Stacks
Windows 8: A Tale of Two StacksJeremy Likness
 
The Laws of User Experience: Making it or breaking it with the UX Factor
The Laws of User Experience: Making it or breaking it with the UX FactorThe Laws of User Experience: Making it or breaking it with the UX Factor
The Laws of User Experience: Making it or breaking it with the UX FactorEffectiveUI
 
The Laws of User Experience: Making it or Breaking It with the UX Factor
The Laws of User Experience: Making it or Breaking It with the UX FactorThe Laws of User Experience: Making it or Breaking It with the UX Factor
The Laws of User Experience: Making it or Breaking It with the UX FactorEffective
 
NoVA UX Responsive Design
NoVA UX Responsive DesignNoVA UX Responsive Design
NoVA UX Responsive DesignUXMattFiore
 
Stakeholder Persuasion - How to quantify your gut feeling
Stakeholder Persuasion - How to quantify your gut feelingStakeholder Persuasion - How to quantify your gut feeling
Stakeholder Persuasion - How to quantify your gut feelingUser Intelligence
 
Citrix XenDesktop 7 Performance Monitoring Best Practices
Citrix XenDesktop 7 Performance Monitoring Best PracticesCitrix XenDesktop 7 Performance Monitoring Best Practices
Citrix XenDesktop 7 Performance Monitoring Best PracticeseG Innovations
 
Designing Rich Mobile Apps in a Fragmented World
Designing Rich Mobile Apps in a Fragmented WorldDesigning Rich Mobile Apps in a Fragmented World
Designing Rich Mobile Apps in a Fragmented WorldWorklight
 
Tips for building fast multi touch enabled web sites
 Tips for building fast multi touch enabled web sites Tips for building fast multi touch enabled web sites
Tips for building fast multi touch enabled web sitesAspenware
 
Fast multi touch enabled web sites
Fast multi touch enabled web sitesFast multi touch enabled web sites
Fast multi touch enabled web sitesAspenware
 
Intro to modern web technology
Intro to modern web technologyIntro to modern web technology
Intro to modern web technologyChris Love
 
Wintellect - Windows 8 for the Silverlight and WPF Developer
Wintellect   - Windows 8 for the Silverlight and WPF DeveloperWintellect   - Windows 8 for the Silverlight and WPF Developer
Wintellect - Windows 8 for the Silverlight and WPF DeveloperJeremy Likness
 
Mobile Monday Presentation April 2010
Mobile Monday Presentation April 2010Mobile Monday Presentation April 2010
Mobile Monday Presentation April 2010Effective
 
Mobile Monday Presentation April 2010
Mobile Monday Presentation April 2010Mobile Monday Presentation April 2010
Mobile Monday Presentation April 2010EffectiveUI
 
Sum of the Parts Speaker Series - Experience Engineering and UX
Sum of the Parts Speaker Series - Experience Engineering and UXSum of the Parts Speaker Series - Experience Engineering and UX
Sum of the Parts Speaker Series - Experience Engineering and UXvincebohner
 
Mental Models, Service Design & The Problem With Convergence
Mental Models, Service Design & The Problem With ConvergenceMental Models, Service Design & The Problem With Convergence
Mental Models, Service Design & The Problem With ConvergenceHarry Brignull
 
This isn't what you think it is
This isn't what you think it isThis isn't what you think it is
This isn't what you think it isJoel Cochran
 
10 bezcennych lekcji dla software developera stającego się szefem firmy
10 bezcennych lekcji dla software developera stającego się szefem firmy10 bezcennych lekcji dla software developera stającego się szefem firmy
10 bezcennych lekcji dla software developera stającego się szefem firmyWojciech Seliga
 
Ten lessons I painfully learnt while moving from software developer to entrep...
Ten lessons I painfully learnt while moving from software developer to entrep...Ten lessons I painfully learnt while moving from software developer to entrep...
Ten lessons I painfully learnt while moving from software developer to entrep...Wojciech Seliga
 

Similaire à Tablet and Slate Development with Silverlight (20)

Windows 8: A Tale of Two Stacks
Windows 8: A Tale of Two StacksWindows 8: A Tale of Two Stacks
Windows 8: A Tale of Two Stacks
 
The Laws of User Experience: Making it or breaking it with the UX Factor
The Laws of User Experience: Making it or breaking it with the UX FactorThe Laws of User Experience: Making it or breaking it with the UX Factor
The Laws of User Experience: Making it or breaking it with the UX Factor
 
The Laws of User Experience: Making it or Breaking It with the UX Factor
The Laws of User Experience: Making it or Breaking It with the UX FactorThe Laws of User Experience: Making it or Breaking It with the UX Factor
The Laws of User Experience: Making it or Breaking It with the UX Factor
 
NoVA UX Responsive Design
NoVA UX Responsive DesignNoVA UX Responsive Design
NoVA UX Responsive Design
 
Stakeholder Persuasion - How to quantify your gut feeling
Stakeholder Persuasion - How to quantify your gut feelingStakeholder Persuasion - How to quantify your gut feeling
Stakeholder Persuasion - How to quantify your gut feeling
 
Citrix XenDesktop 7 Performance Monitoring Best Practices
Citrix XenDesktop 7 Performance Monitoring Best PracticesCitrix XenDesktop 7 Performance Monitoring Best Practices
Citrix XenDesktop 7 Performance Monitoring Best Practices
 
Designing Rich Mobile Apps in a Fragmented World
Designing Rich Mobile Apps in a Fragmented WorldDesigning Rich Mobile Apps in a Fragmented World
Designing Rich Mobile Apps in a Fragmented World
 
Silverlight 5
Silverlight 5Silverlight 5
Silverlight 5
 
Tips for building fast multi touch enabled web sites
 Tips for building fast multi touch enabled web sites Tips for building fast multi touch enabled web sites
Tips for building fast multi touch enabled web sites
 
Fast multi touch enabled web sites
Fast multi touch enabled web sitesFast multi touch enabled web sites
Fast multi touch enabled web sites
 
Intro to modern web technology
Intro to modern web technologyIntro to modern web technology
Intro to modern web technology
 
Wintellect - Windows 8 for the Silverlight and WPF Developer
Wintellect   - Windows 8 for the Silverlight and WPF DeveloperWintellect   - Windows 8 for the Silverlight and WPF Developer
Wintellect - Windows 8 for the Silverlight and WPF Developer
 
Mobile Monday Presentation April 2010
Mobile Monday Presentation April 2010Mobile Monday Presentation April 2010
Mobile Monday Presentation April 2010
 
Mobile Monday Presentation April 2010
Mobile Monday Presentation April 2010Mobile Monday Presentation April 2010
Mobile Monday Presentation April 2010
 
Mobile Monday
Mobile MondayMobile Monday
Mobile Monday
 
Sum of the Parts Speaker Series - Experience Engineering and UX
Sum of the Parts Speaker Series - Experience Engineering and UXSum of the Parts Speaker Series - Experience Engineering and UX
Sum of the Parts Speaker Series - Experience Engineering and UX
 
Mental Models, Service Design & The Problem With Convergence
Mental Models, Service Design & The Problem With ConvergenceMental Models, Service Design & The Problem With Convergence
Mental Models, Service Design & The Problem With Convergence
 
This isn't what you think it is
This isn't what you think it isThis isn't what you think it is
This isn't what you think it is
 
10 bezcennych lekcji dla software developera stającego się szefem firmy
10 bezcennych lekcji dla software developera stającego się szefem firmy10 bezcennych lekcji dla software developera stającego się szefem firmy
10 bezcennych lekcji dla software developera stającego się szefem firmy
 
Ten lessons I painfully learnt while moving from software developer to entrep...
Ten lessons I painfully learnt while moving from software developer to entrep...Ten lessons I painfully learnt while moving from software developer to entrep...
Ten lessons I painfully learnt while moving from software developer to entrep...
 

Dernier

Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfJamie (Taka) Wang
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXTarek Kalaji
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 

Dernier (20)

Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 
20150722 - AGV
20150722 - AGV20150722 - AGV
20150722 - AGV
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
 
201610817 - edge part1
201610817 - edge part1201610817 - edge part1
201610817 - edge part1
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBX
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
20230104 - machine vision
20230104 - machine vision20230104 - machine vision
20230104 - machine vision
 

Tablet and Slate Development with Silverlight

  • 1. Tablet Development with Silverlight Jeremy Likness Project Manager, Senior Consultant jlikness@wintellect.com Copyright © 2011 consulting training design debugging wintellect.com
  • 2. consulting training design debugging wintellect.com
  • 3. what we do consulting training design debugging who we are Founded by top experts on Microsoft – Jeffrey Richter, Jeff Prosise, and John Robbins – we pull out all the stops to help our customers achieve their goals through advanced software-based consulting and training solutions. how we do it Training • On-site instructor-led training Consulting & Debugging • Virtual instructor-led training • Architecture, analysis, and design services • Devscovery conferences • Full lifecycle custom software development • Content creation Design • Project management • User Experience Design • Debugging & performance tuning • Visual & Content Design • Video & Animation Production consulting training design debugging wintellect.com
  • 4. Agenda • The Rise of the Tablet • Case Study • Why Silverlight? • From GUI to NUI: A Touchy Subject • Tips and Tricks • Going Native • Windows 8 • Conclusion consulting training design debugging wintellect.com
  • 5. The Rise of the Tablet Devices purchased by employee and used at work Employee purchased and used for business Not used Source: IDC (almost 3000 respondants) consulting training design debugging wintellect.com
  • 6. Consumerization of IT • “Although consumer technologies create new risks for the enterprise, eliminating their use is increasingly difficult, and impractical” – Rich Mogull, Research VP, Gartner • The IT organizations in 26% of enterprises (firms with 1000 employees or more) were planning to implement or had implemented general purpose touchscreen tablets such as the Apple iPad. – Forrsights Hardware Survey Q3 2010, Forrester Research consulting training design debugging wintellect.com
  • 7. The Influence of NUI • Natural User Interfaces are easier to learn • iPhone, iPad, Windows Phone 7 are examples of a touch-first interface • Microsoft Kinect, also a NUI, sold 10 million units in 30 weeks • Users are forcing the enterprise to take NUI seriously • Tablet is a “here and now” technology for deploying NUI • Windows 7 supports NUI, Windows 8 will embrace it consulting training design debugging wintellect.com
  • 8. Silverlight is not Dead! • Version 5 to be released late 2011 • The primary development platform for the Windows Phone • 1 million Silverlight developers (Silverlight team blog) • 70% penetration (RIAStats.com) • Silverlight Firestarter: DayForce – “1/4th cost to build Silverlight compared to Java” – “1/30th total cost due to reduced load on servers” • Major enterprise adoption, including Fortune 500 companies consulting training design debugging wintellect.com
  • 9. Case in Point: Rooms to Go • Sales people tired of losing their customer by having to walk over to a kiosk to get information • Needed something portable, easy to use, with a friendly touch interface • Didn’t want “that other device” because of security concerns and inability to integrate with their existing Windows-based software • Windows tablet would fit in nicely with existing security infrastructure • Silverlight development allowed them to keep in house expertise for the project consulting training design debugging wintellect.com
  • 10. demo point of sale slate application consulting training design debugging wintellect.com
  • 11. Why Silverlight? • Connects easily to existing web services • Insanely easy to deploy/install OOB • Leverages existing development team and keeps the technology in house – Familiar languages like C#, VB.NET – Familiar Visual Studio environment • Great for platforms with enterprise features – Integration with existing authentication/authorization (Active Directory) – Security policy enforcement consulting training design debugging wintellect.com
  • 12. From GUI to NUI • Silverlight is not touch-friendly “out of the box” • Mouse gestures are promoted but “It’s just not the same” • No multi-touch capability (tracking a “mouse” rather than touch points) • No touch and hold • Applications built without touch in mind will suffer consulting training design debugging wintellect.com
  • 13. demo untouchable consulting training design debugging wintellect.com
  • 14. Touch Primer • A touch is a point of contact (X = 2.7,Y=5.9) consulting training design debugging wintellect.com
  • 15. Touch Primer • A manipulation is a continuous touch. The touch may change position and the manipulation may track inertia. Origin = (2,3) Delta = (+2,+3) Duration = 0:0:0.5 Velocity = (+3,+3) consulting training design debugging wintellect.com
  • 16. Touch Primer • A gesture is a specific, repeatable combination of manipulations that may involve multiple touches. Tap Double Tap Hold Pinch consulting training design debugging wintellect.com
  • 17. LightTouch for NUI • Provides the missing touch support • Does not require elevated trust • Parity with the Windows Phone 7 APIs • Powered Rooms to Go • Open source • http://lighttouch.codeplex.com/ consulting training design debugging wintellect.com
  • 18. demo lighttouch consulting training design debugging wintellect.com
  • 19. Manipulate 2D Behavior <Touch:Manipulate2DBehavior IsInertial="True" ManipulationStarted="TouchShapeBehavior_ManipulationStarted" ManipulationDelta="TouchShapeBehavior_ManipulationDelta“ ManipulationCompleted= "TouchShapeBehavior_ManipulationCompleted"/> private void TouchShapeBehavior_ManipulationDelta(Object sender, Manipulation2DDeltaEventArgs e) { var senderShape = (Shape)sender; var translateTransform = (TranslateTransform)senderShape.RenderTransform; translateTransform.X += e.Delta.TranslationX; translateTransform.Y += e.Delta.TranslationY; } consulting training design debugging wintellect.com
  • 20. List Box Scroll Behavior <i:Interaction.Behaviors> <Touch:ListBoxTouchScrollBehavior/> </i:Interaction.Behaviors> consulting training design debugging wintellect.com
  • 21. Touch Combo Box <Touch:TouchableComboBox ItemsSource="{Binding Collection}" Width="200" HorizontalAlignment="Left" DisplayMemberPath="Title"/> consulting training design debugging wintellect.com
  • 22. Element Resizing Behavior <Image x:Name="ResizeImage" Source="/Wintellect.Touch.Sample;component/Assets/avatar.png"> <i:Interaction.Behaviors> <Touch:ElementResizingBehavior x:Name="ResizeBehavior"/> </i:Interaction.Behaviors> </Image> consulting training design debugging wintellect.com
  • 23. Gesture Listener <Touch:GestureService.GestureListener> <Touch:GestureListener Tap="GestureListener_Tap" DragStarted="GestureListener_DragStarted" DragDelta="GestureListener_DragDelta" DragCompleted="GestureListener_DragCompleted" DoubleTap="GestureListener_DoubleTap" Hold="GestureListener_Hold"/> </Touch:GestureService.GestureListener> consulting training design debugging wintellect.com
  • 24. Tips and Tricks • “Fat Fingers” is no longer just cliché • The fewer touches, the better – Filters instead of searches – Pop-ups instead of combo boxes • A child’s curiosity, or great UX? – Draw the user’s attention – Make it intuitive • Don’t forget about the SIP! consulting training design debugging wintellect.com
  • 25. demo the software input panel consulting training design debugging wintellect.com
  • 26. Going Native (with Silverlight) • Elevated trust and nothing to share with Windows Phone 7 • Native Extensions for Silverlight (NESL) • http://archive.msdn.microsoft.com/nesl • COM Wrapper for Windows 7 Touch • Requires additional steps in your installation package consulting training design debugging wintellect.com
  • 27. NESL Touch consulting training design debugging wintellect.com
  • 28. Windows 8 consulting training design debugging wintellect.com
  • 29. Windows 8: What we KNOW • First-class touch experience • Designed to target multiple platforms and processors – instead of a runtime like Silverlight, Windows 8 will meet the hardware on its own turf • HTML5 + JavaScript environment will be available • Fallback to existing shell • Will support existing applications (yes, that means Silverlight too) • There are still millions of Windows XP machines and XP will end of life – it is likely Windows 7 will be the stepping stone, not Windows 8 consulting training design debugging wintellect.com
  • 30. Windows 8: What we SUSPECT • Jupiter is a Xaml runtime • Xaml technology will remain • Something similar to Silverlight will exist, but likely will be closer to the OS and native to Windows 8 rather than part of a lightweight, portable runtime • We should be able to use our favorite languages like C# to develop, but there will be a lot more focus on native (C++) experiences as well • We’ll know a heck of a lot more coming out of BUILD than we will going into it consulting training design debugging wintellect.com
  • 31. Your Reality Check (HTML5) • HTML5 won’t be finalized for years • Technology outpaces standards bodies • Touch is still “new” to HTML5 – Supported only by smart phones and special desktop builds – Specification still in flux • Other technologies will continue to fill gaps – Native code (WPF, Surface SDK, Objective-C, etc.) consulting training design debugging wintellect.com
  • 32. ROI: Today’s Skills Tomorrow • HTML5 and multi-touch – Manipulations are similar (touch start, touch move, and touch end) – Touches (fingers), targets (touches on the interesting element), changes (finger removed) • JavaScript – you still need to know the APIs – Even on Windows 8 will likely rely on hooks – “Not your mama’s JavaScript” – today’s JavaScript plus JQuery includes classes, inheritance, even the “namespace” concept – Good coding practices are good coding practices • Xaml is likely to remain • Why do we love Silverlight? • Xaml + C# (VB/F#/etc.) + Visual Studio + Portability • BUILD, BUILD, BUILD consulting training design debugging wintellect.com
  • 33. Example: SVG and XAML HTML5 Silverlight SVG Xaml Graphics SVG Styles Resource Dictionaries Canvas Canvas/WriteableBitmap Audio/Video Audio/Video CSS3 Grid Layout (DataGrid, Panel…) CSS3 WOFF Typography CSS3 Transforms Transforms DOM Visual Tree/Event Model Timer DispatcherTimer Web Storage Isolated Storage consulting training design debugging wintellect.com
  • 34. Remember! • Jounce for your MVVM framework – http://jounce.codeplex.com/ • LightTouch for your NUI – http://lighttouch.codeplex.com/ • Follow @JeremyLikness for Silverlight updates: – http://csharperimage.jeremylikness.com/ consulting training design debugging wintellect.com
  • 35. Questions? Jeremy Likness Project Manager, Senior Consultant jlikness@wintellect.com consulting training design debugging wintellect.com

Notes de l'éditeur

  1. So where is Silverlight today?
  2. So where is Silverlight today?
  3. So where is Silverlight today?
  4. So where is Silverlight today?
  5. So where is Silverlight today?
  6. DEMO: Show the TextOverflowDemo project.
  7. So where is Silverlight today?
  8. So where is Silverlight today?
  9. DEMO: Show the TextOverflowDemo project.
  10. So where is Silverlight today?
  11. So where is Silverlight today?
  12. So where is Silverlight today?
  13. So where is Silverlight today?
  14. DEMO: Show the TextOverflowDemo project.
  15. So where is Silverlight today?
  16. DEMO: Show the TextOverflowDemo project.
  17. So where is Silverlight today?
  18. So where is Silverlight today?
  19. So where is Silverlight today?
  20. So where is Silverlight today?
  21. So where is Silverlight today?
  22. So where is Silverlight today?
  23. So where is Silverlight today?
  24. So where is Silverlight today?