Livro IAI – Introdução ao HTML

Resumo: Páginas 18-23

Introdução:

Quando se trata de criar páginas da web, a organização e a apresentação de informações desempenham um papel fundamental. As listas em HTML são uma ferramenta essencial para estruturar o conteúdo de forma clara e hierárquica. Elas permitem que os desenvolvedores organizem dados, instruções, tópicos e muito mais, tornando a experiência de leitura mais amigável para os visitantes do site.

Criar uma lista de itens ordenada ou não ordenada no HTML - DEV Community

Existem dois tipos principais de listas em HTML: listas não-numeradas e listas numeradas. As listas não-numeradas são usadas quando a ordem dos itens não é relevante, enquanto as listas numeradas são ideais para representar informações em uma ordem específica.

Nesta exploração mais profunda, abordaremos como criar e personalizar listas em HTML, incluindo a aninhamento de listas, tipos de numeração, listas numeradas mistas e o uso de caracteres especiais para garantir que os símbolos especiais sejam renderizados corretamente no contexto da página da web.

A compreensão desses conceitos é fundamental para qualquer desenvolvedor web, uma vez que as listas desempenham um papel crucial na estruturação de conteúdo e na criação de interfaces de usuário intuitivas. Vamos explorar cada um desses tópicos com mais detalhes para que você possa tirar o máximo proveito das capacidades de formatação em HTML.

Listas em HTML: Estrutura Hierárquica de Conteúdo

Quando se trata de estruturar informações em uma página da web, as listas desempenham um papel crucial. Elas permitem organizar informações de forma clara e hierárquica. No HTML, existem dois principais tipos de listas: listas não-numeradas e listas numeradas.

jQuery [AULA 3] – Seletores: Compostos, filtros básicos e conteúdo |  Desenvolvimento Web Prático!

Listas Não-Numeradas com Vários Níveis

As listas não-numeradas são usadas quando a ordem dos itens não é relevante. No entanto, às vezes, é necessário criar uma estrutura hierárquica, onde você tem itens principais e itens secundários. Para fazer isso, você pode aninhar listas uma dentro da outra. Vamos aprofundar isso com um exemplo mais complexo:

Neste exemplo, você tem uma lista não-numerada que contém dois itens principais. Cada item principal é, por sua vez, uma lista não-numerada aninhada contendo subitens. Isso cria uma estrutura clara e organizada, frequentemente usada em menus de navegação e conteúdo de sites.

Listas Numeradas

As listas numeradas são usadas quando você precisa representar informações em uma ordem específica, como uma sequência de etapas em um tutorial. O HTML fornece várias opções para tipos de numeração, como números árabes, letras maiúsculas e minúsculas e números romanos. Vamos explorar cada um deles:

Números Árabes (Padrão)

Neste caso, a lista numerada usa números árabes como padrão, começando com “1”.

Letras Minúsculas

Aqui, utilizamos letras minúsculas como tipo de numeração.

Letras Maiúsculas

O tipo “A” representa letras maiúsculas na lista numerada.

Números Romanos Minúsculos

Este exemplo usa números romanos minúsculos como tipo de numeração.

Números Romanos Maiúsculos

O tipo “I” representa números romanos maiúsculos.

Listas Numeradas com Início Personalizado

Além de escolher o tipo de numeração, você pode definir o valor inicial da numeração. Por exemplo, se você deseja começar a lista numerada a partir do número 5:

Isso é útil quando você deseja iniciar a enumeração em um número específico, em vez de 1.

Listas Numeradas Mistas

Você pode criar listas numeradas com diferentes tipos interligados, criando hierarquias mais complexas. Isso é útil em casos onde você precisa de níveis de enumeração diferentes. Um exemplo disso pode ser uma lista de capítulos, cada um com subitens numerados:

Essa técnica é útil para criar documentos estruturados, como manuais ou livros online.

Utilização de Caracteres Especiais

No HTML, caracteres especiais ou entidades são usados quando você precisa representar caracteres que não podem ser digitados diretamente no teclado ou têm significados especiais em HTML. Eles sempre começam com “&” e terminam com “;”. Alguns exemplos comuns incluem:

  • “<” para “<” (menor que).
  • “>” para “>” (maior que).
  • “&” para “&” (e comercial).
  • “©” para o símbolo de direitos autorais (©).

Ao usar entidades, você garante que o navegador interprete esses caracteres como texto em vez de comandos HTML.

Conclusão: A Importância das Listas em HTML

As listas em HTML são uma das estruturas fundamentais que permitem aos desenvolvedores da web organizar e apresentar informações de maneira lógica, clara e hierárquica. Elas desempenham um papel vital na usabilidade, acessibilidade e estética de um site. Vamos explorar mais a fundo a importância das listas em várias áreas.

  1. Usabilidade e Legibilidade:Ao utilizar listas, os desenvolvedores podem simplificar a experiência do usuário. Listas numeradas podem ser usadas para criar sequências lógicas, como tutoriais passo a passo, simplificando a compreensão do conteúdo. Listas não-numeradas ajudam a agrupar informações relacionadas, tornando o texto mais legível e fácil de escanear.
  2. Acessibilidade:As listas em HTML desempenham um papel fundamental na criação de sites acessíveis. Leitores de tela usados por pessoas com deficiências visuais podem interpretar listas corretamente, fornecendo uma navegação mais eficaz e compreensão do conteúdo. Isso faz com que o conteúdo da web seja inclusivo e acessível a todos.
  3. Estrutura Hierárquica:Listas aninhadas permitem a criação de estruturas hierárquicas complexas. Isso é crucial para representar informações de forma organizada, como em um índice de livro, onde capítulos, seções e subseções são claramente delineados. Essa estrutura hierárquica melhora a compreensão do conteúdo.
  4. Variedade de Estilos:Listas numeradas podem ser personalizadas de várias maneiras. Além dos tipos de numeração padrão (números árabes, letras, números romanos), você pode definir valores iniciais e estilizar a apresentação para se adequar ao design do seu site. Isso oferece flexibilidade na criação de listas únicas e atraentes.
  5. Caracteres Especiais e Entidades:Além das listas, as entidades HTML desempenham um papel fundamental na apresentação de caracteres especiais. Ao usar entidades como “<“, “>” e “©”, os desenvolvedores garantem que esses caracteres sejam exibidos corretamente e não confundam o navegador, evitando a interpretação incorreta como comandos HTML.
  6. Melhoria na Organização de Conteúdo:A organização eficaz de informações é crucial para qualquer site. As listas oferecem uma estrutura clara que ajuda os visitantes a navegar e absorver o conteúdo de maneira eficaz. Ao criar listas de conteúdo, você está facilitando a vida dos leitores, permitindo que eles localizem informações importantes rapidamente.

