concevoir une expérience solomo (sociale, locale, mobile): retours d'expériences de...

50
palais des congrès Paris 7, 8 et 9 février 2012

Upload: microsoft

Post on 04-Aug-2015

99 views

Category:

Technology


3 download

TRANSCRIPT

palais des congrès Paris

7, 8 et 9 février 2012

Concevoir une expérience SoLoMo

Jeudi 9 févrierRudy HUYNSamuel BLANCHARD

Samuel BLANCHARD

Au niveau communautaire Rédacteur/Modérateur chez

Développez Rédacteur pour Programmez! Fondateur Club SP et .NET Ouest Créateur d’applications Windows

Phone Outil : IsoStoreSpy Apps: Sonic’s Jewels

Au niveau professionnel Responsable Développement &

Innovation chez Naviso (www.naviso.fr)

A remplacer par une photo

Rudy HUYN

Au niveau communautaire MVP Windows Phone

Development MCC Fondateur de la communauté

developpeurs Windows Phone

Au niveau professionnel Responsable Technique Windows

Phone 7, Windows 8, Xbox – Orange Business Services

Qu’est ce que SoLoMo ?

SoLoMo

cialcal

bile

Qu’est ce que SoLoMo ?Exemples d’application : FourSquare

Qu’est ce que SoLoMo ?Exemples d’application : FoodReporter

Qu’est ce que SoLoMo ?Exemples d’application : Let’s Walk

Facebook ?

SoLoMo dans Windows Phone 7.5

LOCALSOCIAL

Social

DEMOLe partage de statuts et de liens

Code : Statuts et liens

// Partage de lien sur Windows Live, FaceBook, Twitter...ShareLinkTask shareLink = new ShareLinkTask();

shareLink.LinkUri = new Uri(@"http://www.microsoft.com/france/mstechdays/", UriKind.Absolute );shareLink.Message = "C'est bon ça !";shareLink.Title = "Techdays 2012";

shareLink.Show();

Quelques lignes de codes suffisent

// Partage de statuts sur Windows Live, FaceBook, Twitter...ShareStatusTask shareStatus = new ShareStatusTask();

shareStatus.Status = "Mais c'est Techdays aujourd'hui ^^ !";shareStatus.Show();

BAM !

Attention!

Les contrôles tiers

Facebook SDK Hammock.WindowsPhone

FACEBOOK !

Local

VIVA BING !Cartes !

Code : Cartes

<my:Map x:Name="Map" Mode="Aerial" CredentialsProvider=« XXX-XXX-XXX"> <!-- Pushpin avec Latitude et Logitude --> <my:Pushpin x:Name="CenterPushPin" Content="Je suis là !«  Location="48.531695,2.150700"> </my:Pushpin> </my:Map>

Simplicité du XAML

SUPA BING !

Image Bing Maps

panorama

?Contrôle Map Image jpeg

http://dev.virtualearth.net/REST/v1/Imagery/Map/Road/Latitude,Longitude/5?mapSize=400,300&mapVersion=v1&key=credentialProviver

VAMOS BING !

Code : Direction

BingMapsDirectionsTask direction = new BingMapsDirectionsTask();

// debut de la direction ! Seule la location de départ comptedirection.Start = new LabeledMapLocation("Je suis la !", this.CenterPushPin.Location);

// le label est utilisé pour rechercher l'arrivéedirection.End = new LabeledMapLocation("Palais des congrès, Paris 75", null);

direction.Show();

BAM !

Intégration de l’application dans le système

Search Extensibility

DEMOSearch Extensibility

Comment le faire ?

Ce que l’application reçoit

SearchExtras?PlaceName=le saison&PlaceLatitude=48.083333&PlaceLongitude=-1.683333&PlaceAddress=2 rue de l’abbé Pierre, 35760 Saint Grégoire, France&Category=Bing_Places_Food_and_Dining

DEMO

Mobilité

Capacité de WP à acquérir des informations externesUn plus pour une expérience riche

L’aspect Mobile

DEMOImage et son dans WP ?

Code : Prendre une photo

// Creation de la cameraCameraCaptureTask camera = new CameraCaptureTask();camera.Completed += new EventHandler<PhotoResult>(camera_Completed);camera.Show();

// Réception de la photovoid camera_Completed(object sender, PhotoResult e){ if (e.Error == null) { var image = new BitmapImage(); image.SetSource(e.ChosenPhoto);

this.Photo.Source = image; }}

Le classique CameraCaptureTask

L’objet CameraCaptureTask doit être déclaré dans le scope de votre classe et non dans la fonction

Attention !

http://msdn.microsoft.com/en-us/library/ff637514(v=vs.92).aspx

Attention !

if(!Microsoft.Devices.Camera.IsCameraTypeSupported(CameraType.Primary)) { MessageBox.Show("Votre téléphone ne dispose pas de caméra"); return; }

La caméra n’est pas obligatoire sur Windows Phone

Code : Enregistrer du son

this.streamSample = new MemoryStream();// 1 seconde de buffermicrophone.BufferDuration = TimeSpan.FromMilliseconds(1000);// Le resultat est un tableau dont la taille est determiné selon la durée du bugger par la methode GetSampleSizeInBytesint size = microphone.GetSampleSizeInBytes(microphone.BufferDuration);this.buffer = new byte[size];

microphone.BufferReady += microphone_BufferReady;microphone.Start();

// On remplie le flux avec le sonvoid microphone_BufferReady(object sender, EventArgs e){ microphone.GetData(buffer);

streamSample.Write(buffer, 0, buffer.Length);}

XNA à la rescousse !

LET’S SHOW ?

Caméra et son

Intégration au hub photo

COMMENT ?

Intégration au hub photo

WMAppManifest.xaml

Comment faire ?

Intégration au hub photo

LET’S DO IT ?

Intégration au hub photo

Comment faire ?

Dans WMAppManifest.xaml

Dans le OnNavigatedTo de la page principale

Prêt à répondre à l’ensemble des problématiques SoLoMo

Intégrer son expérience SoLoMo au cœur même du téléphone

Et vos applications ?

Conclusion

Questions ?

Rudy Huyn @mail

Samuel [email protected]

Vous voulez développer une appli Windows Phone ? Inscrivez-vous !

Profitez d’un programme d’accompagnement pour développeurs, à la carte et sans engagement

– Un guide vous contacte et vous accompagne personnellement

– Il met à votre disposition des ressources : accès gratuits* Marketplace, prêts/dons* de téléphone…

– Il vous propose du coaching technique et design

– Il vous aide à rendre visible votre application en ligne et à des événements

*Dans la limite des quantités disponibles

Play time!

Quel est l’âge du capitaine ?