39

Systems Development for ableTTop Display · Development Challenges Systems Development for ableTTop Display Exit presentation Khaled ANGATO Collaborative Systems Lab, elecomT Bretagne

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Systems Development for ableTTop Display · Development Challenges Systems Development for ableTTop Display Exit presentation Khaled ANGATO Collaborative Systems Lab, elecomT Bretagne

IntroductionHardware Classi�cation

Software Side.Development Challenges

Systems Development for TableTop DisplayExit presentation

Khaled TANGAO

Collaborative Systems Lab,

Telecom Bretagne.

July, 29 2009

Khaled TANGAO Systems Development for TableTop Display

Page 2: Systems Development for ableTTop Display · Development Challenges Systems Development for ableTTop Display Exit presentation Khaled ANGATO Collaborative Systems Lab, elecomT Bretagne

IntroductionHardware Classi�cation

Software Side.Development Challenges

Introduction

Smart Table (source: http://tech.aol.hk)

Khaled TANGAO Systems Development for TableTop Display

Page 3: Systems Development for ableTTop Display · Development Challenges Systems Development for ableTTop Display Exit presentation Khaled ANGATO Collaborative Systems Lab, elecomT Bretagne

IntroductionHardware Classi�cation

Software Side.Development Challenges

Outline

1 Hardware Classi�cationMultiTouch TableTopsTableTops that support User Identi�cation

2 Software Side.Choice of Language for building prototypesChoice of the Graphics Framework for building prototypes

3 Development ChallengesDesign ChallengesImagesInputs

Khaled TANGAO Systems Development for TableTop Display

Page 4: Systems Development for ableTTop Display · Development Challenges Systems Development for ableTTop Display Exit presentation Khaled ANGATO Collaborative Systems Lab, elecomT Bretagne

IntroductionHardware Classi�cation

Software Side.Development Challenges

MultiTouch TableTopsTableTops that support User Identi�cation

Outline

1 Hardware Classi�cationMultiTouch TableTopsTableTops that support User Identi�cation

2 Software Side.Choice of Language for building prototypesChoice of the Graphics Framework for building prototypes

3 Development ChallengesDesign ChallengesImagesInputs

Khaled TANGAO Systems Development for TableTop Display

Page 5: Systems Development for ableTTop Display · Development Challenges Systems Development for ableTTop Display Exit presentation Khaled ANGATO Collaborative Systems Lab, elecomT Bretagne

IntroductionHardware Classi�cation

Software Side.Development Challenges

MultiTouch TableTopsTableTops that support User Identi�cation

More Than One Input From A User At The Same Time.

Traditional interactions come from a mouse, a keyboard,stylus, sometimes a �nger...

Multitouch is when you have more than one input from thesame device or/and from multiple users at the same time

multitouch input (source: http://www.nuigroup.com/ )

Khaled TANGAO Systems Development for TableTop Display

Page 6: Systems Development for ableTTop Display · Development Challenges Systems Development for ableTTop Display Exit presentation Khaled ANGATO Collaborative Systems Lab, elecomT Bretagne

IntroductionHardware Classi�cation

Software Side.Development Challenges

MultiTouch TableTopsTableTops that support User Identi�cation

More Than One Input From A User At The Same Time.

Traditional interactions come from a mouse, a keyboard,stylus, sometimes a �nger...

Multitouch is when you have more than one input from thesame device or/and from multiple users at the same time

multitouch input (source: http://www.nuigroup.com/ )

Khaled TANGAO Systems Development for TableTop Display

Page 7: Systems Development for ableTTop Display · Development Challenges Systems Development for ableTTop Display Exit presentation Khaled ANGATO Collaborative Systems Lab, elecomT Bretagne

IntroductionHardware Classi�cation

Software Side.Development Challenges

MultiTouch TableTopsTableTops that support User Identi�cation

More Than One Input From A User At The Same Time.

Traditional interactions come from a mouse, a keyboard,stylus, sometimes a �nger...

Multitouch is when you have more than one input from thesame device or/and from multiple users at the same time

multitouch input (source: http://www.nuigroup.com/ )

Khaled TANGAO Systems Development for TableTop Display

Page 8: Systems Development for ableTTop Display · Development Challenges Systems Development for ableTTop Display Exit presentation Khaled ANGATO Collaborative Systems Lab, elecomT Bretagne

IntroductionHardware Classi�cation

Software Side.Development Challenges

MultiTouch TableTopsTableTops that support User Identi�cation

Optical Systems

multitouch optical system (source:http://www.cheaplaptops.org.uk/)

Khaled TANGAO Systems Development for TableTop Display

Page 9: Systems Development for ableTTop Display · Development Challenges Systems Development for ableTTop Display Exit presentation Khaled ANGATO Collaborative Systems Lab, elecomT Bretagne

IntroductionHardware Classi�cation

Software Side.Development Challenges

MultiTouch TableTopsTableTops that support User Identi�cation

FTIR and DI

Smart Table uses FTIR(Frustrated Total Internal Re�ection)while Microsoft Surface uses DI (Di�used Illumination)

How does it work ?

FTIR DI(source: Media Interaction Lab)

Khaled TANGAO Systems Development for TableTop Display

Page 10: Systems Development for ableTTop Display · Development Challenges Systems Development for ableTTop Display Exit presentation Khaled ANGATO Collaborative Systems Lab, elecomT Bretagne

IntroductionHardware Classi�cation

Software Side.Development Challenges

MultiTouch TableTopsTableTops that support User Identi�cation

Outline

1 Hardware Classi�cationMultiTouch TableTopsTableTops that support User Identi�cation

2 Software Side.Choice of Language for building prototypesChoice of the Graphics Framework for building prototypes

3 Development ChallengesDesign ChallengesImagesInputs

Khaled TANGAO Systems Development for TableTop Display

Page 11: Systems Development for ableTTop Display · Development Challenges Systems Development for ableTTop Display Exit presentation Khaled ANGATO Collaborative Systems Lab, elecomT Bretagne

IntroductionHardware Classi�cation

Software Side.Development Challenges

MultiTouch TableTopsTableTops that support User Identi�cation

Anoto and Some Capacitive System

Anoto does not allow multiple input from the same user at thesame time but user identi�cation is possible.

Anoto pen (source: http://www.anoto.com/)

Diamond Touch from Mitsubishi Electric can distinguishbetween user touches, enabling personalized interaction.

Next step will be a tabletop that enables user identi�cationand full multiTouch at a user level.

Khaled TANGAO Systems Development for TableTop Display

Page 12: Systems Development for ableTTop Display · Development Challenges Systems Development for ableTTop Display Exit presentation Khaled ANGATO Collaborative Systems Lab, elecomT Bretagne

IntroductionHardware Classi�cation

Software Side.Development Challenges

MultiTouch TableTopsTableTops that support User Identi�cation

Anoto and Some Capacitive System

Anoto does not allow multiple input from the same user at thesame time but user identi�cation is possible.

Anoto pen (source: http://www.anoto.com/)

Diamond Touch from Mitsubishi Electric can distinguishbetween user touches, enabling personalized interaction.

Next step will be a tabletop that enables user identi�cationand full multiTouch at a user level.

Khaled TANGAO Systems Development for TableTop Display

Page 13: Systems Development for ableTTop Display · Development Challenges Systems Development for ableTTop Display Exit presentation Khaled ANGATO Collaborative Systems Lab, elecomT Bretagne

IntroductionHardware Classi�cation

Software Side.Development Challenges

MultiTouch TableTopsTableTops that support User Identi�cation

Anoto and Some Capacitive System

Anoto does not allow multiple input from the same user at thesame time but user identi�cation is possible.

Anoto pen (source: http://www.anoto.com/)

Diamond Touch from Mitsubishi Electric can distinguishbetween user touches, enabling personalized interaction.

Next step will be a tabletop that enables user identi�cationand full multiTouch at a user level.

Khaled TANGAO Systems Development for TableTop Display

Page 14: Systems Development for ableTTop Display · Development Challenges Systems Development for ableTTop Display Exit presentation Khaled ANGATO Collaborative Systems Lab, elecomT Bretagne

IntroductionHardware Classi�cation

Software Side.Development Challenges

Choice of Language for building prototypesChoice of the Graphics Framework for building prototypes

Outline

1 Hardware Classi�cationMultiTouch TableTopsTableTops that support User Identi�cation

2 Software Side.Choice of Language for building prototypesChoice of the Graphics Framework for building prototypes

3 Development ChallengesDesign ChallengesImagesInputs

Khaled TANGAO Systems Development for TableTop Display

Page 15: Systems Development for ableTTop Display · Development Challenges Systems Development for ableTTop Display Exit presentation Khaled ANGATO Collaborative Systems Lab, elecomT Bretagne

IntroductionHardware Classi�cation

Software Side.Development Challenges

Choice of Language for building prototypesChoice of the Graphics Framework for building prototypes

Which language is better for TableTop Applications ?

Main Object Oriented Languages

the evolution of languages through time

Khaled TANGAO Systems Development for TableTop Display

Page 16: Systems Development for ableTTop Display · Development Challenges Systems Development for ableTTop Display Exit presentation Khaled ANGATO Collaborative Systems Lab, elecomT Bretagne

IntroductionHardware Classi�cation

Software Side.Development Challenges

Choice of Language for building prototypesChoice of the Graphics Framework for building prototypes

Outline

1 Hardware Classi�cationMultiTouch TableTopsTableTops that support User Identi�cation

2 Software Side.Choice of Language for building prototypesChoice of the Graphics Framework for building prototypes

3 Development ChallengesDesign ChallengesImagesInputs

Khaled TANGAO Systems Development for TableTop Display

Page 17: Systems Development for ableTTop Display · Development Challenges Systems Development for ableTTop Display Exit presentation Khaled ANGATO Collaborative Systems Lab, elecomT Bretagne

IntroductionHardware Classi�cation

Software Side.Development Challenges

Choice of Language for building prototypesChoice of the Graphics Framework for building prototypes

Which Graphics Library is Better for TableTop SystemsDevelopment? (1)

Screen-shot of OpenGL App

Open Graphics Library (OpenGL)

Advantages: Flexible; Open Source; Platform independent;Pixel level API; Available in all languages.

Disadvantages: Di�cult to manage; Absence of high leveltools such as button, window...; not recommanded for textapplications.

Khaled TANGAO Systems Development for TableTop Display

Page 18: Systems Development for ableTTop Display · Development Challenges Systems Development for ableTTop Display Exit presentation Khaled ANGATO Collaborative Systems Lab, elecomT Bretagne

IntroductionHardware Classi�cation

Software Side.Development Challenges

Choice of Language for building prototypesChoice of the Graphics Framework for building prototypes

Which Graphics Library is Better for TableTop SystemsDevelopment? (2)

Screen-shot of QGraphics View

Qt

Advantages: Platform independent; High Level tools(QWebKit, QGraphics View...); Supports OpenGL; Bigdevelopers community; Support of multiTouch in the nextversion.

Disadvantages: Not available in C#; Not totally open source;Di�cult to use with Visual Studio.

Khaled TANGAO Systems Development for TableTop Display

Page 19: Systems Development for ableTTop Display · Development Challenges Systems Development for ableTTop Display Exit presentation Khaled ANGATO Collaborative Systems Lab, elecomT Bretagne

IntroductionHardware Classi�cation

Software Side.Development Challenges

Choice of Language for building prototypesChoice of the Graphics Framework for building prototypes

Which Graphics Library is Better for Tabletop SystemsDevelopment? (3)

Screen-shot of MFC App

Microsoft Foundation Classes (MFC)

Advantages: Supports OpenGL; An application can havemultiple handle.

Disadvantages: Only available in C++ language; Not possibleto apply strategies to visual objects.

Khaled TANGAO Systems Development for TableTop Display

Page 20: Systems Development for ableTTop Display · Development Challenges Systems Development for ableTTop Display Exit presentation Khaled ANGATO Collaborative Systems Lab, elecomT Bretagne

IntroductionHardware Classi�cation

Software Side.Development Challenges

Choice of Language for building prototypesChoice of the Graphics Framework for building prototypes

Which Graphics Library is Better for Tabletop SystemsDevelopment? (4)

Wpf App (ASPECTS project)

Windows Presentation Foundation (WPF)

Advantages: XAML/code-behind; good looking tools; naturalstrategies can be applied to all visual objects; .NETframework; high level tools.

Disadvantages: only available in C# on Microsoft platforms;an application has only one handle; new language to learn.

Khaled TANGAO Systems Development for TableTop Display

Page 21: Systems Development for ableTTop Display · Development Challenges Systems Development for ableTTop Display Exit presentation Khaled ANGATO Collaborative Systems Lab, elecomT Bretagne

IntroductionHardware Classi�cation

Software Side.Development Challenges

Choice of Language for building prototypesChoice of the Graphics Framework for building prototypes

WPF.

WPF is the only one that gives us the �exibility and the tools weneed on Windows platform.

Khaled TANGAO Systems Development for TableTop Display

Page 22: Systems Development for ableTTop Display · Development Challenges Systems Development for ableTTop Display Exit presentation Khaled ANGATO Collaborative Systems Lab, elecomT Bretagne

IntroductionHardware Classi�cation

Software Side.Development Challenges

Design ChallengesImagesInputs

Outline

1 Hardware Classi�cationMultiTouch TableTopsTableTops that support User Identi�cation

2 Software Side.Choice of Language for building prototypesChoice of the Graphics Framework for building prototypes

3 Development ChallengesDesign ChallengesImagesInputs

Khaled TANGAO Systems Development for TableTop Display

Page 23: Systems Development for ableTTop Display · Development Challenges Systems Development for ableTTop Display Exit presentation Khaled ANGATO Collaborative Systems Lab, elecomT Bretagne

IntroductionHardware Classi�cation

Software Side.Development Challenges

Design ChallengesImagesInputs

Design Challenges.

Simulate real world's movements. Gestures recognition, Realworld's objects recognition ...

Take in account collaborative aspects. What happens if twopeople tried to interact with the same object? New strategiesto share information around the table.

On what kind of hardware their application will be run. Doesthe hardware have a gesture recognition, multi touch at theuser level?

Khaled TANGAO Systems Development for TableTop Display

Page 24: Systems Development for ableTTop Display · Development Challenges Systems Development for ableTTop Display Exit presentation Khaled ANGATO Collaborative Systems Lab, elecomT Bretagne

IntroductionHardware Classi�cation

Software Side.Development Challenges

Design ChallengesImagesInputs

Design Challenges.

Simulate real world's movements. Gestures recognition, Realworld's objects recognition ...

Take in account collaborative aspects. What happens if twopeople tried to interact with the same object? New strategiesto share information around the table.

On what kind of hardware their application will be run. Doesthe hardware have a gesture recognition, multi touch at theuser level?

Khaled TANGAO Systems Development for TableTop Display

Page 25: Systems Development for ableTTop Display · Development Challenges Systems Development for ableTTop Display Exit presentation Khaled ANGATO Collaborative Systems Lab, elecomT Bretagne

IntroductionHardware Classi�cation

Software Side.Development Challenges

Design ChallengesImagesInputs

Design Challenges.

Simulate real world's movements. Gestures recognition, Realworld's objects recognition ...

Take in account collaborative aspects. What happens if twopeople tried to interact with the same object? New strategiesto share information around the table.

On what kind of hardware their application will be run. Doesthe hardware have a gesture recognition, multi touch at theuser level?

Khaled TANGAO Systems Development for TableTop Display

Page 26: Systems Development for ableTTop Display · Development Challenges Systems Development for ableTTop Display Exit presentation Khaled ANGATO Collaborative Systems Lab, elecomT Bretagne

IntroductionHardware Classi�cation

Software Side.Development Challenges

Design ChallengesImagesInputs

Outline

1 Hardware Classi�cationMultiTouch TableTopsTableTops that support User Identi�cation

2 Software Side.Choice of Language for building prototypesChoice of the Graphics Framework for building prototypes

3 Development ChallengesDesign ChallengesImagesInputs

Khaled TANGAO Systems Development for TableTop Display

Page 27: Systems Development for ableTTop Display · Development Challenges Systems Development for ableTTop Display Exit presentation Khaled ANGATO Collaborative Systems Lab, elecomT Bretagne

IntroductionHardware Classi�cation

Software Side.Development Challenges

Design ChallengesImagesInputs

What If Everything Was an Image?

Tabletop strategies are easy to apply to pictures because mostof all graphics engines handle well images.

One of the problem for developers is how to apply tabletopstrategies to traditional MFC containers; Convertingeverything in images can be the solution.

Example of InterMAPhics Viewport

Khaled TANGAO Systems Development for TableTop Display

Page 28: Systems Development for ableTTop Display · Development Challenges Systems Development for ableTTop Display Exit presentation Khaled ANGATO Collaborative Systems Lab, elecomT Bretagne

IntroductionHardware Classi�cation

Software Side.Development Challenges

Design ChallengesImagesInputs

What If Everything Was an Image?

Tabletop strategies are easy to apply to pictures because mostof all graphics engines handle well images.

One of the problem for developers is how to apply tabletopstrategies to traditional MFC containers; Convertingeverything in images can be the solution.

Example of InterMAPhics Viewport

Khaled TANGAO Systems Development for TableTop Display

Page 29: Systems Development for ableTTop Display · Development Challenges Systems Development for ableTTop Display Exit presentation Khaled ANGATO Collaborative Systems Lab, elecomT Bretagne

IntroductionHardware Classi�cation

Software Side.Development Challenges

Design ChallengesImagesInputs

What If Everything Was an Image?

Tabletop strategies are easy to apply to pictures because mostof all graphics engines handle well images.

One of the problem for developers is how to apply tabletopstrategies to traditional MFC containers; Convertingeverything in images can be the solution.

Example of InterMAPhics Viewport

Khaled TANGAO Systems Development for TableTop Display

Page 30: Systems Development for ableTTop Display · Development Challenges Systems Development for ableTTop Display Exit presentation Khaled ANGATO Collaborative Systems Lab, elecomT Bretagne

IntroductionHardware Classi�cation

Software Side.Development Challenges

Design ChallengesImagesInputs

Outline

1 Hardware Classi�cationMultiTouch TableTopsTableTops that support User Identi�cation

2 Software Side.Choice of Language for building prototypesChoice of the Graphics Framework for building prototypes

3 Development ChallengesDesign ChallengesImagesInputs

Khaled TANGAO Systems Development for TableTop Display

Page 31: Systems Development for ableTTop Display · Development Challenges Systems Development for ableTTop Display Exit presentation Khaled ANGATO Collaborative Systems Lab, elecomT Bretagne

IntroductionHardware Classi�cation

Software Side.Development Challenges

Design ChallengesImagesInputs

Handling Input.

How input events usually work on Windows ?

Developers need to raise their own events to handle inputs.

A standard protocol for multitouch and multi-user inputdoesn't exist. Most of OS (XP, Vista, Linux...) only supportskeyboard and mouse input.

Khaled TANGAO Systems Development for TableTop Display

Page 32: Systems Development for ableTTop Display · Development Challenges Systems Development for ableTTop Display Exit presentation Khaled ANGATO Collaborative Systems Lab, elecomT Bretagne

IntroductionHardware Classi�cation

Software Side.Development Challenges

Design ChallengesImagesInputs

Handling Input.

How input events usually work on Windows ?

Developers need to raise their own events to handle inputs.

A standard protocol for multitouch and multi-user inputdoesn't exist. Most of OS (XP, Vista, Linux...) only supportskeyboard and mouse input.

Khaled TANGAO Systems Development for TableTop Display

Page 33: Systems Development for ableTTop Display · Development Challenges Systems Development for ableTTop Display Exit presentation Khaled ANGATO Collaborative Systems Lab, elecomT Bretagne

IntroductionHardware Classi�cation

Software Side.Development Challenges

Design ChallengesImagesInputs

Handling Input.

How input events usually work on Windows ?

Developers need to raise their own events to handle inputs.

A standard protocol for multitouch and multi-user inputdoesn't exist. Most of OS (XP, Vista, Linux...) only supportskeyboard and mouse input.

Khaled TANGAO Systems Development for TableTop Display

Page 34: Systems Development for ableTTop Display · Development Challenges Systems Development for ableTTop Display Exit presentation Khaled ANGATO Collaborative Systems Lab, elecomT Bretagne

IntroductionHardware Classi�cation

Software Side.Development Challenges

Design ChallengesImagesInputs

Bright Future.

Young technology

Windows7 is a good start

Huge market

Khaled TANGAO Systems Development for TableTop Display

Page 35: Systems Development for ableTTop Display · Development Challenges Systems Development for ableTTop Display Exit presentation Khaled ANGATO Collaborative Systems Lab, elecomT Bretagne

IntroductionHardware Classi�cation

Software Side.Development Challenges

Design ChallengesImagesInputs

Bright Future.

Young technology

Windows7 is a good start

Huge market

Khaled TANGAO Systems Development for TableTop Display

Page 36: Systems Development for ableTTop Display · Development Challenges Systems Development for ableTTop Display Exit presentation Khaled ANGATO Collaborative Systems Lab, elecomT Bretagne

IntroductionHardware Classi�cation

Software Side.Development Challenges

Design ChallengesImagesInputs

Bright Future.

Young technology

Windows7 is a good start

Huge market

Khaled TANGAO Systems Development for TableTop Display

Page 37: Systems Development for ableTTop Display · Development Challenges Systems Development for ableTTop Display Exit presentation Khaled ANGATO Collaborative Systems Lab, elecomT Bretagne

IntroductionHardware Classi�cation

Software Side.Development Challenges

Design ChallengesImagesInputs

Thanks.

Thanks to Phil, Simon, Majd, Paul, Sepinood, Farzan, Jim andProfessor Stacey Scott...

Thanks you all

Khaled TANGAO Systems Development for TableTop Display

Page 38: Systems Development for ableTTop Display · Development Challenges Systems Development for ableTTop Display Exit presentation Khaled ANGATO Collaborative Systems Lab, elecomT Bretagne

IntroductionHardware Classi�cation

Software Side.Development Challenges

Design ChallengesImagesInputs

Thanks.

Thanks to Phil, Simon, Majd, Paul, Sepinood, Farzan, Jim andProfessor Stacey Scott...

Thanks you all

Khaled TANGAO Systems Development for TableTop Display

Page 39: Systems Development for ableTTop Display · Development Challenges Systems Development for ableTTop Display Exit presentation Khaled ANGATO Collaborative Systems Lab, elecomT Bretagne

IntroductionHardware Classi�cation

Software Side.Development Challenges

Design ChallengesImagesInputs

Questions ?

Khaled TANGAO Systems Development for TableTop Display