Marcelo's profileExpressions (Inativo)BlogListsGuestbookMore Tools Help

Expressions (Inativo)

Blog sobre Web 2.0, design e usabilidade, focado em tecnologias Microsoft, incluindo Expression, Silverlight, Windows Live e ASP.NET AJAX

Dica

Este blog está inativo. Mudei de ferramenta de blog, e agora estou publicando na Rede Inovadores Digitais http://inovadoresdigitais.ning.com. Visite e assine os novos feeds RSS.


Marcelo Negrini

Occupation
Location
Interests
Former Microsoft (Redmond) employee
No list items have been added yet.

Feed

The owner hasn't specified a feed for this module yet.
Thanks for visiting!
Please wait...
Sorry, the comment you entered is too long. Please shorten it.
You didn't enter anything. Please try again.
Sorry, we can't add your comment right now. Please try again later.
To add a comment, you need permission from your parent. Ask for permission
Your parent has turned off comments.
Sorry, we can't delete your comment right now. Please try again later.
You've exceeded the maximum number of comments that can be left in one day. Please try again in 24 hours.
Your account has had the ability to leave comments disabled because our systems indicate that you may be spamming other users. If you believe that your account has been disabled in error please contact Windows Live support.
Complete the security check below to finish leaving your comment.
The characters you type in the security check must match the characters in the picture or audio.
Public folders

Recent Reading

Loading...Loading...
June 09

Blog Inativo e Novo Blog

Este blog está inativo. Mudei de ferramenta de blog, e agora estou publicando na Rede Inovadores Digitais http://inovadoresdigitais.ning.com. Visite e assine os novos feeds RSS.


April 28

Perguntas e Respostas Sobre Silverlight 2

 

1 - O que é o Silverlight?

O Silverlight é uma tecnologia que permite a criação de experiências ricas, com alta interatividade e conteúdo multimídia na Internet. Com o Silverlight é possível criar interfaces de forte apelo visual, conectadas a transações e bases de dados complexas, criando uma categoria totalmente nova de aplicações.

Isso é possível porque o Silverlight é baseado na plataforma .NET da Microsoft, e as aplicações são criadas com duas ferramentas poderosas: o Expression Studio, para a criação dos elementos gráficos, e o Visual Studio, para a criação da parte transacional, regras de negócio e acesso a dados. As aplicações Silverlight são multi-plataforma e multi-browser, rodando em Internet Explorer, Firefox e Safari, e nos sistemas operacionais Windows e Mac OS X.

O projeto Moonlight (independente da Microsoft) permite que aplicações Silverlight também rodem em Linux.

2 - Quais são as principais diferenças no uso do Flash e do Silverlight?

Existe uma sobreposição grande de funcionalidades entre o Flash e o Silverlight, especialmente no tocante à criação de interfaces de usuário. A comparação correta seria entre Microsoft Silverlight e a combinação de Adobe Flash + Adobe Flex. Eu diria que a grande diferença não está no resultado final, mas no processo de criação.

O Flex foi criado para dar ao Flash, um plataforma criada originalmente apenas para a criação de interfaces, capacidades de acesso a transações complexas. A Adobe procurou oferecer um front-end onde fosse possível a criação de formulários e o consumo de Web Services para acessar transações. Essas transações podem ser feitas em qualquer tecnologia, inclusive .NET, mas o caminho de desenvolvimento do Flex, baseado na ferramenta de desenvolvimento Eclipse, leva para uma integração mais forte com tecnologias não Microsoft, como Java, Rails e outras tecnologias "LAMP" (Linux + Apache + MySQL + PHP).

O Silverlight tem uma origem, e portanto uma afinidade no caminho oposto: apesar de ser possível criar front-ends em Silverlight para tecnologias LAMP, o modelo ideal é o uso do Silverlight integrado ao .NET. Isso por si só já garante uma maior produtividade, pois o ambiente de desenvolvimento é integrado do design à implantação no servidor, passando por desenho de bancos de dados, programação e testes. Além disso, o Silverlight suporta linguagens de script que antes eram associadas ao LAMP, como Python e Ruby.

3 - Quais são as vantagens na utilização do Silverlight?

A principal vantagem é o uso da tecnologia XAML - Extensible Application Markup Language. O XAML oferece uma maneira declarativa, como a do HTML, para a descrição dos elementos de interface, incluindo primitivas gráficas, campos de formulário, elementos de layout inteligente, imagens, vetores, 3D, animações, áudio e vídeo.

O poder do XAML reside no fato de que todos os elementos descritos em XAML têm equivalentes nas linguagens de programação suportadas pelo ambiente (C#, Visual Basic, VBScript, JavaScript, IronRuby e IronPython. Propriedades, eventos e métodos podem ser manipulados e mesmo criados por código, a partir de transações, regras de negócio ou campos de bancos de dados.

Isso permite, por exemplo, que a cor ou o tamanho de um objeto vetorial (como um gráfico de barras, por exemplo) possa ser associado facilmente a uma informação de negócios. Apesar de isso ser possível em Flash/Flex, a produtividade do desenvolvimento em Silverlight/.NET é muito superior. Além disso, o modelo de programação .NET permite que o desenvolvedor consuma transações e dados de todos os servidores Microsoft diretamente, incluindo SharePoint, BizTalk, SQL Server, Dynamics CRM e Communications Server, entre outros.

4 - Quando devemos recomendar o uso de Silverlight?

Em princípio, qualquer projeto que exija alta interatividade e execução dentro do browser podem ser desenvolvidos com Silverlight. Isso inclui a maioria dos cenários hoje desenvolvidos em AJAX (Asynchronous JavaScript and XML) e Flash/Flex. A linha de decisão entre AJAX, Flash ou Silverlight hoje passa pelos seguintes fatores:

  1. Será fácil para o usuário instalar o plugin do Silverlight, caso ele não esteja instalado? Esse hoje é principal ponto de decisão, mas tende a perder importância quando a base instalada de Silverlight crescer. O plugin do Silverlight é bastante pequeno e fácil de instalar, então a questão é se os usuários terão privilégios para instalá-lo.
  2. É uma aplicação inteligente, ou apenas um display de imagens ou animações? A grande maioria das aplicações Flash são hotsites ou banners com muita exibição de imagens e pouca interação real. Quanto mais interação e, especialmente, comunicação com a retaguarda, maior a vantagem em usar Silverlight.
  3. O ambiente de retaguarda da aplicação e/ou da empresa "dona" da aplicação é .NET? Se sim, a recomendação é adotar Silverlight imediatamente. Os ganhos de interatividade e produtividade sobre Flash e AJAX num ambiente que já usa .NET são enormes.
  4. Se a aplicação for desktop, especialmente se for uma aplicação corporativa, talvez o "irmão mais velho" do Silverlight, o Windows Presentation Foundation, seja uma boa alternativa. Os princípios de programação são os mesmos, mas a tecnologia apresenta vantgens sobre o Silverlight para aplicações locais, como acesso a dispositivos e dados com direitos totais (full-trust), e mais classes e funcionalidades .NET do que está disponível no Silverlight.

5 - Existe um perfil de projeto ideal para utilização do Silverlight?

Alguns cenários são bastante adequados ao uso do Silverlight:

  1. Aplicações multimídia baseadas em bancos de dados, no estilo do Flickr ou do YouTube. Desenvolver aplicações desse tipo em Silverlight é extremamente mais simples e fácil de dar manutenção que os complicadíssimos sistemas AJAX em que essas aplicações são baseadas.
  2. Internet Banking e e-Commerce. Essas aplicações têm tudo a ganhar com um paradigma de usabilidade mais próximo de uma aplicação desktop. A facilidade para se manipular listas, grids de dados e gráficos em Silverlight supera em muito qualquer outra tecnologia Web.
  3. Sites de redes sociais e comunicação entre usuários. Aqui as coisas estão apenas começando, mas com Silverlight vai ser possível a criação de verdadeiros cockpits para aplicações sociais, com funcionalidades e aparência muito além do que é possível com AJAX.
  4. Sites de rádios e TVs online. Aqui também a experiência rica e as capacidades multimídia do Silverlight vão permitir a criação de players muito poderosos e integrados a grandes bases de dados.
  5. E-mail. O Silverlight permite a criação de clientes online de email tão poderosos quanto o Otlook, com grande facilidade.

Aqui vale notar a questão de facilidade de desenvolvimento do Silverlight x Flash. Hoje praticamente nenhuma aplicação do tipo das mencionadas acima é desenvolvida em Flash, simplesmente porque não é economicamente viável.

6 - Que tipo de conhecimento um profissional precisa ter para trabalhar com Silverlight?

Existem dois perfis de profissionais que tocam o Silverlight, o desenvolvedor e o designer. O desenvolvedor pode reaproveitar seus conhecimentos em .NET ou em qualquer uma das linguagens suportadas em Silverlight, e usar o Visual Studio 2008 como ferramenta de programação. O designer pode reaproveitar seus conhecimentos em Photoshop e Flash, pois as ferramentas do Expression Studio são facilmente dominadas por profissionais que já conheçam as ferramentas da Adobe.

A maioria dos conceitos de design, usabilidade, interatividade e animação são universais, independente da ferramenta. Existe um conhecimento que deve ser compartilhado entre o designer e o programador, que são os princípio pelos quais o XAML funciona. Quanto mais o desenvolvedor e o designer entenderem a "mágica" do XAML, mais poderosas serão suas aplicações.

7 - Quais os recursos de aprendizado para quem deseja se aprofundar no assunto?

Hoje a melhor maneira de se aprender Silverlight é online. A Microsoft tem uma série de tutoriais e hands-on labs que valem à pena ser feitos tanto por desenvolvedores quanto por designers. É importante que ambos compartilhem essa base comum de conhecimento, mesmo que design pareça assustador para um desenvolvedor e um designer seja avesso a colocar a mão em código. Aqui vale o mesmo que vale para HTML.

Os melhores desenvolvedores e designers de páginas Web são os que conhecem coisas que tocam aos dois universos, como HTML bem formado, CSS e JavaScript. Sendo assim, conhecer um pouco de Expression Blend é fundamental para o desenvolvedor Silverlight, e o designer Silverlight se beneficiará bastande de um pouco de conhecimento de uma linguagem como C#.

Outra comparação interessante é com Flash, onde bons designrs conhecem o básico de ActionScript, e os bons desenvolvedores sabem o básico do ambiente de desenho e animação. O ideal é desenvolvedores e designers aprenderem esses recursos em conjunto, com cada um ajudando o outro quando necessário. Isso ajudará as duplas designer/desenvolvedor a criar seu fluxo de trabalho ideal.

Os recursos básicos para aprendizado do Silverlight 2.0 são:

Conteúdo em português da MSDN Brasil:

Microsoft Expression Developer Center:
http://www.microsoft.com/brasil/msdn/DevCenterExpression/default.mspx
Artigos e links para recursos de aprendizado sobre o Microsoft Expression.

Webcasts sobre Silverlight
https://www.msdnbrasil.com.br/mediacenter/subject.aspx?center=60
Área onde são publicados todos os Webcasts em português sobre Silverlight.

Conteúdo em inglês:

Getting Started With Silverlight
http://silverlight.net/GetStarted/
Esta página mostra como preparar o computador para usar o Silverlight, links para as ferramentas de desenvolvimento e design, e 6 vídeos que mostram o uso de Silverlight com JavaScript. Ótimo ponto de entrada para o aprendizado.

Silverlight Tutorials
http://silverlight.net/learn/tutorials.aspx
Tutoriais cobrindo tópicos avançados de Silverlight. Mais voltados a desenvolvedores, mas que valem à pena serem feitos também por designers.

Hands-On Lab de uma aplicação real em Silverlight
http://blogs.msdn.com/swiss_dpe_team/archive/2008/04/17/silverlight-2-beta-1-end-to-end-hands-on-lab.aspx
Este material excelente mostra todos os passos para se criar uma aplicação de e-Commerce de venda de carros. Muito bom para se dominar o processo completo de criação de uma aplicação complexa em Silverlight.

Videos "How Do I...?"
http://silverlight.net/learn/videocat.aspx?cat=2
Dezenas de vídeos mostrando aspectos diferentes de desenvolvimento avançado em Silverlight, cobrindo desde a criação de interfaces para entrada de informações, até diversas técnicaas para consumo de dados a partir de bancos, Web Services ou feeds RSS.

Silverlight Hands-On Labs
http://silverlight.net/learn/labs.aspx
Laboratórios aprofundados dos principais conceitos de Silverlight.

8 - Quais são os melhores exemplos de aplicações Silverlight disponíveis?

  1. Hard Rock Cafe Memorabilia: http://memorabilia.hardrock.com/ O uso mais legal (por enquanto) do recurso Deep Zoom Composer do Silverlight; um passeio interativo pelo acervo de fotografias e documentos do Hard Rock Cafe, numa interface inovadora.Para aprender mais sobre o Deep Zoom, acesse http://www.hanselman.com/blog/DeepZoomSeadragonSilverlight2MultiScaleImagesAtMix.aspx.
  2. Infragistics FaceOut: http://www.infragistics.com/hot/silverlight.aspx#InfragisticsandSilverlight
  3. Excelente exemplo de uma aplicação corporativa, mostrando o que pode ser feito com Silverlight para visualização de dados; inclui código fonte e um preview dos componentes Infragistics para Silverlight.
  4. Shock: http://www.nokola.com/shock/
  5. O clássico jogo Breakout em Silverlight, com código-fonte; ótimo para quem quer aprender a criar jogos com a tecnologia.
  6. Silverlight Airlines: http://silverlight.net/Samples/2b1/SilverlightAirlines/run/default.html
  7. Exemplo de uma interface inovadora para a marcação de viagens aéreas. O código-fonte pode ser baixado de http://silverlight.net/Samples/2b1/SilverlightAirlines/SilverlightAirlines.zip.
  8. Silverlight Controls: http://silverlight.net/Samples/2b1/SilverlightControls/run/default.html

Uma demonstração de como usar diversos controles de entrada de dados em Silverlight. O código-fonte pode ser baixado de: http://silverlight.net/Samples/2b1/SilverlightControls/SilverlightControls.zip.

Mais aplicações com código-fonte podem ser baixadas de http://silverlight.net/community/gallerydetail.aspx?cat=5, e você pode encontrar diversos exemplos de aplicações Silverlight em: http://silverlight.net/Showcase/.

December 12

US Government Usability Guidelines

Os designers sempre ouviram falar de usabilidade. Os desenvolvedores estão ouvindo falar cada vez mais. Porém, aprender usabilidade não é tarefa fácil. No meu caso, envolveu uma pós-graduação e 10 anos de trabalho e estudo contínuo. Profissionais de usabilidade são dificílimos de se encontrar, e em alta demanda.

Livros sobre o assunto não faltam, basca dar uma busca na Amazon. Recursos online também não faltam. O problema é que esses livros e recursos são contraditórios entre si, nem sempre cobrem todos os aspectos práticos que um designer ou desenvolvedor precisa ter à mão no dia-a-dia, e são, em sua maioria muito teóricos.

A boa notícia é que usabilidade virou obrigação para os sites do governo americano (deveria ser obrigatório para tudo, mas nesse caso é lei). Para facilitar o trabalho de trazer esses sites governamentais para um padrão mínimo de usabilidade, o governo americano comissionou um estudo acadêmico que comparou e compilou as melhores práticas de usabilidade em um livro eletrônico de 292 páginas (parece muito, mas não é - para ter o conhecimento concentrado ali você teria que ler uns 20 livros de 600 páginas).

O livro é organizado em tópicos, que apresentam uma boa prática, sua definição e o grau de importância em seguí-la. O índice do livro serve como um check list para qualquer trabalho de design online. O Sérgio Junior, meu colega de Makesys, está até criando uma ferramenta de validação de usabilidade baseada na ferramenta.

O livro costumava estar disponível gratuitamente para download no site http://www.usability.gov, mas agora é cobrado. É barato, US$ 25, mas acho que o governo americano devia ser mais legal e continuar liberando o download gratuito. Por isso, disponibilizei a minha cópia para download no meu SkyDrive: http://cid-5b4b7d96b6a00d5c.skydrive.live.com/browse.aspx/Public. São quatro arquivos RAR (para caber no limite de tamanho de upload do SkyDrive), com o nome óbvio "US Government Usability Guidelines".

Baixe para um folder, descompacte e leia o documento de ponta-a-ponta. Essas guidelines precisam "estar no sistema" de qualquer pessoa ligada ao desenvolvimento de interfaces, sejam designers, desenvolvedores, arquitetos, gerentes de processos e até mesmo o pessoal ligado a vendas e marketing.

O site Usability.gov oferece um monte de outras dicas e processos para incorporar usabilidade em projetos de sites e software, incluindo templates de documentos e artefatos. É um recurso fantástico e gratuito, aproveite!

Technorati Tags:

Windows Vista SP1 Release Candidate!

Finalmente saiu o Release Candidate do Windows Vista SP1, provavelmente o Service Pack mais esperado da história. Se você está insatisfeito com a performance do Windows Vista, instale o update. Já vou avisando que o processo de instalação não é nada intuitivo.

Você deve baixar o arquivo de http://www.microsoft.com/downloads/details.aspx?FamilyID=9de6260e-4275-482d-9524-de850c4dd91c&DisplayLang=en, descompactá-lo e seguir as instruções no documento "SP1RC_Public_Availability_WUReleaseMessage.doc", que incluem a instalação de uma tonelada de outros patches e atualizações antes de efetivamente instalar o Service Pack.

Se você tem o coração forte, divirta-se!

Technorati Tags: ,,,
December 02

Recursos de Aprendizado - Windows Live

A Microsoft publica uma quantidade enorme de recursos de aprendizado sobre os serviços Windows Live. Ao redor do mundo, a comunidade de desenvolvedores e parceiros da Microsoft também publica artigos, tutoriais e projetos exemplo usando serviços Windows Live. Este post será atualizado regularmente com novos links para recursos de aprendizado sobre os serviços Windows Live.

Recursos Microsoft - Português

Webcasts Microsoft - Português

Recursos Microsoft - Inglês

Ferramentas

Aplicações Avançadas com código-fonte

Comunidades

Technorati Tags: ,