tcc usabilidade em aplicações para sistema android
DESCRIPTION
Trabalho de conclusão de curso apresentado ao Instituto de Ensino Superior Objetivo, como requisito parcial para a Conclusão do Curso de Ciência da Computação. Com o tema:USABILIDADE EM APLICAÇÕES PARA SISTEMA ANDROIDTRANSCRIPT
INSTITUTO UNIFICADO DE ENSINO SUPERIOR OBJETIVO – IUESO
José Lucas Pereira de Jesus
Tiago Oliveira Souza
Tiago de Sousa Martins
USABILIDADE EM APLICAÇÕES PARA SISTEMA ANDROID
GOIÂNIA-GO
2011
JOSÉ LUCAS PEREIRA DE JESUS
TIAGO OLIVEIRA SOUZA
TIAGO DE SOUSA MARTINS
USABILIDADE EM APLICAÇÕES PARA SISTEMA ANDROID
Monografia apresentada como requisito parcial para conclusão do Curso de Ciência da Computação ao Instituto Unificado de Ensino Superior Objetivo - IUESO
Orientador (a): Prof. Esp. Marcos Baroni
GOIÂNIA-GO
2011
JESUS, José Lucas Pereira; MARTINS, Tiago de Sousa; SOUZA, Tiago Oliveira.
Usabilidade em aplicações para sistema Android / José Lucas P. Jesus, Tiago de Sousa Martins, Tiago Oliveira Souza.Goiânia, 2011.
Trabalho de conclusão de curso apresentado ao Instituto de Ensino Superior Objetivo – IUESO, para a conclusão do curso de ciência da computação.
Orientador: Prof. Esp. Marcos Baroni
1. Usabilidade 2.Android
José Lucas Pereira de Jesus
Tiago Oliveira Souza
Tiago de Sousa Martins
USABILIDADE EM APLICAÇÕES PARA SISTEMA ANDROID
Trabalho de conclusão de curso apresentado ao Instituto de Ensino Superior Objetivo, como requisito parcial para a Conclusão do Curso de Ciência da Computação.
Goiânia, 08, novembro de 2011.
Nota ____________.
________________________________________________Prof. Esp. Marcos Baroni (Orientador)
________________________________________________Prof.:
Examinador
________________________________________________Prof.
Examinador
AGRADECIMENTOS
Primeiramente a Deus que nos iluminou durante esta caminhada. A todos aos
nossos amigos, professores, nossas famílias que são os grandes incentivadores
para conquistarmos os objetivos e todos que de alguma forma nos auxiliaram, para
a realização e a conclusão deste trabalho.
RESUMO
Com a popularização dos dispositivos móveis, o mercado vem se movimentando bastante, com grandes inovações, como os smartphones e Tablets. Surge a tecnologia Touchscreen, que é uma nova maneira de interagir com esses aparelhos. Para administra-los, uma das empresas mais conceituadas no mundo atualmente entra na briga de sistemas operacionais moveis, a Google, com o lançamento do Google Android. Hoje é um dos mais utilizado no mundo, possuindo vantagens como, ser multitarefa, código aberto, compatibilidade em diversos aparelhos de marcas distintas. Este trabalho foca como uma aplicação para sistema Android deve ser desenvolvido, com técnicas de usabilidade, baseada nas heurísticas de Jakob Nielsen.
Palavras-chave: Android, interação, Heurística e Usabilidade.
ABSTRACT
With the recent advances in mobile technology, the market has been moving forward at a fast pace offering great innovations such as smartphones and tablet pcs. Among these innovations, touchscreen technology has also arisen. This technology is a new way of interacting with these new devices. Not too long ago, one of the biggest companies in the world, Google, also entered the mobile operating systems market with the launch of Google Android. Nowadays, this is one of the most widely used mobile operating systems with important advantages over their competitors such as being multitask, having open code and compatibility with devices of many different trademarks. This workshop is focused on how an Android application should be developed with usability techniques based on Jakob Nielsen’s heuristics.
Keywords: Android, interacting, heuristics e usability
LISTA DE FIGURAS
Figura 1 – Telefone DYNATAC 8000X .................................................................. 15
Figura 2 – Tablet da Samsung - Galaxy Tab.......................................................... 17
Figura 3 – Bateria de Li-Ion.................................................................................... 18
Figura 4 – Ilustração da Tela Resistiva................................................................... 19
Figura 5 – Ilustração da Tela Capacitiva................................................................. 20
Figura 6 – Logotipo do sistema Android................................................................. 25
Figura 7 – Arquitetura Android............................................................................... 27
Figura 8 – Estrutura da usabilidade........................................................................ 34
Figura 9 – Efeito carrossel..................................................................................... 45
Figura 10 – Efeito Window Shade........................................................................... 51
Figura 11 – Efeito Pinch & Spread.......................................................................... 52
Figura 12 – Principais operações do software........................................................ 59
Figura 13 – Screenshot da Tela principal................................................................ 60
Figura 14 – Screenshot da Tela principal com menu opções ................................ 62
Figura 15 - Screenshot da Tela de atalho Visitantes Presentes............................. 63
Figura 16 - Screenshot da Tela Cadastrar ............................................................ 64
Figura 17 - Screenshot da Tela Saída.................................................................... 65
Figura 18 - Screenshot da Tela cadastrar erro CPF ............................................. 66
Figura 19 - Screenshot da Tela Ajuda.................................................................... 67
LISTA ABREVIATURAS E SIGLAS
Advanced Audio Coding(AAC)
Agência Nacional de Telecomunicações (ANATEL)
American Telephone and Telegraf (AT&T)
Application Programming Interface (API)
Code Division Multiple Access (CDMA)
Digital Rights Management (DRM)
Doctor of Philosophy (Ph.D)
Duas Dimensões(2D)
Enhanced Data rates for GSM Evolution (EDGE)
Evolution-Data Optimized (EV-DO)
Extensible Markup Language (XML)
FCC (Federal Communication Commission)
Global Positioning System (GPS)
Global System for Mobile (GSM)
Institut National de Recherche em Informatique et en Automatique(INRIA)
Integrated Digital Enhanced Network (IDEN)
International Organization for Standardization (ISO)
Kilobit Per Second(KBPS)
Laboratório de Usabilidade da informática estabelecido com o Departamento de
Informática e Estatística da UFSC (LabUtil)
Long Term Evolution (LTE)
Maquina Virtual Java (JVM)
Mega-Hertz (MHZ)
Moving Picture Experts Group (MPEG-4)
MPEG-1/2 Audio Layer 3(MP3)
Multimedia Messaging Service (MMS)
Open Graphics Library for Embedded System (OpenGL Es)
Padrão de compressão de vídeo baseado no MPEG-4(H.264)
Personal Computer (Palm)
Personal Digital Assistents(PDA)
Protocolo de comunicação para dispositivos dentro de uma área de alcance
(BLUETOOTH)
Segunda Geração (2G)
Serviço Nacional de Aprendizagem Industrial (SENAI)
Short Message Service (SMS)
Software Development Kit (SDK)
Terceira Geração (3G)
Trabalho de Conclusão de Curso (TCC)
Três Dimensões (3D)
Vídeo Graphics Array (VGA)
Voice over Internet Protocol (VOIP)
Universal Mobile Telecommunications System (UMTS)
Universidade Federal do Rio de Janeiro (UFRJ)
Wireless Fidelity (WI-FI)
Worlwide Interoperability for Microwave Access (WIMAX)
SUMÁRIO
LISTA DE FIGURAS...................................................................................................8
LISTA ABREVIATURAS E SIGLAS...........................................................................9
INTRODUÇÃO..........................................................................................................14
1 EVOLUÇÃO..........................................................................................................16
1.1 Celulares no Brasil............................................................................................17
1.2 Hardware............................................................................................................17
1.2.1 Entrada de dados..............................................................................................19
1.2.1.1 Tela Touchscreen..........................................................................................19
1.3 Comunicação.....................................................................................................21
1.4 Sistemas operacionais......................................................................................22
1.4.1 Comparação entre plataformas........................................................................23
2 ANDROID..............................................................................................................26
2.1 Open Handset Alliance – OHA..........................................................................28
2.2 Arquitetura.........................................................................................................28
2.2.1 Aplicações........................................................................................................29
2.2.2 Framework aplicação........................................................................................29
2.2.3 Bibliotecas........................................................................................................29
2.2.4 Android Runtime...............................................................................................30
2.2.5 Linux kernel......................................................................................................30
2.3 Android Market...................................................................................................31
3 USABILIDADE.......................................................................................................32
3.1 Principais autores..............................................................................................32
3.1.1 Jakob Nielsen...................................................................................................32
3.1.2 Claudia Dias.....................................................................................................33
3.1.3 Walter Cybis.....................................................................................................33
3.2 Conceito.............................................................................................................33
3.3 Medir usabilidade...............................................................................................35
3.3.1 Conceitos da ISO 9241 de 2002.......................................................................35
3.3.2 Contexto de uso................................................................................................36
3.4 Medidas de usabilidade.....................................................................................36
3.4.1 Eficácia.............................................................................................................36
3.4.2 Eficiência..........................................................................................................37
3.4.3 Satisfação.........................................................................................................38
4 APLICANDO USABILIDADE EM APLICAÇÕES ANDROID...............................39
4.1 Dez heurísticas(recomendações) de Nielsen..................................................40
4.1.1 Visibilidade do estado atual do sistema............................................................40
4.1.1.1 Recomendações (Heurística): Feedback Informativo....................................41
4.1.2 Correlação entre o sistema e o mundo real......................................................42
4.1.2.1 Recomendações (Heurística): Linguagem simples e adequada....................42
4.1.3 Controle e liberdade do usuário........................................................................43
4.1.3.1 Recomendações (Heurística): Controle e liberdade das ações do usuário...43
4.1.4 Consistência e padrões....................................................................................44
4.1.4.1 Recomendações (Heurística): Consistência e padrões.................................45
4.1.5 Prevenção de erros...........................................................................................47
4.1.5.1 Recomendações (Heurística): Prevenção e Manipulação de erros...............47
4.1.6 Reconhecimento ao invés de memorização.....................................................48
4.1.6.1 Recomendações (Heurística): Facilitar a Aprendizagem...............................49
4.1.7 Flexibilidade e eficiência de uso.......................................................................50
4.1.7.1 Recomendações (Heurística): Eficiência dos Atalhos...................................51
4.1.8 Projeto estético e minimalista...........................................................................55
4.1.8.1 Recomendações (Heurística): Interfaces Minimalistas..................................56
4.1.9 Suporte aos usuários no reconhecimento, diagnóstico e recuperação de erros...........................................................................................................................57
4.1.9.1 Recomendações (Heurística): Qualidade das mensagens de erro...............57
4.1.10 Informações de ajuda e documentação..........................................................59
4.1.10.1 Recomendações (Heurística): Fornecer Ajuda............................................59
5 APLICAÇÃO.........................................................................................................61
5.1 As 10 heurísticas de Nielsen no software de controle de acesso.................62
5.1.1 Tela principal....................................................................................................62
5.1.2 Tela principal com menu de opções.................................................................64
5.1.3 Tela atalho visitantes presentes.......................................................................65
5.1.4 Tela Cadastrar..................................................................................................66
5.1.5 Tela saída.........................................................................................................67
5.1.6 Tela Ajuda.........................................................................................................69
CONCLUSÃO............................................................................................................71
REFERÊNCIAS.........................................................................................................72
ANEXOS....................................................................................................................76
14
INTRODUÇÃO
O mercado de dispositivos móveis cresce constantemente. Essa
tecnologia vem evoluindo, além de smartphone que hoje possuem recursos como
mensagens, acesso à internet, GPS, reprodução e gravação de vídeo, surgiu o
Tablet, um computador similar a uma prancheta eletrônica, utilizados para edição de
texto, enviar e-mail, navegar na internet, ver fotos, ouvir músicas entre outros
recursos. Junto com essa evolução surgiu uma nova maneira de interagir com esses
aparelhos, agora não possuem mais teclado físico, para que seja feita uma ação
deve-se tocar na tela.
Para gerenciar todos esses recursos e essa nova interação homem-
máquina, a Google em 2008 em parceria com a Open Handset Alliance (OHA) que é
uma aliança entre diversas empresas para criarem padrões abertos para telefonia
móvel, desenvolveram o Android. Um sistema operacional livre, código aberto, que
de acordo com revista Linux Magazine edição 75, está presentes em 17% dos
aparelhos móveis no mundo. É multitarefa, por exemplo, acessar internet e efetuar
uma ligação ao mesmo tempo, e os aplicativos são desenvolvidos em linguagem
Java.
Ao desenvolver uma aplicação para sistema Android, o desenvolvedor
não depara somente com a problemática da uma tecnologia nova, mas também com
a necessidade de aplicar a usabilidade, que de acordo com a ISO 9241 define como
“uma medida na qual um produto pode ser usado por usuários específicos para
alcançar objetivos específicos com eficácia, eficiência e satisfação em um contexto
específico de uso”. Em outras palavras, o software deve proporcionar ao usuário
uma maneira simples de interação com o dispositivo, possuindo uma interface de
fácil compreensão pelo usuário e que possibilita realizar tarefas sem dificuldade.
Este trabalho implementa um software de controle de acesso de pessoas
baseado nos requisitos da Superintendência federal de Agricultura, Pecuária e
Abastecimento em Goiás e mostra quais as características devem possuir uma
aplicação para sistema Android baseado nas dez heurísticas, que são estratégias
intuitivas sem uma regra formal, que são baseadas através da experiência e pela a
observação na solução de problemas de situadas áreas, criada pelo Jakob Nielsen,
15
visando solucionar problemas como definir corretamente a dimensão de um botão,
tamanho das fontes e cor adequada. Interagir com telas pequenas, limitações da
capacidade armazenamento e processamento. Atender usuários novatos, que são
aqueles que nunca tiveram contato com um dispositivo móvel e usuários experientes
que usam frequentemente todos os recursos e que já conhecem as maneiras de
interação do sistema.
16
1 EVOLUÇÃO
O celular é um importante meio de comunicação, que o seu mercado
cresce significativamente no cenário mundial a cada ano, o sucesso do celular se dá
por acesso as redes sociais, acesso sem fio à internet, manipulação de imagens,
músicas, vídeos, televisão, comunicação instantânea e a portabilidade por seu
pequeno tamanho. A transmissão do sinal é feita por ondas eletromagnéticas, que
se propagam em uma determinada área de cobertura, segundo artigo de Gonçalves
Alexandre da UFRJ (Universidade Federal do Rio de Janeiro) o primeiro sistema de
telefonia móvel foi desenvolvida em 1947, pela a empresa americana Bell Company
na qual era interligado por várias antenas denominadas de células, que resultou no
nome de celular. Conforme o artigo Telefone Celular do portal São Francisco neste
mesmo ano a FCC (Federal Communication Commission) disponibilizou frequência
especificas de rádios para o sistema de telefonia móvel proposta pela a AT&T
(American Telephone and Telegraf) companhia americana de telecomunicações e a
Bell, mas só era o suficiente para a comunicação simultânea de 23 pessoas,
passaram-se 20 anos para a FCC reconsiderar e aumentar o número de frequência.
Foi definido pela a AT&T (American Telephone and Telegraf) e a Bell em 1968, um
conjunto de torres em determinada áreas para atender o deslocamento do usuário,
meio este que continua até os dias atuais. Os celulares no início eram enormes, o
sistema de comunicação da Bell era instalado nos porta malas dos carros de polícia,
isto em 1973, mas testado em 1979 com 200 pessoas em Chicago. Em 1983 surge
o DYNATAC 8000X, desenvolvido pela Motorola, sendo primeiro celular aprovado
pelo FCC (Federal Communication Commission), apresentado na figura 1
17
Figura 1 – DYNATAC 8000X
Fonte: Pixel & Matter
1.1 Celulares no Brasil
Em novembro de 1990, era lançada a telefonia móvel no Rio de Janeiro,
de acordo a Agência Nacional de Telecomunicações (ANATEL) neste mesmo ano
continha 667 aparelhos, em 1991 com 6.700 unidades; em 1992 com mais de 30 mil,
chegando a 47.865.593 em 2004, e segundo dados da TELECO um site de
telecomunicações, em março de 2011 extraordinária marca de 210.509.562 milhões
de celulares, na qual a quantidade celular superou a de habitantes. Essa crescente
demanda se dá devido às privatizações no ramo da telefonia móvel ocorrida em
1997, para empresas internacionais e nacionais. Acompanhe a evolução mais
detalhada no anexo1 e no anexo2. De acordo a TELECO, as bandas de frequências
disponíveis no Brasil são:
850 MHz1, antigas bandas A e B;
900 MHz, bandas de extensão usadas pelo GSM2;
1700 e 1800 MHZ, bandas D, E subfaixas de extensão utilizadas pela
GSM;
1900 e 2100 MHz destinadas na sua maior parte para sistemas 3G3.
1 MHZ – Mega-Hertz2 GSM – Global System for Mobile3 3G – Terceira Geração
18
1.2 Hardware
Os primeiros celulares eram pesados, grandes, em torno de 20
centímetros, baixo processamento e memória armazenavam somente alguns
números de contato e poucos possuíam, pois era muito caro, diferente de hoje que
maioria das pessoas possui um aparelho celular.
Com tela bastante reduzida e monocromática, usada somente para
visualização de números e caracteres. Possuíam rolagem horizontal, pois existia
uma única linha de visualização, somente mais tarde que surgiram aparelhos com
mais de uma linha, mas ainda com somente uma cor.
Hoje os celulares são capazes de navegar na internet, gravar e reproduzir
vídeos, tirar fotos e possui GPS4, fazer chamadas de VoIP5, receber e enviar e-mail.
Esses aparelhos são conhecidos como Smartphones, que segundo MORIMOTO é
uma “combinação de duas classes de dispositivos: os celulares e os assistentes
pessoais (como os Palms6 e os PDAs7)”. Outro dispositivo que está se tornado
bastante popular é o Tablet, um dispositivo móvel que surgiu no inicio de 2010 que é
um computador similar a uma prancheta eletrônica com todos os recursos que um
Smartphone possui, mas pode possui maior processamento e tem uma tela sensível
a toque geralmente de 7 a 10 polegadas, como mostra a figura 2.
4 GPS – Global Positioning System5 VOIP – Voice over Internet Protocol6 Palm – Personal Computer7 PDA – Personal Digital Assistents
19
Figura 2 – Tablet da Samsung - Galaxy Tab
Fonte: ITECHNEWS
As baterias de Li-Ion (como mostra a figura 3) são hoje as utilizadas em
aparelhos móveis, tem como característica de não necessitar recarregá-la somente
quando não possuir carga. Hoje a consumo de energia de aparelho celular é alto,
devido ao grande volume de transmissão de dados, faz com que o tempo de
duração caia consideravelmente.
Figura 3 – Bateria de Li-Ion
Fonte: OLX
20
1.2.1 Entrada de dados
A forma de interagir com o celular é através de teclas, para efetuar
operações como confirmação ou digitar uma mensagem que usa as teclas
numéricas do teclado do aparelho.
Nos Tablets e a na maioria dos Smartphones a entrada de dados é feita
pela chamada tela sensível a toque ou tela Touchscreen. O usuário deseja escrever
uma mensagem SMS8, aparecerá na tela do dispositivo um teclado virtual para que
se possa digitar texto.
1.2.1.1 Tela Touchscreen
Para que seja feita interação com aparelhos com tela Touchscreen deve-
se tocar na tela do aparelho para entrar com algum dado ou abrir algum programa, o
toque na tela de um smartphone com Touchscreen é similar a um clique de mouse
no computador pessoal.
Os principais tipos de telas Touchscreen no mercado são as resistivas,
infravermelho e capacitivas.
Em telas resistivas o toque na tela, geralmente utilizando uma caneta, é
reconhecido pela pressão aplicada na tela. Segundo o site Intomobile, a tela possui
várias camadas e “quando a camada superior flexível é empurrada para a camada
inferior, as mudanças de corrente elétrica no local do impacto é calculado”, como
demostra a figura 4.
8 SMS – Short Message Service
21
Figura 4- Ilustração da Tela Resistiva
Fonte: PHONEARENA
As telas de infravermelho podem ser do tipo Heat-sensitive, “sensível a
calor deve ser tocada com um objeto quente para registrar o ponto de impacto.”
(INTOMOBILE); E Optical, que “usa sensores para marcar a tela com raios invisíveis
acima da tela. O ponto é calculado quando um ponto x-y é interrompido.”
(INTOMOBILE).
Nas telas capacitivas, segundo o site IntoMobile, a corrente elétrica é
enviada para a tela a partir dos cantos. Quando o dedo toca a tela, ela muda a
corrente, e esse local é calculado, como mostra a figura 5.
Os Tablets e maioria do Smartphones com sistema operacional Android
são equipados com telas capacitivas, possuindo uma grande vantagem sobre as
telas resistivas, o multitouch, que é o reconhecimento de mais de um toque
simultâneo. Nas telas capacitivas, utiliza-se somente o dedo, sistema reconhece o
toque e gestos feitos na tela, como por exemplo, deslizar o dedo sobre a tela para
rolar uma lista de contatos, ao invés de clicar na barra de rolagem.
22
Figura 5 - Ilustração da Tela Capacitiva
Fonte: PHONEARENA
1.3 Comunicação
O sistema de comunicação celular se divide em gerações. A primeira
geração o sistema era analógico e tinha apenas serviço de voz. Somente na 2ª
geração, o 2G9, que o sistema passou a ser digital e possui o serviço de SMS, onde
existem dois padrões, o CDMA10 e o GSM11. O GSM foi o padrão que mais se
difundiu no mundo e foi criado com o intuito de substituir padrões proprietários
existentes na primeira geração.
A próxima geração pode ser chamada de 2.5G, que é a inserção de
tecnologias ao padrão GSM visando aumentar a taxa de dados, que era somente de
9.6Kbps12 e possibilitar a comunicação por pacotes. Permitindo assim conectar-se à
web.
O 3G é a geração que está substituindo a 2G, sua principal vantagem é a
transmissão de dados em banda larga. A velocidade pode chegar teoricamente até
14,4Mbps (Mega bits por segundo), segundo reportagem de Daniela Moreira ao
IDGNow.
9 2G – Segunda Geração10 CDMA – Code Division Multiple Access11 GSM – Global System for Mobile12 KBPS – kilobit Per Second
23
1.4 Sistemas operacionais
TANENBAUM (2000) define sistema operacional como um programa
responsável em controlar todos os recursos da máquina e fornece a base sobre
quais os programas aplicativos podem ser escritos. Nos Smartphones e Tablets os
sistemas operacionais raramente podem ser substituídos por outros, ficando restritos
nos que são instalados de fábrica. Segundo MORIMOTO, a vantagem dessa junção
de hardware e sistema operacional, que pode ser chamado de plataforma, é que o
aparelho “funcione como esperado, sem que você precise ficar procurando drivers e
brigando com dependências e erros na hora de instalar programas adicionais”.
E são esses sistemas que fazem o diferencial, para o sucesso destes
dispositivos atualmente, pois todos os sistemas operacionais disponíveis no
mercado, como Windows Mobile (Microsoft), IOS (Apple), RIM (BlackBerry),
Symbian (Nokia), Android (Google), entre outros, permite que qualquer programador
crie aplicações para o determinado sistema, para assim satisfazer os usuários, com
aplicativos que atendam a necessidade de cada um.
Segundo a TELECO, site sobre telecomunicações, a venda de
smartphones em 2010 foi “de 296,9 milhões de aparelhos com crescimento de
72,3% em relação ao 172,3 milhões de 2009”. E que teve como principal sistema
operacional o Android, que no quarto trimestre de 2010 passaria a Symbian se
tornando o maior sistema móvel naquele trimestre, crescimento mostrado na
Tabela 1.
Tabela 1 - Sistemas Operacionais, vendas mundiais para usuários finais e
Market Share.
Milhões 2009 2010 1T10 2T10 3T10 4T10 ∆TriMarket Share
Android 12,0 69,6 5,2 10,6 20,5 33,3 62,4% 32,9%
Symbian 80,0 109,9 24,1 25,4 29,5 31,0 5,2% 30,6%
iPhone OS**
20,3 46,8 8,4 8,7 13,5 16,2 20,1% 16,0%
24
RIM* 34,5 47,5 10,6 11,2 11,9 13,8 15,9% 13,7%
Microsoft Windows
Móbile14,7 12,2 3,7 3,1 2,3 3,1 37,9% 3,1%
Linux 6,4 5,2 2,0 1,5 1,7 - - -
Other OSs
3,4 5,7 0,405 1,1 1,2 3,0 147,0% 3%
Total 172,3 296,9 54,3 61,7 80,5 100,4 25,7% 100%
1T10- 1º Trimestre de 2010; 2T10- 2º Trimestre de 2010; 3T10- 3º Trimestre de 2010;
4T10- 4º Trimestre de 2010; Tri – Trimestre.
Fonte: TELECO – inteligência em telecomunicações.
1.4.1 Comparação entre plataformas
A plataforma Symbian, durante muitos anos se manteve como líder de
mercado, o grande diferencial que fez com o que a plataforma fosse absoluta todo
esse tempo em dispositivos móvel, é que ela pode ser adaptada, personalizada de
acordo com o dispositivo embarcado. A Nokia que era o principal usuário da
25
plataforma Symbian, de acordo com o TCC13 SMARTPHONES da faculdade de
tecnologia SENAI14 em 2009 comprou os seus direitos, e fundou a Symbian
Fundation, com o objetivo de tornar a plataforma, um sistema aberto.
A Symbian permite o desenvolvimento de aplicativos em várias
linguagens, mas as principais são C++ e JAVA, pois possuem facilidade para
programar. Essa facilidade se deve ao fato do sistema possuir várias API’s15 da
linguagem C e por possibilitar duas versões de programação para o JAVA, o J2ME e
o JAVAPHONE dependendo do aparelho. A Symbian ainda disponibiliza vários
SDK’s16, aonde eles são divididos pela versão do sistema e pelo o tipo de aparelho.
O iPhone OS é um sistema completamente desenvolvido pela APPLE, é
uma versão simplificada do MacOS, para que ele possa atender todas as
necessidades de um smartphone e também se adaptar aos hardwares dos mesmos,
o sistema ocupa cerca 300 MB de memória flash dos smartphones.
Nos primeiros Iphone a Apple, restringiu a criação de aplicativos para seu
produto, somente a própria e parceiros podiam criar para a Apple AppStore17. Na
versão Iphone 3G, foi lançado um SDK, que permite que qualquer programador crie
aplicativos, mas antes de ser disponibilizado na loja virtual, para que usuários
possuam utilizar, o aplicativo tem que passar por uma avaliação da Apple, para ver
se estão dentro dos padrões permitidos pela empresa. Para que usuários não
burlam, e instalem aplicativos que não estejam nos padrões permitidos, é utilizado
um sistema de DRM18 para assegurar todas as instalações feitas no aparelho, outra
forma que Apple achou para controlar seus aplicativos, foi não dá suporte em seu
sistema, tanto para o Flash lite quanto para o Java, pois os dois permitiriam rodar
aplicativos e jogos.
O Google Android é uma plataforma que vem revolucionando o mercado,
lançado pela empresa Google em 2008, junto com o grupo Open Handest Alliance
(OHA). A plataforma tem agradado muito seus usuários, pois possui fácil navegação
e grande diversidade de recursos. E é essa diversidade que realmente tem chamado
à atenção dos usuários, pois como o Android é uma plataforma de código livre, tem
atraído várias empresas e programadores independentes que estão criando uma
13 TCC – Trabalho de Conclusão de Curso14 SENAI – Serviço Nacional de Aprendizagem Industrial15 API – Application Programming Interface16 SDK – Software Development Kit17 APPLE APPSTORE – Serviço de Distribuição Digital de aplicativos, desenvolvida pela a Apple18 DRM – Digital Rights Management
26
variedade de aplicativos, e adaptando a plataforma de acordo com o hardware dos
seus dispositivos, assim a junção hardware Android tem proporcionado grandes
inovações em dispositivos moveis.
O Android tem como principal linguagem de programação, para criação
de aplicativos a linguagem Java, recentemente a Google lançou a linguagem Simple
que segundo Herbert Czymontek, engenheiro de software da empresa, que o
principal objetivo é “facilitar a compreensão e o uso da linguagem para o mundo
móvel e para a plataforma Android”, linguagem essa que também segundo o
profissional veio para atender “o apelo de programadores não profissionais”. Porém
a que realmente tem predominado a criação de aplicativos e a Java, pois o sistema
possui bibliotecas construídas pela Google especialmente para a programação
dessa linguagem.
27
2 ANDROID
É um sistema operacional desenvolvido para dispositivos móveis. O
Google atualmente é o responsável pela a gerência, sendo desenvolvido com a OHA
(Open Handset Alliance), e de acordo MORIMOTO:
Grande parte da estratégia em torno do Android é centrada no desenvolvimento de aplicativos por parte de outras empresas e programadores independentes. E que o Google entendeu que, assim como nos desktops, as plataformas de smartphones estão se consolidando e o mais importante passou a serem os aplicativos e não o hardware ou as funções básicas do sistema. Sendo a ultima empresa a entrar no mercado, o Google é quem mais esta investindo pesado nessa frente, montando grande equipe de desenvolvimento, investindo em contatos com fabricante e na divulgação do sistema e incentivando a participação externa. MORIMOTO (2008, p39).
O Android proporciona ao usuário facilidade de navegação e vários
recursos, agilidade e flexibilidade por parte do programador para o desenvolvimento
de novas aplicações. É um sistema operacional de código aberto, ou seja, seu
código fonte é disponível para os usuários, baseado na kernel19 Linux. Um diferencial
é a flexibilidade de rodar nos aparelhos de vários fabricantes. Segundo o site
Conectados o Android foi desenvolvido com 12 milhões de linha de código, 3
milhões em XML20, 2,8 milhões em c, 1,75 em c++ e 2,1 milhões em JAVA. Abaixo é
apresentado o logotipo do sistema Android.
Figura 6 – Logotipo do sistema Android
Fonte: TechTudo
19Kernel – Núcleo central de um sistema operacional20XML – Extensible Markup Language
28
De acordo o site Conectados esse sistema operacional possui Handset
layouts que é uma plataforma adaptada para dispositivos maiores ou menores como
os VGA21, contem propriedades gráficas 2D22 e 3D23 baseada na especificação
OpenGL Es24 que são gráficos tridimensionais projetados para sistemas embarcados
como celulares , vídeos games e PDAs. Em sua base de dados o armazenamento é
feita pelo SQLite. Ele se conecta com o mundo externo através de varias tecnologias
de conectividade como GSM/EDEGE25, IDEN26, CDMA27, EV-DO28, UMTS29, LTE30,
BLUETOOTH31, 3G, WI-FI32 E WIMAX33. O navegador do sistema é o WebKit e como
a maioria dos dispositivos moveis de telefonia possui suporte ao envio de
mensagem como SMS e MMS34, Touchscreen, câmera de vídeo e GPS e suporta
vários arquivos de áudio e vídeos como MPEG-435, H.26436, MP337 e AAC38.
Para a parte de criação de aplicativos a Google disponibilizou um SDK,
que atualmente está na versão 4.0, especialmente para a linguagem Java,
aplicativos criados nesta linguagem são compilados através da maquina virtual
Dalvik, que ainda neste capitulo será explicado como funciona essa compilação na
seção 2.2.4. Outra grande vantagem foi à criação do Android Market (explicações na
seção 2.3) para que programadores disponibilizem seus aplicativos na internet.
2.1 Open Handset Alliance – OHA
21 VGA – Vídeo Graphics Array22 2D – Duas Dimensões23 3D – Três Dimensões24 OpenGL Es – Open Graphics Library for Embedded System25 EDEGE – Enhanced Data rates for GSM Evolution26 IDEN – Integrated Digital Enhanced Network27 CDMA – Code Division Multiple Access28 EV-DO – Evolution-Data Optimized29 UMTS – Universal Mobile Telecommunications System30 LTE – Long Term Evolution31 BLUETOOTH – Protocolo de comunicação para dispositivos dentro de uma área de alcance32 WI-FI – Wirelles Fidelity33 WIMAX – Worlwide Interoperability for Microwave Access34 MMS – Multimedia Messaging Service35 MPEG-4 – Moving Picture Experts Group36 H.264 – Padrão de compressão de vídeo baseado no MPEG-437 MP3 – MPEG-1/2 Audio Layer 338 AAC – Advanced Audio Coding
29
De acordo com o site da própria Open Handset Alliance, afirma ser um
grupo de 80 empresas e tecnologias móveis que se uniram para acelerar a inovação
em móveis dos consumidores e oferecer uma experiência mais rica, menos
dispendiosa e mais móvel. Desenvolveu o Android, com grande colaboração da
empresa Google.
Entre os membros integrantes atuais podemos citar empresas como a
Sprint Nextel, Telefônica, Vodafone, Asus, Dell, HTC, Samsung e entre outras.
2.2 Arquitetura
Segundo TANENBAUM (2000) arquitetura é o conjunto de tipos de dados,
operações e características de cada nível. O Google referencia o Android como uma
pilha de software, na qual são várias funções especificas dividida em camada de
pilhas, sendo eles a camada de aplicação, a camada de Framework aplicação, a
camada de bibliotecas e Linux Kernel.
Figura 7 - Arquitetura Android
Fonte: ANDROID DEVELOPERS
30
2.2.1 Aplicações
O Android possui um conjunto de aplicativos embutidos no sistema, como
aplicativos de Contatos, Calendário, Mapas, Navegador, cliente de e-mail,
Mensagens e outros.
2.2.2 Framework aplicação
Esta camada da arquitetura facilita o desenvolvimento de aplicações para
a plataforma Android. Segundo o site Android Develop, os desenvolvedores têm
acesso total às APIs39 e foi projetada para simplificar a reutilização dos
componentes, qualquer aplicação pode publicar suas capacidades e qualquer outra
aplicação pode então fazer uso delas.
2.2.3 Bibliotecas
São bibliotecas C/C++ usadas por outros componentes do sistema
através do Framework aplicação. Por exemplo, SQLite para armazenamento de
dados, bibliotecas para suporte 2D e 3D, suporte a formatos de áudio e vídeo, entre
outros.
39 APIs – Application Programming Interface
31
2.2.4 Android Runtime
É a maquina virtual própria da Google, ela é uma otimização da máquina
JVM40 da linguagem Java, a máquina virtual Dalvik compila seus aplicativos, gerando
uma extensão .dex, que é nativa do SO Android, esse formato gera consumo
mínimo de memória. Cada aplicação e executada em seu próprio processo, assim a
maquina Dalvik consegue executar vários aplicativos simultaneamente.
A Dalvik utiliza funções do Linux Kernel, como gerenciamento de memória
a baixo nível, executa os aplicativos em baixa frequência, devido a pouca memória
disponível em dispositivos móveis e seu SO não permitir swap.
2.2.5 Linux kernel
Segundo o artigo Google Android OS publicado no site oficina da net por
Josué Fernandes, o Linux kernel é responsável:
Pela abstração entre o hardware e os aplicativos e responsável pelos principais serviços do sistema como gerenciamento de memória e de processos. Várias funções do kernel são utilizadas diretamente pelo Android, mas muitas modificações foram feitas para otimizar memória e tempo de processamento das aplicações. Essas alterações incluem device drivers novos, adições no sistema de gerenciamento de energia e um sistema que permite finalizar processos de maneira criteriosa quando há pouca memória disponível. (FERNANDES, 2010, p1).
As principais funcionalidades do Kernel que o Android utiliza é
gerenciamento de memória, segurança, gerenciamento de energia e drivers dos
hardwares.
40 JVM – Maquina Virtual Java
32
2.3 Android Market
Para facilitar na distribuição de aplicativos para a plataforma Android foi
criado o site Android Market, que pode ser acessado pelo endereço http://
market.android.com. E possui objetivo de:
Fornecer aos desenvolvedores de aplicativos um lugar comum para disponibilizar suas aplicações. Funciona como o site do Youtube: basta cadastrar e enviar seu aplicativo. O site também conta com o mesmo esquema de comentários e classificação que o Youtube contém. (LECHETA, 2010, p.26)
Existem aplicações pagas e gratuitas. Se o desenvolvedor deseja
disponibilizar sua aplicação no Android Market deve pagar um taxa de 25 dólares, de
acordo com artigo publicado no site Conectados são mais de 100 mil aplicações
disponibilizadas na App Store do Android.
33
3 USABILIDADE
De acordo com o livro usabilidade na web: criando portais mais acessíveis
(DIAS, 2007), a primeira norma que definiu a usabilidade foi a ISO/IEC 9126 (1991)
sobre qualidade de software, que considera a usabilidade como “um conjunto de
atributos de software relacionado ao esforço necessário para seu uso e para o
julgamento individual de tal uso por determinado conjunto de usuários”. Neste
mesmo ano em 1991 “foi fundada a Usability Professionals Association (UPA),
constituída por uma comunidade respeitável de profissionais, pesquisadores e
empresas com participação ativa em estudos e teste de usabilidade”, (DIAS, 2007).
De acordo com DIAS (2007) foi inserido na parte 1 da norma ISO/IEC
9126-1, as necessidades do usuário, ainda assim a ISO não abordava todas as
necessidade do usuário. Para definir e ou considerar o ponto de vista dos usuários e
as características ergonômicas do produto a ISO 9241-11, trata a usabilidade como
“a capacidade de um produto ser usado por usuários específicos para atingir
objetivos específicos com eficácia, eficiência e satisfação em um contexto específico
de uso”.
3.1 Principais autores
3.1.1 Jakob Nielsen
Considerado o “Rei da Usabilidade”, de acordo com o UserIt, do site do
próprio Jakob Nielsen, é Ph.D. em interação homem-computador, autor e editor de
12 livros e mais de 75 artigos sobre engenharia de usabilidade. Inventou métodos de
usabilidade diversos, incluindo avaliação heurística e possui 79 patentes dos
Estados Unidos.
34
Este trabalho tem como base as dez heurísticas de usabilidade criada por
ele, para construir recomendações para desenvolver uma aplicação no sistema
Android, que será mostrado no Capitulo 4.
3.1.2 Claudia Dias
De acordo com o livro Usabilidade na Web, Cláudia Dias trabalha no
Tribunal de Contas da União como auditora de sistemas, graduada em Engenharia
Elétrica pela Universidade de Brasília e mestre em Ciência da informação. Autora de
vários artigos em interação Homem-computador desenvolve pesquisa sobre
métodos de avaliação de usabilidade, padrões e políticas de acessibilidade na web.
3.1.3 Walter Cybis
Segundo o site Interfácil, Cybis é um doutor em Ergonomia pela
Universidade Federal de Santa Catarina, sendo professor de Engenharia de
Usabilidade desde 1994, tendo atuado em cursos de graduação, especialização e
pós-graduação oferecidos pela UFSC e pela École Polytechnique de Montréal no
Canadá. Sendo Fundador e coordenador cientifico do LabUtil(Laboratório de
Usabilidade da informática estabelecido com o Departamento de Informática e
Estatística da UFSC), durante 10 anos, neste período dirigiu diversas dissertações
de mestrados e teses de doutorado na área. Participou de inúmeros projetos de
pesquisas nacionais e internacionais, notadamente com pesquisadores do INRIA
(Institut National de Recherche em Informatique et en Automatique) e da
Universidade de Metz(França).
3.2 Conceito
35
“[..] A usabilidade é geralmente considerada como o fator que assegura
que os produtos são fáceis de usar, eficientes e agradáveis – da perspectiva do
usuário.” (PREECE, 2005, p.35).
Segundo DIAS (2007), “a usabilidade pode ser considerada uma
qualidade de uso”.
A usabilidade está ligada diretamente na interação do usuário com o
sistema, na qual o sistema deve apresentar ao usuário como um sistema simples, de
fácil compreensão. De uma maneira que usuários experientes e novatos, consigam
interagir sem dificuldades, com eficiência, eficácia e satisfação (DIAS, 2007).
Assim como aplicações para computador pessoal e sites, a usabilidade
também deve estar presente em programas para o Android. E devido a nova
maneira de interagir com o smartphone, no caso, o toque na tela com os dedos,
deve-se tomar cuidado para que os usuários consigam trabalhar com essas
aplicações moveis sem perder em qualidade.
De acordo com NIELSEN em Usability Engineering (1993) a usabilidade é
tradicionalmente associada a cinco atributos:
Capacidade de aprendizagem: O sistema deve ser fácil de aprender para que
o usuário possa rapidamente começar realizar trabalho com o sistema.
Eficiência: O sistema deve ser eficiente para usar, de modo que, uma vez que
o usuário aprenda a utilizá-lo ele o faça com alta produtividade.
Memorização: O sistema deve ser fácil de lembrar, de modo que o usuário
casual é capaz de retornar ao sistema após algum período sem utiliza-lo, sem
ter que aprender tudo de novo.
Erros: O sistema deve ter uma baixa taxa de erros.
Satisfação: O sistema deve ser agradável de usar, para que os usuários
sejam subjetivamente satisfeitos ao utilizá-lo.
É importante aplicar esses atributos ao desenvolver uma aplicação para
Android, garante que o programa seja bem aceito pelo usuário e tendo boa
produtividade nos trabalhos realizado com o sistema.
36
3.3 Medir usabilidade
“De modo a especificar ou medir usabilidade é necessário identificar os
objetivos e decompor eficácia, eficiência e satisfação e os componentes de uso em
subcomponentes com atributos mensuráveis e verificáveis” (ISO 9241-11,2002). A
figura 8 mostrar como a ISO 9241-11 estrutura a usabilidade.
Figura 8 - Estrutura da usabilidade
FONTE: ISO 9241-11
3.3.1 Conceitos da ISO 9241 de 2002
Contexto de uso: Usuários, tarefas, equipamentos (hardware, software e
materiais), e o ambiente físico e social no qual um produto é usado.
Usuário: Pessoa que interage com o produto
Tarefa: Conjunto de ações necessárias para alcançar um objetivo.
Objetivo: Resultado pretendido.
37
3.3.2 Contexto de uso
“[...] Qualquer alteração em um aspecto relevante do contexto de uso é capaz
de alterar a usabilidade de um sistema” (DIAS, 2007, p.29).
É relevante fazer as descrições de:
Usuários – “[...] Podem incluir conhecimento, habilidade, experiência,
educação, treinamento, atributos físicos e capacidades sensoriais e
motoras. [...] Definir as características de diferentes tipos de usuários,
por exemplo, usuários com diferentes níveis de experiência ou
desempenhando diferentes funções” (ISO 9241-11, 2002).
Tarefas – “Convém que sejam descritas as características das tarefas
que podem influenciar a usabilidade, p. ex. a frequência e a duração de
uma tarefa” (ISO 9241-11, 2002).
Equipamentos – “A descrição de hardware, software e dos materiais
associados com o computador podem ser um conjunto de produtos
[...]” (ISO 9241-11, 2002).
3.4 Medidas de usabilidade
3.4.1 Eficácia
Um sistema é medido como eficaz quando, proporciona ao usuário
produzir de forma rápida e certa de modo que os seus objetivos sejam alcançados,
atingindo os resultados com o mínimo de erros possíveis. Para DIAS um sistema
eficaz:
38
É a principal motivação que leva um usuário a utilizar um produto ou sistema. Se um sistema é fácil de usar, fácil de aprender e mesmo agradável, mas não consegue atingir objetivos específicos de usuários específicos, ele não será usado, mesmo que seja oferecido gratuitamente. (DIAS, 2007, p28).
Segundo a revista Linux magazine, edição 75, existe no mercado
aproximadamente 100 mil aplicações Android, ou seja, se uma aplicação não for
eficaz, fatalmente o usuário deixará de usá-la e trocará por outra onde consiga
realizar as tarefas que pretende.
A eficiência nas aplicações Android devem possuir operações bem
objetivas, para que o usuário consiga realiza-la, atendendo a usuários experientes e
novatos, para CYBIS um sistema eficiente é “A capacidade que os sistemas
conferem a diferentes tipos de usuários para alcançar seus objetivos em número e
com a qualidade ‘necessária.” (CYBIS, 2007, p.173).
3.4.2 Eficiência
A eficiência é medida através da quantidade de recursos disponíveis e o
tempo, que o usuário irá gastar na execução de uma determinada tarefa. E para
DIAS a eficiência é onde identifica quais as dificuldades que o usuário passa na
interação com o sistema para alcançar seu objetivo e os recursos gastos para atingi-
los. “Normalmente definida quantitativamente por tempo de resposta, tempo total
para realizar uma tarefa específica ou ainda quantidade de erros” (DIAS, 2007. p28).
Eficiência do usuário esta ligada a carga de trabalho enfrentada por ele no
sistema, e pela a quantidade de recursos (“(por exemplo, tempo, esforço físico e
cognitivo) que os sistemas solicitam aos usuários para a obtenção de seus objetivos
com o sistema.” (CYBIS, 2007, p.173)), que irá alcançar os seus resultados da
melhor forma possível.
Para que uma aplicação Android não perca em eficiência, não deve exigir
do usuário muitos passos e/ou efeitos que a plataforma disponibiliza como arrastar
algum componente na tela ou uso de multitouch, cujo é tocar na tela do smartphone
com mais de um dedo, para chegar a um objetivo.
39
3.4.3 Satisfação
A satisfação é medida pelos os resultados obtidos através de uma ação
realizada pelo o usuário e que ao termino desta, traz o devido contentamento, bem
estar diante da atividade desenvolvida e das suas percepções referente ao sistema,
e que de acordo DIAS a satisfação “refere-se percepções sentimentos e opiniões
dos usuários a respeito de um sistema, normalmente mapeados a partir de
questionamentos escritos ou orais feitos aos próprios usuários” (DIAS, 2007, p28).
Para CYBIS os esforços gasto diante de uma atividade e os resultados
obtidos de forma positiva, garante a satisfação do usuário que é obtida pela “A
emoção que os sistemas proporcionam aos usuários em face dos resultados obtidos
e dos recursos necessários para alcançar tais objetivos.” (CYBIS, 2007, p. 174).
Um aplicativo Android deve ser simples para que seja compreendido e
que proporcione ao usuário uma maior interação com a aplicação de modo à
melhora à produtividade e o tempo da atividade, e que essas características
impactará na aceitação da aplicação por parte de usuários experientes e novatos,
proporcionando-lhes a satisfação que “mede a extensão pela qual os usuários estão
livres de desconforto e suas atitudes em relação ao uso do produto” (ISO 9241-11).
40
4 APLICANDO USABILIDADE EM APLICAÇÕES ANDROID
No livro Usabilidade na web, DIAS (2007) subdivide os métodos de
avaliação de usabilidade em três categorias: métodos de inspeção, métodos de teste
com usuários e métodos baseados em modelos.
Neste capítulo utilizamos o método de inspeção, “inspeção baseada em
guias de recomendações e guias de estilos” para avaliar a usabilidade de uma
aplicação Android, baseado nas heurísticas de Nielsen.
DIAS de define guias de estilos como “publicações com descrições mais
detalhadas de elementos interativos específicos de um sistema, tais como menus,
janelas e caixa de entrada de dados” (DIAS, 2007, p.54), guia de recomendações
como “um documento publicado em livros, relatórios ou artigos, de caráter genérico
e público, com recomendações geradas e validadas a partir de observações
empíricas ou da experiência prática de seu autor” (DIAS, 2007, p.55).
A heurística pode ser definida como um conjunto de técnicas ou métodos
que são descobertos ao longo de experiências e aprendizagem adquirida pelo
especialista que domina uma determinada área, ou seja, ele irá criar regras de
acordo com os conhecimentos que aprendeu. Segundo DIAS, heurísticas pode ser
correspondente a recomendações. Exemplo, a descoberta de problemas na
navegação na web, como o usuário não saber onde clicar ou a necessidade de
manter atualizadas as informações contidas no site para que o usuário volte a visitá-
lo. Então heurísticas de usabilidade são recomendações criadas a serem seguidas
por qualquer desenvolvedor para tornar seu aplicativo de fácil uso e eficiente,
havendo assim uma interação maior entre o homem e a máquina.
41
4.1 Dez heurísticas(recomendações) de Nielsen
4.1.1 Visibilidade do estado atual do sistema
Quando falamos nesta heurística, falamos diretamente nas mensagens
que o sistema deve apresentar ao usuário, seja ela para uma confirmação,
informação ou algum erro que ocorreu no sistema, DIAS diz que “O sistema deve
sempre manter informados os usuários a respeito do que está acontecendo, por
meio de feedback apropriado em tempo razoável.” (DIAS, 2007).
Por exemplo, no sistema Android, os aplicativos podem ser executados
ao mesmo tempo, ou seja, ele é multitarefa, estes aplicativos podem enviar uma
mensagem de aviso, indicando o status do aplicativo, ou perguntando se você quer
continuar com o aplicativo executando, ou encerrá-lo.
O sistema deve prevenir erros informando ao usuário como deve ser feita
uma tarefa, qual a maneira correta de inserir dados, evitando que o usuário tenha
que digitar a informação novamente caso apresente algum dado incorreto, e por
parte do sistema, evita maior carga de processamento, NIELSEN fala que “O
feedback não deve esperar que uma situação de erro acontecesse [...]”, para que ele
seja mostrado ao usuário.
Outro levantamento importante que Nielsen coloca é, “Feedback
informativo também deve ser dado em caso de falha do sistema”. Estas informações
são de grande importância para a satisfação do usuário com o sistema, e devem ser
informadas, caso haja falha, logo no começo da interação do usuário com o sistema,
evitando que o usuário desperdice seu tempo e realize tarefas que provavelmente
não vão ser concretizadas, devido à falha.
42
4.1.1.1 Recomendações (Heurística): Feedback Informativo
Em aplicações Android, como já sabemos essa aplicação vai rodar em um
dispositivo móvel, ao aplicar esta heurística, a primeira informação que o
desenvolvedor deve obter, é saber em que tipo de dispositivo esse sistema será
executado, qual a dimensão da tela que ele possui. Para assim escolher qual o tipo
e tamanho da fonte deve ser usada, a cor mais visível para o usuário e o tamanho
da mensagem.
É extremamente importante aplicar o conceito de Nielsen, devido à carga
de processamento que temos nos dispositivos moveis atualmente, que são baixas, e
também trazer maior conforto para o usuário na interação com sistema,
principalmente nas áreas de inserções dos dados, pois às vezes se torna cansativo
a entrada de dados, devido ao tamanho das teclas para a interação, que geralmente
são pequenas. No preenchimento de um formulário deve-se deixar claro quanto ao
tipo de dado deve ser usado no campo de texto, por exemplo, somente pode receber
números, caso o usuário digite algum dado errado, o sistema não deve esperar que
o usuário insira essa informação por completa ou que todos outros campos do
formulário sejam preenchidos. A verificação das informações que o usuário esta
inserindo no sistema deve ser feita em tempo real, evitando assim um desgaste
maior por parte do usuário, ou seja, evitar que as validações dos dados sejam feita
somente quando o formulário for submetido. Evitando assim, que o usuário refaça
toda a operação, que pode ser lenta e desconfortável, fazendo com que o seu
sistema perca em performance, sendo menos eficiente e deixe o usuário insatisfeito.
Enquanto ao feedback de falha no sistema, é de grande importância
atender essa recomendação, se possível criar rotinas que detecta a falha, assim que
o usuário abrir o sistema, para evitar que usuário descubra a falha somente quando
terminar de realizar a tarefa.
43
4.1.2 Correlação entre o sistema e o mundo real
Essa heurística em uma aplicação Android, é aplicada da mesma maneira
que em aplicações desktop ou web. Deve-se observar qual o perfil dos usuários que
irão utilizar esse sistema, para que se escolha a linguagem mais adequada, levando
em conta que o sistema poder ser utilizado, tanto por usuários novatos, como por
experientes. DIAS fala que o sistema:
Deve falar a linguagem do usuário, com palavras, frases e conceitos familiares, ao invés de utilizar termos técnicos. As convenções do mundo real devem ser seguidas, fazendo com que as informações apareçam em uma ordem lógica e natural ao usuário. (DIAS, 2007).
Posicionamento, o tamanho e a cor que se vai usar em palavras ou
ícones, necessitam de uma atenção maior do programador, pois o sistema deve
mostrar com clareza ao usuário o que a informação ou ação, vai proporcionar ao
usuário, KRUG, diz que “o usuário não gosta de ler muitas informações, na qual
deve existir algo que o chame a atenção à primeira vista.”, para que o usuário tenha
a facilidade e agilidade, para interpretar e realizar a interação com sistema sem
nenhuma dificuldade.
4.1.2.1 Recomendações (Heurística): Linguagem simples e adequada
Na escolha de palavras ou frases para se utilizar no sistema, não se deve
usar termos técnicos do sistema e gírias populares, procurar utilizar palavras simples
e de fácil compreensão, para que o usuário consiga interagir com esse sistema sem
nenhuma dificuldade.
Devido ao tamanho reduzido das telas dos dispositivos moveis é
fundamental usar botões ao invés de frases ou palavras. Por exemplo, a operação
de “busca”, que por convenção usa-se a imagem de uma Lupa para substituir a
palavra, Nielsen diz que “[...] preocupações com a "linguagem" dos usuários não
44
deve ser limitada a palavras na interface, mas deve incluir elementos não verbais,
como ícones” (NIELSEN, 1993, p.123).
Na utilização de ícones para substituir palavras, é valido também
ressaltar, a importância na escolha dos mesmos, estes devem transparecer ao
usuário a sua ação, do mesmo jeito que uma palavra. Como já foi dito acima, existe
algumas convenções para auxiliar na escolha correta.
4.1.3 Controle e liberdade do usuário
Usuários gostam de ter a sensação de estar no controle e o sistema deve
proporcionar isso a ele, opções de cancelamento, desfazer ou outros mecanismos
para voltar a um estado anterior em caso de erro, deve estar sempre visível para o
auxilio de algum eventual problema. Com estas opções os usuários ficam mais
encorajados a usar o sistema, sabendo que há meios de desfazer algum eventual
erro, proporcionando o usuário a utilizar o sistema com uma maior satisfação. DIAS
fala que os “usuários costumam escolher, por engano, funções do sistema, e
precisam encontrar uma maneira de sair da situação ou estado indesejado, sem
maiores problemas. Deve ser possível ao usuário desfazer ou refazer operações.”
(DIAS, 2007).
4.1.3.1 Recomendações (Heurística): Controle e liberdade das ações do usuário
O usuário deve esta no controle nas ações, possibilitando-o a desfazer e
refazer operações, e para que ele tenha esta liberdade o sistema de proporcionar-
lhe confiança, e para que haja essa confiança devem-se aplicar métodos que são
nativos da própria plataforma Android, para o auxilio ao usuário, por exemplo,
quando é escolhida função errada, o usuário pode pressionar o botão voltar presente
nos aparelhos que utilizam esta plataforma, o método onDestroy(), quando é
45
chamado, o sistema operacional sabe que a activity41 deve ser destruída da pilha e
que a elimina completamente da memória e encerra o processo. Esta opção permite
aos usuários que saia do estado indesejado sem afetar a execução do programa.
A utilização do método onPause(), permite em caso ocorra algum evento,
como por exemplo receber uma chamada telefônica, esse método salva o estado da
aplicação para que o usuário não perca as informações, e se for desejável a
recuperação deste estado, pode ser chamado o método onResume() que representa
o estado da aplicação,fazendo com que a aplicação retorne a seu estado anterior
com todos o dados do usuário.
De acordo com LECHETA:
Ao desenvolver essas aplicações, temos que estar preparados para quando ações externas ocorrerem como, por exemplo, o usuário receber uma mensagem SMS ou uma ligação telefônica. Isso faz com que o sistema operacional do Android pare a activity atual, talvez colocando-a em segundo plano para atender a ligação. Quando a ligação terminar, temos que voltar e executar a aplicação de onde ele parou sem perder nenhuma informação. LECHETA (2009, p 101).
Esses métodos são utilizados nas aplicações Android durante a interação
com o usuário, e estão ligados a botões de cancelamento ou de desfazer, quando
bem implementados pela a equipe de desenvolvimento garantem o desempenho e a
integridade da execução, além disso, garantem o estado da aplicação.
4.1.4 Consistência e padrões
Consistência e padrões são um dos princípios básicos da usabilidade,
principalmente quando o sistema se depara com a interação de usuários novatos,
aonde são usuários, que não conhece as funcionalidades do sistema ou não tem
experiência com esse padrão de sistema, NIELSEN fala que “a mesma informação
deverá sempre ser apresentada no mesmo local em todas as telas e caixas de
diálogo e ela deve ser formatada na mesma forma para facilitar o reconhecimento”
(NIELSEN, 1993, p 229), uma consistência bem montada facilita o aprendizado do
usuário, pois sempre que quiser realizar determinada ação, vai saber o que é e
41 Activity – Responsável por controlar os estados e eventos de uma tela
46
como realizá-la, NIELSEN em uma de seus levantamentos, constatou que “em
vários estudos a consistência reduziu o tempo de treinamento entre 25-50%”
(NIELSEN, 1993).
A consistência é a parte da usabilidade que mede a regularidade do
sistema, seja ela uma interface gráfica ou mensagens de textos, o sistema precisa
ter padrões estabelecidos, como posições de botões, cores, fontes, entre outros,
Dias diz que “os usuários não devem ter que adivinhar que palavras, situações ou
ações diferentes significam a mesma coisa.” (DIAS, 2007).
Esses padrões devem ser rigorosamente obedecidos, quando bem
implementados, proporciona ao usuário maior satisfação, e autoconfiança na
interação com sistema.
4.1.4.1 Recomendações (Heurística) : Consistência e padrões
Em aplicações moveis, é importantíssima a criação de padrões,
especialmente na parte de interface gráfica, como, posições de botões, áreas textos,
tamanho do layout, entre outros. Como já sabemos, trabalhamos com telas
reduzidas dos dispositivos, com a criação de padrões o sistema tem maior
consistência, e consegue proporcionar ao usuário, uma interação de fácil
compreensão e memorável.
Nos dispositivos com sistema Android, por exemplo, a barra de pesquisa,
esta presente sempre no mesmo local, no topo da tela, na qual é padronizado com
um campo de texto e um ícone para pesquisar o conteúdo e com preenchimento
automático com sugestões. Pode ser utilizada tanto para acessar a internet ou fazer
busca na sua aplicação.
Outra questão importante, como o sistema tem que atender usuário
novato e experiente, na criação dos padrões deve-se preocupar com os mesmos.
Hoje a maioria dos dispositivos que temos no mercado é da tecnologia Touchscreen,
por isso às vezes o programador, foca sua aplicação atendendo apenas esses
47
requisitos desta tecnologia, e acaba esquecendo que o seu sistema pode se deparar
com um usuário novato, que ainda não tem o controle sobre essa tecnologia. Por
exemplo, em um visualizador de imagem, a maioria destes sistemas que temos
disponíveis atualmente, é possível avançar ou voltar para a uma imagem, apenas
deslizando o dedo sobre a tela, utilizado o efeito Carrossel como ilustrada a figura 9.
Para usuários experientes essa interação não trás nenhum transtorno, mas para
usuário novatos este sistema pode se tornar inviável. É importantíssimo a criações
de botões alternativos, como no caso do visualizador de imagem, para avançar para
a próxima imagem ou voltar a anterior. Criando este tipo de padrão, seu sistema
consegue obter o principal requisito da usabilidade, que é a satisfação do usuário.
NIELSEN ainda fala que “[...] software consistente simplesmente cumpre uma
demanda de mercado desde o cumprimento com as convenções de interface de
usuário [...]” (NIELSEN, 1993, p. 229).
1- Itens são organizados linear (a partir de um número de 1 a x número) ou em um
loop.
2- Focus (opcional) é trazida para a tela, destacando ou aumentar o tamanho do
item em foco.
48
3- O usuário pode percorrer os itens deslizando sobre a tela para a esquerda ou
para a direita. Os itens se mover na direção do dedo. Dependentes do
movimento do dedo, ou as configurações do carrossel, um ou mais itens se
movem através da tela. O carrossel pára de se mover novamente com um item
em foco. Todos os itens são sempre tappable
Figura 9 – Efeito carrossel
Fonte: Android Patterns
4.1.5 Prevenção de erros
A heurística de prevenção de erros trabalha junto com a de Visibilidade do
estado atual do sistema. Na de prevenção de erros, é onde se cria as regras, para
poder evitar o erro, é passado ao usuário através de uma mensagem, seja ela para
informação do estado atual do sistema, ou de confirmação se o usuário realmente
deseja realizar a tarefa. DIAS diz que “melhor do que boas mensagens de erro é um
projeto cuidadoso que previna, em primeiro lugar, a ocorrência de erros.” (DIAS,
2007).
Segundo NIELSEN, as informações para criar as regras de prevenção,
podem ser obtidas, através “de testes de usuários ou por registro
de erros à medida que ocorrem durante o uso do sistema”. Com esses dados
podemos projetar a aplicação de uma maneira que previna erros que o usuário
poderá causar, ao invés de somente tratá-los, assim a aplicação será mais eficiência
adquirindo uma satisfação maior do usuário.
4.1.5.1 Recomendações (Heurística) : Prevenção e Manipulação de erros
Preveni erros em inserções de dados, é fundamental para o sistema
adquirir a satisfação do usuário. Por exemplo, a inserção de dados em um campo
CPF, como todos sabemos é composto apenas por números, logo se torna mais
49
eficaz evitar que o usuário digite caracteres que não sejam numéricos, do que trata o
erro na hora da inserção no banco de dados, quando o erro é tratado apenas
quando e finalizado a inserção dos dados, o sistema se torna cansativo para o
usuário, pois o erro e mostrado apenas quanto e terminado a ação, fazendo com
que ele tenha que repetir todo o procedimento para chegar ao resultado desejado.
Outra boa forma de prevenir erros é com mensagens de confirmação,
porem pode se torna monótono, Nielsen fala que:
[...] que a resposta do usuário se torna automática. Se uma longa sequência de ações é realizada com tanta frequência que é experimentada como uma unidade, os usuários correm risco de fazer um "erro de captura" [Norman 1983], se precisar desviar-se da sequência: Porque eles estão tão acostumados a ir à frente de certa maneira, eles podem continuar e emitir o clique fatal no Botão OK antes mesmo de terem lido a mensagem de aviso. (NIELSEN, 1993, p.146)
Toda vez que o usuário é solicitado a soletrar alguma coisa, durante a busca
ocorre à possibilidade de erros ortográficos e que este tipo de busca pode ser
minimizado na utilização de menus pelo o sistema, e que cabe apenas ao usuário
selecionar a informação que deseja evitando tais erros, outra forma que podemos
utilizar na prevenção de erros é a utilização do case-sensitive42, na qual o usuário
poderá ter o controle de habilitar esta opção durante uma pesquisa, e que poder ser
acompanhada de outra opção a sugestion43, evitando que o usuário informe algum
dado inválido.
4.1.6 Reconhecimento ao invés de memorização
Objetos, ações e opções devem ser visíveis. O usuário não deve ser
obrigado a lembrar de informações ao passar de um diálogo a outro. As instruções
de uso do sistema devem estar visíveis ou facilmente acessíveis quando necessário.
(DIAS, 2007).
42 Case-sensitive - Termo em inglês que significa Sensível ao tamanho, sendo que este tamanho refere-se às letras maiúsculas e minúsculas.43 Sugestion – Termo em inglês que significa sugestão, à medida que se digita algo, é sugeridas palavras para o usuário.
50
Um elemento utilizado para reconhecimento é o ícone, que passa a ser
um meio de comunicação com o usuário, na qual ele pode expressar ideias ou
ações, usam-se convencionalmente ícones com imagem para simbolizar uma ação,
como de um disquete para salvar, uma seta circular para remeter atualizar, o ‘X’
para simbolizar ação de fechar. Como a tela dos diapositivos móveis são limitadas
pelo seu pequeno tamanho, os ícones podem representar informações baseadas em
texto que ocuparia mais espaço, tornado o visual mais agradável durante a
interação, sem a necessidade de longas leituras. Uma das qualidades da utilização
de ícones é o fácil conhecimento que ele proporciona aos usuários, NIELSEN fala
que “Em geral, as pessoas têm muito mais facilidade em reconhecer algo que seja
mostrado a eles que eles ter de recordar a mesma informação da memória sem
ajuda.” (NIELSEN, 1993, p.129).
Além de ícones, o reconhecimento pode ser apresentado ao usuário em
exemplos de inserção de dados, “Sempre que os usuários são solicitados a fornecer
dados, o sistema deve descrever o formato exigido e, se possível, dar o exemplo de
entrada legal e sensata, como um valor padrão.” (NIELSEN, 1993, p.130).
4.1.6.1 Recomendações (Heurística) : Facilitar a Aprendizagem
Uma interface organizada permite o usuário compreender, com mais
eficácia qual a funcionalidade de cada ação do sistema, uma interface deve
apresentar grupos e opções de menus definidos, apresentar campos de formulários
em sequência lógica, facilitando assim um melhor reconhecimento dos elementos
dispostos na tela para interação, para CYBIS uma interface concisa deve:
Apresentar títulos (telas, janelas e caixas de diálogos), rótulos (de
campos, de botões, de comandos) e denominações curtas;
Apresentar códigos arbitrários (nome de usuários, senha) curtos;
Fornecer valores default (para os campos de dados, listas, check
boxes) capazes de acelerar as entradas individuais;
51
Fornece o preenchimento automáticos de vírgulas, pontos decimais
e zeros à direita da vírgula nos campos de dados.
Os sistemas são implantados para facilitar a vida do usuário, atendendo
essas características descritas por CYBIS o sistema consegue obter uma satisfação
do usuário quanto à interação, facilitando o conhecimento e realização das tarefas
dentro do sistema, por exemplo, quando o sistema apresenta o valor default em um
campo de dados, para o usuário fica fácil identificar qual o tipo dados deve ser
inserido neste campo, permitindo com que o usuário apenas altere os dados
apresentado pelo sistema, evitando assim um erro na inserção.
Em relação ao uso de imagem ou ícone, para substituir uma palavra,
deve-se tomar muito cuidado na escolha dos mesmos, para que o usuário consiga
olhar e saber qual é a ação que ele realiza, procure sempre usar convenções do
mundo real para escolhê-los. Sempre que possível realize teste com usuários
comuns, para observar e obter um feedeback a respeito da interação, se ele está
conseguindo interpretar e reconhecer qual a ação que essa imagem ou ícone
realiza.
4.1.7 Flexibilidade e eficiência de uso
Quando se trata de uma aplicação para dispositivos moveis, aplicar essa
heurística não é uma tarefa fácil, pois diferentemente dos computadores pessoais,
os dispositivos moveis não possuem tantas teclas, para auxiliar na criação de
atalhos, porém apesar das dificuldades com os tipos dos dispositivos é essencial
oferecer alternativas auxiliares para o usuário navegar pelo sistema, DIAS fala que
“deve ser permitido ao usuário personalizar ou programar ações frequentes. Devem
ser implementado aceleradores para serem adotados por usuários experientes.”
(DIAS, 2007).
Os smartphones que utilizam o sistemas Android geralmente tem quatro
botões auxiliares, para facilitar a interação do usuário com o dispositivo, um
realizado como menu opções em qualquer parte do sistema, um que retorna a tela
52
inicial do sistema, similar a área de trabalho de sistemas operacionais para
computadores pessoais, outra para realizar rapidamente busca na web ou os
próprios contatos, e por último e bastante utilizado é o botão Voltar, sua ação é
similar ao botão Voltar dos navegadores de internet e que já foi explicado no item
4.1.3.1.
4.1.7.1 Recomendações (Heurística) : Eficiência dos Atalhos
A utilização de atalhos aumenta a produtividade e agilidade, por parte de
usuários experientes, ao criar atalho evita muitas vezes refazer uma tarefa, como
por exemplo, o usuário colocar atalhos do programa ou Widgets44 na área de
trabalho do Android, para executar o programa mais rapidamente, evitando, por
parte do usuário navegar até o local aonde se encontra o programa para ser
executado. O uso do menu possibilita os usuários se moverem por conteúdos
diferentes, ou os últimos conteúdos utilizados, como por exemplo, a utilização do
menu voltar, que faz um link com conteúdos anteriores, à medida que vai sendo
pressionado ele vai voltando ao ultimo conteúdo visitado. Em um estudo feito por
NIELSEN ele chegou à conclusão:
Em um sistema de linha de comando mostrou que 35% de todos os comandos eram idênticos a um dos cinco comandos anteriores e que 74% dos comandos haviam sido emitidos pelo o menos uma vez antes [Greenberg e Whitten 1983]. Assim, um simples menu das ultimas coisas que poucos o usuário tivesse feito, seria possível para o usuário a reedição de um grande numero de comando sem ter que reinseri-los. [NIELSEN, 1993, p141].
Um tipo de menu que pode ser usado no Android é o Windows Shade, e
que pode ficar abaixo da barra de status de acordo definido, oferecendo opções de
navegação para diferentes tipos de conteúdos, configurações, atalhos para
aplicativos, conforme indicado na imagem a seguir.
44 Widgets – É um componente de uma tela e que inclui janelas, botões, menus, ícones, barra de rolagem, etc.. Que ficam organizados na área de trabalho.
53
1- O controle do Window shade é aqui colocado na parte inferior da tela. São
geralmente uma barra horizontal, que pode ser reconhecido por uma pista
visual, aqui três linhas horizontais. Quando o usuário torneira e detém o
controle (ou em alguns casos, quando ele bate nela)
2- E arrasta a mão do controle (que ao tocar não é necessário), o window
Shade ligado a ele deliza para dentro da tela. O usuário pode deixar o
controle de ir a um determinado ponto. Dependendo da velocidade do
gesto arrastando e onde na tela o controle foi lançado, o window shade vai
deslizar de volta para a sua posição inicial...
3- Ou ele vai cobrir toda a visão, exibindo o conteúdo ou funcionalidade que
lhe é atribuído.
4- A sombra da janela pode ser fechada novamente, arrastando o controle do
window Shade de volta para baixo, pressionando o botão de, ou quando
ele foi aberto dessa forma, tocando na barra de controle.
Figura 10 – Window Shade
Fonte: Android Patterns
54
Outro exemplo de operações para aumentar a produtividade é o efeito Pinch
& Spread, como mostra a figura 11, que é utilizado de acordo com o site android
patterns “quando você quiser que os usuários possam ampliar o seu conteúdo
linearmente”.
Ainda de acordo com o site android patterns, esse efeito “permite ao
usuário ampliar um alvo específico, no entanto, o conteúdo da tela geralmente não é
adaptado ao nível de ampliação”.
55
1. Beliscar e espalhando gestos podem ser utilizados para, respectivamente
ampliar (zoom in) e diminuir (zoom out) um objeto. Pinch & espalhar trabalha
com conteúdo que pode ser ampliado em, como uma página web, imagem ou
mapa. O conteúdo geralmente é exibido em tela cheia.
2. Um usuário pode tocar a tela com dois dedos e espalhar os dedos para ampliar
um alvo específico. O nível de ampliação é stepless e depende de quão longe
os dedos estão espalhados.
3. Na maioria dos modelos de telefone o conteúdo da tela não está adaptado para
a ampliação (texto, por exemplo, não é enrolado) Uma exceção são os
modelos HTC, que fazem moldar o texto quando espalhou-zoom é utilizado.
4. Para diminuir o zoom, o usuário toca a tela com dois dedos e belisca-los juntos.
Novamente, o nível de ampliação é stepless, e dependente de quão perto os
dedos fique preso.
5. Conteúdo não pode ser visto menor que o tamanho original.
Figura 11 - Pinch & SpreadFonte: Android Patterns
O desenvolvedor deve ter o cuidado em não exigir que a operação de
zoom seja feita com frequência, pois torna a interação cansativa para o usuário.
Outro fator que tem que ser planejado é que para realizar alguns efeitos
de interação que o sistema Android disponibiliza são feitos com a utilização de mais
de um toque ao mesmo tempo na tela, o chamado mutitoque, ou seja, o usuário
usará dois ou mais dedos para efetuar alguma ação. O efeito mostrado acima Pinch
& Spread utiliza multitoque, pois são necessários dois dedos para realizar o zoom.
Opcionalmente deve ter um botão para realizar esse mesmo efeito de zoom, pois
existem no mercado muito aparelhos que não possuem suporte a multitoque.
4.1.8 Projeto estético e minimalista
A aplicação deve apresentar aos usuários informações pertinentes e
necessárias, com a preocupação do conteúdo, pois segundo KRUG deve ser
apresentado de forma que “Livre-se de metade das palavras de cada página e
56
depois da metade das que restam” (KRUG, 2010, p.45). De forma que omita
palavras desnecessárias, e que poderá reduzir o nível de confusão, destacar o
conteúdo útil, permitindo os usuários verem o conteúdo sem precisar utilizar a barra
de rolagem em um ambiente mais agradável.
Precauções com o tipo e a quantidade de informações que vão ser
passadas aos usuários devem ser tomadas, como a linguística, a quantidade de
informação que está sendo passada de uma única vez, NIELSEN fala que o “o ideal
é apresentar exatamente a informação que o usuário precisa e não mais,
exatamente no momento e lugar onde ela é necessária.” (NIELSEN, 1993, p.116).
4.1.8.1 Recomendações (Heurística) : Interfaces Minimalistas
Em projetos minimalistas, deve ser levada em conta a densidade
informacional, que segundo CYBIS, “diz respeito à carga de trabalho do usuário, de
um ponto de vista preceptivo e cognitivo, com relação ao conjunto total de itens de
informação apresentados, e não a cada elemento ou item individual” (CYBIS, 2008
p34). Para ele a performance do usuário pode ser afetada, e para que o usuário
tenha um bom desempenho, uma interface minimalista deve:
Apresentar somente os itens que estão relacionados à tarefa (o
restante deve ser removido da tela);
Não força o usuário transportar mentalmente dados de uma tela a
outra;
Não força os usuários a realizar procedimentos complicados, como
a transformação da unidade de medida;
Não colocar os usuários diante de tarefas cognitivas complexa,
como as de especificação de buscas avançadas.
A aplicação deve contemplar este elemento da densidade informacional para
minimizar a carga de trabalho dos usuários, proporcionado à utilização mensagens
curta e esclarecedora, na maioria das vezes se a mensagem for grande, causará um
57
desconforto no usuário, que poderá não lê-la completamente, não sabendo assim o
que sistema queria lhe informar. Escolher a linguística correta, para que o usuário
consiga interpretar, e saber o que o sistema está dizendo, é fundamental para obter
satisfação com o sistema.
4.1.9 Suporte aos usuários no reconhecimento, diagnóstico e recuperação de erros.
O sistema além de boas mensagens de erros precisa tratar esses erros,
porém, tratar os erros é de grande importância por parte do programador, pois para
o usuário o que é realmente interessante são boas mensagens de erros, pois essas
vão proporcionar ao usuário um entendimento do que esta acontecendo no sistema,
permitindo assim que ele saia deste estado indesejado sem dificuldade, DIAS fala
que para o usuário “as mensagens de erro devem ser expressas em linguagem
clara, sem códigos, indicando precisamente o problema e sugerindo soluções.”
(DIAS, 2007).
NIELSEN diz que situações de erro são críticos para a usabilidade, por
duas razões:
Primeiro elas representa situações onde usuário está em apuros e potencialmente, será incapaz de usar o sistema para alcançar a meta desejada, segundo eles apresentam oportunidades para ajudar a entender melhor o sistema [Frese ET al. 1991], pois o usuário é geralmente motivado a prestar atenção ao conteúdo de mensagens de erro. (NIELSEN, 1993, p 142).
Por isso, ao criar mensagens de erro, deve se preocupar, na escolha da
linguística, pois o usuário deve ser capaz de interpretá-la, sem auxilio de manual, ou
de um dicionário. Passando assim um grau de satisfação maior enquanto a
interação com o sistema, pois conseguirá assim solucionar problemas sem auxilio de
terceiros.
58
4.1.9.1 Recomendações (Heurística) : Qualidade das mensagens de erro
Precauções com termos técnicos devem ser tomadas, pois a utilização
dos mesmos facilita o entendimento e conhecimento do erro por parte do
programador, mas para o usuário pode se tornar confuso, fazendo com que não
consiga interpretar e chegar a uma solução para este problema.
A aplicação deve possuir elementos de reconhecimento, diagnostico e
recuperação de erros, e que a partir destes elementos é que CYBIS trata sobre
como tratar erros, que esta muitas vezes esta ligada a capacidade de compreensão,
experiência com o sistema por parte com o usuário e partindo deste elemento é que
CYBIS fala que “a qualidade das mensagens refere-se à pertinência, à legibilidade e
à exatidão da informação dada ao usuário sobre a natureza do erro cometido
(sintaxe, formato etc.), e sobre ações a serem executadas para corrigi-lo. A
qualidade das mensagens favorece o aprendizado do sistema. (CYBIS, 2008 p42)”.
No Android existem métodos de notificação para fazer essa interação
com o usuário, lhes apresentando o que deve ser feitos, e que baseado em CYBIS
uma boa mensagem de erro deve:
Indica ao usuário à razão ou a natureza do erro cometido, o que ele fez
de errado, o que deveria ter feito e o que deve fazer para sair da situação
de erro;
É orientada para tarefa, emprega termos específicos e é breve;
Tem um tom neutro, não reprovador ou humorístico.
Não basta apenas apresentar uma boa mensagem de erros, deve se
apresentar ao usuário alguma solução para a recuperação do erro, na qual segundo
CYBIS a correção de erros remete “aos meios colocados à disposição do usuário
com o objetivo de permitir a correção de seus erros.” (CYBIS, 2008 p42). E que a
interface deve fornecer meios na recuperação que:
59
Fornece funções desfazer e refazer;
Fornece a possibilidade de o usuário refazer apenas a parte errada de
uma entrada (indicando o dado errado em formulário, mantendo todos
os outros intactos);
Fornece ligação direta entre o relatório de erro e o local onde ele se
produz.
4.1.10 Informações de ajuda e documentação
Quando falamos de ajuda e documentação, estamos falando diretamente
com a criação de manuais, para auxiliar os usuários na interação com o sistema,
esses podem ser tanto online, ou escrito, NIELSEN diz que a criações de ajuda e
documentação é importante, pois “usuários regulares de um sistema pode querer
documentação, para adquirir níveis mais altos de especialização” (NIELSEN, 1993 p
149).
A criação dessas ajudas e documentação é importantíssima para que se
possa obter grau de satisfação alto por parte do usuário, pois todas as vezes que
sentirem dificuldades para interagir com o sistema poderá recorrer a essas
ferramentas para solucioná-los, NIELSEN lembra que “mesmo assim, com a
existência de ajuda e documentação não reduz os requisitos de usabilidade para
própria interface” (NIELSEN, 1993, p149), ou seja, são ferramentas apenas para
auxiliar os usuários na interação com sistema, a aplicação de todas as heurísticas
que foram vistas acima, é importantíssima para o sistema obter eficácia, eficiência e
satisfação.
4.1.10.1 Recomendações (Heurística) : Fornecer Ajuda
Segundo Nielsen a qualidade dos textos de ajuda é muito mais importante
do que os mecanismos pelos quais os textos são acessados.
60
Uma documentação impressa para a plataforma Android talvez não seja
uma boa escolha, por se tratar de uma plataforma móvel, essa mobilidade podia
dificultar que o manual de ajuda esteja sempre disponível para os usuários. Uma
alternativa é uma criação de uma documentação on-line, pois assim a qualquer
momento o usuário poderá consultá-lo.
Para aumentar a produtividade do usuário, pode-se criar um ícone de
ajuda em cada tela que o usuário está interagindo naquele momento. Sendo que
aquele guia de ajuda somente conterá descrições claras das operações da tela
atual. Assim caso o usuário tenha alguma dúvida ou dificuldade de executar alguma
operação naquele momento, não precisará acessar a internet ou perder tempo
fazendo uma busca em um manual completo.
61
5 APLICAÇÃO
Apresentamos o desenvolvimento de um software baseado nos requisitos
da Superintendência Federal de Agricultura, Pecuária e Abastecimento em Goiás
que tem o objetivo de controlar a entrada e saída de pessoas que não sejam
funcionários do órgão público.
As principais operações do software são o cadastro do visitante, entrada
do visitante e saída do visitante, como mostra a figura 12.
Figura 12 – Principais operações do software
Fonte: Própria
O cadastro do visitante é o preenchimento de dados pessoais e
opcionalmente a foto do visitante. Entrada visitante é registrar a data/horário que o
visitante entrou no local, para que seja feita a entrada do visitante o visitante
primeiramente já deve possuir um cadastro no software. E o saída visitante registra
a data/horário de saída do visitante do local.
62
Outras operações são relatório onde é gerado um relatório em formato
PDF; Backup, a copia das informações presentes no software para o cartão de
memória do dispositivo; Deletar ou alterar os dados pessoais dos visitantes; e uma
documentação de ajuda que auxilia o usuário a trabalhar com o software.
5.1 As 10 heurísticas de Nielsen no software de controle de acesso
Nas figuras apresentadas abaixo indicaremos as dez heurísticas de Jacob
Nielsen no software de controle de acesso. Essa indicação será feita de forma
numérica presente na própria figura.
5.1.1 Tela principal
Figura 13 - Tela Principal
Fonte: Própria
63
1) Heurística (Recomendações) visibilidade do estado atual do sistema – Na
barra de tarefa do software o usuário sempre será informado a tela que ele está
utilizando, atendendo sempre um principio básico da heurística que é sempre
manter o usuário informado.
2) Heurística (Recomendações) reconhecimento ao invés de memorização –
Em aplicações moveis o ícone é um grande meio de comunicação com o
usuário, a clareza de sua ação sempre deve ser levada em conta na hora da
escolha dos mesmos, por exemplo, os ícones do software de entrada e saída
mostra ação de uma pessoa entrando e saindo por uma porta, transmite com
clareza a ação do botão, que é efetuar entrada e saída do visitante.
3) Heurística (Recomendações) flexibilidade e eficiência de uso – Essa opção
visitantes presentes funciona como um atalho do menu saída. Como a ação de
realizar uma saída é uma parte menos burocrática do sistema e necessita de
velocidade, a implementação desse atalho foi com base nesses requisitos,
atendendo assim também os princípios desta heurística que é evitar um
desgaste do usuário na interação com o sistema, assim toda vez que usuário
quiser efetuar uma saída, não precisa ir ate o menu saída, basta clicar na ação
visitantes presentes que será mostrado todos os visitantes que estão presente
no prédio.
64
5.1.2 Tela principal com menu de opções
Figura 14 - Tela principal com menu de opções
Fonte: Própria
1) Heurística (Recomendações) flexibilidade e eficiência de uso – Além do
menu principal do sistema, o usuário pode clicar no botão menu dos aparelhos
com sistema Android, o sistema apresentará um menu de opções , esse menu é
diferente de acordo com cada tela, trazendo opções de navegações entre as
funções do software, proporcionando assim uma flexibilidade na interação com o
sistema, dependendo da ação que o usuário for realizar, não precisara voltar ao
menu principal para realizá-la.
65
5.1.3 Tela atalho visitantes presentes
Figura 15 - Tela Visitantes Presentes
Fonte: Própria
1) Heurística (Recomendações) projeto estético e minimalista - Esta tela
contempla uns dos princípios desta heurística que são as informações
pertinentes a ser apresentada ao usuário, ou seja, efetuar a saída do visitante.
Nesta tela os resultados dos visitantes presentes são carregados
automaticamente, na qual não força o usuário a fazer um busca para saber os
visitantes presentes.
66
5.1.4 Tela Cadastrar
Figura 16 - Tela Cadastrar
Fonte: Própria
1) Heurística (recomendações) correlação entre o sistema e o mundo real –
botões com imagem devem transmitir ao usuário com clareza qual é a sua ação,
como já foi falado na explicação da heurística, na escolha dos mesmos deve se
seguir convenções do mundo real para facilitar a interação, como a imagem de
uma câmera fotográfica deste botão, que transmite bem a ação de tirar uma foto.
2) Heurística (Recomendações) prevenção de erros – prevenir erros é essencial
para obter satisfação com o sistema, evita que o usuário tenha um desgaste com
o sistema, por isso sempre que possível o sistema deve mostrar como deve ser
realizado suas tarefas, como no campo de texto mostrado na tela acima, que
vem com um exemplo de como deve ser informado o CPF do visitante.
67
3) Heurística (Recomendações) consistência e padrões - A posição de botões,
cores, fontes, mensagem de texto devem obedecer a um padrão, esta tela
possui elementos que estão presentes em outras telas do aplicativo, oferecendo
a mesma ação a de retornar a tela principal (casa), de ajuda (interrogação), com
os textos nas mesmas posições com o mesmo padrão de fonte e de cor,
facilitando a interação e proporcionando uma maior satisfação, para atender a
usuários novatos e experientes.
5.1.5 Tela saída
Figura 17 - Tela Saída
Fonte: Própria
1) Heurística (Recomendações) controle e liberdade do usuário – O
sistema precisa passar ao usuário que ele está no controle, que ele tem
poder sobre o sistema, por isso opções como alterar, excluir e opções de
68
confirmações devem ser implementadas no sistema, como mostra na
figura acima, o usuário tem o controle de realizar a saída do visitante.
5.1.6 Tela cadastrar, erro CPF
Figura 18 - Tela cadastrar erro CPF
Fonte: Própria
1) Heurística (Recomendações) Suporte aos usuários no reconhecimento,
diagnóstico e recuperação de erros – prevenir erro e dá suporte ao usuário
para entender e recuperar o erro, é uma das principais heurística que um
software deve atender, pois gera um conforto para o usuário com o sistema,
pois ocorrendo o erro de interação o software irá informar com clareza o erro
69
para que possa ser corrigido . Na tela acima mostra um erro de cadastro de
um CPF, dando suporte para o usuário entender o erro e evitar que duplique
o visitante no sistema.
5.1.6 Tela Ajuda
Figura 19 - Tela Ajuda
Fonte: Própria
1) Heurística (Recomendações) informações de ajuda e documentação –
por se tratar de uma aplicação móvel a criação apenas de um manual
impresso se torna inviável, por isso opções de ajuda devem ser criadas no
próprio sistema, ou até mesmo um menu ajuda pode ser criado, como e
70
mostrado na figura acima, essa ajuda funciona como um mini manual pois
trata todas as ações realizadas pelo sistema.
71
CONCLUSÃO
Para que algum software seja bem sucedido, é fundamental planejar a
usabilidade desse software. Usabilidade pode ser aplicada em qualquer ambiente,
sendo assim, mostramos que as dez heurísticas de usabilidade criadas por Jakob
Nielsen, inicialmente concebidas para ambiente web, podem ser aplicadas em
outras tecnologias, no caso, aplicação para dispositivos móveis usando sistema
Android.
Por se tratar de uma tecnologia recente no mercado e em constante
evolução, tivemos algumas dificuldades para obter resultados. Depararmos com
uma tecnologia até então desconhecida para nós, onde o software seria executado
em um dispositivo móvel. Há pouca quantidade de referência bibliográfica para
pesquisa, e sendo a maior das dificuldades, a não existência sobre o assunto
usabilidade nas aplicações móveis atuais.
A partir de experiência prática de cada heurística de usabilidade de
Nielsen, foi possível elaborarmos recomendações de usabilidade específicas para
aplicações em Android, contendo informações que facilitarão a inclusão de
usabilidade no desenvolvimento do software.
Recomendações essas que trazem benefícios ao aplica-las como um
software mais atraente para o cliente, sendo mais intuitivos e eficientes. Diminuem o
tempo de treinamento deste software, porque serão de fácil compreensão nas ações
realizada no sistema. Que a plataforma Android não seja um obstáculo para o
desenvolvimento de novas aplicações corporativas. Possuir qualidade e atualmente
onde o mercado de aplicativos para Android cresce, aumentar a competitividade,
garantindo uma maior probabilidade de obter sucesso.
Com a aplicação das dez heurísticas de usabilidade no software de
controle de acesso de pessoas, que foi baseado nos requisitos da Superintendência
federal de Agricultura, Pecuária e Abastecimento em Goiás, conseguimos que as
tarefas feitas pelo software sejam produtivas e com uma boa interação entre o
usuário e o dispositivo móvel, atingindo assim o objetivo proposto e um bom método
de garantir usabilidade em aplicações para sistema Android.
72
REFERÊNCIAS
COBRA, Hugo Augusto Aguiar; GARCIA, Eduardo Isaías Estulano; OLIVEIRA, Diego
Victor de; RIBEIRO, Rosan Pinto. Smartphones.
CYBIS, Walter; BETIOL, Adriana Holtz; FAUST, Richard. Ergonomia e Usabilidade:
conhecimentos, métodos e aplicações. São Paulo : Novatec Editora, 2007. 344 p.
DIAS, Claudia. Usabilidade na Web: criando portais mais acessíveis. 2. ed. Rio de
Janeiro: Alta Books, 2007. 296 p.
KRUG, Steve. Não me faça pensar: uma abordagem de bom senso à usabilidade
na Web. Tradução: Acauan Pereira Fernandes. 2.ed. Rio de Janeiro: Alta Books,
2010. 201 p.
LECHETA, R. Ricardo. Google Android: aprenda a criar aplicações para
dispositivos móveis com o Android SDK. 2. ed, ver. e amp. São Paulo: Novatec
Editora, 2010. 608 p.
NIELSEN, Jakob. Usability engineering. 1. ed. San Francisco: Morgan Kaufmann,
1993. 340 p.
TANENBAUM, Andrew S. Sistemas operacionais: projetos e implementações. 2. ed.
Porto Alegre: Bookman, 2000.
About Jakob Nielsen. Disponível em: <http://www.useit.com/jakob/>. Acesso em:
25 Ago. 2011.
ANDRÉ CARDOZO. Tablet: que bicho é esse? Disponível em :
<http://tecnologia.ig.com.br/noticia/2010/01/14/
tablet+que+bicho+e+esse+9295069.html>. Acesso em: 12 abr. 2011.
73
Android breve conceito. Disponivel em:
<http://oficinadosnerds.blogspot.com/2011/02/android-breve-conceito.html>. Acesso
em: 16 abr. 2011.
ANDROID DEVELOPERS. Disponível em:
<http://developer.android.com/guide/basics/what-is-android.html>. Acesso em: 19
abr. 2011.
Android patterns, carrossel. Disponível em:
<http://www.androidpatterns.com/uap_pattern/carousel>. Acesso em: 28 abr. 2011.
Android patterns, pinch and spread. Disponível em:
<http://www.androidpatterns.com/uap_pattern/pinch-spread>. Acesso em: 28 abr.
2011.
Android patterns, window shade. Disponível em:
<http://www.androidpatterns.com/uap_pattern/window-shade>. Acesso em: 28 abr.
2011.
Conectados. Disponível em: <http://conectadosti.blogspot.com/2011/02/o-que-e-
android.html>. Acesso em: 16 abr. 2011.
DANIELA MOREIRA, IDGNOW. Velocidade da 3G decepciona usuários.
Disponível em: <http://idgnow.uol.com.br/telecom/2008/04/10/velocidade-da-3g-
decepciona-usuarios/>. Acesso em: 12 abr. 2011.
INTOMOBILE. Disponível em: <http://www.intomobile.com/2011/07/21/check-out-
touchscreens-work-infographic/>. Acesso em: 24 Ago. 2011.
ITECHNEWS. Disponível em: <http://www.itechnews.net/2010/09/03/samsung-
galaxy-tab-tablet-officially-announced-videos/>. Acesso em: 14 Abr. 2011.
74
JONATHAN STRICKLAND. Traduzido por HowStuffWorks Brasil. Como tudo
funciona. Disponível em: <http://informatica.hsw.uol.com.br/google-phone2.htm>.
Acesso em: 19 abr. 2011.
MORIMOTO, Carlos. SmartPhones, Guia Pratico. Disponível em :
<http://www.hardware.com.br/livros/smartphones/android.html>. Acesso em: 19 abr.
2011.
OFICINA DA NET. Google Android OS. Disponível em:
<http://www.oficinadanet.com.br/artigo/outros_sistemas/google_android_os/1>.
Acesso em: 26 abr. 2011.
OLX. Disponível em: <http://ribeiraopreto.olx.com.br/bateria-de-li-ion-3-7v-900mah-p-
samsung-slb-0837b-bl090-trev-2651-iid-90689456>. Acesso em: 14 abr. 2011.
Open handset alliance - OHA. Disponível em:
<http://www.openhandsetalliance.com/oha_overview.html>. Acesso em: 14 abr.
2011.
PHONEARENA. Disponível em: http//www.phonearena.com/news/Article-
Touchscreen-tecnologies-in-phones_id3067/page/2>. Acesso em: 25 Ago. 2011.
Pixel & Matter. Disponível em: <http://www.pixelandmatter.com/2009/11/24/the-
zack-morris-phone/>. Acesso em: 15 abr. 2011.
RENÊ FRAGA.Techtudo. A cultura da opção, a cultura da plataforma Android.
Disponível em: <http://www.techtudo.com.br/platb/google/2011/02/08/a-cultura-da-
opcao-a-cultura-da-plataforma-android/>. Acesso em: 16 abr. 2011.
Smartphone o telefone inteligente. Disponível em:
<http://www.ancorador.com.br/informatica/celular/smartphone-%E2%80%93-o-
telefone-inteligente>. Acesso em: 12 abr. 2011.
75
Tecnologia 3G. Disponível em:
<http://www.tecnologia3g.com.br/site/pt/page/evolucao.asp>. Acesso em: 12 abr.
2011.
TELECO. Bandas de Freqüências para o Celular no Brasil. Disponível em:
<http://www.teleco.com.br/Bandac.asp>. Acesso em: 15 abr. 2011.
TELECO. Estatísticas de Celulares no Brasil. Disponível em:
<http://www.teleco.com.br/ncel.asp>. Acesso em: 11 abr. 2011.
TELECO. Evolução Anual do Número de Terminais Celulares. Disponível em:
<http://www.teleco.com.br/ncel_hist.asp>. Acesso em: 15 abr. 2011.
TELECO. Mercado mundial de smartphones e sistemas operacionais movem.
Disponível em: <http://www.teleco.com.br/smartphone.asp>. Acesso em: 13 abr.
2011.
Usabilidade de Telefones Celulares com Base em Critérios Ergonômicos.
Disponível em:
<http://www2.dbd.pucrio.br/pergamum/tesesabertas/0310214_05_Indice.html>.
Acesso em: 11 abr. 2011.
Walter de Abreu Cybis. Disponível em: <http://www.interfacilbr.com.br/equipe.php>.
Acesso em: 30 Ago. 2011.
76
ANEXOS
Anexo 1:
Celulares em Mar/11
Mar/10 2010 Fev/11 Mar/11
Celulares 179.109.801 202.944.033 207.566.212 210.509.562
Pré-pago 82,48% 82,34% 82,23% 82,18%
Densidade 93,01 104,68 106,91 108,34
Crescimento Mês2.338.763 5.410.047 2.415.235 2.943.350
1,3% 2,7% 1,2% 1,4%
Crescimento Ano5.150.433 28.984.665 4.622.179 7.565.529
3,0% 16,7% 2,3% 3,7%
Crescimento em 1 ano25.436.662 28.984.665 30.795.174 31.399.761
16,6% 16,7% 17,42% 17,53%
Nota: celulares ativos na operadora. Densidade calculada com a projeção de população do IBGE (Rev. 2008) para o mês respectivo.
77
Anexo 2:
Evolução Anual do Número de Terminais Celulares
Ano Total Banda A Banda B Banda D Banda E
2010 202.944.033 * * * *
2009 173.959.368 * * * *
2008 150.641.403 * * * *
2007 120.980.103 44.443.667 35.478.117 28.330.142 12.728.177
2006 99.918.621 38.816.343 28.782.806 22.944.342 9.375.130
2005 86.210.336 37.564.683 25.063.576 17.845.172 5.736.905
2004 65.605.577 32.741.992 19.145.011 11.304.627 2.413.947
2003 46.373.266 26.448.765 13.501.057 5.673.703 749.741
2002 34.880.964 22.181.473 11.006.736 1.609.102 83.653
2001 28.745.769 19.277.861 9.467.908 - -
2000 23.188.171 15.652.880 7.535.291 - -
1999 15.032.698 10.756.771 4.275.927 - -
1998 7.368.218 6.099.553 1.268.665 - -
1997 4.550.175 4.534.491 15.684 - -
1996 2.744.549 2.744.549 - - -
1995 1.416.500 1.416.500 - - -
1994 755.224 755.224 - - -
1993 191.402 191.402 - - -
1992 31.726 31.726 - - -
1991 6.700 6.700 - - -
1990 667 667 - - -
*A partir de outubro de 2008 a Anatel parou de disponibilizar a quantidade de celulares por banda.