Arquivo

Textos com Etiquetas ‘software’

Breve história do nosso idioma e da tecnologia

28, março, 2010 Bruno Sem comentários

Naqueles tempos, poucas pessoas possuíam um computador em casa no Brasil. O equipamento já havia adquirido status de item de luxo entre os eletrodomésticos, mas sua real utilidade no cotidiano ainda era questionada. o computador ainda era, para todos os efeitos, supérfluo.

Isto foi há 15 anos atrás. A internet se esgueirava tímida nos primeiros comerciais. Os poucos provedores disponíveis, como o gigante norte-americano AOL (América Online) e o recém criado brasileiro UOL (Universo Online), disputavam usuários com as BBS (Bulletin Board System), sistemas simples de texto-puro, isolados cada qual em sua própria rede de usuários, e mantidas muitas vezes por uma só pessoa.  Não demorou muito para a internet se popularizar, e junto a ela os primeiros softwares de comunicação via internet, como o ICQ e o IRC. Foi neste cenário em que começou um dos maiores processos de mudança que a língua portuguesa sofreria nas últimas décadas.

Como não era possível utilizar acentos na maioria das aplicações estrangeiras, desenvolvendo-se por necessidade o uso de palavras que imitam a fala, como o naum e o eh. O que na época era uma solução linguística para uma limitação tecnológica, propagou-se como uma gíria para a nova geração - que sequer conhece a história e dispõe de acentos em profusão nas aplicações modernas.

Foram a internet e os celulares que trouxeram as abreviações exdrúxulas – muitas vezes baseadas apenas em consoantes - para a língua, como vc e tc. A primeira, devido à alta velocidade que imprime nos diálogos de comunicadores instantâneos, provocando o encurtamento do diálogo e o menor cuidado com o texto. O segundo, pela inconveniência do minúsculo teclado numérico agrupado, além da limitação do total de caracteres.

A tecnologia também trouxe uma avalanche de estrangeirismos para a língua portuguesa, alguns dos quais ganharam um lugar ao sol nos dicionários, como o famigerado deletar.

Essas mudanças são vistas com olhos suspeitos pela maioria dos literatos e profissionais da língua. Muitos falam da destruição do nosso idioma em virtude do uso massificado da tecnologia. Fatalismos à parte, entenda-se que a tecnologia oferece apenas os meios de comunicação, e é agnóstica no que se refere ao bom ou mal português. No mais, o uso específico no ambiente virtual de abreviações, gírias e estrangeirismos, não atrapalha necessariamente  a boa educação e os hábitos de leitura.

Categories: Análise Tags: ,

Projeto Natal

5, julho, 2009 Bruno Sem comentários

Como de costume, a indústria de games mostra-se mais inventiva e inovadora que a de tecnologia pessoal e empresarial, dando um grande passo ao futuro em UX (User Experience) com o Projeto Natal da Microsoft.

Batizado em homenagem à capital do Rio Grande do Norte, cidade de origem de um dos responsáveis pelo projeto, o produto é a evolução das últimas tecnologias de reconhecimento de gestos, como o Wii.  Acoplado a um Xbox, o Natal reconhece os movimentos e as vozes dos jogadores, traduzindo-os para o ambiente virtual do jogo, de forma que controles perdem a utilidade. É possível, por exemplo, dirigir o carro de um jogo pela simples simulação dos movimentos da direção, ou responder verbalmente às perguntas de um jogo de quiz. Diferentemente de outras tecnologias similares, o Natal reconhece a profundidade do ambiente e o movimento dos jogadores no espaço, diferenciando as pessoas por imagem e voz. Além disso, é capaz de digitalizar objetos e disponibilizá-los no jogo.

