Microsoft HoloLens na BUILD 2015

Letos jsem se již podruhé zúčastnil vývojářské konference Microsoft Build 2015 v San Franciscu. Mezi největší lákadla patřila rozhodně demonstrace Microsoft HoloLens – revolučních brýlí pro holografickou realitu, které přichází spolu s Windows 10 jako prvním operačním systémem pro tento typ zařízení. Měl jsem to velké štěstí, že jsem si HoloLens mohl vyzkoušet sám na vlastní oči a chtěl bych se nyní s vámi o mé zážitky podělit.

08023260-photo-hololens.jpg

Zaregistrujte se, rychle!

V keynote prvního dne konference bylo ohlášeno, že někteří z účastníků si budou moci sami vyzkoušet HoloLens. Vstupenkou k tomuto privilegiu byla registrace přes speciální rezervační stránku. Registrace byla otevřena ihned po skončení keynote a jak bylo předem avizováno z časových důvodů mohla pokrýt pouze malou část z více než šesti tisíc vývojářů, kteří se konference účastnili.

Proto jsem ihned, jak to bylo možné přešel na registrační web ve prohlížeči na svém telefonu (zpomalen extrémním vytížením všech dostupných Wi-Fi sítí kolem) a byla mi nabídnuta volba ze tří různých aktivit – Holografická Akademie, Holografická prezentace a HoloLens One on One. Z těchto tří byla aktivita One on One právě ztělesněním toho, co představovalo ukázkové video o HoloLens, takže jsem přirozeně chtěl vybrat tuto aktivitu. Bohužel, či spíše bohudík – když jsem ji vybral a chtěl svoji volbu potvrdit, můj prohlížeč (ve v té době ještě nestabilní alpha-verzi Microsoft Edge) rozhodl, že Holografická Akademie je lepší volbou a tu také odeslal. Nakonec jsem byl za tuto změnu rozhodně rád, protože právě Akademie byla z nabízených tří voleb tím nejpodrobnějším a nejdelším možným seznámením s HoloLens.

WP_20150428_10_00_56_Rich

Asi hodinu poté, těsně před obědem jsem obdržel e-mailem pozvánku na Holografickou Akademii, která měla začínat za pouhých 30 minut v blízkém pětihvězdičkovém hotelu. Neváhal jsem tedy, rychle vyzvednul balíček s oběděm a běžel na místo.

Přípravy

V hale hotelu netrpělivě vyčkávali všichni pozvaní na signál od členů týmu HoloLens, kteří postupně vpouštěli na vybrané aktivity. Skupina čekající na Holografickou Akademii byla zřejmě největší a tak i čekání tomu odpovídalo.

WP_20150429_13_19_32_Pro__highres

Když vše bylo připraveno, byli jsme vpuštěni do výtahů a ty nás zavezly do patra, které bylo vyhrazeno pro Microsoft k účelům demonstrace HoloLens.

Přímo v přední části vstupní haly byla skleněná kostka ve které jsme mohli vidět poprvé naživo Microsoft HoloLens samotný. Samozřejmě však platilo, že žádné dotýkání ani fotografování nebylo povoleno!

Následovala registrace, podpis smlouvy NDA a souhlas s faktem, že budeme natáčení na video za účelem záznamů a rozhovorů, které nyní můžete shlédnout na internetu. Navíc nám byl přidělen klíč k šatnové skříňce, kde jsme museli odložit své osobní věci a veškerá elektronická zařízení, která byla na místě konání akce přísně zakázána.

WP_20150704_14_43_46_Rich (2)

Také nám byly přiřazeny účastnické visačky a byla nám změřena vzdálenost mezi očima. Tato hodnota potom sloužila jako referenční pro základní nastavení HoloLens pro optimální kvalitu zobrazení.

Vítejte ve vývojářském ráji

Po vyřízení všech formalit a vytvoření dlouhé fronty všech účastníků jsme byli rozděleni do dvojic a každé dvojici byl přidělen “vedoucí” z řad týmu HoloLens. Tento vedoucí po zbytek odpoledne byl nápomocen v případě potíží nebo dotazů.

S naším vedoucím jsme poté vstoupili do místnosti, kde se měla odehrát samotná Holografická Akademie. Tato místnost byla středně velká konferenční hala s pódiem uprostřed a několika oddělených sekcí kolem něho. Každá ze sekcí sestávala z konferenčního stolku uprostřed a třech až čtyřech stolů kolem. U každého stolu mohli sedět dva účastníci u počítačů, které zde byly připraveny. Překvapením bylo, že nikde zatím nebyly žádné brýle HoloLens!

