Web,ruby, Ajax ou qualquer outra coisa que me venha a cabeça (com prioridade para esta última)

17 novembro, 2005

Como Centrar Conteúdos

Como Centrar Conteúdos

Um problema comum para web designers é centrar conteúdos numa página web

O modelo actual do (X)HTML e do CSS é ver cada documento Web como uma área não limitada e, uma janela de navegador como uma vista para esse documento e não uma parte do mesmo. Daí ser impossível centrar um documento em qualquer janela de navegador.

No entanto por vezes é absolutamente necessário centrar verticalmente uma página ou páginas. Há essencialmente três formas de o fazer: através da combinação de JavaScript e posicionamento absoluto CSS; ou através de métodos arcaicos HTML (usando um arranjo de uma só célula de tabela); ou podemos usar regras de estilo CSS para esticar o documento até 100% da janela do navegador em altura e depois centrar verticalmente o resto da página. O método QuircksMode pode ser usado para esticar o documento. É realmente simples. Só é necessário encontrar o elemento (X)HTML que é para o navegador o equivalente da sua janela - a combinação html e body é suficiente para a generalidade dos principais navegadores e depois definir uma divaninhada com posicionamento absoluto.

(Pode ainda ajustar-se as características desta div com atributos overflow, min/max width/heightetc.)

O código resultante seria algo como (substituir ... por valores adequados ao seu caso):


<... (veja o método QuircksMode para decidir que doctype...>
<html>
   <head>
      <title>Processo de Centragem Vertical da Victoria
                   - Página de Teste</title>
      <style type="text/css">
         html, body   { background-color: blue;
                        height: 100%; 
                        margin: 0;
                        padding: 0;
                        color: yellow; 
                        text-align: center; }
         div#centered { border: 0; 
                        background-color: white;
                        height: 50%;
                        width: 50%;
                        position: absolute;
                        left: 25%;
                        top: 25%;
                        color: black; }
      </style>
   </head>
   <body>
      <div id="centered">
         div centrada verticalmente
            (<a href="http://vmalek.murphy.cz" 
                   title="Processo de Centragem 
                          Vertical da Victoria">
                          Ver comentários acima</a>).
      </div>
   </body>
</html>

Web Standards em Portugual

Para quem ache que tudo o que escrevo é para deitar abaixo, tal não é de facto verdade.

Como já tinha anteriormente dito em Portugal existem responsáveis pelo desenvolvimento de sítios web que levam a sério os web standards.

Hoje irem tentar aqui colocar páginas de entidades que já estejam a aproximar-se desse alvo a atingir, não por si, mas porque isso facilitará a vida as seus visitantes.

  • log

    As páginas validam o XHTML e o CSS. Gostaria de perceber porque é que num sítio com padrão elevado (para a média nacional) depois se falha (ou então porque é que se dicide desta forma) nos detalhes. Está quase lá em termos de standards.

    Em termos gráficos já tenho um problema um pouco maior com a página. O sítio é na minha opinião demasiado frio, quase sem grafismos, a não ser os botões de navegação e o próprio logo. Além disso não é suficientemente flexível pois se ampliarmos os tipos o aspecto começa a ficar excessivamente degradado (excepto no Opera claro). Talves fosse melhor começar a treinar as pessoas que desenvolvem sítios torná-los à prova de bala.

    Imagem reduzida do sítio da Log com texto ampliado

    Algo curioso é os sítios instituicionais por ela produzidos não alcançarem o padrão em termos de web standards do próprio sítio. Será que o sítio apresenta uma evolução. Por último, foi a única empresa de desenvolvimento, em que vi código tão bom.

Esta lista irá, julgo/espero, crescer à medida que for encontrando sítios assim ou melhores (claro que na minha opinião).

16 novembro, 2005

Um Profissional Nunca Pode Deixar de Aprender

Um profissional nunca pode deixar de aprender

Nos últimos tempos tenho lido artigos que levantam o mesmo problema: os profissionais da web que se recusam a actualizar as suas capacidades e insistem em usar métodos desactualizados não se podem chamar a si próprios profissionais da Web.

Há quem me possa achar elitista ao dizê-lo. Mas pense sobre o assunto. Porque é que os profissionais da web não necessitariam de saber sobre o seu metier. Acho esta atitude - tida por muito gente neste meio e por muita gente fora dele - insultuosa para aqueles que diariamente trabalham de forma árdua para se manterem actualizados e ao corrente das melhores práticas.

Gosto que outros expressem as suas opiniões sobre este assunto. Ian Loyd entrevistou Andy Clarke. Eis uma citação que subscrevo:

Há tantos sítios na web, blogues e publicações derigidas para ajudar as pessoas a aprenderem sobre standards e técnicas de acessibilidade que deixou de haver desculpas para não produzir código semântico ou CSS. Pessoas que continuam a produzir disposições de páginas baseadas em tabelas, imagens para espacejamento ou que ignorem a acessibilidade (eu acrescento a usabilidade) não se devem chamar a si próprias profissionais da web.

Esta foi uma forma abreviada de dizer aquilo com que concordo. No caso de desejar comentar esta citação dê um salto a Acessibilidade - Sem luvas

