Tag Archives: WindowsPhone7

Desktop alkalmazások futtatása Windows Phone 7-en

Az egyetemi lét egyik nagy előnye, hogy az ember legálisan szakíthat magának időt arra, hogy azzal foglalkozzon, ami érdekli. Tudományos körökben ezt kutatásnak hívják, ám aki nem a doktorija megszerzéséért csinálja, annál ez az a pont, ahol a programozás visszaalakulhat egy rövid időre hobbivá. Nálam ez a terület például a mobil alkalmazásfejlesztés, mostanában éppen Windows Phone 7-re.

Mivel legtöbbször webes alkalmazásokat készítek, ezért a WP7-es fejlesztés percenként hoz újdonságokat számomra. Na jó, bevallom, elég gyakran elakadok. Ilyenkor persze guglizok egy fél órát, meglesz a megoldás és már lépek is tovább. Mivel a net már elég “zajos”, sokszor futok bele olyan kódrészletekbe, amik egyáltalán nem is működnek, ezért rászoktam arra, hogy ész nélkül bemásolom a talált kóddarabkát a programomba, és ha működik, akkor rászánom az időt, hogy megértsem és kipofozzam a kódot. Így sikerült véletlenül rájönni arra, hogyan lehet desktop alkalmazásokat futtatni Windows Phone 7-en.

Történt ugyanis, hogy épp a hálózat paramétereit lekérdező kódra vadásztam a neten, találtam egyet, bemásoltam, működött is. Aztán amikor jobban megnéztem a kódot, nagyon meglepődtem:

RegistryKey root = Registry.LocalMachine;
string key = @"SYSTEM\CurrentControlSet\Services\Tcpip\Parameters";

RegistryKey dnsKey = root.OpenSubKey( key );
string server = (string) dnsKey.GetValue( "NameServer" );

Bizony, nem valamilyen API-n keresztül kéri le a DNS szervereket, hanem a registry-ből olvassa ki. Ezek szerint van registry WP7-en is! Sőt, jobban utána olvasva megtudtam, hogy mások már registry editort is írtak hozzá. Ezzel kiexportáltam a telefon registry-jét, áttöltöttem egy asztali gépre, ahol kényelmesebben tudtam körülnézni benne. Nem kellett sok hozzá és máris ismerős kulcsra leltem:

shell-explorer

Ez az a kulcs, ami alapján a Winlogon service elindítja azt a programot, ami shellként funkcionál. Eddig azt sem tudtam, hogy van Winlogon service a telefonon, azt meg végképp nem, hogy a shellt tulajdonképpen explorwp.exe-nek hívják. Vajon mi történik, ha ez a process meghal? Próbáljuk ki! Bele is írtam a saját programomba:

Process shell = Process.GetProcessesByName( "explorwp.exe" );
shell.Kill();

Látszólag nem történt semmi, de miután a programom kilépett, ez “jelent meg” az emulátorban:

Windows-Phone-7-black

Sehol egy hibaüzenet, a rendszer látszólag működik, csak épp nem mutat semmit. Na ezzel nem sokra megyek. De legalább van egy fél task managerem, már csak annyit kell hozzáírni, hogy indítsa újra a processt:

Process.Start( "exporer.exe" );

És ez is lefutott, annak ellenére, hogy megszokásból elírtam az exe nevét. Tehát nem csak explorwp.exe van a telefonon, hanem explorer.exe is! Ezt csinálja, amikor fut:

Windows-Phone-7-color

Ismét csak meglepő eredmény, ugyanúgy viselkedik, mint az asztali változat. Ezek után már megnéztem a laptopomon és a telefonomon lévő fájl méretét és mindkettő épp 2870272 bájt. Gyanús. Lehet, hogy teljesen ugyanaz a kettő?

Megint felderítő munka következett, ezúttal a \Windows mappában, ahol nagyon sok ismerős fájlra bukkantam. Közben eszembe jutott, hogy vajon mit kezdene ezzel a mappával a Windows Explorer. Meg is kérdeztem tőle:

Process.Start( "\Windows" );