Com o Natal, a Microsoft ameaça o Wii da Nintendo, que torna-se - para todos os efeitos - uma tecnologia obsoleta, e o Playstation da Sony, cujo mercado é progressivamente dividido com a Microsoft. Mas não é só isso. Assim como as revoluções trazidas pelo toque, com tecnologias como o iPhone e o Surface, o Natal é o grande representante da computação comandada por gestos e voz. As aplicações destas nova tecnologia são inúmeras, abrangendo da computação pessoal a campos específicos, como medicina e educação. Aliado a projetores, e eventualmente a hologramas, o Natal proporcionaria a integração perfeita entre o mundo virtual e o real. Seria possível projetar cenários e elementos em um ambiente, e identificar e reproduzir a interação dos usuários com este mundo. Isto permitiria a um médico realizar uma cirurgia remotamente em uma simulação gráfica do corpo de um paciente, ou a um arquiteto construir um prédio em um modelo gráfico, com as próprias mãos.

O Natal tem data de lançamento estimada para 2010. O Gartner, mais respeitado instituto de pesquisa de TI do mundo, anunciou a morte do mouse em até cinco anos. Os próximos anos, sem dúvida, serão palco de inovações incríveis em usabilidade.

Categories: Análise Tags: ,

Software: Forma e Conteúdo

5, abril, 2009 Bruno Sem comentários

É justo afirmar que experiência de usuário em desenvolvimento de software é um assunto ao qual não se dá muita atenção, especialmente em aplicações voltadas para negócio, que em geral possuem um apelo visual pobre e operam no mesmo paradigma de vinte e cinco anos atrás, quando as primeiras interfaces gráficas foram disponibilizadas em produtos. Este cenário tem mudado nos últimos anos e parece que enfim atingirá o mercado como um todo, trazendo mais qualidade à experiência do usuário.

No começo eram as telas pretas e os caracteres mono-espaçados flutuando no display, até que a Apple introduziu o Macintosh OS em 1984, a primeira aplicação comercial a utilizar interface gráfica. A idéia foi reaproveitada dos laboratórios da Xerox, que em 1973 desenvolveu o Xerox Alto Personal Computer, o primeiro computador a utilizar interface gráfica. A Xerox, por sua vez, emprestou o conhecimento de participantes do projeto On-Line System, da Stanford Research Institute, que supreendentemente data dos anos sessenta, já utilizando conceitos como mouse, janelas e hyperlinks.

A revolução visual começou com a popularização da Web que – ao contrário dos desktops, orientados predominantemente a janelas e controles – é estruturada para interação puramente visual, uma plataforma primariamente de apresentação de via única. Em seu trajeto, contudo, a Web passou por diversas reformas conceituais, sendo utilizada para aplicações outras que meros portais de texto e imagem. Ao mesmo tempo, as aplicações de desktop aproximaram-se da Web, resultando em uma busca simultânea por maior qualidade de interação e maior responsividade na Web, e maior qualidade gráfica no desktop.

O Adobe Flash, antigo Macromedia Flash, foi um dos softwares que acompanharam arduamente a evolução da Web. Enquanto suas primeiras edições contemplavam exclusivamente apresentações gráficas, a demanda por inteligência integrada ao visual aumentava. A Macromedia acompanhou essa evolução da melhor forma que pôde, integrando uma linguagem de programação ao Flash e controles ricos à biblioteca. Este melhor, contudo, não foi bom o bastante. O Flash tornou-se uma plataforma confusa e pouco produtiva para desenvolvimento de aplicações minimamente complexas. A lição aprendida desta trabalhosa migração resultou no Flex, um produto redesenhado para desenvolvimento de aplicações ricas.

A verdadeira reforma da experiência de usuário, contudo, foi trazida pelos frameworks gráficos de plataformas orientadas a objeto, como o WPF e o Silverlight da Microsoft (baseados na plataforma .net) e o JavaFX da Sun. Através da integração entre plataforma de desenvolvimento e gráficos, estas tecnologias possibilitam, enfim, a criação rápida de aplicações poderosas e visualmente atrativas. A Microsoft em especial está apostando no futuro das aplicações visuais ricas e na convergência dos desenvolvedores e dos designers, a começar por seu evento anual MIX, cujo propósito é unir em uma mesma platéia os dois públicos e instruí-los nas disciplinas complementares.

