Checklist de Qualidade - Metro Style Apps

advertisement
Checklist de Qualidade – Aplicativos Metro Style
CENÁRIO ............................................................................................................................................................................ 3
Possui missão e escopo claros; a implementação está adiantada representando o escopo final. .............................. 3
EXPERIÊNCIA de USUÁRIO - Aperfeiçoamento ................................................................................................................. 3
Segue os princípios Metro style .................................................................................................................................... 3
Transmite a marca e o propósito .................................................................................................................................. 3
Segue um layout e alinhamento consistentes .............................................................................................................. 3
Aproveita a tipografia e espaço em branco, e segue uma hierarquia de fontes .......................................................... 4
Abrace a personalidade do Windows 8 ........................................................................................................................ 4
Projetado para uma excelente primeira impressão ..................................................................................................... 4
As animações têm um propósito, criam continuidade, e transmitem confiança ao usuário ....................................... 5
Projetado para toque .................................................................................................................................................... 5
EXPERIÊNCIA de USUÁRIO - Controles, Navigação, Animação ......................................................................................... 6
O conteúdo é o mecanismo de navegação principal .................................................................................................... 6
Faz uso apropriado do app bar ..................................................................................................................................... 6
Faz uso apropriado de superficies de comando e respeita as bordas .......................................................................... 6
Mostra tratamento de erro não obtrusivo, com significado e que o usuário pode agir .............................................. 6
Aproveita o zoom semântico de maneira apropriada .................................................................................................. 6
EXPERIÊNCIA de USUÁRIO - Telas & Formatos de Dispositivos ........................................................................................ 7
Suporta as orientações de tela paisagem e retrato ...................................................................................................... 7
Se a adapta em diferentes formatos de dispositivos e respeita as proporções ........................................................... 7
Trata os estados de tela snap, fill, e tela cheia ............................................................................................................. 7
Arrasta e rola a tela em apenas uma direção para criar um senso de estabilidade ..................................................... 7
É functional e parece natural num sistema que possui apenas mouse ou teclado ...................................................... 8
É functional e parece natural num sistema que usa o teclado na tela ......................................................................... 8
EXPERIÊNCIA de USUÁRIO - Configurações ...................................................................................................................... 8
Implementa o contrato de Settings e não possui configurações e preferências em outros lugares do aplicativo ...... 8
Faz roaming das configurações e estado do usuário .................................................................................................... 8
Possui uma boa experiência de sign-in/sign-out .......................................................................................................... 9
EXPERIÊNCIA de USUÁRIO - Contratos ............................................................................................................................. 9
Implementa o contrato de Search / Busca ................................................................................................................... 9
Implementa o contrato de Share Target / Destino de Compartilhamento .................................................................. 9
Implementa o contrato de Share Source / Fonte do Compartilhamento.................................................................... 9
Possui belas interfaces de usuário para os contratos ................................................................................................. 10
Aproveita os file pickers / seletores de arquivos ........................................................................................................ 10
1
EXPERIÊNCIA de USUÁRIO – Gerenciamento do ciclo de vida........................................................................................ 10
Trata os estados de vida do aplicativo de maneira apropriada .................................................................................. 10
Faz uso apropriado de tarefas de background ........................................................................................................... 10
EXPERIÊNCIA de USUÁRIO - Rede ................................................................................................................................... 11
Se comporta bem quando está offline ou quando a conectividade de rede é intermitente ..................................... 11
EXPERIÊNCIA de USUÁRIO - Tiles e Notificações ............................................................................................................ 11
Tem um belo Tile / Mosaico com a sua marca ........................................................................................................... 11
Tem um live tile ou tiles secundários .......................................................................................................................... 11
Usa notificações toast para informações relevantes e onde o horário é importante ................................................ 11
Trata adequadamente as ativações via contratos, tiles secundários e notificações .................................................. 12
WINDOWS STORE ........................................................................................................................................................... 12
Esperado passar nos requisitos de certificação da Windows Store ........................................................................... 12
Passa nos testes do Windows App Certification Kit (WACK) ...................................................................................... 12
DESEMPENHO ................................................................................................................................................................. 12
A interface de usuário é sempre responsiva e provê feedback visual nas interações ............................................... 12
DESEMPENHO - Animação .............................................................................................................................................. 13
Mantém 60 frames por segundo ................................................................................................................................ 13
DESEMPENHO – Ciclo de vida ......................................................................................................................................... 13
Otimiza os tratadores dos eventos de suspend e resume .......................................................................................... 13
Suspende e retoma nos tempos previstos.................................................................................................................. 13
DESEMPENHO - Cache & Dados Locais ........................................................................................................................... 14
Depende de conteúdo empacotado, local o máximo possível ................................................................................... 14
DESEMPENHO - Inicialização........................................................................................................................................... 14
A primeira página carrega em menos de 5 segundos ................................................................................................. 14
Aproveita o caching de bytecodes de Javascript ........................................................................................................ 14
DESEMPENHO - Memória ............................................................................................................................................... 14
Gerencia o uso de memória para os limites recomendados ...................................................................................... 14
DESEMPENHO - Rede ...................................................................................................................................................... 15
Gerencia os recursos de rede de maneira apropriada ............................................................................................... 15
DESEMPENHO – Tarefas de background ........................................................................................................................ 15
Respeita os tempos reservados para as tarefas em background ............................................................................... 15
OUTROS ........................................................................................................................................................................... 15
É acessível ................................................................................................................................................................... 15
É localizado.................................................................................................................................................................. 16
2
CENÁRIO
Possui missão e escopo claros; a implementação está adiantada representando o
escopo final.
Um excelente aplicativo é planejado desde o começo. É dado foco nas tarefas e funcionalidades requeridas para
cumprir a missão do aplicativo. Visto que isto é uma revisão do aplicativo, queremos garantir que você tem um plano
para seu aplicativo e que você sabe em que ele vai se destacar.
O aplicativo que você está revisando precisa representar a visão final dele. Você não precisa estar com 100% dele
pronto, mas ele deve ter funcionalidades suficientes para demonstrar a visão e funcionalidades que farão dele um
aplicativo que se destaca dos outros na categoria em que ele se encontra.
Para esse requisito, você não precisa trazer um “pitch” ou um argumento de venda; traga um excelente aplicativo
que tenha sido propriamente planejado.
Links
Planejando seu aplicativo: http://msdn.microsoft.com/pt-BR/library/windows/apps/hh465427
EXPERIÊNCIA de USUÁRIO - Aperfeiçoamento
Segue os princípios Metro style
O design Metro style tem um conjunto de cinco princípios para ajudá-lo a fazer as melhores escolhas quando estiver
projetando seu aplicativo. Estes princípios são a fundação para criar excelentes aplicativos Metro style. Sempre
garanta que suas escolhas de design e desenvolvimento sejam guiadas por esses princípios.
Links
Princípios de design estilo Metro: http://msdn.microsoft.com/pt-BR/library/windows/apps/hh781237
Transmite a marca e o propósito
O design Metro style dá ênfase no conteúdo sobre a moldura/borda, dá ênfase num layout clean/limpo e fazendo
mais com menos. Seguir esses principios te dará consistência com outros aplicativos, mas sem perder de vista a sua
marca; faça o design do seu aplicativo Metro style para promover sua marca e atingir um propósito.
Pense sobre a mensagem que você quer passar para seus usuários quando eles forem ver seu aplicativo Metro style
na loja, quando eles verem seu aplicativo na Tela Inicial/Start Screen, quando eles executarem ele pela primeira vez,
e quando eles tiverem usando seu aplicativo. Aproveite estas oportunidades do design visual do seu aplicativo para
definir e promover sua marca.
A seção de marcas no guia de planejamento de aplicativos Metro style contém uma série de dicas importantes para
fazer sua marca brilhar para seus usuários.
Links
Planejamento de marcas: http://msdn.microsoft.com/pt-BR/library/windows/apps/hh465418
Planejando seu aplicativo: http://msdn.microsoft.com/pt-BR/library/windows/apps/hh465427
Segue um layout e alinhamento consistentes
Vários dos princípios de design Metro – como conteúdo sobre moldura/bordas, orgulho dos detalhes, e usar
tipografia para a hierarquia de conteúdo – levam a ter um excelente alinhamento no seu aplicativo. Garanta que
você se preocupe com alinhamento e siga as recomendações de margens do Windows 8.
3
Os ativos de design para aplicativos Metro Style são uma boa referência para você basear seu layout. Aproveitar os
modelos/templates do Visual Studio para aplicativos Metro style também é um jeito fácil de começar com um bom
layout.
Links
Ativos de design: http://msdn.microsoft.com/pt-BR/library/windows/apps/hh700403
Criando layouts flexíveis: http://msdn.microsoft.com/pt-BR/library/windows/apps/hh465386
Aproveita a tipografia e espaço em branco, e segue uma hierarquia de fontes
O uso correto de tamanhos de fontes, pesos/negrito, cores, guias e espaços podem ajudar a daar um visual
limpo/clean para seu aplicativo Metro style, deixando ele bem mais fácil de usar.
Para criar uma experiência consistente com outros aplicativos, verifique os guias/guidelines para texto e tipografia
para aplicativos Metro style. Se você usar suas próprias fonts (por causa de marca, por exemplo), ainda siga a
hierarquia de tamanhos de fonte e outros guidelines.
Links
Guidelines e checklists para textos e tipografias: http://msdn.microsoft.com/pt-BR/library/windows/apps/hh700394
Abrace a personalidade do Windows 8
O design Metro style do Windows 8 é único. Se você tem um aplicativo escrito para outra plataforma, ele deve ter
características de design que podem não ser consistentes com a personalidade do Windows 8.
A personalidade do Windows 8 tem layouts específicos, hierarquia de fontes, animações, interações, comandos,
controles comuns e etc.
Os dois maiores erros quando se reutiliza layouts e design de outras plataformas são:
1. Reutilizar ícones ou imagens que tem gradientes, 3D, bordas, cantos arredondados e etc.
2. Prover animações que não são autenticamente digitais (como uma animação de virada de página).
Pense sobre todos esses pontos enquanto você faz o design do seu aplicativo para o Windows 8. Familiarize-se com
a biblioteca de animações do Windows e aproveite ela para prover animações de transição que sejam familiares para
seus usuários e que sejam intuitivas para descobrir.
Reference (HTML)
Biblioteca de animação: http://msdn.microsoft.com/pt-BR/library/windows/apps/br229780
Diretrizes de Experiência de Usuário: http://msdn.microsoft.com/pt-BR/library/windows/apps/hh465424
Projetado para uma excelente primeira impressão
Os usuários vão interagir com seu aplicativo pela primeira vez clicando no Tile/Mosaico dele; eles virão a splash
screen/tela de abertura, e as cores de fundo e de face do seu aplicativo.
Para atingir este requisito:


Revise e siga os guidelines para Tiles/mosaicos, Badges/selos e para Tiles/mosaicos secundários;
Garanta que as cores de fundo e face que você escolheu no manifesto do aplicativo são complementares e
ficam bem mesmo em um monitor de alto contraste e baixo brilho.
Links
Guidelines e checklist para Tiles/mosaicos: http://msdn.microsoft.com/pt-BR/library/windows/apps/hh465403
4
Guidelines e checklist para Badges/selos: http://msdn.microsoft.com/pt-BR /library/windows/apps/hh761459
Guidelines e checklist para Tiles/mosaicos secundários: http://msdn.microsoft.com/pt-BR
/library/windows/apps/hh465398
Guidelines e checklist para splash screen/tela de abertura: http://msdn.microsoft.com/ptBR/library/windows/apps/hh465338
As animações têm um propósito, criam continuidade, e transmitem confiança ao
usuário
Animações bem projetadas e com propósito trazem vida ao aplicativo e dão a sensação de uma experiência polida e
aperfeiçoada. Elas ajudam o usuário entender as mudanças de contexto, e ligam as experiências com as transições
visuais. Se você quer ter um aplicativo rápido e flexível, olhe nos guidelines de arrastar e soltar/drag and drop,
animações de borda, e animações de interface de usuário.
Não se esqueça de seguir os princípios do design Metro. Se você quer ter um aplicativo que seja autenticamente
digital, evite imitar movimentos físicos (por exemplo, evite fazer uma animação de virada de página igual a um livro).
Se você quer ter um aplicativo rápido e flexível, garanta que as animações são independentes e tenham uma
renderização de 60 frames por segundo.
Links
Guidelines e checklist para animações de borda: http://msdn.microsoft.com/pt-BR/library/windows/apps/hh465178
Guidelines e checklist para animações de transição: http://msdn.microsoft.com/enus/library/windows/apps/hh465209
Projetado para toque
Seu aplicativo deve também estar otimizado para todos os tipos de entrada de dados, incluindo toque/touch.
A otimização para toque é uma boa abordagem porque a plataforma do Windows 8 te dá eventos de mouse e
caneta de graça quando você codifica e faz o design para touch.
Projetar seu aplicativo para toque requer muita atenção a detalhes em diferentes níveis e critérios. Considere todos
esses fatores:





Design de interação por toque;
Linguagem de toque do Windows 8;
Tamanho dos objetos de toque;
Feedback visual;
Seleção.
Links
Design de interação por toque: http://msdn.microsoft.com/pt-BR/library/windows/apps/hh465415
Linguagem de toque do Windows 8: http://msdn.microsoft.com/ptBR/library/windows/apps/hh465415#touch_language
Tamanho dos objetos de toque: http://msdn.microsoft.com/pt-BR/library/windows/apps/hh465415#touch_targets
Feedback visual de toque: http://msdn.microsoft.com/pt-BR/library/windows/apps/hh465342
Seleção por toque: http://msdn.microsoft.com/pt-BR/library/windows/apps/hh465334
5
EXPERIÊNCIA de USUÁRIO - Controles, Navigação, Animação
O conteúdo é o mecanismo de navegação principal
A trait of a great Metro style app is content before chrome. When people focus on content, the composition of that
content forms the identity of the application and it should become the primary navigation mechanism. Avoid tabs,
menus for navigation, and home buttons. If your app needs navigation, you can use a header menu and section
labels to navigate, or a navigation bar.
Check the guidelines for navigation design for Metro style apps if you need tips for your navigation.
Links
Navegação: http://msdn.microsoft.com/en-us/library/windows/apps/hh761500
Faz uso apropriado do app bar
App bars provide the user with easy access to commands when they need them. Users will be familiar with the
pattern and will expect consistency across apps. You should