Atmosféra v místnosti byla skvělá. Očekávání bylo doslova hmatatelné a bylo zřejmé, že se nikdo nemůže dočkat až si bude moci vyzkoušet poprvé vstoupit do světa hologramů. Ve videu níže se můžete sami přesvědčit, jak to na Akademii vypadalo (mimochodem, v čase 0:06 můžete spatřit i mě 🙂 ).

Úvod

Jakmile všichni byli usazeni a dveře se zavřely, jeden z prezentátorů se ujal slova na pódiu a uvítal všechny účastníky. Po krátkém uvedení do toho, co můžeme očekávat a popisu zařízení a technologie, která jej pohání, byl každému z účastníků rozdán konečně jeho “vlastní” Microsoft HoloLens, který bude moci po zbytek odpoledne používat.

HoloLens byl v té době ještě ve své testovací fázi, ale vypadal téměř jako dokončený. Nevyžadoval již velkou baterii na zádech uživatele jako v předchozích demonstracích. Chybělo mu pouze fungující uživatelské prostředí Windows 10 Holographic, které ještě nebylo připraveno.

Náš vedoucí nám pomohl zařízení nakonfigurovat a nastavit jeho parametry přes webové rozhraní, které sloužilo jako dočasná náhrada za rozhraní operačního systému na HoloLens. Toto rozhraní navíc umožňovalo přímo instalovat aplikační balíčky APPX. Systém běžící na brýlích byl tedy v tu dobu vlastně pouze běhovým prostředím pro nahrané aplikace (podobně jako je to v případě Windows IoT).

Gradient-Windows-3d-Holographic-logo

Ahoj, hologramy

Po nastavení brýlí jsme na zařízení nahráli naši první ukázkovou aplikaci a mohli si brýle poprvé nasadit na hlavu. Prvním velkým překvapením byl fakt, že HoloLens jsou překvapivě lehké. Přestože jde o plnohodnotný a velmi výkonný počítač s velkým množstvím senzorů, velmi lehce sedí na hlavě a po korektním přizpůsobení jeho tvaru se vůbec neopírají o nos a jsou velmi pohodlné.

Ukázková aplikace nám nabídla možnost umístit do prostoru na jakýkoliv povrch malé autíčko a následně jej instruovat pomocí pohledu a gest ruky kam má jet. Autíčko se inteligentně vyhýbalo reálným překážkám kolem sebe a dokonce dokázalo seskočit z desky stolu na zem nebo přejet přes moji nohu přesně tak, jak by se chovalo skutečné autíčko na ovládání. Vše bylo nesmírně realistické a hologram auta byl schopen “vnímat” své okolí jako reálný fyzický objekt. Ten pocit, že něco takového je vytvářeno a zobrazováno v malém zařízení na mé hlavě byl opravdu neuvěřitelný. Doslova dech beroucí zážitek.

Musím se také zmínit o stabilitě holografického obrazu. Nezávisle na tom, jak moc jsem pohyboval hlavou nebo přecházel po kolem hologramu, autíčko bylo stále naprosto přesně na tom samém místě v reálném prostředí. Nechápu jak tým, který vytvořil HoloLens, dosáhl takové přesnosti, ale skutečně se zde smývá rozdíl mezi realitou a hologramy. Den před vyzkoušením HoloLens jsem měl navíc možnost otestovat i virtuální realitu s Oculus Rift, ale technologie Microsoftu zde v přesnosti vítězí na celé čáře.

Ano, jistě očekáváte, že okomentuji velikost zorného pole zařízení, což je popisováno jako hlavní nevýhoda HoloLens. Ano, zorné pole je menší než bylo v předchozích živých demech a ve videích a Microsoft toto veřejně zmiňuje jako věc, která v prvním vydání brýlí může být mírně limitující. Pravděpodobně jde primárně o problém způsobený životností baterie, ale můžeme očekávat, že v každém dalším vydání HoloLens se bude zorné pole postupně zlepšovat. Osobně však se přikláním k tomu, že pro normální použití byla velikost obrazu, který jsme měli možnost vidět více než dostatečná. Většina hologramů je viditelná bez potíží a pouze pro pohled zblízka se někdy stane, že dojde k “oříznutí” pohledu.