A chegada de UX (User eXperience) ao foco das grandes plataformas de desenvolvimento parece anunciar, por fim, a chegada de UX ao público e às aplicações de negócio.

Categories: Análise Tags:

Windows Vista: Um fracasso de percepção – Parte 3: Windows 7

11, março, 2009 Bruno Sem comentários

O fato mais intrigante nessa história de ódio mortal ao Windows Vista, um sistema que é no mínimo competente e razoável, é a dramática inversão que a Microsoft está alçando com o Windows 7. Ainda em versão beta, a maior parte das pessoas parece mais do que otimista: convicta da qualidade do novo sistema.

Observo que muitas dessas opiniões não são embasadas em benchmarks ou testes, mas sim na mera publicidade. Principalmente na publicidade das revistas. Estas, que atualmente parecem progressivamente estúpidas e iguais, como que saídas de uma enorme linha de produção, alardeiam que o sucessor do Vista acabará com o maligno reinado de má-qualidade e problemas intermináveis da versão atual. Ou, conforme a revista Exame da primeira semana de março de 2009: “O novo sistema operacional da empresa, o Vista, que substituiu o Windows XP em 2007, teve um lançamento catastrófico com uma série de falhas e defeitos que emperravam as máquinas e impediam sua conexão com outros equipamentos”.

Categories: Análise Tags:

Arquitetura de Software: Como não fazer

10, fevereiro, 2009 Bruno Sem comentários

A função primordial de um arquiteto de software consiste em definir a melhor forma de desenhar e construir um sistema, isto é, como fazer. Há também outra disciplina tão importante quanto esta que é imprescindível ao arquiteto, mas muitas vezes é relegada ao esquecimento: como não fazer.

Em geral, o requisito-desafio de um projeto ou produto, que pode eventualmente causar problemas no futuro, é aquele que é por demais complexo ou aquele que envolve tecnologias desconhecidas ou nebulosas à equipe. Simplificar a tarefa numa primeira fase, ou postergá-la para uma próxima fase é a chave para uma evolução segura e progressiva da tarefa e seu entedimento. Em duas regras simples:

  • A arquitetura de um software deve começar pelo menor e mais seguro escopo possível, evoluindo gradativamente em recursos.
  • Se não há uma forma concisa, objetiva e confiável para desenvolver uma funcionalidade, é melhor não desenvolvê-la.

A receita de sucesso em desenvolvimento de software é operar sempre em solo seguro. Reduzindo o escopo e utilizando técnicas conhecidas, os riscos habitam um universo conhecido e gerenciável.

Categories: Análise Tags:

Windows Vista: Um fracasso de percepção – Parte 2: Segurança

27, janeiro, 2009 Bruno Sem comentários

Desde os primeiros meses, o Vista mostrou-se um sistema de segurança sem precedentes na franquia Windows. Análises apontam que o número de correções realizadas no Vista é inferior ao dos concorrentes MacOS e as principais distribuições Linux. Estas análises são constantemente alvo de críticas e acusadas de parcialidade. Sua mera possibilidade, contudo, provam que o Vista é um sistema, no mínimo, à altura de seus concorrentes no que concerne a segurança.

No último concurso de exploração de falhas de sistemas operacionais, promovido anualmente na conferência CanSecWest, o MacOS foi invadido em dois minutos através de uma falha no Safari. O Windows Vista levou dois dias para ser quebrado, e ainda assim foi através de uma falha no JVM. O Linux não foi invadido.

Uma das frequentes críticas ao Windows Vista, que ocorria principalmente em seus primeiros meses, é sobre a impertinência do UAC, o User Account Control. O UAC visa blindar o sistema operacional rebaixando as permissões de todos perfis de acesso, e exigindo a interação do usuário para qualquer atividade potencialmente perigosa. As mensagens exibidas pelo UAC incomodaram alguns usuários. Parece que muitos deles não pensaram em desativá-lo, tarefa simples e amplamente divulgada em revistas que pode ser realizada com poucos cliques.

Categories: Análise Tags:

Windows Vista: Um fracasso de percepção – Parte 1: Performance

29, dezembro, 2008 Bruno 2 comentários

Após dois anos de estrada e 140 milhões de dólares em vendas, o Windows Vista ainda é uma polêmica. Suas vendas são satisfatórias, mas não sensacionais. A mídia em quase sua totalidade e uma grande quantidade de usuários classificam o sistema como uma grande falha da Microsoft, apontando problemas geralmente nebulosos, enquadrados principalmente em performance e segurança.

Usuário do Windows Vista desde o dia de seu lançamento, nunca entendi muito bem estes questionamentos, a começar pela performance. Utilizo o Windows Vista para desenvolvimento em Visual Studio 2008 com Sql Server 2008; modelagem 3D com o Alias Maya 2009; host do Virtual PC e máquinas virtuais com Windows 2003 e 2008; e esporadicamente para jogos pesados como Call of Duty 4 e Age of Empires III. Tudo isso com um notebook DualCore e um desktop Pentium 4, com 4GB e 2GB de memória, respectivamente. Não tenho problemas com performance e estabilidade.

Como todo sistema novo, contudo, o Vista consome mais recursos que o seu antecessor. Utilizar um processador de baixa performance ou menos de 1GB de RAM não é aconselhável para o Vista. Por outro lado, uma máquina preparada para o Windows Vista será ainda mais performática que outra com o Windows XP, por alguns motivos:

  • Melhor gerenciamento de memória
  • Melhor suporte a n-núcleos e multi-processamento
  • Carga dinâmica de aplicações na memória (SuperFetch)

Além disso, o Windows Vista trabalha em rede muito mais rapidamente que o Windows XP, e lida com jogos com uma performance muito similar, quando não igual ao seu antecessor.

Categories: Análise Tags:

Microsoft CRM: A um passo do sistema genérico

11, junho, 2008 Bruno Sem comentários

O Microsoft Dynamics CRM, software de curta e promissora trajetória, é um divisor de águas na história dos sistemas altamente customizáveis. Desenvolvido 100% em .net, e completamente baseado na Web em sua recém-lançada versão 4, oferece uma estrutura robusta de criação de entidades para personalização do sistema. De fato, é uma estrutura tão robusta que as próprias entidades nativas do sistema se baseiam nela.

Para mapear o banco de dados, o CRM utiliza o conceito de entidades e atributos, análogos a tabelas e campos. Ao criar uma nova entidade através da própria interface Web, o CRM oferece uma estrutura completa de operações CRUD, formulário e listagem, localização avançada, ativação e desativação de registros, detecção de duplicatas, criação de relatórios e extensões de workflow. Internamente, o CRM armazena as informações da entidade numa tabela de metadados e os dados em uma tabela física, específica para cada entidade. Além disso, expõe uma View sumarizando os dados e um WebService com os atributos da entidade e todas as operações disponíveis.

Vale ressaltar que o Microsoft Dynamics CRM é um sistema multi-empresa e multi-idioma, e que a maior parte dos processos descritos acima são realizados com a facilidade característica dos sistemas Microsoft. Além disso, pode ser utilizado integrado ao ActiveDirectory, conversa com o Exchange e pode ser acessado (também em modo off-line) de dentro do Microsoft Outlook, oferecendo a novos usuários uma curva de aprendizado e adaptação mínima.

A estrutura de entidades personalizadas do CRM é tão flexível, que não é raro encontrarmos empresas utilizando o sistema para tarefas que fogem do escopo de Customer Relationship Management.

O Microsoft Dynamics CRM é, de longe, a ferramenta personalizável mais poderosa e simples de usar já criada. É a base perfeita e 90% concluída de uma plataforma para criação de sistemas genéricos.

Categories: Análise Tags: ,

A Qualidade do Software nas Empresas e o Desenvolvedor

16, maio, 2008 Bruno Sem comentários