Ensure your app bars are organized, consistent, de-cluttered, and work well across all view states.
App bars should not have navigation elements in them.
To learn more and have a great app bar follow the guidelines for app bars.
Links
AppBar: http://msdn.microsoft.com/en-us/library/windows/apps/hh465302
Faz uso apropriado de superficies de comando e respeita as bordas
Commanding surfaces such as context menus, flyouts, and charms, are all designed to work together.
To ensure commanding is seamless for your users:




Ensure you do not have commanding surfaces near the left and right edge of the screen where the charms
and the task switching happens
Ensure that you use flyouts with light dismiss
Do not include persistent content on flyout or context menus.
Ensure your commanding strategy works across multiple view states, including filled and snapped.
Links
Design de comandos: http://msdn.microsoft.com/en-us/library/windows/apps/hh761499
Mostra tratamento de erro não obtrusivo, com significado e que o usuário pode agir
Present errors to the user in a non-obtrusive manner and ensure your messages are actionable. Follow the
guidelines for error messaging and choose the appropriate UI surface to present the errors.
Links
Superfícies de interface de usuário: http://msdn.microsoft.com/en-us/library/windows/apps/hh465304.aspx
Guia de Mensagens de Erro: http://msdn.microsoft.com/en-us/library/windows/desktop/ms679325(v=vs.85).aspx
Aproveita o zoom semântico de maneira apropriada
Semantic zoom is a touch-optimized technique for presenting and navigating through large sets of related content
within a single view. If your application presents such content, you should consider using the Semantic Zoom control.
6
To learn all the “do’s and don’ts” to effectively leverage the Semantic Zoom control, check the guidelines for
Semantic Zoom.
Links
Zoom Semântico: http://msdn.microsoft.com/en-us/library/windows/apps/hh465319
EXPERIÊNCIA de USUÁRIO - Telas & Formatos de Dispositivos
Suporta as orientações de tela paisagem e retrato
Rotation allows users to optimize interaction with your app with optimal comfort and ease of use for their device.
Windows 8 gives you multiple choices for rotation: free, constrained, and combined. Implement as many of these
choices as is appropriate for your app.
If your app does not support every possible device orientation, declare that in your manifest and plan accordingly.
You don’t want your user to get into a non-functional state in your app from changing the device’s orientation.
Links
Rotação: http://msdn.microsoft.com/en-us/library/windows/apps/hh465315
Se a adapta em diferentes formatos de dispositivos e respeita as proporções
Windows 8 will be available for a myriad of devices, form-factors, resolutions and aspect ratios.
If you want to sell to all these devices, you must design a flexible layout that adapts to this wide variety of devices
and aspect ratios.
You should also design for different resolutions and include assets that will look great in high-resolution displays.
We recommend you test your app at all the following display resolutions: 1024x768, 1366x768, 1920x1080, and
1280x800.
Links
Layouts flexíveis: http://msdn.microsoft.com/en-us/library/windows/apps/hh465386.aspx
Trata os estados de tela snap, fill, e tela cheia
Your application should handle snapped, filled, and full views.
Your UI should reflow smoothly and gracefully as you transition across states.
Your UI should also remain functional when in snapped mode; it might not have every detail that a full view will
have, but it should be functional.
When in snapped mode, focus on content that is relevant and needs to be visible. Avoid the common pitfalls in
snapped mode, such as cramped, non-functional app bars, clipped content, or panning in the wrong direction
(horizontal)
Links
Snap e fill: http://msdn.microsoft.com/en-us/library/windows/apps/hh465371
Arrasta e rola a tela em apenas uma direção para criar um senso de estabilidade
Panning helps users navigate through a view that does not fit (horizontally or vertically) within the viewport. There
are a lot of factors to consider when panning, for example: device type, orientation, input type (such as mouse,
touch, or pen), etc.
7
Provide a sense of stability within your views by always scrolling on a single axis. You can change the axis if the
device orientation changes, but ensure that there is stability and intuitive panning within the view.
Links
Guia de arraste e rolagem: http://msdn.microsoft.com/en-us/library/windows/apps/hh465310
É functional e parece natural num sistema que possui apenas mouse ou teclado
Keyboard is still a very important input mechanism for Windows. You should ensure that your application works well
for a user who is only using keyboard. This will require handling of navigation, tab stops, and ordering, etc.
Links
Guia de entrada de texto: http://msdn.microsoft.com/en-us/library/windows/apps/hh750315
É functional e parece natural num sistema que usa o teclado na tela
Designing for touch will get you a long way in Windows 8. As you lay out your screens, you should test on lower
resolution (1024x768) and ensure that your application works well with the soft keyboard.
Ensure that the keyboard is not pushing fields too high or covering controls that users will need in order to navigate
through the app (such as submit buttons).
Links
Design de interações por toque: http://msdn.microsoft.com/en-us/library/windows/apps/hh465415
EXPERIÊNCIA de USUÁRIO - Configurações
Implementa o contrato de Settings e não possui configurações e preferências em outros
lugares do aplicativo
The settings charm is the one consistent, familiar interface for the user to configure your app.
All those user preferences and settings that users do not change often should be exposed only in the settings
windows rather than throughout the app.
The guidelines for app settings has great insights into organizing your settings and what is appropriate for settings
and what is not appropriate for settings. Review and implement this guidance to make your app easy to configure.
Links
http://msdn.microsoft.com/en-us/library/windows/apps/hh770544
Faz roaming das configurações e estado do usuário
Roaming application data lets users keep your application data in sync across multiple devices like their work PC and
their slate at home. If a user installs the same app on two devices, Windows keeps the app data, like user
preferences, in sync. This reduces the amount of setup work that users need to do for your app on their second
devices.
To take advantage of this free, easy to code for, roaming functionality, check out the guidelines for roaming
application data.
Become familiar with the APIs to check for quota for roaming settings. Though roaming is very easy to use, it is not
designed to roam large data sets. Understand the implications and optimize your user experience accordingly.
8
Links
http://msdn.microsoft.com/en-us/library/windows/apps/hh465094
http://msdn.microsoft.com/en-us/library/windows/apps/windows.storage.applicationdata.roamingstoragequota
Possui uma boa experiência de sign-in/sign-out
If your application requires that users sign-in to enable certain functionality, pay attention to the user experience
and workflow around sign-in and sign-out.
Try to keep your application functional while the user is still signed-out. Provide some default experience that still
has value to the user.
If sign-out is not a common action (such as caching credentials), implement the functionality via the settings charm;
this way it will not be intrusive, and the user will intuitively find it consistent with other Windows 8 Metro style apps.
EXPERIÊNCIA de USUÁRIO - Contratos
Implementa o contrato de Search / Busca
The search contract lets your users search through your app’s content from anywhere in the system.
Using the Search charm helps you:



Take advantage of muscle memory that users have built by using the Search charm in the system and in
other apps
Ensure that users have a consistent and predictable experience when they search and when they change
search settings
Make your app more visible by placing it at the top of the list of searchable apps if the user searches your
app frequently
To have a great search experience, follow the guidelines for search.
Links
http://msdn.microsoft.com/en-us/library/windows/apps/hh465233
Implementa o contrato de Share Target / Destino de Compartilhamento
Users will always have information they want to share.
If your app implements the share target contract, it will always be one swipe away for the user.
If you want to increase the usage for your app, and have scenarios that can consume data from other apps,
implement the share target contract. Windows does most of the heavy lifting with sharing the data, you simply have
to receive it and let the user access it within your app.
For more details, check the guidelines for sharing.
Links
http://msdn.microsoft.com/en-us/library/windows/apps/hh465251
Implementa o contrato de Share Source / Fonte do Compartilhamento
An easy way to extend your application and connect it to any other application or service is to implement the share
contract. Participating in the Share contract means that you don't have to write extra code or provide other
developers with an SDK for your app just to share content.
9
You will be adding value and exposing it in the consistent, safe way that all Windows 8 users will expect.
For details on sharing, check the guidelines for sharing.
Links
http://msdn.microsoft.com/en-us/library/windows/apps/hh465251
Possui belas interfaces de usuário para os contratos
Sometimes we see beautifully designed applications that don’t sweat the details in their contracts’ user interface.
Contracts are an important part of your app; ensure the alignment, responsiveness, branding, and overall UI polish in
your contracts UI is as high as the rest of your app.
Aproveita os file pickers / seletores de arquivos
A Metro style app can call a file picker window to let the user browse their system and pick files or folders for the
app to operate on or to let the user save a file using a new name, file type, or location ("save as"). Apps can also use
file pickers as an interface that enables them to provide other apps with files, a save location, or even file updates.
Leverage file pickers within your app if you want to interact with user data that is stored in files.
To learn more about file pickers, check the accessing files with file pickers reference and follow the guidelines for file
pickers.
Links
Accessing files with file pickers: http://msdn.microsoft.com/en-us/library/windows/apps/hh465174.aspx
http://msdn.microsoft.com/en-us/library/windows/apps/hh465182
EXPERIÊNCIA de USUÁRIO – Gerenciamento do ciclo de vida
Trata os estados de vida do aplicativo de maneira apropriada
To allow your users to switch across apps and feel like they never left your app, you must properly and efficiently
handle the process life cycle management (PLM) events. At the highest level, you should:



Save transient state on suspend
Handle the resuming event, update the view if the content has changed since it was last visible to the user
Restore the transient state on launch event when the last known state was terminated
To learn more about PLM events, follow these guidelines for suspend and resume.
Links
http://msdn.microsoft.com/en-us/library/windows/apps/hh465088
Faz uso apropriado de tarefas de background
Through background tasks, Metro style apps can run while suspended or terminated. Despite this flexible option
being available, not all applications need background tasks.
Review your scenario carefully and decide if you must run in the background, how-often, and what would happen if
the user – who controls the lock screen apps – does not approve for your app to run in the background.
To become proficient on background tasks, check the introduction to background tasks white paper and then design
your application for the right usage.
10
If you do decide to declare your application for a background task, ensure that you have the right assets (for
example, badges for lock screen) and that you have the right triggers and conditions so your app runs when needed
and within the allotted slots for background tasks.
Links
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=27411
EXPERIÊNCIA de USUÁRIO - Rede
Se comporta bem quando está offline ou quando a conectividade de rede é intermitente
If your application depends on the internet or any other resource that might be intermittent, ensure that it is able to
handle a lack of the resource.
As an example of how to handle intermittent resources availability, let’s use network connectivity:



Your application should not crash while off-line (when launched from a cold start, or when resuming after
having lost connectivity during suspend)
It should preserve as much functionality as it can even while off-line
It should detect the changes in the availability of the intermittent resource and transition appropriately,
enabling the right functionality when the resource is available
EXPERIÊNCIA de USUÁRIO - Tiles e Notificações
Tem um belo Tile / Mosaico com a sua marca
There is a bit to consider when designing a great tile: your brand, size of the tile, localization, high-dpi displays,
whether to use text for your app name, or to have your brand come through via the tile.
To learn all the do’s and don’ts of a beautiful, branded tile check the guidelines for tiles
Links
http://msdn.microsoft.com/en-us/library/windows/apps/hh465403
Tem um live tile ou tiles secundários
If you want your app to stand-out, liven up your tile and leverage secondary tiles to provide extra convenience for
your users. There are lots of ways to have your tile stand-out, most of them do not require a service.
If you want to learn more, here are some great options to differentiate your tiles: •Tile updates