Em resumo, as listas em HTML são uma ferramenta essencial para todos os desenvolvedores web. Elas desempenham um papel vital na estruturação do conteúdo, tornando-o mais compreensível, acessível e atraente. O entendimento desses conceitos é crucial para criar sites de alta qualidade, independentemente de serem simples blogs ou páginas de aplicativos complexos. Aprofundar o conhecimento sobre o uso de listas e entidades HTML é um passo importante para melhorar a qualidade geral do conteúdo da web.

3º resumo do livro .

                                              35 á 44       

Esse problema é muito mais grave do que aparenta; o tipo de erro que pode surgir é de difícil interpretação.

O menor dos problemas seria ter o comportamento da versão antiga do Hibernate.

 Mais grave é quando há métodos novos no JAR mais recente; a interface Session do Hibernate antigo seria carregada, e quando sua aplicação APP-nova invocar um método que só existe na versão nova, NoSuchMethod Error será lançado! Isso causa uma enorme dor de cabeça, pois o desenvolvedor fica confuso ao ver que o código compilou perfeitamente, mas durante a execução a JVM indica que aquele método não existe.

NoSuchMethodError é um forte indicador de que o código foi compilado esperando uma versão diferente de uma biblioteca que a encontrada em tempo de execução, provavelmente por causa de os jars estarem espalhados e compartilhados.

O comportamento da aplicação pode ser mais errático; imagine que a aplicação APP-nova utiliza diretamente uma classe do Hibernate que só existe na versão mais nova, como a TypeResolver. Carregamento de classes e classloader hell Casa do Código Essa confusão é similar ao DLL Hell, frequentemente chamado de Classloader hell na plataforma Java.

Em algumas configurações de classloaders diferentes, que carregam classes de diretórios em comum, pode aparecer um ClassCastException curioso e de difícil discernimento.

Se uma referência a um objeto do tipo Produto for passada como argumento para um método que recebe um objeto também deste tipo, mas esta classe tiver sido carregada por um classloader diferente, a exceção será lançada.

O desenvolvedor ficará confuso ao ver uma ClassCastException em uma invocação de método em que nem mesmo há um casting. Isso acontece porque, como vimos, em tempo de execução a identidade de uma classe não é apenas seu fully qualified name, mas também o classloader que a carregou.