Let’s //build/!

Abychom byli přivedeni zpět do “reality” z našeho úžasu nad hologramy, ozval se hlasitý gong, který ohlašoval, že máme brýle odložit a sledovat dění na pódiu.

Prezentátor nás provedl plánem toho co nás čeká na Akademii. Cílem bylo krok za krokem vyvinout naši první holografickou aplikaci a stát se tak prvními na světě mimo Microsoft, kteří budou moci sestavit a otestovat svůj výtvor na HoloLens.

Hlavními nástroji, které nám byly nápomocny bylo Visual Studio a Unity – obojí v interní testovací verzi. Unity mělo navíc speciální HoloLens SDK, které obsahovalo připravené objekty pro vývoj holografických aplikací – jako například holografickou kameru nebo spatial mapping.

V průběhu odpoledne jsme vytvářeli jednoduchou aplikaci zvanou Project Origami.

Část první: Zobrazení hologramů

První fází bylo zobrazení 3D objektu v prostoru před námi. Jednoduše jsme mohli přetáhnout připravené objekty na scénu v Unity a umístit holografickou kameru. Pro prostor v případě holografických aplikací platí, že jednotky v Unity odpovídají metrům ve skutečnosti.

Po připravení scény jsme aplikaci exportovali jako Windows 10 aplikaci a následně řešení nahráli přes Visual Studio na HoloLens.

Část druhá: Pohled

První interakcí, kterou jsme přidali do naší aplikace byl pohled. Toto umožnilo HoloLens sledovat pohyb našich očí a dle toho zvýraznit přesně to místo, na které jsme se dívali.

Část třetí: Gesta

Druhou interakcí s modelem byla gesta – takzvaný “air tap“, což lze volně přeložit jako “ťuknutí ve vzduchu, které lze provést pohybem palce a ukazováčku.  V našem trojrozměrném modelu byly zobrazeny dvě papírové kuličky, které levitovaly ve vzduchu. Pohledem na ně a použitím gesta najednou začaly reagovat na okolní gravitaci a spadly dolů na zem. V tuto chvíli je ale zem nezastavila propadly se až dolů do nekonečna.

Část čtvrtá: Hlas

Dále jsme přidali hlasové ovládání jako alternativu k gestu rukou. Použitím hlasu jsme mohli říct papírovým kuličkám aby spadly dolů a navíc jsme takto mohli restartovat celou “scénu”. Přidání hlasu změnilo interakci na ještě více přirozenou a ukázalo jasně volnost, kterou HoloLens nabízí uživateli ve volbě způsobu vstupu, který v danou chvíli je nejvhodnější. Navíc zařízení reaguje právě a pouze na váš hlas a nenechá se zmást okolním hlukem ani kolegy, kteří zrovna shodou náhod vyslovují přesně stejné příkazy.

Část pátá: Spatial mapping

Aby hologramy byly schopny rozpoznat a interagovat se svým okolím, je nutné přidat spatial mapping. Toto byl opět jeden z předpřipravených “pluginů” v HoloLens SDK v Unity. Stačilo jej přidat a bylo hotovo – mohli jsme umístit náš hologram na jakýkoliv vodorovný povrch kolem nás a papírové kuličky již nepropadaly skrz podlahu, ale správně narážely do okolí včetně stolu a pohovky.

Také jsme měli možnost se podívat, jak HoloLens “vidí” okolní svět. Spatial mapping vytváří síťovou reprezentaci okolního světa a velmi přesně pokrývá tvary objektů v něm.

Část šestá: prostorový zvuk

Celý zážitek jsme poté ještě více umocnili přidáním prostorového zvuku. Zaprvé, hologram samotný vyzařoval klidnou, relaxující hudbu a zadruhé jsme přidali zvukové efekty k papírovým kuličkám tak, aby při dopadu a jejich kutálení zněly jako skutečný papír.

HoloLens má skvělý zabudovaný prostorový zvukový systém, takže uživatel skutečně slyší zvuk jako by vycházel ze správné vzdálenosti a směru. Když se otočíte zády, zvuk zní přesně tak, jak by zněl kdyby byl “za vámi”. Když se přiblížíte, je hlasitější. Zní to možná jako malý detail, ale velmi výrazně to celému hologramu přidá na skutečnosti.

Část sedmá: Bonus!

Celý projekt jsme dokončili malým bonusem, který pro nás tým připravil – přidáním nového, blíže nespecifikovaného objektu na scénu v projektu. Po následném spuštění aplikace a puštění papírové kuličky k zemi došlo po kontaktu s podlahou k výbuchu, po kterém bylo ve vzniklé trhlině v zemi možné prohlédnou dolů pod nás do fantastického světa plného živých papírových jestřábů létajících nad zelenou krajinou.

Celkové dojmy

Microsoft HoloLens je skutečně neuvěřitelná technologie, která zní, vypadá a chová se jako z budoucnosti. Byl jsem opravdu překvapen výkonem a potenciálem, který se v zařízení skrývá a jsem si jistý, že stejný pocit se dostane každému, kdo si brýle bude moci vyzkoušet.

Vývoj aplikací pro HoloLens je velmi jednoduchý. Můžete vyvinout klasickou Windows 10 Univerzální aplikaci. Všechny klasické aplikace budou na HoloLens fungovat bez větších změn. Pokud ale budete chtít opustit svět druhé dimenze, což rozhodně doporučuji, jistě uvítáte vývojové prostředí Unity, které vám nabízí jednoduché SDK a možnost rychlého vývoje vašich prvních holografických aplikací v jazyce C#.

První vydání HoloLens se již blíží a nemohu se dočkat, jak se zařízení bude vyvíjet a jaké kreativní způsoby využití si najde nejen pro koncové uživatele, ale také firmy a třeba lékařství.

Microsoft přinesl opravdovou revoluci.

Windows 10

Microsoft Windows 10 byl vydán 29. července 2015.

Nejnovější iterace nejpoužívanějšího operačního systému pro počítače přináší velké množství vylepšení a nových funkcí, které z něj dělají perfektní volbu pro každého, kdo používá některou z předchozích verzí Windows nebo zastaralý operační systém jako je Mac OS X.

Nejlepší ze všeho – Windows 10 je zdarma pro všechny uživatele Windows 7 a Windows 8, kteří upgradují v prvním roce od uvedení.

Jeden Windows

Nejdůležitější vlastností Windows 10 pro mě jako vývojáře a uživatele je fakt, že Windows je nyní jeden a ten samý operační systém na všech zařízeních – telefony, tablety, notebooky, desktopy, Internet of Things zařízení, pracovní stanice Surface Hub, Microsoft HoloLens i Xbox One – vaše aplikace budou fungovat všude! Microsoft dokázal něco neuvěřitelného – jednotné API a runtime, který pokrývá každé zařízení ve vašem životě. A ještě lépe – aplikace se mohou snadno přizpůsobit právě tomu zařízení, na kterém právě běží a mohou tak využívat jeho unikátních vlastností.

Gallo-blog-1-v2

Žádná jiná společnost (ani Google ani Apple) tohoto nemůže nikdy dosáhnout. Žádná z nich nemá operační systém, který pokrývá tak rozličnou škálu zařízení a už vůbec ne aplikační runtime, který umožní té samé aplikaci kdekoliv bez jakýchkoliv změn. To je obrovská výhoda jak pro uživatele, tak pro vývojáře a zaručeně přinese obrovské množství aplikací pro Windows.

Mimochodem – víte, že Android a iOS aplikace budou moci běžet na Windows 10? Překvapeni? Ne – toto je Microsoft. Nyní není žádný důvod, aby vývojáři nepřinesli své aplikace na Windows a rázem má tak Windows Store potenciál stát se největším aplikačním obchodem ze všech – vydání existující aplikace z jiného systému bude otázkou několika minut.

Start je zpět

Musím se přiznat – Windows 8 byl dle mého názoru výborný. Většina lidí se neztotožňovala s novým uživatelským rozhraním, které přinášel, ale mně se líbil moderní a svěží přístup, který tento operační systém ztělesňoval.

Přesto, Windows 10 se mi líbí ještě více, pokud je to vůbec možné.

WIndows-10-Start-Menu

Start menu se nyní chová přesně tak, jak to dává smysl pro zařízení, které právě používáte a pro styl práce, který nyní potřebujete. Chcete malé kontextové menu na ploše? Je tady. Chcete celoobrazkový režim pro práci jako na tabletu? Je tady také.

Nové Start menu navíc přirozeně smazává hranice mezi světem dlaždic a klasickými aplikacemi a celkový výsledek je velmi intuitivní.

Moderní aplikace tentokrát správně