Estou completamente de acordo com o que o Andy diz. Não há razão para tratar alguém como profissional se essa pessa não envida qualquer esforço para aprender e se manter actualizado. Veja bem não estou a apontar o dedo aos que não sabem, aos que são tão novos no meio que ainda não aprenderam mas que estão dispostos a aprender sobre desenvolvimento e concepção modernos para web.

A Molly Holzschlag no seu artigo web standards e novo profissionalismo diz:

O cerne da questão é simples: temos que saber do nosso mêtier! E o que não sabemos, temos que ter disposição para dizer que não conhecemos e que estamos abertos a aprender.

A palavra chave aqui é mêtier. Há tanta gente no meio que parece que não se interessa pelo que faz. Há muitas pessoas que só fazem o que for preciso para que a tarefa termine, que é uma expressão comum para defender o uso de métodos desactualizados.

Estas palavras da Molly surgem num contexto de degradação obervado no sítio da Disney no Reino Unido substituindo um sítio concebido com base em web standards por um sítio concebido com uma grande mixordia de tabelas.

Sei pouco sobre desenvolvimento de web. Mas quando não sei algo, trato de o admitir e ir à procura. Ou pergunto a alguém que o saiba.

Finalmente John Oxton, que exprimiu a citação seguinte em Porque é que agora é ex-html (algumas palavras censuradas):

O que eu desejo é HTML que dê um pontapé no ... se não for tratado de forma adequada. HTML que não tomasse xxxx, com uma mensagem bem destacada (VÁ TRATAR DE APRENDER A USAR-ME!) a pessoas que se recusem a aprender esta linguagem super simples e que não queiram refinar a sua compreenção.

John fala de XHTML servido como XML. Sei que muitos não acreditam no deixar que o navegador (user agent seria um termo mais correcto) apresente mensagens de erro ao visitante de um sítio, em vez de tentar (o user agent), entender o que o autor queria de facto dizer/mostrar. Deixemos de lado esta controvérsia e, imaginemos que todos os navegadores mostram tais mensagens de erro. Não sucederia que muitos dos chamados profissionais da web se preocupariam em aprender como resolver esses erros?

Bem sei que se o HTML tivesses sido tão estrito desde o início, a web não se teria tornado no que é hoje, pois, a curva de aprendizagem, teria sido muito difícil de ultrapassar para muita gente. Mas a web está mais madura agora do que há uma década, quando apareceram os primeiros navegadores gráficos. Chegou a altura para os profissionais da web também amadurecerem.

Alguns dos Grandes Podem Mostrar o Caminho

Amanha veremos como se comportam as empresas em Portugal.

Boas Práticas

Boas práticas de Desenvolvimento

Alguém pergunta se há uma forma correcta de começar um projecto. Acrescenta que o que quer dizer é se se deve começar por escrever o HTML todo e depois escrever as regras CSS ou se se deve fazer as duas coisas de forma alternada? Diz ainda, que está a tentar encontrar um processo lógico a seguir de forma a tornar a tarefa mais fácil de compreender e terminar.

Qual é a minha opinião?

Julgo ser mais fácil desenvolver a totalidade do HTML e documentar a estrutura elementar, as classes e identificações antes de começar o CSS.

Pode parecer aborrecido e pode suceder ser necessário voltar ao HTML mais tarde quando se estiver a resolver problemas levantados por navegadores mal comportados, mas este processo assegura que:

  • O nosso HTML fica bem estruturado e faz sentido sem CSS e/ou JavaScript;
  • Ficamos com documentação para passar aos responsáveis pela manutenção e mais importante para provar que o nosso código era claro;
  • Podemos dar o HTML aos responsáveis pelo desenvolvimento para o transformarem em modelos (templates) ou converterem em ASP.NET, de forma a assegurar que se trabalha em paralelo;
  • Alguns sistemas de gestão de conteúdos fornecem diferentes classes aos editores como estilos num editor WYSIWYG, e tal significa que podemos criar um pequeno guia de estilo para ser preenchido mais tarde quando construir o CSS.

15 novembro, 2005

Web Standards em Portugual

Sítios Portugueses construídos em conformidade com os web standards

Existe na rede um sítio onde alguns designers se registam dando a conhecer que concebem sítios da web em conformidade com os standards.

Nesse sítio, - W3 Compliant Sites - encontram-se inscritos 1088 designers entre os quais 7 portugueses.

Fiz uma visita a cada um dos sítios por eles indicados como estando em conformidade com os web standards.

Dessas visitas destaco os seguintes designers

  1. Carlos Paula Simões
    1. cb2web.com e
    2. Hotel Anjo Azul

    As páginas validam usando as ferramentas clássicas, o código está segregado como é correcto, o design no sítio do hotel é simples e eficaz (mas um pouco apagado não se destacando).

  2. Hugo C. Silva
    1. Vigopor

    Apresenta uma página com HTML 4.01 Transitional, mas apresenta alguns problemas. Sem Flash ou sem JavaScript não há navegação. Além disso usa tabelas para criar a disposição do sítio.

  3. Ivo Gomes
    1. Portal das Curiosidades
    2. Sítio de Ivo Gomes

    O Design não é há prova de bala, se ampliarmos o texto meia duzia de vezes ficamos com um menu funcional mas com mau aspecto

    Um dos melhores sítios que conheço, por um profissional

    Já agora excelente artigo sobre prototipagem em papel

  4. Vitor Costa
    1. Nova Esfera??

    Existem ligações que usam o mesmo texto para apontar para recursos diferentes. Algumas inconsistências no CSS. Não se pode ampliar muito fica tudo sobreposto. O excesso de controlo conduz à sua falta.