Badges
Secondary tiles
Periodic notifications
Scheduled notifications.
Push notifications
Usa notificações toast para informações relevantes e onde o horário é importante
Toast notifications should be used for relevant and time sensitive information only.
They should be actionable (user clicking on them should navigate to an actionable place within your app).
Toast notifications should be concise and clear; don’t use content that is not required; do not add chrome.
11
Ensure you follow the other dos and don’ts from the guidelines for toast notifications.
Links
http://msdn.microsoft.com/en-us/library/windows/apps/hh465391
Trata adequadamente as ativações via contratos, tiles secundários e notificações
When an app is activated from a share contract, search contract, tile, or notification, parameters and data are
passed to your app. Your app should retrieve the data at launch and act upon it.
Links
http://msdn.microsoft.com/en-us/library/windows/apps/hh465102.aspx
WINDOWS STORE
Esperado passar nos requisitos de certificação da Windows Store
The application excellence lab is not a replacement for the thorough testing and validation that happens during
certification. Please carefully review the Windows store certification requirements and ensure that your application
meets all the requirements.
During our review, we will go through some of the requirements, but not all of them.
Links
http://msdn.microsoft.com/en-us/library/windows/apps/hh694083.aspx
Passa nos testes do Windows App Certification Kit (WACK)
To give your app the best chance of getting certified, validate and test it on your computer using the Windows App
Certification Kit.
Links
http://msdn.microsoft.com/en-us/library/windows/apps/hh694081.aspx
DESEMPENHO
A interface de usuário é sempre responsiva e provê feedback visual nas interações
Your UI should always be responsive and always provide visual feedback to the user. Here are examples, of feedback
interactions you should include:


When the user presses an item, provide visual feedback (a pressed animation)
When the user begins a long-running operation such as a network call or saving a file asynchronously, show
a progress control or other way for user to know that the action is executing.
For more tips, check the guidelines for user interaction
Links
http://msdn.microsoft.com/en-us/library/windows/apps/hh465370
12
DESEMPENHO - Animação
Mantém 60 frames por segundo
Fast and fluid applications should redraw the screen at 60 frames per second.
Drawing with high frame rates is most commonly achieved by leveraging the GPU to do the drawing of the scene.
You can accomplish this by:



Using the Windows Animation Library (if writing app with HTML/Javascript)
Using the native animations in XAML
Leveraging independent animations as much as possible
Independent animations are animations running off the UI thread (most often in a separate hardware accelerated I
thread
Links
Animating your UI in Metro style apps built using HTML & Javascript: http://msdn.microsoft.com/enus/library/windows/apps/hh465165.aspx
Standout with styling animation in your XAML app: http://channel9.msdn.com/events/BUILD/BUILD2011/APP-494T
Performance tips for animating Metro style apps built using HTML & JavaScript: http://msdn.microsoft.com/enus/library/windows/apps/hh849087.aspx
DESEMPENHO – Ciclo de vida
Otimiza os tratadores dos eventos de suspend e resume
The suspend and resume PLM events will allow users to switch across tasks and feel like they never have left the
app. If you want the task switching to be seamless, you must have suspend & resume event handlers that are
optimized to execute promptly. Consider the following optimizations if you want fast suspend and restore:



Save the least amount of data at suspend; any non-transient application state can be saved earlier, as it
changes throughout the app
Avoid saving state when no state has changed
Optimize your restore handler to do the least amount of work. Your app is always in memory; if your data
has not changed, you might not have a lot of work to do. If your data did change, refresh it in the
background, and make sure the app is responsive while you are refreshing it.
Links
Optimizing your app's lifecycle: http://msdn.microsoft.com/en-us/library/windows/apps/hh781221.aspx
Suspende e retoma nos tempos previstos
An application has five seconds to save state after the suspending event fires.
The application should resume just as efficiently.
13
DESEMPENHO - Cache & Dados Locais
Depende de conteúdo empacotado, local o máximo possível
Local assets (images, data files, etc.) load quicker than assets you download from a service or website via a network
call. Common caching techniques should apply to your Metro style app.
To minimize unnecessary or repeated downloads, include all the assets that your project needs within your
application’s package.
If you must use online assets cache them locally so you can reuse them. Apply a policy that meets the right balance
between proper expiration times, managing local state and how much space you use in the local drive.
Links
DESEMPENHO - Inicialização
A primeira página carrega em menos de 5 segundos
First impressions are critical. Fast and fluid apps must have a good startup time. Aim for your application’s first page
to be loaded (and functional) within 5 seconds from a cold start.
If your application takes longer, consider using an extended splash screen to keep the user aware of the progress.
Once your app has loaded once, cache enough data or content to have a quick start-up that arrives at a functional
screen promptly the next time it needs to load. If you load from cached data, refresh the data in the background to
not block your loading experience.
Links
Minimizing start-up time on HTML apps: http://msdn.microsoft.com/en-us/library/windows/apps/hh849088.aspx
Minimizing start-up time on XAML apps: http://msdn.microsoft.com/en-us/library/windows/apps/hh771190.aspx
Aproveita o caching de bytecodes de Javascript
This optimization is applicable only to Metro style apps built using HTML and JavaScript.
Bytecode caching is a technique in which the system creates bytecode for each JavaScript file once, rather than
recreating the bytecode each time it launches the app.
To ensure that your app benefits from bytecode caching:


Ensure all JavaScript files are UTF8 encoded with a byte-order mark (BOM)
Ensure all JavaScript files are statically referenced in the root of your HTML start page
Links
For more details about bytecode caching, refer to http://msdn.microsoft.com/enus/library/windows/apps/hh849088.aspx
DESEMPENHO - Memória
Gerencia o uso de memória para os limites recomendados
Most of the time, using less memory implies you are doing things more efficiently.
14
Also, when your app uses less memory, the system has more memory available for task switching and it decreases
the chances of your app being terminated upon suspend.
The desired working set sizes for Metro style apps are 80 MB for smaller apps, 100 MB for medium size apps, and
150MB for larger apps. These numbers obviously vary per app, but budget your working set to not depart too far
from the targets.
Techniques you can use to optimize your app’s working set include:




Upon suspend, release memory or resources that you know will be stale at a later resume.
Decode images only at desired (or reasonable resolution).
Use thumbnail APIs for images when all you need are thumbnails.
Release expensive objects as soon as possible. Don’t forget to call URL.revokeObjectURL
Links
http://msdn.microsoft.com/en-us/library/windows/apps/hh750313.aspx
Performance white paper.
DESEMPENHO - Rede
Gerencia os recursos de rede de maneira apropriada
Even though network operations are asynchronous; optimizing network calls helps with user perception of how
responsive (or ready) your application is.
Common networking call optimizations you should make include:


Canceling pending network operations when they are not needed. Don’t do work that won’t be used.
Design your APIs to return the right amounts of data. If you return too much, you will be executing extra
parsing and downloading extra data that might cost the user on a metered network; if you download too
little, you will be making too many calls (effectively wasting more bandwidth and leading to longer delays)
on data that needs to be readily available for display to the user.
DESEMPENHO – Tarefas de background
Respeita os tempos reservados para as tarefas em background
Apps that run in the background or under lock screen receive a certain amount of CPU time at regular intervals. If
the app uses all of its available CPU time, its background tasks are suspended until the app’s CPU quota is
replenished at the next generation for CPU quota updates.
Budget your allotted CPU time to maximize continuity.
Links
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=27411
OUTROS
É acessível
Writing an accessible app can help you reach more customers.
15
The platform controls already do a lot of the work needed for your app to be accessible. You should become familiar
with the basic accessibility requirements and decide if you want to reach out to this audience. If you do choose to be
accessible, follow the accessibility guidelines and ensure you declare your app as accessible during your store
submission.
If you are not meeting the accessibility requirements (or have not thoroughly tested for accessibility) don’t declare
your app as accessible in the store; that might lead to bad reviews.
Links
Meeting basic accessibility requirements: http://msdn.microsoft.com/en-us/library/windows/apps/hh700338.aspx
Guidelines and checklist for accessibility: http://msdn.microsoft.com/en-us/library/windows/apps/hh700325
Declaring your app as accessible in the Windows Store: http://msdn.microsoft.com/enus/library/windows/apps/hh700322.aspx
É localizado
Windows is used worldwide, so you need to design your app so that resources, such as strings and images, are
separated from their code, to help make localization easy.
See the guidelines for designing a globalized Metro style app, guidelines for making your app world ready, and
guidelines for app resources if you are localizing your app to different languages.
Links
Guidelines for designing a globalized Metro style app: http://msdn.microsoft.com/enus/library/windows/apps/hh781206
Guidelines and checklist for app resources: http://msdn.microsoft.com/en-us/library/windows/apps/hh465241
16
Download