A legszebb az egészben, hogy ezt nem lehet megtenni, amíg a gyári shell fut, mert AccessDeniedExceptiont eredményez. Most viszont, hogy nem állt az utunkba a mindenre vigyázó explorwp.exe, az operációs rendszer szó nélkül megette:

Windows-Phone-7-Windows-folder

Azt eddig is tudtam, hogy a Windows Phone készülékek nagyon izmosak, de azért ezt legmerészebb álmomban sem gondoltam volna. Innen már csak két lépés volt hátra, felmásolni néhány fájlt, és consumer eszközről lévén szó, elindítani egy érdekesebb processt:

Windows-Phone-7-WoW

Itt tartunk most, és egyelőre úgy néz ki, hogy a legtöbb asztali alkalmazás hiba nélkül fut ezen a kis eszközön, a remote desktop kliens éppúgy, mint a World of Warcraft. Eddig azokkal akadtunk csak el, amik közvetlenül próbálták olvasni a C: meghajtót, vagy nyomtatni próbáltak, a többivel nem volt gond. Kicsit szokatlan, hogy az ablakok úgy lógnak ki a képernyőről, hogy nincs scrollbar, de a gesztusok működnek, lehet ujjal tologatni a képernyőt.

A mobilos kollégák felvetették, hogy a következő lépés egy iPhone emulátor futtatása lehetne, így az alkalmazások portolása egy csapásra megoldódna és valóban működne magyar bankkártyával a vásárlás. Ez mindenképp érdekes kutatási terület, de a biztonság kedvéért felvettük a kapcsolatot a Microsofttal, hogy vajon jogilag megtehetjük-e.

Te milyen programot futtatnál szívesen a telefonodon?

 

Windows Phone Marketplace magyar bankkártyával?

Olvasom a Windows Phone update history-ban, hogy a telefonon futó operációs rendszer mellett természetesen a Marketplace szoftverét is folyamatosan frissítik. A márciusi újdonságok között erre figyeltem fel:

We’ve also improved the experience of downloading apps larger than 20 megabytes, upgrading from trial apps to paid apps, using a credit card with an address outside the United States, […]

Eddig tudtuk, hogy mit jelent a US-only. Most megtanulhatjuk, hogy mit jelent egy amerikai cég számára az USA-n kívüli rész a térképen.

Kipróbálta már ezt valaki, működik magyar bankkártyával is, vagy továbbra is angol címre kell hazudni a Live ID-t?

Mobil szolgáltatások a felhőben

Egy érdekes Microsoft Research kutatási projectbe futottam bele, úgy hívják, hogy Project Hawaii. Egy rakás szolgáltatást készítenek a felhőben, melyekkel elsősorban a mobil eszközök, pontosabban nyilván a Windows Phone 7 képességeit igyekeznek bővíteni:

  • Randevú Project Hawaii
  • Számítás
  • Virtuális adatbázis
  • OCR
  • Speech to Text
  • Azonosítás
  • Térkép

Nem csak amolyan “elmélkedjünk a lehetőségekről” kutatási projektről van szó, hanem egyetemek bevonásával konkrét alkalmazások is születtek már.

Az SDK adott. Van valakinek egy jó ötlete, amivel Magyarország is felkerülhetne a térképre?

 

Technorati-címkék: ,

Windows Phone Device Manager

Boldogan írnám ide, hogy “és imáid meghallgatának vala” és a gyártó a Microsoft, de sajnos nem. A fejlesztő Julien Schapman, aki már egy ideje kecsegteti ezzel az eszközzel a felhasználókat, bár a korábbi bétával kapcsolatban elég vegyes visszajelzések voltak. Ez a videó most igen-igen bíztatónak tűnik (720p, teljes képernyős nézet ajánlott).

Technorati-címkék: ,

WP7 DevTools January 2011 Update

Bár a WP7 telefonokra még nem töltődött le a copy-paste funkciót is tartalmazó, sokat ígért januári frissítés, a fejlesztők már kipróbálhatják, hogyan viselkedik majd az alkalmazásuk az új operációs rendszeren. Bár a legtöbb alkalmazást nem kell módosítani a telefon operációs rendszerének frissítése miatt, lehetnek olyan esetek, amikor az új másolás-beillesztés funkció előre nem látható mellékhatással jár egy-egy spécibb, Panorama vagy Pivot kontrollba ágyazott TextBox környékén. Ezt megelőzendő, a Microsoft kiadta a Windows Phone Developer Tools 2011. januári frissítését, amely új emulátor image-ekkel segíti a fejlesztők életét és az alkalmazások tesztelését. Aki esetleg új fejlesztői környezetet telepít, annak nem szükséges a 2010. októberi frissítést telepítenie, a 2011. januári változat minden korábbi javítást tartalmaz.