Os web designers/responsáveis pelo desenvolvimento de sítios que têm sítios em conformidade poderiam inscrever-se de modo a darem mais visibilidade a esse facto. Aqueles que se tenham inscrito e cujos sítios tenham deixado de estar conformes deviam ter a ombridade de retirarem os seus sítios da lista.

Porque acham que não estou inscrito, porque sei que o design não é meu e porque há páginas que sei de antemão que não estão conformes.

14 novembro, 2005

Web e Dislexia

Concepção de páginas web para leitores dislexicos

A chegada da WWW aos ecrãs dos nossos computadores significa que sofre das falhas de qualquer novo meio:

  • A generalidade dos sítios web é construído com excesso de pressa
  • Os web designer são relativamente novos no meio
  • O texto é frequentemente apresentado num formato eligível, mesmo em texto branco/amarelo sobre fundo preto
  • Navegar num website não é fácil
  • Alguns anunciantes tratam de arranjar algo para chamar à atenção mesmo que seja irritante
  • Alguns designers vêm as páginas web como perítos de computadores em vez do ponto de vista de pessoas normais que leem as suas páginas
  • Preseume-se que todas as pessoas que visitam as páginas sabem/podem usar deligentemente o seu computador
  • Os designers são tentados a criar formas de levar as pessoas a manterem-se no sítio em vez de fornecerem ligações úteis que levem as pessoas a visitar outras fontes de informação
  • e em último lugar, a generalidade das páginas na web foi/é construída por homens, (por acaso gostaria de ver mais páginas concebidas por mulheres)! Falta um pouco de percepção feminina e empatia.

Largura de coluna

Nada há de pior do que ler aquele texto que ocupa todo o espaço disponível no ecrã (da ponta esquerda até ao extremo direito). Há medida que os olhos tentam varrer o ecrã torna-se extremamento difícil ler a linha seguinte. O ponto de fuga perde-se no mar de texto. Exemplo 1 Exemplo 2

Claro que é muito mais fácil de ler a coluna mais estreita, com cerca de 60 a 70 caracteres do que o texto mais largo. É por esta razão que os jornais usam colunas.

Justificado ou não?

O Texto justificado é aquele em que as palavras são espacejadas pelo processador de texto de forma a que ambos os lados esquerdo e direito de cada coluna sejam linhas rectas. O texto não justificado - como o desta página - deixa uma arestas escadeada ao longo do lado direito.

Para um leitor dislexico, o texto justificado, que tem espacejamento mal distribuido entre palavras, cria padrões visuais de espaço em branco que são difíceis de ignorar. Esses espaços distraem o leitor que deixa de saber onde está a ler.

O espaço não justificado é muito mais fácil de ler, embora não esteja na moda em algumas revistas de design, ou pretenções a tal.

Cor do fundo

Alguns leitores dislexicos são particularmente sensíveis ao contraste do texto num fundo branco. Isto pode provocar um movimento aparente e a desfocagem do texto.

Pode evitar-se esta dificuldade se não se usar fundo totalmente branco. Algo como backgound-color: #ffffE5; é suficiente. O texto pode ser mais difícil de ler se for escrito sobre um padrão. (Exemplo)

Para páginas que sejam usadas frequentemente por dislexicos adultos ou adolescentes, pode ser adicionado um comutador de fundo de página, como o existente no cimo desta entrada.

Tipos de letra

Infelizmente a generalidade dos programas de computador por omissão usam letras com serif, como a Times New Roman. Este tipo de letra é tradicionalmente associada à impressão. Uma letra com serif é aquela cujas extremidades têm variação de espessura de traço.

A utilização de um tipo de letra como o "Arial" permite uma página mais clara, para dislexicos.

Tamanho do tipo de letra

Os ecrãs estão cada vez maiores, mas a maior parte das pessoas continua a ver às páginas da web em monitores pequenos. É difícil ler um texto com tamanhos demasiadamente pequenos.

Evitar itálicos

As letras em itálico estão ligeiramente deitadas e são normalmente usadas nos livros para dar enfâse a algo. Contudo, quando vistas num monitor por uma pessoa dislexica são difícies de ler.

No caso da letra ser de uma tamanho muito pequeno tornam a sua leitura impossível.

É preferível realçar palavras usando negrito.

Imagens e Fotografias

Não precisa ser disléxico para saber que uma página com imagens é mais agradável de ser vista do que uma só com texto. As imagens ajudam a quebrar a página em pequenas porções e para um disléxico, dão um estímulo visual imediato e uma memória visual para o futuro.

