Google Health e a privacidade

Foi anunciado na semana passada no Meio Bit e essa semana na Info Online o novo produto do Google. O Google Health é um sistema que promete revolucionar a medicida permitindo que os dados de vários pacientes estejam disponíveis para que os médicos possam acessá-los sem a necessidade de ler pilhas de documentos e exames que muitas vezes pouco importam para o caso em estudo. Mas como essas informações chegarão aos médicos?

Em um mundo onde as pessoas reclamam da invasão de privacidade em redes sociais, mesmo após terem colocados todas as suas informações como públicas, um sistema com informações médicas pode ter consequencias fatais nas mãos de usuários sem a devida orientação.

A minha primeira preocupação é o histórico de diversas pessoas circulando pela internet porque algum hacker conseguiu a senha desses usuários. Como o sistema de autenticação do Google é o mesmo para todos os serviços, a sua senha do email ou do Orkut pode ser utilizada para conseguir o seu último exame de sangue.

Além disso, existe a definição de visibilidade das informações. Como as telas que fazem essa configuração não foram apresentadas, fico pensando em como informar ao sistema quais informações desejo compartilhar com qual médico. Isso pode ser crítico em casos que o paciente deseja uma segunda opinião e corre o risco de esbarrar na ética profissional, com questionamentos sobre o diagnóstico de um colega de trabalho.

Com o amadurecimento da ferramenta, muitos problemas serão identificados e resolvidos mas em um mundo cada vez mais online, devemos pensar bastante antes de colocar qualquer informação disponível na Internet sob o risco de ficarmos superexpostos.

Comentários

E o Riocard parou…

Se você mora em Niterói e usa a Barca com o Riocard, deve ter passado por maus bocados no começo desta semana. Em uma falha da atualização do software que verifica a validade dos cartões, várias pessoas foram impedidas de utilizar a embarcação e alguns ônibus por sistema apresentava uma mensagem de "tempo limite ultrapassado".

Para o usuário o problema era imediato, que impossibilitado de passar nas roletas tinha de apresentar o cartão para o número ser copiado e debitado futuramente. No entanto, certos ônibus sequer deixavam os passageiros embacarem por não saber do ocorrido.

Estranho é pensar nas causas que levaram a todo esse transtorno. A Barcas S.A. ignorar completamente o fim do horário de verão e não atualizar o sistema de catracas como solicitado pela Fetranspor, implementadora do sistema. E os desenvolvedores do sistema que não cogitaram essa possibilidade e não criaram uma forma de desligar essa validação ou processar tudo em modo offline, obrigando o uso do papel e caneta para controlar os passageiros.

E no meio desse fogo cruzado entre infraestrutura e desenvolvedores, quem paga a conta é o usuário.

Comentários (1)

IE8 e a retrocompatibilidade

Com a notícia de que o IE8 passou no teste ACID2 muitos desenvolvedores ficaram preocupados que seus sites desenvolvidos especialmente para funcionar no IE8 parassem de funcionar. Esse medo se dá, em grande parte, pelo browser não adotar os padrões da W3C e também pelo famoso "quirks mode" que permitia o desenvolvimento de páginas sem o DOCTYPE definido.

O IE7, que vem sendo adotado nas residências gradativamente, já mostra alguns problemas de compatibilidade com as antigas versões, enlouquecendo diversos administradores. Com a maior compatibilidade com o CSS 2.1, algumas páginas estão sendo renderizadas de forma diferente do esperado. De qualquer forma, a regra adotada pela Microsoft é a seguinte:

Se o documento possui um DOCTYPE, ela rendiriza seguindo os padrões W3C da melhor forma possível, caso contrário renderiza como der na telha.

Assim, a equipe da Microsoft começou a procurar uma solução que agrade a gregos e troianos. Enquanto o IE8 deve renderizar as páginas conforme o padrão, ele também deve suportar as páginas antigas e renderizar conforme o browser para qual a página foi desenvolvida.

A solução adotada, apesar se simples, não agradou a todos. Para cada página desenvolvida, deve existir uma meta-tag que indica a maior versão compatível com a página. Assim, se o IE8 encontrar um documento para IE6, ele emulará uma máquina virtual (ou qualquer mecanismo semelhante) para renderizar usando o mecanismo daquela versão.

<meta http-equiv="X-UA-Compatible" content="IE=6" />

Caso outros browsers desejem adotar a solução, é possível indicar vários targets em uma mesma tag, indicando as várias plataformas compatíveis.

<meta http-equiv="X-UA-Compatible" content="IE=8;FF=3;OtherUA=4" />

Particularmente acho que é hora de definir até que ponto devemos suportar versões anteriores pois isso só vai deixar os browsers mais lentos, confusos e conseqüentemente mais inseguros. Alguém já pensou que o mecanismo de renderização pode conter vulnerabilidades que ficarão expostas mesmo depois de encerrado o suporte ao browser?

Além disso, a migração de páginas antigas e a adoção de padrões é uma ótima maneira de gerar empregos para profissionais capacitados, e não para webdesigner que criam suas páginas no Word sem qualquer orientação.

Comentários

Meu problema com o Linux…

Nesse fim de ano, como forma de mudar de vida em 2008, decidi adotar o Linux para uso em casa mais como uma forma de conhecer e ajudar meus amigos a abandonar a pirataria. Baixei a última distribuição do Kubuntu e instalei a criança no meu laptop feliz e contente. De início fiquei meio apaixonado por ele graças ao Adept Installer e a possibilidade de conhecer diversos programas gratuitos sem o estresse se procurá-los e instalar um a um. A coisa mais fácil do mundo para o usuário leigo (leia-se, eu!) é selecionar o que quer instalar e clicar no botão “instala”. Sem mais perguntas e sem reiniciar eu tinha o micro com quase todos os programas que precisava, desde o Open Office até o Eclipse IDE.
Meus problemas começaram quando comecei a conviver com ele para realizar minhas tarefas do dia a dia. Primeiro descobri que o meu adaptar wireless não era reconhecido pelo Network Manager e eu precisaria configurá-lo por linha de comando a cada vez que ligasse o computador. Depois minha câmera digital não funcionava direito nos programas disponíveis e o GIMP não é a melhor forma de editar uma foto. A última gota foi quando descobri que meu HD externo trava quando entra no modo de economia de energia e que eu teria que conectá-lo via linha de comando (mais uma vez) pois o sistema não reconhece o NTFS que ele estava formatado. Junte isso ao fato de não conseguir configurar nenhum dos meus programas preferidos de Windows para rodar via Wine e cheguei a decisão de voltar ao bom e velho XP, que posso ligar para a Microsoft e aporrinhá-los quantas vezes quiser.
Não estou dizendo que o Linux seja ruim, ele apenas não está preparado para o usuário leigo. Eu não me importo de procurar uma coisa ou outra na Internet para colocar um software para funcionar, mas fazer disso uma rotina para cada programa ou dispositivo é extremamente cansativo. Em um cliente usamos o mesmo Kubuntu como sistema de um servidor Web e ele nunca causou problemas a equipe que faz o controle. O que deveria acontecer agora é uma conscientização da comunidade Linux para melhorar o sistema para o usuário de forma a torná-lo mais usável e assim facilitar a absorção dele no dia a dia.
Para ilustrar melhor o que disse, segue uma tira que encontrei na Internet e me inspirou a escrever esse post.

The PC Weenies: The problem with Linux

Comentários (1)

Minimizar ou Fechar

Nos sistemas operacionais baseados em janelas, seja ele Linux ou Windows (não posso falar do OSX porque nunca usei…) existem dois botões que são figurinhas carimbadas em quase todas as janelas abertas pelo usuário, o minimizar e o fechar. O primeiro faz com que a janela deixe de ser exibida no desktop e vá para a barra de tarefas. O segundo, como mesmo diz o nome, fecha a janela atual. Ou pelo menos era assim que eles deveriam se comportar…
A idéia de minimizar um programa é deixar ele em segundo plano mas ainda visível para que o usuário possa interagir com o mesmo, como um documento do Word guardado até que você encontre na Internet a referência a ser incluída. Acontece que programas como players de mídia e gerenciadores de downloads se comportam mais como serviços que como programas em si. Assim, qual o motivos dos mesmos ocuparem espaço ou bagunçarem a sua barra de tarefas? Melhor escondê-los em segundo plano até precisar deles.
O iTunes, Winamp, entre outros, usam a estratégia de criar um ícone no system tray para que o usuário consiga acessá-los e remover sua referência da taskbar. Mas a forma que o usuário executa essa tarefa deve ser estudada e padronizada para manter o Princípio da Menor Surpresa. Enquanto alguns programas usam o botão minimizar, outros usam o fechar para a ativação do processo, e o usuário fica sem saber qual botão faz o que no programa em que está mexendo.
O Getright oferecia a melhor solução ao meu ver, no quesito usabilidade. O usuário, além de escolher se o programa deveria ou não ser exibido no system tray, ainda poderia criar um terceiro botão na janela que faria essa função. Assim as funções originais dos botões não seriam sobrescritas, causando confusão no modelo mental do usuário, e a máxima “empower the user” seria seguida.
E pensar que tudo isso começou porque fechei sem querer o iTunes…

Comentários

Processo sim, mas com suporte a ele…

Essa semana recebi um email de uma amiga divulgando o MPS.BR, que é uma iniciativa nacional de desenvolvimento de um processo de melhoria de software que atenda e se adeque ao mercado nacional. Assim como outras soluções para melhorias de processos, como o ISO 9000 ou o CMMI, o MPS.BR envolve uma séria de mudanças no dia a dia dos funcionários da empresa para que eles possam executar todos os objetivos propostos.
Nesse momento que entram as ferramentas de apoio ao usuário. Seja o CVS, uma planilha eletrônica ou um software específico para isso; devemos pensar em quem realmente importa nesse processo, o usuário! Acontece que, mesmo que a empresa defina regras e mais regras, se o usuário achar dificil a execução das mesmas ele vai acabar ignorando passos ou fazendo os mesmo pela metade, o que as vezes é pior do que não fazer a tarefa. Eu sei que isso é verdade porque já trabalhei com processos onde as ferramentas não facilitavam a vida do desenvolvedor e acabava fazendo tudo que acabei de descrever, o que era o terror para as equipes de atendimento e suporte.
Ao escolher a ferramenta ideal devemos pensar que a ferramenta deve dar suporte tanto ao usuário quanto a tarefa. Quando me refiro ao usuário, a ferramenta deve ser construida de forma que o usuário reconheça na mesma elementos do seu dia a dia, falando o mesmo “idioma”. O suporte a tarefa deve ser realizado de maneira a gastar a menor quantidade de energia possivel, permitindo ao usuário concluir de maneira rápida e transparente sua tarefa.
Então entenda… De nada adianta sua empresa adotar o melhor processo para desenvolver o melhor software se metade do custo de seus projetos forem alocados em criação de documentos que poderiam ser otimizados.

Comentários

Internacionalização, Internationalization, i18n…

O conceito de internacionalização de um site não envolve apenas traduzir as mensagem e os demais elementos de texto presentes do mesmo. Como cada cultura possui diversas particularidades, devemos pensar em todos esses aspectos de forma que o visitante não enfrente maiores dificultades ao utilizar o sistema.
O primeiro passo é permitir que o usuário selecione a localidade em que se encontra. Os browser enviam essa informação por padrão a cada request mas sempre existe a possibilidade do usuário desejar alterá-la. Um exemplo é quando você utiliza o sistema operacional em inglês mas deseja acessar sites em português. Nesse caso, seu sistema deve permitir ao usuário alterar sua localização e persistir essa informação enquanto o mesmo estiver conectado. Uma forma de fazer isso é gravando um atributo de sessão para, a cada request, realizar os tratamentos necessários.

Imagens

Uma vez definida a localização em que o usuário está, devemos observar quais características são dependentes da mesma. Muitos sites criam seus layouts com imagens utilizando conteúdo textual, que deve ser alterado para o idioma do visitante. Para o designer do site isso pode ser um grande problema a partir do momento que esse conteúdo seja essencial para a apresentação desejada.

Formatos e máscaras

Informações dinâmicas como datas e números devem ser formatados para a localidade definida tanto na exibição na tela quanto em campos de entrada. Aqui no Brasil é comum usarmos o padrão dia/mês/ano para datas enquanto nos EUA é utilizado mês/dia/ano. Essa regra também é aplicada para campos numéricos, onde pontos e vírgulas possuem diferentes interpretações de acordo com a localização.
Como as unidades de medida também variam de local para local, elas devem ser exibidas no formato correto. Não estou dizendo que você vai precisar armazenar as distâncias em metros e pés no seu banco de dados, mas essas conversões precisam ser realizadas todas as vezes que uma informação for lida ou exibida na tela.
Dependendo da aplicação do seu sistema, ainda podem existir informações como CPF, números de telefone ou campos que passam por processos regulamentares que fazem os padrões mudarem de local para local, inclusive semanticamente.

Textos

A orientação do texto deve ser considerada pois, em alguns idiomas arábicos, o texto é lido da direita para esquerda enquanto nos orientais, também as páginas são passadas do que consideramos fim para o início, da forma que vemos em vários mangás.
A ordem de exibição de lista e textos varia em função da consideração ou não de acentos no texto. Para nós brasileiros, os caracteres a e á possuem o mesmo peso na ordem alfabética enquanto em idiomas saxônicos os caracteres acentuados são colocados ao final da ordenação.

Além de tudo que já falei aqui, existem os aspectos culturais de cada região que são extremamente complexos de ser adaptados em um sistema. O único, e mais gritante, exemplo que me vem a cabeça agora seria um cadastro onde é solicitado o nome da esposa do cliente. Em cultura monogâmicas é meio que óbvio como tratar essa informação, mas como proceder para culturas que aceitam a poligamia? E olha que só pensei superficialmente…

Comentários

Sinta-se em casa…

Meu browser preferido está chegando a sua terceira versão e uma das melhorias anunciadas me agradou muito. Hoje em dia o Firefox possui um layout único independente do sistema operacional que é executado o que, para muitos usuários, pode se tornar confuso pois foge aos padrões a que eles estão acostumados. Mas a partir da próxima versão, os ícones e menus seguirão a mesma linguagem de design do sistema operacional, diminuindo a curva de aprendizado e facilitando a divulgação do browser.
Em ambientes web não vemos esse tipo de padronização pois, como muitas aplicações têm seus estilos criados por designers ou pelo analista que está responsável pelo desenvolvimento, cada um cria seus próprios estilos e o usuário é obrigado a reaprender sempre como interagir com um sistema.
Se a sua empresa está acostumada a adquirir sistemas web de diversos fornecedores, uma boa prática é definir a sua própria linguagem de design, também conhecida como interface guidelines, da mesma forma como foi feito pela Sun. Não que a gigante contrate software de terceiros, mas ela precisou criar um padrão para que as diversas equipes de desenvolvimento seguissem um mesmo estilo e não criassem um emaranhado de botões e estilos que o usuário precise aprender.

Comentários

Será que sou um spam?

Já há algum tempo vinha recebendo a visita constante de “bots spammers”, ou como quer que eles se chamem, aqui no blog. A coisa mais inconveniente disso é que fui obrigado a filtrar os comentários dos artigos e recebia emails constantes para liberação ou não dos mesmos, sendo que na maior parte das vezes eu barrava o comentário. Mas qual a melhor forma de verificar se seus visitantes são mesmo humanos??
A solução mais “clássica” nesse sentido é o captcha, que consiste em uma série de letras deformadas onde o usuário deve digitá-las para confirmar sua autenticidade. Como os caracteres são ilegiveis para programas de OCR, uma máquina não poderia interpretá-los para fazer o envio automático de texto. No entanto, a deformidade aplicada no texto deve ser medida com cuidado porque já passei por vários captchas que não consegui diferenciar uma letra O de um número 0. Nesse caso, se os seus usuários forem de uma mesma região, uma solução é escolher palavras do idioma comum para não gerar ambiguidades.
Outra técnica usada, que só vi até hoje nos sites da Sun, foi utilizar formulas matemáticas simples onde o usuário digitaria a resposta. Como a dois mais dois são quatro em qualquer lugar do mundo, fica fácil para o usuário acertar a resposta. Ao mesmo tempo, qualquer spammer com alguns minutos a mais poderia criar um sistema que localize e interprete a equação, enchendo mais uma vez seu site de comentários indesejados.
Mesmo com todas essas soluções o email continua sendo um problema uma vez que o usuário que envia a mensagem não possui esses recursos de validação e o destinatário que fica responsável por validar se o email é desejado ou não. O uso de black-lists e white-lists costumam facilitar bastante e é justamente na segunda que vou me aprofundar.
As white-lists são compostas de emails conhecidos por você que podem ser encaminhados a sua caixa de entrar sem passar pelo criterio de seleção de spam. O Hotmail coloca os emails suspeitos em uma pasta separada onde o usuário deve selecionar quais deles são confiáveis, fazendo com que os próximos emails daquele remetente sejam liberados sem maiores problemas. Já a UOL solicita ao remetente que acesse uma página e confirme a sua identidade através de um captcha. O grande problema da solução da UOL, ao meu ver, surge quando você conhece diversas pessoas que tenham email nesse provedor. Para cada nova pessoa que você envia um email, você precisa confirmar a sua identidade, independente de já ter feito isso para outro conhecido. Num mundo como esse, será que é tão complicado verificar se eu já confirmei a minha identidade para outra pessoa na mesma base de dados?? Acredito que não.

Comentários

Vamos desenvolver para iPhone!

Parece que precisava o Steve Jobs lançar o iPhone para o resto do mundo cair em si e percerber que, pasmem, pessoas acessam a internet pelo celular. E acreditem, esse é um costume que tenho há quase um ano, desde que comprei meu smartphone.
O grande problema é que o desenvolvimento para iPhone é a coisa mais simples do mundo, uma vez que o Safari embutido nele é capaz de renderizar uma página da mesma forma como se você estivesse no conforto do seu lar, usando um desktop.
Mas quando usamos outros aparelhos o bicho pega! Ou as empresas não possuem um site proprio para acesso movel ou o site movel nao possui informações suficientes e ainda por cima é incompatível com os browsers disponiveis.
Algumas iniciativas estão aparecendo para reverter essa situação. A primeira é o consórcio Dotmobi, que reune empresas como a Nokia, além de registrar dominios com a extensao .mobi para sites moveis disponibiliza ferramentas para desenvolver e testar sites moveis.
Outra solução muito boa, é a versão ainda beta, do Opera Mini 4. O browser possui funções de zoom nos sites, o que permite ao usuario localizar o conteudo desejado mais facilmente e também localiza o conteudo do site automaticamente. Meu grande problema com ele foi na atualização do Beta 1 para o Bera 2, quando perdi todos os meus favoritos.
Agora é torcer para que todas essas tecnologias acabem convergindo e não surja uma guerra do acesso movel, coisa que só complicaria a vida de usuários e desenvolvedores.

Fonte: WebInsider

Comentários

« Publicações anteriores ·