Assim, uma classe com mesmo nome, mas carregada por classloaders diferentes, é outra. Isto é chamado de runtime identity e muito importante para permitir que containers tenham mais de uma versão da mesma classe na memória (como o exemplo das Sessions de diferentes versões do Hibernate.

A arquitetura tradicional dificulta que uma aplicação sobrescreva algum componente do Container classloader, mas esse modelo invertido (padrão no Tomcat, por exemplo) permite esse cenário.

 A ordem de resolução das classes passa a ser: primeiro o Bootstrap, depois as classes da aplicação e depois as compartilhadas do Container.

Criando seu ClassLoader Podemos instanciar a URLClassLoader para carregar classes a partir de um conjunto dado de URLs.

 Isto indica que seu parent classloader será o bootstrap diretamente.

Elas serão carregadas em ambos os casos pelo bootstrap classloader (representado pelo null), pois não há como evitar que esse classloader seja consultado em razão da questão de segurança já discutida.

 Ao remover o null do construtor, o URLClassLoader terá como parent o classloader que carregou o código sendo executado (o Application classloader), fazendo com que o carregamento da classe seja delegado para este, antes de ser tentado pelo nosso URLClassLoader.

Carregamento de classes e classloader hell Casa do Código O parent classloader será sempre consultado antes de o classloader de hierarquia “mais baixa” tentar carregar uma determinada classe.

 Lembre-se de que este é o motivo pelo qual jogar os JARs na variável de ambiente CLASSPATH pode acabar escondendo versões diferentes da mesma classe que estejam ao alcance de classloaders mais “baixos” na hierarquia.

Caso elas fossem incluídas dentro da biblioteca padrão, qualquer outro projeto que necessitasse delas em uma versão diferente (tanto mais atual quanto mais antiga) teria sempre a versão do rt.jar Para contornar o problema, a Sun colocou as classes que seriam do pacote org.apache para dentro de com.sun.org.apache.

Sem dúvida uma maneira deselegante, mas que evitou o problema de versionamento.

Este problema tornou-se ainda mais frequente.

 Nesses dois casos, para contornar o problema, utilizamos o recurso de endorsed JARs.

 Através da linha de comando (-Djava.endorsed.dirs), você especifica diretórios que devem ter prioridade na procura de classes antes que o diretório ext do Java SE seja consultado.

É uma forma de o administrador do sistema dizer que confia em (endossa) determinados JARs. Alguns servidores de aplicação possuem um diretório especial onde você pode jogar os JARs a serem endossados.

É comum aparecerem problemas com OutOfMemoryError, acusando que este espaço se esgotou, dado um número muito grande de classes carregadas.

 Em particular, isso ocorre facilmente depois de alguns hot deploys em um container.

 Toda classe carregada tem uma referência para o seu classloader, assim como todo classloader referencia todas as classes carregadas por ele.

 Isso para que possa devolver sempre a mesma classe no caso de outra invocação subsequente para o mesmo full qualified name, agindo como uma factory que cacheia suas instanciações. Esse relacionamento bidirecional entre Class e ClassLoader faz com que os objetos Class só sejam coletados pelo garbage collector junto com o classloader inteiro e todas as outras classes associadas.

Logo, a única maneira de um objeto Class ser coletado é se todas as referências para todas as classes do seu classloader forem liberadas também.

 Ao realizar o hot deploy de uma aplicação, o próprio container libera as referências das classes antigas, possibilitando a coleta do classloader do contexto.

Isso deveria ser suficiente para que o contexto fosse inteiramente liberado da memória, mas, na prática, outro classloader acima daquele da WebApplication segura referências para classes da aplicação.

O carregamento de um único driver JDBC é capaz de segurar na memória o contexto inteiro de uma aplicação que não é mais necessária.

 Na prática, é quase impossível uma aplicação Java conseguir evitar esses leaks de classloaders, por isso em algum momento surgem os OutOfMemoryError frequentes nos hot deploys, sendo mais um motivo para evitá-los em produção.

Todo o paradigma da orientação a objetos, seus princípios e boas práticas procuram trazer esses benefícios para o design.

 Ao pensar no sistema como um todo, outras questões de mais alto nível surgem, em especial aquelas que tratam da forma como os objetos se relacionam e sua organização dentro e entre sistemas.

Ao relacionar dois objetos distintos, deve-se levar em conta as boas práticas que serão discutidas nesse capítulo, como a diminuição do acoplamento entre objetos.

 Programe voltado à interface, não à implementação ao trabalhar com coleções, escolher a implementação certa para cada caso é uma tarefa difícil.

Cada uma delas, como ArrayList, LinkedList ou HashSet, é melhor 3.1. Programe voltado à interface, não à implementação Casa do Código para resolver determinas categorias de problemas.

 Pode ser muito arriscado escrever todo o código da aplicação dependente de uma decisão antecipada.

 Apesar disso, grande parte dos desenvolvedores opta por sempre utilizar ArrayList desde o início sem critério algum.

O problema em realizar uma mudança como esta, de implementação, é que todo código que usava o retorno do método como ArrayList quebra, mesmo que só usássemos métodos que também existem definidos em HashSet.

Seria preciso alterar todos os lugares que dependem de alguma forma desse método.

Mas sempre há também informações semânticas implícitas na utilização desse método, e que não são expostos através da assinatura.

Um exemplo de acoplamento semântico está em depender da informação de que uma List permite dados duplicados, enquanto um Set garante unicidade dos elementos.

Como problemas no acoplamento sintático são encontrados em tempo de compilação, os semânticos somente o são em execução, daí um motivo da importância de testes que garantam o comportamento esperado.

 Desta forma, alterar a implementação torna-se sempre muito mais custoso, caracterizando o alto acoplamento que tanto se procura evitar.

 Para minimizar esse problema, é possível usar um tipo de retorno de método mais genérico, que contemple diversas implementações possíveis, fazendo com que os usuários do método não dependam em nada de uma implementação específica.

Usar interfaces Java é um grande benefício nestes casos, pois ajuda a garantir que nenhum código dependa de uma implementação específica, pois interfaces não carregam nenhum detalhe de implementação.

A escolha da interface ideal vai depender do que você quer permitir que o código invocador possa utilizar e realizar na referência retornada.

Programe voltado à interface, não à implementação Casa do Código de elementos que essa coleção possui, nem os elementos de maneira aleatória através de um índice.

 Devemos procurar um balanço entre o desacoplamento e a necessidade do nosso código.

 Esta é a ideia do Princípio de Segregação de Interfaces: clientes não devem ser forçados a depender de interfaces que não usam.

Uma implementação de lista, MeuProprioArrayList, feita pelo desenvolvedor é provavelmente mais instável que a interface List, já que as forças que a impedem de mudar são fracas (não há outras classes utilizando essa implementação).

Resumo 2

Jeniffer Batalha

06/11/23

Neste trecho, o autor descreve a importância do evento liderado por Doug Engelbart, no qual ele fez uma demonstração de 30 minutos que revelou o conceito de “espaço-informação” pela primeira vez. A plateia era comparada a uma convenção de “Jornada nas Estrelas” ou a uma exposição kitsch de detetives particulares e especialistas em segurança. O autor sugere que, embora o cenário fosse improvável, esse evento é comparável em importância histórica aos experimentos de Benjamin Franklin e Alexander Graham Bell.

O autor explora a ideia de espaço-informação, que existia como uma ideia há milênios, mas que a demonstração de Engelbart tornou tangível. Ele menciona como a memória visual é mais duradoura do que a memória textual e como a técnica do “palácio de memória” foi usada na retórica por muitos anos.

O texto também destaca a importância da interface entre humanos e computadores, descrevendo como os computadores digitais são máquinas simbólicas que dependem de metáforas visuais para representar informações de uma forma compreensível para os seres humanos. A popularização da interface gráfica do usuário (GUI) teve um papel fundamental na revolução digital.

Em resumo, o texto discute a influência de Doug Engelbart na conceção do espaço-informação e na importância das interfaces visuais na interação entre humanos e computadores na era digital.

Título: La iteración persona-ordenador

Página 56-101

Resumo

Capítulo 1: Introdução à interação humano-computador

A interface, no contexto da Interação Humano-Computador, é o ponto de contato entre os seres humanos e os computadores por meio do qual são trocadas informações, ordens e sensações. Pode ser considerada uma superfície de contato que reflete as propriedades físicas, as funções a serem desempenhadas, o equilíbrio de poder e controle dos usuários. Também pode se tornar uma barreira se for mal projetado ou não atender aos detalhes que devem ser executados.

  1. A disciplina

    A disciplina de Interação Humano-Computador (IPO), também conhecida como Interação Humano-Computador (HCI) ou Interação Computador-Humano (CHI) e é fundamental para o sucesso de aplicações interativas, pois é o ponto de contato entre humanos e computadores. Apesar de sua importância, recebe pouca atenção no mundo dos estudos universitários de Ciência da Computação.

    1.1 Definição

A ACM (Association for Computer Machinery) possui um grupo especializado em IPO conhecido como SIGCHI (Special Interest Group in Computer Human Interaction) que o define como uma disciplina relacionada ao projeto, avaliação e implementação de sistemas computacionais interativos para humanos e fenômenos associados.

O IPO, como já mencionamos, tem como foco a interação dos usuários, que podem ser individuais ou grupos e computadores. Portanto, definir objetivos é uma das principais preocupações.

2. História do IPO

A Interação Humano-Computador (IPO) se desenvolve em um contexto social e organizacional diversificado, e requer diferentes tipos de aplicações para diversos fins, considerando temas como: trabalho em grupo, integração de mídias e impacto da tecnologia no trabalho e na vida em sociedade. Surgiu como uma disciplina interdisciplinar envolvendo: computação gráfica, sistemas operacionais, fatores humanos, ergonomia, psicologia cognitiva e ciência da computação.

A pesquisa de IPO tem sido frutífera ao longo dos anos, influenciando o desenvolvimento tecnológico, um exemplo pode ser o Microsoft Windows 2000. Além disso, o crescimento da World Wide Web se deve aos avanços desta disciplina.

As mudanças mais significativas que pudemos contemplar são:Manipulação direta de objetos gráficos

O mouse: inventado por Douglas Engelbart. Outros tipos de dispositivos semelhantes são: canetas ópticas, tablets digitalizadores ou mesmo telas sensíveis ao toque.

  • Manipulação direta de objetos gráficos
  • As janelas
  • Programas de desenho e pintura
  • Edição e processamento de texto
  • Planilha
  • Hipertexto

3. Metas do IPO

Os objetivos fundamentais são desenvolver ou melhorar a segurança, a utilidade, a eficácia, a eficiência e a usabilidade que incluem os computadores; Não se limita apenas à parte de hardware ou software, mas também a todo o ambiente em que operam. Para isso, os seguintes pontos são essenciais:

  • Compreender os factores, envolvendo a compreensão dos aspectos psicológicos, ergonómicos, organizacionais e sociais que influenciam a forma como as pessoas trabalham e utilizam os computadores.
  • Desenvolver ferramentas e técnicas: com a criação de técnicas e ferramentas que ajudem a adaptar os sistemas informáticos de acordo com as atividades.
  • Obtenha interação eficiente e segura tanto em nível individual quanto em grupo.

É muito importante ter em mente que devem ser projetados para se adaptar às necessidades e exigências dos usuários.

4. A interface do usuário

Pode-se dizer que a interface é a superfície de contacto entre duas entidades, ou seja, entre a pessoa e o computador, sendo importante para a eficiência e eficácia do sistema. Da mesma forma, reflete as propriedades físicas das entidades que interagem e deve ser visível e intuitivamente compreensível para os usuários, sendo este princípio conhecido como affordance e o nível cognitivo dos usuários para compreender o protocolo de interação e responder aos sinais da interface.

As interfaces não se limitam mais às telas e teclados tradicionais, elas já estão em diversas formas do nosso dia a dia, como os telefones celulares. Portanto, é muito importante ter uma visão ampla dos tipos de interfaces que podemos encontrar em diferentes contextos e dispositivos.

5. A interdisciplinaridade do IPO


Para projetar interfaces é necessário levar em consideração diferentes disciplinas como as que consideraremos no diagrama a seguir:

A seguir, explicaremos cada um deles com mais detalhes:

  • Psicologia: é importante porque fornece insights sobre como as pessoas se comportam, processam informações e agem em grupos. Além disso, oferece metodologias e ferramentas para avaliar e melhorar a satisfação dos usuários com os designs de interfaces e assim garantir sua eficácia.
  • Projeto: é uma disciplina fundamental para criar programas úteis e eficazes, pois atualmente buscamos melhorar o ambiente físico do ser humano
  • Etnografia-Sociologia: utilizada para compreender os usuários e assim poder melhorar.
  • Ergonomia ou fatores humanos, foca em alguns fatores como: organização dos controles, as informações mais importantes devem estar localizadas na altura dos olhos, o ambiente físico da interação, aspectos de saúde e uso de cores
  • Programação: É essencial dizer ao computador o que fazer e como fazer. Neste caso, os programadores desenham soluções para problemas e escrevem programas de computador que devem funcionar corretamente, ter boa documentação e ser eficientes. Alguns tipos são:
    • Programação Orientada a Objetos(OOP): baseado em conceitos de classes que são coleções de dados e métodos e objetos que são instâncias de classes. Exemplo: C++, Java.
    • Programação Imperativa: Baseia-se em comandos que utilizam variáveis ​​no armazenamento e é orientado à arquitetura do computador. Exemplo: PASCAL-ADA
    • Trabalhos de programaçãol: os dados neste caso são funções e os resultados podem ser valores ou funções. Neste caso, os programas são funções ou um grupo de funções e as relações entre eles são simples. Exemplo: LISP, ML, ESPERANÇA.
    • Programação Declarativa: baseado no conhecimento da relação e focado na forma humana de pensar em vez do computador. Possui vantagens como clareza, elegância e transparência referencial. Exemplo: PROLOG, HASKEL, MODULA-2
    • Programação Simultânea: campo em desenvolvimento que se concentra na execução simultânea de inúmeras tarefas
  • Inteligência artificial: concentra-se na criação de programas de computador que imitam aspectos do comportamento humano inteligente.
  • Engenharia de software: É muito importante em sistemas interativos, pois estuda técnicas de design e desenvolvimento de software. Exemplo: ADA.

6. Usabilidade

Os sistemas interativos devem ser utilizáveis ​​e acessíveis para atender aos objetivos decorrentes do uso de computadores pela população.

O termo usabilidade refere-se a se um produto pode ser utilizado por usuários específicos para atingir objetivos com eficácia, eficiência e satisfação. Para tanto, foram estabelecidos princípios de design para reduzir custos de produção, manutenção e utilização, além de melhorar a qualidade do produto.

A Interface do Usuário (UI) serve como conexão entre o usuário e as funcionalidades do sistema, se a interface for mal projetada pode ser um problema na utilização de suas funcionalidades.

Apesar da importância, continuam críticas como a crença de que os usuários precisam de melhor treinamento, a consideração disso é algo subjetivo e impossível de mensurar, e o equívoco de que o design de interface está implícito no desenvolvimento de software, portanto não precisa ser planejado ou avaliado.

Os princípios gerais são:

  • Facilidade de aprendizagem: envolve minimizar o tempo necessário para passar do desconhecimento da aplicação até a sua utilização, auxiliando os usuários intermediários e garantindo que o sistema possa ser sintetizado.
    • Consistência: um factor importante, pois implica que todos os mecanismos sejam utilizados da mesma forma sempre que possível, mantendo um “look & feel” comum e evitando alterações desnecessárias.
    • Flexibilidade: refere-se à utilização de múltiplas formas pelas quais o usuário e o sistema trocam informações, permitindo:
      • Dê controle ao usuário
      • Permitir migração de tarefas
      • Capacidades de substituição
      • Adaptabilidade
    • Robustez: relacionado à capacidade do sistema de atingir objetivos e aconselhar o usuário
  • Recuperabilidade: refere-se à facilidade com que o usuário pode corrigir erros uma vez reconhecidos.
    • Tempo de resposta, ou seja, o tempo que o sistema precisa para expressar as alterações feitas pelo usuário.
    • Adaptação de tarefas, ou seja, o grau em que os serviços do sistema suportam todas as tarefas que o usuário deseja realizar e a forma de compreendê-las.
    • Carga cognitiva diminuída, os usuários devem confiar mais no reconhecimento do que nas memórias e também não precisam lembrar abreviações ou códigos complexos.

7. Design centrado no usuário

O projeto de sistemas interativos exige considerar o usuário como elemento central do processo.

Este trabalho apresenta um Modelo de Processo para desenvolvimento de produtos interativos com foco em usabilidade e acessibilidade, após analisar o estado atual da Interação Humano-Computador.

A metodologia, denominada “Engenharia de Usabilidade e Acessibilidade. Modelo de Processo”, baseia-se em princípios multidisciplinares de psicologia cognitiva, psicologia experimental, etnografia e engenharia de software.

A Engenharia de Usabilidade está integrada à Engenharia de Software, combinando definição de requisitos, objetivos e projeto/teste, com ciclos iterativos para atingir objetivos específicos. O design ideal é conseguido através de um processo organizado e bem definido, adaptado a cada produto e aos seus utilizadores. Este modelo é aplicável a diversos projetos.

A avaliação de usabilidade é abordada através de três abordagens: inspeção, investigação e teste.

O Modelo de Processo está estruturado em atividades de análise de requisitos de usabilidade, estabelecimento de objetivos explícitos, design de interface de usuário e avaliação iterativa de objetivos de usabilidade para alcançar um produto final utilizável e acessível.

A figura anterior mostra-nos as diferentes fases em que se divide o Modelo de Processo de Engenharia de Usabilidade e Acessibilidade e como devem ser realizadas. Do esquema devemos levar em consideração o seguinte:

  • Fornece uma organização conceitual
  • Distingue três pilares fundamentais:
    • Engenharia de software(coluna azul), onde distinguimos:
      • Análise de requisitos
        São estabelecidos os serviços que o sistema deve fornecer e as restrições sob as quais funcionará. Também são definidos os requisitos que indicam o que o sistema deve fazer e como deve fazê-lo, podendo ser classificados em: funcionais e não funcionais. As atividades a realizar são as seguintes:
      • Análise etnográfica, é um método de estudo que envolve observar e descrever como as pessoas interagem no dia a dia para compreender crenças, valores e motivações.

        Graças às ferramentas, permite-nos responder a questões sobre organizações e mercados que outros métodos não conseguem responder
  • Perfil de usuário: envolve a obtenção de uma descrição detalhada das características são variadas e incluem o nível de conhecimento e utilização de equipamentos/programas informáticos, experiência profissional, etc.
    • Análise contextual de tarefas: significa analisar como eles executam tarefas, padrões de trabalho e compreender objetivos. Centra-se na identificação de todas as tarefas que o sistema é capaz de realizar no seu estado atual, antes de implementar o novo sistema.
      • Atores, o tipo é essencial para modelar as tarefas, isso pode ser distinguível devido a duas variáveis:
        • Características psicológicas
        • Recursos relacionados a tarefas
      • Funções: são as classes de atores aos quais foram atribuídas algumas tarefas, são genéricas para o contexto das tarefas e podem envolver um ou mais atores. Eles podem ser temporários
      • Organização: É a relação entre atores e papéis, descreve a hierarquia e a delegação de responsabilidades entre papéis. Aqui eles podem assumir várias formas, como ser um subtipo de outra função ou funções que fazem parte de outra função.
      • Coisas para fazer
      • Objetos: eles podem ser coisas físicas ou conceituais
      • Plataforma
      • Perfil ambiental
      • Metas de usabilidade: tem como foco garantir que os produtos sejam fáceis, eficazes e agradáveis ​​para os usuários, otimizando as interações. Os objetivos básicos incluem: facilidade de aprendizagem, consistência, flexibilidade, robustez, recuperabilidade, tempo de resposta, adaptação às tarefas e redução da carga cognitiva
      • Metas de aplicação
    • Projeto

Neste caso, o diálogo com o usuário em sistemas interativos é crucial, pois a interface determina a percepção que o usuário tem da aplicação. O principal objetivo é apoiar as pessoas no seu trabalho diário. As atividades a realizar são as seguintes:

  • Análise de tarefas– As atividades do usuário são redesenhadas para organizar o trabalho de forma eficiente e aproveitar os recursos de automação. Nesta etapa, a parte funcional da informação obtida na análise de requisitos é reestruturada, sem necessidade de intervenção no design. Isto envolve estudar como as pessoas realizam seu trabalho, incluindo ações, objetos e conhecimentos necessários. Alguns desses métodos são: Análise Hierárquica de Tarefas (HTA), GOMS (Seleção de Métodos de Operações de Metas), KLM (Modo de Nível de KeyStroke), TAG (Gramática de Ação de Tarefa), UAN (Notação de Ação do Usuário), CTT (ConcurTaskTrees) e GTA (Groupware). Análise de tarefas).
    • Modelo conceitual: As primeiras alternativas de projeto são geradas com base nas informações da seção anterior. São definidas as telas principais e caminhos de navegação; além de estabelecer regras para uma apresentação coerente.

