A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Interfaces com Usuário - UI Porque interfaces são importantes? Baseado nos trabalhos de Andries Van Dam.

Cópias: 1
Interfaces com Usuário Baseado nos trabalhos de Andries Van Dam.

Apresentações semelhantes


Apresentação em tema: "Interfaces com Usuário - UI Porque interfaces são importantes? Baseado nos trabalhos de Andries Van Dam."— Transcrição da apresentação:

1 Interfaces com Usuário - UI Porque interfaces são importantes? Baseado nos trabalhos de Andries Van Dam

2 Não apenas para computadores!

3 Percepção é a chave!

4 Tipos de Interface WIMP – Windows, icons, menus e point and click. Non-WIMP – baseadas em reconhecimento de gestos de mouse ou caneta, ou reconhecimento de fala.

5 Manipulação direta Um padrão da indústria que é o coração das interfaces WIMP. Provê metáforas visuais para os comandos, como o famigerado drag-and-drop.

6 Vantagens Novatos aprendem a usar o sistema relativamente rápido. Menor tempo para aprender os comandos. Visualmente atrativa e agradável de usar. Fácil de memorizar os comandos.

7 Desvantagens Alguns comandos são esquisitos ou impossíveis. Como apagar todos os arquivos de um disco? Consome mais recursos computacionais. Deficientes visuais ou desabilitados terão muita dificuldade para operar o sistema. Difícil de projetar símbolos adequados. Dependem do contexto e do passado cultural.

8 Razão do projeto de interfaces Uma interface com o usuário é um diálogo entre o usuário e o computador. É a chave para a produtividade. Provê sistemas usáveis, úteis e eficientes para as pessoas.

9 Projeto centrado no usuário Projete para o usuário, não para o hardware. Atualmente, a interface é mais importante do que uma avalanche de funcionalidades. Regra do 90/10 10% das funcionalidades são usadas 90% do tempo. Pense num manual de DVD ou vídeo cassete...

10 Objetivos de alto nível Faça simples as coisas fáceis e torne possível as complicadas. Otimize os fatores humanos e ergométricos. Crie interfaces confortáveis e convidativas, bem como atraentes. Maximize a velocidade de aprendizado. Incluindo a transição de novato para especialista. Maximize a velocidade e facilidade de uso.

11 Objetivos de alto nível Minimize a taxa de erro. Permita um rápido reaprendizado. Uma interface WIMP não necessariamente maximiza a velocidade e facilita o uso. Normalmente, mouse é mais lento do que atalhos de teclado. Causam RSI (repetitive stress injuries – lesões por esforço repetitivo). Evite erros e proveja a recuperação dos mesmos. Undo e redo.

12 Histórico de UI 1963: Ivan Sutherland criou a pedra fundamental dos sistemas gráficos, o Sketchpad. Grande quantidade de botões, teclas, pan e zoom. 1968: Engelbart demonstrou o NLS/documento aumentado hypermedia na conferência Fall Joint. Tiled windows, mouse, teclado e interface por linha de comando.

13 Histórico 1970: Engelbart patenteia o mouse.

14 Histórico 1973: Xerox cria o Alto, a primeira estação de trabalho pessoal. Baseada em um monitor raster bit-map, mouse comercial, ethernet e arquitetura cliente-servidor. Primeiro editor WYSIWYG, Smalltalk, interface WIMP, incluindo gerenciadores de janela e browsers.

15 Smalltalk-80

16 Histórico 1981: Xerox introduz o sistema de informação Star, com janelas sobrepostas.

17 Histórico 1984: Apple lança o Mac, o primeiro computador comercial com desktop gráfico. Fortemente influenciado pelo Alto e o Star. Janelas sobrepostas, pulldown menus, icons e toolbars, manipulação de arquivos via drag-and- drop. 1985: Microsoft Windows, uma imitação do Mac com poucos melhoramentos, para a linha IBM-PC.

18 Algumas vezes UI pode ser uma questão de vida ou morte Queda na Colômbia do primeiro Boeing 757 em 1995, devido a uma ambigüidade no comando digitado.

19 Características do projeto de UI Colaborativo. Iterativo. Multi-disciplinar.

20 Profissionais envolvidos Engenheiros de hardware. Engenheiros de fatores humanos. Projetistas gráficos. Lingüistas. Psicólogos perceptuais. Cientistas da cognição. Engenheiros de software. Sociólogos e antropólogos. Projetistas de UI.

21 Projeto de UI é difícil O código da interface pode chegar a 70-80% da aplicação. É a razão do sucesso ou falha da aplicação. Criar uma boa UI é mais difícil do que meramente engenharia de software. Requer mais habilidades do que apenas o conhecimento de engenharia de software.

22 Etapas da Metodologia de Projeto Conceitual. Semântico. Diálogo. Sintático. Léxico. Gráfico. Documentação.

23 Fatos Aqueles que acham que UI não é importante não entendem o processo/metodologia de projeto. Atualmente, as companhias são muito exigentes quanto a quem projeta suas interfaces. UI define o produto!!

24 O que está sendo projetado? Duas linguagens que se entrelaçam: Usuário(s) -> computador -> usuário(s). Um protocolo de comunicação. Incluindo tempo (clique duplo!) Interfaces Non-WIMP podem possuir vários canais operando em paralelo. Reconhecimento de voz e gestos. Chamada de interação multi-modal.

25 Objetivos Principais Conheça os objetivos dos seus usuários. Defina as tarefas baseado no grau de experiência do usuário. Ajude o usuário a aprender o sistema. Lidamos com fatores humanos. Não deixe o seu ego se interpor ao problema. O usuário normalmente está certo. Obter e aceitar críticas ao projeto é difícil.

26 Objetivos Várias medidas de eficiência são subjetivas e difíceis de decifrar. Ajude sempre o usuário a aprender. Em produtos comerciais, a interface pode custar tanto quanto o resto do sistema.

27 Nunca projete interfaces assim

28 Exemplo de um projeto gráfico confuso

29 Essa interface é boa?

30 Essa interface é intuitiva?

31 Ferramentas para criar interfaces O processo de projeto e implementação de um interface é complexo e trabalhoso. Ambientes RAD (Rapid Application Development) / IDE (Integrated Development Environment) fornecem um conjunto integrado de ferramentas para construir aplicações. Visam aumentar a produtividade do programador, principalmente para aplicações simples.

32 Características Tipicamente, oferecem compiladores, debuggers, testadores, editores de janela, construtores de interface e editores de texto. Tradicionalmente criados para plataforma Windows, e.g., Microsoft Visual Studio (C++, C#, Basic,.Net) ou Borland (Delphi, C++ Builder), estão aparecendo cada vez mais em Linux (Lazarus, Klix3, KDevelop e Gambas).Visual StudioBorlandDelphiC++ Builder

33 Histórico do Delphi Delphi é uma linguagem de alto nível, estruturada e orientada a objetos. Baseada em Object Pascal. Pascal sofreu uma forte influência de Algol. Criada por Niklaus Wirth, em 1971, foi implementada pela primeira vez em O Turbo pascal, da Borland, surge em Introduz o conceito de IDE, que permite editar o programa, compilar, ver os erros e ir diretamente para as linhas erradas. Uma das linguagens mais bem sucedidas de todos os tempos.

34 Histórico Em 1995, a Borland revive o Pascal desenvolvendo um RAD, chamado Delphi. Torna o Pascal uma linguagem visual. A decisão estratégica foi tornar ferramentas de banco de dados e de conectividade uma parte central do produto. Se você quer falar com o Oráculo, vá a Delphi.

35 Versões 1995 – 2002 : Delphi Fevereiro de 1999 – Lazarus Uma biblioteca de classes para o Free Pascal que emula o Delphi. FPC é um compilador GPL que roda em Linux, Win32, OS/2, 68K, e mais... Projetado para entender e compilar a sintaxe do Delphi. Lazarus é a parte gráfica que permite escrever programas similares aos do Delphi.

36 Widgets Gráficos Widgets são as partes de uma GUI (graphical user interface) que permitem aos usuário interagir com a aplicação e o sistema operacional. Exibem informação e convidam o usuário a agir de diversas formas. Incluem botões, caixas de diálogo, pop-up windows, pull-down menus, icons, scroll bars, janelas com arestas que podem ser esticadas, indicadores de progresso, caixas de seleção, janelas, tear-off menus, menu bars, toggle switches e formulários.

37 Widgets Gráficos Qual o conjunto de widgets para o GUI do Lazarus? Projetado para ser independente, pode ser qualquer coisa: GTK+, QT, Win32. Basta ligar, ou na pior das hipóteses, escrever código para o novo conjunto. Quando chegar a versão 1.0, será possível escrever as unidades para ligar o Lazarus a qualquer conjunto de widgets.

38 Banco de Dados Lazarus possui componentes para os principais bancos de dados do Linux: MySQL, PostgreSQL, SQLite, Firebird. Ainda há problemas com alguns destes componentes, mais é uma mera questão de tempo solucioná-los.

39 Objetivos do Curso Desenvolver a capacidade de programação usando o Lazarus como plataforma de desenvolvimento. Aplicações com interfaces simples, criadas a partir de componentes e widgets. Aplicações com banco de dados MySQL e Firebird.


Carregar ppt "Interfaces com Usuário - UI Porque interfaces são importantes? Baseado nos trabalhos de Andries Van Dam."

Apresentações semelhantes


Anúncios Google