Pode ver a desilusão na cara de uma criança quando chega a uma página sem imagens. Infelizmente desenvolvemos a opinião que livros com imagens/desenhos são para as crianças, os adultos lêm livros sem imagens. Pode ser apropriado em certas circunstâncias, mas mesmo num texto académico é um alívio ver um gráfico! (Mau exemplo)

Caixas de Texto e Balas

  • Podem ser usadas caixas de texto e balas de forma a enfatisar ou realçar aspectos importantes.
  • Servem ainda para quebrar um secção extensa de texto denso.
  • As balas servem ainda para realçar aspectos chave, em especial se estiverem separadas por espaço em branco extra para ajudar a clarificar.

Imagens em movimento

Imagens a piscar distraiem não só pessoas com problemas visuais, mas todos nós.

Um sentido de direcção afecta os leitores dislexicos. Quantas vezes já tivemos problemas com um web designer "excessivamente criativo".

A regra de outro é haver uma lista de ligações simples em cada página ligando a todas as outras páginas ou secções do sítio

Frases curtas

Frases alongadas contêm mais do que uma ideia. É perfeitamente possível repartir frases compridas criando frases mais curtas e simples. Isto não torna as frases intelectualmente inferiores.

As mesmas ideias podem ser traduzidas claramente em frases curtas. Isto dá um intervalo a um leitor dislexico após cada frase. Não há limite de comprimento fixo para uma frase complicada e comprida que de tão comprida o nosso cérebro deixa de interpretar. Um bom exemplo

Parágrafos curtos

Os artigos dos jornais são normalmente bons exemplos de como se deve repartir o texto para melhorar a legibilidade.

Por vezes os artigos são feitos de forma a que haja parágrafos a cada frase.

Tal pode não estar de acordo com as convenções de Português correcto ou de escrita de ensaios, mas tal é outro assunto.

A prioridade quando se lê um jornal ou uma página da web é legibilidade e os parágrafos - mesmo os com uma linha só - devem ser sempre espacejados com uma linha em branco entre cada.

Escrever para programas de leitura (tecnologias assistivas)

Os leitores dislexicos podem ler as suas páginas de web usando leitores de ecrã. Esses programas têm limitações e portanto devem ser seguidas algumas linhas de orientação:

  1. Se tiver um ponto final nos cabeçalhos (h1 a h6) tal faz com que a voz faça uma pausa e baixe o tom no final;
  2. Use ponto e vírgula, virgulas ou ponto finl após elementos numa lista com balas iniciais, caso contrário podem ser lidas como texto contínuo;
  3. Não escreva palavras só com maísculas pois podem ser lidas como letras individuais pelo programa;
  4. Separe os elementos de uma lista com balas com espaço adicional;
  5. Use um ponto parágrafo após uma ligação para o separar do texto que se lhe segue.

Bibliografia

Guia de Estilo da Associação Britância de Dislexia.
O estilo na qual esta informação foi produzida de forma a facilitar a compreensão pelo leitor. O formato com que se apresenta informação pode torná-la acessível e será vital se a informação contida é para ser compreendida por todos
Uma perspectiva de um disléxico sobre acessibilidade de conteúdo electrónico.
Cobre as quatro áreas principais de acessibilidade: apresentação, conteúdo, estrutura e navegação
10 linhas de orientação para melhorar a acessibilidade para pessoas com dislexia.
Bases para a melhoria da ligebilidade e acessibilidade por pessoas dislexicas

13 novembro, 2005

Erros Comuns

Erros Comuns

Quando pertencemos a uma lista de correio tão específica como a CSS-D esperamos não ver a não ser por parte de principiantes (sem desprimor para eles, visto todos o termos sido e alguns assim se manterem), dizia que esperamos não ver código como este


.caixa {
   border: 1px solid black;
}

#azul {
   background-color: blue;
}

#encarnado{
   background-color: red;
}

Pois não será normal só haver um elemento azul e um elemento encarnado numa página, nem será normal dar nomes a class ou id que tenham a haver com o seu aspecto visual, mas sim nomes que tenham a haver com a sua funcionalidade.

Molly Holzschlag mencionou num artigo sobre como atribuía nomes a estes atributos estes atributos indicando no mesmoa livro/artigo as desvantagens de dar nomes de acordo com a apresentação.

12 novembro, 2005

Treehouse #2

Saiu o #2 do Treehouse

Neste número são incluídos textos de Ryan Campbell (código), Alex McClung (design), Nathan Smith (negócios), entrevistas com Peter-Paul Koch, Lisa McMillan, Josh Williams e críticas de livros "Foundations of Ajax", "Thinking with Type", "The World is Flat".

11 novembro, 2005

Tabelas ou Disposição CSS

Parece haver uma batalha a decorrer entre web designers sobre a utilização de tabelas em arranjos para a web. Os proponentes da utilização de tabelas normalmente referem-se à compatibilidade com os navegadores e à rapidez da concepção dos sites. Os oponentes acham que a utilização de tabelas para arranjos (disposição de elementos visuais) não é conforme os web strandards e a acessibilidade da web. Para se puder perceber como começou esta polémica necessitamos de relembrar a história do HTML e dos arranjos.