Pode ser entendido como a parte mais importante do design, pois é uma descrição do sistema em termos de ideias, conceitos e como deve funcionar e parecer com base nas necessidades do usuário e assim poder entendê-lo de forma simples. . Existem dois tipos: baseado em atividades e baseado em objetos.

  • Definir estilo: O objetivo principal é ter um design coerente tanto visual quanto coerentemente. Recomenda-se ter um guia de estilo para que não ocorram problemas e mantenha a consistência da experiência do usuário. Nós distinguimos:
    • Padrões Gerais, são projetados para manter a uniformidade e a linha dos produtos desenvolvidos; garantindo assim coerência e consistência. Existem dois tipos:
      • De fato, são eles que devem ser seguidos devido ao enorme uso da tecnologia
      • Outros de diferentes áreas
    • Metáforas: São modelos conceituais que combinam objetos e conhecimentos familiares com novos conceitos.
    • Cores: eles complementam metáforas.
    • Padrões particulares: são coletados aspectos particulares do cliente final. Esta seção inclui metáforas e cores
    • Projeto detalhado: resultado das fases anteriores, onde são coletados todos os detalhes das tarefas anteriores.
    • Implementação: É uma seção crucial, pois envolve a codificação da aplicação usando linguagens de programação, bancos de dados e tecnologias apropriadas. Ele se concentra em alcançar usabilidade e acessibilidade do produto.
    • Lançar: determina o cumprimento das expectativas do produto.

