This slideshow was presented by Sparked during the DIWUG event in The Netherlands. Are you interested in learning more about serious Windows 8 apps for professionals? Take a look at sparkedapps.com
8. 1. Tiles
Meer dan afbeeldingen
- Voordeur applicatie
- Trekt de aandacht, ook wanneer inactief
- Niet elke app wordt gepinned
Verschillende typen tiles
- Brede tiles = live content
- Live content is actueel en interessant
9. 2. Navigatie
Start met het definieren van de navigatie en flows.
Wanneer mogelijk, maak bij de apps gebruik van de standard
patronen – plat of hierarchisch
Flat System Hierarchical System
10. Contoso Travel
Featured destinations Last minute deals My Trips City Guide
City Guide
Featured Destinations Last Minute Deals My Trips
Top Destinations for 2012
Barcelona, Spain
7 night Alaska Cruise
Featured destinations Last Minute Deals My Trips
Barcelona, Spain 7 Night Alaska Cruise Chicago (3/11 – 3/19) Weather Attractions
7 days
Today
54/43
Mostly Sunny
Today
54/43
Mostly Sunny
Today
54/43
Mostly Sunny
Ocean View Cabins Suites Today
54/43
Mostly Sunny
Upgrade from an inside cabin and save Upgrade from an inside cabin and save
$43/night/person! $43/night/person!
Picture windows with ocean and port views Picture windows with ocean and port
From $2,099 — only $150/night/person based on view Today
double occupancy From $2,099 — only $150/night/person 54/43
do Mostly Sunny
11. 3. Commandos
Navigatie
- Top bar
- Drop down op pagina titel
Acties m.b.t. content altijd in de app bar
- Linkerkant: selectie commando's
- Rechterkant: pagina commando's
12. 4. Charms
Integratie met bestaande charms
Voorkom dubbele functionaliteit voor o.a. zoeken, delen
en instellingen
13. 5. Content before chrome
Focus op de content
Waardevolle ruimte gebruikt voor content en niet voor buttons
en grafische elementen (bling)
14. 3 maanden apps bouwen
• Consistentie over de verschillende apps
• Browse en gebruik voor het ontwerp
• Enthousiasmeer de klant
• Nieuwe techniek, nieuwe uitdagingen
1e keer data op het device zelfWindows 8 biedt maatregelen waardoor dit mogelijk is geworden.Secure boot : bootproces van begin tot einde beveiligt. Hele keten gecontroleerd.Bitlocker. Goedegekeurd voor W7 met inzetadvies. Versie voor W8 nog niet maar wel te verwachtenDirectAccess: makkelijk voor ons want verbinding altijd beveiligd. Hele boel beveiliging in platform. Wel genoeg uitdagingen. Bitlocker en on-screen keyboards, nieuwe devices waarbij een UEFI bios nog niet beschikbaar is. Apps in Sandbox, niet zo erg als met SharePoint
Demo over het instellen van Capabilities en declarations. Twitter Feed ophalen : exception zonder capabilitie, werkt met. Document lezen : capability + declaratieWerken met recente .NET versie, nog niet alle frameworks beschikbaar zoals bijvoorbeeld log4net etc.
Hebben nu een app die op internet mag en credentials mag gebruiken. Nu data nog op tablet krijgenGrote vernieuwing in W8 is de Store. Dus uitgangssituatie..... Helaas bieden de SharePoint webservices niet altijd voldoende middelen. Voorbeeld User Profiles voor Gids..WCF Services niets nieuws dus zal ik ook niet laten zien. Werken met nieuwe framework versie aand e app kant.Zo is er bijvoorbeeld voor de user profile services wel een mogelijkheid om alle profielen op te halen en kun je ook alle wijzigingen in een profiel sinds een opgegeven tijdstip opvragen. Maar je kunt niet alle gewijzigde profielen sinds tijdstip X opvragen. In het geval van de Gids applicatie is dit wel een functionaliteit die je wilt hebben zodat je niet elke keer alle data hoeft te verversen, of een gigantische hoeveelheid calls hoeft te doen om van elk profiel eventuele wijzigingen op te halen. Dit laatste is een functionaliteit die wel gewoon beschikbaar is in het SharePoint Object Model en die je dus zelf eenvoudig via een WCF service beschikbaar kunt stellen. Omdat we een aantal van dit soort punten tegen kwamen maken we bij de door ons ontwikkelde apps, naast de standaard webservices, ook gebruik van zelf ontwikkelde webservices. Het ontwikkelen van custom wcf services voor op SharePoint is niet iets nieuws en zal ik dan ook niet laten zien. Ook voor het aanroepen van deze services vanuit je Windows 8 app zijn geen bijzondere dingen nodig, alle functionaliteit die je hier voor nodig hebt is gewoon beschikbaar. Wat wel leuk is dat we aan de SharePoint kant natuurlijk nog steeds aan .NET 3.5 vast zitten, maar aan de App kant eindelijk eens met een nieuwere framework versie aan de slag kunt en met de nieuwe mogelijkheden hiervan kunt spelen, iets wat je niet echt doet als je fulltime met SharePoint werkt. Wat voor mij even wennen was, maar daarna ook echt fijn werkt, is het gebruik van de keywords Async en Await. Een nadeel is dat veel bestaande libraries nog niet beschikbaar zijn voor onder WinRT, dus als je bijvoorbeeld een framework voor logging zoekt is dat wat lastiger.
Productieviteits Boost komt uit Altijd en Overal snel bij data kunnen.Niet altijd netwerk beschikbaar. Dus data lokaal opslaan en synchroniseren.Uitleg idee backgroundtasksWerkt niet, dus besloten alleen bij opstarten te synchroniseren.Caching / Offline dataVoor de doelgroep is het niet vanzelfsprekend dat er een verbinding met het OM netwerk beschikbaar is. Aangezien de grootste productivieteits boost moet komen uit het altijd en overal snel toegang kunnen krijgen tot de data zal deze dus op het device opgeslagen moeten worden en moest er een mechanisme komen om er voor te zorgen dat de data op het device ook recent blijft. In Windows 8 is het concept van Background tasks geintroduceerd. Een background task is een task die, zoals de naam al zegt, op de achtergrond wordt uitgevoerd. Hiervoer is het niet nodig dat jouw applicatie actief is. Je kunt een background task zo configureren dat hij op een bepaalde tijd wordt uitgevoerd, of als reactie op een event. Een van de beschikbare events waar je op kunt reageren is InternetAvailable. Door een background task aan dit event te koppelen zou je op het moment dat er een internet verbinding beschikbaar komt kunnen kijken of de data op de tablet nog actueel genoeg is en indien dat niet het geval is een synchronisatie kunnen starten. Dit zou dus beteken dat zelfs als de applicatie niet regelmatig wordt opgestart de gebruiker er van uit kan gaan dat de data actueel is, zolang hij maar af een netwerkverbinding heeft. Dit klinkt dus als een ideale situatie…. Om het batterijgebruik te beperken zitten er echter limieten aan het aantal cpu cycles dat een background task mag verbruiken en het aantal KB aan netwerkverkeer dat hij tot zijn beschikking heeft. Deze limieten worden iets opgerekt op het moment dat de applicatie als "lockscreen" applicatie wordt aangemerkt, maar zijn bij lange na niet ruim genoeg voor ons idee. Gelukkig werden we hier door Microsoft op gewezen voordat we de kans kregen om hier in de praktijk tegen aan te lopen. In overleg met de klant is er besloten om de synchronisatie iets eenvoudiger te houden en alleen het moment dat de applicatie geopend wordt te controleren of het noodzakelijk/mogelijk is om de data te synchroniseren. De data die we binnen halen slaan we op in een lokaal bestand, hiervoor maken we gebruik van de StorageFile api, die het heel erg simpel maakt bestanden te openen en te schrijven in het sandboxed gedeelte dat de app tot zijn beschikking heeft./*Voor de Gids applicatie moeten er veel afbeeldingen gedownload worden. Hiervoor gebruiken we de BackgroundDownloader api. Hier voeren we een lijst met downloads aan. Het mooie hiervan is dat op het moment dat de applicatie gepauzeerd wordt de incomplete downloads opgeslagen worden en we deze weer kunnen hervatten op het moment dat onze applicatie weer actief wordt. */
UX gelijk over alle Metro appsApp moet zich aan afspraken houden : Zoeken, Delen, Profile Picture Picker , Contact PickerDemo zoeken : laat eerst zien dat zoeken niet werkt.Toevoegen via declarations of via solution explorer.Zoeken + suggesties.Contracten / Search De richtlijnenvoor Windows 8 apps bepalendat je search via de charms bar, dus de balk aan de rechterkant, beschikbaarmoetstellen. Zoalsjaap al aangaf was het vanuitfunctioneeloogpunteengroteuitdaging. De Gids is natuurlijkeenapplicatie die je vooralgebruiktomgegevens van eenpersoontezoeken, duseenzoekbox op het startschermlijktnietmeerdanlogisch en het heeftdanookmoeitegekostomeengoedefunctioneleoplossingtevindenwaardoor de eersteactienietaltijdmeteenzoeken is en om de klantteovertuigendat die zoekboxnietnoodzakelijk is. Search is dusgeimplementeerd via de Windows 8 standaard. Waterkan via dezezoekinterface is beperkt en duidelijkbeschreven, wat het ook erg makkelijkmaaktomteimplementeren. Demo Search , nieuweapplicatie, toevoegensearchcontract, autosuggesties, filters.
Mooie app gebouwd maar nu nog op tablet krijgenZoalsgezegt store eengrotevernieuwing. Nu open voor developers. Gratis bij MSDNVoorpublicerentesten.Nietaltijdgeschiktvoorbedrijven.Wel apps blockeren met AppLocker maar niet App publicerenvooralleenjouwbedrijf. Duszelfcontroleinbouwen.Side loading of via System Center Configuration Manager beheerpakket.Deployment We hebben nu een app ontwikkeld, maar hoe krijg je dezebij de gebruikers? Een van de grote "vernieuwingen" in Windows 8 is natuurlijk de Store. De store is inmiddelsvooriedereengeopend. Om je app in de store tekrijgenmoet je een developer account hebben. Deze kun je natuurlijkkopen maar controleereerst even of je via je MSDN abonnementgeen gratis account krijgt. Nietalle apps mogen de store in, daarvoormoet je app welaaneenaantaleissenvoldoen. De apps die we bij het OM ontwikkeldhebbenzijn in het kader van het First Wave Programma door eenaantalcertificeringsrondesgegaan, nietalleenbij het "App Excellence Lab" van Microsoft maar ooknogbijeenander team waarvan de naam 3 zinnenlang is..Jaap?Eendeel van de puntenwaaropbijcertificeringgetestwordt kun je zelfuitvoerenvoordat je je app submit naar de Store. Dit doe je met behulp van de Windows App Certification Kit (Opstarten en app latentesten). Hiermee kun je zowel je eigenals reeds geinstalleerde apps testen. Het resultaat is Pass of Failed en een xml bestand met eenbeschrijving van de uitgevoerde tests en de resultatenhiervan. Die is natuurlijk heel erg leukvoorconsumenten, maar voor de LOB apps waar Sparked aanwerkt en watwaarschijnlijkookjulliedoelgroepwordtalsjullie met apps aan de slag gaan, is deze minder geschikt. Het is namelijknietmogelijkomeen app in de Store tepublicerenwaarbijhij maar voor 1 bedrijfzichtbaar is. Dusdatzoubetekenendat je controles in je app toe moetgaanvoegenomtezorgendathijalleen door medewerkers van bedrijf X gebruiktkanworden. Naast het extra werkzijnhiernatuurlijknogmeernadelenaanverbonden. De manierom je je apps in een corporate omgevingtedeployen is door middel van sideloading, waarmee je je apps bijvoorbeeld in een image in kuntbakken, of met behulp van tools zoals SCCM. De app store is overigensniethelemaalnutteloosvoorbedrijven. Met app locker hebbenbedrijvenwel de mogelijkheidomtebepalenwelke apps uit de store geinstalleerdmogenworden. Hiermeekunnenzeeen whitelist of blacklist makenwaardoorgebruikersduswel door de store kunnenbladeren en bijvoorbeeldzelf Angry Birds of Bad Piggieskunneninstalleren op hun tablet/desktop/ultrabook.