O controlo do estilo visual de uma página da web por tabelas nunca foi algo intencional por parte dos criadores do HTML. Na sua opinião só serviam para reproduzir dados com colunas e linhas. Não era um mecanismo para resolver necessidades relativas a arranjos mais elaborados, mas alguns web designers mais inventivos descobriram que podiam usar tabelas para criar arranjos nos quais tivessem mais controlo.

Desde essa altura os web designer têm vindo a usar (incorrectamente) regularmente a linguagem HTML, principalmente por necessidade. Contudo no final dos anos 90 o W3C introduziu as folhas de estilo em cascata (CSS). As CSS tornavam possível a aplicação de estilos a documentos HTML. Os navegadores rapidamente começaram a integrar suporte para as CSS, e os web designers começaram a aplicar estilos simples no seu HTML, como o tipo de letra, a cor, as cores do fundo e as imagens. Contudo o uso de arranjos CSS (em particular arranjos com colunas) não se espalhou até muito mais tarde.

Ao longo dos anos houve um movimento para "purificar" o modo de codificação dos websites. Num esforço de criação de web standards que dão uma abordagem lógica e que dão acessibilidade à web para leitores de texto, bots, dispositivos móveis e muito mais. Um novo padrão foi criado. Um padrão que anda à volta da utilização adequada de XHTML e CSS. O XHTML deve ser codificado de forma a oferecer uma estrutura lógica para o conteúdo enquanto o CSS deve ser usado para criar uma concepção gráfica única.

Há várias razões para que os web designers devamd deixar de usar tabelas para arranjos e adoptarem o uso de CSS para controlo dos arranjos:

  • Conformidade com os padrões de web do W3C
  • Todos os navegadores modernos suportam CSS para controlo de disposição (embora o IE necessite por vezes de remendos)
  • Se bem codificado, as CSS tornam alterações globais fáceis de aplicar
  • A implementação adequada de conteúdo em documentos XHTML, com o uso de CSS só para estilo e disposição ajuda a criar websites acessíveis para pessoas com certas incapacidades
  • As páginas podem ter muito menos código, tornamdo-as mais ligeiras de for usado XHTMl e CSS (com poucas excepções)
  • O principal argumento para continuar a usar tabelas vem dos maus hábitos e de alguma complacência. Normalmente diz-se que é mais fácil usar tabelas em especial pela necessidade de utilizar remendos/truques para uma reprodução adequada no IE, embora sendo verdadeira esta afirmação há um momento a partir do qual temos que começar a usar padrões para "obrigar" os produtores de navegadores a evoluírem.

09 novembro, 2005

ALA - 207

A List Apart 207

Saiu o número 207 da A List Apart, para pessoas que constroiem sítios na web. Neste número são apresentadas consequências inesperadas - tanto positivas como negativas - da concepção de interface comum e de selecção de opções de acessibilidade.

Andy Hagans diz-nos não ser coincidência que os motores de busca gostem de sítios da web altamente acessíveis. Ao concebermos sítios acessíveis, estamos já a usar uma técnica de optimização para motor de busca. Hagans explica ainda outra razão para ter em conta a acessibilidade.

Nick Usborne, pergunta-nos se testamos as nossas concepções? Se não, Nick Usborne, gostaria que nos responsabilizassemos pelas opções de concepção e um efeito quantificável que tais opções podem ter nos sítios web e nos negócios.

O artigo repescado é de Kevin Potts e trata de conselhos sobre a criação de um negócio evitando os erros cometidos por ele.

04 novembro, 2005

A colheita do dia

Se ontém foi um dia de boa colheita, na minha opinião, hoje parece que não está pior

4 de Novembro de 2004

Dulce Pontes em Stanford

7 de Outubro de 2005

Google Advertising Patents for Behavioral Targeting, Personalization and Profiling

3 de Novembro de 2005

Google Patent : Organic Results Ranked by User Profiling

Sem data inicial

Um interessante projecto de investigação

Sem data inicial

Direitos fundamentais

AJAX-VI

Galeria de Imagens

No sítio DHTML Nirvana colocaram um Guia Ajax que usa ajax para se ir carregando (com um pouco de pisca pisca em alguns navegadores!). O guia começa com os fundamentos das técnicas Ajax e, gradualmente, à medida que as páginas são voltadas, vai caminhando para coisas mais complexas terminando numa galeria de imagens.

AJAX-V

Lista de Tarefas com XForms

Eric Bruchez da Orbeon criou uma aplicação de Lista de Tarefas. Implementa um interface de utilizador dinâmico totalmente criado em XForms, sobre um motor OPS XForms.

Este exemplo ilustra muitas das características do XForms tais como:

  • xforms:repeat aninhados
  • Uso de "relevant" para reprodução condicional de controles
  • Escrita que permite formatação automática de datas
  • Uso de xforms:submission com "instance="replace", aqui para chamar um serviço capaz de formatar um documento XML em HTML
  • Uso de instâncias múltiplas
  • Uso de xforms:setfocus e xforms:setindex

Pode analizar a aplicação: Lista de Tarefas.