A javításokon kívül mi van még a csomagban:

  • Új OS emulátor image-ek copy-paste támogatással.
  • Frissített reference assembly-k.
  • Windows Phone Capability Detection Tool – amit a Marketplace is használ.
  • Windows Phone Connect Tool – media API debuggolására.
  • Frissített Bing Maps Silverlight vezérlő.

Kis hivatalos statisztika: eddig több, mint 27.000 fejlesztő regisztrált és tett közzé több, mint 7.200 alkalmazást a Marketplace-en, a fejlesztői eszközkészletet pedig több, mint 1 millióan töltötték le világszerte.

Technorati-címkék: ,

Windows Phone 7 – idehaza csak egy telefon?

Azt szokták mondani, hogy az okos telefonok annyival tudnak többet “nem okos” társaiknál, hogy nem csak telefonálni lehet velük. Mert mit csinál az ember manapság egy telefonnal, ami nem egy törpe számítógép: telefonál, SMS-t küld, fényképez, netezik. Ezek ma már alapfunkciók, a kifejezetten “buta” telefonok kivételével gyakorlatilag már a belépő szintű telefonok is tudják ezeket a funkciókat.

A Windows Phone 7 azonban több ennél. Itt most nem az agyondicsért új Metro GUI-ra gondolok, nem is a képességekre, amiket az eszköz magában rejt, hanem a szolgáltatásokra, amik ehhez az eszközhöz kapcsolódnak. A hangsúly ebben a verseny világban a szolgáltatásokon van, ez az a terület, ahol az egyik telefon smartabb tud lenni a másiknál. Ha a WP7-et nézzük, akkor van itt Marketplace, többféle online Zune, Xbox és Bing szolgáltatás, ez együtt tényleg ütős gyűjtemény. Hiányzik a beépített stopper funkció a telefonról? Semmi gond, ránts le egyet a sok száz timer alkalmazás közül a Marketplace-ről. Ettől okos, hogy ilyen dolgokra képes.

Ám még egy ilyen okos telefon sem lehet tökéletes, az Engadget “mit változtatnál a WP7-en?” felmérésére 924 válasz érkezett eddig. Csakhogy nem az itt a probléma, hogy nincs copy-paste, direkt fájl másolás, százalékos akkumulátor szint kijelzés, mert ahhoz jön majd idővel az update. Nem is az a fő probléma, hogy az eladók hozzáértése sokfelé csapnivaló.

A fő gond az, hogy egyelőre, ez egy US-only smart phone. Andrew Birch készített egy kiváló összefoglaló táblázatot arról, hogy a Windows Phone 7-hez kapcsolódó online szolgáltatások mely országokban érhetőek el és melyekben nem. Érdemes megnézni, hogy olyan nagy, angol anyanyelvű piacokon is igen üres a táblázat, mint Ausztrália. Magyarországot nem is érte meg beírni a táblázatba.

Amíg ez nem változik jelentősen, addig a Windows Phone 7 számunkra nem más, mint egy klasszikus telefon, stopper nélkül, szép csomagolással és ígéretes jövővel. Se több, se kevesebb.

Vagy te máshogy látod?

Egy DLL minden platformra

Tavaly írtam arról, hogy Silverlightból kezd zavaróan sok változat lenni, ami már csak azért is kellemetlen, mert a DLL-ek ettől újrafelhasználhatatlanná válnak. Ezen próbál segíteni a Portable Library Tools projekt típus, aminek a kimenete szintén DLL, csakhogy erre a fájlra hivatkozhatunk .NET 4, Silverlight 4, Windows Phone 7, XNA és XBOX 360 projektekből egyaránt. A BCL csapat egyelőre csak egy CTP változatot adott ki, ami letölthető innen.