Na maior parte das consultorias de informática de médio porte, a preocupação com qualidade de código é mínima. Mais do que um mero preciosismo, trata-se de uma questão prática: a qualidade do código produzido é inversamente proporcional a quantidade de problemas e retrabalho. O código despreocupado gera ameaças de segurança, bugs e lentidão. O cuidado e o zelo com a produção intelectual não apenas diminuem a incidência desses problemas, como também atestam a qualidade do software da empresa para clientes e parceiros.

Podemos enumerar facilmente os três pilares da qualidade de desenvolvimento de software: Em primeiro lugar, todos os desenvolvedores devem ser treinados na tecnologia que utilizam. Segundo, planejamento deve preceder todo o desenvolvimento. Por fim, todo desenvolvimento deve ser respaldado por um conjunto de padrões e melhores práticas que indiquem o melhor caminho a se tomar em pontos duvidosos. Estes são os itens básicos para assegurar uma qualidade mínima de código.

Durante o amadurecimento de uma empresa, mais cedo ou mais tarde acontecerá uma iniciativa, de cima para baixo, para resolver essas questões. Este é um movimento inequívoco e obrigatório, que acontece em função do aumento de problemas que vêm do crescimento da estrutura. Cabe, portanto, uma pergunta: Existe alguma razão para isso não ser levado a cabo mais cedo do que de costume? Para os desenvolvedores, que costumam ser os mais penalizados por esses problemas, é especialmente difícil entender porque que a empresa não pode tratar dessas questões mais cedo.

A resposta é muito simples: para a diretoria, enquanto os processos internos forem eficazes o suficiente para captar dinheiro do mercado e trazer lucro, não há problemas dignos de atenção. Com o aumento da produção, estes problemas começam a gerar buracos respeitáveis no orçamento. Além disso, os clientes de maior porte tendem a exigir maior qualidade e segurança. É neste momento que a empresa começa a mudar.

Será possível forçar a empresa a preocupar-se com essas questões antes do seu tempo natural, numa iniciativa de baixo para cima? É difícil, mas não é impossível. Cabe ao(s) desenvolvedor(es) a missão de apresentar para seus superiores um problema que eles não conhecem, e propor uma estratégia para solucioná-lo.

Categories: Análise Tags:

Mudanças de Mentalidade da Microsoft

30, janeiro, 2008 Bruno Sem comentários

O ser humano tem uma inerente dificuldade em quebrar paradigmas. Na informática isso é facilmente observável, pois tudo é muito dinâmico.

A Microsoft sofre por faltas do passado até hoje, e a meu ver, muitas vezes injustamente. Uma das principais acusações é aquela da empresa monopolista e fechada. Quanto ao caráter monopolista, não sei se há muito que dizer. Toda grande corporação é obviamente monopolista, mas é difícil considerar a Microsoft um ícone do monopólio, afinal de contas, seu “crime” é praticado por todos: Comprar empresas menores e vincular a venda e distribuição de produtos novos com produtos existentes. A diferença é que ela faz isso melhor que a maioria.

Outra acusação comum é quanto à arquitetura fechada dos sistemas da empresa. Diferentemente do passado, contudo, a Microsoft tem mostrado uma mentalidade aberta há anos. O .Net foi a grande virada nesse sentido. Podemos enumerar como exemplo:

  •  O .Net Framework e o C# possuem especificações públicas ECMA.
  •  O Visual Studio .Net 2003 foi construído com a preocupação de gerar HTML compatível com diversos navegadores.
  •  Abertura do código-fonte da maior parte do Framework para consulta e depuração.
  •  Migração de COM+ para XML e SOAP.

Mas não é só no .Net que vemos esse tipo de iniciativa. Também podemos citar a recente notícia de que o Internet Explorer 8 seguirá rigidamente os padrões do W3C, a criação do site OpenSource CodePlex, a mudança de formato dos documentos do Office para XML, a iniciativa de maximizar a compatibilidade do PHP com servidores Windows, etc.

Como vemos, é clara a incursão da empresa num modelo de pensamento e atuação mais aberto. Só falta dar o braço a torcer.

Categories: Análise Tags: