Sigurd Snørteland


CoverFlowTV

WPF app som viser fritt tilgjengelige tv-streamer og benytter en coverflow-control for å bytte mellom ulike tv-kanaler.

CoverFlow-controlleren som er benyttet er en modifisert utgave av en løsning som Gøran Hansen presenterte på MSDN Live 2008.

CoverFlowTV

download_CoverFlowTV


Remote²

Remote² er en Live Mesh/Live Framework applikasjon som jeg deltok i den internasjonale Azure-konkurranse og som gjør det mulig å styre ulike funksjoner på din pc via en webside (som er tilpasset iPhone-skjermer).

Løsningen består av en lokal WPF klient som kommuniserer med Live Framework og som blant annet kan vise tv-streamer. Ved å logge inn i den iPhone-tilpassede websiden kan man styre hvilke tv-stream som skal vises i WPF-app’en. I tillegg kommuniserer denne wpf-app’en med iTunes og synkroniserer informasjon i pc’ens iTunes-biblioteket til Live Mesh. Via iPhone-websiden er det dermed mulig å se iTunes-biblioteket og starte avspillingen av spesifikke sanger på pc’en, samt justere volum og lignende.

Etter å ha lest om TweetMyPC (twitter-løsning for å styre av/pålogging og restart/avslutt windows) laget jeg tilsvarende funkasjonalitet inn i denne løsningen.

I tillegg gjør denne løsning  det mulig å styre powerpoint, og dermed kan man benytte iPhone som fjernkontroll under foredrag.

Screencast:

Remote2 - img3 Remote2 - img4

Remote2 - img5 Remote2 - img6

Remote2 - img7 Remote2 - img8

Nedenfor vises innloggingsbildet til WPF apllikasjonen:
Remote2 - img1

“iPhone”-websiden benytter ‘Live ID Delegated Authentication’ for å autentisere seg mot Live Mesh/Live Framework. Skjermbildet nedenfor viser hvordan dette skjer i praksis:
Remote2 - img2

’ DataEntries_ChangeNotificationReceived’ er den mest sentral Live Framework funksjonen i denne løsningen pga. den gjør det mulig å automatisk kontakte WPF applikasjonen om endringer som har skjedd i Mesh’et. Det betyr at nå iPhone applikasjonen melder ifra til Mesh’et om for eksempel hvilke iTunes sang som skal spilles, så kaller mesh’et videre på WPF for å utføre komandoen/starte avspillingen. Når mesh’et ”kaller” på WPF på denne måten overfører den et mesh-objekt med informasjon om hvilke operasjon som skal utføres.

Nedenfor finnes et eksempel på hvordan et mesh-objekt for musikkavspilling blir behandlet i WPF applikasjonen:
Remote2 - kode1

Nedenfor finnes et eksempel på hvordan et mesh-objekt for systemkommandoer blir behandlet i WPF applikasjonen:
Remote2 - kode2

download_Remote2