Pode ver o código original da aplicação: código original de Lista de Tarefas.

AJAX-IV

Struts

Struts é o avô das infraestruturas Java para web e embora tenha deixado de estar na moda como as infraestruturas JavaServer Faces, WebWork, Tapestry, ... ainda há muita gente a escrever aplicações com Struts.

Paul Browne escreveu um artigo de introdução chamado "Sprinkle Some AJAX Magic in Your Struts Web Application."

O artigo foca o lado do cliente ajax, em vez da integração com Struts.

Concepção da sua Aplicação Ajax

Paul Browne

O rascunho do JavaScript acima pode aceitar o modo de utilização do Struts na maior parte das aplicações incluindo aquelas que são muito mais complexas do que a do nosso exemplo (muito simples). Contudo pode achar que os pontos seguintes podem tornar mais fácil escrever e usar o seu código:

  • Para evitar código duplicado, podemos frequentemente usar a mesma "Struts Action" e o JSP para o pedido inicial (isto é mostrar a totalidade da página) e o AJAX (actualizar parte da página and JSP for the initial request (i.e., show full page) and the AJAX (update part of page) requests.
  • Na classe comum (controlador), decidir que secções da página JSP (todo o JSP ou só parte dele) necessita de ser enviada ao navegador. Ao estabelecer indicadores seja na sessão do servidor web ou ActionForm, a página JSP sabe que secções necessitam de ser reproduzidas.
  • No JSP, usar marcadores Struts ou JSTL para decidir se necessita de reproduzir uma secção HTML ou não. Pode descarregar uma versão deste projecto já com capacidade Ajax aqui: struts-Ajax.zip

AJAX-III

Ajax

Monitorização para usabilidade usando técnicas Ajax

Eric Pascarello recentemente escreveu uma entrada sobre a utilização de técnicas Ajax para monitorização de acções de utilizador para captura/registo de erros. O aspecto básico é que vai contra a corrente normal de que o ajax pode ser usado para praticar o mal "espiar o utilizador" usando o ajax para registar todas as acções do utilizador para poder testar em profundidade quando este visita uma página para testar e detectar erros. Eric está a desenvolver uma ferramenta para reter a totalidade das acções do utilizador, registá-las e potencialmente efectuar uma reprodução das mesmas para ver onde ocorrem erros. Isto pode ajudar a evitar o problema de algué dizer "Não me lembro a aplicação simplesmente rebentou!"

Pode ser uma ferramenta para o laboratório de usabilidade do pobrezinho . Se puder reproduzir a interacção do utilizador com a página, pode observar exactamente onde e o que é que ele clicou e onde é que a sua aplicação funciona e onde é que não. Uma ferramenta deste tipo não deve ser de desenvolvimento simples mas pode ajudar nos testes e monitorização de aplicações Ajax

03 novembro, 2005

Que dia

Que dia

netvibes.com start.com live.com Maps Yahoo Infraestruturas AJAX Open Source com Suporte para Serverside Java eHub
Microsoft contra o Vale da Sílica
Produto Concorrência
Windows LiveYahoo,Google, AOL,Salesforce.com, Zimbra
Office LiveGoogle, 37Signals
Live MessengerSkype-eBay, Friendster, Plaxo, AIM, Google Talk, Yahoo, Google (Sidebar), Apple
Microsoft GadgetsWidgets
Microsoft MapsGoogle, Yahoo, Mapquest*, etc

O único que se pode usar cá mas de facto não tendo interface tão moderno quanto os outros.

AJAX-II

AJAX

Parece que os desktop virtuais estão novamente na moda. Live.com, start.com , netvibes.com, protopage.com, etc...

Visualmente são quase todos funcionais (no caso das entradas da microsoft só parcialmente e num caso não em firefox) e agradáveis. Podemos em todos eles arrastar, largar, adicionar e apagar novas "secções". No caso do protopage e do netvibes a funcionalidade é custumizável e persistente (mantendo-se para as sessões seguintes).

Por enquanto as aplicações são limitadas no caso da protopage a notas (substitutos electrónicos dos post-it), listas de tarefas a executar, ligações favoritas e buscas rápidas, nas ofertas da microsoft podemos ainda assinar notícias, ver a metereologia (inclui Lisboa e outras localidades aqui à volta) e por exemplo embeber o nosso correio (hotmail ou live).

Construção de acessibilidade universal

Construção de acessibilidade universal e lista de verificação

Esta secção trata de assegurar que um website do governo (UK) é desenvolvido para servir a maior audiência possível usando o mais alargado número de sistemas (plataformas de hardware e software) e que as necessidades dos utilizadores com incapacidades são levadas em linha de conta.

Não podemos contar que os nossos utilizadores tenham tecnologia padronizada, assim, para assegurar o acesso à nossa informação na web o ónus está do lado dos nossos administradores da web para levar a mensagem para benefício de todos.

É muito importante que a organização do seu sítio da web seja centrado no utilizador e usável desde o início mas mantenha o nível de acessibilidade e usabilidade ao longo da sua existência.

Utilize cada um dos pontos de verificação para assegurar que as suas páginas de web estão conformes estas directrizes.

Diretrizes Nucleares

    Lista de Verificação
  • Mantenha as páginas simples
  • Seja consistente ao longo de todo o website
  • Utilize o HTML como formato de informação por omissão
  • Não devem ser usados métodos específicos de um navegador num website
  • Usar um mínimo de imagem - usar imagens de pequenas dimensões se possível
  • Não dependa da cor para transmitir informação
  • A cor do texto deve contrastar sempre com a cor do fundo
  • Use HTML para estruturar o documento, não aplique estilo
  • Use Folhas de Estilo em Cascata para formatar e dar estilo aos elementos fundamentais do website
  • Os tamanhos dos tipos (de letra fonts) devem ser possíveis de alteração pelo utilizador final - não os defina de forma absoluta
  • Qualquer cor deve ser passível de alteração pelo utilizador final
  • Todas as imagens importantes devem ter um atributo "alt" e descrição
  • As descrições do atributo "alt" devem ter significado
  • Uma barra de navegação, em texto, deve ser usada ao mesmo tempo que um "salto à navegação"
  • Devem ser fornecidos métodos alternativos de navegação para quem não possa usar um dispositivo de orientação
  • Se usados imagemaps então têm que ser no formato do lado do cliente
  • Deve ser dada uma alternativa em texto se forem usados imagemaps
  • É obrigatório fornecer uma versão alternativa em texto de qualquer informação fornecida em formato áudio ou vídeo
  • Qualquer informação que seja fornecida que exija um plug-in deve também ser fornecida em HTML
  • Todas as páginas devem estar conformes o padrão WAI nível A
  • Os logos WAI apropriados devem ser apresentados na página de entrada de uma organização para ilustração da conformidade com as recomendações W3C

Sumário

Existe um mito que o desenvolvimento de websites acessíveis e de páginas inclusivas seja caro, que tenham que ser chatas e aborrecidas, que tenham de ser escritas para o menor denominador comum - tal não é verdade! Também não é verdade que os utilizadores tenham que ver uma página web da forma que um designer a pensou. Com a proliferação de navegadores, tamanhos de ecrãs, profundidades de cor e outras preferências do utilizador não é possível frequentemente que uma página seja vista da mesma forma por todos.

O que é importante é que os utilizadores devem poder ver uma página da forma que desejem ver com o que equipamento que tenham disponível e evitar más experiências que resultem em redução de visitas repetidas.

A integração da acessibilidade no processo de desenvolvimento de websites cria websites de forma eficiente que trabalham correctamente para o maior número de pessoas na maior parte das situações - isto significa mais utilizadores. O desafio aos responsáveis pelo desenvolvimento de web é a criação de páginas que sejam simultaneamente visualmente apelativas e completamente acessíveis para um espectro de utilizadores alargado.

Estamos a entrar num mundo em que gerir um número diferente de versões do mesmo conteúdo se irá torna num padrão. Irá provavelmente fornecer conteúdo diferente a meios diferentes tais como dispositivos móveis. Irá provavlemente conceber e escrever conteúdo de forma a comunicar com diferentes audiencias também. O advento da banda larga significa que o conteúdo multimédia se irá tornar cada vez mais apropriado.

Igualmente, para tornar um website inclusivo, há necessidade de existirem alternativas para suportar pessoas e sistemas com capacidades diferentes. Não se trata só de pessoas com incapacidades. Alguns sistemas corporativos estão protegidos com firewall para extrair conteúdo activo. A acessibilidade é também algo quando se comunica com uma audiência de negócios.

  • Se forem usados frames, é necessário usar um elemento noframes e cada frame dentro do frameset deve ter um título.
  • Os scripts e as applets devem ser complementadas por um elemento noscript para aqueles utilizadores que acedam com navegadores com scripting indisponível ou com firewalls que o bloqueiem.
  • é necessário fornecer equivalentes textuais, ou transcrições a elementos não textuais - multimédia ou informação apresentadas de forma gráfica
  • Páginas alternativas textuais devem ser raramente necessárias e não são consideradas boas práticas. Se forem usadas páginas só de texto então o seu conteúdo:
    • Deve ser tão completo e amplo quando a de conteúdo gráfico
    • Deve ser actualizada em simultâneo
  • A cor não deve ser usada como única forma de transmitir informação
  • Navegação - os utilizadores invisuais devem ter meios alternativos de interação com menus, barras de ferramentas e elevadores, ligações etc

Web Standards em Portugual

Web Standards em Portugal

Por vezes sou um chato em relação à utilização de web standards e da importância dessa utilização. Não me preocupo só com os aspectos formais da questão mas preocupa-me a utilização por exemplo de html (ou xhtml) que não esteja conforme os standard.

O problema é que normalmente a uma má (lei-a-se não conforme os standards) utilização de elementos e/ou atributos no html sucede uma má experiência de utilização por parte dos utilizadores do sítio.

Dizendo de outra forma validar html e/ou css não deve ser um fim mas um meio para alcançar algo. Isto não significa que não possa haver situações onde não haja validação. Agora coisas básicas como um charset mal indicado, um DOCTYPE mal indicado não são aceitáveis.

Por exemplo quando se quer massificar a utilização das declarações electrónicas no ministério das finanças devia ter-se em conta que nem toda gente tem instalado JAVA no seu computador, nem todas as pessoas chegam à página das declarações da mesma forma. A necessidade de scripting aparece como uma mensagem ao visitante "o seu navegador não tem capacidade de scripting ou esta está desactivada". O que devia suceder era haver conteúdo alternativo em seu lugar e não isto (mas é melhor que o caso que me trás hoje aqui). Ao dificultar a um certo número de pessoas a usabilidade do sítio está-se de facto a fomentar a sua não utilização. Se um dia for obrigatória a entrega de todas as declarações por via electrónica espero que se lembrem de todos e não façam como a FEMA nos EUA que usou formulários que só podiam se preenchidos no IE para pessoas que pedissem ajuda na sequência do Katrina.

Se o computador estiver por detrás de uma firewall, que extirpe elementos activos, podem mesmo não ter acesso a nenhum dos conteúdos activos existentes nesta página e não há uma degradação que seja aceitável.

O Ministério da Saúde

O ministério da saúde está agora a construir a sua nova presença na Web, não faço ideia se têm nesta nova versão este tipo de coisas em mente. Espero que não usem a técnica no sítio da Direcção Geral de Saúde, sem javascript, página em branco.

O respectivo construtor masterlink.pt parece ter muito cuidado com o aspecto gráfico esquecendo que a concepção de páginas web ultrapassa em muito o aspecto. Esta estratégia provoca problemas para quem necessitar ampliar o texto, mesmo que tenha o JavaScript activo.

Ou seja o código até pode ser de 1ª água (não sei porque não o verifiquei ainda) mas se verificarem as regras de acessibilidade e usabilidade (quem não tem acesso nem sequer pode usar) é dito que no caso de um conteúdo importante ser obtido com um script se deve fornecer uma alternativa (noscript). Parece-me que o conteúdo (todo neste caso) do sítio é a sua razão de existência, pelo que não me passa sequer pela cabeça que se fez um sítio para só ser visto com JavaScript activo. Por acaso adoraria ser mosca.

Realmente o sítio da Direcção geral é um sítio com frames (gerados pelo JavaScript). Não entendo que razão possa levar uma entidade pública a criar/deixar criar um sítio deste género. Mas deve haver alguma que não seja pura incompetência do dono ou excesso de zelo na obfuscação do conteúdo.

Já repararam que uma das regras básicas de construções de sítios governamentais numa série de países a primeira coisa que têm é uma exigência de simplicidade...como podem ler nesta minha tradução apressada: construção de acessibilidade universal do sítio do governo de sua majestade.

30 outubro, 2005

Candidaturas à Presidência e Web Standards

Nem na porra de páginas acabadinhas de fazer... O João Craveiro, colocou no seu site uma página muito semelhante à página da candidatura de Cavaco e Silva à Presidência da República. Às vezes faço uma leitura demasiado apressada e dá nisto. Vejo uma simulação melhor que o original. E gosto do que vejo (não não estou a falar de política, mas do código da página simulada). Só então reparo que aterrei primeiro na simulação. Depois vou ver a página oficial e... Está à vista que nada mudou continuamos a apertar porcas com chaves de fendas na construção de websites. Penso que os construtores de websites devem ter necessidade de alguém que lhes ensine que uma chave de fendas não serve para apertar uma porca e que uma tabela num website deve ter informação tabular e não deve ser usada para criar arranjos de páginas. Ou será que quem a fez nunca olhou para as especificações do W3C e de algumas explicações para o uso correcto dos elementos num página (e já agora respectivos atributos). Os defeitos que o João encontou no sítio oficial, encontram-se nos sítios dos restantes candidatos (Soares, Manuel Alegre, Manuela Magno (chega a ter páginas com duas(?) declarações DOCTYPE [é um site assinado por uma empresa, provavelmente a evitar, se a qualidade dos restantes sítios for semelhante]), Francisco Louça. Jerónimo de Sousa é um caso à parte usa frameset e tabelas. É claro que é um site para não ser visitado via telemóvel. Já agora em alguns dos restantes também nada se vê por terem posto botões gráficos em vez de texto (com eventual subsituição/sobreposição) para dispositivos que os pudessem apresentar. Não digo que apliquem técnicas semelhantes às do Stu Nicholls para simular frames, ou as técnicas para criar um arranjo harmonioso de com várias colunas, as do João devem são adequadas e perfeitamente nacionais. Só não digo para o contratarem pois pode acabar por gastar algum tempo mais do que os 45 minutos que investiu na criação do seu modelo. Aliás as candidaturas parecem achar que não vale a pena sequer o esforço de permitir o acesso a partir de dispositivos alternativos como os telemóveis ou os televisores. Quase que me apetece fazer versões de texto, sem grafismos, com som, para cada uma das candidaturas. A candidata Manuela Magno tem o sítio alojado num servidor lento ou então com muitos hop entre mim e o site dela (demora muito mais do que 15s a ter algo de útil para ver). A candidatura de Mário Soares tem um títulos(?) com umas cores com baixo contraste