Jednou z největších kritik Windows 8 bylo to, že už to nebyly “windows” (okna). Moderní aplikace běžely v režimu celé obrazovky a neintegrovaly se snadno s klasickým desktopovým workflow.

Toto se s Windows 10 drasticky mění. Moderní aplikace jsou nativními obyvateli vaší plochy a chovají se přesně tak, jak očekáváte s plnou podporou změny velikosti, možností otevřít více oken současně, funkcí drag and drop a dalšími.

Navíc i všechny “staré” Windows 8 aplikace fungují tak, jak očekáváte bez nutnosti změn. Protože byly napsány s podporou “snap” módu v minulé verzi systému, změny velikosti okna podporují i zde. To je výrazný rozdíl oproti systému jako je Apple iOS, který až nyní představil polovičatý a nedokonalý multitasking pro iPad (tedy alespoň pro nejnovější model – potřebují přece vydělat, ne?), který vyžaduje v drtivém množství případů kompletní přepsání uživatelského rozhraní aplikací.

Continuum

Současný trh PC je plný zařízení, které lze popsat jako “hybridní” nebo “2 v 1”, příkladem může být Microsoft Surface Pro. Taková zařízení nabízí tradiční podobu notebooku, ale mohou být transformovány do podoby tabletu.

Zatímco Windows 8 byl systém optimalizovaný primárně pro dotyková zařízení a nenabízel úplně to optimální chování pro uživatele s klávesnicí a myší, Windows 10 je úplně jiný.

Windows 10 se logicky a funkčně adaptuje dle způsobu, jak v danou chvíli využíváte počítač. Jak jsem již zmínil, to automaticky zahrnuje podobu menu Start, ale navíc i chování a vzhled aplikací. V módu tabletu, který se automaticky spustí po odpojení nebo přetočení klávesnice, jsou všechny aplikace převedeny do full-screen módu, což je logický přístup pro tabletové použití. Můžete navíc stále využívat multitasking dvou aplikací vedle sebe. Ve chvíli, kdy potřebujete náročnější pracovní stanici, stačí připojit znovu klávesnici a přejít do klasického módu plochy s okny. Tento přechod je přirozený – přesně to co očekáváte od operačního systému, který perfektně rozumí vašim potřebám.

Tento příběh je však ještě zajímavější v případě mobilních telefonů. Nová zařízení s Windows 10 Mobile umožní připojit telefon k obrazovce a následně jej využívat jako plnohodnotný počítač. To je snem každého business uživatele. Jedno zařízení, které vystačí na opravdu každý úkon.

Cortana

První a jediná osobní hlasová asistentka Cortana přichází na PC. Všechny funkce, které znáte z mobilního telefonu jsou zde – její vtipné poznámky a odpovědi, počasí, připomenutí, informace o sportu a cestování, sledování financí a mnoho dalšího. Navíc disponuje novými funkcemi jako psaním rychlých e-mailových zpráv a vyhledáváním nápovědy a tipů pro používání Windows.

cortana-windows-10A to je vše jen začátek! Když nyní bude Cortana dostupná na všech operačních systémech včetně iOS (ano i iPad) a Android (s možností kompletně nahradit Google Now), můžeme očekávat rychlé tempo v zlepšování jejích schopností a inteligence. Cortana se o vás učí (samozřejmě s tím, že všechny informace, které sbírá můžete kdykoliv povolit nebo zakázat), takže může proaktivně pomáhat právě s tím, na čem vám záleží.

Microsoft Edge

Nový Prohlížeč (P úmyslně velké). Microsoft se rozhodl ukončit vývoj Internet Exploreru, aby mohl přinést úplně nový prohlížeč pro Windows 10, který je srovnatelný a lepší než všechny ostatní prohlížeče na trhu. S automatickými aktualizacemi a nejnovějšími vlastnostmi je Microsoft Edge ta nejlepší věc, která se udála ve světě brouzdání internetem na Windows. Přestože je Edge stále v první fázi vývoje, je již nyní velmi stabilní a nabízí rychlé a přívětivé uživatelské rozhraní.

Snap assist

Windows 7 přinesl pro produktivitu na PC revoluční funkci pro připínání aplikací na strany obrazovky. Takto umožnil rozdělit obrazovku na poloviny pro dvě různé aplikace. Windows 10 toto vylepšuje s funkcí Snap assist.

snap_assist-1346fcb1683747c5

Tato funkce jde mnohem dál než její předchůdce a nabízí připínání oken do rohů obrazovky a také nabízí přímo uživateli volbu jakou aplikací vyplnit zbývající prostor na obrazovce. Může se zdát, že jde o malé vylepšení, ale výrazně zlepšuje každodenní používání systému.

Windows Feedback

Toto je důvod, proč je Windows 10 tak skvělý.

V kontrastu s přístupem Apple a Google, kdy se v systému dějí změny bez ohledu na přání a potřeby uživatelů, Microsoft se rozhodl jít úplně jinou cestou vývoje nové iterace Windows. Windows 10 byl od samého počátku vytvářen s přímou zpětnou vazbou uživatelů. Microsoft oznámil beta testování systému pro nadšence, kteří si říkají Windows Insiders.

Capture

Přes speciální aplikaci Windows Feedback v systému mohou i nyní všichni uživatelé posílat své nápady a návrhy na změny přímo Microsoftu. Všechna zpětná vazba je zvažována a použita pro vylepšení systému, takže byste se rozhodně měli zapojit, zaslat svůj názor a hlasovat pro dobré nápady, protože to skutečně má velký smysl!

Do

Windows je pro ty, kteří “dělají”, ať již jste IT profesionál, business, vývojář, hráč nebo koncový uživatel. Windows 10 hravě zvládne všechny vaše potřeby.

A ano, Microsoft je zase cool.

Windows_Insider_Ninjacat_Trex-1600x900

 

Náhrada [ExpectedException] ve WinRT Test Library

Při psaní unit testů pro Windows Store aplikaci jsem zapisoval test, který kontroloval, zda kód vyvolá očekávanou výjimku. Pro non-WinRT projekty je možné použít kód následujícího typu:

Z Unit Test Library pro WinRT byl ale atribut ExpectedException  odebrán. Byl však nahrazen mnohem praktičtější a užitečnější metodou Assert.ThrowsException :

Jako typový parametr stačí uvést typ očekávané výjimky a jako argument použijeme lambda expression (či instanci Action ), která obsahuje kód, jež má výjimku vyvolat.

Přístup k WebView cookies ve WinRT

Při vývoji mé Windows 8.1 aplikace jsem potřeboval využít ASP.NET Identity pro autentizaci v ASP.NET Web API službě. Protože Identity kromě klasického lokálního přihlašování nabízí i možnost sociálního (externího) přihlašování přes Facebook, Microsoft Account a další, rozhodl jsem se implementovat i tuto funkčnost. Bohužel, autentizace tímto způsobem vyžadovala využití cookies, které musí být následně přeposlány dál na endpoint, který dokončí registraci nového uživatele. Protože této proces je nutné začít v ovládacím prvku WebView, potřebujeme z něho získat potřebné cookie. WebView ale žádné metody ani vlastnosti, které by se k tomuto účelu daly využít nenabízí. Jak to můžeme vyřešit?

Pokračovat ve čtení “Přístup k WebView cookies ve WinRT”

StorageApplicationPermissions ve WinRT

Windows 8 a Windows Phone 8.1 mají z důvodu maximalizace bezpečnosti velmi omezené API na přístup k souborům. Po nastavení některých Capabilities aplikace v jejím manifestu můžete sice přistupovat k několika základním pseudo-složkám – tedy knihovnám Obrázky, Hudba a Videa (plus enterprise aplikace na Windows 8 k Dokumentům), ale přístup k dalším složkám a souborům je již komplikovaný. Na záchranu ale přichází třída StorageApplicationPermissions . Pokračovat ve čtení “StorageApplicationPermissions ve WinRT”

Synchronizace nastavení ve Visual Studiu 2013 a 2015

Jednou z mých nejoblíbenějších novinek ve Visual Studiu 2013 a 2015 je možnost automaticky synchronizovat nastavení prostředí přes různá zařízení, na kterých je vývojář přihlášen. Co je ještě lepší – roaming nastavení je defaultně zapnut, takže pro jeho využívání opravdu stačí se přihlásit svým účtem Microsoft Account do Visual Studia.

Podívejme se na některé detaily.  Pokračovat ve čtení “Synchronizace nastavení ve Visual Studiu 2013 a 2015”

Odstranění zvýraznění dotyku na odkazech na WP a iOS

Při testování vašich webů na mobilních webových prohlížečích se můžete dovědět, že Windows Phone a iOS automaticky aplikují speciální zvýrazňování ve chvíli, kdy uživatel klepne na jakýkoliv odkaz na stránce – jde o lehké zašednutí celého prostoru na kterém je odkaz zobrazen. Přestože toto chování může být v mnoha případech užitečné, hlavně pro to, aby uživatel věděl na jaký odkaz doopravdy klepnul, v jiných situacích to může být poměrně nežádoucí a nepřívětivé vůči designu stránky.

Jak zvýrazňování zabránit? Pojďme se podívat na řešení pro oba systémy! Pokračovat ve čtení “Odstranění zvýraznění dotyku na odkazech na WP a iOS”

Jak zobrazit více obsahu na Windows 8.1

Nedávno jsem narazil na skvělou funkci nového Windows 8.1 Modern UI, která majitelům notebooků a tabletů s vysokým rozlišením umožní zobrazit mnohem více obsahu (za cenu zmenšení jednotlivých prvků).§

Na Microsoft Surface Pro 2 vypadá obrazovka Start přibližně tak jako na následujícím obrázku – zobrazují se čtyři řádky středně velkých dlaždic nad sebou.

startscreennormal

Ve výchozím nastavení navíc můžeme spustit vedle sebe najednou nejvýše dvě Windows Store aplikace.

Zkusme to vylepšit!  Pokračovat ve čtení “Jak zobrazit více obsahu na Windows 8.1”

ItemsSource a SelectedItem

Poměrně obvyklou chybou při psaní XAMLu (především u mě, já ji doslova nemohu přestat psát) je prohození pořadí dependency properties ItemsSource a SelectedItem u ovládacích prvků pro zobrazení výběrových seznamů.

Ukažme si to v kontextu prvku ListView ve WinRT. Pro binding kolekce k ListView použijeme vlastnost ItemsSourcePro vybrání jednoho z jejích prvků použijeme SelectedItem.

To zní dobře ne? Bohužel.

XAML parser prochází náš ListView v pořadí zleva doprava. Když narazí na SelectedItem, pokusí se vybrat tento prvek v připojené kolekci. Bohužel, ten nelze nalézt a skončí to tak, že je vybraný prvek ListView znovu nastaven na null. Nyní již parser přečte i ItemsSource, ale to už je příliš pozdě na to, aby zachránil situaci.

Jediné správné pořadí, kdy dostaneme opravdu požadované výsledky a zbavíme se často nepochopitelných chyb je zapsáním ItemsSource před SelectedItem.

Zlo se skrývá v detailech.

Nefunkční lokalizace ve WinRT?

Tento týden jsem musel řešit velice záhadné chování při snaze o lokalizaci aplikace pro Windows 8.1.

Jako obvykle jsem si připravil třídu pro lokalizaci, přidal odpovídající soubory *.resw, texty pro lokalizaci v en a cs a nakonec na XAML stránkách stringy přes binding napojil. Vše se zdálo v pořádku až na ten malý detail, že fungovala pouze anglická (neutral) varianta. Situace se ještě více zkomplikovala ve chvíli, kdy jsem vytvořil nový projekt, který se po přesně stejném nastavení choval správně.

Po delším hledání jsem našel nepříliš zřejmou příčinu problému. Soubor Package.appmanifest, který obsahuje různá nastavení chování aplikace v systému obsahuje některá nastavení, která přes vizuální návrhář nejsou dostupná. Soubor AppManifest je totiž ve skutečnosti jen převlečený klasický textový XML dokument, který můžete otevřít ve Visual Studiu kliknutím pravým tlačítkem myši na tento soubor v Solution Exploreru a následně výběrem příikazu Open With… nebo View Code.

Otevření Package.appmanifest v XML editoru

Zdrojem  mých problémů byl jeden z elementů manifestu – konkrétně element Resources. Tento element ovlivňuje chování souborů resource v projektu a především určuje jejich dostupné jazyky.  V mém případě vypadal takto:

Pokud bych chtěl přidat další jazyky, mohl bych zopakovat element Resource s dalšími ISO zkratkami jazyků, které požaduji. Toto však jak jistě uznáte není příliš praktické. Lepší řešení nabízí podoba, která je výchozí po vytvoření nového Windows 8.1 projektu:

Speciální konstanta x-generate určuje, že při sestavování balíčku se automaticky vygenerují příslušné lokalizace na základě toho, jaké budou nalezeny soubory *.resw v projektu.