O fator mais importante é o “User Feedback”, que é onde são coletadas impressões, reclamações, melhorias e defeitos durante a fase de testes e com isso são feitos os ajustes e melhorias pertinentes. É importante porque:

  • Fornece informações para manutenção e melhorias do produto
    • Fornece informações para futuras análises de produtos
      • Contribui para o design e desenvolvimento de produtos para os mesmos usuários ou com características semelhantes.
      • Facilita o aprendizado
    • Prototipagem(coluna verde)

Protótipos são documentos, projetos ou sistemas que simulam ou incluem partes do sistema final a ser desenvolvido.

Esta fase inclui diversas ferramentas que permitem aos projetistas criar simulações. Existem várias técnicas:

  • Modelos
  • Cenários
  • Protótipos de papel
  • Storyboards
  • Ferramentas de diagramação, que pode ser: narrativo, fluxograma ou texto processual.
  • Vídeos
  • Protótipos de software
  • Avaliação(coluna amarela)

É fundamental verificar o funcionamento do sistema antes da sua implementação e permite a participação ativa do utilizador nas primeiras fases do projeto, seguindo o modelo de ciclo de vida. Alguns dos métodos são:

  • Inspeção, para determinar o grau de usabilidade do sistema, alguns métodos são:
    • Heurística: São os avaliadores de exportação que analisam a interface com base em princípios de usabilidade reconhecidos.
      • Tour de usabilidade plural: participação de três tipos de usuários que avaliam protótipos de papel e em seguida ocorre um debate
      • Passeio Cognitivo– focado em avaliar a facilidade de aprendizagem do sistema através da exploração por revisores
      • Padrões: os revisores verificam a conformidade com eles
    • Investigação: Neste método é feito o trabalho de conversar com os usuários e observar como eles utilizam o sistema, obtendo respostas do mesmo. Os principais métodos são:
      • Observação de campo: o usuário é observado e depois questionado
      • Amostra: reuniões de usuários para discutir aspectos relacionados ao sistema
      • Entrevistas: obter informações diretas dos usuários sobre sua experiência
      • Exploração madeireira: registro de todas as atividades realizadas pelo sistema para analisá-las posteriormente
      • Questionários: obter informações depois que diferentes usuários testaram o sistema
    • Teste: os usuários trabalham em tarefas usando o sistema e os testadores usam o resultado para ver como é a interface. Os métodos mais proeminentes são:
      • Medição de benefícios: seu principal objetivo é melhorar a usabilidade graças a testes de usuários
      • Pensando alto: um usuário é solicitado a expressar como está visualizando o sistema em todos os momentos
      • Interação construtiva: é uma variante do sistema anterior, mas com um grupo de dois usuários, fornecendo mais informações que o anterior
      • Teste retrospectivo: é um complemento aos anteriores, pois envolve a realização de alguns dos métodos anteriores e o seu registo para realizar uma análise exaustiva e assim examinar cada um dos detalhes
      • Método de driver: A avaliação orienta o usuário na direção certa ao usar o sistema.
    • Os usuários estão no centro do ciclo de vida
    • As setas indicam a interatividade que deve ser feita entre operações e usuários

DESIGN DE INTERFACES


O RELEVO DA COERÊNCIA
GRÁFICA NO DESENVOLVIMENTO
DAS INTERFACES DE UMA MARCA

Resumo das paginas 20 à 31.

1.3.5 POSICIONAMENTO E ESTRATÉGIA DE UMA MARCA

O posicionamento e estratégia de uma marca, segundo Alina Wheeler, são elementos fundamentais para sua sobrevivência e sucesso. O posicionamento envolve a construção de uma identidade alinhada com valores transmitidos aos consumidores, enquanto a estratégia é a união de comportamentos, ações e comunicações consistentes e alinhadas. Esses conceitos são destacados por Andy Mosmans, ressaltando a influência dos valores na relação das pessoas com marcas e produtos.

Uma estratégia de marca eficaz deve ser diferenciada, poderosa e capaz de ultrapassar a concorrência, focando na ligação emocional com os consumidores, tanto em ambientes físicos quanto digitais. Construir uma marca demanda consistência e perseverança na implementação da estratégia escolhida, que não se resume apenas a uma posição, mas se traduz como uma perspectiva intrínseca de compreensão do mundo.
Neste caso, as marcas devem definir seu posicionamento no mercado e manter uma estratégia focada nos usuários para se destacarem da competição, destacando os seus produtos.

1.3.6 A IMPORTÂNCIA DA RELAÇÃO MARCA VS. UTILIZADOR, NA ERA DIGITAL

A relação entre marca e utilizador na era digital é crucial para o sucesso no mercado competitivo. Autores como Don Peppers, Martha Rogers e Bob Dorf destacam a importância de encarar essa relação como uma oportunidade de aprendizado, personalizando produtos para atender às necessidades individuais de cada cliente, aprimorando a capacidade da marca em se ajustar a cada interação.

A evolução tecnológica, especialmente a internet, desempenha um papel significativo nessa relação, permitindo a comunicação eficaz entre marca e consumidor, adaptando o marketing de forma mais personalizada. Autores como Daniel Raposo enfatizam a importância do ambiente virtual na interação marca-consumidor, destacando a relevância de um site customizado, intuitivo e de fácil acesso para garantir a eficácia na comunicação.

