bing maps for enterprise – inte gration dans une ... maps for... · pointue des technologies wpf...

21
Bing Maps for Enterprise – Integration dans une application WPF et pour la table Microsoft Surface

Upload: others

Post on 19-Jul-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Bing Maps for Enterprise – Inte gration dans une ... Maps for... · pointue des technologies WPF et Silverlight. Elle présente toutefois un avantage notable, elle permet en effet

Bing Maps for Enterprise ndash Inte gration dans une application WPF et pour la table Microsoft Surface

Sommaire Rappel des derniers eacuteveacutenements 4

Fin de vie du plugin 3D de la plateforme Bing Maps 4

Nouvelle version de la table Surface Surface 20 5

Reacutesumeacute des possibiliteacutes drsquointeacutegration 6

Preacutesentation deacutetailleacutee des solutions techniques 7

Utilisation du WebBrowser et de lrsquoAPI Bing Maps AJAX v7 7

Utilisation du WebBrowser et du controcircle Silverlight de Bing Maps 8

Utilisation drsquoun navigateur alternatif et de lrsquoAPI Bing Maps AJAX V7 9

Utilisation drsquoun navigateur alternatif et du controcircle Silverlight 10

Utilisation drsquoune application Silverlight directement en WPF 11

Utilisation du plugin 3d agrave travers le controcircle InfoStratVE ndash CodePlex 12

Utilisation du controcircle GreatMaps for WPF ndash CodePlex 13

Utilisation drsquoun controcircle commercial deacutedieacute ndash Telerik RadMap 14

Deacuteveloppement personnaliseacute natif WPF 15

Cas particuliers de la table Microsoft Surface 16

La table Surface en version 1 (Microsoft Surface Table V1) 16

La table Surface en version 2 (Microsoft Surface Table V2) 17

Principales diffeacuterences 18

Aspect logiciel 19

Consideacuterations pour vos applications pour la table Surface V10 20

Evolution des deacuteveloppements 20

Conclusions 21

Autres pistes agrave explorer 21

A travers ce preacuteceacutedent article deacutedieacute agrave la reacutealisation drsquoapplication de cartographie agrave travers une

application WinForm etou WPF (Windows Presentation Foundation) nous avions deacutejagrave abordeacute certaines

techniques drsquoimpleacutementation en pondeacuterant chacune de ces solutions en fonction du contexte

Cet article a pour but drsquoaider les entreprises souhaitant effectuer la migration de leurs applications

existantes sur la table Surface (baseacutee sur lrsquoapplication Concierge le composant InfoStratVE ou

autreshellip) ou tout simplement inteacutegrer de la cartographie au sein drsquoapplication WPF ou WinForm

Au sein de Wygwam nous avons reacuteguliegraverement des demandes pour reacutealiser ce type

drsquoapplication ou de controcircle drsquointeacutegration permettant drsquoapporter des possibiliteacutes

cartographiques (affichage de carte utilisation des contenus) aux applicatifs utilisant la

technologie WPF

Crsquoest donc avec mon collegravegue Ludovic Czarnecki que jrsquoai pu tester les diffeacuterentes solutions techniques

preacutesenteacutees ci-dessous dans un contexte drsquoexeacutecution de la table Microsoft Surface V1

Nrsquoheacutesitez donc pas agrave nous contacter si vous avez ces besoins drsquointeacutegration ou si vous souhaitez

davantage drsquoinformations concernant une technique en particulier

Rappel des derniers eacuteveacutenements

Afin de comprendre la raison de cette mise agrave jour concernant les solutions drsquointeacutegration disponibles il

faut parcourir agrave nouveau lrsquoactualiteacute des derniers mois des technologies concerneacutees

Fin de vie du plugin 3D de la plateforme Bing Maps

Microsoft a annonceacute en novembre 2010 la fin de vie programmeacutee en novembre 2011 du plugin 3d

disponible depuis plusieurs anneacutees et surtout utilisable agrave travers lrsquoAPI en version 63

Ce plugin 3d est pourtant utiliseacute dans de nombreux cas pour inteacutegrer cette plateforme au sein

drsquoapplication WPF et plus particuliegraverement sur la table Surface V1

En effet lrsquoapplication Concierge mais eacutegalement le controcircle InfostratVE disponible sur CodePlex

utilisent ce plugin pour effectuer lrsquoaffichage

Degraves lors mecircme si ce plugin est installeacute (ou les assemblies neacutecessaires conserveacutees) rien ne garantit son

fonctionnement apregraves la date indiqueacutee notamment pour la reacutecupeacuteration du modegravele de terrain (DEM

Digital Elevation Model) ou pour les geacuteomeacutetries 3d des bacirctiments ou lieux connus

Bref le taux de peacuteneacutetration reacuteduit de ce plugin sur le poste grand public et lrsquoeacutevolution technologique ont

motiveacute Microsoft a stoppeacute lrsquoinvestissement sur ce dernier et agrave se concentrer sur drsquoautres possibiliteacutes de

preacutesentation et drsquoexploitation de ces informations et contenus 3D

Nouvelle version de la table Surface Surface 20

Lrsquoarriveacutee prochaine de la table Surface 20 avec une technologie diffeacuterente (voir plus bas) pour analyser

les contacts utilisateurs amegravene son lot de changement pour les deacuteveloppements reacutealiseacutes jusqursquoagrave preacutesent

La technologie logicielle impleacutementeacutee modifie eacutegalement les deacuteveloppements sur la table Surface

lrsquoensemble du SDK et du Framework deacutedieacute agrave ce produit en v2 a eacuteteacute modifieacute on nrsquoutilise par exemple

plus drsquoeacuteveacutenement de type Contact (speacutecifique agrave la table Surface v1) mais au contraire des eacuteveacutenements de

types Touch standard agrave lrsquoensemble des applications WPF deacutedieacutees au tactile

Reacutesumeacute des possibiliteacutes drsquointeacutegration

Drsquoune maniegravere geacuteneacuterale ces possibiliteacutes drsquointeacutegration concernent les applications WPF et WinForm

Les cas speacutecifiques associeacutes agrave la table Microsoft Surface sont abordeacutes plus bas

Voici avant de nous inteacuteresser aux deacutetails les diffeacuterentes techniques drsquoimpleacutementation listeacutees

Utilisation du WebBrowser et de lrsquoAPI Bing Maps AJAX v7

Utilisation du WebBrowser et du controcircle Silverlight de Bing Maps

Utilisation drsquoun navigateur alternatif et de lrsquoAPI Bing Maps AJAX V7

Utilisation drsquoun navigateur alternatif et du controcircle Silverlight

Utilisation drsquoune application Silverlight directement en WPF

Utilisation du plugin 3d agrave travers le controcircle InfoStratVE ndash CodePlex

Utilisation du controcircle GreatMaps for WPF ndash CodePlex

Utilisation drsquoun controcircle commercial deacutedieacute

o Controcircle Telerik ndash RadMap

Deacuteveloppement personnaliseacute natif WPF

Preacutesentation deacutetailleacutee des solutions techniques

Apregraves avoir reacutesumeacute les solutions nous allons nous inteacuteresser aux deacutetails drsquoimpleacutementation mais

eacutegalement aux avantages et inconveacutenients de chacun drsquoelles

Utilisation du WebBrowser et de lrsquoAPI Bing Maps AJAX v7

Description technique

Cette solution consiste agrave inteacutegrer une instance du controcircle WebBrowser qui charge une page HTML

distante ou un contenu HTML disponible en ressource inteacutegreacutee agrave lrsquoapplication

Il suffit alors ensuite drsquoutiliser les meacutethodes InvokeScript() sur le controcircle WebBrowser (ou

InvokeScript() sur la proprieacuteteacute Document du WebBrowser en WinForm) pour deacuteclencher du code

JavaScript depuis lrsquoapplication Net

Du cocircteacute client en JavaScript il suffit drsquoutiliser lrsquoeacuteleacutement windowexternal pour obtenir une reacutefeacuterence

vers lrsquoobjet passeacute dans la proprieacuteteacute ObjectForScripting du controcircle WebBrowser permettant ainsi de

pouvoir appeler les meacutethodes de lrsquoapplication Net depuis le code client

Analyse

Avantages Inconveacutenients

Meacutethode supporteacutee Inteacutegration graphique limiteacutee

Evolution aiseacutee des deacuteveloppements et

migration simple

Complexiteacute de deacuteveloppement

Inteacutegration simple du modegravele de licence de la

plateforme

Difficulteacutes possibles lors drsquoun

deacuteploiement multi-systegravemes

Mon avis

Cette solution permets drsquointeacutegrer une application cartographie utilisant le controcircle interactif Bing Maps

via lrsquoAPI AJAX v7 en utilisant des techniques connues pour le deacuteveloppement autour de lrsquoAPI

Le principal effort consiste agrave effectuer lrsquoensemble du code drsquointeropeacuterabiliteacute entre le

WebBrowserJavaScript et le code Net

Utilisation du WebBrowser et du controcircle Silverlight de Bing Maps

Description technique

En utilisant la mecircme technique que la preacuteceacutedente on charge cette fois une page contenant le controcircle

Silverlight de la plateforme Bing Maps

Voici un vue drsquoensemble de ce qui est opeacutereacute

Il suffit donc de reacutealise une application Net exposeacutee en COM et eacutetabli comme proprieacuteteacute

ObjectForScripting sur le composant WebBrowser

Le code JavaScript assure la communication entre lrsquoapplication WPF et le controcircle Silverlight

Le controcircle Silverlight expose ses meacutethodes comme eacutetant des ScriptableMember (en ajoutant

lrsquoattribut) et reacutefeacuterence lrsquoapplication comme ScriptableObject via la meacutethode

RegisterScriptableObject() du controcircle WebBrowser en permettant ainsi drsquoacceacuteder agrave ces diffeacuterents

attributs et meacutethodes

Analyse

Avantages Inconveacutenients

Meacutethode supporteacutee Inteacutegration graphique limiteacutee

Performances du controcircle Silverlight Complexiteacute important du deacuteveloppement

Possibiliteacute drsquointeacutegrer la logique applicative dans

lrsquoapplication Silverlight

Deacutependance au plugin Silverlight

Mon avis

Cette solution relativement proche de la preacuteceacutedente approche possegravede toujours les mecircmes limites en

termes drsquointeacutegration graphique mais permet drsquoexploiter les performances du controcircle Silverlight de Bing

Maps for Enterprise

La contrainte suppleacutementaire du plugin Silverlight augmente la complexiteacute du deacuteveloppement des

couches drsquointeropeacuterabiliteacutes (voir Article en 4 parties Bing Maps for Enterprise ndash Integration WPF

interopeacuterabiliteacute avec Silverlight) et neacutecessite une connaissance pointue des possibiliteacutes drsquointeropeacuterabiliteacute

de chaque brique applicative

Utilisation drsquoun navigateur alternatif et de lrsquoAPI Bing Maps AJAX V7

Description technique

A travers cette reacutealisation on souhaite utiliser le controcircle baseacute sur Chromium afin de charger la page

sous le mecircme mode que le WebBrowser standard

Avec ce controcircle on observe la possibiliteacute drsquointeacutegrer graphiquement le navigateur dans lrsquoapplication

WPF et drsquoopeacuterer des manipulations impossibles agrave reacutealiser avec le controcircle WebBrowser standard

rotation modification des dimensions transformations avanceacuteeshellip

Pour simplifier lrsquoutilisation de Chromium au sein drsquoune application WPF il est possible drsquoutiliser le

projet WPFChromium disponible via ces liens

Pour la version Net 30 et Net 35 httpwpfchromiumcodeplexcom

Pour la version Net 40 httpwpfchromium4codeplexcom

Analyse

Avantages Inconveacutenients

Inteacutegration graphique faciliteacutee Meacutethode non-supporteacutee

Utilisation du controcircle AJAX Complexiteacute de deacuteveloppement et

limitations drsquointeropeacuterabiliteacute

possibles

Inteacutegration simple du modegravele de

licence de la plateforme

Quid de lrsquoeacutevolution

Mon avis

Cette solution permets de srsquoaffranchir de la limite drsquointeacutegration graphique en effet avec le controcircle

navigateur alternatif il devient possible de le manipuler (taille orientationhellip) et surtout drsquoafficher des

eacuteleacutements par-dessus chose impossible en utilisant le controcircle WebBrowser de base

Cependant cette meacutethode preacutesente la limite preacutecise qursquoil srsquoagit drsquoune utilisation de composant non

supporteacute et drsquoune utilisation de lrsquoAPI AJAX de la plateforme Bing Maps for Enterprise dans un contexte

non supporteacute

Utilisation drsquoun navigateur alternatif et du controcircle Silverlight

Description technique

En utilisant le controcircle navigateur baseacute sur Chromium agrave travers le wrapper deacutedieacute on charge une

application simple inteacutegrant le controcircle Silverlight de la plateforme Bing Maps for Enterprise

Le projet WPFChromium preacutesenteacute avec la solution preacuteceacutedente permet de reacutealiser cette inteacutegration mais

peut amener des difficulteacutes de chargement du contenu Silverlight

Analyse

Avantages Inconveacutenients

Inteacutegration graphique faciliteacutee Meacutethode non-supporteacutee

Performances Problegraveme possible de compatibiliteacute

Silverlight

Possibiliteacute drsquointeacutegrer la logique

applicative dans lrsquoapplication

Silverlight

Evolution difficulteacute de

deacuteveloppement et limitations

drsquointeropeacuterabiliteacute possibles

Mon avis

Cette solution preacutesente de nombreux points de doutes avec notamment un gros souci de

compatibiliteacutesupport du controcircle navigateur tout comme le support Silverlight dans ce contexte

La complexiteacute de deacuteveloppement et les limitations possibles drsquointeropeacuterabiliteacute avec ce navigateur

alternatif devront faire lrsquoobjet drsquoune reflexion approfondie

Utilisation drsquoune application Silverlight directement en WPF

Description technique

En reacutealisant une application Silverlight inteacutegrant le controcircle Silverlight de Bing Maps for Enterprise on

utilise directement ce composant au sein de lrsquoapplication WPF

Pour cela plusieurs techniques possibles dont voici quelques liens utiles

httpmsdnmicrosoftcomen-uslibraryff921109(v=pandp40)aspx

httpblogsmsdncombclrteamarchive20091201sharing-silverlight-assemblies-with-net-

appsaspx

httpkarlshifflettwordpresscom20091119silverlight-3-4-library-sharing-with-net-4-0-

library-or-wpf

httpmsdnmicrosoftcomen-uslibrarycc903925(VS95)aspx

httpjmorrillhjtcentralcomHometabid428EntryId446Differences-between-WPF-and-

Silverlight-Rendering-Stacksaspx

Un projet CodePlex facilite cette inteacutegration il srsquoagit de SilverlightViewport deacuteveloppeacute par Jeremiah

Morrill (qui soit dit au passage est un vrai guru en WPF et autres technologies de preacutesentation)

Ce projet est disponible via ce lien httpsilverlightviewportcodeplexcom

Analyse

Avantages Inconveacutenients

Inteacutegration WPF Meacutethode non supporteacutee

Performance du controcircle Silverlight Complexiteacute de deacuteveloppement

Possibiliteacute drsquointeacutegrer la logique applicative

dans lrsquoapplication Silverlight

Deacutependance au plugin Silverlight

Mon avis

Cette technique drsquoimpleacutementation est assez deacutelicate agrave mettre en place et neacutecessite une connaissance

pointue des technologies WPF et Silverlight

Elle preacutesente toutefois un avantage notable elle permet en effet de srsquointeacutegrer de maniegravere parfaite en

WPF et nrsquoimpose pas de deacutependance agrave un quelconque controcircle navigateur

Utilisation du plugin 3d agrave travers le controcircle InfoStratVE ndash CodePlex

Description technique

Cette solution technique repose sur lrsquoutilisation du plugin 3d disponible avec la version 63 et qui est

utiliseacute au sein drsquoune surface Direct3D directement au sein de WPF

Le projet InfoStratVE disponible sur CodePlex et deacuteveloppeacute par InfoStrat fournit la couche de

manipulation entre WPF et le plugin 3D ce qui simplifie grandement la gestion des eacuteveacutenements et la

manipulation du composant natif

Analyse

Avantages Inconveacutenients

Utilisation du plugin 3D Fin de vie du plugin 3D

Performances Meacutethode non supporteacutee

Inteacutegration WPF et simpliciteacute du

deacuteveloppement

Nombre drsquoinstance simultaneacutee limiteacutee du

controcircle

Mon avis

Cette solution fonctionne agrave merveille et permets de proposer des performances eacuteleveacutees et une expeacuterience

3d qui se combine agrave merveille sur les applications Surface

Cependant la fin de vie programmeacutee du plugin 3D de la plateforme Bing Maps for Enterprise impose agrave

chacun de consideacuterer cette solution comme obsolegravete et mecircme agrave remplacer dans un futur proche compte

tenu de lrsquoeacutevolution prochaine de la plateforme relativement incertaine vis agrave vis de ce plugin 3D

Utilisation du controcircle GreatMaps for WPF ndash CodePlex

Description technique

La solution technique employeacutee utilise un controcircle natif WPF (ou WinForm et mecircme Windows

Mobile) qui repose sur un fonctionnement standard de geacuteneacuteration de tuile

Le controcircle est disponible au sein du projet GreatMap heacutebergeacute sur CodePlex rend possible

lrsquoaffichage de cartes chargeacutees sous formes de tuiles

Voici le lien vers ce projet httpgreatmapscodeplexcom

Analyse

Avantages Inconveacutenients

Inteacutegration WPF Support limiteacute

Simpliciteacute du deacuteveloppement et possibiliteacute

de changement de fournisseur de contenu

Evolution deacutelicate du controcircle vis agrave

vis des services de la plateforme

Performances

Mon avis

Cette solution meacuterite le deacutetour puisque dans la version actuelle on dispose drsquoun controcircle deacutedieacute agrave

WinForm et un autre agrave WPF

Le controcircle permet drsquoutiliser de multiples fournisseurs de carte (Bing Maps for Enterprise OSM

Google Mapshellip) et simplifie grandement le deacuteveloppement et lrsquointeacutegration drsquoune carte performante dans

vos applications WPF

Utilisation drsquoun controcircle commercial deacutedieacute ndash Telerik RadMap

Description technique

En utilisant le controcircle RadMap de la librairie proposeacutee par Telerik on obtient un composant

cartographique multifournisseur permettant drsquoafficher des cartes nativement en WPF

Le controcircle tente de reproduire le comportement et le rendu disponible dans celui proposeacute en Silverlight

reposant sur la technologie DeepZoom

Analyse

Avantages Inconveacutenients

Meacutethode supporteacutee par Telerik Performances et expeacuterience relativement

limiteacutees

Simpliciteacute de deacuteveloppement et possibiliteacute

de changement de fournisseur de contenu

Composant commercial et licence associeacutee

Inteacutegration WPF Evolution du composant

Mon avis

Cette solution commerciale preacutesente un controcircle simple agrave utiliser mais qui nrsquoapporte pas une expeacuterience

utilisateur suffisante pour approcher celle du controcircle AJAX ou Silverlight

Lrsquoaspect commercial de la solution nrsquoest eacutegalement pas lagrave pour simplifier la mise en place au sein drsquoun

projet client

Deacuteveloppement personnaliseacute natif WPF

Description technique

La solution la plus radicale consiste agrave recreacuteer soi-mecircme un controcircle en WPF natif utilisant des eacuteleacutements

standards pour charger une carte agrave travers un canvas deacutedieacute

Analyse

Avantages Inconveacutenients

Maitrise complegravete du deacuteveloppement Complexiteacute de deacuteveloppement

Inteacutegration WPF et performances Coucirct lieacute

Evolution du controcircle vis agrave vis de la

plateforme

Probleacutematique drsquoeacutevolution de

performances de test et charges

Mon avis

Certainement lrsquooption la plus permissive peu importe lrsquoexploitation du controcircle qui est faite cette

solution a cependant des inconveacutenients notables puisqursquoelle neacutecessite un deacuteveloppement personnaliseacute

qui peut tregraves vite devenir couteux en temps et tregraves deacutelicat agrave appreacutehender

Cas particuliers de la table Microsoft Surface

La table Surface de Microsoft se preacutesente agrave preacutesent en 2 versions distinctes que je choisis ici de

preacutesenter briegravevement Nous allons ensuite nous inteacuteresser au cas speacutecifique des applications srsquoexeacutecutant

sur ce type de peacuteripheacuterique

Le deacutetail complet et des articles explicatifs preacutecis sont disponibles sur la MSDN

httpmsdnmicrosoftcomen-uslibraryee804845(v=Surface10)aspx

La table Surface en version 1 (Microsoft Surface Table V1)

La premiegravere version a eacuteteacute rendue disponible agrave partir de 2009 et reposait sur une technologie de

reconnaissance de forme utilisant des cameacuteras inteacutegreacutees agrave la table qui se preacutesente comme cela

La table Surface en version 2 (Microsoft Surface Table V2)

La seconde version a eacuteteacute annonceacutee et devrait ecirctre commercialiseacutee dans le second semestre 2011

Pour reacutealiser la reconnaissance de forme et la deacutetection des interactions utilisateurs Samsung et

Microsoft ont mis au point une technologie baptiseacutee PixelSense qui srsquoappuie sur un reacuteseau de LED

Infrarouge et une couche de deacutetection optique capturant le reacutesultat reacutefleacutechie de lrsquoinfrarouge

Pour plus drsquoinformations sur la technologie PixelSense utiliseacutee au sein de cette Surface 20 nrsquoheacutesitez

pas agrave vous rendre sur le site deacutedieacute httpwwwmicrosoftcomsurfaceenuspixelsenseaspx

Principales diffeacuterences

Forme mateacuteriel et technologie

La table Surface V1 pegravese 70 Kg et utilise une technologie de reconnaissance de forme baseacute sur un reacuteseau

de cameacutera

La table Surface V2 quant agrave elle preacutesente un poids moindre (40 Kg) et donne la possibiliteacute drsquoecirctre orienteacute

et mecircme ecirctre disposeacutee sur un mur Une eacutepaisseur de seulement une dizaine de centimegravetre gracircce agrave

lrsquoutilisation de la technologie PixelSense

Evidemment la configuration mateacuterielle (le PC qui exeacutecute les applications) a aussi connu une cure de

jouvence Le systegraveme drsquoexploitation est logiquement changeacute pour passer de Windows Vista (v1) agrave

Windows 7 (v2)

En reacutesumeacute

Surface V10 Surface V20

Ecran 30rdquo XGA projecteur avec

surface polie

40rdquo LCD avec une vitre de

type Gorilla Glass

Reacutesolution 1024 768 1920 1080 (HD 1080p)

Technologie

multitouch

Reacuteseau de projecteur et de 5

cameacuteras

52 contacts simultaneacutes

PixelSense

50 contacts simultaneacutes

Dimensions 56 cm drsquoeacutepaisseur

686 cm de large pour la

surface

572 cm de large pour la

base

108 cm de long

10 cm drsquoeacutepaisseur

102 cm de diagonale

Poids 70 Kg 40 Kg

Disposition Horizontale Horizontale ou Verticale

(inclinable)

Processeur Intel Core 2 Duo (213 Ghz) AMD Athlon II X2 Dual-

Core Processor 29GHz

Carte

graphique

ATI X1650 AMD Radeon HD 6700M

RAM 2 Go DDR2 4 Go DDR3

Disque dur 250 Go SATA 7200 tmin 320 Go SATA 7200 tmin

Support HDMI Non Oui

Systegraveme Windows Vista Pro 32-bit Windows 7 Pro 64-bit

Coucirct 12 500 $ 9000 euro env 7 600 $ 5 400 euro env

Sources

httptechnetmicrosoftcomen-uslibraryee692114(Surface10)aspx

httpctlabsblogspotcom201101microsoft-surface-20-multi-touch-wonderhtml

httpenwikipediaorgwikiMicrosoft_SurfaceSurface_20

Aspect logiciel

Fondamentalement la technologie utiliseacutee reste identique puisqursquoil srsquoagit dans

les 2 versions drsquoun Framework baseacute sur WPF Il est eacutegalement possible de

reacutealiser des applications en XNA sur ce type de peacuteripheacuterique

Le gros point de diffeacuterence reacuteside dans la maniegravere de geacuterer les contacts qui dans

la premiegravere version eacutetaient des ContactEvent (avec des proprieacuteteacutes deacutedieacutees)

Le nouveau SDK ainsi que les outils de deacuteveloppement ou de simulation de la

table Surface ont eux aussi eacuteteacute mis agrave jour avec notamment un simulateur

ameacutelioreacute de la table

Enfin eacutevidemment le Framework Surface a eacuteteacute eacutetendu avec de nouveaux

controcircles et nouvelles possibiliteacutes disponibles agrave travers ce lien

httpwwwmicrosoftcomdownloadendetailsaspxid=26716

Concernant la migration drsquoune application Surface v1 vers Surface v2 pour les cas simples il est

possible drsquoutiliser le PowerToy fourni par Microsoft et preacutesenteacute agrave travers le lien suivant

httpmsdnmicrosoftcomen-uslibrarygg697146aspx

Consideacuterations pour vos applications pour la table Surface V10

La table Surface v10 repose sur une couche de capture des eacuteveacutenements qui srsquoopegravere au-dessus de

lrsquoapplication WPF Il faut alors pouvoir capturer ses contacts au-dessus des composants utiliseacutes et

bindeacutes ces derniers sur une manipulation WPF adapteacutee

Les solutions reposant sur lrsquoutilisation du controcircle WebBrowser ne peuvent pas fonctionner en

manipulation directe de la carte on ne peut donc pas capturer les contacts au-dessus drsquoun controcircle

WebBrowser classique

En effet ce controcircle existe depuis les anciennes versions du Framework et repose sur un controcircle Win32

et le rendu srsquoopegravere au dessus de tout controcircle WPF et eacutegalement au-dessus de la couche de capture des

contacts Degraves lors il est donc impossible drsquoobtenir un eacuteveacutenement de contact au-dessus de la page

heacutebergeacute par le controcircle WebBrowser

Evolution des deacuteveloppements

Les applications deacuteveloppeacutees pour la table Surface seront les mecircmes que ceux des tablettes Windows 7

ou des PC avec eacutecran tactiles Elles seront naturellement compatibles sur PC avec une simple souris

Ce qui inteacuteressant dans ce cas crsquoest la capaciteacute simple permettant de migrer une application sur un type

de support vers un autre et inversement Il est eacutegalement inteacuteressant de voir que lrsquointeacutegration de

controcircles avanceacutes se fera de maniegravere plus aiseacutee et surtout une meacutethode unique les consideacuterations

concernant lrsquointeacutegration de la cartographie en WPF se reacuteduisent puisqursquoil srsquoagit lagrave des mecircmes

deacuteveloppements

Attention toutefois les applications srsquoexeacutecutant sur une table Surface doivent agrave mon sens faire preuve

drsquoune reacuteflexion particuliegravere sur lrsquoutilisation qui va en ecirctre faite Il faut concevoir lrsquoapplication comme

eacutetant possiblement exploitable de nrsquoimporte quel cocircteacute de la table et surtout avec de lrsquoinformation

adapteacutee et lisible dans ce cas preacutesent Lrsquoutilisation simultaneacutee par plusieurs utilisateurs est eacutegalement un

eacuteleacutement dont il faut tenir compte et qui est agrave reacutefleacutechir

Conclusions

Lrsquoensemble de ces solutions techniques drsquointeacutegration de plateforme cartographique au sein drsquoapplication

WPF sont agrave consideacuterer en fonction du contexte final drsquoexeacutecution

En effet on ne peut pas aiseacutement deacutesigner LA solution parfaite pour tous les cas car lagrave ougrave pour certains

le besoin en support et eacutevolution du composant est primordial lrsquointeacutegration fine et le besoin de

customisation seront neacutegligeacutes et inversement

Par contre la solution utilisant le plugin 3d (Concierge ou controcircle InfoStratVE) ne doivent plus ecirctre

utiliseacutees pour de nouveaux projets et devront tregraves certainement subir une migration dans les mois agrave venir

agrave la fin de vie du plugin (novembre 2011)

Il eacutegalement agrave noter que dans ce type drsquointeacutegration il est toutefois neacutecessaire de conserver en tecircte

lrsquoaspect leacutegal et donc se rapprocher de Microsoft pour obtenir davantage drsquoinformation concernant les

licences drsquoutilisation de la plateforme Bing Maps for Enterprise

Autres pistes agrave explorer

Si vous avez en tecircte drsquoautres solutions drsquointeacutegration de lrsquoAPI Bing Maps ou plus geacuteneacuteralement de

cartographie au sein drsquoapplication WPF agrave laquelle je nrsquoaurai penseacute nrsquoheacutesitez pas agrave me contacter ou agrave

laisser un commentaire

Je nrsquoai pas preacutesenteacute la solution drsquointeacutegration de Google Earth API puisque je voulais des solutions

drsquointeacutegration de la plateforme Bing Maps for Enterprise principalement mais il est eacutevident que cela peut

ecirctre une solution possible drsquointeacutegration

La solution drsquointeacutegration ESRI nrsquoa pas non plus eacuteteacute preacutesenteacutee puisque leurs controcircles ne sont pas

librement accessibles en version drsquoeacutevaluation

Aussi si vous aussi vous rencontrez ce genre de besoin nrsquoheacutesitez pas agrave me contacter pour eacutechanger sur

le sujet

Page 2: Bing Maps for Enterprise – Inte gration dans une ... Maps for... · pointue des technologies WPF et Silverlight. Elle présente toutefois un avantage notable, elle permet en effet

Sommaire Rappel des derniers eacuteveacutenements 4

Fin de vie du plugin 3D de la plateforme Bing Maps 4

Nouvelle version de la table Surface Surface 20 5

Reacutesumeacute des possibiliteacutes drsquointeacutegration 6

Preacutesentation deacutetailleacutee des solutions techniques 7

Utilisation du WebBrowser et de lrsquoAPI Bing Maps AJAX v7 7

Utilisation du WebBrowser et du controcircle Silverlight de Bing Maps 8

Utilisation drsquoun navigateur alternatif et de lrsquoAPI Bing Maps AJAX V7 9

Utilisation drsquoun navigateur alternatif et du controcircle Silverlight 10

Utilisation drsquoune application Silverlight directement en WPF 11

Utilisation du plugin 3d agrave travers le controcircle InfoStratVE ndash CodePlex 12

Utilisation du controcircle GreatMaps for WPF ndash CodePlex 13

Utilisation drsquoun controcircle commercial deacutedieacute ndash Telerik RadMap 14

Deacuteveloppement personnaliseacute natif WPF 15

Cas particuliers de la table Microsoft Surface 16

La table Surface en version 1 (Microsoft Surface Table V1) 16

La table Surface en version 2 (Microsoft Surface Table V2) 17

Principales diffeacuterences 18

Aspect logiciel 19

Consideacuterations pour vos applications pour la table Surface V10 20

Evolution des deacuteveloppements 20

Conclusions 21

Autres pistes agrave explorer 21

A travers ce preacuteceacutedent article deacutedieacute agrave la reacutealisation drsquoapplication de cartographie agrave travers une

application WinForm etou WPF (Windows Presentation Foundation) nous avions deacutejagrave abordeacute certaines

techniques drsquoimpleacutementation en pondeacuterant chacune de ces solutions en fonction du contexte

Cet article a pour but drsquoaider les entreprises souhaitant effectuer la migration de leurs applications

existantes sur la table Surface (baseacutee sur lrsquoapplication Concierge le composant InfoStratVE ou

autreshellip) ou tout simplement inteacutegrer de la cartographie au sein drsquoapplication WPF ou WinForm

Au sein de Wygwam nous avons reacuteguliegraverement des demandes pour reacutealiser ce type

drsquoapplication ou de controcircle drsquointeacutegration permettant drsquoapporter des possibiliteacutes

cartographiques (affichage de carte utilisation des contenus) aux applicatifs utilisant la

technologie WPF

Crsquoest donc avec mon collegravegue Ludovic Czarnecki que jrsquoai pu tester les diffeacuterentes solutions techniques

preacutesenteacutees ci-dessous dans un contexte drsquoexeacutecution de la table Microsoft Surface V1

Nrsquoheacutesitez donc pas agrave nous contacter si vous avez ces besoins drsquointeacutegration ou si vous souhaitez

davantage drsquoinformations concernant une technique en particulier

Rappel des derniers eacuteveacutenements

Afin de comprendre la raison de cette mise agrave jour concernant les solutions drsquointeacutegration disponibles il

faut parcourir agrave nouveau lrsquoactualiteacute des derniers mois des technologies concerneacutees

Fin de vie du plugin 3D de la plateforme Bing Maps

Microsoft a annonceacute en novembre 2010 la fin de vie programmeacutee en novembre 2011 du plugin 3d

disponible depuis plusieurs anneacutees et surtout utilisable agrave travers lrsquoAPI en version 63

Ce plugin 3d est pourtant utiliseacute dans de nombreux cas pour inteacutegrer cette plateforme au sein

drsquoapplication WPF et plus particuliegraverement sur la table Surface V1

En effet lrsquoapplication Concierge mais eacutegalement le controcircle InfostratVE disponible sur CodePlex

utilisent ce plugin pour effectuer lrsquoaffichage

Degraves lors mecircme si ce plugin est installeacute (ou les assemblies neacutecessaires conserveacutees) rien ne garantit son

fonctionnement apregraves la date indiqueacutee notamment pour la reacutecupeacuteration du modegravele de terrain (DEM

Digital Elevation Model) ou pour les geacuteomeacutetries 3d des bacirctiments ou lieux connus

Bref le taux de peacuteneacutetration reacuteduit de ce plugin sur le poste grand public et lrsquoeacutevolution technologique ont

motiveacute Microsoft a stoppeacute lrsquoinvestissement sur ce dernier et agrave se concentrer sur drsquoautres possibiliteacutes de

preacutesentation et drsquoexploitation de ces informations et contenus 3D

Nouvelle version de la table Surface Surface 20

Lrsquoarriveacutee prochaine de la table Surface 20 avec une technologie diffeacuterente (voir plus bas) pour analyser

les contacts utilisateurs amegravene son lot de changement pour les deacuteveloppements reacutealiseacutes jusqursquoagrave preacutesent

La technologie logicielle impleacutementeacutee modifie eacutegalement les deacuteveloppements sur la table Surface

lrsquoensemble du SDK et du Framework deacutedieacute agrave ce produit en v2 a eacuteteacute modifieacute on nrsquoutilise par exemple

plus drsquoeacuteveacutenement de type Contact (speacutecifique agrave la table Surface v1) mais au contraire des eacuteveacutenements de

types Touch standard agrave lrsquoensemble des applications WPF deacutedieacutees au tactile

Reacutesumeacute des possibiliteacutes drsquointeacutegration

Drsquoune maniegravere geacuteneacuterale ces possibiliteacutes drsquointeacutegration concernent les applications WPF et WinForm

Les cas speacutecifiques associeacutes agrave la table Microsoft Surface sont abordeacutes plus bas

Voici avant de nous inteacuteresser aux deacutetails les diffeacuterentes techniques drsquoimpleacutementation listeacutees

Utilisation du WebBrowser et de lrsquoAPI Bing Maps AJAX v7

Utilisation du WebBrowser et du controcircle Silverlight de Bing Maps

Utilisation drsquoun navigateur alternatif et de lrsquoAPI Bing Maps AJAX V7

Utilisation drsquoun navigateur alternatif et du controcircle Silverlight

Utilisation drsquoune application Silverlight directement en WPF

Utilisation du plugin 3d agrave travers le controcircle InfoStratVE ndash CodePlex

Utilisation du controcircle GreatMaps for WPF ndash CodePlex

Utilisation drsquoun controcircle commercial deacutedieacute

o Controcircle Telerik ndash RadMap

Deacuteveloppement personnaliseacute natif WPF

Preacutesentation deacutetailleacutee des solutions techniques

Apregraves avoir reacutesumeacute les solutions nous allons nous inteacuteresser aux deacutetails drsquoimpleacutementation mais

eacutegalement aux avantages et inconveacutenients de chacun drsquoelles

Utilisation du WebBrowser et de lrsquoAPI Bing Maps AJAX v7

Description technique

Cette solution consiste agrave inteacutegrer une instance du controcircle WebBrowser qui charge une page HTML

distante ou un contenu HTML disponible en ressource inteacutegreacutee agrave lrsquoapplication

Il suffit alors ensuite drsquoutiliser les meacutethodes InvokeScript() sur le controcircle WebBrowser (ou

InvokeScript() sur la proprieacuteteacute Document du WebBrowser en WinForm) pour deacuteclencher du code

JavaScript depuis lrsquoapplication Net

Du cocircteacute client en JavaScript il suffit drsquoutiliser lrsquoeacuteleacutement windowexternal pour obtenir une reacutefeacuterence

vers lrsquoobjet passeacute dans la proprieacuteteacute ObjectForScripting du controcircle WebBrowser permettant ainsi de

pouvoir appeler les meacutethodes de lrsquoapplication Net depuis le code client

Analyse

Avantages Inconveacutenients

Meacutethode supporteacutee Inteacutegration graphique limiteacutee

Evolution aiseacutee des deacuteveloppements et

migration simple

Complexiteacute de deacuteveloppement

Inteacutegration simple du modegravele de licence de la

plateforme

Difficulteacutes possibles lors drsquoun

deacuteploiement multi-systegravemes

Mon avis

Cette solution permets drsquointeacutegrer une application cartographie utilisant le controcircle interactif Bing Maps

via lrsquoAPI AJAX v7 en utilisant des techniques connues pour le deacuteveloppement autour de lrsquoAPI

Le principal effort consiste agrave effectuer lrsquoensemble du code drsquointeropeacuterabiliteacute entre le

WebBrowserJavaScript et le code Net

Utilisation du WebBrowser et du controcircle Silverlight de Bing Maps

Description technique

En utilisant la mecircme technique que la preacuteceacutedente on charge cette fois une page contenant le controcircle

Silverlight de la plateforme Bing Maps

Voici un vue drsquoensemble de ce qui est opeacutereacute

Il suffit donc de reacutealise une application Net exposeacutee en COM et eacutetabli comme proprieacuteteacute

ObjectForScripting sur le composant WebBrowser

Le code JavaScript assure la communication entre lrsquoapplication WPF et le controcircle Silverlight

Le controcircle Silverlight expose ses meacutethodes comme eacutetant des ScriptableMember (en ajoutant

lrsquoattribut) et reacutefeacuterence lrsquoapplication comme ScriptableObject via la meacutethode

RegisterScriptableObject() du controcircle WebBrowser en permettant ainsi drsquoacceacuteder agrave ces diffeacuterents

attributs et meacutethodes

Analyse

Avantages Inconveacutenients

Meacutethode supporteacutee Inteacutegration graphique limiteacutee

Performances du controcircle Silverlight Complexiteacute important du deacuteveloppement

Possibiliteacute drsquointeacutegrer la logique applicative dans

lrsquoapplication Silverlight

Deacutependance au plugin Silverlight

Mon avis

Cette solution relativement proche de la preacuteceacutedente approche possegravede toujours les mecircmes limites en

termes drsquointeacutegration graphique mais permet drsquoexploiter les performances du controcircle Silverlight de Bing

Maps for Enterprise

La contrainte suppleacutementaire du plugin Silverlight augmente la complexiteacute du deacuteveloppement des

couches drsquointeropeacuterabiliteacutes (voir Article en 4 parties Bing Maps for Enterprise ndash Integration WPF

interopeacuterabiliteacute avec Silverlight) et neacutecessite une connaissance pointue des possibiliteacutes drsquointeropeacuterabiliteacute

de chaque brique applicative

Utilisation drsquoun navigateur alternatif et de lrsquoAPI Bing Maps AJAX V7

Description technique

A travers cette reacutealisation on souhaite utiliser le controcircle baseacute sur Chromium afin de charger la page

sous le mecircme mode que le WebBrowser standard

Avec ce controcircle on observe la possibiliteacute drsquointeacutegrer graphiquement le navigateur dans lrsquoapplication

WPF et drsquoopeacuterer des manipulations impossibles agrave reacutealiser avec le controcircle WebBrowser standard

rotation modification des dimensions transformations avanceacuteeshellip

Pour simplifier lrsquoutilisation de Chromium au sein drsquoune application WPF il est possible drsquoutiliser le

projet WPFChromium disponible via ces liens

Pour la version Net 30 et Net 35 httpwpfchromiumcodeplexcom

Pour la version Net 40 httpwpfchromium4codeplexcom

Analyse

Avantages Inconveacutenients

Inteacutegration graphique faciliteacutee Meacutethode non-supporteacutee

Utilisation du controcircle AJAX Complexiteacute de deacuteveloppement et

limitations drsquointeropeacuterabiliteacute

possibles

Inteacutegration simple du modegravele de

licence de la plateforme

Quid de lrsquoeacutevolution

Mon avis

Cette solution permets de srsquoaffranchir de la limite drsquointeacutegration graphique en effet avec le controcircle

navigateur alternatif il devient possible de le manipuler (taille orientationhellip) et surtout drsquoafficher des

eacuteleacutements par-dessus chose impossible en utilisant le controcircle WebBrowser de base

Cependant cette meacutethode preacutesente la limite preacutecise qursquoil srsquoagit drsquoune utilisation de composant non

supporteacute et drsquoune utilisation de lrsquoAPI AJAX de la plateforme Bing Maps for Enterprise dans un contexte

non supporteacute

Utilisation drsquoun navigateur alternatif et du controcircle Silverlight

Description technique

En utilisant le controcircle navigateur baseacute sur Chromium agrave travers le wrapper deacutedieacute on charge une

application simple inteacutegrant le controcircle Silverlight de la plateforme Bing Maps for Enterprise

Le projet WPFChromium preacutesenteacute avec la solution preacuteceacutedente permet de reacutealiser cette inteacutegration mais

peut amener des difficulteacutes de chargement du contenu Silverlight

Analyse

Avantages Inconveacutenients

Inteacutegration graphique faciliteacutee Meacutethode non-supporteacutee

Performances Problegraveme possible de compatibiliteacute

Silverlight

Possibiliteacute drsquointeacutegrer la logique

applicative dans lrsquoapplication

Silverlight

Evolution difficulteacute de

deacuteveloppement et limitations

drsquointeropeacuterabiliteacute possibles

Mon avis

Cette solution preacutesente de nombreux points de doutes avec notamment un gros souci de

compatibiliteacutesupport du controcircle navigateur tout comme le support Silverlight dans ce contexte

La complexiteacute de deacuteveloppement et les limitations possibles drsquointeropeacuterabiliteacute avec ce navigateur

alternatif devront faire lrsquoobjet drsquoune reflexion approfondie

Utilisation drsquoune application Silverlight directement en WPF

Description technique

En reacutealisant une application Silverlight inteacutegrant le controcircle Silverlight de Bing Maps for Enterprise on

utilise directement ce composant au sein de lrsquoapplication WPF

Pour cela plusieurs techniques possibles dont voici quelques liens utiles

httpmsdnmicrosoftcomen-uslibraryff921109(v=pandp40)aspx

httpblogsmsdncombclrteamarchive20091201sharing-silverlight-assemblies-with-net-

appsaspx

httpkarlshifflettwordpresscom20091119silverlight-3-4-library-sharing-with-net-4-0-

library-or-wpf

httpmsdnmicrosoftcomen-uslibrarycc903925(VS95)aspx

httpjmorrillhjtcentralcomHometabid428EntryId446Differences-between-WPF-and-

Silverlight-Rendering-Stacksaspx

Un projet CodePlex facilite cette inteacutegration il srsquoagit de SilverlightViewport deacuteveloppeacute par Jeremiah

Morrill (qui soit dit au passage est un vrai guru en WPF et autres technologies de preacutesentation)

Ce projet est disponible via ce lien httpsilverlightviewportcodeplexcom

Analyse

Avantages Inconveacutenients

Inteacutegration WPF Meacutethode non supporteacutee

Performance du controcircle Silverlight Complexiteacute de deacuteveloppement

Possibiliteacute drsquointeacutegrer la logique applicative

dans lrsquoapplication Silverlight

Deacutependance au plugin Silverlight

Mon avis

Cette technique drsquoimpleacutementation est assez deacutelicate agrave mettre en place et neacutecessite une connaissance

pointue des technologies WPF et Silverlight

Elle preacutesente toutefois un avantage notable elle permet en effet de srsquointeacutegrer de maniegravere parfaite en

WPF et nrsquoimpose pas de deacutependance agrave un quelconque controcircle navigateur

Utilisation du plugin 3d agrave travers le controcircle InfoStratVE ndash CodePlex

Description technique

Cette solution technique repose sur lrsquoutilisation du plugin 3d disponible avec la version 63 et qui est

utiliseacute au sein drsquoune surface Direct3D directement au sein de WPF

Le projet InfoStratVE disponible sur CodePlex et deacuteveloppeacute par InfoStrat fournit la couche de

manipulation entre WPF et le plugin 3D ce qui simplifie grandement la gestion des eacuteveacutenements et la

manipulation du composant natif

Analyse

Avantages Inconveacutenients

Utilisation du plugin 3D Fin de vie du plugin 3D

Performances Meacutethode non supporteacutee

Inteacutegration WPF et simpliciteacute du

deacuteveloppement

Nombre drsquoinstance simultaneacutee limiteacutee du

controcircle

Mon avis

Cette solution fonctionne agrave merveille et permets de proposer des performances eacuteleveacutees et une expeacuterience

3d qui se combine agrave merveille sur les applications Surface

Cependant la fin de vie programmeacutee du plugin 3D de la plateforme Bing Maps for Enterprise impose agrave

chacun de consideacuterer cette solution comme obsolegravete et mecircme agrave remplacer dans un futur proche compte

tenu de lrsquoeacutevolution prochaine de la plateforme relativement incertaine vis agrave vis de ce plugin 3D

Utilisation du controcircle GreatMaps for WPF ndash CodePlex

Description technique

La solution technique employeacutee utilise un controcircle natif WPF (ou WinForm et mecircme Windows

Mobile) qui repose sur un fonctionnement standard de geacuteneacuteration de tuile

Le controcircle est disponible au sein du projet GreatMap heacutebergeacute sur CodePlex rend possible

lrsquoaffichage de cartes chargeacutees sous formes de tuiles

Voici le lien vers ce projet httpgreatmapscodeplexcom

Analyse

Avantages Inconveacutenients

Inteacutegration WPF Support limiteacute

Simpliciteacute du deacuteveloppement et possibiliteacute

de changement de fournisseur de contenu

Evolution deacutelicate du controcircle vis agrave

vis des services de la plateforme

Performances

Mon avis

Cette solution meacuterite le deacutetour puisque dans la version actuelle on dispose drsquoun controcircle deacutedieacute agrave

WinForm et un autre agrave WPF

Le controcircle permet drsquoutiliser de multiples fournisseurs de carte (Bing Maps for Enterprise OSM

Google Mapshellip) et simplifie grandement le deacuteveloppement et lrsquointeacutegration drsquoune carte performante dans

vos applications WPF

Utilisation drsquoun controcircle commercial deacutedieacute ndash Telerik RadMap

Description technique

En utilisant le controcircle RadMap de la librairie proposeacutee par Telerik on obtient un composant

cartographique multifournisseur permettant drsquoafficher des cartes nativement en WPF

Le controcircle tente de reproduire le comportement et le rendu disponible dans celui proposeacute en Silverlight

reposant sur la technologie DeepZoom

Analyse

Avantages Inconveacutenients

Meacutethode supporteacutee par Telerik Performances et expeacuterience relativement

limiteacutees

Simpliciteacute de deacuteveloppement et possibiliteacute

de changement de fournisseur de contenu

Composant commercial et licence associeacutee

Inteacutegration WPF Evolution du composant

Mon avis

Cette solution commerciale preacutesente un controcircle simple agrave utiliser mais qui nrsquoapporte pas une expeacuterience

utilisateur suffisante pour approcher celle du controcircle AJAX ou Silverlight

Lrsquoaspect commercial de la solution nrsquoest eacutegalement pas lagrave pour simplifier la mise en place au sein drsquoun

projet client

Deacuteveloppement personnaliseacute natif WPF

Description technique

La solution la plus radicale consiste agrave recreacuteer soi-mecircme un controcircle en WPF natif utilisant des eacuteleacutements

standards pour charger une carte agrave travers un canvas deacutedieacute

Analyse

Avantages Inconveacutenients

Maitrise complegravete du deacuteveloppement Complexiteacute de deacuteveloppement

Inteacutegration WPF et performances Coucirct lieacute

Evolution du controcircle vis agrave vis de la

plateforme

Probleacutematique drsquoeacutevolution de

performances de test et charges

Mon avis

Certainement lrsquooption la plus permissive peu importe lrsquoexploitation du controcircle qui est faite cette

solution a cependant des inconveacutenients notables puisqursquoelle neacutecessite un deacuteveloppement personnaliseacute

qui peut tregraves vite devenir couteux en temps et tregraves deacutelicat agrave appreacutehender

Cas particuliers de la table Microsoft Surface

La table Surface de Microsoft se preacutesente agrave preacutesent en 2 versions distinctes que je choisis ici de

preacutesenter briegravevement Nous allons ensuite nous inteacuteresser au cas speacutecifique des applications srsquoexeacutecutant

sur ce type de peacuteripheacuterique

Le deacutetail complet et des articles explicatifs preacutecis sont disponibles sur la MSDN

httpmsdnmicrosoftcomen-uslibraryee804845(v=Surface10)aspx

La table Surface en version 1 (Microsoft Surface Table V1)

La premiegravere version a eacuteteacute rendue disponible agrave partir de 2009 et reposait sur une technologie de

reconnaissance de forme utilisant des cameacuteras inteacutegreacutees agrave la table qui se preacutesente comme cela

La table Surface en version 2 (Microsoft Surface Table V2)

La seconde version a eacuteteacute annonceacutee et devrait ecirctre commercialiseacutee dans le second semestre 2011

Pour reacutealiser la reconnaissance de forme et la deacutetection des interactions utilisateurs Samsung et

Microsoft ont mis au point une technologie baptiseacutee PixelSense qui srsquoappuie sur un reacuteseau de LED

Infrarouge et une couche de deacutetection optique capturant le reacutesultat reacutefleacutechie de lrsquoinfrarouge

Pour plus drsquoinformations sur la technologie PixelSense utiliseacutee au sein de cette Surface 20 nrsquoheacutesitez

pas agrave vous rendre sur le site deacutedieacute httpwwwmicrosoftcomsurfaceenuspixelsenseaspx

Principales diffeacuterences

Forme mateacuteriel et technologie

La table Surface V1 pegravese 70 Kg et utilise une technologie de reconnaissance de forme baseacute sur un reacuteseau

de cameacutera

La table Surface V2 quant agrave elle preacutesente un poids moindre (40 Kg) et donne la possibiliteacute drsquoecirctre orienteacute

et mecircme ecirctre disposeacutee sur un mur Une eacutepaisseur de seulement une dizaine de centimegravetre gracircce agrave

lrsquoutilisation de la technologie PixelSense

Evidemment la configuration mateacuterielle (le PC qui exeacutecute les applications) a aussi connu une cure de

jouvence Le systegraveme drsquoexploitation est logiquement changeacute pour passer de Windows Vista (v1) agrave

Windows 7 (v2)

En reacutesumeacute

Surface V10 Surface V20

Ecran 30rdquo XGA projecteur avec

surface polie

40rdquo LCD avec une vitre de

type Gorilla Glass

Reacutesolution 1024 768 1920 1080 (HD 1080p)

Technologie

multitouch

Reacuteseau de projecteur et de 5

cameacuteras

52 contacts simultaneacutes

PixelSense

50 contacts simultaneacutes

Dimensions 56 cm drsquoeacutepaisseur

686 cm de large pour la

surface

572 cm de large pour la

base

108 cm de long

10 cm drsquoeacutepaisseur

102 cm de diagonale

Poids 70 Kg 40 Kg

Disposition Horizontale Horizontale ou Verticale

(inclinable)

Processeur Intel Core 2 Duo (213 Ghz) AMD Athlon II X2 Dual-

Core Processor 29GHz

Carte

graphique

ATI X1650 AMD Radeon HD 6700M

RAM 2 Go DDR2 4 Go DDR3

Disque dur 250 Go SATA 7200 tmin 320 Go SATA 7200 tmin

Support HDMI Non Oui

Systegraveme Windows Vista Pro 32-bit Windows 7 Pro 64-bit

Coucirct 12 500 $ 9000 euro env 7 600 $ 5 400 euro env

Sources

httptechnetmicrosoftcomen-uslibraryee692114(Surface10)aspx

httpctlabsblogspotcom201101microsoft-surface-20-multi-touch-wonderhtml

httpenwikipediaorgwikiMicrosoft_SurfaceSurface_20

Aspect logiciel

Fondamentalement la technologie utiliseacutee reste identique puisqursquoil srsquoagit dans

les 2 versions drsquoun Framework baseacute sur WPF Il est eacutegalement possible de

reacutealiser des applications en XNA sur ce type de peacuteripheacuterique

Le gros point de diffeacuterence reacuteside dans la maniegravere de geacuterer les contacts qui dans

la premiegravere version eacutetaient des ContactEvent (avec des proprieacuteteacutes deacutedieacutees)

Le nouveau SDK ainsi que les outils de deacuteveloppement ou de simulation de la

table Surface ont eux aussi eacuteteacute mis agrave jour avec notamment un simulateur

ameacutelioreacute de la table

Enfin eacutevidemment le Framework Surface a eacuteteacute eacutetendu avec de nouveaux

controcircles et nouvelles possibiliteacutes disponibles agrave travers ce lien

httpwwwmicrosoftcomdownloadendetailsaspxid=26716

Concernant la migration drsquoune application Surface v1 vers Surface v2 pour les cas simples il est

possible drsquoutiliser le PowerToy fourni par Microsoft et preacutesenteacute agrave travers le lien suivant

httpmsdnmicrosoftcomen-uslibrarygg697146aspx

Consideacuterations pour vos applications pour la table Surface V10

La table Surface v10 repose sur une couche de capture des eacuteveacutenements qui srsquoopegravere au-dessus de

lrsquoapplication WPF Il faut alors pouvoir capturer ses contacts au-dessus des composants utiliseacutes et

bindeacutes ces derniers sur une manipulation WPF adapteacutee

Les solutions reposant sur lrsquoutilisation du controcircle WebBrowser ne peuvent pas fonctionner en

manipulation directe de la carte on ne peut donc pas capturer les contacts au-dessus drsquoun controcircle

WebBrowser classique

En effet ce controcircle existe depuis les anciennes versions du Framework et repose sur un controcircle Win32

et le rendu srsquoopegravere au dessus de tout controcircle WPF et eacutegalement au-dessus de la couche de capture des

contacts Degraves lors il est donc impossible drsquoobtenir un eacuteveacutenement de contact au-dessus de la page

heacutebergeacute par le controcircle WebBrowser

Evolution des deacuteveloppements

Les applications deacuteveloppeacutees pour la table Surface seront les mecircmes que ceux des tablettes Windows 7

ou des PC avec eacutecran tactiles Elles seront naturellement compatibles sur PC avec une simple souris

Ce qui inteacuteressant dans ce cas crsquoest la capaciteacute simple permettant de migrer une application sur un type

de support vers un autre et inversement Il est eacutegalement inteacuteressant de voir que lrsquointeacutegration de

controcircles avanceacutes se fera de maniegravere plus aiseacutee et surtout une meacutethode unique les consideacuterations

concernant lrsquointeacutegration de la cartographie en WPF se reacuteduisent puisqursquoil srsquoagit lagrave des mecircmes

deacuteveloppements

Attention toutefois les applications srsquoexeacutecutant sur une table Surface doivent agrave mon sens faire preuve

drsquoune reacuteflexion particuliegravere sur lrsquoutilisation qui va en ecirctre faite Il faut concevoir lrsquoapplication comme

eacutetant possiblement exploitable de nrsquoimporte quel cocircteacute de la table et surtout avec de lrsquoinformation

adapteacutee et lisible dans ce cas preacutesent Lrsquoutilisation simultaneacutee par plusieurs utilisateurs est eacutegalement un

eacuteleacutement dont il faut tenir compte et qui est agrave reacutefleacutechir

Conclusions

Lrsquoensemble de ces solutions techniques drsquointeacutegration de plateforme cartographique au sein drsquoapplication

WPF sont agrave consideacuterer en fonction du contexte final drsquoexeacutecution

En effet on ne peut pas aiseacutement deacutesigner LA solution parfaite pour tous les cas car lagrave ougrave pour certains

le besoin en support et eacutevolution du composant est primordial lrsquointeacutegration fine et le besoin de

customisation seront neacutegligeacutes et inversement

Par contre la solution utilisant le plugin 3d (Concierge ou controcircle InfoStratVE) ne doivent plus ecirctre

utiliseacutees pour de nouveaux projets et devront tregraves certainement subir une migration dans les mois agrave venir

agrave la fin de vie du plugin (novembre 2011)

Il eacutegalement agrave noter que dans ce type drsquointeacutegration il est toutefois neacutecessaire de conserver en tecircte

lrsquoaspect leacutegal et donc se rapprocher de Microsoft pour obtenir davantage drsquoinformation concernant les

licences drsquoutilisation de la plateforme Bing Maps for Enterprise

Autres pistes agrave explorer

Si vous avez en tecircte drsquoautres solutions drsquointeacutegration de lrsquoAPI Bing Maps ou plus geacuteneacuteralement de

cartographie au sein drsquoapplication WPF agrave laquelle je nrsquoaurai penseacute nrsquoheacutesitez pas agrave me contacter ou agrave

laisser un commentaire

Je nrsquoai pas preacutesenteacute la solution drsquointeacutegration de Google Earth API puisque je voulais des solutions

drsquointeacutegration de la plateforme Bing Maps for Enterprise principalement mais il est eacutevident que cela peut

ecirctre une solution possible drsquointeacutegration

La solution drsquointeacutegration ESRI nrsquoa pas non plus eacuteteacute preacutesenteacutee puisque leurs controcircles ne sont pas

librement accessibles en version drsquoeacutevaluation

Aussi si vous aussi vous rencontrez ce genre de besoin nrsquoheacutesitez pas agrave me contacter pour eacutechanger sur

le sujet

Page 3: Bing Maps for Enterprise – Inte gration dans une ... Maps for... · pointue des technologies WPF et Silverlight. Elle présente toutefois un avantage notable, elle permet en effet

A travers ce preacuteceacutedent article deacutedieacute agrave la reacutealisation drsquoapplication de cartographie agrave travers une

application WinForm etou WPF (Windows Presentation Foundation) nous avions deacutejagrave abordeacute certaines

techniques drsquoimpleacutementation en pondeacuterant chacune de ces solutions en fonction du contexte

Cet article a pour but drsquoaider les entreprises souhaitant effectuer la migration de leurs applications

existantes sur la table Surface (baseacutee sur lrsquoapplication Concierge le composant InfoStratVE ou

autreshellip) ou tout simplement inteacutegrer de la cartographie au sein drsquoapplication WPF ou WinForm

Au sein de Wygwam nous avons reacuteguliegraverement des demandes pour reacutealiser ce type

drsquoapplication ou de controcircle drsquointeacutegration permettant drsquoapporter des possibiliteacutes

cartographiques (affichage de carte utilisation des contenus) aux applicatifs utilisant la

technologie WPF

Crsquoest donc avec mon collegravegue Ludovic Czarnecki que jrsquoai pu tester les diffeacuterentes solutions techniques

preacutesenteacutees ci-dessous dans un contexte drsquoexeacutecution de la table Microsoft Surface V1

Nrsquoheacutesitez donc pas agrave nous contacter si vous avez ces besoins drsquointeacutegration ou si vous souhaitez

davantage drsquoinformations concernant une technique en particulier

Rappel des derniers eacuteveacutenements

Afin de comprendre la raison de cette mise agrave jour concernant les solutions drsquointeacutegration disponibles il

faut parcourir agrave nouveau lrsquoactualiteacute des derniers mois des technologies concerneacutees

Fin de vie du plugin 3D de la plateforme Bing Maps

Microsoft a annonceacute en novembre 2010 la fin de vie programmeacutee en novembre 2011 du plugin 3d

disponible depuis plusieurs anneacutees et surtout utilisable agrave travers lrsquoAPI en version 63

Ce plugin 3d est pourtant utiliseacute dans de nombreux cas pour inteacutegrer cette plateforme au sein

drsquoapplication WPF et plus particuliegraverement sur la table Surface V1

En effet lrsquoapplication Concierge mais eacutegalement le controcircle InfostratVE disponible sur CodePlex

utilisent ce plugin pour effectuer lrsquoaffichage

Degraves lors mecircme si ce plugin est installeacute (ou les assemblies neacutecessaires conserveacutees) rien ne garantit son

fonctionnement apregraves la date indiqueacutee notamment pour la reacutecupeacuteration du modegravele de terrain (DEM

Digital Elevation Model) ou pour les geacuteomeacutetries 3d des bacirctiments ou lieux connus

Bref le taux de peacuteneacutetration reacuteduit de ce plugin sur le poste grand public et lrsquoeacutevolution technologique ont

motiveacute Microsoft a stoppeacute lrsquoinvestissement sur ce dernier et agrave se concentrer sur drsquoautres possibiliteacutes de

preacutesentation et drsquoexploitation de ces informations et contenus 3D

Nouvelle version de la table Surface Surface 20

Lrsquoarriveacutee prochaine de la table Surface 20 avec une technologie diffeacuterente (voir plus bas) pour analyser

les contacts utilisateurs amegravene son lot de changement pour les deacuteveloppements reacutealiseacutes jusqursquoagrave preacutesent

La technologie logicielle impleacutementeacutee modifie eacutegalement les deacuteveloppements sur la table Surface

lrsquoensemble du SDK et du Framework deacutedieacute agrave ce produit en v2 a eacuteteacute modifieacute on nrsquoutilise par exemple

plus drsquoeacuteveacutenement de type Contact (speacutecifique agrave la table Surface v1) mais au contraire des eacuteveacutenements de

types Touch standard agrave lrsquoensemble des applications WPF deacutedieacutees au tactile

Reacutesumeacute des possibiliteacutes drsquointeacutegration

Drsquoune maniegravere geacuteneacuterale ces possibiliteacutes drsquointeacutegration concernent les applications WPF et WinForm

Les cas speacutecifiques associeacutes agrave la table Microsoft Surface sont abordeacutes plus bas

Voici avant de nous inteacuteresser aux deacutetails les diffeacuterentes techniques drsquoimpleacutementation listeacutees

Utilisation du WebBrowser et de lrsquoAPI Bing Maps AJAX v7

Utilisation du WebBrowser et du controcircle Silverlight de Bing Maps

Utilisation drsquoun navigateur alternatif et de lrsquoAPI Bing Maps AJAX V7

Utilisation drsquoun navigateur alternatif et du controcircle Silverlight

Utilisation drsquoune application Silverlight directement en WPF

Utilisation du plugin 3d agrave travers le controcircle InfoStratVE ndash CodePlex

Utilisation du controcircle GreatMaps for WPF ndash CodePlex

Utilisation drsquoun controcircle commercial deacutedieacute

o Controcircle Telerik ndash RadMap

Deacuteveloppement personnaliseacute natif WPF

Preacutesentation deacutetailleacutee des solutions techniques

Apregraves avoir reacutesumeacute les solutions nous allons nous inteacuteresser aux deacutetails drsquoimpleacutementation mais

eacutegalement aux avantages et inconveacutenients de chacun drsquoelles

Utilisation du WebBrowser et de lrsquoAPI Bing Maps AJAX v7

Description technique

Cette solution consiste agrave inteacutegrer une instance du controcircle WebBrowser qui charge une page HTML

distante ou un contenu HTML disponible en ressource inteacutegreacutee agrave lrsquoapplication

Il suffit alors ensuite drsquoutiliser les meacutethodes InvokeScript() sur le controcircle WebBrowser (ou

InvokeScript() sur la proprieacuteteacute Document du WebBrowser en WinForm) pour deacuteclencher du code

JavaScript depuis lrsquoapplication Net

Du cocircteacute client en JavaScript il suffit drsquoutiliser lrsquoeacuteleacutement windowexternal pour obtenir une reacutefeacuterence

vers lrsquoobjet passeacute dans la proprieacuteteacute ObjectForScripting du controcircle WebBrowser permettant ainsi de

pouvoir appeler les meacutethodes de lrsquoapplication Net depuis le code client

Analyse

Avantages Inconveacutenients

Meacutethode supporteacutee Inteacutegration graphique limiteacutee

Evolution aiseacutee des deacuteveloppements et

migration simple

Complexiteacute de deacuteveloppement

Inteacutegration simple du modegravele de licence de la

plateforme

Difficulteacutes possibles lors drsquoun

deacuteploiement multi-systegravemes

Mon avis

Cette solution permets drsquointeacutegrer une application cartographie utilisant le controcircle interactif Bing Maps

via lrsquoAPI AJAX v7 en utilisant des techniques connues pour le deacuteveloppement autour de lrsquoAPI

Le principal effort consiste agrave effectuer lrsquoensemble du code drsquointeropeacuterabiliteacute entre le

WebBrowserJavaScript et le code Net

Utilisation du WebBrowser et du controcircle Silverlight de Bing Maps

Description technique

En utilisant la mecircme technique que la preacuteceacutedente on charge cette fois une page contenant le controcircle

Silverlight de la plateforme Bing Maps

Voici un vue drsquoensemble de ce qui est opeacutereacute

Il suffit donc de reacutealise une application Net exposeacutee en COM et eacutetabli comme proprieacuteteacute

ObjectForScripting sur le composant WebBrowser

Le code JavaScript assure la communication entre lrsquoapplication WPF et le controcircle Silverlight

Le controcircle Silverlight expose ses meacutethodes comme eacutetant des ScriptableMember (en ajoutant

lrsquoattribut) et reacutefeacuterence lrsquoapplication comme ScriptableObject via la meacutethode

RegisterScriptableObject() du controcircle WebBrowser en permettant ainsi drsquoacceacuteder agrave ces diffeacuterents

attributs et meacutethodes

Analyse

Avantages Inconveacutenients

Meacutethode supporteacutee Inteacutegration graphique limiteacutee

Performances du controcircle Silverlight Complexiteacute important du deacuteveloppement

Possibiliteacute drsquointeacutegrer la logique applicative dans

lrsquoapplication Silverlight

Deacutependance au plugin Silverlight

Mon avis

Cette solution relativement proche de la preacuteceacutedente approche possegravede toujours les mecircmes limites en

termes drsquointeacutegration graphique mais permet drsquoexploiter les performances du controcircle Silverlight de Bing

Maps for Enterprise

La contrainte suppleacutementaire du plugin Silverlight augmente la complexiteacute du deacuteveloppement des

couches drsquointeropeacuterabiliteacutes (voir Article en 4 parties Bing Maps for Enterprise ndash Integration WPF

interopeacuterabiliteacute avec Silverlight) et neacutecessite une connaissance pointue des possibiliteacutes drsquointeropeacuterabiliteacute

de chaque brique applicative

Utilisation drsquoun navigateur alternatif et de lrsquoAPI Bing Maps AJAX V7

Description technique

A travers cette reacutealisation on souhaite utiliser le controcircle baseacute sur Chromium afin de charger la page

sous le mecircme mode que le WebBrowser standard

Avec ce controcircle on observe la possibiliteacute drsquointeacutegrer graphiquement le navigateur dans lrsquoapplication

WPF et drsquoopeacuterer des manipulations impossibles agrave reacutealiser avec le controcircle WebBrowser standard

rotation modification des dimensions transformations avanceacuteeshellip

Pour simplifier lrsquoutilisation de Chromium au sein drsquoune application WPF il est possible drsquoutiliser le

projet WPFChromium disponible via ces liens

Pour la version Net 30 et Net 35 httpwpfchromiumcodeplexcom

Pour la version Net 40 httpwpfchromium4codeplexcom

Analyse

Avantages Inconveacutenients

Inteacutegration graphique faciliteacutee Meacutethode non-supporteacutee

Utilisation du controcircle AJAX Complexiteacute de deacuteveloppement et

limitations drsquointeropeacuterabiliteacute

possibles

Inteacutegration simple du modegravele de

licence de la plateforme

Quid de lrsquoeacutevolution

Mon avis

Cette solution permets de srsquoaffranchir de la limite drsquointeacutegration graphique en effet avec le controcircle

navigateur alternatif il devient possible de le manipuler (taille orientationhellip) et surtout drsquoafficher des

eacuteleacutements par-dessus chose impossible en utilisant le controcircle WebBrowser de base

Cependant cette meacutethode preacutesente la limite preacutecise qursquoil srsquoagit drsquoune utilisation de composant non

supporteacute et drsquoune utilisation de lrsquoAPI AJAX de la plateforme Bing Maps for Enterprise dans un contexte

non supporteacute

Utilisation drsquoun navigateur alternatif et du controcircle Silverlight

Description technique

En utilisant le controcircle navigateur baseacute sur Chromium agrave travers le wrapper deacutedieacute on charge une

application simple inteacutegrant le controcircle Silverlight de la plateforme Bing Maps for Enterprise

Le projet WPFChromium preacutesenteacute avec la solution preacuteceacutedente permet de reacutealiser cette inteacutegration mais

peut amener des difficulteacutes de chargement du contenu Silverlight

Analyse

Avantages Inconveacutenients

Inteacutegration graphique faciliteacutee Meacutethode non-supporteacutee

Performances Problegraveme possible de compatibiliteacute

Silverlight

Possibiliteacute drsquointeacutegrer la logique

applicative dans lrsquoapplication

Silverlight

Evolution difficulteacute de

deacuteveloppement et limitations

drsquointeropeacuterabiliteacute possibles

Mon avis

Cette solution preacutesente de nombreux points de doutes avec notamment un gros souci de

compatibiliteacutesupport du controcircle navigateur tout comme le support Silverlight dans ce contexte

La complexiteacute de deacuteveloppement et les limitations possibles drsquointeropeacuterabiliteacute avec ce navigateur

alternatif devront faire lrsquoobjet drsquoune reflexion approfondie

Utilisation drsquoune application Silverlight directement en WPF

Description technique

En reacutealisant une application Silverlight inteacutegrant le controcircle Silverlight de Bing Maps for Enterprise on

utilise directement ce composant au sein de lrsquoapplication WPF

Pour cela plusieurs techniques possibles dont voici quelques liens utiles

httpmsdnmicrosoftcomen-uslibraryff921109(v=pandp40)aspx

httpblogsmsdncombclrteamarchive20091201sharing-silverlight-assemblies-with-net-

appsaspx

httpkarlshifflettwordpresscom20091119silverlight-3-4-library-sharing-with-net-4-0-

library-or-wpf

httpmsdnmicrosoftcomen-uslibrarycc903925(VS95)aspx

httpjmorrillhjtcentralcomHometabid428EntryId446Differences-between-WPF-and-

Silverlight-Rendering-Stacksaspx

Un projet CodePlex facilite cette inteacutegration il srsquoagit de SilverlightViewport deacuteveloppeacute par Jeremiah

Morrill (qui soit dit au passage est un vrai guru en WPF et autres technologies de preacutesentation)

Ce projet est disponible via ce lien httpsilverlightviewportcodeplexcom

Analyse

Avantages Inconveacutenients

Inteacutegration WPF Meacutethode non supporteacutee

Performance du controcircle Silverlight Complexiteacute de deacuteveloppement

Possibiliteacute drsquointeacutegrer la logique applicative

dans lrsquoapplication Silverlight

Deacutependance au plugin Silverlight

Mon avis

Cette technique drsquoimpleacutementation est assez deacutelicate agrave mettre en place et neacutecessite une connaissance

pointue des technologies WPF et Silverlight

Elle preacutesente toutefois un avantage notable elle permet en effet de srsquointeacutegrer de maniegravere parfaite en

WPF et nrsquoimpose pas de deacutependance agrave un quelconque controcircle navigateur

Utilisation du plugin 3d agrave travers le controcircle InfoStratVE ndash CodePlex

Description technique

Cette solution technique repose sur lrsquoutilisation du plugin 3d disponible avec la version 63 et qui est

utiliseacute au sein drsquoune surface Direct3D directement au sein de WPF

Le projet InfoStratVE disponible sur CodePlex et deacuteveloppeacute par InfoStrat fournit la couche de

manipulation entre WPF et le plugin 3D ce qui simplifie grandement la gestion des eacuteveacutenements et la

manipulation du composant natif

Analyse

Avantages Inconveacutenients

Utilisation du plugin 3D Fin de vie du plugin 3D

Performances Meacutethode non supporteacutee

Inteacutegration WPF et simpliciteacute du

deacuteveloppement

Nombre drsquoinstance simultaneacutee limiteacutee du

controcircle

Mon avis

Cette solution fonctionne agrave merveille et permets de proposer des performances eacuteleveacutees et une expeacuterience

3d qui se combine agrave merveille sur les applications Surface

Cependant la fin de vie programmeacutee du plugin 3D de la plateforme Bing Maps for Enterprise impose agrave

chacun de consideacuterer cette solution comme obsolegravete et mecircme agrave remplacer dans un futur proche compte

tenu de lrsquoeacutevolution prochaine de la plateforme relativement incertaine vis agrave vis de ce plugin 3D

Utilisation du controcircle GreatMaps for WPF ndash CodePlex

Description technique

La solution technique employeacutee utilise un controcircle natif WPF (ou WinForm et mecircme Windows

Mobile) qui repose sur un fonctionnement standard de geacuteneacuteration de tuile

Le controcircle est disponible au sein du projet GreatMap heacutebergeacute sur CodePlex rend possible

lrsquoaffichage de cartes chargeacutees sous formes de tuiles

Voici le lien vers ce projet httpgreatmapscodeplexcom

Analyse

Avantages Inconveacutenients

Inteacutegration WPF Support limiteacute

Simpliciteacute du deacuteveloppement et possibiliteacute

de changement de fournisseur de contenu

Evolution deacutelicate du controcircle vis agrave

vis des services de la plateforme

Performances

Mon avis

Cette solution meacuterite le deacutetour puisque dans la version actuelle on dispose drsquoun controcircle deacutedieacute agrave

WinForm et un autre agrave WPF

Le controcircle permet drsquoutiliser de multiples fournisseurs de carte (Bing Maps for Enterprise OSM

Google Mapshellip) et simplifie grandement le deacuteveloppement et lrsquointeacutegration drsquoune carte performante dans

vos applications WPF

Utilisation drsquoun controcircle commercial deacutedieacute ndash Telerik RadMap

Description technique

En utilisant le controcircle RadMap de la librairie proposeacutee par Telerik on obtient un composant

cartographique multifournisseur permettant drsquoafficher des cartes nativement en WPF

Le controcircle tente de reproduire le comportement et le rendu disponible dans celui proposeacute en Silverlight

reposant sur la technologie DeepZoom

Analyse

Avantages Inconveacutenients

Meacutethode supporteacutee par Telerik Performances et expeacuterience relativement

limiteacutees

Simpliciteacute de deacuteveloppement et possibiliteacute

de changement de fournisseur de contenu

Composant commercial et licence associeacutee

Inteacutegration WPF Evolution du composant

Mon avis

Cette solution commerciale preacutesente un controcircle simple agrave utiliser mais qui nrsquoapporte pas une expeacuterience

utilisateur suffisante pour approcher celle du controcircle AJAX ou Silverlight

Lrsquoaspect commercial de la solution nrsquoest eacutegalement pas lagrave pour simplifier la mise en place au sein drsquoun

projet client

Deacuteveloppement personnaliseacute natif WPF

Description technique

La solution la plus radicale consiste agrave recreacuteer soi-mecircme un controcircle en WPF natif utilisant des eacuteleacutements

standards pour charger une carte agrave travers un canvas deacutedieacute

Analyse

Avantages Inconveacutenients

Maitrise complegravete du deacuteveloppement Complexiteacute de deacuteveloppement

Inteacutegration WPF et performances Coucirct lieacute

Evolution du controcircle vis agrave vis de la

plateforme

Probleacutematique drsquoeacutevolution de

performances de test et charges

Mon avis

Certainement lrsquooption la plus permissive peu importe lrsquoexploitation du controcircle qui est faite cette

solution a cependant des inconveacutenients notables puisqursquoelle neacutecessite un deacuteveloppement personnaliseacute

qui peut tregraves vite devenir couteux en temps et tregraves deacutelicat agrave appreacutehender

Cas particuliers de la table Microsoft Surface

La table Surface de Microsoft se preacutesente agrave preacutesent en 2 versions distinctes que je choisis ici de

preacutesenter briegravevement Nous allons ensuite nous inteacuteresser au cas speacutecifique des applications srsquoexeacutecutant

sur ce type de peacuteripheacuterique

Le deacutetail complet et des articles explicatifs preacutecis sont disponibles sur la MSDN

httpmsdnmicrosoftcomen-uslibraryee804845(v=Surface10)aspx

La table Surface en version 1 (Microsoft Surface Table V1)

La premiegravere version a eacuteteacute rendue disponible agrave partir de 2009 et reposait sur une technologie de

reconnaissance de forme utilisant des cameacuteras inteacutegreacutees agrave la table qui se preacutesente comme cela

La table Surface en version 2 (Microsoft Surface Table V2)

La seconde version a eacuteteacute annonceacutee et devrait ecirctre commercialiseacutee dans le second semestre 2011

Pour reacutealiser la reconnaissance de forme et la deacutetection des interactions utilisateurs Samsung et

Microsoft ont mis au point une technologie baptiseacutee PixelSense qui srsquoappuie sur un reacuteseau de LED

Infrarouge et une couche de deacutetection optique capturant le reacutesultat reacutefleacutechie de lrsquoinfrarouge

Pour plus drsquoinformations sur la technologie PixelSense utiliseacutee au sein de cette Surface 20 nrsquoheacutesitez

pas agrave vous rendre sur le site deacutedieacute httpwwwmicrosoftcomsurfaceenuspixelsenseaspx

Principales diffeacuterences

Forme mateacuteriel et technologie

La table Surface V1 pegravese 70 Kg et utilise une technologie de reconnaissance de forme baseacute sur un reacuteseau

de cameacutera

La table Surface V2 quant agrave elle preacutesente un poids moindre (40 Kg) et donne la possibiliteacute drsquoecirctre orienteacute

et mecircme ecirctre disposeacutee sur un mur Une eacutepaisseur de seulement une dizaine de centimegravetre gracircce agrave

lrsquoutilisation de la technologie PixelSense

Evidemment la configuration mateacuterielle (le PC qui exeacutecute les applications) a aussi connu une cure de

jouvence Le systegraveme drsquoexploitation est logiquement changeacute pour passer de Windows Vista (v1) agrave

Windows 7 (v2)

En reacutesumeacute

Surface V10 Surface V20

Ecran 30rdquo XGA projecteur avec

surface polie

40rdquo LCD avec une vitre de

type Gorilla Glass

Reacutesolution 1024 768 1920 1080 (HD 1080p)

Technologie

multitouch

Reacuteseau de projecteur et de 5

cameacuteras

52 contacts simultaneacutes

PixelSense

50 contacts simultaneacutes

Dimensions 56 cm drsquoeacutepaisseur

686 cm de large pour la

surface

572 cm de large pour la

base

108 cm de long

10 cm drsquoeacutepaisseur

102 cm de diagonale

Poids 70 Kg 40 Kg

Disposition Horizontale Horizontale ou Verticale

(inclinable)

Processeur Intel Core 2 Duo (213 Ghz) AMD Athlon II X2 Dual-

Core Processor 29GHz

Carte

graphique

ATI X1650 AMD Radeon HD 6700M

RAM 2 Go DDR2 4 Go DDR3

Disque dur 250 Go SATA 7200 tmin 320 Go SATA 7200 tmin

Support HDMI Non Oui

Systegraveme Windows Vista Pro 32-bit Windows 7 Pro 64-bit

Coucirct 12 500 $ 9000 euro env 7 600 $ 5 400 euro env

Sources

httptechnetmicrosoftcomen-uslibraryee692114(Surface10)aspx

httpctlabsblogspotcom201101microsoft-surface-20-multi-touch-wonderhtml

httpenwikipediaorgwikiMicrosoft_SurfaceSurface_20

Aspect logiciel

Fondamentalement la technologie utiliseacutee reste identique puisqursquoil srsquoagit dans

les 2 versions drsquoun Framework baseacute sur WPF Il est eacutegalement possible de

reacutealiser des applications en XNA sur ce type de peacuteripheacuterique

Le gros point de diffeacuterence reacuteside dans la maniegravere de geacuterer les contacts qui dans

la premiegravere version eacutetaient des ContactEvent (avec des proprieacuteteacutes deacutedieacutees)

Le nouveau SDK ainsi que les outils de deacuteveloppement ou de simulation de la

table Surface ont eux aussi eacuteteacute mis agrave jour avec notamment un simulateur

ameacutelioreacute de la table

Enfin eacutevidemment le Framework Surface a eacuteteacute eacutetendu avec de nouveaux

controcircles et nouvelles possibiliteacutes disponibles agrave travers ce lien

httpwwwmicrosoftcomdownloadendetailsaspxid=26716

Concernant la migration drsquoune application Surface v1 vers Surface v2 pour les cas simples il est

possible drsquoutiliser le PowerToy fourni par Microsoft et preacutesenteacute agrave travers le lien suivant

httpmsdnmicrosoftcomen-uslibrarygg697146aspx

Consideacuterations pour vos applications pour la table Surface V10

La table Surface v10 repose sur une couche de capture des eacuteveacutenements qui srsquoopegravere au-dessus de

lrsquoapplication WPF Il faut alors pouvoir capturer ses contacts au-dessus des composants utiliseacutes et

bindeacutes ces derniers sur une manipulation WPF adapteacutee

Les solutions reposant sur lrsquoutilisation du controcircle WebBrowser ne peuvent pas fonctionner en

manipulation directe de la carte on ne peut donc pas capturer les contacts au-dessus drsquoun controcircle

WebBrowser classique

En effet ce controcircle existe depuis les anciennes versions du Framework et repose sur un controcircle Win32

et le rendu srsquoopegravere au dessus de tout controcircle WPF et eacutegalement au-dessus de la couche de capture des

contacts Degraves lors il est donc impossible drsquoobtenir un eacuteveacutenement de contact au-dessus de la page

heacutebergeacute par le controcircle WebBrowser

Evolution des deacuteveloppements

Les applications deacuteveloppeacutees pour la table Surface seront les mecircmes que ceux des tablettes Windows 7

ou des PC avec eacutecran tactiles Elles seront naturellement compatibles sur PC avec une simple souris

Ce qui inteacuteressant dans ce cas crsquoest la capaciteacute simple permettant de migrer une application sur un type

de support vers un autre et inversement Il est eacutegalement inteacuteressant de voir que lrsquointeacutegration de

controcircles avanceacutes se fera de maniegravere plus aiseacutee et surtout une meacutethode unique les consideacuterations

concernant lrsquointeacutegration de la cartographie en WPF se reacuteduisent puisqursquoil srsquoagit lagrave des mecircmes

deacuteveloppements

Attention toutefois les applications srsquoexeacutecutant sur une table Surface doivent agrave mon sens faire preuve

drsquoune reacuteflexion particuliegravere sur lrsquoutilisation qui va en ecirctre faite Il faut concevoir lrsquoapplication comme

eacutetant possiblement exploitable de nrsquoimporte quel cocircteacute de la table et surtout avec de lrsquoinformation

adapteacutee et lisible dans ce cas preacutesent Lrsquoutilisation simultaneacutee par plusieurs utilisateurs est eacutegalement un

eacuteleacutement dont il faut tenir compte et qui est agrave reacutefleacutechir

Conclusions

Lrsquoensemble de ces solutions techniques drsquointeacutegration de plateforme cartographique au sein drsquoapplication

WPF sont agrave consideacuterer en fonction du contexte final drsquoexeacutecution

En effet on ne peut pas aiseacutement deacutesigner LA solution parfaite pour tous les cas car lagrave ougrave pour certains

le besoin en support et eacutevolution du composant est primordial lrsquointeacutegration fine et le besoin de

customisation seront neacutegligeacutes et inversement

Par contre la solution utilisant le plugin 3d (Concierge ou controcircle InfoStratVE) ne doivent plus ecirctre

utiliseacutees pour de nouveaux projets et devront tregraves certainement subir une migration dans les mois agrave venir

agrave la fin de vie du plugin (novembre 2011)

Il eacutegalement agrave noter que dans ce type drsquointeacutegration il est toutefois neacutecessaire de conserver en tecircte

lrsquoaspect leacutegal et donc se rapprocher de Microsoft pour obtenir davantage drsquoinformation concernant les

licences drsquoutilisation de la plateforme Bing Maps for Enterprise

Autres pistes agrave explorer

Si vous avez en tecircte drsquoautres solutions drsquointeacutegration de lrsquoAPI Bing Maps ou plus geacuteneacuteralement de

cartographie au sein drsquoapplication WPF agrave laquelle je nrsquoaurai penseacute nrsquoheacutesitez pas agrave me contacter ou agrave

laisser un commentaire

Je nrsquoai pas preacutesenteacute la solution drsquointeacutegration de Google Earth API puisque je voulais des solutions

drsquointeacutegration de la plateforme Bing Maps for Enterprise principalement mais il est eacutevident que cela peut

ecirctre une solution possible drsquointeacutegration

La solution drsquointeacutegration ESRI nrsquoa pas non plus eacuteteacute preacutesenteacutee puisque leurs controcircles ne sont pas

librement accessibles en version drsquoeacutevaluation

Aussi si vous aussi vous rencontrez ce genre de besoin nrsquoheacutesitez pas agrave me contacter pour eacutechanger sur

le sujet

Page 4: Bing Maps for Enterprise – Inte gration dans une ... Maps for... · pointue des technologies WPF et Silverlight. Elle présente toutefois un avantage notable, elle permet en effet

Rappel des derniers eacuteveacutenements

Afin de comprendre la raison de cette mise agrave jour concernant les solutions drsquointeacutegration disponibles il

faut parcourir agrave nouveau lrsquoactualiteacute des derniers mois des technologies concerneacutees

Fin de vie du plugin 3D de la plateforme Bing Maps

Microsoft a annonceacute en novembre 2010 la fin de vie programmeacutee en novembre 2011 du plugin 3d

disponible depuis plusieurs anneacutees et surtout utilisable agrave travers lrsquoAPI en version 63

Ce plugin 3d est pourtant utiliseacute dans de nombreux cas pour inteacutegrer cette plateforme au sein

drsquoapplication WPF et plus particuliegraverement sur la table Surface V1

En effet lrsquoapplication Concierge mais eacutegalement le controcircle InfostratVE disponible sur CodePlex

utilisent ce plugin pour effectuer lrsquoaffichage

Degraves lors mecircme si ce plugin est installeacute (ou les assemblies neacutecessaires conserveacutees) rien ne garantit son

fonctionnement apregraves la date indiqueacutee notamment pour la reacutecupeacuteration du modegravele de terrain (DEM

Digital Elevation Model) ou pour les geacuteomeacutetries 3d des bacirctiments ou lieux connus

Bref le taux de peacuteneacutetration reacuteduit de ce plugin sur le poste grand public et lrsquoeacutevolution technologique ont

motiveacute Microsoft a stoppeacute lrsquoinvestissement sur ce dernier et agrave se concentrer sur drsquoautres possibiliteacutes de

preacutesentation et drsquoexploitation de ces informations et contenus 3D

Nouvelle version de la table Surface Surface 20

Lrsquoarriveacutee prochaine de la table Surface 20 avec une technologie diffeacuterente (voir plus bas) pour analyser

les contacts utilisateurs amegravene son lot de changement pour les deacuteveloppements reacutealiseacutes jusqursquoagrave preacutesent

La technologie logicielle impleacutementeacutee modifie eacutegalement les deacuteveloppements sur la table Surface

lrsquoensemble du SDK et du Framework deacutedieacute agrave ce produit en v2 a eacuteteacute modifieacute on nrsquoutilise par exemple

plus drsquoeacuteveacutenement de type Contact (speacutecifique agrave la table Surface v1) mais au contraire des eacuteveacutenements de

types Touch standard agrave lrsquoensemble des applications WPF deacutedieacutees au tactile

Reacutesumeacute des possibiliteacutes drsquointeacutegration

Drsquoune maniegravere geacuteneacuterale ces possibiliteacutes drsquointeacutegration concernent les applications WPF et WinForm

Les cas speacutecifiques associeacutes agrave la table Microsoft Surface sont abordeacutes plus bas

Voici avant de nous inteacuteresser aux deacutetails les diffeacuterentes techniques drsquoimpleacutementation listeacutees

Utilisation du WebBrowser et de lrsquoAPI Bing Maps AJAX v7

Utilisation du WebBrowser et du controcircle Silverlight de Bing Maps

Utilisation drsquoun navigateur alternatif et de lrsquoAPI Bing Maps AJAX V7

Utilisation drsquoun navigateur alternatif et du controcircle Silverlight

Utilisation drsquoune application Silverlight directement en WPF

Utilisation du plugin 3d agrave travers le controcircle InfoStratVE ndash CodePlex

Utilisation du controcircle GreatMaps for WPF ndash CodePlex

Utilisation drsquoun controcircle commercial deacutedieacute

o Controcircle Telerik ndash RadMap

Deacuteveloppement personnaliseacute natif WPF

Preacutesentation deacutetailleacutee des solutions techniques

Apregraves avoir reacutesumeacute les solutions nous allons nous inteacuteresser aux deacutetails drsquoimpleacutementation mais

eacutegalement aux avantages et inconveacutenients de chacun drsquoelles

Utilisation du WebBrowser et de lrsquoAPI Bing Maps AJAX v7

Description technique

Cette solution consiste agrave inteacutegrer une instance du controcircle WebBrowser qui charge une page HTML

distante ou un contenu HTML disponible en ressource inteacutegreacutee agrave lrsquoapplication

Il suffit alors ensuite drsquoutiliser les meacutethodes InvokeScript() sur le controcircle WebBrowser (ou

InvokeScript() sur la proprieacuteteacute Document du WebBrowser en WinForm) pour deacuteclencher du code

JavaScript depuis lrsquoapplication Net

Du cocircteacute client en JavaScript il suffit drsquoutiliser lrsquoeacuteleacutement windowexternal pour obtenir une reacutefeacuterence

vers lrsquoobjet passeacute dans la proprieacuteteacute ObjectForScripting du controcircle WebBrowser permettant ainsi de

pouvoir appeler les meacutethodes de lrsquoapplication Net depuis le code client

Analyse

Avantages Inconveacutenients

Meacutethode supporteacutee Inteacutegration graphique limiteacutee

Evolution aiseacutee des deacuteveloppements et

migration simple

Complexiteacute de deacuteveloppement

Inteacutegration simple du modegravele de licence de la

plateforme

Difficulteacutes possibles lors drsquoun

deacuteploiement multi-systegravemes

Mon avis

Cette solution permets drsquointeacutegrer une application cartographie utilisant le controcircle interactif Bing Maps

via lrsquoAPI AJAX v7 en utilisant des techniques connues pour le deacuteveloppement autour de lrsquoAPI

Le principal effort consiste agrave effectuer lrsquoensemble du code drsquointeropeacuterabiliteacute entre le

WebBrowserJavaScript et le code Net

Utilisation du WebBrowser et du controcircle Silverlight de Bing Maps

Description technique

En utilisant la mecircme technique que la preacuteceacutedente on charge cette fois une page contenant le controcircle

Silverlight de la plateforme Bing Maps

Voici un vue drsquoensemble de ce qui est opeacutereacute

Il suffit donc de reacutealise une application Net exposeacutee en COM et eacutetabli comme proprieacuteteacute

ObjectForScripting sur le composant WebBrowser

Le code JavaScript assure la communication entre lrsquoapplication WPF et le controcircle Silverlight

Le controcircle Silverlight expose ses meacutethodes comme eacutetant des ScriptableMember (en ajoutant

lrsquoattribut) et reacutefeacuterence lrsquoapplication comme ScriptableObject via la meacutethode

RegisterScriptableObject() du controcircle WebBrowser en permettant ainsi drsquoacceacuteder agrave ces diffeacuterents

attributs et meacutethodes

Analyse

Avantages Inconveacutenients

Meacutethode supporteacutee Inteacutegration graphique limiteacutee

Performances du controcircle Silverlight Complexiteacute important du deacuteveloppement

Possibiliteacute drsquointeacutegrer la logique applicative dans

lrsquoapplication Silverlight

Deacutependance au plugin Silverlight

Mon avis

Cette solution relativement proche de la preacuteceacutedente approche possegravede toujours les mecircmes limites en

termes drsquointeacutegration graphique mais permet drsquoexploiter les performances du controcircle Silverlight de Bing

Maps for Enterprise

La contrainte suppleacutementaire du plugin Silverlight augmente la complexiteacute du deacuteveloppement des

couches drsquointeropeacuterabiliteacutes (voir Article en 4 parties Bing Maps for Enterprise ndash Integration WPF

interopeacuterabiliteacute avec Silverlight) et neacutecessite une connaissance pointue des possibiliteacutes drsquointeropeacuterabiliteacute

de chaque brique applicative

Utilisation drsquoun navigateur alternatif et de lrsquoAPI Bing Maps AJAX V7

Description technique

A travers cette reacutealisation on souhaite utiliser le controcircle baseacute sur Chromium afin de charger la page

sous le mecircme mode que le WebBrowser standard

Avec ce controcircle on observe la possibiliteacute drsquointeacutegrer graphiquement le navigateur dans lrsquoapplication

WPF et drsquoopeacuterer des manipulations impossibles agrave reacutealiser avec le controcircle WebBrowser standard

rotation modification des dimensions transformations avanceacuteeshellip

Pour simplifier lrsquoutilisation de Chromium au sein drsquoune application WPF il est possible drsquoutiliser le

projet WPFChromium disponible via ces liens

Pour la version Net 30 et Net 35 httpwpfchromiumcodeplexcom

Pour la version Net 40 httpwpfchromium4codeplexcom

Analyse

Avantages Inconveacutenients

Inteacutegration graphique faciliteacutee Meacutethode non-supporteacutee

Utilisation du controcircle AJAX Complexiteacute de deacuteveloppement et

limitations drsquointeropeacuterabiliteacute

possibles

Inteacutegration simple du modegravele de

licence de la plateforme

Quid de lrsquoeacutevolution

Mon avis

Cette solution permets de srsquoaffranchir de la limite drsquointeacutegration graphique en effet avec le controcircle

navigateur alternatif il devient possible de le manipuler (taille orientationhellip) et surtout drsquoafficher des

eacuteleacutements par-dessus chose impossible en utilisant le controcircle WebBrowser de base

Cependant cette meacutethode preacutesente la limite preacutecise qursquoil srsquoagit drsquoune utilisation de composant non

supporteacute et drsquoune utilisation de lrsquoAPI AJAX de la plateforme Bing Maps for Enterprise dans un contexte

non supporteacute

Utilisation drsquoun navigateur alternatif et du controcircle Silverlight

Description technique

En utilisant le controcircle navigateur baseacute sur Chromium agrave travers le wrapper deacutedieacute on charge une

application simple inteacutegrant le controcircle Silverlight de la plateforme Bing Maps for Enterprise

Le projet WPFChromium preacutesenteacute avec la solution preacuteceacutedente permet de reacutealiser cette inteacutegration mais

peut amener des difficulteacutes de chargement du contenu Silverlight

Analyse

Avantages Inconveacutenients

Inteacutegration graphique faciliteacutee Meacutethode non-supporteacutee

Performances Problegraveme possible de compatibiliteacute

Silverlight

Possibiliteacute drsquointeacutegrer la logique

applicative dans lrsquoapplication

Silverlight

Evolution difficulteacute de

deacuteveloppement et limitations

drsquointeropeacuterabiliteacute possibles

Mon avis

Cette solution preacutesente de nombreux points de doutes avec notamment un gros souci de

compatibiliteacutesupport du controcircle navigateur tout comme le support Silverlight dans ce contexte

La complexiteacute de deacuteveloppement et les limitations possibles drsquointeropeacuterabiliteacute avec ce navigateur

alternatif devront faire lrsquoobjet drsquoune reflexion approfondie

Utilisation drsquoune application Silverlight directement en WPF

Description technique

En reacutealisant une application Silverlight inteacutegrant le controcircle Silverlight de Bing Maps for Enterprise on

utilise directement ce composant au sein de lrsquoapplication WPF

Pour cela plusieurs techniques possibles dont voici quelques liens utiles

httpmsdnmicrosoftcomen-uslibraryff921109(v=pandp40)aspx

httpblogsmsdncombclrteamarchive20091201sharing-silverlight-assemblies-with-net-

appsaspx

httpkarlshifflettwordpresscom20091119silverlight-3-4-library-sharing-with-net-4-0-

library-or-wpf

httpmsdnmicrosoftcomen-uslibrarycc903925(VS95)aspx

httpjmorrillhjtcentralcomHometabid428EntryId446Differences-between-WPF-and-

Silverlight-Rendering-Stacksaspx

Un projet CodePlex facilite cette inteacutegration il srsquoagit de SilverlightViewport deacuteveloppeacute par Jeremiah

Morrill (qui soit dit au passage est un vrai guru en WPF et autres technologies de preacutesentation)

Ce projet est disponible via ce lien httpsilverlightviewportcodeplexcom

Analyse

Avantages Inconveacutenients

Inteacutegration WPF Meacutethode non supporteacutee

Performance du controcircle Silverlight Complexiteacute de deacuteveloppement

Possibiliteacute drsquointeacutegrer la logique applicative

dans lrsquoapplication Silverlight

Deacutependance au plugin Silverlight

Mon avis

Cette technique drsquoimpleacutementation est assez deacutelicate agrave mettre en place et neacutecessite une connaissance

pointue des technologies WPF et Silverlight

Elle preacutesente toutefois un avantage notable elle permet en effet de srsquointeacutegrer de maniegravere parfaite en

WPF et nrsquoimpose pas de deacutependance agrave un quelconque controcircle navigateur

Utilisation du plugin 3d agrave travers le controcircle InfoStratVE ndash CodePlex

Description technique

Cette solution technique repose sur lrsquoutilisation du plugin 3d disponible avec la version 63 et qui est

utiliseacute au sein drsquoune surface Direct3D directement au sein de WPF

Le projet InfoStratVE disponible sur CodePlex et deacuteveloppeacute par InfoStrat fournit la couche de

manipulation entre WPF et le plugin 3D ce qui simplifie grandement la gestion des eacuteveacutenements et la

manipulation du composant natif

Analyse

Avantages Inconveacutenients

Utilisation du plugin 3D Fin de vie du plugin 3D

Performances Meacutethode non supporteacutee

Inteacutegration WPF et simpliciteacute du

deacuteveloppement

Nombre drsquoinstance simultaneacutee limiteacutee du

controcircle

Mon avis

Cette solution fonctionne agrave merveille et permets de proposer des performances eacuteleveacutees et une expeacuterience

3d qui se combine agrave merveille sur les applications Surface

Cependant la fin de vie programmeacutee du plugin 3D de la plateforme Bing Maps for Enterprise impose agrave

chacun de consideacuterer cette solution comme obsolegravete et mecircme agrave remplacer dans un futur proche compte

tenu de lrsquoeacutevolution prochaine de la plateforme relativement incertaine vis agrave vis de ce plugin 3D

Utilisation du controcircle GreatMaps for WPF ndash CodePlex

Description technique

La solution technique employeacutee utilise un controcircle natif WPF (ou WinForm et mecircme Windows

Mobile) qui repose sur un fonctionnement standard de geacuteneacuteration de tuile

Le controcircle est disponible au sein du projet GreatMap heacutebergeacute sur CodePlex rend possible

lrsquoaffichage de cartes chargeacutees sous formes de tuiles

Voici le lien vers ce projet httpgreatmapscodeplexcom

Analyse

Avantages Inconveacutenients

Inteacutegration WPF Support limiteacute

Simpliciteacute du deacuteveloppement et possibiliteacute

de changement de fournisseur de contenu

Evolution deacutelicate du controcircle vis agrave

vis des services de la plateforme

Performances

Mon avis

Cette solution meacuterite le deacutetour puisque dans la version actuelle on dispose drsquoun controcircle deacutedieacute agrave

WinForm et un autre agrave WPF

Le controcircle permet drsquoutiliser de multiples fournisseurs de carte (Bing Maps for Enterprise OSM

Google Mapshellip) et simplifie grandement le deacuteveloppement et lrsquointeacutegration drsquoune carte performante dans

vos applications WPF

Utilisation drsquoun controcircle commercial deacutedieacute ndash Telerik RadMap

Description technique

En utilisant le controcircle RadMap de la librairie proposeacutee par Telerik on obtient un composant

cartographique multifournisseur permettant drsquoafficher des cartes nativement en WPF

Le controcircle tente de reproduire le comportement et le rendu disponible dans celui proposeacute en Silverlight

reposant sur la technologie DeepZoom

Analyse

Avantages Inconveacutenients

Meacutethode supporteacutee par Telerik Performances et expeacuterience relativement

limiteacutees

Simpliciteacute de deacuteveloppement et possibiliteacute

de changement de fournisseur de contenu

Composant commercial et licence associeacutee

Inteacutegration WPF Evolution du composant

Mon avis

Cette solution commerciale preacutesente un controcircle simple agrave utiliser mais qui nrsquoapporte pas une expeacuterience

utilisateur suffisante pour approcher celle du controcircle AJAX ou Silverlight

Lrsquoaspect commercial de la solution nrsquoest eacutegalement pas lagrave pour simplifier la mise en place au sein drsquoun

projet client

Deacuteveloppement personnaliseacute natif WPF

Description technique

La solution la plus radicale consiste agrave recreacuteer soi-mecircme un controcircle en WPF natif utilisant des eacuteleacutements

standards pour charger une carte agrave travers un canvas deacutedieacute

Analyse

Avantages Inconveacutenients

Maitrise complegravete du deacuteveloppement Complexiteacute de deacuteveloppement

Inteacutegration WPF et performances Coucirct lieacute

Evolution du controcircle vis agrave vis de la

plateforme

Probleacutematique drsquoeacutevolution de

performances de test et charges

Mon avis

Certainement lrsquooption la plus permissive peu importe lrsquoexploitation du controcircle qui est faite cette

solution a cependant des inconveacutenients notables puisqursquoelle neacutecessite un deacuteveloppement personnaliseacute

qui peut tregraves vite devenir couteux en temps et tregraves deacutelicat agrave appreacutehender

Cas particuliers de la table Microsoft Surface

La table Surface de Microsoft se preacutesente agrave preacutesent en 2 versions distinctes que je choisis ici de

preacutesenter briegravevement Nous allons ensuite nous inteacuteresser au cas speacutecifique des applications srsquoexeacutecutant

sur ce type de peacuteripheacuterique

Le deacutetail complet et des articles explicatifs preacutecis sont disponibles sur la MSDN

httpmsdnmicrosoftcomen-uslibraryee804845(v=Surface10)aspx

La table Surface en version 1 (Microsoft Surface Table V1)

La premiegravere version a eacuteteacute rendue disponible agrave partir de 2009 et reposait sur une technologie de

reconnaissance de forme utilisant des cameacuteras inteacutegreacutees agrave la table qui se preacutesente comme cela

La table Surface en version 2 (Microsoft Surface Table V2)

La seconde version a eacuteteacute annonceacutee et devrait ecirctre commercialiseacutee dans le second semestre 2011

Pour reacutealiser la reconnaissance de forme et la deacutetection des interactions utilisateurs Samsung et

Microsoft ont mis au point une technologie baptiseacutee PixelSense qui srsquoappuie sur un reacuteseau de LED

Infrarouge et une couche de deacutetection optique capturant le reacutesultat reacutefleacutechie de lrsquoinfrarouge

Pour plus drsquoinformations sur la technologie PixelSense utiliseacutee au sein de cette Surface 20 nrsquoheacutesitez

pas agrave vous rendre sur le site deacutedieacute httpwwwmicrosoftcomsurfaceenuspixelsenseaspx

Principales diffeacuterences

Forme mateacuteriel et technologie

La table Surface V1 pegravese 70 Kg et utilise une technologie de reconnaissance de forme baseacute sur un reacuteseau

de cameacutera

La table Surface V2 quant agrave elle preacutesente un poids moindre (40 Kg) et donne la possibiliteacute drsquoecirctre orienteacute

et mecircme ecirctre disposeacutee sur un mur Une eacutepaisseur de seulement une dizaine de centimegravetre gracircce agrave

lrsquoutilisation de la technologie PixelSense

Evidemment la configuration mateacuterielle (le PC qui exeacutecute les applications) a aussi connu une cure de

jouvence Le systegraveme drsquoexploitation est logiquement changeacute pour passer de Windows Vista (v1) agrave

Windows 7 (v2)

En reacutesumeacute

Surface V10 Surface V20

Ecran 30rdquo XGA projecteur avec

surface polie

40rdquo LCD avec une vitre de

type Gorilla Glass

Reacutesolution 1024 768 1920 1080 (HD 1080p)

Technologie

multitouch

Reacuteseau de projecteur et de 5

cameacuteras

52 contacts simultaneacutes

PixelSense

50 contacts simultaneacutes

Dimensions 56 cm drsquoeacutepaisseur

686 cm de large pour la

surface

572 cm de large pour la

base

108 cm de long

10 cm drsquoeacutepaisseur

102 cm de diagonale

Poids 70 Kg 40 Kg

Disposition Horizontale Horizontale ou Verticale

(inclinable)

Processeur Intel Core 2 Duo (213 Ghz) AMD Athlon II X2 Dual-

Core Processor 29GHz

Carte

graphique

ATI X1650 AMD Radeon HD 6700M

RAM 2 Go DDR2 4 Go DDR3

Disque dur 250 Go SATA 7200 tmin 320 Go SATA 7200 tmin

Support HDMI Non Oui

Systegraveme Windows Vista Pro 32-bit Windows 7 Pro 64-bit

Coucirct 12 500 $ 9000 euro env 7 600 $ 5 400 euro env

Sources

httptechnetmicrosoftcomen-uslibraryee692114(Surface10)aspx

httpctlabsblogspotcom201101microsoft-surface-20-multi-touch-wonderhtml

httpenwikipediaorgwikiMicrosoft_SurfaceSurface_20

Aspect logiciel

Fondamentalement la technologie utiliseacutee reste identique puisqursquoil srsquoagit dans

les 2 versions drsquoun Framework baseacute sur WPF Il est eacutegalement possible de

reacutealiser des applications en XNA sur ce type de peacuteripheacuterique

Le gros point de diffeacuterence reacuteside dans la maniegravere de geacuterer les contacts qui dans

la premiegravere version eacutetaient des ContactEvent (avec des proprieacuteteacutes deacutedieacutees)

Le nouveau SDK ainsi que les outils de deacuteveloppement ou de simulation de la

table Surface ont eux aussi eacuteteacute mis agrave jour avec notamment un simulateur

ameacutelioreacute de la table

Enfin eacutevidemment le Framework Surface a eacuteteacute eacutetendu avec de nouveaux

controcircles et nouvelles possibiliteacutes disponibles agrave travers ce lien

httpwwwmicrosoftcomdownloadendetailsaspxid=26716

Concernant la migration drsquoune application Surface v1 vers Surface v2 pour les cas simples il est

possible drsquoutiliser le PowerToy fourni par Microsoft et preacutesenteacute agrave travers le lien suivant

httpmsdnmicrosoftcomen-uslibrarygg697146aspx

Consideacuterations pour vos applications pour la table Surface V10

La table Surface v10 repose sur une couche de capture des eacuteveacutenements qui srsquoopegravere au-dessus de

lrsquoapplication WPF Il faut alors pouvoir capturer ses contacts au-dessus des composants utiliseacutes et

bindeacutes ces derniers sur une manipulation WPF adapteacutee

Les solutions reposant sur lrsquoutilisation du controcircle WebBrowser ne peuvent pas fonctionner en

manipulation directe de la carte on ne peut donc pas capturer les contacts au-dessus drsquoun controcircle

WebBrowser classique

En effet ce controcircle existe depuis les anciennes versions du Framework et repose sur un controcircle Win32

et le rendu srsquoopegravere au dessus de tout controcircle WPF et eacutegalement au-dessus de la couche de capture des

contacts Degraves lors il est donc impossible drsquoobtenir un eacuteveacutenement de contact au-dessus de la page

heacutebergeacute par le controcircle WebBrowser

Evolution des deacuteveloppements

Les applications deacuteveloppeacutees pour la table Surface seront les mecircmes que ceux des tablettes Windows 7

ou des PC avec eacutecran tactiles Elles seront naturellement compatibles sur PC avec une simple souris

Ce qui inteacuteressant dans ce cas crsquoest la capaciteacute simple permettant de migrer une application sur un type

de support vers un autre et inversement Il est eacutegalement inteacuteressant de voir que lrsquointeacutegration de

controcircles avanceacutes se fera de maniegravere plus aiseacutee et surtout une meacutethode unique les consideacuterations

concernant lrsquointeacutegration de la cartographie en WPF se reacuteduisent puisqursquoil srsquoagit lagrave des mecircmes

deacuteveloppements

Attention toutefois les applications srsquoexeacutecutant sur une table Surface doivent agrave mon sens faire preuve

drsquoune reacuteflexion particuliegravere sur lrsquoutilisation qui va en ecirctre faite Il faut concevoir lrsquoapplication comme

eacutetant possiblement exploitable de nrsquoimporte quel cocircteacute de la table et surtout avec de lrsquoinformation

adapteacutee et lisible dans ce cas preacutesent Lrsquoutilisation simultaneacutee par plusieurs utilisateurs est eacutegalement un

eacuteleacutement dont il faut tenir compte et qui est agrave reacutefleacutechir

Conclusions

Lrsquoensemble de ces solutions techniques drsquointeacutegration de plateforme cartographique au sein drsquoapplication

WPF sont agrave consideacuterer en fonction du contexte final drsquoexeacutecution

En effet on ne peut pas aiseacutement deacutesigner LA solution parfaite pour tous les cas car lagrave ougrave pour certains

le besoin en support et eacutevolution du composant est primordial lrsquointeacutegration fine et le besoin de

customisation seront neacutegligeacutes et inversement

Par contre la solution utilisant le plugin 3d (Concierge ou controcircle InfoStratVE) ne doivent plus ecirctre

utiliseacutees pour de nouveaux projets et devront tregraves certainement subir une migration dans les mois agrave venir

agrave la fin de vie du plugin (novembre 2011)

Il eacutegalement agrave noter que dans ce type drsquointeacutegration il est toutefois neacutecessaire de conserver en tecircte

lrsquoaspect leacutegal et donc se rapprocher de Microsoft pour obtenir davantage drsquoinformation concernant les

licences drsquoutilisation de la plateforme Bing Maps for Enterprise

Autres pistes agrave explorer

Si vous avez en tecircte drsquoautres solutions drsquointeacutegration de lrsquoAPI Bing Maps ou plus geacuteneacuteralement de

cartographie au sein drsquoapplication WPF agrave laquelle je nrsquoaurai penseacute nrsquoheacutesitez pas agrave me contacter ou agrave

laisser un commentaire

Je nrsquoai pas preacutesenteacute la solution drsquointeacutegration de Google Earth API puisque je voulais des solutions

drsquointeacutegration de la plateforme Bing Maps for Enterprise principalement mais il est eacutevident que cela peut

ecirctre une solution possible drsquointeacutegration

La solution drsquointeacutegration ESRI nrsquoa pas non plus eacuteteacute preacutesenteacutee puisque leurs controcircles ne sont pas

librement accessibles en version drsquoeacutevaluation

Aussi si vous aussi vous rencontrez ce genre de besoin nrsquoheacutesitez pas agrave me contacter pour eacutechanger sur

le sujet

Page 5: Bing Maps for Enterprise – Inte gration dans une ... Maps for... · pointue des technologies WPF et Silverlight. Elle présente toutefois un avantage notable, elle permet en effet

Nouvelle version de la table Surface Surface 20

Lrsquoarriveacutee prochaine de la table Surface 20 avec une technologie diffeacuterente (voir plus bas) pour analyser

les contacts utilisateurs amegravene son lot de changement pour les deacuteveloppements reacutealiseacutes jusqursquoagrave preacutesent

La technologie logicielle impleacutementeacutee modifie eacutegalement les deacuteveloppements sur la table Surface

lrsquoensemble du SDK et du Framework deacutedieacute agrave ce produit en v2 a eacuteteacute modifieacute on nrsquoutilise par exemple

plus drsquoeacuteveacutenement de type Contact (speacutecifique agrave la table Surface v1) mais au contraire des eacuteveacutenements de

types Touch standard agrave lrsquoensemble des applications WPF deacutedieacutees au tactile

Reacutesumeacute des possibiliteacutes drsquointeacutegration

Drsquoune maniegravere geacuteneacuterale ces possibiliteacutes drsquointeacutegration concernent les applications WPF et WinForm

Les cas speacutecifiques associeacutes agrave la table Microsoft Surface sont abordeacutes plus bas

Voici avant de nous inteacuteresser aux deacutetails les diffeacuterentes techniques drsquoimpleacutementation listeacutees

Utilisation du WebBrowser et de lrsquoAPI Bing Maps AJAX v7

Utilisation du WebBrowser et du controcircle Silverlight de Bing Maps

Utilisation drsquoun navigateur alternatif et de lrsquoAPI Bing Maps AJAX V7

Utilisation drsquoun navigateur alternatif et du controcircle Silverlight

Utilisation drsquoune application Silverlight directement en WPF

Utilisation du plugin 3d agrave travers le controcircle InfoStratVE ndash CodePlex

Utilisation du controcircle GreatMaps for WPF ndash CodePlex

Utilisation drsquoun controcircle commercial deacutedieacute

o Controcircle Telerik ndash RadMap

Deacuteveloppement personnaliseacute natif WPF

Preacutesentation deacutetailleacutee des solutions techniques

Apregraves avoir reacutesumeacute les solutions nous allons nous inteacuteresser aux deacutetails drsquoimpleacutementation mais

eacutegalement aux avantages et inconveacutenients de chacun drsquoelles

Utilisation du WebBrowser et de lrsquoAPI Bing Maps AJAX v7

Description technique

Cette solution consiste agrave inteacutegrer une instance du controcircle WebBrowser qui charge une page HTML

distante ou un contenu HTML disponible en ressource inteacutegreacutee agrave lrsquoapplication

Il suffit alors ensuite drsquoutiliser les meacutethodes InvokeScript() sur le controcircle WebBrowser (ou

InvokeScript() sur la proprieacuteteacute Document du WebBrowser en WinForm) pour deacuteclencher du code

JavaScript depuis lrsquoapplication Net

Du cocircteacute client en JavaScript il suffit drsquoutiliser lrsquoeacuteleacutement windowexternal pour obtenir une reacutefeacuterence

vers lrsquoobjet passeacute dans la proprieacuteteacute ObjectForScripting du controcircle WebBrowser permettant ainsi de

pouvoir appeler les meacutethodes de lrsquoapplication Net depuis le code client

Analyse

Avantages Inconveacutenients

Meacutethode supporteacutee Inteacutegration graphique limiteacutee

Evolution aiseacutee des deacuteveloppements et

migration simple

Complexiteacute de deacuteveloppement

Inteacutegration simple du modegravele de licence de la

plateforme

Difficulteacutes possibles lors drsquoun

deacuteploiement multi-systegravemes

Mon avis

Cette solution permets drsquointeacutegrer une application cartographie utilisant le controcircle interactif Bing Maps

via lrsquoAPI AJAX v7 en utilisant des techniques connues pour le deacuteveloppement autour de lrsquoAPI

Le principal effort consiste agrave effectuer lrsquoensemble du code drsquointeropeacuterabiliteacute entre le

WebBrowserJavaScript et le code Net

Utilisation du WebBrowser et du controcircle Silverlight de Bing Maps

Description technique

En utilisant la mecircme technique que la preacuteceacutedente on charge cette fois une page contenant le controcircle

Silverlight de la plateforme Bing Maps

Voici un vue drsquoensemble de ce qui est opeacutereacute

Il suffit donc de reacutealise une application Net exposeacutee en COM et eacutetabli comme proprieacuteteacute

ObjectForScripting sur le composant WebBrowser

Le code JavaScript assure la communication entre lrsquoapplication WPF et le controcircle Silverlight

Le controcircle Silverlight expose ses meacutethodes comme eacutetant des ScriptableMember (en ajoutant

lrsquoattribut) et reacutefeacuterence lrsquoapplication comme ScriptableObject via la meacutethode

RegisterScriptableObject() du controcircle WebBrowser en permettant ainsi drsquoacceacuteder agrave ces diffeacuterents

attributs et meacutethodes

Analyse

Avantages Inconveacutenients

Meacutethode supporteacutee Inteacutegration graphique limiteacutee

Performances du controcircle Silverlight Complexiteacute important du deacuteveloppement

Possibiliteacute drsquointeacutegrer la logique applicative dans

lrsquoapplication Silverlight

Deacutependance au plugin Silverlight

Mon avis

Cette solution relativement proche de la preacuteceacutedente approche possegravede toujours les mecircmes limites en

termes drsquointeacutegration graphique mais permet drsquoexploiter les performances du controcircle Silverlight de Bing

Maps for Enterprise

La contrainte suppleacutementaire du plugin Silverlight augmente la complexiteacute du deacuteveloppement des

couches drsquointeropeacuterabiliteacutes (voir Article en 4 parties Bing Maps for Enterprise ndash Integration WPF

interopeacuterabiliteacute avec Silverlight) et neacutecessite une connaissance pointue des possibiliteacutes drsquointeropeacuterabiliteacute

de chaque brique applicative

Utilisation drsquoun navigateur alternatif et de lrsquoAPI Bing Maps AJAX V7

Description technique

A travers cette reacutealisation on souhaite utiliser le controcircle baseacute sur Chromium afin de charger la page

sous le mecircme mode que le WebBrowser standard

Avec ce controcircle on observe la possibiliteacute drsquointeacutegrer graphiquement le navigateur dans lrsquoapplication

WPF et drsquoopeacuterer des manipulations impossibles agrave reacutealiser avec le controcircle WebBrowser standard

rotation modification des dimensions transformations avanceacuteeshellip

Pour simplifier lrsquoutilisation de Chromium au sein drsquoune application WPF il est possible drsquoutiliser le

projet WPFChromium disponible via ces liens

Pour la version Net 30 et Net 35 httpwpfchromiumcodeplexcom

Pour la version Net 40 httpwpfchromium4codeplexcom

Analyse

Avantages Inconveacutenients

Inteacutegration graphique faciliteacutee Meacutethode non-supporteacutee

Utilisation du controcircle AJAX Complexiteacute de deacuteveloppement et

limitations drsquointeropeacuterabiliteacute

possibles

Inteacutegration simple du modegravele de

licence de la plateforme

Quid de lrsquoeacutevolution

Mon avis

Cette solution permets de srsquoaffranchir de la limite drsquointeacutegration graphique en effet avec le controcircle

navigateur alternatif il devient possible de le manipuler (taille orientationhellip) et surtout drsquoafficher des

eacuteleacutements par-dessus chose impossible en utilisant le controcircle WebBrowser de base

Cependant cette meacutethode preacutesente la limite preacutecise qursquoil srsquoagit drsquoune utilisation de composant non

supporteacute et drsquoune utilisation de lrsquoAPI AJAX de la plateforme Bing Maps for Enterprise dans un contexte

non supporteacute

Utilisation drsquoun navigateur alternatif et du controcircle Silverlight

Description technique

En utilisant le controcircle navigateur baseacute sur Chromium agrave travers le wrapper deacutedieacute on charge une

application simple inteacutegrant le controcircle Silverlight de la plateforme Bing Maps for Enterprise

Le projet WPFChromium preacutesenteacute avec la solution preacuteceacutedente permet de reacutealiser cette inteacutegration mais

peut amener des difficulteacutes de chargement du contenu Silverlight

Analyse

Avantages Inconveacutenients

Inteacutegration graphique faciliteacutee Meacutethode non-supporteacutee

Performances Problegraveme possible de compatibiliteacute

Silverlight

Possibiliteacute drsquointeacutegrer la logique

applicative dans lrsquoapplication

Silverlight

Evolution difficulteacute de

deacuteveloppement et limitations

drsquointeropeacuterabiliteacute possibles

Mon avis

Cette solution preacutesente de nombreux points de doutes avec notamment un gros souci de

compatibiliteacutesupport du controcircle navigateur tout comme le support Silverlight dans ce contexte

La complexiteacute de deacuteveloppement et les limitations possibles drsquointeropeacuterabiliteacute avec ce navigateur

alternatif devront faire lrsquoobjet drsquoune reflexion approfondie

Utilisation drsquoune application Silverlight directement en WPF

Description technique

En reacutealisant une application Silverlight inteacutegrant le controcircle Silverlight de Bing Maps for Enterprise on

utilise directement ce composant au sein de lrsquoapplication WPF

Pour cela plusieurs techniques possibles dont voici quelques liens utiles

httpmsdnmicrosoftcomen-uslibraryff921109(v=pandp40)aspx

httpblogsmsdncombclrteamarchive20091201sharing-silverlight-assemblies-with-net-

appsaspx

httpkarlshifflettwordpresscom20091119silverlight-3-4-library-sharing-with-net-4-0-

library-or-wpf

httpmsdnmicrosoftcomen-uslibrarycc903925(VS95)aspx

httpjmorrillhjtcentralcomHometabid428EntryId446Differences-between-WPF-and-

Silverlight-Rendering-Stacksaspx

Un projet CodePlex facilite cette inteacutegration il srsquoagit de SilverlightViewport deacuteveloppeacute par Jeremiah

Morrill (qui soit dit au passage est un vrai guru en WPF et autres technologies de preacutesentation)

Ce projet est disponible via ce lien httpsilverlightviewportcodeplexcom

Analyse

Avantages Inconveacutenients

Inteacutegration WPF Meacutethode non supporteacutee

Performance du controcircle Silverlight Complexiteacute de deacuteveloppement

Possibiliteacute drsquointeacutegrer la logique applicative

dans lrsquoapplication Silverlight

Deacutependance au plugin Silverlight

Mon avis

Cette technique drsquoimpleacutementation est assez deacutelicate agrave mettre en place et neacutecessite une connaissance

pointue des technologies WPF et Silverlight

Elle preacutesente toutefois un avantage notable elle permet en effet de srsquointeacutegrer de maniegravere parfaite en

WPF et nrsquoimpose pas de deacutependance agrave un quelconque controcircle navigateur

Utilisation du plugin 3d agrave travers le controcircle InfoStratVE ndash CodePlex

Description technique

Cette solution technique repose sur lrsquoutilisation du plugin 3d disponible avec la version 63 et qui est

utiliseacute au sein drsquoune surface Direct3D directement au sein de WPF

Le projet InfoStratVE disponible sur CodePlex et deacuteveloppeacute par InfoStrat fournit la couche de

manipulation entre WPF et le plugin 3D ce qui simplifie grandement la gestion des eacuteveacutenements et la

manipulation du composant natif

Analyse

Avantages Inconveacutenients

Utilisation du plugin 3D Fin de vie du plugin 3D

Performances Meacutethode non supporteacutee

Inteacutegration WPF et simpliciteacute du

deacuteveloppement

Nombre drsquoinstance simultaneacutee limiteacutee du

controcircle

Mon avis

Cette solution fonctionne agrave merveille et permets de proposer des performances eacuteleveacutees et une expeacuterience

3d qui se combine agrave merveille sur les applications Surface

Cependant la fin de vie programmeacutee du plugin 3D de la plateforme Bing Maps for Enterprise impose agrave

chacun de consideacuterer cette solution comme obsolegravete et mecircme agrave remplacer dans un futur proche compte

tenu de lrsquoeacutevolution prochaine de la plateforme relativement incertaine vis agrave vis de ce plugin 3D

Utilisation du controcircle GreatMaps for WPF ndash CodePlex

Description technique

La solution technique employeacutee utilise un controcircle natif WPF (ou WinForm et mecircme Windows

Mobile) qui repose sur un fonctionnement standard de geacuteneacuteration de tuile

Le controcircle est disponible au sein du projet GreatMap heacutebergeacute sur CodePlex rend possible

lrsquoaffichage de cartes chargeacutees sous formes de tuiles

Voici le lien vers ce projet httpgreatmapscodeplexcom

Analyse

Avantages Inconveacutenients

Inteacutegration WPF Support limiteacute

Simpliciteacute du deacuteveloppement et possibiliteacute

de changement de fournisseur de contenu

Evolution deacutelicate du controcircle vis agrave

vis des services de la plateforme

Performances

Mon avis

Cette solution meacuterite le deacutetour puisque dans la version actuelle on dispose drsquoun controcircle deacutedieacute agrave

WinForm et un autre agrave WPF

Le controcircle permet drsquoutiliser de multiples fournisseurs de carte (Bing Maps for Enterprise OSM

Google Mapshellip) et simplifie grandement le deacuteveloppement et lrsquointeacutegration drsquoune carte performante dans

vos applications WPF

Utilisation drsquoun controcircle commercial deacutedieacute ndash Telerik RadMap

Description technique

En utilisant le controcircle RadMap de la librairie proposeacutee par Telerik on obtient un composant

cartographique multifournisseur permettant drsquoafficher des cartes nativement en WPF

Le controcircle tente de reproduire le comportement et le rendu disponible dans celui proposeacute en Silverlight

reposant sur la technologie DeepZoom

Analyse

Avantages Inconveacutenients

Meacutethode supporteacutee par Telerik Performances et expeacuterience relativement

limiteacutees

Simpliciteacute de deacuteveloppement et possibiliteacute

de changement de fournisseur de contenu

Composant commercial et licence associeacutee

Inteacutegration WPF Evolution du composant

Mon avis

Cette solution commerciale preacutesente un controcircle simple agrave utiliser mais qui nrsquoapporte pas une expeacuterience

utilisateur suffisante pour approcher celle du controcircle AJAX ou Silverlight

Lrsquoaspect commercial de la solution nrsquoest eacutegalement pas lagrave pour simplifier la mise en place au sein drsquoun

projet client

Deacuteveloppement personnaliseacute natif WPF

Description technique

La solution la plus radicale consiste agrave recreacuteer soi-mecircme un controcircle en WPF natif utilisant des eacuteleacutements

standards pour charger une carte agrave travers un canvas deacutedieacute

Analyse

Avantages Inconveacutenients

Maitrise complegravete du deacuteveloppement Complexiteacute de deacuteveloppement

Inteacutegration WPF et performances Coucirct lieacute

Evolution du controcircle vis agrave vis de la

plateforme

Probleacutematique drsquoeacutevolution de

performances de test et charges

Mon avis

Certainement lrsquooption la plus permissive peu importe lrsquoexploitation du controcircle qui est faite cette

solution a cependant des inconveacutenients notables puisqursquoelle neacutecessite un deacuteveloppement personnaliseacute

qui peut tregraves vite devenir couteux en temps et tregraves deacutelicat agrave appreacutehender

Cas particuliers de la table Microsoft Surface

La table Surface de Microsoft se preacutesente agrave preacutesent en 2 versions distinctes que je choisis ici de

preacutesenter briegravevement Nous allons ensuite nous inteacuteresser au cas speacutecifique des applications srsquoexeacutecutant

sur ce type de peacuteripheacuterique

Le deacutetail complet et des articles explicatifs preacutecis sont disponibles sur la MSDN

httpmsdnmicrosoftcomen-uslibraryee804845(v=Surface10)aspx

La table Surface en version 1 (Microsoft Surface Table V1)

La premiegravere version a eacuteteacute rendue disponible agrave partir de 2009 et reposait sur une technologie de

reconnaissance de forme utilisant des cameacuteras inteacutegreacutees agrave la table qui se preacutesente comme cela

La table Surface en version 2 (Microsoft Surface Table V2)

La seconde version a eacuteteacute annonceacutee et devrait ecirctre commercialiseacutee dans le second semestre 2011

Pour reacutealiser la reconnaissance de forme et la deacutetection des interactions utilisateurs Samsung et

Microsoft ont mis au point une technologie baptiseacutee PixelSense qui srsquoappuie sur un reacuteseau de LED

Infrarouge et une couche de deacutetection optique capturant le reacutesultat reacutefleacutechie de lrsquoinfrarouge

Pour plus drsquoinformations sur la technologie PixelSense utiliseacutee au sein de cette Surface 20 nrsquoheacutesitez

pas agrave vous rendre sur le site deacutedieacute httpwwwmicrosoftcomsurfaceenuspixelsenseaspx

Principales diffeacuterences

Forme mateacuteriel et technologie

La table Surface V1 pegravese 70 Kg et utilise une technologie de reconnaissance de forme baseacute sur un reacuteseau

de cameacutera

La table Surface V2 quant agrave elle preacutesente un poids moindre (40 Kg) et donne la possibiliteacute drsquoecirctre orienteacute

et mecircme ecirctre disposeacutee sur un mur Une eacutepaisseur de seulement une dizaine de centimegravetre gracircce agrave

lrsquoutilisation de la technologie PixelSense

Evidemment la configuration mateacuterielle (le PC qui exeacutecute les applications) a aussi connu une cure de

jouvence Le systegraveme drsquoexploitation est logiquement changeacute pour passer de Windows Vista (v1) agrave

Windows 7 (v2)

En reacutesumeacute

Surface V10 Surface V20

Ecran 30rdquo XGA projecteur avec

surface polie

40rdquo LCD avec une vitre de

type Gorilla Glass

Reacutesolution 1024 768 1920 1080 (HD 1080p)

Technologie

multitouch

Reacuteseau de projecteur et de 5

cameacuteras

52 contacts simultaneacutes

PixelSense

50 contacts simultaneacutes

Dimensions 56 cm drsquoeacutepaisseur

686 cm de large pour la

surface

572 cm de large pour la

base

108 cm de long

10 cm drsquoeacutepaisseur

102 cm de diagonale

Poids 70 Kg 40 Kg

Disposition Horizontale Horizontale ou Verticale

(inclinable)

Processeur Intel Core 2 Duo (213 Ghz) AMD Athlon II X2 Dual-

Core Processor 29GHz

Carte

graphique

ATI X1650 AMD Radeon HD 6700M

RAM 2 Go DDR2 4 Go DDR3

Disque dur 250 Go SATA 7200 tmin 320 Go SATA 7200 tmin

Support HDMI Non Oui

Systegraveme Windows Vista Pro 32-bit Windows 7 Pro 64-bit

Coucirct 12 500 $ 9000 euro env 7 600 $ 5 400 euro env

Sources

httptechnetmicrosoftcomen-uslibraryee692114(Surface10)aspx

httpctlabsblogspotcom201101microsoft-surface-20-multi-touch-wonderhtml

httpenwikipediaorgwikiMicrosoft_SurfaceSurface_20

Aspect logiciel

Fondamentalement la technologie utiliseacutee reste identique puisqursquoil srsquoagit dans

les 2 versions drsquoun Framework baseacute sur WPF Il est eacutegalement possible de

reacutealiser des applications en XNA sur ce type de peacuteripheacuterique

Le gros point de diffeacuterence reacuteside dans la maniegravere de geacuterer les contacts qui dans

la premiegravere version eacutetaient des ContactEvent (avec des proprieacuteteacutes deacutedieacutees)

Le nouveau SDK ainsi que les outils de deacuteveloppement ou de simulation de la

table Surface ont eux aussi eacuteteacute mis agrave jour avec notamment un simulateur

ameacutelioreacute de la table

Enfin eacutevidemment le Framework Surface a eacuteteacute eacutetendu avec de nouveaux

controcircles et nouvelles possibiliteacutes disponibles agrave travers ce lien

httpwwwmicrosoftcomdownloadendetailsaspxid=26716

Concernant la migration drsquoune application Surface v1 vers Surface v2 pour les cas simples il est

possible drsquoutiliser le PowerToy fourni par Microsoft et preacutesenteacute agrave travers le lien suivant

httpmsdnmicrosoftcomen-uslibrarygg697146aspx

Consideacuterations pour vos applications pour la table Surface V10

La table Surface v10 repose sur une couche de capture des eacuteveacutenements qui srsquoopegravere au-dessus de

lrsquoapplication WPF Il faut alors pouvoir capturer ses contacts au-dessus des composants utiliseacutes et

bindeacutes ces derniers sur une manipulation WPF adapteacutee

Les solutions reposant sur lrsquoutilisation du controcircle WebBrowser ne peuvent pas fonctionner en

manipulation directe de la carte on ne peut donc pas capturer les contacts au-dessus drsquoun controcircle

WebBrowser classique

En effet ce controcircle existe depuis les anciennes versions du Framework et repose sur un controcircle Win32

et le rendu srsquoopegravere au dessus de tout controcircle WPF et eacutegalement au-dessus de la couche de capture des

contacts Degraves lors il est donc impossible drsquoobtenir un eacuteveacutenement de contact au-dessus de la page

heacutebergeacute par le controcircle WebBrowser

Evolution des deacuteveloppements

Les applications deacuteveloppeacutees pour la table Surface seront les mecircmes que ceux des tablettes Windows 7

ou des PC avec eacutecran tactiles Elles seront naturellement compatibles sur PC avec une simple souris

Ce qui inteacuteressant dans ce cas crsquoest la capaciteacute simple permettant de migrer une application sur un type

de support vers un autre et inversement Il est eacutegalement inteacuteressant de voir que lrsquointeacutegration de

controcircles avanceacutes se fera de maniegravere plus aiseacutee et surtout une meacutethode unique les consideacuterations

concernant lrsquointeacutegration de la cartographie en WPF se reacuteduisent puisqursquoil srsquoagit lagrave des mecircmes

deacuteveloppements

Attention toutefois les applications srsquoexeacutecutant sur une table Surface doivent agrave mon sens faire preuve

drsquoune reacuteflexion particuliegravere sur lrsquoutilisation qui va en ecirctre faite Il faut concevoir lrsquoapplication comme

eacutetant possiblement exploitable de nrsquoimporte quel cocircteacute de la table et surtout avec de lrsquoinformation

adapteacutee et lisible dans ce cas preacutesent Lrsquoutilisation simultaneacutee par plusieurs utilisateurs est eacutegalement un

eacuteleacutement dont il faut tenir compte et qui est agrave reacutefleacutechir

Conclusions

Lrsquoensemble de ces solutions techniques drsquointeacutegration de plateforme cartographique au sein drsquoapplication

WPF sont agrave consideacuterer en fonction du contexte final drsquoexeacutecution

En effet on ne peut pas aiseacutement deacutesigner LA solution parfaite pour tous les cas car lagrave ougrave pour certains

le besoin en support et eacutevolution du composant est primordial lrsquointeacutegration fine et le besoin de

customisation seront neacutegligeacutes et inversement

Par contre la solution utilisant le plugin 3d (Concierge ou controcircle InfoStratVE) ne doivent plus ecirctre

utiliseacutees pour de nouveaux projets et devront tregraves certainement subir une migration dans les mois agrave venir

agrave la fin de vie du plugin (novembre 2011)

Il eacutegalement agrave noter que dans ce type drsquointeacutegration il est toutefois neacutecessaire de conserver en tecircte

lrsquoaspect leacutegal et donc se rapprocher de Microsoft pour obtenir davantage drsquoinformation concernant les

licences drsquoutilisation de la plateforme Bing Maps for Enterprise

Autres pistes agrave explorer

Si vous avez en tecircte drsquoautres solutions drsquointeacutegration de lrsquoAPI Bing Maps ou plus geacuteneacuteralement de

cartographie au sein drsquoapplication WPF agrave laquelle je nrsquoaurai penseacute nrsquoheacutesitez pas agrave me contacter ou agrave

laisser un commentaire

Je nrsquoai pas preacutesenteacute la solution drsquointeacutegration de Google Earth API puisque je voulais des solutions

drsquointeacutegration de la plateforme Bing Maps for Enterprise principalement mais il est eacutevident que cela peut

ecirctre une solution possible drsquointeacutegration

La solution drsquointeacutegration ESRI nrsquoa pas non plus eacuteteacute preacutesenteacutee puisque leurs controcircles ne sont pas

librement accessibles en version drsquoeacutevaluation

Aussi si vous aussi vous rencontrez ce genre de besoin nrsquoheacutesitez pas agrave me contacter pour eacutechanger sur

le sujet

Page 6: Bing Maps for Enterprise – Inte gration dans une ... Maps for... · pointue des technologies WPF et Silverlight. Elle présente toutefois un avantage notable, elle permet en effet

Reacutesumeacute des possibiliteacutes drsquointeacutegration

Drsquoune maniegravere geacuteneacuterale ces possibiliteacutes drsquointeacutegration concernent les applications WPF et WinForm

Les cas speacutecifiques associeacutes agrave la table Microsoft Surface sont abordeacutes plus bas

Voici avant de nous inteacuteresser aux deacutetails les diffeacuterentes techniques drsquoimpleacutementation listeacutees

Utilisation du WebBrowser et de lrsquoAPI Bing Maps AJAX v7

Utilisation du WebBrowser et du controcircle Silverlight de Bing Maps

Utilisation drsquoun navigateur alternatif et de lrsquoAPI Bing Maps AJAX V7

Utilisation drsquoun navigateur alternatif et du controcircle Silverlight

Utilisation drsquoune application Silverlight directement en WPF

Utilisation du plugin 3d agrave travers le controcircle InfoStratVE ndash CodePlex

Utilisation du controcircle GreatMaps for WPF ndash CodePlex

Utilisation drsquoun controcircle commercial deacutedieacute

o Controcircle Telerik ndash RadMap

Deacuteveloppement personnaliseacute natif WPF

Preacutesentation deacutetailleacutee des solutions techniques

Apregraves avoir reacutesumeacute les solutions nous allons nous inteacuteresser aux deacutetails drsquoimpleacutementation mais

eacutegalement aux avantages et inconveacutenients de chacun drsquoelles

Utilisation du WebBrowser et de lrsquoAPI Bing Maps AJAX v7

Description technique

Cette solution consiste agrave inteacutegrer une instance du controcircle WebBrowser qui charge une page HTML

distante ou un contenu HTML disponible en ressource inteacutegreacutee agrave lrsquoapplication

Il suffit alors ensuite drsquoutiliser les meacutethodes InvokeScript() sur le controcircle WebBrowser (ou

InvokeScript() sur la proprieacuteteacute Document du WebBrowser en WinForm) pour deacuteclencher du code

JavaScript depuis lrsquoapplication Net

Du cocircteacute client en JavaScript il suffit drsquoutiliser lrsquoeacuteleacutement windowexternal pour obtenir une reacutefeacuterence

vers lrsquoobjet passeacute dans la proprieacuteteacute ObjectForScripting du controcircle WebBrowser permettant ainsi de

pouvoir appeler les meacutethodes de lrsquoapplication Net depuis le code client

Analyse

Avantages Inconveacutenients

Meacutethode supporteacutee Inteacutegration graphique limiteacutee

Evolution aiseacutee des deacuteveloppements et

migration simple

Complexiteacute de deacuteveloppement

Inteacutegration simple du modegravele de licence de la

plateforme

Difficulteacutes possibles lors drsquoun

deacuteploiement multi-systegravemes

Mon avis

Cette solution permets drsquointeacutegrer une application cartographie utilisant le controcircle interactif Bing Maps

via lrsquoAPI AJAX v7 en utilisant des techniques connues pour le deacuteveloppement autour de lrsquoAPI

Le principal effort consiste agrave effectuer lrsquoensemble du code drsquointeropeacuterabiliteacute entre le

WebBrowserJavaScript et le code Net

Utilisation du WebBrowser et du controcircle Silverlight de Bing Maps

Description technique

En utilisant la mecircme technique que la preacuteceacutedente on charge cette fois une page contenant le controcircle

Silverlight de la plateforme Bing Maps

Voici un vue drsquoensemble de ce qui est opeacutereacute

Il suffit donc de reacutealise une application Net exposeacutee en COM et eacutetabli comme proprieacuteteacute

ObjectForScripting sur le composant WebBrowser

Le code JavaScript assure la communication entre lrsquoapplication WPF et le controcircle Silverlight

Le controcircle Silverlight expose ses meacutethodes comme eacutetant des ScriptableMember (en ajoutant

lrsquoattribut) et reacutefeacuterence lrsquoapplication comme ScriptableObject via la meacutethode

RegisterScriptableObject() du controcircle WebBrowser en permettant ainsi drsquoacceacuteder agrave ces diffeacuterents

attributs et meacutethodes

Analyse

Avantages Inconveacutenients

Meacutethode supporteacutee Inteacutegration graphique limiteacutee

Performances du controcircle Silverlight Complexiteacute important du deacuteveloppement

Possibiliteacute drsquointeacutegrer la logique applicative dans

lrsquoapplication Silverlight

Deacutependance au plugin Silverlight

Mon avis

Cette solution relativement proche de la preacuteceacutedente approche possegravede toujours les mecircmes limites en

termes drsquointeacutegration graphique mais permet drsquoexploiter les performances du controcircle Silverlight de Bing

Maps for Enterprise

La contrainte suppleacutementaire du plugin Silverlight augmente la complexiteacute du deacuteveloppement des

couches drsquointeropeacuterabiliteacutes (voir Article en 4 parties Bing Maps for Enterprise ndash Integration WPF

interopeacuterabiliteacute avec Silverlight) et neacutecessite une connaissance pointue des possibiliteacutes drsquointeropeacuterabiliteacute

de chaque brique applicative

Utilisation drsquoun navigateur alternatif et de lrsquoAPI Bing Maps AJAX V7

Description technique

A travers cette reacutealisation on souhaite utiliser le controcircle baseacute sur Chromium afin de charger la page

sous le mecircme mode que le WebBrowser standard

Avec ce controcircle on observe la possibiliteacute drsquointeacutegrer graphiquement le navigateur dans lrsquoapplication

WPF et drsquoopeacuterer des manipulations impossibles agrave reacutealiser avec le controcircle WebBrowser standard

rotation modification des dimensions transformations avanceacuteeshellip

Pour simplifier lrsquoutilisation de Chromium au sein drsquoune application WPF il est possible drsquoutiliser le

projet WPFChromium disponible via ces liens

Pour la version Net 30 et Net 35 httpwpfchromiumcodeplexcom

Pour la version Net 40 httpwpfchromium4codeplexcom

Analyse

Avantages Inconveacutenients

Inteacutegration graphique faciliteacutee Meacutethode non-supporteacutee

Utilisation du controcircle AJAX Complexiteacute de deacuteveloppement et

limitations drsquointeropeacuterabiliteacute

possibles

Inteacutegration simple du modegravele de

licence de la plateforme

Quid de lrsquoeacutevolution

Mon avis

Cette solution permets de srsquoaffranchir de la limite drsquointeacutegration graphique en effet avec le controcircle

navigateur alternatif il devient possible de le manipuler (taille orientationhellip) et surtout drsquoafficher des

eacuteleacutements par-dessus chose impossible en utilisant le controcircle WebBrowser de base

Cependant cette meacutethode preacutesente la limite preacutecise qursquoil srsquoagit drsquoune utilisation de composant non

supporteacute et drsquoune utilisation de lrsquoAPI AJAX de la plateforme Bing Maps for Enterprise dans un contexte

non supporteacute

Utilisation drsquoun navigateur alternatif et du controcircle Silverlight

Description technique

En utilisant le controcircle navigateur baseacute sur Chromium agrave travers le wrapper deacutedieacute on charge une

application simple inteacutegrant le controcircle Silverlight de la plateforme Bing Maps for Enterprise

Le projet WPFChromium preacutesenteacute avec la solution preacuteceacutedente permet de reacutealiser cette inteacutegration mais

peut amener des difficulteacutes de chargement du contenu Silverlight

Analyse

Avantages Inconveacutenients

Inteacutegration graphique faciliteacutee Meacutethode non-supporteacutee

Performances Problegraveme possible de compatibiliteacute

Silverlight

Possibiliteacute drsquointeacutegrer la logique

applicative dans lrsquoapplication

Silverlight

Evolution difficulteacute de

deacuteveloppement et limitations

drsquointeropeacuterabiliteacute possibles

Mon avis

Cette solution preacutesente de nombreux points de doutes avec notamment un gros souci de

compatibiliteacutesupport du controcircle navigateur tout comme le support Silverlight dans ce contexte

La complexiteacute de deacuteveloppement et les limitations possibles drsquointeropeacuterabiliteacute avec ce navigateur

alternatif devront faire lrsquoobjet drsquoune reflexion approfondie

Utilisation drsquoune application Silverlight directement en WPF

Description technique

En reacutealisant une application Silverlight inteacutegrant le controcircle Silverlight de Bing Maps for Enterprise on

utilise directement ce composant au sein de lrsquoapplication WPF

Pour cela plusieurs techniques possibles dont voici quelques liens utiles

httpmsdnmicrosoftcomen-uslibraryff921109(v=pandp40)aspx

httpblogsmsdncombclrteamarchive20091201sharing-silverlight-assemblies-with-net-

appsaspx

httpkarlshifflettwordpresscom20091119silverlight-3-4-library-sharing-with-net-4-0-

library-or-wpf

httpmsdnmicrosoftcomen-uslibrarycc903925(VS95)aspx

httpjmorrillhjtcentralcomHometabid428EntryId446Differences-between-WPF-and-

Silverlight-Rendering-Stacksaspx

Un projet CodePlex facilite cette inteacutegration il srsquoagit de SilverlightViewport deacuteveloppeacute par Jeremiah

Morrill (qui soit dit au passage est un vrai guru en WPF et autres technologies de preacutesentation)

Ce projet est disponible via ce lien httpsilverlightviewportcodeplexcom

Analyse

Avantages Inconveacutenients

Inteacutegration WPF Meacutethode non supporteacutee

Performance du controcircle Silverlight Complexiteacute de deacuteveloppement

Possibiliteacute drsquointeacutegrer la logique applicative

dans lrsquoapplication Silverlight

Deacutependance au plugin Silverlight

Mon avis

Cette technique drsquoimpleacutementation est assez deacutelicate agrave mettre en place et neacutecessite une connaissance

pointue des technologies WPF et Silverlight

Elle preacutesente toutefois un avantage notable elle permet en effet de srsquointeacutegrer de maniegravere parfaite en

WPF et nrsquoimpose pas de deacutependance agrave un quelconque controcircle navigateur

Utilisation du plugin 3d agrave travers le controcircle InfoStratVE ndash CodePlex

Description technique

Cette solution technique repose sur lrsquoutilisation du plugin 3d disponible avec la version 63 et qui est

utiliseacute au sein drsquoune surface Direct3D directement au sein de WPF

Le projet InfoStratVE disponible sur CodePlex et deacuteveloppeacute par InfoStrat fournit la couche de

manipulation entre WPF et le plugin 3D ce qui simplifie grandement la gestion des eacuteveacutenements et la

manipulation du composant natif

Analyse

Avantages Inconveacutenients

Utilisation du plugin 3D Fin de vie du plugin 3D

Performances Meacutethode non supporteacutee

Inteacutegration WPF et simpliciteacute du

deacuteveloppement

Nombre drsquoinstance simultaneacutee limiteacutee du

controcircle

Mon avis

Cette solution fonctionne agrave merveille et permets de proposer des performances eacuteleveacutees et une expeacuterience

3d qui se combine agrave merveille sur les applications Surface

Cependant la fin de vie programmeacutee du plugin 3D de la plateforme Bing Maps for Enterprise impose agrave

chacun de consideacuterer cette solution comme obsolegravete et mecircme agrave remplacer dans un futur proche compte

tenu de lrsquoeacutevolution prochaine de la plateforme relativement incertaine vis agrave vis de ce plugin 3D

Utilisation du controcircle GreatMaps for WPF ndash CodePlex

Description technique

La solution technique employeacutee utilise un controcircle natif WPF (ou WinForm et mecircme Windows

Mobile) qui repose sur un fonctionnement standard de geacuteneacuteration de tuile

Le controcircle est disponible au sein du projet GreatMap heacutebergeacute sur CodePlex rend possible

lrsquoaffichage de cartes chargeacutees sous formes de tuiles

Voici le lien vers ce projet httpgreatmapscodeplexcom

Analyse

Avantages Inconveacutenients

Inteacutegration WPF Support limiteacute

Simpliciteacute du deacuteveloppement et possibiliteacute

de changement de fournisseur de contenu

Evolution deacutelicate du controcircle vis agrave

vis des services de la plateforme

Performances

Mon avis

Cette solution meacuterite le deacutetour puisque dans la version actuelle on dispose drsquoun controcircle deacutedieacute agrave

WinForm et un autre agrave WPF

Le controcircle permet drsquoutiliser de multiples fournisseurs de carte (Bing Maps for Enterprise OSM

Google Mapshellip) et simplifie grandement le deacuteveloppement et lrsquointeacutegration drsquoune carte performante dans

vos applications WPF

Utilisation drsquoun controcircle commercial deacutedieacute ndash Telerik RadMap

Description technique

En utilisant le controcircle RadMap de la librairie proposeacutee par Telerik on obtient un composant

cartographique multifournisseur permettant drsquoafficher des cartes nativement en WPF

Le controcircle tente de reproduire le comportement et le rendu disponible dans celui proposeacute en Silverlight

reposant sur la technologie DeepZoom

Analyse

Avantages Inconveacutenients

Meacutethode supporteacutee par Telerik Performances et expeacuterience relativement

limiteacutees

Simpliciteacute de deacuteveloppement et possibiliteacute

de changement de fournisseur de contenu

Composant commercial et licence associeacutee

Inteacutegration WPF Evolution du composant

Mon avis

Cette solution commerciale preacutesente un controcircle simple agrave utiliser mais qui nrsquoapporte pas une expeacuterience

utilisateur suffisante pour approcher celle du controcircle AJAX ou Silverlight

Lrsquoaspect commercial de la solution nrsquoest eacutegalement pas lagrave pour simplifier la mise en place au sein drsquoun

projet client

Deacuteveloppement personnaliseacute natif WPF

Description technique

La solution la plus radicale consiste agrave recreacuteer soi-mecircme un controcircle en WPF natif utilisant des eacuteleacutements

standards pour charger une carte agrave travers un canvas deacutedieacute

Analyse

Avantages Inconveacutenients

Maitrise complegravete du deacuteveloppement Complexiteacute de deacuteveloppement

Inteacutegration WPF et performances Coucirct lieacute

Evolution du controcircle vis agrave vis de la

plateforme

Probleacutematique drsquoeacutevolution de

performances de test et charges

Mon avis

Certainement lrsquooption la plus permissive peu importe lrsquoexploitation du controcircle qui est faite cette

solution a cependant des inconveacutenients notables puisqursquoelle neacutecessite un deacuteveloppement personnaliseacute

qui peut tregraves vite devenir couteux en temps et tregraves deacutelicat agrave appreacutehender

Cas particuliers de la table Microsoft Surface

La table Surface de Microsoft se preacutesente agrave preacutesent en 2 versions distinctes que je choisis ici de

preacutesenter briegravevement Nous allons ensuite nous inteacuteresser au cas speacutecifique des applications srsquoexeacutecutant

sur ce type de peacuteripheacuterique

Le deacutetail complet et des articles explicatifs preacutecis sont disponibles sur la MSDN

httpmsdnmicrosoftcomen-uslibraryee804845(v=Surface10)aspx

La table Surface en version 1 (Microsoft Surface Table V1)

La premiegravere version a eacuteteacute rendue disponible agrave partir de 2009 et reposait sur une technologie de

reconnaissance de forme utilisant des cameacuteras inteacutegreacutees agrave la table qui se preacutesente comme cela

La table Surface en version 2 (Microsoft Surface Table V2)

La seconde version a eacuteteacute annonceacutee et devrait ecirctre commercialiseacutee dans le second semestre 2011

Pour reacutealiser la reconnaissance de forme et la deacutetection des interactions utilisateurs Samsung et

Microsoft ont mis au point une technologie baptiseacutee PixelSense qui srsquoappuie sur un reacuteseau de LED

Infrarouge et une couche de deacutetection optique capturant le reacutesultat reacutefleacutechie de lrsquoinfrarouge

Pour plus drsquoinformations sur la technologie PixelSense utiliseacutee au sein de cette Surface 20 nrsquoheacutesitez

pas agrave vous rendre sur le site deacutedieacute httpwwwmicrosoftcomsurfaceenuspixelsenseaspx

Principales diffeacuterences

Forme mateacuteriel et technologie

La table Surface V1 pegravese 70 Kg et utilise une technologie de reconnaissance de forme baseacute sur un reacuteseau

de cameacutera

La table Surface V2 quant agrave elle preacutesente un poids moindre (40 Kg) et donne la possibiliteacute drsquoecirctre orienteacute

et mecircme ecirctre disposeacutee sur un mur Une eacutepaisseur de seulement une dizaine de centimegravetre gracircce agrave

lrsquoutilisation de la technologie PixelSense

Evidemment la configuration mateacuterielle (le PC qui exeacutecute les applications) a aussi connu une cure de

jouvence Le systegraveme drsquoexploitation est logiquement changeacute pour passer de Windows Vista (v1) agrave

Windows 7 (v2)

En reacutesumeacute

Surface V10 Surface V20

Ecran 30rdquo XGA projecteur avec

surface polie

40rdquo LCD avec une vitre de

type Gorilla Glass

Reacutesolution 1024 768 1920 1080 (HD 1080p)

Technologie

multitouch

Reacuteseau de projecteur et de 5

cameacuteras

52 contacts simultaneacutes

PixelSense

50 contacts simultaneacutes

Dimensions 56 cm drsquoeacutepaisseur

686 cm de large pour la

surface

572 cm de large pour la

base

108 cm de long

10 cm drsquoeacutepaisseur

102 cm de diagonale

Poids 70 Kg 40 Kg

Disposition Horizontale Horizontale ou Verticale

(inclinable)

Processeur Intel Core 2 Duo (213 Ghz) AMD Athlon II X2 Dual-

Core Processor 29GHz

Carte

graphique

ATI X1650 AMD Radeon HD 6700M

RAM 2 Go DDR2 4 Go DDR3

Disque dur 250 Go SATA 7200 tmin 320 Go SATA 7200 tmin

Support HDMI Non Oui

Systegraveme Windows Vista Pro 32-bit Windows 7 Pro 64-bit

Coucirct 12 500 $ 9000 euro env 7 600 $ 5 400 euro env

Sources

httptechnetmicrosoftcomen-uslibraryee692114(Surface10)aspx

httpctlabsblogspotcom201101microsoft-surface-20-multi-touch-wonderhtml

httpenwikipediaorgwikiMicrosoft_SurfaceSurface_20

Aspect logiciel

Fondamentalement la technologie utiliseacutee reste identique puisqursquoil srsquoagit dans

les 2 versions drsquoun Framework baseacute sur WPF Il est eacutegalement possible de

reacutealiser des applications en XNA sur ce type de peacuteripheacuterique

Le gros point de diffeacuterence reacuteside dans la maniegravere de geacuterer les contacts qui dans

la premiegravere version eacutetaient des ContactEvent (avec des proprieacuteteacutes deacutedieacutees)

Le nouveau SDK ainsi que les outils de deacuteveloppement ou de simulation de la

table Surface ont eux aussi eacuteteacute mis agrave jour avec notamment un simulateur

ameacutelioreacute de la table

Enfin eacutevidemment le Framework Surface a eacuteteacute eacutetendu avec de nouveaux

controcircles et nouvelles possibiliteacutes disponibles agrave travers ce lien

httpwwwmicrosoftcomdownloadendetailsaspxid=26716

Concernant la migration drsquoune application Surface v1 vers Surface v2 pour les cas simples il est

possible drsquoutiliser le PowerToy fourni par Microsoft et preacutesenteacute agrave travers le lien suivant

httpmsdnmicrosoftcomen-uslibrarygg697146aspx

Consideacuterations pour vos applications pour la table Surface V10

La table Surface v10 repose sur une couche de capture des eacuteveacutenements qui srsquoopegravere au-dessus de

lrsquoapplication WPF Il faut alors pouvoir capturer ses contacts au-dessus des composants utiliseacutes et

bindeacutes ces derniers sur une manipulation WPF adapteacutee

Les solutions reposant sur lrsquoutilisation du controcircle WebBrowser ne peuvent pas fonctionner en

manipulation directe de la carte on ne peut donc pas capturer les contacts au-dessus drsquoun controcircle

WebBrowser classique

En effet ce controcircle existe depuis les anciennes versions du Framework et repose sur un controcircle Win32

et le rendu srsquoopegravere au dessus de tout controcircle WPF et eacutegalement au-dessus de la couche de capture des

contacts Degraves lors il est donc impossible drsquoobtenir un eacuteveacutenement de contact au-dessus de la page

heacutebergeacute par le controcircle WebBrowser

Evolution des deacuteveloppements

Les applications deacuteveloppeacutees pour la table Surface seront les mecircmes que ceux des tablettes Windows 7

ou des PC avec eacutecran tactiles Elles seront naturellement compatibles sur PC avec une simple souris

Ce qui inteacuteressant dans ce cas crsquoest la capaciteacute simple permettant de migrer une application sur un type

de support vers un autre et inversement Il est eacutegalement inteacuteressant de voir que lrsquointeacutegration de

controcircles avanceacutes se fera de maniegravere plus aiseacutee et surtout une meacutethode unique les consideacuterations

concernant lrsquointeacutegration de la cartographie en WPF se reacuteduisent puisqursquoil srsquoagit lagrave des mecircmes

deacuteveloppements

Attention toutefois les applications srsquoexeacutecutant sur une table Surface doivent agrave mon sens faire preuve

drsquoune reacuteflexion particuliegravere sur lrsquoutilisation qui va en ecirctre faite Il faut concevoir lrsquoapplication comme

eacutetant possiblement exploitable de nrsquoimporte quel cocircteacute de la table et surtout avec de lrsquoinformation

adapteacutee et lisible dans ce cas preacutesent Lrsquoutilisation simultaneacutee par plusieurs utilisateurs est eacutegalement un

eacuteleacutement dont il faut tenir compte et qui est agrave reacutefleacutechir

Conclusions

Lrsquoensemble de ces solutions techniques drsquointeacutegration de plateforme cartographique au sein drsquoapplication

WPF sont agrave consideacuterer en fonction du contexte final drsquoexeacutecution

En effet on ne peut pas aiseacutement deacutesigner LA solution parfaite pour tous les cas car lagrave ougrave pour certains

le besoin en support et eacutevolution du composant est primordial lrsquointeacutegration fine et le besoin de

customisation seront neacutegligeacutes et inversement

Par contre la solution utilisant le plugin 3d (Concierge ou controcircle InfoStratVE) ne doivent plus ecirctre

utiliseacutees pour de nouveaux projets et devront tregraves certainement subir une migration dans les mois agrave venir

agrave la fin de vie du plugin (novembre 2011)

Il eacutegalement agrave noter que dans ce type drsquointeacutegration il est toutefois neacutecessaire de conserver en tecircte

lrsquoaspect leacutegal et donc se rapprocher de Microsoft pour obtenir davantage drsquoinformation concernant les

licences drsquoutilisation de la plateforme Bing Maps for Enterprise

Autres pistes agrave explorer

Si vous avez en tecircte drsquoautres solutions drsquointeacutegration de lrsquoAPI Bing Maps ou plus geacuteneacuteralement de

cartographie au sein drsquoapplication WPF agrave laquelle je nrsquoaurai penseacute nrsquoheacutesitez pas agrave me contacter ou agrave

laisser un commentaire

Je nrsquoai pas preacutesenteacute la solution drsquointeacutegration de Google Earth API puisque je voulais des solutions

drsquointeacutegration de la plateforme Bing Maps for Enterprise principalement mais il est eacutevident que cela peut

ecirctre une solution possible drsquointeacutegration

La solution drsquointeacutegration ESRI nrsquoa pas non plus eacuteteacute preacutesenteacutee puisque leurs controcircles ne sont pas

librement accessibles en version drsquoeacutevaluation

Aussi si vous aussi vous rencontrez ce genre de besoin nrsquoheacutesitez pas agrave me contacter pour eacutechanger sur

le sujet

Page 7: Bing Maps for Enterprise – Inte gration dans une ... Maps for... · pointue des technologies WPF et Silverlight. Elle présente toutefois un avantage notable, elle permet en effet

Preacutesentation deacutetailleacutee des solutions techniques

Apregraves avoir reacutesumeacute les solutions nous allons nous inteacuteresser aux deacutetails drsquoimpleacutementation mais

eacutegalement aux avantages et inconveacutenients de chacun drsquoelles

Utilisation du WebBrowser et de lrsquoAPI Bing Maps AJAX v7

Description technique

Cette solution consiste agrave inteacutegrer une instance du controcircle WebBrowser qui charge une page HTML

distante ou un contenu HTML disponible en ressource inteacutegreacutee agrave lrsquoapplication

Il suffit alors ensuite drsquoutiliser les meacutethodes InvokeScript() sur le controcircle WebBrowser (ou

InvokeScript() sur la proprieacuteteacute Document du WebBrowser en WinForm) pour deacuteclencher du code

JavaScript depuis lrsquoapplication Net

Du cocircteacute client en JavaScript il suffit drsquoutiliser lrsquoeacuteleacutement windowexternal pour obtenir une reacutefeacuterence

vers lrsquoobjet passeacute dans la proprieacuteteacute ObjectForScripting du controcircle WebBrowser permettant ainsi de

pouvoir appeler les meacutethodes de lrsquoapplication Net depuis le code client

Analyse

Avantages Inconveacutenients

Meacutethode supporteacutee Inteacutegration graphique limiteacutee

Evolution aiseacutee des deacuteveloppements et

migration simple

Complexiteacute de deacuteveloppement

Inteacutegration simple du modegravele de licence de la

plateforme

Difficulteacutes possibles lors drsquoun

deacuteploiement multi-systegravemes

Mon avis

Cette solution permets drsquointeacutegrer une application cartographie utilisant le controcircle interactif Bing Maps

via lrsquoAPI AJAX v7 en utilisant des techniques connues pour le deacuteveloppement autour de lrsquoAPI

Le principal effort consiste agrave effectuer lrsquoensemble du code drsquointeropeacuterabiliteacute entre le

WebBrowserJavaScript et le code Net

Utilisation du WebBrowser et du controcircle Silverlight de Bing Maps

Description technique

En utilisant la mecircme technique que la preacuteceacutedente on charge cette fois une page contenant le controcircle

Silverlight de la plateforme Bing Maps

Voici un vue drsquoensemble de ce qui est opeacutereacute

Il suffit donc de reacutealise une application Net exposeacutee en COM et eacutetabli comme proprieacuteteacute

ObjectForScripting sur le composant WebBrowser

Le code JavaScript assure la communication entre lrsquoapplication WPF et le controcircle Silverlight

Le controcircle Silverlight expose ses meacutethodes comme eacutetant des ScriptableMember (en ajoutant

lrsquoattribut) et reacutefeacuterence lrsquoapplication comme ScriptableObject via la meacutethode

RegisterScriptableObject() du controcircle WebBrowser en permettant ainsi drsquoacceacuteder agrave ces diffeacuterents

attributs et meacutethodes

Analyse

Avantages Inconveacutenients

Meacutethode supporteacutee Inteacutegration graphique limiteacutee

Performances du controcircle Silverlight Complexiteacute important du deacuteveloppement

Possibiliteacute drsquointeacutegrer la logique applicative dans

lrsquoapplication Silverlight

Deacutependance au plugin Silverlight

Mon avis

Cette solution relativement proche de la preacuteceacutedente approche possegravede toujours les mecircmes limites en

termes drsquointeacutegration graphique mais permet drsquoexploiter les performances du controcircle Silverlight de Bing

Maps for Enterprise

La contrainte suppleacutementaire du plugin Silverlight augmente la complexiteacute du deacuteveloppement des

couches drsquointeropeacuterabiliteacutes (voir Article en 4 parties Bing Maps for Enterprise ndash Integration WPF

interopeacuterabiliteacute avec Silverlight) et neacutecessite une connaissance pointue des possibiliteacutes drsquointeropeacuterabiliteacute

de chaque brique applicative

Utilisation drsquoun navigateur alternatif et de lrsquoAPI Bing Maps AJAX V7

Description technique

A travers cette reacutealisation on souhaite utiliser le controcircle baseacute sur Chromium afin de charger la page

sous le mecircme mode que le WebBrowser standard

Avec ce controcircle on observe la possibiliteacute drsquointeacutegrer graphiquement le navigateur dans lrsquoapplication

WPF et drsquoopeacuterer des manipulations impossibles agrave reacutealiser avec le controcircle WebBrowser standard

rotation modification des dimensions transformations avanceacuteeshellip

Pour simplifier lrsquoutilisation de Chromium au sein drsquoune application WPF il est possible drsquoutiliser le

projet WPFChromium disponible via ces liens

Pour la version Net 30 et Net 35 httpwpfchromiumcodeplexcom

Pour la version Net 40 httpwpfchromium4codeplexcom

Analyse

Avantages Inconveacutenients

Inteacutegration graphique faciliteacutee Meacutethode non-supporteacutee

Utilisation du controcircle AJAX Complexiteacute de deacuteveloppement et

limitations drsquointeropeacuterabiliteacute

possibles

Inteacutegration simple du modegravele de

licence de la plateforme

Quid de lrsquoeacutevolution

Mon avis

Cette solution permets de srsquoaffranchir de la limite drsquointeacutegration graphique en effet avec le controcircle

navigateur alternatif il devient possible de le manipuler (taille orientationhellip) et surtout drsquoafficher des

eacuteleacutements par-dessus chose impossible en utilisant le controcircle WebBrowser de base

Cependant cette meacutethode preacutesente la limite preacutecise qursquoil srsquoagit drsquoune utilisation de composant non

supporteacute et drsquoune utilisation de lrsquoAPI AJAX de la plateforme Bing Maps for Enterprise dans un contexte

non supporteacute

Utilisation drsquoun navigateur alternatif et du controcircle Silverlight

Description technique

En utilisant le controcircle navigateur baseacute sur Chromium agrave travers le wrapper deacutedieacute on charge une

application simple inteacutegrant le controcircle Silverlight de la plateforme Bing Maps for Enterprise

Le projet WPFChromium preacutesenteacute avec la solution preacuteceacutedente permet de reacutealiser cette inteacutegration mais

peut amener des difficulteacutes de chargement du contenu Silverlight

Analyse

Avantages Inconveacutenients

Inteacutegration graphique faciliteacutee Meacutethode non-supporteacutee

Performances Problegraveme possible de compatibiliteacute

Silverlight

Possibiliteacute drsquointeacutegrer la logique

applicative dans lrsquoapplication

Silverlight

Evolution difficulteacute de

deacuteveloppement et limitations

drsquointeropeacuterabiliteacute possibles

Mon avis

Cette solution preacutesente de nombreux points de doutes avec notamment un gros souci de

compatibiliteacutesupport du controcircle navigateur tout comme le support Silverlight dans ce contexte

La complexiteacute de deacuteveloppement et les limitations possibles drsquointeropeacuterabiliteacute avec ce navigateur

alternatif devront faire lrsquoobjet drsquoune reflexion approfondie

Utilisation drsquoune application Silverlight directement en WPF

Description technique

En reacutealisant une application Silverlight inteacutegrant le controcircle Silverlight de Bing Maps for Enterprise on

utilise directement ce composant au sein de lrsquoapplication WPF

Pour cela plusieurs techniques possibles dont voici quelques liens utiles

httpmsdnmicrosoftcomen-uslibraryff921109(v=pandp40)aspx

httpblogsmsdncombclrteamarchive20091201sharing-silverlight-assemblies-with-net-

appsaspx

httpkarlshifflettwordpresscom20091119silverlight-3-4-library-sharing-with-net-4-0-

library-or-wpf

httpmsdnmicrosoftcomen-uslibrarycc903925(VS95)aspx

httpjmorrillhjtcentralcomHometabid428EntryId446Differences-between-WPF-and-

Silverlight-Rendering-Stacksaspx

Un projet CodePlex facilite cette inteacutegration il srsquoagit de SilverlightViewport deacuteveloppeacute par Jeremiah

Morrill (qui soit dit au passage est un vrai guru en WPF et autres technologies de preacutesentation)

Ce projet est disponible via ce lien httpsilverlightviewportcodeplexcom

Analyse

Avantages Inconveacutenients

Inteacutegration WPF Meacutethode non supporteacutee

Performance du controcircle Silverlight Complexiteacute de deacuteveloppement

Possibiliteacute drsquointeacutegrer la logique applicative

dans lrsquoapplication Silverlight

Deacutependance au plugin Silverlight

Mon avis

Cette technique drsquoimpleacutementation est assez deacutelicate agrave mettre en place et neacutecessite une connaissance

pointue des technologies WPF et Silverlight

Elle preacutesente toutefois un avantage notable elle permet en effet de srsquointeacutegrer de maniegravere parfaite en

WPF et nrsquoimpose pas de deacutependance agrave un quelconque controcircle navigateur

Utilisation du plugin 3d agrave travers le controcircle InfoStratVE ndash CodePlex

Description technique

Cette solution technique repose sur lrsquoutilisation du plugin 3d disponible avec la version 63 et qui est

utiliseacute au sein drsquoune surface Direct3D directement au sein de WPF

Le projet InfoStratVE disponible sur CodePlex et deacuteveloppeacute par InfoStrat fournit la couche de

manipulation entre WPF et le plugin 3D ce qui simplifie grandement la gestion des eacuteveacutenements et la

manipulation du composant natif

Analyse

Avantages Inconveacutenients

Utilisation du plugin 3D Fin de vie du plugin 3D

Performances Meacutethode non supporteacutee

Inteacutegration WPF et simpliciteacute du

deacuteveloppement

Nombre drsquoinstance simultaneacutee limiteacutee du

controcircle

Mon avis

Cette solution fonctionne agrave merveille et permets de proposer des performances eacuteleveacutees et une expeacuterience

3d qui se combine agrave merveille sur les applications Surface

Cependant la fin de vie programmeacutee du plugin 3D de la plateforme Bing Maps for Enterprise impose agrave

chacun de consideacuterer cette solution comme obsolegravete et mecircme agrave remplacer dans un futur proche compte

tenu de lrsquoeacutevolution prochaine de la plateforme relativement incertaine vis agrave vis de ce plugin 3D

Utilisation du controcircle GreatMaps for WPF ndash CodePlex

Description technique

La solution technique employeacutee utilise un controcircle natif WPF (ou WinForm et mecircme Windows

Mobile) qui repose sur un fonctionnement standard de geacuteneacuteration de tuile

Le controcircle est disponible au sein du projet GreatMap heacutebergeacute sur CodePlex rend possible

lrsquoaffichage de cartes chargeacutees sous formes de tuiles

Voici le lien vers ce projet httpgreatmapscodeplexcom

Analyse

Avantages Inconveacutenients

Inteacutegration WPF Support limiteacute

Simpliciteacute du deacuteveloppement et possibiliteacute

de changement de fournisseur de contenu

Evolution deacutelicate du controcircle vis agrave

vis des services de la plateforme

Performances

Mon avis

Cette solution meacuterite le deacutetour puisque dans la version actuelle on dispose drsquoun controcircle deacutedieacute agrave

WinForm et un autre agrave WPF

Le controcircle permet drsquoutiliser de multiples fournisseurs de carte (Bing Maps for Enterprise OSM

Google Mapshellip) et simplifie grandement le deacuteveloppement et lrsquointeacutegration drsquoune carte performante dans

vos applications WPF

Utilisation drsquoun controcircle commercial deacutedieacute ndash Telerik RadMap

Description technique

En utilisant le controcircle RadMap de la librairie proposeacutee par Telerik on obtient un composant

cartographique multifournisseur permettant drsquoafficher des cartes nativement en WPF

Le controcircle tente de reproduire le comportement et le rendu disponible dans celui proposeacute en Silverlight

reposant sur la technologie DeepZoom

Analyse

Avantages Inconveacutenients

Meacutethode supporteacutee par Telerik Performances et expeacuterience relativement

limiteacutees

Simpliciteacute de deacuteveloppement et possibiliteacute

de changement de fournisseur de contenu

Composant commercial et licence associeacutee

Inteacutegration WPF Evolution du composant

Mon avis

Cette solution commerciale preacutesente un controcircle simple agrave utiliser mais qui nrsquoapporte pas une expeacuterience

utilisateur suffisante pour approcher celle du controcircle AJAX ou Silverlight

Lrsquoaspect commercial de la solution nrsquoest eacutegalement pas lagrave pour simplifier la mise en place au sein drsquoun

projet client

Deacuteveloppement personnaliseacute natif WPF

Description technique

La solution la plus radicale consiste agrave recreacuteer soi-mecircme un controcircle en WPF natif utilisant des eacuteleacutements

standards pour charger une carte agrave travers un canvas deacutedieacute

Analyse

Avantages Inconveacutenients

Maitrise complegravete du deacuteveloppement Complexiteacute de deacuteveloppement

Inteacutegration WPF et performances Coucirct lieacute

Evolution du controcircle vis agrave vis de la

plateforme

Probleacutematique drsquoeacutevolution de

performances de test et charges

Mon avis

Certainement lrsquooption la plus permissive peu importe lrsquoexploitation du controcircle qui est faite cette

solution a cependant des inconveacutenients notables puisqursquoelle neacutecessite un deacuteveloppement personnaliseacute

qui peut tregraves vite devenir couteux en temps et tregraves deacutelicat agrave appreacutehender

Cas particuliers de la table Microsoft Surface

La table Surface de Microsoft se preacutesente agrave preacutesent en 2 versions distinctes que je choisis ici de

preacutesenter briegravevement Nous allons ensuite nous inteacuteresser au cas speacutecifique des applications srsquoexeacutecutant

sur ce type de peacuteripheacuterique

Le deacutetail complet et des articles explicatifs preacutecis sont disponibles sur la MSDN

httpmsdnmicrosoftcomen-uslibraryee804845(v=Surface10)aspx

La table Surface en version 1 (Microsoft Surface Table V1)

La premiegravere version a eacuteteacute rendue disponible agrave partir de 2009 et reposait sur une technologie de

reconnaissance de forme utilisant des cameacuteras inteacutegreacutees agrave la table qui se preacutesente comme cela

La table Surface en version 2 (Microsoft Surface Table V2)

La seconde version a eacuteteacute annonceacutee et devrait ecirctre commercialiseacutee dans le second semestre 2011

Pour reacutealiser la reconnaissance de forme et la deacutetection des interactions utilisateurs Samsung et

Microsoft ont mis au point une technologie baptiseacutee PixelSense qui srsquoappuie sur un reacuteseau de LED

Infrarouge et une couche de deacutetection optique capturant le reacutesultat reacutefleacutechie de lrsquoinfrarouge

Pour plus drsquoinformations sur la technologie PixelSense utiliseacutee au sein de cette Surface 20 nrsquoheacutesitez

pas agrave vous rendre sur le site deacutedieacute httpwwwmicrosoftcomsurfaceenuspixelsenseaspx

Principales diffeacuterences

Forme mateacuteriel et technologie

La table Surface V1 pegravese 70 Kg et utilise une technologie de reconnaissance de forme baseacute sur un reacuteseau

de cameacutera

La table Surface V2 quant agrave elle preacutesente un poids moindre (40 Kg) et donne la possibiliteacute drsquoecirctre orienteacute

et mecircme ecirctre disposeacutee sur un mur Une eacutepaisseur de seulement une dizaine de centimegravetre gracircce agrave

lrsquoutilisation de la technologie PixelSense

Evidemment la configuration mateacuterielle (le PC qui exeacutecute les applications) a aussi connu une cure de

jouvence Le systegraveme drsquoexploitation est logiquement changeacute pour passer de Windows Vista (v1) agrave

Windows 7 (v2)

En reacutesumeacute

Surface V10 Surface V20

Ecran 30rdquo XGA projecteur avec

surface polie

40rdquo LCD avec une vitre de

type Gorilla Glass

Reacutesolution 1024 768 1920 1080 (HD 1080p)

Technologie

multitouch

Reacuteseau de projecteur et de 5

cameacuteras

52 contacts simultaneacutes

PixelSense

50 contacts simultaneacutes

Dimensions 56 cm drsquoeacutepaisseur

686 cm de large pour la

surface

572 cm de large pour la

base

108 cm de long

10 cm drsquoeacutepaisseur

102 cm de diagonale

Poids 70 Kg 40 Kg

Disposition Horizontale Horizontale ou Verticale

(inclinable)

Processeur Intel Core 2 Duo (213 Ghz) AMD Athlon II X2 Dual-

Core Processor 29GHz

Carte

graphique

ATI X1650 AMD Radeon HD 6700M

RAM 2 Go DDR2 4 Go DDR3

Disque dur 250 Go SATA 7200 tmin 320 Go SATA 7200 tmin

Support HDMI Non Oui

Systegraveme Windows Vista Pro 32-bit Windows 7 Pro 64-bit

Coucirct 12 500 $ 9000 euro env 7 600 $ 5 400 euro env

Sources

httptechnetmicrosoftcomen-uslibraryee692114(Surface10)aspx

httpctlabsblogspotcom201101microsoft-surface-20-multi-touch-wonderhtml

httpenwikipediaorgwikiMicrosoft_SurfaceSurface_20

Aspect logiciel

Fondamentalement la technologie utiliseacutee reste identique puisqursquoil srsquoagit dans

les 2 versions drsquoun Framework baseacute sur WPF Il est eacutegalement possible de

reacutealiser des applications en XNA sur ce type de peacuteripheacuterique

Le gros point de diffeacuterence reacuteside dans la maniegravere de geacuterer les contacts qui dans

la premiegravere version eacutetaient des ContactEvent (avec des proprieacuteteacutes deacutedieacutees)

Le nouveau SDK ainsi que les outils de deacuteveloppement ou de simulation de la

table Surface ont eux aussi eacuteteacute mis agrave jour avec notamment un simulateur

ameacutelioreacute de la table

Enfin eacutevidemment le Framework Surface a eacuteteacute eacutetendu avec de nouveaux

controcircles et nouvelles possibiliteacutes disponibles agrave travers ce lien

httpwwwmicrosoftcomdownloadendetailsaspxid=26716

Concernant la migration drsquoune application Surface v1 vers Surface v2 pour les cas simples il est

possible drsquoutiliser le PowerToy fourni par Microsoft et preacutesenteacute agrave travers le lien suivant

httpmsdnmicrosoftcomen-uslibrarygg697146aspx

Consideacuterations pour vos applications pour la table Surface V10

La table Surface v10 repose sur une couche de capture des eacuteveacutenements qui srsquoopegravere au-dessus de

lrsquoapplication WPF Il faut alors pouvoir capturer ses contacts au-dessus des composants utiliseacutes et

bindeacutes ces derniers sur une manipulation WPF adapteacutee

Les solutions reposant sur lrsquoutilisation du controcircle WebBrowser ne peuvent pas fonctionner en

manipulation directe de la carte on ne peut donc pas capturer les contacts au-dessus drsquoun controcircle

WebBrowser classique

En effet ce controcircle existe depuis les anciennes versions du Framework et repose sur un controcircle Win32

et le rendu srsquoopegravere au dessus de tout controcircle WPF et eacutegalement au-dessus de la couche de capture des

contacts Degraves lors il est donc impossible drsquoobtenir un eacuteveacutenement de contact au-dessus de la page

heacutebergeacute par le controcircle WebBrowser

Evolution des deacuteveloppements

Les applications deacuteveloppeacutees pour la table Surface seront les mecircmes que ceux des tablettes Windows 7

ou des PC avec eacutecran tactiles Elles seront naturellement compatibles sur PC avec une simple souris

Ce qui inteacuteressant dans ce cas crsquoest la capaciteacute simple permettant de migrer une application sur un type

de support vers un autre et inversement Il est eacutegalement inteacuteressant de voir que lrsquointeacutegration de

controcircles avanceacutes se fera de maniegravere plus aiseacutee et surtout une meacutethode unique les consideacuterations

concernant lrsquointeacutegration de la cartographie en WPF se reacuteduisent puisqursquoil srsquoagit lagrave des mecircmes

deacuteveloppements

Attention toutefois les applications srsquoexeacutecutant sur une table Surface doivent agrave mon sens faire preuve

drsquoune reacuteflexion particuliegravere sur lrsquoutilisation qui va en ecirctre faite Il faut concevoir lrsquoapplication comme

eacutetant possiblement exploitable de nrsquoimporte quel cocircteacute de la table et surtout avec de lrsquoinformation

adapteacutee et lisible dans ce cas preacutesent Lrsquoutilisation simultaneacutee par plusieurs utilisateurs est eacutegalement un

eacuteleacutement dont il faut tenir compte et qui est agrave reacutefleacutechir

Conclusions

Lrsquoensemble de ces solutions techniques drsquointeacutegration de plateforme cartographique au sein drsquoapplication

WPF sont agrave consideacuterer en fonction du contexte final drsquoexeacutecution

En effet on ne peut pas aiseacutement deacutesigner LA solution parfaite pour tous les cas car lagrave ougrave pour certains

le besoin en support et eacutevolution du composant est primordial lrsquointeacutegration fine et le besoin de

customisation seront neacutegligeacutes et inversement

Par contre la solution utilisant le plugin 3d (Concierge ou controcircle InfoStratVE) ne doivent plus ecirctre

utiliseacutees pour de nouveaux projets et devront tregraves certainement subir une migration dans les mois agrave venir

agrave la fin de vie du plugin (novembre 2011)

Il eacutegalement agrave noter que dans ce type drsquointeacutegration il est toutefois neacutecessaire de conserver en tecircte

lrsquoaspect leacutegal et donc se rapprocher de Microsoft pour obtenir davantage drsquoinformation concernant les

licences drsquoutilisation de la plateforme Bing Maps for Enterprise

Autres pistes agrave explorer

Si vous avez en tecircte drsquoautres solutions drsquointeacutegration de lrsquoAPI Bing Maps ou plus geacuteneacuteralement de

cartographie au sein drsquoapplication WPF agrave laquelle je nrsquoaurai penseacute nrsquoheacutesitez pas agrave me contacter ou agrave

laisser un commentaire

Je nrsquoai pas preacutesenteacute la solution drsquointeacutegration de Google Earth API puisque je voulais des solutions

drsquointeacutegration de la plateforme Bing Maps for Enterprise principalement mais il est eacutevident que cela peut

ecirctre une solution possible drsquointeacutegration

La solution drsquointeacutegration ESRI nrsquoa pas non plus eacuteteacute preacutesenteacutee puisque leurs controcircles ne sont pas

librement accessibles en version drsquoeacutevaluation

Aussi si vous aussi vous rencontrez ce genre de besoin nrsquoheacutesitez pas agrave me contacter pour eacutechanger sur

le sujet

Page 8: Bing Maps for Enterprise – Inte gration dans une ... Maps for... · pointue des technologies WPF et Silverlight. Elle présente toutefois un avantage notable, elle permet en effet

Utilisation du WebBrowser et du controcircle Silverlight de Bing Maps

Description technique

En utilisant la mecircme technique que la preacuteceacutedente on charge cette fois une page contenant le controcircle

Silverlight de la plateforme Bing Maps

Voici un vue drsquoensemble de ce qui est opeacutereacute

Il suffit donc de reacutealise une application Net exposeacutee en COM et eacutetabli comme proprieacuteteacute

ObjectForScripting sur le composant WebBrowser

Le code JavaScript assure la communication entre lrsquoapplication WPF et le controcircle Silverlight

Le controcircle Silverlight expose ses meacutethodes comme eacutetant des ScriptableMember (en ajoutant

lrsquoattribut) et reacutefeacuterence lrsquoapplication comme ScriptableObject via la meacutethode

RegisterScriptableObject() du controcircle WebBrowser en permettant ainsi drsquoacceacuteder agrave ces diffeacuterents

attributs et meacutethodes

Analyse

Avantages Inconveacutenients

Meacutethode supporteacutee Inteacutegration graphique limiteacutee

Performances du controcircle Silverlight Complexiteacute important du deacuteveloppement

Possibiliteacute drsquointeacutegrer la logique applicative dans

lrsquoapplication Silverlight

Deacutependance au plugin Silverlight

Mon avis

Cette solution relativement proche de la preacuteceacutedente approche possegravede toujours les mecircmes limites en

termes drsquointeacutegration graphique mais permet drsquoexploiter les performances du controcircle Silverlight de Bing

Maps for Enterprise

La contrainte suppleacutementaire du plugin Silverlight augmente la complexiteacute du deacuteveloppement des

couches drsquointeropeacuterabiliteacutes (voir Article en 4 parties Bing Maps for Enterprise ndash Integration WPF

interopeacuterabiliteacute avec Silverlight) et neacutecessite une connaissance pointue des possibiliteacutes drsquointeropeacuterabiliteacute

de chaque brique applicative

Utilisation drsquoun navigateur alternatif et de lrsquoAPI Bing Maps AJAX V7

Description technique

A travers cette reacutealisation on souhaite utiliser le controcircle baseacute sur Chromium afin de charger la page

sous le mecircme mode que le WebBrowser standard

Avec ce controcircle on observe la possibiliteacute drsquointeacutegrer graphiquement le navigateur dans lrsquoapplication

WPF et drsquoopeacuterer des manipulations impossibles agrave reacutealiser avec le controcircle WebBrowser standard

rotation modification des dimensions transformations avanceacuteeshellip

Pour simplifier lrsquoutilisation de Chromium au sein drsquoune application WPF il est possible drsquoutiliser le

projet WPFChromium disponible via ces liens

Pour la version Net 30 et Net 35 httpwpfchromiumcodeplexcom

Pour la version Net 40 httpwpfchromium4codeplexcom

Analyse

Avantages Inconveacutenients

Inteacutegration graphique faciliteacutee Meacutethode non-supporteacutee

Utilisation du controcircle AJAX Complexiteacute de deacuteveloppement et

limitations drsquointeropeacuterabiliteacute

possibles

Inteacutegration simple du modegravele de

licence de la plateforme

Quid de lrsquoeacutevolution

Mon avis

Cette solution permets de srsquoaffranchir de la limite drsquointeacutegration graphique en effet avec le controcircle

navigateur alternatif il devient possible de le manipuler (taille orientationhellip) et surtout drsquoafficher des

eacuteleacutements par-dessus chose impossible en utilisant le controcircle WebBrowser de base

Cependant cette meacutethode preacutesente la limite preacutecise qursquoil srsquoagit drsquoune utilisation de composant non

supporteacute et drsquoune utilisation de lrsquoAPI AJAX de la plateforme Bing Maps for Enterprise dans un contexte

non supporteacute

Utilisation drsquoun navigateur alternatif et du controcircle Silverlight

Description technique

En utilisant le controcircle navigateur baseacute sur Chromium agrave travers le wrapper deacutedieacute on charge une

application simple inteacutegrant le controcircle Silverlight de la plateforme Bing Maps for Enterprise

Le projet WPFChromium preacutesenteacute avec la solution preacuteceacutedente permet de reacutealiser cette inteacutegration mais

peut amener des difficulteacutes de chargement du contenu Silverlight

Analyse

Avantages Inconveacutenients

Inteacutegration graphique faciliteacutee Meacutethode non-supporteacutee

Performances Problegraveme possible de compatibiliteacute

Silverlight

Possibiliteacute drsquointeacutegrer la logique

applicative dans lrsquoapplication

Silverlight

Evolution difficulteacute de

deacuteveloppement et limitations

drsquointeropeacuterabiliteacute possibles

Mon avis

Cette solution preacutesente de nombreux points de doutes avec notamment un gros souci de

compatibiliteacutesupport du controcircle navigateur tout comme le support Silverlight dans ce contexte

La complexiteacute de deacuteveloppement et les limitations possibles drsquointeropeacuterabiliteacute avec ce navigateur

alternatif devront faire lrsquoobjet drsquoune reflexion approfondie

Utilisation drsquoune application Silverlight directement en WPF

Description technique

En reacutealisant une application Silverlight inteacutegrant le controcircle Silverlight de Bing Maps for Enterprise on

utilise directement ce composant au sein de lrsquoapplication WPF

Pour cela plusieurs techniques possibles dont voici quelques liens utiles

httpmsdnmicrosoftcomen-uslibraryff921109(v=pandp40)aspx

httpblogsmsdncombclrteamarchive20091201sharing-silverlight-assemblies-with-net-

appsaspx

httpkarlshifflettwordpresscom20091119silverlight-3-4-library-sharing-with-net-4-0-

library-or-wpf

httpmsdnmicrosoftcomen-uslibrarycc903925(VS95)aspx

httpjmorrillhjtcentralcomHometabid428EntryId446Differences-between-WPF-and-

Silverlight-Rendering-Stacksaspx

Un projet CodePlex facilite cette inteacutegration il srsquoagit de SilverlightViewport deacuteveloppeacute par Jeremiah

Morrill (qui soit dit au passage est un vrai guru en WPF et autres technologies de preacutesentation)

Ce projet est disponible via ce lien httpsilverlightviewportcodeplexcom

Analyse

Avantages Inconveacutenients

Inteacutegration WPF Meacutethode non supporteacutee

Performance du controcircle Silverlight Complexiteacute de deacuteveloppement

Possibiliteacute drsquointeacutegrer la logique applicative

dans lrsquoapplication Silverlight

Deacutependance au plugin Silverlight

Mon avis

Cette technique drsquoimpleacutementation est assez deacutelicate agrave mettre en place et neacutecessite une connaissance

pointue des technologies WPF et Silverlight

Elle preacutesente toutefois un avantage notable elle permet en effet de srsquointeacutegrer de maniegravere parfaite en

WPF et nrsquoimpose pas de deacutependance agrave un quelconque controcircle navigateur

Utilisation du plugin 3d agrave travers le controcircle InfoStratVE ndash CodePlex

Description technique

Cette solution technique repose sur lrsquoutilisation du plugin 3d disponible avec la version 63 et qui est

utiliseacute au sein drsquoune surface Direct3D directement au sein de WPF

Le projet InfoStratVE disponible sur CodePlex et deacuteveloppeacute par InfoStrat fournit la couche de

manipulation entre WPF et le plugin 3D ce qui simplifie grandement la gestion des eacuteveacutenements et la

manipulation du composant natif

Analyse

Avantages Inconveacutenients

Utilisation du plugin 3D Fin de vie du plugin 3D

Performances Meacutethode non supporteacutee

Inteacutegration WPF et simpliciteacute du

deacuteveloppement

Nombre drsquoinstance simultaneacutee limiteacutee du

controcircle

Mon avis

Cette solution fonctionne agrave merveille et permets de proposer des performances eacuteleveacutees et une expeacuterience

3d qui se combine agrave merveille sur les applications Surface

Cependant la fin de vie programmeacutee du plugin 3D de la plateforme Bing Maps for Enterprise impose agrave

chacun de consideacuterer cette solution comme obsolegravete et mecircme agrave remplacer dans un futur proche compte

tenu de lrsquoeacutevolution prochaine de la plateforme relativement incertaine vis agrave vis de ce plugin 3D

Utilisation du controcircle GreatMaps for WPF ndash CodePlex

Description technique

La solution technique employeacutee utilise un controcircle natif WPF (ou WinForm et mecircme Windows

Mobile) qui repose sur un fonctionnement standard de geacuteneacuteration de tuile

Le controcircle est disponible au sein du projet GreatMap heacutebergeacute sur CodePlex rend possible

lrsquoaffichage de cartes chargeacutees sous formes de tuiles

Voici le lien vers ce projet httpgreatmapscodeplexcom

Analyse

Avantages Inconveacutenients

Inteacutegration WPF Support limiteacute

Simpliciteacute du deacuteveloppement et possibiliteacute

de changement de fournisseur de contenu

Evolution deacutelicate du controcircle vis agrave

vis des services de la plateforme

Performances

Mon avis

Cette solution meacuterite le deacutetour puisque dans la version actuelle on dispose drsquoun controcircle deacutedieacute agrave

WinForm et un autre agrave WPF

Le controcircle permet drsquoutiliser de multiples fournisseurs de carte (Bing Maps for Enterprise OSM

Google Mapshellip) et simplifie grandement le deacuteveloppement et lrsquointeacutegration drsquoune carte performante dans

vos applications WPF

Utilisation drsquoun controcircle commercial deacutedieacute ndash Telerik RadMap

Description technique

En utilisant le controcircle RadMap de la librairie proposeacutee par Telerik on obtient un composant

cartographique multifournisseur permettant drsquoafficher des cartes nativement en WPF

Le controcircle tente de reproduire le comportement et le rendu disponible dans celui proposeacute en Silverlight

reposant sur la technologie DeepZoom

Analyse

Avantages Inconveacutenients

Meacutethode supporteacutee par Telerik Performances et expeacuterience relativement

limiteacutees

Simpliciteacute de deacuteveloppement et possibiliteacute

de changement de fournisseur de contenu

Composant commercial et licence associeacutee

Inteacutegration WPF Evolution du composant

Mon avis

Cette solution commerciale preacutesente un controcircle simple agrave utiliser mais qui nrsquoapporte pas une expeacuterience

utilisateur suffisante pour approcher celle du controcircle AJAX ou Silverlight

Lrsquoaspect commercial de la solution nrsquoest eacutegalement pas lagrave pour simplifier la mise en place au sein drsquoun

projet client

Deacuteveloppement personnaliseacute natif WPF

Description technique

La solution la plus radicale consiste agrave recreacuteer soi-mecircme un controcircle en WPF natif utilisant des eacuteleacutements

standards pour charger une carte agrave travers un canvas deacutedieacute

Analyse

Avantages Inconveacutenients

Maitrise complegravete du deacuteveloppement Complexiteacute de deacuteveloppement

Inteacutegration WPF et performances Coucirct lieacute

Evolution du controcircle vis agrave vis de la

plateforme

Probleacutematique drsquoeacutevolution de

performances de test et charges

Mon avis

Certainement lrsquooption la plus permissive peu importe lrsquoexploitation du controcircle qui est faite cette

solution a cependant des inconveacutenients notables puisqursquoelle neacutecessite un deacuteveloppement personnaliseacute

qui peut tregraves vite devenir couteux en temps et tregraves deacutelicat agrave appreacutehender

Cas particuliers de la table Microsoft Surface

La table Surface de Microsoft se preacutesente agrave preacutesent en 2 versions distinctes que je choisis ici de

preacutesenter briegravevement Nous allons ensuite nous inteacuteresser au cas speacutecifique des applications srsquoexeacutecutant

sur ce type de peacuteripheacuterique

Le deacutetail complet et des articles explicatifs preacutecis sont disponibles sur la MSDN

httpmsdnmicrosoftcomen-uslibraryee804845(v=Surface10)aspx

La table Surface en version 1 (Microsoft Surface Table V1)

La premiegravere version a eacuteteacute rendue disponible agrave partir de 2009 et reposait sur une technologie de

reconnaissance de forme utilisant des cameacuteras inteacutegreacutees agrave la table qui se preacutesente comme cela

La table Surface en version 2 (Microsoft Surface Table V2)

La seconde version a eacuteteacute annonceacutee et devrait ecirctre commercialiseacutee dans le second semestre 2011

Pour reacutealiser la reconnaissance de forme et la deacutetection des interactions utilisateurs Samsung et

Microsoft ont mis au point une technologie baptiseacutee PixelSense qui srsquoappuie sur un reacuteseau de LED

Infrarouge et une couche de deacutetection optique capturant le reacutesultat reacutefleacutechie de lrsquoinfrarouge

Pour plus drsquoinformations sur la technologie PixelSense utiliseacutee au sein de cette Surface 20 nrsquoheacutesitez

pas agrave vous rendre sur le site deacutedieacute httpwwwmicrosoftcomsurfaceenuspixelsenseaspx

Principales diffeacuterences

Forme mateacuteriel et technologie

La table Surface V1 pegravese 70 Kg et utilise une technologie de reconnaissance de forme baseacute sur un reacuteseau

de cameacutera

La table Surface V2 quant agrave elle preacutesente un poids moindre (40 Kg) et donne la possibiliteacute drsquoecirctre orienteacute

et mecircme ecirctre disposeacutee sur un mur Une eacutepaisseur de seulement une dizaine de centimegravetre gracircce agrave

lrsquoutilisation de la technologie PixelSense

Evidemment la configuration mateacuterielle (le PC qui exeacutecute les applications) a aussi connu une cure de

jouvence Le systegraveme drsquoexploitation est logiquement changeacute pour passer de Windows Vista (v1) agrave

Windows 7 (v2)

En reacutesumeacute

Surface V10 Surface V20

Ecran 30rdquo XGA projecteur avec

surface polie

40rdquo LCD avec une vitre de

type Gorilla Glass

Reacutesolution 1024 768 1920 1080 (HD 1080p)

Technologie

multitouch

Reacuteseau de projecteur et de 5

cameacuteras

52 contacts simultaneacutes

PixelSense

50 contacts simultaneacutes

Dimensions 56 cm drsquoeacutepaisseur

686 cm de large pour la

surface

572 cm de large pour la

base

108 cm de long

10 cm drsquoeacutepaisseur

102 cm de diagonale

Poids 70 Kg 40 Kg

Disposition Horizontale Horizontale ou Verticale

(inclinable)

Processeur Intel Core 2 Duo (213 Ghz) AMD Athlon II X2 Dual-

Core Processor 29GHz

Carte

graphique

ATI X1650 AMD Radeon HD 6700M

RAM 2 Go DDR2 4 Go DDR3

Disque dur 250 Go SATA 7200 tmin 320 Go SATA 7200 tmin

Support HDMI Non Oui

Systegraveme Windows Vista Pro 32-bit Windows 7 Pro 64-bit

Coucirct 12 500 $ 9000 euro env 7 600 $ 5 400 euro env

Sources

httptechnetmicrosoftcomen-uslibraryee692114(Surface10)aspx

httpctlabsblogspotcom201101microsoft-surface-20-multi-touch-wonderhtml

httpenwikipediaorgwikiMicrosoft_SurfaceSurface_20

Aspect logiciel

Fondamentalement la technologie utiliseacutee reste identique puisqursquoil srsquoagit dans

les 2 versions drsquoun Framework baseacute sur WPF Il est eacutegalement possible de

reacutealiser des applications en XNA sur ce type de peacuteripheacuterique

Le gros point de diffeacuterence reacuteside dans la maniegravere de geacuterer les contacts qui dans

la premiegravere version eacutetaient des ContactEvent (avec des proprieacuteteacutes deacutedieacutees)

Le nouveau SDK ainsi que les outils de deacuteveloppement ou de simulation de la

table Surface ont eux aussi eacuteteacute mis agrave jour avec notamment un simulateur

ameacutelioreacute de la table

Enfin eacutevidemment le Framework Surface a eacuteteacute eacutetendu avec de nouveaux

controcircles et nouvelles possibiliteacutes disponibles agrave travers ce lien

httpwwwmicrosoftcomdownloadendetailsaspxid=26716

Concernant la migration drsquoune application Surface v1 vers Surface v2 pour les cas simples il est

possible drsquoutiliser le PowerToy fourni par Microsoft et preacutesenteacute agrave travers le lien suivant

httpmsdnmicrosoftcomen-uslibrarygg697146aspx

Consideacuterations pour vos applications pour la table Surface V10

La table Surface v10 repose sur une couche de capture des eacuteveacutenements qui srsquoopegravere au-dessus de

lrsquoapplication WPF Il faut alors pouvoir capturer ses contacts au-dessus des composants utiliseacutes et

bindeacutes ces derniers sur une manipulation WPF adapteacutee

Les solutions reposant sur lrsquoutilisation du controcircle WebBrowser ne peuvent pas fonctionner en

manipulation directe de la carte on ne peut donc pas capturer les contacts au-dessus drsquoun controcircle

WebBrowser classique

En effet ce controcircle existe depuis les anciennes versions du Framework et repose sur un controcircle Win32

et le rendu srsquoopegravere au dessus de tout controcircle WPF et eacutegalement au-dessus de la couche de capture des

contacts Degraves lors il est donc impossible drsquoobtenir un eacuteveacutenement de contact au-dessus de la page

heacutebergeacute par le controcircle WebBrowser

Evolution des deacuteveloppements

Les applications deacuteveloppeacutees pour la table Surface seront les mecircmes que ceux des tablettes Windows 7

ou des PC avec eacutecran tactiles Elles seront naturellement compatibles sur PC avec une simple souris

Ce qui inteacuteressant dans ce cas crsquoest la capaciteacute simple permettant de migrer une application sur un type

de support vers un autre et inversement Il est eacutegalement inteacuteressant de voir que lrsquointeacutegration de

controcircles avanceacutes se fera de maniegravere plus aiseacutee et surtout une meacutethode unique les consideacuterations

concernant lrsquointeacutegration de la cartographie en WPF se reacuteduisent puisqursquoil srsquoagit lagrave des mecircmes

deacuteveloppements

Attention toutefois les applications srsquoexeacutecutant sur une table Surface doivent agrave mon sens faire preuve

drsquoune reacuteflexion particuliegravere sur lrsquoutilisation qui va en ecirctre faite Il faut concevoir lrsquoapplication comme

eacutetant possiblement exploitable de nrsquoimporte quel cocircteacute de la table et surtout avec de lrsquoinformation

adapteacutee et lisible dans ce cas preacutesent Lrsquoutilisation simultaneacutee par plusieurs utilisateurs est eacutegalement un

eacuteleacutement dont il faut tenir compte et qui est agrave reacutefleacutechir

Conclusions

Lrsquoensemble de ces solutions techniques drsquointeacutegration de plateforme cartographique au sein drsquoapplication

WPF sont agrave consideacuterer en fonction du contexte final drsquoexeacutecution

En effet on ne peut pas aiseacutement deacutesigner LA solution parfaite pour tous les cas car lagrave ougrave pour certains

le besoin en support et eacutevolution du composant est primordial lrsquointeacutegration fine et le besoin de

customisation seront neacutegligeacutes et inversement

Par contre la solution utilisant le plugin 3d (Concierge ou controcircle InfoStratVE) ne doivent plus ecirctre

utiliseacutees pour de nouveaux projets et devront tregraves certainement subir une migration dans les mois agrave venir

agrave la fin de vie du plugin (novembre 2011)

Il eacutegalement agrave noter que dans ce type drsquointeacutegration il est toutefois neacutecessaire de conserver en tecircte

lrsquoaspect leacutegal et donc se rapprocher de Microsoft pour obtenir davantage drsquoinformation concernant les

licences drsquoutilisation de la plateforme Bing Maps for Enterprise

Autres pistes agrave explorer

Si vous avez en tecircte drsquoautres solutions drsquointeacutegration de lrsquoAPI Bing Maps ou plus geacuteneacuteralement de

cartographie au sein drsquoapplication WPF agrave laquelle je nrsquoaurai penseacute nrsquoheacutesitez pas agrave me contacter ou agrave

laisser un commentaire

Je nrsquoai pas preacutesenteacute la solution drsquointeacutegration de Google Earth API puisque je voulais des solutions

drsquointeacutegration de la plateforme Bing Maps for Enterprise principalement mais il est eacutevident que cela peut

ecirctre une solution possible drsquointeacutegration

La solution drsquointeacutegration ESRI nrsquoa pas non plus eacuteteacute preacutesenteacutee puisque leurs controcircles ne sont pas

librement accessibles en version drsquoeacutevaluation

Aussi si vous aussi vous rencontrez ce genre de besoin nrsquoheacutesitez pas agrave me contacter pour eacutechanger sur

le sujet

Page 9: Bing Maps for Enterprise – Inte gration dans une ... Maps for... · pointue des technologies WPF et Silverlight. Elle présente toutefois un avantage notable, elle permet en effet

Utilisation drsquoun navigateur alternatif et de lrsquoAPI Bing Maps AJAX V7

Description technique

A travers cette reacutealisation on souhaite utiliser le controcircle baseacute sur Chromium afin de charger la page

sous le mecircme mode que le WebBrowser standard

Avec ce controcircle on observe la possibiliteacute drsquointeacutegrer graphiquement le navigateur dans lrsquoapplication

WPF et drsquoopeacuterer des manipulations impossibles agrave reacutealiser avec le controcircle WebBrowser standard

rotation modification des dimensions transformations avanceacuteeshellip

Pour simplifier lrsquoutilisation de Chromium au sein drsquoune application WPF il est possible drsquoutiliser le

projet WPFChromium disponible via ces liens

Pour la version Net 30 et Net 35 httpwpfchromiumcodeplexcom

Pour la version Net 40 httpwpfchromium4codeplexcom

Analyse

Avantages Inconveacutenients

Inteacutegration graphique faciliteacutee Meacutethode non-supporteacutee

Utilisation du controcircle AJAX Complexiteacute de deacuteveloppement et

limitations drsquointeropeacuterabiliteacute

possibles

Inteacutegration simple du modegravele de

licence de la plateforme

Quid de lrsquoeacutevolution

Mon avis

Cette solution permets de srsquoaffranchir de la limite drsquointeacutegration graphique en effet avec le controcircle

navigateur alternatif il devient possible de le manipuler (taille orientationhellip) et surtout drsquoafficher des

eacuteleacutements par-dessus chose impossible en utilisant le controcircle WebBrowser de base

Cependant cette meacutethode preacutesente la limite preacutecise qursquoil srsquoagit drsquoune utilisation de composant non

supporteacute et drsquoune utilisation de lrsquoAPI AJAX de la plateforme Bing Maps for Enterprise dans un contexte

non supporteacute

Utilisation drsquoun navigateur alternatif et du controcircle Silverlight

Description technique

En utilisant le controcircle navigateur baseacute sur Chromium agrave travers le wrapper deacutedieacute on charge une

application simple inteacutegrant le controcircle Silverlight de la plateforme Bing Maps for Enterprise

Le projet WPFChromium preacutesenteacute avec la solution preacuteceacutedente permet de reacutealiser cette inteacutegration mais

peut amener des difficulteacutes de chargement du contenu Silverlight

Analyse

Avantages Inconveacutenients

Inteacutegration graphique faciliteacutee Meacutethode non-supporteacutee

Performances Problegraveme possible de compatibiliteacute

Silverlight

Possibiliteacute drsquointeacutegrer la logique

applicative dans lrsquoapplication

Silverlight

Evolution difficulteacute de

deacuteveloppement et limitations

drsquointeropeacuterabiliteacute possibles

Mon avis

Cette solution preacutesente de nombreux points de doutes avec notamment un gros souci de

compatibiliteacutesupport du controcircle navigateur tout comme le support Silverlight dans ce contexte

La complexiteacute de deacuteveloppement et les limitations possibles drsquointeropeacuterabiliteacute avec ce navigateur

alternatif devront faire lrsquoobjet drsquoune reflexion approfondie

Utilisation drsquoune application Silverlight directement en WPF

Description technique

En reacutealisant une application Silverlight inteacutegrant le controcircle Silverlight de Bing Maps for Enterprise on

utilise directement ce composant au sein de lrsquoapplication WPF

Pour cela plusieurs techniques possibles dont voici quelques liens utiles

httpmsdnmicrosoftcomen-uslibraryff921109(v=pandp40)aspx

httpblogsmsdncombclrteamarchive20091201sharing-silverlight-assemblies-with-net-

appsaspx

httpkarlshifflettwordpresscom20091119silverlight-3-4-library-sharing-with-net-4-0-

library-or-wpf

httpmsdnmicrosoftcomen-uslibrarycc903925(VS95)aspx

httpjmorrillhjtcentralcomHometabid428EntryId446Differences-between-WPF-and-

Silverlight-Rendering-Stacksaspx

Un projet CodePlex facilite cette inteacutegration il srsquoagit de SilverlightViewport deacuteveloppeacute par Jeremiah

Morrill (qui soit dit au passage est un vrai guru en WPF et autres technologies de preacutesentation)

Ce projet est disponible via ce lien httpsilverlightviewportcodeplexcom

Analyse

Avantages Inconveacutenients

Inteacutegration WPF Meacutethode non supporteacutee

Performance du controcircle Silverlight Complexiteacute de deacuteveloppement

Possibiliteacute drsquointeacutegrer la logique applicative

dans lrsquoapplication Silverlight

Deacutependance au plugin Silverlight

Mon avis

Cette technique drsquoimpleacutementation est assez deacutelicate agrave mettre en place et neacutecessite une connaissance

pointue des technologies WPF et Silverlight

Elle preacutesente toutefois un avantage notable elle permet en effet de srsquointeacutegrer de maniegravere parfaite en

WPF et nrsquoimpose pas de deacutependance agrave un quelconque controcircle navigateur

Utilisation du plugin 3d agrave travers le controcircle InfoStratVE ndash CodePlex

Description technique

Cette solution technique repose sur lrsquoutilisation du plugin 3d disponible avec la version 63 et qui est

utiliseacute au sein drsquoune surface Direct3D directement au sein de WPF

Le projet InfoStratVE disponible sur CodePlex et deacuteveloppeacute par InfoStrat fournit la couche de

manipulation entre WPF et le plugin 3D ce qui simplifie grandement la gestion des eacuteveacutenements et la

manipulation du composant natif

Analyse

Avantages Inconveacutenients

Utilisation du plugin 3D Fin de vie du plugin 3D

Performances Meacutethode non supporteacutee

Inteacutegration WPF et simpliciteacute du

deacuteveloppement

Nombre drsquoinstance simultaneacutee limiteacutee du

controcircle

Mon avis

Cette solution fonctionne agrave merveille et permets de proposer des performances eacuteleveacutees et une expeacuterience

3d qui se combine agrave merveille sur les applications Surface

Cependant la fin de vie programmeacutee du plugin 3D de la plateforme Bing Maps for Enterprise impose agrave

chacun de consideacuterer cette solution comme obsolegravete et mecircme agrave remplacer dans un futur proche compte

tenu de lrsquoeacutevolution prochaine de la plateforme relativement incertaine vis agrave vis de ce plugin 3D

Utilisation du controcircle GreatMaps for WPF ndash CodePlex

Description technique

La solution technique employeacutee utilise un controcircle natif WPF (ou WinForm et mecircme Windows

Mobile) qui repose sur un fonctionnement standard de geacuteneacuteration de tuile

Le controcircle est disponible au sein du projet GreatMap heacutebergeacute sur CodePlex rend possible

lrsquoaffichage de cartes chargeacutees sous formes de tuiles

Voici le lien vers ce projet httpgreatmapscodeplexcom

Analyse

Avantages Inconveacutenients

Inteacutegration WPF Support limiteacute

Simpliciteacute du deacuteveloppement et possibiliteacute

de changement de fournisseur de contenu

Evolution deacutelicate du controcircle vis agrave

vis des services de la plateforme

Performances

Mon avis

Cette solution meacuterite le deacutetour puisque dans la version actuelle on dispose drsquoun controcircle deacutedieacute agrave

WinForm et un autre agrave WPF

Le controcircle permet drsquoutiliser de multiples fournisseurs de carte (Bing Maps for Enterprise OSM

Google Mapshellip) et simplifie grandement le deacuteveloppement et lrsquointeacutegration drsquoune carte performante dans

vos applications WPF

Utilisation drsquoun controcircle commercial deacutedieacute ndash Telerik RadMap

Description technique

En utilisant le controcircle RadMap de la librairie proposeacutee par Telerik on obtient un composant

cartographique multifournisseur permettant drsquoafficher des cartes nativement en WPF

Le controcircle tente de reproduire le comportement et le rendu disponible dans celui proposeacute en Silverlight

reposant sur la technologie DeepZoom

Analyse

Avantages Inconveacutenients

Meacutethode supporteacutee par Telerik Performances et expeacuterience relativement

limiteacutees

Simpliciteacute de deacuteveloppement et possibiliteacute

de changement de fournisseur de contenu

Composant commercial et licence associeacutee

Inteacutegration WPF Evolution du composant

Mon avis

Cette solution commerciale preacutesente un controcircle simple agrave utiliser mais qui nrsquoapporte pas une expeacuterience

utilisateur suffisante pour approcher celle du controcircle AJAX ou Silverlight

Lrsquoaspect commercial de la solution nrsquoest eacutegalement pas lagrave pour simplifier la mise en place au sein drsquoun

projet client

Deacuteveloppement personnaliseacute natif WPF

Description technique

La solution la plus radicale consiste agrave recreacuteer soi-mecircme un controcircle en WPF natif utilisant des eacuteleacutements

standards pour charger une carte agrave travers un canvas deacutedieacute

Analyse

Avantages Inconveacutenients

Maitrise complegravete du deacuteveloppement Complexiteacute de deacuteveloppement

Inteacutegration WPF et performances Coucirct lieacute

Evolution du controcircle vis agrave vis de la

plateforme

Probleacutematique drsquoeacutevolution de

performances de test et charges

Mon avis

Certainement lrsquooption la plus permissive peu importe lrsquoexploitation du controcircle qui est faite cette

solution a cependant des inconveacutenients notables puisqursquoelle neacutecessite un deacuteveloppement personnaliseacute

qui peut tregraves vite devenir couteux en temps et tregraves deacutelicat agrave appreacutehender

Cas particuliers de la table Microsoft Surface

La table Surface de Microsoft se preacutesente agrave preacutesent en 2 versions distinctes que je choisis ici de

preacutesenter briegravevement Nous allons ensuite nous inteacuteresser au cas speacutecifique des applications srsquoexeacutecutant

sur ce type de peacuteripheacuterique

Le deacutetail complet et des articles explicatifs preacutecis sont disponibles sur la MSDN

httpmsdnmicrosoftcomen-uslibraryee804845(v=Surface10)aspx

La table Surface en version 1 (Microsoft Surface Table V1)

La premiegravere version a eacuteteacute rendue disponible agrave partir de 2009 et reposait sur une technologie de

reconnaissance de forme utilisant des cameacuteras inteacutegreacutees agrave la table qui se preacutesente comme cela

La table Surface en version 2 (Microsoft Surface Table V2)

La seconde version a eacuteteacute annonceacutee et devrait ecirctre commercialiseacutee dans le second semestre 2011

Pour reacutealiser la reconnaissance de forme et la deacutetection des interactions utilisateurs Samsung et

Microsoft ont mis au point une technologie baptiseacutee PixelSense qui srsquoappuie sur un reacuteseau de LED

Infrarouge et une couche de deacutetection optique capturant le reacutesultat reacutefleacutechie de lrsquoinfrarouge

Pour plus drsquoinformations sur la technologie PixelSense utiliseacutee au sein de cette Surface 20 nrsquoheacutesitez

pas agrave vous rendre sur le site deacutedieacute httpwwwmicrosoftcomsurfaceenuspixelsenseaspx

Principales diffeacuterences

Forme mateacuteriel et technologie

La table Surface V1 pegravese 70 Kg et utilise une technologie de reconnaissance de forme baseacute sur un reacuteseau

de cameacutera

La table Surface V2 quant agrave elle preacutesente un poids moindre (40 Kg) et donne la possibiliteacute drsquoecirctre orienteacute

et mecircme ecirctre disposeacutee sur un mur Une eacutepaisseur de seulement une dizaine de centimegravetre gracircce agrave

lrsquoutilisation de la technologie PixelSense

Evidemment la configuration mateacuterielle (le PC qui exeacutecute les applications) a aussi connu une cure de

jouvence Le systegraveme drsquoexploitation est logiquement changeacute pour passer de Windows Vista (v1) agrave

Windows 7 (v2)

En reacutesumeacute

Surface V10 Surface V20

Ecran 30rdquo XGA projecteur avec

surface polie

40rdquo LCD avec une vitre de

type Gorilla Glass

Reacutesolution 1024 768 1920 1080 (HD 1080p)

Technologie

multitouch

Reacuteseau de projecteur et de 5

cameacuteras

52 contacts simultaneacutes

PixelSense

50 contacts simultaneacutes

Dimensions 56 cm drsquoeacutepaisseur

686 cm de large pour la

surface

572 cm de large pour la

base

108 cm de long

10 cm drsquoeacutepaisseur

102 cm de diagonale

Poids 70 Kg 40 Kg

Disposition Horizontale Horizontale ou Verticale

(inclinable)

Processeur Intel Core 2 Duo (213 Ghz) AMD Athlon II X2 Dual-

Core Processor 29GHz

Carte

graphique

ATI X1650 AMD Radeon HD 6700M

RAM 2 Go DDR2 4 Go DDR3

Disque dur 250 Go SATA 7200 tmin 320 Go SATA 7200 tmin

Support HDMI Non Oui

Systegraveme Windows Vista Pro 32-bit Windows 7 Pro 64-bit

Coucirct 12 500 $ 9000 euro env 7 600 $ 5 400 euro env

Sources

httptechnetmicrosoftcomen-uslibraryee692114(Surface10)aspx

httpctlabsblogspotcom201101microsoft-surface-20-multi-touch-wonderhtml

httpenwikipediaorgwikiMicrosoft_SurfaceSurface_20

Aspect logiciel

Fondamentalement la technologie utiliseacutee reste identique puisqursquoil srsquoagit dans

les 2 versions drsquoun Framework baseacute sur WPF Il est eacutegalement possible de

reacutealiser des applications en XNA sur ce type de peacuteripheacuterique

Le gros point de diffeacuterence reacuteside dans la maniegravere de geacuterer les contacts qui dans

la premiegravere version eacutetaient des ContactEvent (avec des proprieacuteteacutes deacutedieacutees)

Le nouveau SDK ainsi que les outils de deacuteveloppement ou de simulation de la

table Surface ont eux aussi eacuteteacute mis agrave jour avec notamment un simulateur

ameacutelioreacute de la table

Enfin eacutevidemment le Framework Surface a eacuteteacute eacutetendu avec de nouveaux

controcircles et nouvelles possibiliteacutes disponibles agrave travers ce lien

httpwwwmicrosoftcomdownloadendetailsaspxid=26716

Concernant la migration drsquoune application Surface v1 vers Surface v2 pour les cas simples il est

possible drsquoutiliser le PowerToy fourni par Microsoft et preacutesenteacute agrave travers le lien suivant

httpmsdnmicrosoftcomen-uslibrarygg697146aspx

Consideacuterations pour vos applications pour la table Surface V10

La table Surface v10 repose sur une couche de capture des eacuteveacutenements qui srsquoopegravere au-dessus de

lrsquoapplication WPF Il faut alors pouvoir capturer ses contacts au-dessus des composants utiliseacutes et

bindeacutes ces derniers sur une manipulation WPF adapteacutee

Les solutions reposant sur lrsquoutilisation du controcircle WebBrowser ne peuvent pas fonctionner en

manipulation directe de la carte on ne peut donc pas capturer les contacts au-dessus drsquoun controcircle

WebBrowser classique

En effet ce controcircle existe depuis les anciennes versions du Framework et repose sur un controcircle Win32

et le rendu srsquoopegravere au dessus de tout controcircle WPF et eacutegalement au-dessus de la couche de capture des

contacts Degraves lors il est donc impossible drsquoobtenir un eacuteveacutenement de contact au-dessus de la page

heacutebergeacute par le controcircle WebBrowser

Evolution des deacuteveloppements

Les applications deacuteveloppeacutees pour la table Surface seront les mecircmes que ceux des tablettes Windows 7

ou des PC avec eacutecran tactiles Elles seront naturellement compatibles sur PC avec une simple souris

Ce qui inteacuteressant dans ce cas crsquoest la capaciteacute simple permettant de migrer une application sur un type

de support vers un autre et inversement Il est eacutegalement inteacuteressant de voir que lrsquointeacutegration de

controcircles avanceacutes se fera de maniegravere plus aiseacutee et surtout une meacutethode unique les consideacuterations

concernant lrsquointeacutegration de la cartographie en WPF se reacuteduisent puisqursquoil srsquoagit lagrave des mecircmes

deacuteveloppements

Attention toutefois les applications srsquoexeacutecutant sur une table Surface doivent agrave mon sens faire preuve

drsquoune reacuteflexion particuliegravere sur lrsquoutilisation qui va en ecirctre faite Il faut concevoir lrsquoapplication comme

eacutetant possiblement exploitable de nrsquoimporte quel cocircteacute de la table et surtout avec de lrsquoinformation

adapteacutee et lisible dans ce cas preacutesent Lrsquoutilisation simultaneacutee par plusieurs utilisateurs est eacutegalement un

eacuteleacutement dont il faut tenir compte et qui est agrave reacutefleacutechir

Conclusions

Lrsquoensemble de ces solutions techniques drsquointeacutegration de plateforme cartographique au sein drsquoapplication

WPF sont agrave consideacuterer en fonction du contexte final drsquoexeacutecution

En effet on ne peut pas aiseacutement deacutesigner LA solution parfaite pour tous les cas car lagrave ougrave pour certains

le besoin en support et eacutevolution du composant est primordial lrsquointeacutegration fine et le besoin de

customisation seront neacutegligeacutes et inversement

Par contre la solution utilisant le plugin 3d (Concierge ou controcircle InfoStratVE) ne doivent plus ecirctre

utiliseacutees pour de nouveaux projets et devront tregraves certainement subir une migration dans les mois agrave venir

agrave la fin de vie du plugin (novembre 2011)

Il eacutegalement agrave noter que dans ce type drsquointeacutegration il est toutefois neacutecessaire de conserver en tecircte

lrsquoaspect leacutegal et donc se rapprocher de Microsoft pour obtenir davantage drsquoinformation concernant les

licences drsquoutilisation de la plateforme Bing Maps for Enterprise

Autres pistes agrave explorer

Si vous avez en tecircte drsquoautres solutions drsquointeacutegration de lrsquoAPI Bing Maps ou plus geacuteneacuteralement de

cartographie au sein drsquoapplication WPF agrave laquelle je nrsquoaurai penseacute nrsquoheacutesitez pas agrave me contacter ou agrave

laisser un commentaire

Je nrsquoai pas preacutesenteacute la solution drsquointeacutegration de Google Earth API puisque je voulais des solutions

drsquointeacutegration de la plateforme Bing Maps for Enterprise principalement mais il est eacutevident que cela peut

ecirctre une solution possible drsquointeacutegration

La solution drsquointeacutegration ESRI nrsquoa pas non plus eacuteteacute preacutesenteacutee puisque leurs controcircles ne sont pas

librement accessibles en version drsquoeacutevaluation

Aussi si vous aussi vous rencontrez ce genre de besoin nrsquoheacutesitez pas agrave me contacter pour eacutechanger sur

le sujet

Page 10: Bing Maps for Enterprise – Inte gration dans une ... Maps for... · pointue des technologies WPF et Silverlight. Elle présente toutefois un avantage notable, elle permet en effet

Utilisation drsquoun navigateur alternatif et du controcircle Silverlight

Description technique

En utilisant le controcircle navigateur baseacute sur Chromium agrave travers le wrapper deacutedieacute on charge une

application simple inteacutegrant le controcircle Silverlight de la plateforme Bing Maps for Enterprise

Le projet WPFChromium preacutesenteacute avec la solution preacuteceacutedente permet de reacutealiser cette inteacutegration mais

peut amener des difficulteacutes de chargement du contenu Silverlight

Analyse

Avantages Inconveacutenients

Inteacutegration graphique faciliteacutee Meacutethode non-supporteacutee

Performances Problegraveme possible de compatibiliteacute

Silverlight

Possibiliteacute drsquointeacutegrer la logique

applicative dans lrsquoapplication

Silverlight

Evolution difficulteacute de

deacuteveloppement et limitations

drsquointeropeacuterabiliteacute possibles

Mon avis

Cette solution preacutesente de nombreux points de doutes avec notamment un gros souci de

compatibiliteacutesupport du controcircle navigateur tout comme le support Silverlight dans ce contexte

La complexiteacute de deacuteveloppement et les limitations possibles drsquointeropeacuterabiliteacute avec ce navigateur

alternatif devront faire lrsquoobjet drsquoune reflexion approfondie

Utilisation drsquoune application Silverlight directement en WPF

Description technique

En reacutealisant une application Silverlight inteacutegrant le controcircle Silverlight de Bing Maps for Enterprise on

utilise directement ce composant au sein de lrsquoapplication WPF

Pour cela plusieurs techniques possibles dont voici quelques liens utiles

httpmsdnmicrosoftcomen-uslibraryff921109(v=pandp40)aspx

httpblogsmsdncombclrteamarchive20091201sharing-silverlight-assemblies-with-net-

appsaspx

httpkarlshifflettwordpresscom20091119silverlight-3-4-library-sharing-with-net-4-0-

library-or-wpf

httpmsdnmicrosoftcomen-uslibrarycc903925(VS95)aspx

httpjmorrillhjtcentralcomHometabid428EntryId446Differences-between-WPF-and-

Silverlight-Rendering-Stacksaspx

Un projet CodePlex facilite cette inteacutegration il srsquoagit de SilverlightViewport deacuteveloppeacute par Jeremiah

Morrill (qui soit dit au passage est un vrai guru en WPF et autres technologies de preacutesentation)

Ce projet est disponible via ce lien httpsilverlightviewportcodeplexcom

Analyse

Avantages Inconveacutenients

Inteacutegration WPF Meacutethode non supporteacutee

Performance du controcircle Silverlight Complexiteacute de deacuteveloppement

Possibiliteacute drsquointeacutegrer la logique applicative

dans lrsquoapplication Silverlight

Deacutependance au plugin Silverlight

Mon avis

Cette technique drsquoimpleacutementation est assez deacutelicate agrave mettre en place et neacutecessite une connaissance

pointue des technologies WPF et Silverlight

Elle preacutesente toutefois un avantage notable elle permet en effet de srsquointeacutegrer de maniegravere parfaite en

WPF et nrsquoimpose pas de deacutependance agrave un quelconque controcircle navigateur

Utilisation du plugin 3d agrave travers le controcircle InfoStratVE ndash CodePlex

Description technique

Cette solution technique repose sur lrsquoutilisation du plugin 3d disponible avec la version 63 et qui est

utiliseacute au sein drsquoune surface Direct3D directement au sein de WPF

Le projet InfoStratVE disponible sur CodePlex et deacuteveloppeacute par InfoStrat fournit la couche de

manipulation entre WPF et le plugin 3D ce qui simplifie grandement la gestion des eacuteveacutenements et la

manipulation du composant natif

Analyse

Avantages Inconveacutenients

Utilisation du plugin 3D Fin de vie du plugin 3D

Performances Meacutethode non supporteacutee

Inteacutegration WPF et simpliciteacute du

deacuteveloppement

Nombre drsquoinstance simultaneacutee limiteacutee du

controcircle

Mon avis

Cette solution fonctionne agrave merveille et permets de proposer des performances eacuteleveacutees et une expeacuterience

3d qui se combine agrave merveille sur les applications Surface

Cependant la fin de vie programmeacutee du plugin 3D de la plateforme Bing Maps for Enterprise impose agrave

chacun de consideacuterer cette solution comme obsolegravete et mecircme agrave remplacer dans un futur proche compte

tenu de lrsquoeacutevolution prochaine de la plateforme relativement incertaine vis agrave vis de ce plugin 3D

Utilisation du controcircle GreatMaps for WPF ndash CodePlex

Description technique

La solution technique employeacutee utilise un controcircle natif WPF (ou WinForm et mecircme Windows

Mobile) qui repose sur un fonctionnement standard de geacuteneacuteration de tuile

Le controcircle est disponible au sein du projet GreatMap heacutebergeacute sur CodePlex rend possible

lrsquoaffichage de cartes chargeacutees sous formes de tuiles

Voici le lien vers ce projet httpgreatmapscodeplexcom

Analyse

Avantages Inconveacutenients

Inteacutegration WPF Support limiteacute

Simpliciteacute du deacuteveloppement et possibiliteacute

de changement de fournisseur de contenu

Evolution deacutelicate du controcircle vis agrave

vis des services de la plateforme

Performances

Mon avis

Cette solution meacuterite le deacutetour puisque dans la version actuelle on dispose drsquoun controcircle deacutedieacute agrave

WinForm et un autre agrave WPF

Le controcircle permet drsquoutiliser de multiples fournisseurs de carte (Bing Maps for Enterprise OSM

Google Mapshellip) et simplifie grandement le deacuteveloppement et lrsquointeacutegration drsquoune carte performante dans

vos applications WPF

Utilisation drsquoun controcircle commercial deacutedieacute ndash Telerik RadMap

Description technique

En utilisant le controcircle RadMap de la librairie proposeacutee par Telerik on obtient un composant

cartographique multifournisseur permettant drsquoafficher des cartes nativement en WPF

Le controcircle tente de reproduire le comportement et le rendu disponible dans celui proposeacute en Silverlight

reposant sur la technologie DeepZoom

Analyse

Avantages Inconveacutenients

Meacutethode supporteacutee par Telerik Performances et expeacuterience relativement

limiteacutees

Simpliciteacute de deacuteveloppement et possibiliteacute

de changement de fournisseur de contenu

Composant commercial et licence associeacutee

Inteacutegration WPF Evolution du composant

Mon avis

Cette solution commerciale preacutesente un controcircle simple agrave utiliser mais qui nrsquoapporte pas une expeacuterience

utilisateur suffisante pour approcher celle du controcircle AJAX ou Silverlight

Lrsquoaspect commercial de la solution nrsquoest eacutegalement pas lagrave pour simplifier la mise en place au sein drsquoun

projet client

Deacuteveloppement personnaliseacute natif WPF

Description technique

La solution la plus radicale consiste agrave recreacuteer soi-mecircme un controcircle en WPF natif utilisant des eacuteleacutements

standards pour charger une carte agrave travers un canvas deacutedieacute

Analyse

Avantages Inconveacutenients

Maitrise complegravete du deacuteveloppement Complexiteacute de deacuteveloppement

Inteacutegration WPF et performances Coucirct lieacute

Evolution du controcircle vis agrave vis de la

plateforme

Probleacutematique drsquoeacutevolution de

performances de test et charges

Mon avis

Certainement lrsquooption la plus permissive peu importe lrsquoexploitation du controcircle qui est faite cette

solution a cependant des inconveacutenients notables puisqursquoelle neacutecessite un deacuteveloppement personnaliseacute

qui peut tregraves vite devenir couteux en temps et tregraves deacutelicat agrave appreacutehender

Cas particuliers de la table Microsoft Surface

La table Surface de Microsoft se preacutesente agrave preacutesent en 2 versions distinctes que je choisis ici de

preacutesenter briegravevement Nous allons ensuite nous inteacuteresser au cas speacutecifique des applications srsquoexeacutecutant

sur ce type de peacuteripheacuterique

Le deacutetail complet et des articles explicatifs preacutecis sont disponibles sur la MSDN

httpmsdnmicrosoftcomen-uslibraryee804845(v=Surface10)aspx

La table Surface en version 1 (Microsoft Surface Table V1)

La premiegravere version a eacuteteacute rendue disponible agrave partir de 2009 et reposait sur une technologie de

reconnaissance de forme utilisant des cameacuteras inteacutegreacutees agrave la table qui se preacutesente comme cela

La table Surface en version 2 (Microsoft Surface Table V2)

La seconde version a eacuteteacute annonceacutee et devrait ecirctre commercialiseacutee dans le second semestre 2011

Pour reacutealiser la reconnaissance de forme et la deacutetection des interactions utilisateurs Samsung et

Microsoft ont mis au point une technologie baptiseacutee PixelSense qui srsquoappuie sur un reacuteseau de LED

Infrarouge et une couche de deacutetection optique capturant le reacutesultat reacutefleacutechie de lrsquoinfrarouge

Pour plus drsquoinformations sur la technologie PixelSense utiliseacutee au sein de cette Surface 20 nrsquoheacutesitez

pas agrave vous rendre sur le site deacutedieacute httpwwwmicrosoftcomsurfaceenuspixelsenseaspx

Principales diffeacuterences

Forme mateacuteriel et technologie

La table Surface V1 pegravese 70 Kg et utilise une technologie de reconnaissance de forme baseacute sur un reacuteseau

de cameacutera

La table Surface V2 quant agrave elle preacutesente un poids moindre (40 Kg) et donne la possibiliteacute drsquoecirctre orienteacute

et mecircme ecirctre disposeacutee sur un mur Une eacutepaisseur de seulement une dizaine de centimegravetre gracircce agrave

lrsquoutilisation de la technologie PixelSense

Evidemment la configuration mateacuterielle (le PC qui exeacutecute les applications) a aussi connu une cure de

jouvence Le systegraveme drsquoexploitation est logiquement changeacute pour passer de Windows Vista (v1) agrave

Windows 7 (v2)

En reacutesumeacute

Surface V10 Surface V20

Ecran 30rdquo XGA projecteur avec

surface polie

40rdquo LCD avec une vitre de

type Gorilla Glass

Reacutesolution 1024 768 1920 1080 (HD 1080p)

Technologie

multitouch

Reacuteseau de projecteur et de 5

cameacuteras

52 contacts simultaneacutes

PixelSense

50 contacts simultaneacutes

Dimensions 56 cm drsquoeacutepaisseur

686 cm de large pour la

surface

572 cm de large pour la

base

108 cm de long

10 cm drsquoeacutepaisseur

102 cm de diagonale

Poids 70 Kg 40 Kg

Disposition Horizontale Horizontale ou Verticale

(inclinable)

Processeur Intel Core 2 Duo (213 Ghz) AMD Athlon II X2 Dual-

Core Processor 29GHz

Carte

graphique

ATI X1650 AMD Radeon HD 6700M

RAM 2 Go DDR2 4 Go DDR3

Disque dur 250 Go SATA 7200 tmin 320 Go SATA 7200 tmin

Support HDMI Non Oui

Systegraveme Windows Vista Pro 32-bit Windows 7 Pro 64-bit

Coucirct 12 500 $ 9000 euro env 7 600 $ 5 400 euro env

Sources

httptechnetmicrosoftcomen-uslibraryee692114(Surface10)aspx

httpctlabsblogspotcom201101microsoft-surface-20-multi-touch-wonderhtml

httpenwikipediaorgwikiMicrosoft_SurfaceSurface_20

Aspect logiciel

Fondamentalement la technologie utiliseacutee reste identique puisqursquoil srsquoagit dans

les 2 versions drsquoun Framework baseacute sur WPF Il est eacutegalement possible de

reacutealiser des applications en XNA sur ce type de peacuteripheacuterique

Le gros point de diffeacuterence reacuteside dans la maniegravere de geacuterer les contacts qui dans

la premiegravere version eacutetaient des ContactEvent (avec des proprieacuteteacutes deacutedieacutees)

Le nouveau SDK ainsi que les outils de deacuteveloppement ou de simulation de la

table Surface ont eux aussi eacuteteacute mis agrave jour avec notamment un simulateur

ameacutelioreacute de la table

Enfin eacutevidemment le Framework Surface a eacuteteacute eacutetendu avec de nouveaux

controcircles et nouvelles possibiliteacutes disponibles agrave travers ce lien

httpwwwmicrosoftcomdownloadendetailsaspxid=26716

Concernant la migration drsquoune application Surface v1 vers Surface v2 pour les cas simples il est

possible drsquoutiliser le PowerToy fourni par Microsoft et preacutesenteacute agrave travers le lien suivant

httpmsdnmicrosoftcomen-uslibrarygg697146aspx

Consideacuterations pour vos applications pour la table Surface V10

La table Surface v10 repose sur une couche de capture des eacuteveacutenements qui srsquoopegravere au-dessus de

lrsquoapplication WPF Il faut alors pouvoir capturer ses contacts au-dessus des composants utiliseacutes et

bindeacutes ces derniers sur une manipulation WPF adapteacutee

Les solutions reposant sur lrsquoutilisation du controcircle WebBrowser ne peuvent pas fonctionner en

manipulation directe de la carte on ne peut donc pas capturer les contacts au-dessus drsquoun controcircle

WebBrowser classique

En effet ce controcircle existe depuis les anciennes versions du Framework et repose sur un controcircle Win32

et le rendu srsquoopegravere au dessus de tout controcircle WPF et eacutegalement au-dessus de la couche de capture des

contacts Degraves lors il est donc impossible drsquoobtenir un eacuteveacutenement de contact au-dessus de la page

heacutebergeacute par le controcircle WebBrowser

Evolution des deacuteveloppements

Les applications deacuteveloppeacutees pour la table Surface seront les mecircmes que ceux des tablettes Windows 7

ou des PC avec eacutecran tactiles Elles seront naturellement compatibles sur PC avec une simple souris

Ce qui inteacuteressant dans ce cas crsquoest la capaciteacute simple permettant de migrer une application sur un type

de support vers un autre et inversement Il est eacutegalement inteacuteressant de voir que lrsquointeacutegration de

controcircles avanceacutes se fera de maniegravere plus aiseacutee et surtout une meacutethode unique les consideacuterations

concernant lrsquointeacutegration de la cartographie en WPF se reacuteduisent puisqursquoil srsquoagit lagrave des mecircmes

deacuteveloppements

Attention toutefois les applications srsquoexeacutecutant sur une table Surface doivent agrave mon sens faire preuve

drsquoune reacuteflexion particuliegravere sur lrsquoutilisation qui va en ecirctre faite Il faut concevoir lrsquoapplication comme

eacutetant possiblement exploitable de nrsquoimporte quel cocircteacute de la table et surtout avec de lrsquoinformation

adapteacutee et lisible dans ce cas preacutesent Lrsquoutilisation simultaneacutee par plusieurs utilisateurs est eacutegalement un

eacuteleacutement dont il faut tenir compte et qui est agrave reacutefleacutechir

Conclusions

Lrsquoensemble de ces solutions techniques drsquointeacutegration de plateforme cartographique au sein drsquoapplication

WPF sont agrave consideacuterer en fonction du contexte final drsquoexeacutecution

En effet on ne peut pas aiseacutement deacutesigner LA solution parfaite pour tous les cas car lagrave ougrave pour certains

le besoin en support et eacutevolution du composant est primordial lrsquointeacutegration fine et le besoin de

customisation seront neacutegligeacutes et inversement

Par contre la solution utilisant le plugin 3d (Concierge ou controcircle InfoStratVE) ne doivent plus ecirctre

utiliseacutees pour de nouveaux projets et devront tregraves certainement subir une migration dans les mois agrave venir

agrave la fin de vie du plugin (novembre 2011)

Il eacutegalement agrave noter que dans ce type drsquointeacutegration il est toutefois neacutecessaire de conserver en tecircte

lrsquoaspect leacutegal et donc se rapprocher de Microsoft pour obtenir davantage drsquoinformation concernant les

licences drsquoutilisation de la plateforme Bing Maps for Enterprise

Autres pistes agrave explorer

Si vous avez en tecircte drsquoautres solutions drsquointeacutegration de lrsquoAPI Bing Maps ou plus geacuteneacuteralement de

cartographie au sein drsquoapplication WPF agrave laquelle je nrsquoaurai penseacute nrsquoheacutesitez pas agrave me contacter ou agrave

laisser un commentaire

Je nrsquoai pas preacutesenteacute la solution drsquointeacutegration de Google Earth API puisque je voulais des solutions

drsquointeacutegration de la plateforme Bing Maps for Enterprise principalement mais il est eacutevident que cela peut

ecirctre une solution possible drsquointeacutegration

La solution drsquointeacutegration ESRI nrsquoa pas non plus eacuteteacute preacutesenteacutee puisque leurs controcircles ne sont pas

librement accessibles en version drsquoeacutevaluation

Aussi si vous aussi vous rencontrez ce genre de besoin nrsquoheacutesitez pas agrave me contacter pour eacutechanger sur

le sujet

Page 11: Bing Maps for Enterprise – Inte gration dans une ... Maps for... · pointue des technologies WPF et Silverlight. Elle présente toutefois un avantage notable, elle permet en effet

Utilisation drsquoune application Silverlight directement en WPF

Description technique

En reacutealisant une application Silverlight inteacutegrant le controcircle Silverlight de Bing Maps for Enterprise on

utilise directement ce composant au sein de lrsquoapplication WPF

Pour cela plusieurs techniques possibles dont voici quelques liens utiles

httpmsdnmicrosoftcomen-uslibraryff921109(v=pandp40)aspx

httpblogsmsdncombclrteamarchive20091201sharing-silverlight-assemblies-with-net-

appsaspx

httpkarlshifflettwordpresscom20091119silverlight-3-4-library-sharing-with-net-4-0-

library-or-wpf

httpmsdnmicrosoftcomen-uslibrarycc903925(VS95)aspx

httpjmorrillhjtcentralcomHometabid428EntryId446Differences-between-WPF-and-

Silverlight-Rendering-Stacksaspx

Un projet CodePlex facilite cette inteacutegration il srsquoagit de SilverlightViewport deacuteveloppeacute par Jeremiah

Morrill (qui soit dit au passage est un vrai guru en WPF et autres technologies de preacutesentation)

Ce projet est disponible via ce lien httpsilverlightviewportcodeplexcom

Analyse

Avantages Inconveacutenients

Inteacutegration WPF Meacutethode non supporteacutee

Performance du controcircle Silverlight Complexiteacute de deacuteveloppement

Possibiliteacute drsquointeacutegrer la logique applicative

dans lrsquoapplication Silverlight

Deacutependance au plugin Silverlight

Mon avis

Cette technique drsquoimpleacutementation est assez deacutelicate agrave mettre en place et neacutecessite une connaissance

pointue des technologies WPF et Silverlight

Elle preacutesente toutefois un avantage notable elle permet en effet de srsquointeacutegrer de maniegravere parfaite en

WPF et nrsquoimpose pas de deacutependance agrave un quelconque controcircle navigateur

Utilisation du plugin 3d agrave travers le controcircle InfoStratVE ndash CodePlex

Description technique

Cette solution technique repose sur lrsquoutilisation du plugin 3d disponible avec la version 63 et qui est

utiliseacute au sein drsquoune surface Direct3D directement au sein de WPF

Le projet InfoStratVE disponible sur CodePlex et deacuteveloppeacute par InfoStrat fournit la couche de

manipulation entre WPF et le plugin 3D ce qui simplifie grandement la gestion des eacuteveacutenements et la

manipulation du composant natif

Analyse

Avantages Inconveacutenients

Utilisation du plugin 3D Fin de vie du plugin 3D

Performances Meacutethode non supporteacutee

Inteacutegration WPF et simpliciteacute du

deacuteveloppement

Nombre drsquoinstance simultaneacutee limiteacutee du

controcircle

Mon avis

Cette solution fonctionne agrave merveille et permets de proposer des performances eacuteleveacutees et une expeacuterience

3d qui se combine agrave merveille sur les applications Surface

Cependant la fin de vie programmeacutee du plugin 3D de la plateforme Bing Maps for Enterprise impose agrave

chacun de consideacuterer cette solution comme obsolegravete et mecircme agrave remplacer dans un futur proche compte

tenu de lrsquoeacutevolution prochaine de la plateforme relativement incertaine vis agrave vis de ce plugin 3D

Utilisation du controcircle GreatMaps for WPF ndash CodePlex

Description technique

La solution technique employeacutee utilise un controcircle natif WPF (ou WinForm et mecircme Windows

Mobile) qui repose sur un fonctionnement standard de geacuteneacuteration de tuile

Le controcircle est disponible au sein du projet GreatMap heacutebergeacute sur CodePlex rend possible

lrsquoaffichage de cartes chargeacutees sous formes de tuiles

Voici le lien vers ce projet httpgreatmapscodeplexcom

Analyse

Avantages Inconveacutenients

Inteacutegration WPF Support limiteacute

Simpliciteacute du deacuteveloppement et possibiliteacute

de changement de fournisseur de contenu

Evolution deacutelicate du controcircle vis agrave

vis des services de la plateforme

Performances

Mon avis

Cette solution meacuterite le deacutetour puisque dans la version actuelle on dispose drsquoun controcircle deacutedieacute agrave

WinForm et un autre agrave WPF

Le controcircle permet drsquoutiliser de multiples fournisseurs de carte (Bing Maps for Enterprise OSM

Google Mapshellip) et simplifie grandement le deacuteveloppement et lrsquointeacutegration drsquoune carte performante dans

vos applications WPF

Utilisation drsquoun controcircle commercial deacutedieacute ndash Telerik RadMap

Description technique

En utilisant le controcircle RadMap de la librairie proposeacutee par Telerik on obtient un composant

cartographique multifournisseur permettant drsquoafficher des cartes nativement en WPF

Le controcircle tente de reproduire le comportement et le rendu disponible dans celui proposeacute en Silverlight

reposant sur la technologie DeepZoom

Analyse

Avantages Inconveacutenients

Meacutethode supporteacutee par Telerik Performances et expeacuterience relativement

limiteacutees

Simpliciteacute de deacuteveloppement et possibiliteacute

de changement de fournisseur de contenu

Composant commercial et licence associeacutee

Inteacutegration WPF Evolution du composant

Mon avis

Cette solution commerciale preacutesente un controcircle simple agrave utiliser mais qui nrsquoapporte pas une expeacuterience

utilisateur suffisante pour approcher celle du controcircle AJAX ou Silverlight

Lrsquoaspect commercial de la solution nrsquoest eacutegalement pas lagrave pour simplifier la mise en place au sein drsquoun

projet client

Deacuteveloppement personnaliseacute natif WPF

Description technique

La solution la plus radicale consiste agrave recreacuteer soi-mecircme un controcircle en WPF natif utilisant des eacuteleacutements

standards pour charger une carte agrave travers un canvas deacutedieacute

Analyse

Avantages Inconveacutenients

Maitrise complegravete du deacuteveloppement Complexiteacute de deacuteveloppement

Inteacutegration WPF et performances Coucirct lieacute

Evolution du controcircle vis agrave vis de la

plateforme

Probleacutematique drsquoeacutevolution de

performances de test et charges

Mon avis

Certainement lrsquooption la plus permissive peu importe lrsquoexploitation du controcircle qui est faite cette

solution a cependant des inconveacutenients notables puisqursquoelle neacutecessite un deacuteveloppement personnaliseacute

qui peut tregraves vite devenir couteux en temps et tregraves deacutelicat agrave appreacutehender

Cas particuliers de la table Microsoft Surface

La table Surface de Microsoft se preacutesente agrave preacutesent en 2 versions distinctes que je choisis ici de

preacutesenter briegravevement Nous allons ensuite nous inteacuteresser au cas speacutecifique des applications srsquoexeacutecutant

sur ce type de peacuteripheacuterique

Le deacutetail complet et des articles explicatifs preacutecis sont disponibles sur la MSDN

httpmsdnmicrosoftcomen-uslibraryee804845(v=Surface10)aspx

La table Surface en version 1 (Microsoft Surface Table V1)

La premiegravere version a eacuteteacute rendue disponible agrave partir de 2009 et reposait sur une technologie de

reconnaissance de forme utilisant des cameacuteras inteacutegreacutees agrave la table qui se preacutesente comme cela

La table Surface en version 2 (Microsoft Surface Table V2)

La seconde version a eacuteteacute annonceacutee et devrait ecirctre commercialiseacutee dans le second semestre 2011

Pour reacutealiser la reconnaissance de forme et la deacutetection des interactions utilisateurs Samsung et

Microsoft ont mis au point une technologie baptiseacutee PixelSense qui srsquoappuie sur un reacuteseau de LED

Infrarouge et une couche de deacutetection optique capturant le reacutesultat reacutefleacutechie de lrsquoinfrarouge

Pour plus drsquoinformations sur la technologie PixelSense utiliseacutee au sein de cette Surface 20 nrsquoheacutesitez

pas agrave vous rendre sur le site deacutedieacute httpwwwmicrosoftcomsurfaceenuspixelsenseaspx

Principales diffeacuterences

Forme mateacuteriel et technologie

La table Surface V1 pegravese 70 Kg et utilise une technologie de reconnaissance de forme baseacute sur un reacuteseau

de cameacutera

La table Surface V2 quant agrave elle preacutesente un poids moindre (40 Kg) et donne la possibiliteacute drsquoecirctre orienteacute

et mecircme ecirctre disposeacutee sur un mur Une eacutepaisseur de seulement une dizaine de centimegravetre gracircce agrave

lrsquoutilisation de la technologie PixelSense

Evidemment la configuration mateacuterielle (le PC qui exeacutecute les applications) a aussi connu une cure de

jouvence Le systegraveme drsquoexploitation est logiquement changeacute pour passer de Windows Vista (v1) agrave

Windows 7 (v2)

En reacutesumeacute

Surface V10 Surface V20

Ecran 30rdquo XGA projecteur avec

surface polie

40rdquo LCD avec une vitre de

type Gorilla Glass

Reacutesolution 1024 768 1920 1080 (HD 1080p)

Technologie

multitouch

Reacuteseau de projecteur et de 5

cameacuteras

52 contacts simultaneacutes

PixelSense

50 contacts simultaneacutes

Dimensions 56 cm drsquoeacutepaisseur

686 cm de large pour la

surface

572 cm de large pour la

base

108 cm de long

10 cm drsquoeacutepaisseur

102 cm de diagonale

Poids 70 Kg 40 Kg

Disposition Horizontale Horizontale ou Verticale

(inclinable)

Processeur Intel Core 2 Duo (213 Ghz) AMD Athlon II X2 Dual-

Core Processor 29GHz

Carte

graphique

ATI X1650 AMD Radeon HD 6700M

RAM 2 Go DDR2 4 Go DDR3

Disque dur 250 Go SATA 7200 tmin 320 Go SATA 7200 tmin

Support HDMI Non Oui

Systegraveme Windows Vista Pro 32-bit Windows 7 Pro 64-bit

Coucirct 12 500 $ 9000 euro env 7 600 $ 5 400 euro env

Sources

httptechnetmicrosoftcomen-uslibraryee692114(Surface10)aspx

httpctlabsblogspotcom201101microsoft-surface-20-multi-touch-wonderhtml

httpenwikipediaorgwikiMicrosoft_SurfaceSurface_20

Aspect logiciel

Fondamentalement la technologie utiliseacutee reste identique puisqursquoil srsquoagit dans

les 2 versions drsquoun Framework baseacute sur WPF Il est eacutegalement possible de

reacutealiser des applications en XNA sur ce type de peacuteripheacuterique

Le gros point de diffeacuterence reacuteside dans la maniegravere de geacuterer les contacts qui dans

la premiegravere version eacutetaient des ContactEvent (avec des proprieacuteteacutes deacutedieacutees)

Le nouveau SDK ainsi que les outils de deacuteveloppement ou de simulation de la

table Surface ont eux aussi eacuteteacute mis agrave jour avec notamment un simulateur

ameacutelioreacute de la table

Enfin eacutevidemment le Framework Surface a eacuteteacute eacutetendu avec de nouveaux

controcircles et nouvelles possibiliteacutes disponibles agrave travers ce lien

httpwwwmicrosoftcomdownloadendetailsaspxid=26716

Concernant la migration drsquoune application Surface v1 vers Surface v2 pour les cas simples il est

possible drsquoutiliser le PowerToy fourni par Microsoft et preacutesenteacute agrave travers le lien suivant

httpmsdnmicrosoftcomen-uslibrarygg697146aspx

Consideacuterations pour vos applications pour la table Surface V10

La table Surface v10 repose sur une couche de capture des eacuteveacutenements qui srsquoopegravere au-dessus de

lrsquoapplication WPF Il faut alors pouvoir capturer ses contacts au-dessus des composants utiliseacutes et

bindeacutes ces derniers sur une manipulation WPF adapteacutee

Les solutions reposant sur lrsquoutilisation du controcircle WebBrowser ne peuvent pas fonctionner en

manipulation directe de la carte on ne peut donc pas capturer les contacts au-dessus drsquoun controcircle

WebBrowser classique

En effet ce controcircle existe depuis les anciennes versions du Framework et repose sur un controcircle Win32

et le rendu srsquoopegravere au dessus de tout controcircle WPF et eacutegalement au-dessus de la couche de capture des

contacts Degraves lors il est donc impossible drsquoobtenir un eacuteveacutenement de contact au-dessus de la page

heacutebergeacute par le controcircle WebBrowser

Evolution des deacuteveloppements

Les applications deacuteveloppeacutees pour la table Surface seront les mecircmes que ceux des tablettes Windows 7

ou des PC avec eacutecran tactiles Elles seront naturellement compatibles sur PC avec une simple souris

Ce qui inteacuteressant dans ce cas crsquoest la capaciteacute simple permettant de migrer une application sur un type

de support vers un autre et inversement Il est eacutegalement inteacuteressant de voir que lrsquointeacutegration de

controcircles avanceacutes se fera de maniegravere plus aiseacutee et surtout une meacutethode unique les consideacuterations

concernant lrsquointeacutegration de la cartographie en WPF se reacuteduisent puisqursquoil srsquoagit lagrave des mecircmes

deacuteveloppements

Attention toutefois les applications srsquoexeacutecutant sur une table Surface doivent agrave mon sens faire preuve

drsquoune reacuteflexion particuliegravere sur lrsquoutilisation qui va en ecirctre faite Il faut concevoir lrsquoapplication comme

eacutetant possiblement exploitable de nrsquoimporte quel cocircteacute de la table et surtout avec de lrsquoinformation

adapteacutee et lisible dans ce cas preacutesent Lrsquoutilisation simultaneacutee par plusieurs utilisateurs est eacutegalement un

eacuteleacutement dont il faut tenir compte et qui est agrave reacutefleacutechir

Conclusions

Lrsquoensemble de ces solutions techniques drsquointeacutegration de plateforme cartographique au sein drsquoapplication

WPF sont agrave consideacuterer en fonction du contexte final drsquoexeacutecution

En effet on ne peut pas aiseacutement deacutesigner LA solution parfaite pour tous les cas car lagrave ougrave pour certains

le besoin en support et eacutevolution du composant est primordial lrsquointeacutegration fine et le besoin de

customisation seront neacutegligeacutes et inversement

Par contre la solution utilisant le plugin 3d (Concierge ou controcircle InfoStratVE) ne doivent plus ecirctre

utiliseacutees pour de nouveaux projets et devront tregraves certainement subir une migration dans les mois agrave venir

agrave la fin de vie du plugin (novembre 2011)

Il eacutegalement agrave noter que dans ce type drsquointeacutegration il est toutefois neacutecessaire de conserver en tecircte

lrsquoaspect leacutegal et donc se rapprocher de Microsoft pour obtenir davantage drsquoinformation concernant les

licences drsquoutilisation de la plateforme Bing Maps for Enterprise

Autres pistes agrave explorer

Si vous avez en tecircte drsquoautres solutions drsquointeacutegration de lrsquoAPI Bing Maps ou plus geacuteneacuteralement de

cartographie au sein drsquoapplication WPF agrave laquelle je nrsquoaurai penseacute nrsquoheacutesitez pas agrave me contacter ou agrave

laisser un commentaire

Je nrsquoai pas preacutesenteacute la solution drsquointeacutegration de Google Earth API puisque je voulais des solutions

drsquointeacutegration de la plateforme Bing Maps for Enterprise principalement mais il est eacutevident que cela peut

ecirctre une solution possible drsquointeacutegration

La solution drsquointeacutegration ESRI nrsquoa pas non plus eacuteteacute preacutesenteacutee puisque leurs controcircles ne sont pas

librement accessibles en version drsquoeacutevaluation

Aussi si vous aussi vous rencontrez ce genre de besoin nrsquoheacutesitez pas agrave me contacter pour eacutechanger sur

le sujet

Page 12: Bing Maps for Enterprise – Inte gration dans une ... Maps for... · pointue des technologies WPF et Silverlight. Elle présente toutefois un avantage notable, elle permet en effet

Utilisation du plugin 3d agrave travers le controcircle InfoStratVE ndash CodePlex

Description technique

Cette solution technique repose sur lrsquoutilisation du plugin 3d disponible avec la version 63 et qui est

utiliseacute au sein drsquoune surface Direct3D directement au sein de WPF

Le projet InfoStratVE disponible sur CodePlex et deacuteveloppeacute par InfoStrat fournit la couche de

manipulation entre WPF et le plugin 3D ce qui simplifie grandement la gestion des eacuteveacutenements et la

manipulation du composant natif

Analyse

Avantages Inconveacutenients

Utilisation du plugin 3D Fin de vie du plugin 3D

Performances Meacutethode non supporteacutee

Inteacutegration WPF et simpliciteacute du

deacuteveloppement

Nombre drsquoinstance simultaneacutee limiteacutee du

controcircle

Mon avis

Cette solution fonctionne agrave merveille et permets de proposer des performances eacuteleveacutees et une expeacuterience

3d qui se combine agrave merveille sur les applications Surface

Cependant la fin de vie programmeacutee du plugin 3D de la plateforme Bing Maps for Enterprise impose agrave

chacun de consideacuterer cette solution comme obsolegravete et mecircme agrave remplacer dans un futur proche compte

tenu de lrsquoeacutevolution prochaine de la plateforme relativement incertaine vis agrave vis de ce plugin 3D

Utilisation du controcircle GreatMaps for WPF ndash CodePlex

Description technique

La solution technique employeacutee utilise un controcircle natif WPF (ou WinForm et mecircme Windows

Mobile) qui repose sur un fonctionnement standard de geacuteneacuteration de tuile

Le controcircle est disponible au sein du projet GreatMap heacutebergeacute sur CodePlex rend possible

lrsquoaffichage de cartes chargeacutees sous formes de tuiles

Voici le lien vers ce projet httpgreatmapscodeplexcom

Analyse

Avantages Inconveacutenients

Inteacutegration WPF Support limiteacute

Simpliciteacute du deacuteveloppement et possibiliteacute

de changement de fournisseur de contenu

Evolution deacutelicate du controcircle vis agrave

vis des services de la plateforme

Performances

Mon avis

Cette solution meacuterite le deacutetour puisque dans la version actuelle on dispose drsquoun controcircle deacutedieacute agrave

WinForm et un autre agrave WPF

Le controcircle permet drsquoutiliser de multiples fournisseurs de carte (Bing Maps for Enterprise OSM

Google Mapshellip) et simplifie grandement le deacuteveloppement et lrsquointeacutegration drsquoune carte performante dans

vos applications WPF

Utilisation drsquoun controcircle commercial deacutedieacute ndash Telerik RadMap

Description technique

En utilisant le controcircle RadMap de la librairie proposeacutee par Telerik on obtient un composant

cartographique multifournisseur permettant drsquoafficher des cartes nativement en WPF

Le controcircle tente de reproduire le comportement et le rendu disponible dans celui proposeacute en Silverlight

reposant sur la technologie DeepZoom

Analyse

Avantages Inconveacutenients

Meacutethode supporteacutee par Telerik Performances et expeacuterience relativement

limiteacutees

Simpliciteacute de deacuteveloppement et possibiliteacute

de changement de fournisseur de contenu

Composant commercial et licence associeacutee

Inteacutegration WPF Evolution du composant

Mon avis

Cette solution commerciale preacutesente un controcircle simple agrave utiliser mais qui nrsquoapporte pas une expeacuterience

utilisateur suffisante pour approcher celle du controcircle AJAX ou Silverlight

Lrsquoaspect commercial de la solution nrsquoest eacutegalement pas lagrave pour simplifier la mise en place au sein drsquoun

projet client

Deacuteveloppement personnaliseacute natif WPF

Description technique

La solution la plus radicale consiste agrave recreacuteer soi-mecircme un controcircle en WPF natif utilisant des eacuteleacutements

standards pour charger une carte agrave travers un canvas deacutedieacute

Analyse

Avantages Inconveacutenients

Maitrise complegravete du deacuteveloppement Complexiteacute de deacuteveloppement

Inteacutegration WPF et performances Coucirct lieacute

Evolution du controcircle vis agrave vis de la

plateforme

Probleacutematique drsquoeacutevolution de

performances de test et charges

Mon avis

Certainement lrsquooption la plus permissive peu importe lrsquoexploitation du controcircle qui est faite cette

solution a cependant des inconveacutenients notables puisqursquoelle neacutecessite un deacuteveloppement personnaliseacute

qui peut tregraves vite devenir couteux en temps et tregraves deacutelicat agrave appreacutehender

Cas particuliers de la table Microsoft Surface

La table Surface de Microsoft se preacutesente agrave preacutesent en 2 versions distinctes que je choisis ici de

preacutesenter briegravevement Nous allons ensuite nous inteacuteresser au cas speacutecifique des applications srsquoexeacutecutant

sur ce type de peacuteripheacuterique

Le deacutetail complet et des articles explicatifs preacutecis sont disponibles sur la MSDN

httpmsdnmicrosoftcomen-uslibraryee804845(v=Surface10)aspx

La table Surface en version 1 (Microsoft Surface Table V1)

La premiegravere version a eacuteteacute rendue disponible agrave partir de 2009 et reposait sur une technologie de

reconnaissance de forme utilisant des cameacuteras inteacutegreacutees agrave la table qui se preacutesente comme cela

La table Surface en version 2 (Microsoft Surface Table V2)

La seconde version a eacuteteacute annonceacutee et devrait ecirctre commercialiseacutee dans le second semestre 2011

Pour reacutealiser la reconnaissance de forme et la deacutetection des interactions utilisateurs Samsung et

Microsoft ont mis au point une technologie baptiseacutee PixelSense qui srsquoappuie sur un reacuteseau de LED

Infrarouge et une couche de deacutetection optique capturant le reacutesultat reacutefleacutechie de lrsquoinfrarouge

Pour plus drsquoinformations sur la technologie PixelSense utiliseacutee au sein de cette Surface 20 nrsquoheacutesitez

pas agrave vous rendre sur le site deacutedieacute httpwwwmicrosoftcomsurfaceenuspixelsenseaspx

Principales diffeacuterences

Forme mateacuteriel et technologie

La table Surface V1 pegravese 70 Kg et utilise une technologie de reconnaissance de forme baseacute sur un reacuteseau

de cameacutera

La table Surface V2 quant agrave elle preacutesente un poids moindre (40 Kg) et donne la possibiliteacute drsquoecirctre orienteacute

et mecircme ecirctre disposeacutee sur un mur Une eacutepaisseur de seulement une dizaine de centimegravetre gracircce agrave

lrsquoutilisation de la technologie PixelSense

Evidemment la configuration mateacuterielle (le PC qui exeacutecute les applications) a aussi connu une cure de

jouvence Le systegraveme drsquoexploitation est logiquement changeacute pour passer de Windows Vista (v1) agrave

Windows 7 (v2)

En reacutesumeacute

Surface V10 Surface V20

Ecran 30rdquo XGA projecteur avec

surface polie

40rdquo LCD avec une vitre de

type Gorilla Glass

Reacutesolution 1024 768 1920 1080 (HD 1080p)

Technologie

multitouch

Reacuteseau de projecteur et de 5

cameacuteras

52 contacts simultaneacutes

PixelSense

50 contacts simultaneacutes

Dimensions 56 cm drsquoeacutepaisseur

686 cm de large pour la

surface

572 cm de large pour la

base

108 cm de long

10 cm drsquoeacutepaisseur

102 cm de diagonale

Poids 70 Kg 40 Kg

Disposition Horizontale Horizontale ou Verticale

(inclinable)

Processeur Intel Core 2 Duo (213 Ghz) AMD Athlon II X2 Dual-

Core Processor 29GHz

Carte

graphique

ATI X1650 AMD Radeon HD 6700M

RAM 2 Go DDR2 4 Go DDR3

Disque dur 250 Go SATA 7200 tmin 320 Go SATA 7200 tmin

Support HDMI Non Oui

Systegraveme Windows Vista Pro 32-bit Windows 7 Pro 64-bit

Coucirct 12 500 $ 9000 euro env 7 600 $ 5 400 euro env

Sources

httptechnetmicrosoftcomen-uslibraryee692114(Surface10)aspx

httpctlabsblogspotcom201101microsoft-surface-20-multi-touch-wonderhtml

httpenwikipediaorgwikiMicrosoft_SurfaceSurface_20

Aspect logiciel

Fondamentalement la technologie utiliseacutee reste identique puisqursquoil srsquoagit dans

les 2 versions drsquoun Framework baseacute sur WPF Il est eacutegalement possible de

reacutealiser des applications en XNA sur ce type de peacuteripheacuterique

Le gros point de diffeacuterence reacuteside dans la maniegravere de geacuterer les contacts qui dans

la premiegravere version eacutetaient des ContactEvent (avec des proprieacuteteacutes deacutedieacutees)

Le nouveau SDK ainsi que les outils de deacuteveloppement ou de simulation de la

table Surface ont eux aussi eacuteteacute mis agrave jour avec notamment un simulateur

ameacutelioreacute de la table

Enfin eacutevidemment le Framework Surface a eacuteteacute eacutetendu avec de nouveaux

controcircles et nouvelles possibiliteacutes disponibles agrave travers ce lien

httpwwwmicrosoftcomdownloadendetailsaspxid=26716

Concernant la migration drsquoune application Surface v1 vers Surface v2 pour les cas simples il est

possible drsquoutiliser le PowerToy fourni par Microsoft et preacutesenteacute agrave travers le lien suivant

httpmsdnmicrosoftcomen-uslibrarygg697146aspx

Consideacuterations pour vos applications pour la table Surface V10

La table Surface v10 repose sur une couche de capture des eacuteveacutenements qui srsquoopegravere au-dessus de

lrsquoapplication WPF Il faut alors pouvoir capturer ses contacts au-dessus des composants utiliseacutes et

bindeacutes ces derniers sur une manipulation WPF adapteacutee

Les solutions reposant sur lrsquoutilisation du controcircle WebBrowser ne peuvent pas fonctionner en

manipulation directe de la carte on ne peut donc pas capturer les contacts au-dessus drsquoun controcircle

WebBrowser classique

En effet ce controcircle existe depuis les anciennes versions du Framework et repose sur un controcircle Win32

et le rendu srsquoopegravere au dessus de tout controcircle WPF et eacutegalement au-dessus de la couche de capture des

contacts Degraves lors il est donc impossible drsquoobtenir un eacuteveacutenement de contact au-dessus de la page

heacutebergeacute par le controcircle WebBrowser

Evolution des deacuteveloppements

Les applications deacuteveloppeacutees pour la table Surface seront les mecircmes que ceux des tablettes Windows 7

ou des PC avec eacutecran tactiles Elles seront naturellement compatibles sur PC avec une simple souris

Ce qui inteacuteressant dans ce cas crsquoest la capaciteacute simple permettant de migrer une application sur un type

de support vers un autre et inversement Il est eacutegalement inteacuteressant de voir que lrsquointeacutegration de

controcircles avanceacutes se fera de maniegravere plus aiseacutee et surtout une meacutethode unique les consideacuterations

concernant lrsquointeacutegration de la cartographie en WPF se reacuteduisent puisqursquoil srsquoagit lagrave des mecircmes

deacuteveloppements

Attention toutefois les applications srsquoexeacutecutant sur une table Surface doivent agrave mon sens faire preuve

drsquoune reacuteflexion particuliegravere sur lrsquoutilisation qui va en ecirctre faite Il faut concevoir lrsquoapplication comme

eacutetant possiblement exploitable de nrsquoimporte quel cocircteacute de la table et surtout avec de lrsquoinformation

adapteacutee et lisible dans ce cas preacutesent Lrsquoutilisation simultaneacutee par plusieurs utilisateurs est eacutegalement un

eacuteleacutement dont il faut tenir compte et qui est agrave reacutefleacutechir

Conclusions

Lrsquoensemble de ces solutions techniques drsquointeacutegration de plateforme cartographique au sein drsquoapplication

WPF sont agrave consideacuterer en fonction du contexte final drsquoexeacutecution

En effet on ne peut pas aiseacutement deacutesigner LA solution parfaite pour tous les cas car lagrave ougrave pour certains

le besoin en support et eacutevolution du composant est primordial lrsquointeacutegration fine et le besoin de

customisation seront neacutegligeacutes et inversement

Par contre la solution utilisant le plugin 3d (Concierge ou controcircle InfoStratVE) ne doivent plus ecirctre

utiliseacutees pour de nouveaux projets et devront tregraves certainement subir une migration dans les mois agrave venir

agrave la fin de vie du plugin (novembre 2011)

Il eacutegalement agrave noter que dans ce type drsquointeacutegration il est toutefois neacutecessaire de conserver en tecircte

lrsquoaspect leacutegal et donc se rapprocher de Microsoft pour obtenir davantage drsquoinformation concernant les

licences drsquoutilisation de la plateforme Bing Maps for Enterprise

Autres pistes agrave explorer

Si vous avez en tecircte drsquoautres solutions drsquointeacutegration de lrsquoAPI Bing Maps ou plus geacuteneacuteralement de

cartographie au sein drsquoapplication WPF agrave laquelle je nrsquoaurai penseacute nrsquoheacutesitez pas agrave me contacter ou agrave

laisser un commentaire

Je nrsquoai pas preacutesenteacute la solution drsquointeacutegration de Google Earth API puisque je voulais des solutions

drsquointeacutegration de la plateforme Bing Maps for Enterprise principalement mais il est eacutevident que cela peut

ecirctre une solution possible drsquointeacutegration

La solution drsquointeacutegration ESRI nrsquoa pas non plus eacuteteacute preacutesenteacutee puisque leurs controcircles ne sont pas

librement accessibles en version drsquoeacutevaluation

Aussi si vous aussi vous rencontrez ce genre de besoin nrsquoheacutesitez pas agrave me contacter pour eacutechanger sur

le sujet

Page 13: Bing Maps for Enterprise – Inte gration dans une ... Maps for... · pointue des technologies WPF et Silverlight. Elle présente toutefois un avantage notable, elle permet en effet

Utilisation du controcircle GreatMaps for WPF ndash CodePlex

Description technique

La solution technique employeacutee utilise un controcircle natif WPF (ou WinForm et mecircme Windows

Mobile) qui repose sur un fonctionnement standard de geacuteneacuteration de tuile

Le controcircle est disponible au sein du projet GreatMap heacutebergeacute sur CodePlex rend possible

lrsquoaffichage de cartes chargeacutees sous formes de tuiles

Voici le lien vers ce projet httpgreatmapscodeplexcom

Analyse

Avantages Inconveacutenients

Inteacutegration WPF Support limiteacute

Simpliciteacute du deacuteveloppement et possibiliteacute

de changement de fournisseur de contenu

Evolution deacutelicate du controcircle vis agrave

vis des services de la plateforme

Performances

Mon avis

Cette solution meacuterite le deacutetour puisque dans la version actuelle on dispose drsquoun controcircle deacutedieacute agrave

WinForm et un autre agrave WPF

Le controcircle permet drsquoutiliser de multiples fournisseurs de carte (Bing Maps for Enterprise OSM

Google Mapshellip) et simplifie grandement le deacuteveloppement et lrsquointeacutegration drsquoune carte performante dans

vos applications WPF

Utilisation drsquoun controcircle commercial deacutedieacute ndash Telerik RadMap

Description technique

En utilisant le controcircle RadMap de la librairie proposeacutee par Telerik on obtient un composant

cartographique multifournisseur permettant drsquoafficher des cartes nativement en WPF

Le controcircle tente de reproduire le comportement et le rendu disponible dans celui proposeacute en Silverlight

reposant sur la technologie DeepZoom

Analyse

Avantages Inconveacutenients

Meacutethode supporteacutee par Telerik Performances et expeacuterience relativement

limiteacutees

Simpliciteacute de deacuteveloppement et possibiliteacute

de changement de fournisseur de contenu

Composant commercial et licence associeacutee

Inteacutegration WPF Evolution du composant

Mon avis

Cette solution commerciale preacutesente un controcircle simple agrave utiliser mais qui nrsquoapporte pas une expeacuterience

utilisateur suffisante pour approcher celle du controcircle AJAX ou Silverlight

Lrsquoaspect commercial de la solution nrsquoest eacutegalement pas lagrave pour simplifier la mise en place au sein drsquoun

projet client

Deacuteveloppement personnaliseacute natif WPF

Description technique

La solution la plus radicale consiste agrave recreacuteer soi-mecircme un controcircle en WPF natif utilisant des eacuteleacutements

standards pour charger une carte agrave travers un canvas deacutedieacute

Analyse

Avantages Inconveacutenients

Maitrise complegravete du deacuteveloppement Complexiteacute de deacuteveloppement

Inteacutegration WPF et performances Coucirct lieacute

Evolution du controcircle vis agrave vis de la

plateforme

Probleacutematique drsquoeacutevolution de

performances de test et charges

Mon avis

Certainement lrsquooption la plus permissive peu importe lrsquoexploitation du controcircle qui est faite cette

solution a cependant des inconveacutenients notables puisqursquoelle neacutecessite un deacuteveloppement personnaliseacute

qui peut tregraves vite devenir couteux en temps et tregraves deacutelicat agrave appreacutehender

Cas particuliers de la table Microsoft Surface

La table Surface de Microsoft se preacutesente agrave preacutesent en 2 versions distinctes que je choisis ici de

preacutesenter briegravevement Nous allons ensuite nous inteacuteresser au cas speacutecifique des applications srsquoexeacutecutant

sur ce type de peacuteripheacuterique

Le deacutetail complet et des articles explicatifs preacutecis sont disponibles sur la MSDN

httpmsdnmicrosoftcomen-uslibraryee804845(v=Surface10)aspx

La table Surface en version 1 (Microsoft Surface Table V1)

La premiegravere version a eacuteteacute rendue disponible agrave partir de 2009 et reposait sur une technologie de

reconnaissance de forme utilisant des cameacuteras inteacutegreacutees agrave la table qui se preacutesente comme cela

La table Surface en version 2 (Microsoft Surface Table V2)

La seconde version a eacuteteacute annonceacutee et devrait ecirctre commercialiseacutee dans le second semestre 2011

Pour reacutealiser la reconnaissance de forme et la deacutetection des interactions utilisateurs Samsung et

Microsoft ont mis au point une technologie baptiseacutee PixelSense qui srsquoappuie sur un reacuteseau de LED

Infrarouge et une couche de deacutetection optique capturant le reacutesultat reacutefleacutechie de lrsquoinfrarouge

Pour plus drsquoinformations sur la technologie PixelSense utiliseacutee au sein de cette Surface 20 nrsquoheacutesitez

pas agrave vous rendre sur le site deacutedieacute httpwwwmicrosoftcomsurfaceenuspixelsenseaspx

Principales diffeacuterences

Forme mateacuteriel et technologie

La table Surface V1 pegravese 70 Kg et utilise une technologie de reconnaissance de forme baseacute sur un reacuteseau

de cameacutera

La table Surface V2 quant agrave elle preacutesente un poids moindre (40 Kg) et donne la possibiliteacute drsquoecirctre orienteacute

et mecircme ecirctre disposeacutee sur un mur Une eacutepaisseur de seulement une dizaine de centimegravetre gracircce agrave

lrsquoutilisation de la technologie PixelSense

Evidemment la configuration mateacuterielle (le PC qui exeacutecute les applications) a aussi connu une cure de

jouvence Le systegraveme drsquoexploitation est logiquement changeacute pour passer de Windows Vista (v1) agrave

Windows 7 (v2)

En reacutesumeacute

Surface V10 Surface V20

Ecran 30rdquo XGA projecteur avec

surface polie

40rdquo LCD avec une vitre de

type Gorilla Glass

Reacutesolution 1024 768 1920 1080 (HD 1080p)

Technologie

multitouch

Reacuteseau de projecteur et de 5

cameacuteras

52 contacts simultaneacutes

PixelSense

50 contacts simultaneacutes

Dimensions 56 cm drsquoeacutepaisseur

686 cm de large pour la

surface

572 cm de large pour la

base

108 cm de long

10 cm drsquoeacutepaisseur

102 cm de diagonale

Poids 70 Kg 40 Kg

Disposition Horizontale Horizontale ou Verticale

(inclinable)

Processeur Intel Core 2 Duo (213 Ghz) AMD Athlon II X2 Dual-

Core Processor 29GHz

Carte

graphique

ATI X1650 AMD Radeon HD 6700M

RAM 2 Go DDR2 4 Go DDR3

Disque dur 250 Go SATA 7200 tmin 320 Go SATA 7200 tmin

Support HDMI Non Oui

Systegraveme Windows Vista Pro 32-bit Windows 7 Pro 64-bit

Coucirct 12 500 $ 9000 euro env 7 600 $ 5 400 euro env

Sources

httptechnetmicrosoftcomen-uslibraryee692114(Surface10)aspx

httpctlabsblogspotcom201101microsoft-surface-20-multi-touch-wonderhtml

httpenwikipediaorgwikiMicrosoft_SurfaceSurface_20

Aspect logiciel

Fondamentalement la technologie utiliseacutee reste identique puisqursquoil srsquoagit dans

les 2 versions drsquoun Framework baseacute sur WPF Il est eacutegalement possible de

reacutealiser des applications en XNA sur ce type de peacuteripheacuterique

Le gros point de diffeacuterence reacuteside dans la maniegravere de geacuterer les contacts qui dans

la premiegravere version eacutetaient des ContactEvent (avec des proprieacuteteacutes deacutedieacutees)

Le nouveau SDK ainsi que les outils de deacuteveloppement ou de simulation de la

table Surface ont eux aussi eacuteteacute mis agrave jour avec notamment un simulateur

ameacutelioreacute de la table

Enfin eacutevidemment le Framework Surface a eacuteteacute eacutetendu avec de nouveaux

controcircles et nouvelles possibiliteacutes disponibles agrave travers ce lien

httpwwwmicrosoftcomdownloadendetailsaspxid=26716

Concernant la migration drsquoune application Surface v1 vers Surface v2 pour les cas simples il est

possible drsquoutiliser le PowerToy fourni par Microsoft et preacutesenteacute agrave travers le lien suivant

httpmsdnmicrosoftcomen-uslibrarygg697146aspx

Consideacuterations pour vos applications pour la table Surface V10

La table Surface v10 repose sur une couche de capture des eacuteveacutenements qui srsquoopegravere au-dessus de

lrsquoapplication WPF Il faut alors pouvoir capturer ses contacts au-dessus des composants utiliseacutes et

bindeacutes ces derniers sur une manipulation WPF adapteacutee

Les solutions reposant sur lrsquoutilisation du controcircle WebBrowser ne peuvent pas fonctionner en

manipulation directe de la carte on ne peut donc pas capturer les contacts au-dessus drsquoun controcircle

WebBrowser classique

En effet ce controcircle existe depuis les anciennes versions du Framework et repose sur un controcircle Win32

et le rendu srsquoopegravere au dessus de tout controcircle WPF et eacutegalement au-dessus de la couche de capture des

contacts Degraves lors il est donc impossible drsquoobtenir un eacuteveacutenement de contact au-dessus de la page

heacutebergeacute par le controcircle WebBrowser

Evolution des deacuteveloppements

Les applications deacuteveloppeacutees pour la table Surface seront les mecircmes que ceux des tablettes Windows 7

ou des PC avec eacutecran tactiles Elles seront naturellement compatibles sur PC avec une simple souris

Ce qui inteacuteressant dans ce cas crsquoest la capaciteacute simple permettant de migrer une application sur un type

de support vers un autre et inversement Il est eacutegalement inteacuteressant de voir que lrsquointeacutegration de

controcircles avanceacutes se fera de maniegravere plus aiseacutee et surtout une meacutethode unique les consideacuterations

concernant lrsquointeacutegration de la cartographie en WPF se reacuteduisent puisqursquoil srsquoagit lagrave des mecircmes

deacuteveloppements

Attention toutefois les applications srsquoexeacutecutant sur une table Surface doivent agrave mon sens faire preuve

drsquoune reacuteflexion particuliegravere sur lrsquoutilisation qui va en ecirctre faite Il faut concevoir lrsquoapplication comme

eacutetant possiblement exploitable de nrsquoimporte quel cocircteacute de la table et surtout avec de lrsquoinformation

adapteacutee et lisible dans ce cas preacutesent Lrsquoutilisation simultaneacutee par plusieurs utilisateurs est eacutegalement un

eacuteleacutement dont il faut tenir compte et qui est agrave reacutefleacutechir

Conclusions

Lrsquoensemble de ces solutions techniques drsquointeacutegration de plateforme cartographique au sein drsquoapplication

WPF sont agrave consideacuterer en fonction du contexte final drsquoexeacutecution

En effet on ne peut pas aiseacutement deacutesigner LA solution parfaite pour tous les cas car lagrave ougrave pour certains

le besoin en support et eacutevolution du composant est primordial lrsquointeacutegration fine et le besoin de

customisation seront neacutegligeacutes et inversement

Par contre la solution utilisant le plugin 3d (Concierge ou controcircle InfoStratVE) ne doivent plus ecirctre

utiliseacutees pour de nouveaux projets et devront tregraves certainement subir une migration dans les mois agrave venir

agrave la fin de vie du plugin (novembre 2011)

Il eacutegalement agrave noter que dans ce type drsquointeacutegration il est toutefois neacutecessaire de conserver en tecircte

lrsquoaspect leacutegal et donc se rapprocher de Microsoft pour obtenir davantage drsquoinformation concernant les

licences drsquoutilisation de la plateforme Bing Maps for Enterprise

Autres pistes agrave explorer

Si vous avez en tecircte drsquoautres solutions drsquointeacutegration de lrsquoAPI Bing Maps ou plus geacuteneacuteralement de

cartographie au sein drsquoapplication WPF agrave laquelle je nrsquoaurai penseacute nrsquoheacutesitez pas agrave me contacter ou agrave

laisser un commentaire

Je nrsquoai pas preacutesenteacute la solution drsquointeacutegration de Google Earth API puisque je voulais des solutions

drsquointeacutegration de la plateforme Bing Maps for Enterprise principalement mais il est eacutevident que cela peut

ecirctre une solution possible drsquointeacutegration

La solution drsquointeacutegration ESRI nrsquoa pas non plus eacuteteacute preacutesenteacutee puisque leurs controcircles ne sont pas

librement accessibles en version drsquoeacutevaluation

Aussi si vous aussi vous rencontrez ce genre de besoin nrsquoheacutesitez pas agrave me contacter pour eacutechanger sur

le sujet

Page 14: Bing Maps for Enterprise – Inte gration dans une ... Maps for... · pointue des technologies WPF et Silverlight. Elle présente toutefois un avantage notable, elle permet en effet

Utilisation drsquoun controcircle commercial deacutedieacute ndash Telerik RadMap

Description technique

En utilisant le controcircle RadMap de la librairie proposeacutee par Telerik on obtient un composant

cartographique multifournisseur permettant drsquoafficher des cartes nativement en WPF

Le controcircle tente de reproduire le comportement et le rendu disponible dans celui proposeacute en Silverlight

reposant sur la technologie DeepZoom

Analyse

Avantages Inconveacutenients

Meacutethode supporteacutee par Telerik Performances et expeacuterience relativement

limiteacutees

Simpliciteacute de deacuteveloppement et possibiliteacute

de changement de fournisseur de contenu

Composant commercial et licence associeacutee

Inteacutegration WPF Evolution du composant

Mon avis

Cette solution commerciale preacutesente un controcircle simple agrave utiliser mais qui nrsquoapporte pas une expeacuterience

utilisateur suffisante pour approcher celle du controcircle AJAX ou Silverlight

Lrsquoaspect commercial de la solution nrsquoest eacutegalement pas lagrave pour simplifier la mise en place au sein drsquoun

projet client

Deacuteveloppement personnaliseacute natif WPF

Description technique

La solution la plus radicale consiste agrave recreacuteer soi-mecircme un controcircle en WPF natif utilisant des eacuteleacutements

standards pour charger une carte agrave travers un canvas deacutedieacute

Analyse

Avantages Inconveacutenients

Maitrise complegravete du deacuteveloppement Complexiteacute de deacuteveloppement

Inteacutegration WPF et performances Coucirct lieacute

Evolution du controcircle vis agrave vis de la

plateforme

Probleacutematique drsquoeacutevolution de

performances de test et charges

Mon avis

Certainement lrsquooption la plus permissive peu importe lrsquoexploitation du controcircle qui est faite cette

solution a cependant des inconveacutenients notables puisqursquoelle neacutecessite un deacuteveloppement personnaliseacute

qui peut tregraves vite devenir couteux en temps et tregraves deacutelicat agrave appreacutehender

Cas particuliers de la table Microsoft Surface

La table Surface de Microsoft se preacutesente agrave preacutesent en 2 versions distinctes que je choisis ici de

preacutesenter briegravevement Nous allons ensuite nous inteacuteresser au cas speacutecifique des applications srsquoexeacutecutant

sur ce type de peacuteripheacuterique

Le deacutetail complet et des articles explicatifs preacutecis sont disponibles sur la MSDN

httpmsdnmicrosoftcomen-uslibraryee804845(v=Surface10)aspx

La table Surface en version 1 (Microsoft Surface Table V1)

La premiegravere version a eacuteteacute rendue disponible agrave partir de 2009 et reposait sur une technologie de

reconnaissance de forme utilisant des cameacuteras inteacutegreacutees agrave la table qui se preacutesente comme cela

La table Surface en version 2 (Microsoft Surface Table V2)

La seconde version a eacuteteacute annonceacutee et devrait ecirctre commercialiseacutee dans le second semestre 2011

Pour reacutealiser la reconnaissance de forme et la deacutetection des interactions utilisateurs Samsung et

Microsoft ont mis au point une technologie baptiseacutee PixelSense qui srsquoappuie sur un reacuteseau de LED

Infrarouge et une couche de deacutetection optique capturant le reacutesultat reacutefleacutechie de lrsquoinfrarouge

Pour plus drsquoinformations sur la technologie PixelSense utiliseacutee au sein de cette Surface 20 nrsquoheacutesitez

pas agrave vous rendre sur le site deacutedieacute httpwwwmicrosoftcomsurfaceenuspixelsenseaspx

Principales diffeacuterences

Forme mateacuteriel et technologie

La table Surface V1 pegravese 70 Kg et utilise une technologie de reconnaissance de forme baseacute sur un reacuteseau

de cameacutera

La table Surface V2 quant agrave elle preacutesente un poids moindre (40 Kg) et donne la possibiliteacute drsquoecirctre orienteacute

et mecircme ecirctre disposeacutee sur un mur Une eacutepaisseur de seulement une dizaine de centimegravetre gracircce agrave

lrsquoutilisation de la technologie PixelSense

Evidemment la configuration mateacuterielle (le PC qui exeacutecute les applications) a aussi connu une cure de

jouvence Le systegraveme drsquoexploitation est logiquement changeacute pour passer de Windows Vista (v1) agrave

Windows 7 (v2)

En reacutesumeacute

Surface V10 Surface V20

Ecran 30rdquo XGA projecteur avec

surface polie

40rdquo LCD avec une vitre de

type Gorilla Glass

Reacutesolution 1024 768 1920 1080 (HD 1080p)

Technologie

multitouch

Reacuteseau de projecteur et de 5

cameacuteras

52 contacts simultaneacutes

PixelSense

50 contacts simultaneacutes

Dimensions 56 cm drsquoeacutepaisseur

686 cm de large pour la

surface

572 cm de large pour la

base

108 cm de long

10 cm drsquoeacutepaisseur

102 cm de diagonale

Poids 70 Kg 40 Kg

Disposition Horizontale Horizontale ou Verticale

(inclinable)

Processeur Intel Core 2 Duo (213 Ghz) AMD Athlon II X2 Dual-

Core Processor 29GHz

Carte

graphique

ATI X1650 AMD Radeon HD 6700M

RAM 2 Go DDR2 4 Go DDR3

Disque dur 250 Go SATA 7200 tmin 320 Go SATA 7200 tmin

Support HDMI Non Oui

Systegraveme Windows Vista Pro 32-bit Windows 7 Pro 64-bit

Coucirct 12 500 $ 9000 euro env 7 600 $ 5 400 euro env

Sources

httptechnetmicrosoftcomen-uslibraryee692114(Surface10)aspx

httpctlabsblogspotcom201101microsoft-surface-20-multi-touch-wonderhtml

httpenwikipediaorgwikiMicrosoft_SurfaceSurface_20

Aspect logiciel

Fondamentalement la technologie utiliseacutee reste identique puisqursquoil srsquoagit dans

les 2 versions drsquoun Framework baseacute sur WPF Il est eacutegalement possible de

reacutealiser des applications en XNA sur ce type de peacuteripheacuterique

Le gros point de diffeacuterence reacuteside dans la maniegravere de geacuterer les contacts qui dans

la premiegravere version eacutetaient des ContactEvent (avec des proprieacuteteacutes deacutedieacutees)

Le nouveau SDK ainsi que les outils de deacuteveloppement ou de simulation de la

table Surface ont eux aussi eacuteteacute mis agrave jour avec notamment un simulateur

ameacutelioreacute de la table

Enfin eacutevidemment le Framework Surface a eacuteteacute eacutetendu avec de nouveaux

controcircles et nouvelles possibiliteacutes disponibles agrave travers ce lien

httpwwwmicrosoftcomdownloadendetailsaspxid=26716

Concernant la migration drsquoune application Surface v1 vers Surface v2 pour les cas simples il est

possible drsquoutiliser le PowerToy fourni par Microsoft et preacutesenteacute agrave travers le lien suivant

httpmsdnmicrosoftcomen-uslibrarygg697146aspx

Consideacuterations pour vos applications pour la table Surface V10

La table Surface v10 repose sur une couche de capture des eacuteveacutenements qui srsquoopegravere au-dessus de

lrsquoapplication WPF Il faut alors pouvoir capturer ses contacts au-dessus des composants utiliseacutes et

bindeacutes ces derniers sur une manipulation WPF adapteacutee

Les solutions reposant sur lrsquoutilisation du controcircle WebBrowser ne peuvent pas fonctionner en

manipulation directe de la carte on ne peut donc pas capturer les contacts au-dessus drsquoun controcircle

WebBrowser classique

En effet ce controcircle existe depuis les anciennes versions du Framework et repose sur un controcircle Win32

et le rendu srsquoopegravere au dessus de tout controcircle WPF et eacutegalement au-dessus de la couche de capture des

contacts Degraves lors il est donc impossible drsquoobtenir un eacuteveacutenement de contact au-dessus de la page

heacutebergeacute par le controcircle WebBrowser

Evolution des deacuteveloppements

Les applications deacuteveloppeacutees pour la table Surface seront les mecircmes que ceux des tablettes Windows 7

ou des PC avec eacutecran tactiles Elles seront naturellement compatibles sur PC avec une simple souris

Ce qui inteacuteressant dans ce cas crsquoest la capaciteacute simple permettant de migrer une application sur un type

de support vers un autre et inversement Il est eacutegalement inteacuteressant de voir que lrsquointeacutegration de

controcircles avanceacutes se fera de maniegravere plus aiseacutee et surtout une meacutethode unique les consideacuterations

concernant lrsquointeacutegration de la cartographie en WPF se reacuteduisent puisqursquoil srsquoagit lagrave des mecircmes

deacuteveloppements

Attention toutefois les applications srsquoexeacutecutant sur une table Surface doivent agrave mon sens faire preuve

drsquoune reacuteflexion particuliegravere sur lrsquoutilisation qui va en ecirctre faite Il faut concevoir lrsquoapplication comme

eacutetant possiblement exploitable de nrsquoimporte quel cocircteacute de la table et surtout avec de lrsquoinformation

adapteacutee et lisible dans ce cas preacutesent Lrsquoutilisation simultaneacutee par plusieurs utilisateurs est eacutegalement un

eacuteleacutement dont il faut tenir compte et qui est agrave reacutefleacutechir

Conclusions

Lrsquoensemble de ces solutions techniques drsquointeacutegration de plateforme cartographique au sein drsquoapplication

WPF sont agrave consideacuterer en fonction du contexte final drsquoexeacutecution

En effet on ne peut pas aiseacutement deacutesigner LA solution parfaite pour tous les cas car lagrave ougrave pour certains

le besoin en support et eacutevolution du composant est primordial lrsquointeacutegration fine et le besoin de

customisation seront neacutegligeacutes et inversement

Par contre la solution utilisant le plugin 3d (Concierge ou controcircle InfoStratVE) ne doivent plus ecirctre

utiliseacutees pour de nouveaux projets et devront tregraves certainement subir une migration dans les mois agrave venir

agrave la fin de vie du plugin (novembre 2011)

Il eacutegalement agrave noter que dans ce type drsquointeacutegration il est toutefois neacutecessaire de conserver en tecircte

lrsquoaspect leacutegal et donc se rapprocher de Microsoft pour obtenir davantage drsquoinformation concernant les

licences drsquoutilisation de la plateforme Bing Maps for Enterprise

Autres pistes agrave explorer

Si vous avez en tecircte drsquoautres solutions drsquointeacutegration de lrsquoAPI Bing Maps ou plus geacuteneacuteralement de

cartographie au sein drsquoapplication WPF agrave laquelle je nrsquoaurai penseacute nrsquoheacutesitez pas agrave me contacter ou agrave

laisser un commentaire

Je nrsquoai pas preacutesenteacute la solution drsquointeacutegration de Google Earth API puisque je voulais des solutions

drsquointeacutegration de la plateforme Bing Maps for Enterprise principalement mais il est eacutevident que cela peut

ecirctre une solution possible drsquointeacutegration

La solution drsquointeacutegration ESRI nrsquoa pas non plus eacuteteacute preacutesenteacutee puisque leurs controcircles ne sont pas

librement accessibles en version drsquoeacutevaluation

Aussi si vous aussi vous rencontrez ce genre de besoin nrsquoheacutesitez pas agrave me contacter pour eacutechanger sur

le sujet

Page 15: Bing Maps for Enterprise – Inte gration dans une ... Maps for... · pointue des technologies WPF et Silverlight. Elle présente toutefois un avantage notable, elle permet en effet

Deacuteveloppement personnaliseacute natif WPF

Description technique

La solution la plus radicale consiste agrave recreacuteer soi-mecircme un controcircle en WPF natif utilisant des eacuteleacutements

standards pour charger une carte agrave travers un canvas deacutedieacute

Analyse

Avantages Inconveacutenients

Maitrise complegravete du deacuteveloppement Complexiteacute de deacuteveloppement

Inteacutegration WPF et performances Coucirct lieacute

Evolution du controcircle vis agrave vis de la

plateforme

Probleacutematique drsquoeacutevolution de

performances de test et charges

Mon avis

Certainement lrsquooption la plus permissive peu importe lrsquoexploitation du controcircle qui est faite cette

solution a cependant des inconveacutenients notables puisqursquoelle neacutecessite un deacuteveloppement personnaliseacute

qui peut tregraves vite devenir couteux en temps et tregraves deacutelicat agrave appreacutehender

Cas particuliers de la table Microsoft Surface

La table Surface de Microsoft se preacutesente agrave preacutesent en 2 versions distinctes que je choisis ici de

preacutesenter briegravevement Nous allons ensuite nous inteacuteresser au cas speacutecifique des applications srsquoexeacutecutant

sur ce type de peacuteripheacuterique

Le deacutetail complet et des articles explicatifs preacutecis sont disponibles sur la MSDN

httpmsdnmicrosoftcomen-uslibraryee804845(v=Surface10)aspx

La table Surface en version 1 (Microsoft Surface Table V1)

La premiegravere version a eacuteteacute rendue disponible agrave partir de 2009 et reposait sur une technologie de

reconnaissance de forme utilisant des cameacuteras inteacutegreacutees agrave la table qui se preacutesente comme cela

La table Surface en version 2 (Microsoft Surface Table V2)

La seconde version a eacuteteacute annonceacutee et devrait ecirctre commercialiseacutee dans le second semestre 2011

Pour reacutealiser la reconnaissance de forme et la deacutetection des interactions utilisateurs Samsung et

Microsoft ont mis au point une technologie baptiseacutee PixelSense qui srsquoappuie sur un reacuteseau de LED

Infrarouge et une couche de deacutetection optique capturant le reacutesultat reacutefleacutechie de lrsquoinfrarouge

Pour plus drsquoinformations sur la technologie PixelSense utiliseacutee au sein de cette Surface 20 nrsquoheacutesitez

pas agrave vous rendre sur le site deacutedieacute httpwwwmicrosoftcomsurfaceenuspixelsenseaspx

Principales diffeacuterences

Forme mateacuteriel et technologie

La table Surface V1 pegravese 70 Kg et utilise une technologie de reconnaissance de forme baseacute sur un reacuteseau

de cameacutera

La table Surface V2 quant agrave elle preacutesente un poids moindre (40 Kg) et donne la possibiliteacute drsquoecirctre orienteacute

et mecircme ecirctre disposeacutee sur un mur Une eacutepaisseur de seulement une dizaine de centimegravetre gracircce agrave

lrsquoutilisation de la technologie PixelSense

Evidemment la configuration mateacuterielle (le PC qui exeacutecute les applications) a aussi connu une cure de

jouvence Le systegraveme drsquoexploitation est logiquement changeacute pour passer de Windows Vista (v1) agrave

Windows 7 (v2)

En reacutesumeacute

Surface V10 Surface V20

Ecran 30rdquo XGA projecteur avec

surface polie

40rdquo LCD avec une vitre de

type Gorilla Glass

Reacutesolution 1024 768 1920 1080 (HD 1080p)

Technologie

multitouch

Reacuteseau de projecteur et de 5

cameacuteras

52 contacts simultaneacutes

PixelSense

50 contacts simultaneacutes

Dimensions 56 cm drsquoeacutepaisseur

686 cm de large pour la

surface

572 cm de large pour la

base

108 cm de long

10 cm drsquoeacutepaisseur

102 cm de diagonale

Poids 70 Kg 40 Kg

Disposition Horizontale Horizontale ou Verticale

(inclinable)

Processeur Intel Core 2 Duo (213 Ghz) AMD Athlon II X2 Dual-

Core Processor 29GHz

Carte

graphique

ATI X1650 AMD Radeon HD 6700M

RAM 2 Go DDR2 4 Go DDR3

Disque dur 250 Go SATA 7200 tmin 320 Go SATA 7200 tmin

Support HDMI Non Oui

Systegraveme Windows Vista Pro 32-bit Windows 7 Pro 64-bit

Coucirct 12 500 $ 9000 euro env 7 600 $ 5 400 euro env

Sources

httptechnetmicrosoftcomen-uslibraryee692114(Surface10)aspx

httpctlabsblogspotcom201101microsoft-surface-20-multi-touch-wonderhtml

httpenwikipediaorgwikiMicrosoft_SurfaceSurface_20

Aspect logiciel

Fondamentalement la technologie utiliseacutee reste identique puisqursquoil srsquoagit dans

les 2 versions drsquoun Framework baseacute sur WPF Il est eacutegalement possible de

reacutealiser des applications en XNA sur ce type de peacuteripheacuterique

Le gros point de diffeacuterence reacuteside dans la maniegravere de geacuterer les contacts qui dans

la premiegravere version eacutetaient des ContactEvent (avec des proprieacuteteacutes deacutedieacutees)

Le nouveau SDK ainsi que les outils de deacuteveloppement ou de simulation de la

table Surface ont eux aussi eacuteteacute mis agrave jour avec notamment un simulateur

ameacutelioreacute de la table

Enfin eacutevidemment le Framework Surface a eacuteteacute eacutetendu avec de nouveaux

controcircles et nouvelles possibiliteacutes disponibles agrave travers ce lien

httpwwwmicrosoftcomdownloadendetailsaspxid=26716

Concernant la migration drsquoune application Surface v1 vers Surface v2 pour les cas simples il est

possible drsquoutiliser le PowerToy fourni par Microsoft et preacutesenteacute agrave travers le lien suivant

httpmsdnmicrosoftcomen-uslibrarygg697146aspx

Consideacuterations pour vos applications pour la table Surface V10

La table Surface v10 repose sur une couche de capture des eacuteveacutenements qui srsquoopegravere au-dessus de

lrsquoapplication WPF Il faut alors pouvoir capturer ses contacts au-dessus des composants utiliseacutes et

bindeacutes ces derniers sur une manipulation WPF adapteacutee

Les solutions reposant sur lrsquoutilisation du controcircle WebBrowser ne peuvent pas fonctionner en

manipulation directe de la carte on ne peut donc pas capturer les contacts au-dessus drsquoun controcircle

WebBrowser classique

En effet ce controcircle existe depuis les anciennes versions du Framework et repose sur un controcircle Win32

et le rendu srsquoopegravere au dessus de tout controcircle WPF et eacutegalement au-dessus de la couche de capture des

contacts Degraves lors il est donc impossible drsquoobtenir un eacuteveacutenement de contact au-dessus de la page

heacutebergeacute par le controcircle WebBrowser

Evolution des deacuteveloppements

Les applications deacuteveloppeacutees pour la table Surface seront les mecircmes que ceux des tablettes Windows 7

ou des PC avec eacutecran tactiles Elles seront naturellement compatibles sur PC avec une simple souris

Ce qui inteacuteressant dans ce cas crsquoest la capaciteacute simple permettant de migrer une application sur un type

de support vers un autre et inversement Il est eacutegalement inteacuteressant de voir que lrsquointeacutegration de

controcircles avanceacutes se fera de maniegravere plus aiseacutee et surtout une meacutethode unique les consideacuterations

concernant lrsquointeacutegration de la cartographie en WPF se reacuteduisent puisqursquoil srsquoagit lagrave des mecircmes

deacuteveloppements

Attention toutefois les applications srsquoexeacutecutant sur une table Surface doivent agrave mon sens faire preuve

drsquoune reacuteflexion particuliegravere sur lrsquoutilisation qui va en ecirctre faite Il faut concevoir lrsquoapplication comme

eacutetant possiblement exploitable de nrsquoimporte quel cocircteacute de la table et surtout avec de lrsquoinformation

adapteacutee et lisible dans ce cas preacutesent Lrsquoutilisation simultaneacutee par plusieurs utilisateurs est eacutegalement un

eacuteleacutement dont il faut tenir compte et qui est agrave reacutefleacutechir

Conclusions

Lrsquoensemble de ces solutions techniques drsquointeacutegration de plateforme cartographique au sein drsquoapplication

WPF sont agrave consideacuterer en fonction du contexte final drsquoexeacutecution

En effet on ne peut pas aiseacutement deacutesigner LA solution parfaite pour tous les cas car lagrave ougrave pour certains

le besoin en support et eacutevolution du composant est primordial lrsquointeacutegration fine et le besoin de

customisation seront neacutegligeacutes et inversement

Par contre la solution utilisant le plugin 3d (Concierge ou controcircle InfoStratVE) ne doivent plus ecirctre

utiliseacutees pour de nouveaux projets et devront tregraves certainement subir une migration dans les mois agrave venir

agrave la fin de vie du plugin (novembre 2011)

Il eacutegalement agrave noter que dans ce type drsquointeacutegration il est toutefois neacutecessaire de conserver en tecircte

lrsquoaspect leacutegal et donc se rapprocher de Microsoft pour obtenir davantage drsquoinformation concernant les

licences drsquoutilisation de la plateforme Bing Maps for Enterprise

Autres pistes agrave explorer

Si vous avez en tecircte drsquoautres solutions drsquointeacutegration de lrsquoAPI Bing Maps ou plus geacuteneacuteralement de

cartographie au sein drsquoapplication WPF agrave laquelle je nrsquoaurai penseacute nrsquoheacutesitez pas agrave me contacter ou agrave

laisser un commentaire

Je nrsquoai pas preacutesenteacute la solution drsquointeacutegration de Google Earth API puisque je voulais des solutions

drsquointeacutegration de la plateforme Bing Maps for Enterprise principalement mais il est eacutevident que cela peut

ecirctre une solution possible drsquointeacutegration

La solution drsquointeacutegration ESRI nrsquoa pas non plus eacuteteacute preacutesenteacutee puisque leurs controcircles ne sont pas

librement accessibles en version drsquoeacutevaluation

Aussi si vous aussi vous rencontrez ce genre de besoin nrsquoheacutesitez pas agrave me contacter pour eacutechanger sur

le sujet

Page 16: Bing Maps for Enterprise – Inte gration dans une ... Maps for... · pointue des technologies WPF et Silverlight. Elle présente toutefois un avantage notable, elle permet en effet

Cas particuliers de la table Microsoft Surface

La table Surface de Microsoft se preacutesente agrave preacutesent en 2 versions distinctes que je choisis ici de

preacutesenter briegravevement Nous allons ensuite nous inteacuteresser au cas speacutecifique des applications srsquoexeacutecutant

sur ce type de peacuteripheacuterique

Le deacutetail complet et des articles explicatifs preacutecis sont disponibles sur la MSDN

httpmsdnmicrosoftcomen-uslibraryee804845(v=Surface10)aspx

La table Surface en version 1 (Microsoft Surface Table V1)

La premiegravere version a eacuteteacute rendue disponible agrave partir de 2009 et reposait sur une technologie de

reconnaissance de forme utilisant des cameacuteras inteacutegreacutees agrave la table qui se preacutesente comme cela

La table Surface en version 2 (Microsoft Surface Table V2)

La seconde version a eacuteteacute annonceacutee et devrait ecirctre commercialiseacutee dans le second semestre 2011

Pour reacutealiser la reconnaissance de forme et la deacutetection des interactions utilisateurs Samsung et

Microsoft ont mis au point une technologie baptiseacutee PixelSense qui srsquoappuie sur un reacuteseau de LED

Infrarouge et une couche de deacutetection optique capturant le reacutesultat reacutefleacutechie de lrsquoinfrarouge

Pour plus drsquoinformations sur la technologie PixelSense utiliseacutee au sein de cette Surface 20 nrsquoheacutesitez

pas agrave vous rendre sur le site deacutedieacute httpwwwmicrosoftcomsurfaceenuspixelsenseaspx

Principales diffeacuterences

Forme mateacuteriel et technologie

La table Surface V1 pegravese 70 Kg et utilise une technologie de reconnaissance de forme baseacute sur un reacuteseau

de cameacutera

La table Surface V2 quant agrave elle preacutesente un poids moindre (40 Kg) et donne la possibiliteacute drsquoecirctre orienteacute

et mecircme ecirctre disposeacutee sur un mur Une eacutepaisseur de seulement une dizaine de centimegravetre gracircce agrave

lrsquoutilisation de la technologie PixelSense

Evidemment la configuration mateacuterielle (le PC qui exeacutecute les applications) a aussi connu une cure de

jouvence Le systegraveme drsquoexploitation est logiquement changeacute pour passer de Windows Vista (v1) agrave

Windows 7 (v2)

En reacutesumeacute

Surface V10 Surface V20

Ecran 30rdquo XGA projecteur avec

surface polie

40rdquo LCD avec une vitre de

type Gorilla Glass

Reacutesolution 1024 768 1920 1080 (HD 1080p)

Technologie

multitouch

Reacuteseau de projecteur et de 5

cameacuteras

52 contacts simultaneacutes

PixelSense

50 contacts simultaneacutes

Dimensions 56 cm drsquoeacutepaisseur

686 cm de large pour la

surface

572 cm de large pour la

base

108 cm de long

10 cm drsquoeacutepaisseur

102 cm de diagonale

Poids 70 Kg 40 Kg

Disposition Horizontale Horizontale ou Verticale

(inclinable)

Processeur Intel Core 2 Duo (213 Ghz) AMD Athlon II X2 Dual-

Core Processor 29GHz

Carte

graphique

ATI X1650 AMD Radeon HD 6700M

RAM 2 Go DDR2 4 Go DDR3

Disque dur 250 Go SATA 7200 tmin 320 Go SATA 7200 tmin

Support HDMI Non Oui

Systegraveme Windows Vista Pro 32-bit Windows 7 Pro 64-bit

Coucirct 12 500 $ 9000 euro env 7 600 $ 5 400 euro env

Sources

httptechnetmicrosoftcomen-uslibraryee692114(Surface10)aspx

httpctlabsblogspotcom201101microsoft-surface-20-multi-touch-wonderhtml

httpenwikipediaorgwikiMicrosoft_SurfaceSurface_20

Aspect logiciel

Fondamentalement la technologie utiliseacutee reste identique puisqursquoil srsquoagit dans

les 2 versions drsquoun Framework baseacute sur WPF Il est eacutegalement possible de

reacutealiser des applications en XNA sur ce type de peacuteripheacuterique

Le gros point de diffeacuterence reacuteside dans la maniegravere de geacuterer les contacts qui dans

la premiegravere version eacutetaient des ContactEvent (avec des proprieacuteteacutes deacutedieacutees)

Le nouveau SDK ainsi que les outils de deacuteveloppement ou de simulation de la

table Surface ont eux aussi eacuteteacute mis agrave jour avec notamment un simulateur

ameacutelioreacute de la table

Enfin eacutevidemment le Framework Surface a eacuteteacute eacutetendu avec de nouveaux

controcircles et nouvelles possibiliteacutes disponibles agrave travers ce lien

httpwwwmicrosoftcomdownloadendetailsaspxid=26716

Concernant la migration drsquoune application Surface v1 vers Surface v2 pour les cas simples il est

possible drsquoutiliser le PowerToy fourni par Microsoft et preacutesenteacute agrave travers le lien suivant

httpmsdnmicrosoftcomen-uslibrarygg697146aspx

Consideacuterations pour vos applications pour la table Surface V10

La table Surface v10 repose sur une couche de capture des eacuteveacutenements qui srsquoopegravere au-dessus de

lrsquoapplication WPF Il faut alors pouvoir capturer ses contacts au-dessus des composants utiliseacutes et

bindeacutes ces derniers sur une manipulation WPF adapteacutee

Les solutions reposant sur lrsquoutilisation du controcircle WebBrowser ne peuvent pas fonctionner en

manipulation directe de la carte on ne peut donc pas capturer les contacts au-dessus drsquoun controcircle

WebBrowser classique

En effet ce controcircle existe depuis les anciennes versions du Framework et repose sur un controcircle Win32

et le rendu srsquoopegravere au dessus de tout controcircle WPF et eacutegalement au-dessus de la couche de capture des

contacts Degraves lors il est donc impossible drsquoobtenir un eacuteveacutenement de contact au-dessus de la page

heacutebergeacute par le controcircle WebBrowser

Evolution des deacuteveloppements

Les applications deacuteveloppeacutees pour la table Surface seront les mecircmes que ceux des tablettes Windows 7

ou des PC avec eacutecran tactiles Elles seront naturellement compatibles sur PC avec une simple souris

Ce qui inteacuteressant dans ce cas crsquoest la capaciteacute simple permettant de migrer une application sur un type

de support vers un autre et inversement Il est eacutegalement inteacuteressant de voir que lrsquointeacutegration de

controcircles avanceacutes se fera de maniegravere plus aiseacutee et surtout une meacutethode unique les consideacuterations

concernant lrsquointeacutegration de la cartographie en WPF se reacuteduisent puisqursquoil srsquoagit lagrave des mecircmes

deacuteveloppements

Attention toutefois les applications srsquoexeacutecutant sur une table Surface doivent agrave mon sens faire preuve

drsquoune reacuteflexion particuliegravere sur lrsquoutilisation qui va en ecirctre faite Il faut concevoir lrsquoapplication comme

eacutetant possiblement exploitable de nrsquoimporte quel cocircteacute de la table et surtout avec de lrsquoinformation

adapteacutee et lisible dans ce cas preacutesent Lrsquoutilisation simultaneacutee par plusieurs utilisateurs est eacutegalement un

eacuteleacutement dont il faut tenir compte et qui est agrave reacutefleacutechir

Conclusions

Lrsquoensemble de ces solutions techniques drsquointeacutegration de plateforme cartographique au sein drsquoapplication

WPF sont agrave consideacuterer en fonction du contexte final drsquoexeacutecution

En effet on ne peut pas aiseacutement deacutesigner LA solution parfaite pour tous les cas car lagrave ougrave pour certains

le besoin en support et eacutevolution du composant est primordial lrsquointeacutegration fine et le besoin de

customisation seront neacutegligeacutes et inversement

Par contre la solution utilisant le plugin 3d (Concierge ou controcircle InfoStratVE) ne doivent plus ecirctre

utiliseacutees pour de nouveaux projets et devront tregraves certainement subir une migration dans les mois agrave venir

agrave la fin de vie du plugin (novembre 2011)

Il eacutegalement agrave noter que dans ce type drsquointeacutegration il est toutefois neacutecessaire de conserver en tecircte

lrsquoaspect leacutegal et donc se rapprocher de Microsoft pour obtenir davantage drsquoinformation concernant les

licences drsquoutilisation de la plateforme Bing Maps for Enterprise

Autres pistes agrave explorer

Si vous avez en tecircte drsquoautres solutions drsquointeacutegration de lrsquoAPI Bing Maps ou plus geacuteneacuteralement de

cartographie au sein drsquoapplication WPF agrave laquelle je nrsquoaurai penseacute nrsquoheacutesitez pas agrave me contacter ou agrave

laisser un commentaire

Je nrsquoai pas preacutesenteacute la solution drsquointeacutegration de Google Earth API puisque je voulais des solutions

drsquointeacutegration de la plateforme Bing Maps for Enterprise principalement mais il est eacutevident que cela peut

ecirctre une solution possible drsquointeacutegration

La solution drsquointeacutegration ESRI nrsquoa pas non plus eacuteteacute preacutesenteacutee puisque leurs controcircles ne sont pas

librement accessibles en version drsquoeacutevaluation

Aussi si vous aussi vous rencontrez ce genre de besoin nrsquoheacutesitez pas agrave me contacter pour eacutechanger sur

le sujet

Page 17: Bing Maps for Enterprise – Inte gration dans une ... Maps for... · pointue des technologies WPF et Silverlight. Elle présente toutefois un avantage notable, elle permet en effet

La table Surface en version 2 (Microsoft Surface Table V2)

La seconde version a eacuteteacute annonceacutee et devrait ecirctre commercialiseacutee dans le second semestre 2011

Pour reacutealiser la reconnaissance de forme et la deacutetection des interactions utilisateurs Samsung et

Microsoft ont mis au point une technologie baptiseacutee PixelSense qui srsquoappuie sur un reacuteseau de LED

Infrarouge et une couche de deacutetection optique capturant le reacutesultat reacutefleacutechie de lrsquoinfrarouge

Pour plus drsquoinformations sur la technologie PixelSense utiliseacutee au sein de cette Surface 20 nrsquoheacutesitez

pas agrave vous rendre sur le site deacutedieacute httpwwwmicrosoftcomsurfaceenuspixelsenseaspx

Principales diffeacuterences

Forme mateacuteriel et technologie

La table Surface V1 pegravese 70 Kg et utilise une technologie de reconnaissance de forme baseacute sur un reacuteseau

de cameacutera

La table Surface V2 quant agrave elle preacutesente un poids moindre (40 Kg) et donne la possibiliteacute drsquoecirctre orienteacute

et mecircme ecirctre disposeacutee sur un mur Une eacutepaisseur de seulement une dizaine de centimegravetre gracircce agrave

lrsquoutilisation de la technologie PixelSense

Evidemment la configuration mateacuterielle (le PC qui exeacutecute les applications) a aussi connu une cure de

jouvence Le systegraveme drsquoexploitation est logiquement changeacute pour passer de Windows Vista (v1) agrave

Windows 7 (v2)

En reacutesumeacute

Surface V10 Surface V20

Ecran 30rdquo XGA projecteur avec

surface polie

40rdquo LCD avec une vitre de

type Gorilla Glass

Reacutesolution 1024 768 1920 1080 (HD 1080p)

Technologie

multitouch

Reacuteseau de projecteur et de 5

cameacuteras

52 contacts simultaneacutes

PixelSense

50 contacts simultaneacutes

Dimensions 56 cm drsquoeacutepaisseur

686 cm de large pour la

surface

572 cm de large pour la

base

108 cm de long

10 cm drsquoeacutepaisseur

102 cm de diagonale

Poids 70 Kg 40 Kg

Disposition Horizontale Horizontale ou Verticale

(inclinable)

Processeur Intel Core 2 Duo (213 Ghz) AMD Athlon II X2 Dual-

Core Processor 29GHz

Carte

graphique

ATI X1650 AMD Radeon HD 6700M

RAM 2 Go DDR2 4 Go DDR3

Disque dur 250 Go SATA 7200 tmin 320 Go SATA 7200 tmin

Support HDMI Non Oui

Systegraveme Windows Vista Pro 32-bit Windows 7 Pro 64-bit

Coucirct 12 500 $ 9000 euro env 7 600 $ 5 400 euro env

Sources

httptechnetmicrosoftcomen-uslibraryee692114(Surface10)aspx

httpctlabsblogspotcom201101microsoft-surface-20-multi-touch-wonderhtml

httpenwikipediaorgwikiMicrosoft_SurfaceSurface_20

Aspect logiciel

Fondamentalement la technologie utiliseacutee reste identique puisqursquoil srsquoagit dans

les 2 versions drsquoun Framework baseacute sur WPF Il est eacutegalement possible de

reacutealiser des applications en XNA sur ce type de peacuteripheacuterique

Le gros point de diffeacuterence reacuteside dans la maniegravere de geacuterer les contacts qui dans

la premiegravere version eacutetaient des ContactEvent (avec des proprieacuteteacutes deacutedieacutees)

Le nouveau SDK ainsi que les outils de deacuteveloppement ou de simulation de la

table Surface ont eux aussi eacuteteacute mis agrave jour avec notamment un simulateur

ameacutelioreacute de la table

Enfin eacutevidemment le Framework Surface a eacuteteacute eacutetendu avec de nouveaux

controcircles et nouvelles possibiliteacutes disponibles agrave travers ce lien

httpwwwmicrosoftcomdownloadendetailsaspxid=26716

Concernant la migration drsquoune application Surface v1 vers Surface v2 pour les cas simples il est

possible drsquoutiliser le PowerToy fourni par Microsoft et preacutesenteacute agrave travers le lien suivant

httpmsdnmicrosoftcomen-uslibrarygg697146aspx

Consideacuterations pour vos applications pour la table Surface V10

La table Surface v10 repose sur une couche de capture des eacuteveacutenements qui srsquoopegravere au-dessus de

lrsquoapplication WPF Il faut alors pouvoir capturer ses contacts au-dessus des composants utiliseacutes et

bindeacutes ces derniers sur une manipulation WPF adapteacutee

Les solutions reposant sur lrsquoutilisation du controcircle WebBrowser ne peuvent pas fonctionner en

manipulation directe de la carte on ne peut donc pas capturer les contacts au-dessus drsquoun controcircle

WebBrowser classique

En effet ce controcircle existe depuis les anciennes versions du Framework et repose sur un controcircle Win32

et le rendu srsquoopegravere au dessus de tout controcircle WPF et eacutegalement au-dessus de la couche de capture des

contacts Degraves lors il est donc impossible drsquoobtenir un eacuteveacutenement de contact au-dessus de la page

heacutebergeacute par le controcircle WebBrowser

Evolution des deacuteveloppements

Les applications deacuteveloppeacutees pour la table Surface seront les mecircmes que ceux des tablettes Windows 7

ou des PC avec eacutecran tactiles Elles seront naturellement compatibles sur PC avec une simple souris

Ce qui inteacuteressant dans ce cas crsquoest la capaciteacute simple permettant de migrer une application sur un type

de support vers un autre et inversement Il est eacutegalement inteacuteressant de voir que lrsquointeacutegration de

controcircles avanceacutes se fera de maniegravere plus aiseacutee et surtout une meacutethode unique les consideacuterations

concernant lrsquointeacutegration de la cartographie en WPF se reacuteduisent puisqursquoil srsquoagit lagrave des mecircmes

deacuteveloppements

Attention toutefois les applications srsquoexeacutecutant sur une table Surface doivent agrave mon sens faire preuve

drsquoune reacuteflexion particuliegravere sur lrsquoutilisation qui va en ecirctre faite Il faut concevoir lrsquoapplication comme

eacutetant possiblement exploitable de nrsquoimporte quel cocircteacute de la table et surtout avec de lrsquoinformation

adapteacutee et lisible dans ce cas preacutesent Lrsquoutilisation simultaneacutee par plusieurs utilisateurs est eacutegalement un

eacuteleacutement dont il faut tenir compte et qui est agrave reacutefleacutechir

Conclusions

Lrsquoensemble de ces solutions techniques drsquointeacutegration de plateforme cartographique au sein drsquoapplication

WPF sont agrave consideacuterer en fonction du contexte final drsquoexeacutecution

En effet on ne peut pas aiseacutement deacutesigner LA solution parfaite pour tous les cas car lagrave ougrave pour certains

le besoin en support et eacutevolution du composant est primordial lrsquointeacutegration fine et le besoin de

customisation seront neacutegligeacutes et inversement

Par contre la solution utilisant le plugin 3d (Concierge ou controcircle InfoStratVE) ne doivent plus ecirctre

utiliseacutees pour de nouveaux projets et devront tregraves certainement subir une migration dans les mois agrave venir

agrave la fin de vie du plugin (novembre 2011)

Il eacutegalement agrave noter que dans ce type drsquointeacutegration il est toutefois neacutecessaire de conserver en tecircte

lrsquoaspect leacutegal et donc se rapprocher de Microsoft pour obtenir davantage drsquoinformation concernant les

licences drsquoutilisation de la plateforme Bing Maps for Enterprise

Autres pistes agrave explorer

Si vous avez en tecircte drsquoautres solutions drsquointeacutegration de lrsquoAPI Bing Maps ou plus geacuteneacuteralement de

cartographie au sein drsquoapplication WPF agrave laquelle je nrsquoaurai penseacute nrsquoheacutesitez pas agrave me contacter ou agrave

laisser un commentaire

Je nrsquoai pas preacutesenteacute la solution drsquointeacutegration de Google Earth API puisque je voulais des solutions

drsquointeacutegration de la plateforme Bing Maps for Enterprise principalement mais il est eacutevident que cela peut

ecirctre une solution possible drsquointeacutegration

La solution drsquointeacutegration ESRI nrsquoa pas non plus eacuteteacute preacutesenteacutee puisque leurs controcircles ne sont pas

librement accessibles en version drsquoeacutevaluation

Aussi si vous aussi vous rencontrez ce genre de besoin nrsquoheacutesitez pas agrave me contacter pour eacutechanger sur

le sujet

Page 18: Bing Maps for Enterprise – Inte gration dans une ... Maps for... · pointue des technologies WPF et Silverlight. Elle présente toutefois un avantage notable, elle permet en effet

Principales diffeacuterences

Forme mateacuteriel et technologie

La table Surface V1 pegravese 70 Kg et utilise une technologie de reconnaissance de forme baseacute sur un reacuteseau

de cameacutera

La table Surface V2 quant agrave elle preacutesente un poids moindre (40 Kg) et donne la possibiliteacute drsquoecirctre orienteacute

et mecircme ecirctre disposeacutee sur un mur Une eacutepaisseur de seulement une dizaine de centimegravetre gracircce agrave

lrsquoutilisation de la technologie PixelSense

Evidemment la configuration mateacuterielle (le PC qui exeacutecute les applications) a aussi connu une cure de

jouvence Le systegraveme drsquoexploitation est logiquement changeacute pour passer de Windows Vista (v1) agrave

Windows 7 (v2)

En reacutesumeacute

Surface V10 Surface V20

Ecran 30rdquo XGA projecteur avec

surface polie

40rdquo LCD avec une vitre de

type Gorilla Glass

Reacutesolution 1024 768 1920 1080 (HD 1080p)

Technologie

multitouch

Reacuteseau de projecteur et de 5

cameacuteras

52 contacts simultaneacutes

PixelSense

50 contacts simultaneacutes

Dimensions 56 cm drsquoeacutepaisseur

686 cm de large pour la

surface

572 cm de large pour la

base

108 cm de long

10 cm drsquoeacutepaisseur

102 cm de diagonale

Poids 70 Kg 40 Kg

Disposition Horizontale Horizontale ou Verticale

(inclinable)

Processeur Intel Core 2 Duo (213 Ghz) AMD Athlon II X2 Dual-

Core Processor 29GHz

Carte

graphique

ATI X1650 AMD Radeon HD 6700M

RAM 2 Go DDR2 4 Go DDR3

Disque dur 250 Go SATA 7200 tmin 320 Go SATA 7200 tmin

Support HDMI Non Oui

Systegraveme Windows Vista Pro 32-bit Windows 7 Pro 64-bit

Coucirct 12 500 $ 9000 euro env 7 600 $ 5 400 euro env

Sources

httptechnetmicrosoftcomen-uslibraryee692114(Surface10)aspx

httpctlabsblogspotcom201101microsoft-surface-20-multi-touch-wonderhtml

httpenwikipediaorgwikiMicrosoft_SurfaceSurface_20

Aspect logiciel

Fondamentalement la technologie utiliseacutee reste identique puisqursquoil srsquoagit dans

les 2 versions drsquoun Framework baseacute sur WPF Il est eacutegalement possible de

reacutealiser des applications en XNA sur ce type de peacuteripheacuterique

Le gros point de diffeacuterence reacuteside dans la maniegravere de geacuterer les contacts qui dans

la premiegravere version eacutetaient des ContactEvent (avec des proprieacuteteacutes deacutedieacutees)

Le nouveau SDK ainsi que les outils de deacuteveloppement ou de simulation de la

table Surface ont eux aussi eacuteteacute mis agrave jour avec notamment un simulateur

ameacutelioreacute de la table

Enfin eacutevidemment le Framework Surface a eacuteteacute eacutetendu avec de nouveaux

controcircles et nouvelles possibiliteacutes disponibles agrave travers ce lien

httpwwwmicrosoftcomdownloadendetailsaspxid=26716

Concernant la migration drsquoune application Surface v1 vers Surface v2 pour les cas simples il est

possible drsquoutiliser le PowerToy fourni par Microsoft et preacutesenteacute agrave travers le lien suivant

httpmsdnmicrosoftcomen-uslibrarygg697146aspx

Consideacuterations pour vos applications pour la table Surface V10

La table Surface v10 repose sur une couche de capture des eacuteveacutenements qui srsquoopegravere au-dessus de

lrsquoapplication WPF Il faut alors pouvoir capturer ses contacts au-dessus des composants utiliseacutes et

bindeacutes ces derniers sur une manipulation WPF adapteacutee

Les solutions reposant sur lrsquoutilisation du controcircle WebBrowser ne peuvent pas fonctionner en

manipulation directe de la carte on ne peut donc pas capturer les contacts au-dessus drsquoun controcircle

WebBrowser classique

En effet ce controcircle existe depuis les anciennes versions du Framework et repose sur un controcircle Win32

et le rendu srsquoopegravere au dessus de tout controcircle WPF et eacutegalement au-dessus de la couche de capture des

contacts Degraves lors il est donc impossible drsquoobtenir un eacuteveacutenement de contact au-dessus de la page

heacutebergeacute par le controcircle WebBrowser

Evolution des deacuteveloppements

Les applications deacuteveloppeacutees pour la table Surface seront les mecircmes que ceux des tablettes Windows 7

ou des PC avec eacutecran tactiles Elles seront naturellement compatibles sur PC avec une simple souris

Ce qui inteacuteressant dans ce cas crsquoest la capaciteacute simple permettant de migrer une application sur un type

de support vers un autre et inversement Il est eacutegalement inteacuteressant de voir que lrsquointeacutegration de

controcircles avanceacutes se fera de maniegravere plus aiseacutee et surtout une meacutethode unique les consideacuterations

concernant lrsquointeacutegration de la cartographie en WPF se reacuteduisent puisqursquoil srsquoagit lagrave des mecircmes

deacuteveloppements

Attention toutefois les applications srsquoexeacutecutant sur une table Surface doivent agrave mon sens faire preuve

drsquoune reacuteflexion particuliegravere sur lrsquoutilisation qui va en ecirctre faite Il faut concevoir lrsquoapplication comme

eacutetant possiblement exploitable de nrsquoimporte quel cocircteacute de la table et surtout avec de lrsquoinformation

adapteacutee et lisible dans ce cas preacutesent Lrsquoutilisation simultaneacutee par plusieurs utilisateurs est eacutegalement un

eacuteleacutement dont il faut tenir compte et qui est agrave reacutefleacutechir

Conclusions

Lrsquoensemble de ces solutions techniques drsquointeacutegration de plateforme cartographique au sein drsquoapplication

WPF sont agrave consideacuterer en fonction du contexte final drsquoexeacutecution

En effet on ne peut pas aiseacutement deacutesigner LA solution parfaite pour tous les cas car lagrave ougrave pour certains

le besoin en support et eacutevolution du composant est primordial lrsquointeacutegration fine et le besoin de

customisation seront neacutegligeacutes et inversement

Par contre la solution utilisant le plugin 3d (Concierge ou controcircle InfoStratVE) ne doivent plus ecirctre

utiliseacutees pour de nouveaux projets et devront tregraves certainement subir une migration dans les mois agrave venir

agrave la fin de vie du plugin (novembre 2011)

Il eacutegalement agrave noter que dans ce type drsquointeacutegration il est toutefois neacutecessaire de conserver en tecircte

lrsquoaspect leacutegal et donc se rapprocher de Microsoft pour obtenir davantage drsquoinformation concernant les

licences drsquoutilisation de la plateforme Bing Maps for Enterprise

Autres pistes agrave explorer

Si vous avez en tecircte drsquoautres solutions drsquointeacutegration de lrsquoAPI Bing Maps ou plus geacuteneacuteralement de

cartographie au sein drsquoapplication WPF agrave laquelle je nrsquoaurai penseacute nrsquoheacutesitez pas agrave me contacter ou agrave

laisser un commentaire

Je nrsquoai pas preacutesenteacute la solution drsquointeacutegration de Google Earth API puisque je voulais des solutions

drsquointeacutegration de la plateforme Bing Maps for Enterprise principalement mais il est eacutevident que cela peut

ecirctre une solution possible drsquointeacutegration

La solution drsquointeacutegration ESRI nrsquoa pas non plus eacuteteacute preacutesenteacutee puisque leurs controcircles ne sont pas

librement accessibles en version drsquoeacutevaluation

Aussi si vous aussi vous rencontrez ce genre de besoin nrsquoheacutesitez pas agrave me contacter pour eacutechanger sur

le sujet

Page 19: Bing Maps for Enterprise – Inte gration dans une ... Maps for... · pointue des technologies WPF et Silverlight. Elle présente toutefois un avantage notable, elle permet en effet

Aspect logiciel

Fondamentalement la technologie utiliseacutee reste identique puisqursquoil srsquoagit dans

les 2 versions drsquoun Framework baseacute sur WPF Il est eacutegalement possible de

reacutealiser des applications en XNA sur ce type de peacuteripheacuterique

Le gros point de diffeacuterence reacuteside dans la maniegravere de geacuterer les contacts qui dans

la premiegravere version eacutetaient des ContactEvent (avec des proprieacuteteacutes deacutedieacutees)

Le nouveau SDK ainsi que les outils de deacuteveloppement ou de simulation de la

table Surface ont eux aussi eacuteteacute mis agrave jour avec notamment un simulateur

ameacutelioreacute de la table

Enfin eacutevidemment le Framework Surface a eacuteteacute eacutetendu avec de nouveaux

controcircles et nouvelles possibiliteacutes disponibles agrave travers ce lien

httpwwwmicrosoftcomdownloadendetailsaspxid=26716

Concernant la migration drsquoune application Surface v1 vers Surface v2 pour les cas simples il est

possible drsquoutiliser le PowerToy fourni par Microsoft et preacutesenteacute agrave travers le lien suivant

httpmsdnmicrosoftcomen-uslibrarygg697146aspx

Consideacuterations pour vos applications pour la table Surface V10

La table Surface v10 repose sur une couche de capture des eacuteveacutenements qui srsquoopegravere au-dessus de

lrsquoapplication WPF Il faut alors pouvoir capturer ses contacts au-dessus des composants utiliseacutes et

bindeacutes ces derniers sur une manipulation WPF adapteacutee

Les solutions reposant sur lrsquoutilisation du controcircle WebBrowser ne peuvent pas fonctionner en

manipulation directe de la carte on ne peut donc pas capturer les contacts au-dessus drsquoun controcircle

WebBrowser classique

En effet ce controcircle existe depuis les anciennes versions du Framework et repose sur un controcircle Win32

et le rendu srsquoopegravere au dessus de tout controcircle WPF et eacutegalement au-dessus de la couche de capture des

contacts Degraves lors il est donc impossible drsquoobtenir un eacuteveacutenement de contact au-dessus de la page

heacutebergeacute par le controcircle WebBrowser

Evolution des deacuteveloppements

Les applications deacuteveloppeacutees pour la table Surface seront les mecircmes que ceux des tablettes Windows 7

ou des PC avec eacutecran tactiles Elles seront naturellement compatibles sur PC avec une simple souris

Ce qui inteacuteressant dans ce cas crsquoest la capaciteacute simple permettant de migrer une application sur un type

de support vers un autre et inversement Il est eacutegalement inteacuteressant de voir que lrsquointeacutegration de

controcircles avanceacutes se fera de maniegravere plus aiseacutee et surtout une meacutethode unique les consideacuterations

concernant lrsquointeacutegration de la cartographie en WPF se reacuteduisent puisqursquoil srsquoagit lagrave des mecircmes

deacuteveloppements

Attention toutefois les applications srsquoexeacutecutant sur une table Surface doivent agrave mon sens faire preuve

drsquoune reacuteflexion particuliegravere sur lrsquoutilisation qui va en ecirctre faite Il faut concevoir lrsquoapplication comme

eacutetant possiblement exploitable de nrsquoimporte quel cocircteacute de la table et surtout avec de lrsquoinformation

adapteacutee et lisible dans ce cas preacutesent Lrsquoutilisation simultaneacutee par plusieurs utilisateurs est eacutegalement un

eacuteleacutement dont il faut tenir compte et qui est agrave reacutefleacutechir

Conclusions

Lrsquoensemble de ces solutions techniques drsquointeacutegration de plateforme cartographique au sein drsquoapplication

WPF sont agrave consideacuterer en fonction du contexte final drsquoexeacutecution

En effet on ne peut pas aiseacutement deacutesigner LA solution parfaite pour tous les cas car lagrave ougrave pour certains

le besoin en support et eacutevolution du composant est primordial lrsquointeacutegration fine et le besoin de

customisation seront neacutegligeacutes et inversement

Par contre la solution utilisant le plugin 3d (Concierge ou controcircle InfoStratVE) ne doivent plus ecirctre

utiliseacutees pour de nouveaux projets et devront tregraves certainement subir une migration dans les mois agrave venir

agrave la fin de vie du plugin (novembre 2011)

Il eacutegalement agrave noter que dans ce type drsquointeacutegration il est toutefois neacutecessaire de conserver en tecircte

lrsquoaspect leacutegal et donc se rapprocher de Microsoft pour obtenir davantage drsquoinformation concernant les

licences drsquoutilisation de la plateforme Bing Maps for Enterprise

Autres pistes agrave explorer

Si vous avez en tecircte drsquoautres solutions drsquointeacutegration de lrsquoAPI Bing Maps ou plus geacuteneacuteralement de

cartographie au sein drsquoapplication WPF agrave laquelle je nrsquoaurai penseacute nrsquoheacutesitez pas agrave me contacter ou agrave

laisser un commentaire

Je nrsquoai pas preacutesenteacute la solution drsquointeacutegration de Google Earth API puisque je voulais des solutions

drsquointeacutegration de la plateforme Bing Maps for Enterprise principalement mais il est eacutevident que cela peut

ecirctre une solution possible drsquointeacutegration

La solution drsquointeacutegration ESRI nrsquoa pas non plus eacuteteacute preacutesenteacutee puisque leurs controcircles ne sont pas

librement accessibles en version drsquoeacutevaluation

Aussi si vous aussi vous rencontrez ce genre de besoin nrsquoheacutesitez pas agrave me contacter pour eacutechanger sur

le sujet

Page 20: Bing Maps for Enterprise – Inte gration dans une ... Maps for... · pointue des technologies WPF et Silverlight. Elle présente toutefois un avantage notable, elle permet en effet

Consideacuterations pour vos applications pour la table Surface V10

La table Surface v10 repose sur une couche de capture des eacuteveacutenements qui srsquoopegravere au-dessus de

lrsquoapplication WPF Il faut alors pouvoir capturer ses contacts au-dessus des composants utiliseacutes et

bindeacutes ces derniers sur une manipulation WPF adapteacutee

Les solutions reposant sur lrsquoutilisation du controcircle WebBrowser ne peuvent pas fonctionner en

manipulation directe de la carte on ne peut donc pas capturer les contacts au-dessus drsquoun controcircle

WebBrowser classique

En effet ce controcircle existe depuis les anciennes versions du Framework et repose sur un controcircle Win32

et le rendu srsquoopegravere au dessus de tout controcircle WPF et eacutegalement au-dessus de la couche de capture des

contacts Degraves lors il est donc impossible drsquoobtenir un eacuteveacutenement de contact au-dessus de la page

heacutebergeacute par le controcircle WebBrowser

Evolution des deacuteveloppements

Les applications deacuteveloppeacutees pour la table Surface seront les mecircmes que ceux des tablettes Windows 7

ou des PC avec eacutecran tactiles Elles seront naturellement compatibles sur PC avec une simple souris

Ce qui inteacuteressant dans ce cas crsquoest la capaciteacute simple permettant de migrer une application sur un type

de support vers un autre et inversement Il est eacutegalement inteacuteressant de voir que lrsquointeacutegration de

controcircles avanceacutes se fera de maniegravere plus aiseacutee et surtout une meacutethode unique les consideacuterations

concernant lrsquointeacutegration de la cartographie en WPF se reacuteduisent puisqursquoil srsquoagit lagrave des mecircmes

deacuteveloppements

Attention toutefois les applications srsquoexeacutecutant sur une table Surface doivent agrave mon sens faire preuve

drsquoune reacuteflexion particuliegravere sur lrsquoutilisation qui va en ecirctre faite Il faut concevoir lrsquoapplication comme

eacutetant possiblement exploitable de nrsquoimporte quel cocircteacute de la table et surtout avec de lrsquoinformation

adapteacutee et lisible dans ce cas preacutesent Lrsquoutilisation simultaneacutee par plusieurs utilisateurs est eacutegalement un

eacuteleacutement dont il faut tenir compte et qui est agrave reacutefleacutechir

Conclusions

Lrsquoensemble de ces solutions techniques drsquointeacutegration de plateforme cartographique au sein drsquoapplication

WPF sont agrave consideacuterer en fonction du contexte final drsquoexeacutecution

En effet on ne peut pas aiseacutement deacutesigner LA solution parfaite pour tous les cas car lagrave ougrave pour certains

le besoin en support et eacutevolution du composant est primordial lrsquointeacutegration fine et le besoin de

customisation seront neacutegligeacutes et inversement

Par contre la solution utilisant le plugin 3d (Concierge ou controcircle InfoStratVE) ne doivent plus ecirctre

utiliseacutees pour de nouveaux projets et devront tregraves certainement subir une migration dans les mois agrave venir

agrave la fin de vie du plugin (novembre 2011)

Il eacutegalement agrave noter que dans ce type drsquointeacutegration il est toutefois neacutecessaire de conserver en tecircte

lrsquoaspect leacutegal et donc se rapprocher de Microsoft pour obtenir davantage drsquoinformation concernant les

licences drsquoutilisation de la plateforme Bing Maps for Enterprise

Autres pistes agrave explorer

Si vous avez en tecircte drsquoautres solutions drsquointeacutegration de lrsquoAPI Bing Maps ou plus geacuteneacuteralement de

cartographie au sein drsquoapplication WPF agrave laquelle je nrsquoaurai penseacute nrsquoheacutesitez pas agrave me contacter ou agrave

laisser un commentaire

Je nrsquoai pas preacutesenteacute la solution drsquointeacutegration de Google Earth API puisque je voulais des solutions

drsquointeacutegration de la plateforme Bing Maps for Enterprise principalement mais il est eacutevident que cela peut

ecirctre une solution possible drsquointeacutegration

La solution drsquointeacutegration ESRI nrsquoa pas non plus eacuteteacute preacutesenteacutee puisque leurs controcircles ne sont pas

librement accessibles en version drsquoeacutevaluation

Aussi si vous aussi vous rencontrez ce genre de besoin nrsquoheacutesitez pas agrave me contacter pour eacutechanger sur

le sujet

Page 21: Bing Maps for Enterprise – Inte gration dans une ... Maps for... · pointue des technologies WPF et Silverlight. Elle présente toutefois un avantage notable, elle permet en effet

Conclusions

Lrsquoensemble de ces solutions techniques drsquointeacutegration de plateforme cartographique au sein drsquoapplication

WPF sont agrave consideacuterer en fonction du contexte final drsquoexeacutecution

En effet on ne peut pas aiseacutement deacutesigner LA solution parfaite pour tous les cas car lagrave ougrave pour certains

le besoin en support et eacutevolution du composant est primordial lrsquointeacutegration fine et le besoin de

customisation seront neacutegligeacutes et inversement

Par contre la solution utilisant le plugin 3d (Concierge ou controcircle InfoStratVE) ne doivent plus ecirctre

utiliseacutees pour de nouveaux projets et devront tregraves certainement subir une migration dans les mois agrave venir

agrave la fin de vie du plugin (novembre 2011)

Il eacutegalement agrave noter que dans ce type drsquointeacutegration il est toutefois neacutecessaire de conserver en tecircte

lrsquoaspect leacutegal et donc se rapprocher de Microsoft pour obtenir davantage drsquoinformation concernant les

licences drsquoutilisation de la plateforme Bing Maps for Enterprise

Autres pistes agrave explorer

Si vous avez en tecircte drsquoautres solutions drsquointeacutegration de lrsquoAPI Bing Maps ou plus geacuteneacuteralement de

cartographie au sein drsquoapplication WPF agrave laquelle je nrsquoaurai penseacute nrsquoheacutesitez pas agrave me contacter ou agrave

laisser un commentaire

Je nrsquoai pas preacutesenteacute la solution drsquointeacutegration de Google Earth API puisque je voulais des solutions

drsquointeacutegration de la plateforme Bing Maps for Enterprise principalement mais il est eacutevident que cela peut

ecirctre une solution possible drsquointeacutegration

La solution drsquointeacutegration ESRI nrsquoa pas non plus eacuteteacute preacutesenteacutee puisque leurs controcircles ne sont pas

librement accessibles en version drsquoeacutevaluation

Aussi si vous aussi vous rencontrez ce genre de besoin nrsquoheacutesitez pas agrave me contacter pour eacutechanger sur

le sujet