Compreender o comportamento dos utilizadores é fundamental na venda online. Joan Costa ressalta a importância de misturar o conteúdo da oferta com serviços de valor agregado para aproximar a marca do cliente, favorecendo o retorno do consumidor ao site.

A segmentação comportamental nas empresas na era digital é crucial para atender às reais necessidades dos clientes. Ferramentas de análise comportamental, conforme Shiva Nandan, são úteis para os gestores de marcas, permitindo a observação do comportamento de consumo online sem serem intrusivos.

Sugere-se, conforme Joan Costa citado por Daniel Raposo, quatro condições fundamentais para as marcas estabelecerem relações duradouras com os utilizadores:

1) Não causar perdas de tempo ao internauta, evitando a sobrecarga de
informação, a inconsistência gráfica e a falta de hierarquia e organização;
2) Garantir a individualidade de cada utilizador, tratando-o de forma
diferenciada e correspondendo às suas expectativas;
3) O serviço não termina no acto da venda, mas deve continuar a
resolver problemas ao cliente, como por exemplo através do serviço de
assistência pós-venda;
4) Criar comunidades ou fóruns de discussão livre entre os clientes.

Estes elementos são essenciais para promover uma relação sólida e duradoura entre marca e consumidor.

  1. DESIGN DE INTERACÇÃO DIGITAL
    2.1 BREVE INTRODUÇÃO AO DESIGN DE INTERACÇÃO DIGITAL

O design de interação digital remonta aos anos 1960, quando os engenheiros começaram a se concentrar na interação entre pessoas e computadores, introduzindo painéis de controle para usuários. Iniciativas como o projeto Xanadu de Ted Nelson e os padrões de e-mail por Ray Tomlinson impulsionaram o desenvolvimento do hipertexto e a introdução do mouse por Doug Engelbart em 1968.

O Xerox PARC, fundado em 1970, foi um marco na história da interação, originando produtos como o Xerox Alto e o Xerox Star, que incorporavam recursos de edição de texto, ícones e janelas. Em meados dos anos 80, o termo “interação” começou a se popularizar, mas foi nos anos 90 que o Design de Interação se tornou uma disciplina formal devido à explosão das interfaces gráficas para usuários (GUI) introduzidas pela Apple com o Lisa e o Macintosh.

O início dos anos 90 marcou a época dos computadores pessoais e a ascensão da web, levando à necessidade de melhor interação. O navegador Mosaic, de Marc Andreessen, foi essencial para o Design de Interação, introduzindo paradigmas como o botão de “voltar”. Esse período viu o crescimento da web e o termo “usabilidade” ganhou destaque na concepção de produtos digitais.

Com o crescimento exponencial da web, designers e arquitetos de informação emergiram, focando na criação de produtos centrados no usuário. O reconhecimento do Design de Interação cresceu ao longo do início do século XXI, culminando na formação da Interaction Design Association (IxDA) em 2005, evidenciando a maturidade da interação como disciplina e profissão indispensável para os produtos digitais.

2.2 PROJECTAR A INTERACÇÃO DIGITAL VISANDO A EXPERIÊNCIA DO UTILIZADOR

O design de interação digital está intrinsicamente ligado à experiência do usuário. Segundo Dan Saffer e Alan Cooper, esta disciplina enfoca as necessidades do usuário, garantindo uma harmonia entre o produto e o usuário, preocupando-se com comportamento, forma e conteúdo para proporcionar uma experiência, seja ela funcional ou emocional.

Cooper destaca que, assim como designers gráficos e de móveis criam experiências, os designers de interação influenciam a experiência das pessoas nos produtos digitais, moldando a forma como os usuários interagem com tais produtos. A estrutura do design de interação concentra-se em três conceitos base: forma, comportamento e conteúdo, preocupando-se com a interrelação entre esses elementos.

O processo de criação de produtos interativos, de acordo com a Associação Profissional de Experiência do Usuário (UXPA), envolve quatro fases principais: análise, design, implementação e desenvolvimento, garantindo a usabilidade e relacionando a forma e o conteúdo com o comportamento do usuário.

Saffer ressalta a importância dos fatores humanos na interação com produtos digitais, considerando as limitações do corpo humano, tanto física quanto psicologicamente, para garantir a conformidade dos produtos.

Ao longo do desenvolvimento do design de interação, gestores de projeto facilitaram a ligação entre as necessidades do mercado e os requisitos do produto. Com o crescimento e maturidade do mercado, os testes, designers e a introdução de elementos visuais importantes foram integrados no processo de criação.

A evolução do design de interação culmina na fase de Design Centrado em Objetivos, onde as capacidades, forma e comportamento do produto são testados antes da sua construção. Este processo visa garantir que o produto atenda às necessidades do usuário antes da implementação final.

RESUMO DO LIVRO UML GUIA DOS USUARIOS

Capitulo 4 classes pagina 50 a 62

As classes são blocos de construção mais importantes de qualquer sistema orientada a objetos. Uma classe e uma descrição de um conjunto de objetos que compartilham os mesmos atributos, operações, relacionamentos. Uma classe implementa uma ou mais interfaces.

Primeiros passos a modelagem de um sistema envolve a identificação de itens considerados importantes de acordo com uma determinada visão

Nome de uma classe deve ser um substantivo singular que descreva o que a classe representa e conhecido como um nome simples. O nome de um atributo deve ser um substantivo ou adjetivo que descreva a característica do objeto. O nome de uma operação deve ser um verbo que descreva o comportamento do objeto.

  • Os atributos de uma classe podem ser divididos em dois tipos: Atributos de instância: são atributos que são únicos para cada objeto.
  • Atributos de classe: são atributos que são compartilhados por todos os objetos da classe.

Operações uma operação e a implementação de um serviço que pode ser solicitado por algum objeto de classe para modificar o comportamento , em outras palavras uma operação e uma abstração de algo que pode ser feito com um objeto e que e compartilhado por todos os objetos dessa classe

Design e Interação

Pagina:15-25

Resumos:

Um bom e um mau design

Uma preocupação central do design de interação e desenvolver produtos interativos que sejam utilizáveis, 0 que genericamente significa produtos fáceis de aprender, eficazes no uso, que proporcionem ao usuário Ulna experiência agradável. Um bom ponto de partida para pensar sobre como projetar produtos interativos útil zaveis consiste em comparar bons e maus exemplos. Mediante a identificação de pontos fracos e fortes específicos de sistemas interativos diferentes, podemos começar a entender o que quer dizer algo ser usável ou não. Aqui, iniciamos com o exemplo de um sistema mal projetado – O correio de voz (voice mail) -, utilizado em muitas organizações (empresas, hotéis e universidades). Realizamos a comparação desse aparelho com uma secretaria eletrônica, que seria o exemplo de um bom design.

O que projetar

Projetar produtos interativos usáveis requer que se leve em conta quem ira utiliza-los e onde serão utilizados. Outra preocupação importante consiste em entender o tipo de atividades que as pessoas estão realizando quando estão interagindo com os produtos. Aquilo que for mais apropriado para os diferentes tipos de interfaces e para o planejamento de dispositivos de entrada e saída de informação vai depender de que tipos de atividades receberão suporte.

O que é design de interação?

Por design de interação, entendemos o seguinte:

Design de produtos interativos que fornecem suporte as atividades cotidianas das pessoas, seja no lar ou no trabalho.

Breve história do design de interação.

Sempre se soube que para o sucesso do design de interação muitas disciplinas precisariam estar envolvidas. A importância de se entender como os usuários agem e agem a situações e como se comunicam e interagem acarretou o envolvimento de pessoas de disciplinas diferentes, como psicólogos e sociólogos, em questões referentes ao design de interação. Da mesma forma, a crescente importância de se entender como projetar diferentes tipos de Mídias interativas de maneira eficaz e prazerosa envolvente também uma diversidade de outros profissionais, incluindo designers gráficos, artistas, animadores, fotógrafos, especialistas de cinemas e designers de produtos.

Experiência do usuário em interfaces digitais

Resumo das paginas 23 até 28.

O livro “Design e UX em produtos digitais” aborda a importância e evolução dos produtos digitais no mundo atual. Produtos digitais incluem programas de computador, aplicativos móveis, páginas da web, realidades virtual e aumentada, entre outros. Eles se destacam por sua capacidade de escala e alcance, impulsionando o sucesso de empresas como Google e Spotify.

A internet permitiu a disseminação global de produtos digitais, incluindo a venda de produtos físicos e prestação de serviços por meio de lojas online e aplicativos. Hoje, é raro uma empresa não ter presença digital.

A distinção entre produtos e serviços é importante, pois os produtos digitais frequentemente atuam como pontos de contato para serviços. O planejamento de produtos digitais deve garantir uma experiência positiva para os usuários, abrangendo diversas disciplinas, como Interação Humano Computador, Ergonomia, Arquitetura da Informação e Tecnologia da Informação.

A experiência do usuário (UX) é fundamental, mas é importante diferenciá-la da interface do usuário (UI). A UI se concentra na aparência e layout, enquanto a UX envolve pesquisas sistemáticas para entender a experiência dos usuários e melhorar a interação.

A estratégia de UX é construída com base nos aprendizados da experiência do usuário e é catalisada pelo design de interação. As atividades de design acontecem em diferentes níveis organizacionais, desde a estratégia do produto até a operacionalização da interface, com iteração contínua para melhorar a experiência do usuário.

Design de Interfaces

Hoje, dia 05/11/2023, dar-se-á continuidade ao resumo do livro Design de Interfaces. O resumo será feito da pagina 16 a 19

Resumo pág. 16: Nesta página, fala a importância do desenho iterativo com foco nos utilizadores e enfatiza a necessidade do desenho participativo para atender às necessidades dos utilizadores finais. Destaca que o livro oferece uma lição valiosa com base na experiência de docentes em Engenharia Informática. O testo elogia a utilidade do livro para alunos, professores e profissionais da Engenharia das Interfaces Pessoa-Máquina.

Resumo pág. 17:

Existem pessoas que são especialistas em fazer coisas que as outras pessoas possam usar facilmente, como aplicativos em telefones ou sites na internet. Para ajudar essas pessoas a fazerem um bom trabalho, algumas outras pessoas criaram um conjunto de regras ou dicas que são como instruções para fazer as coisas de forma fácil e amigável.

Essas regras são chamadas de “heurísticas de usabilidade” ou “princípios de usabilidade”. Elas são como receitas para fazer com que as coisas funcionem bem para as pessoas. Alguns dos conjuntos de regras mais conhecidos foram criados por pessoas chamadas Norman, Shneiderman e Nielsen.

A ideia é que se você seguir essas regras ao criar algo, como um jogo ou um site da internet, as pessoas vão conseguir usá-lo de maneira mais fácil e agradável. É como se essas regras fossem um guia para fazer as coisas direito, e se você as seguir, você vai criar algo melhor do que se não as seguir.

Resumo da pág. 18: O texto da página 18 fala sobre a importância de tornar as funções visíveis em interfaces para que os usuários saibam como usá-las. Quando as funções estão escondidas, os usuários têm dificuldade em descobrir como usá-las. O texto também menciona o princípio de fornecer feedback aos usuários sobre ações realizadas e resultados. Isso pode ser feito com mudanças visuais, sons ou mensagens para indicar se a ação foi bem-sucedida ou não. Ter funções visíveis e fornecer feedback ajuda os usuários a interagirem de forma mais eficaz com as interfaces.

Resumo da pág. 19: Na página 19, texto fala sobre alguns princípios de design de interface, incluindo visibilidade de funções para facilitar o uso, feedback sobre ações realizadas, restrições que limitam o que os usuários podem fazer de maneira incorreta, e a importância da coerência para ajudar os usuários a reconhecer padrões e aplicar conhecimento adquirido. Esses princípios visam tornar as interfaces mais intuitivas e amigáveis para os usuários.

Por hoje é tudo. No próximo Domingo farei o resumo de mais paginas para dar continuidade. Falta a pagina 20/24. Penso que no Domingo próximo apenas farei o resumo de 2 paginas, que será de 20 e 21, até breve