Ciclo de formação Scrum em Junho de 2010
Monday, May 24th, 2010Autor: Tiago Andrade e Silva
Em Junho haverá mais dois cursos Certified Scrum Master em Lisboa e no Porto.
Mais informações no site da comunidade em
Em Junho haverá mais dois cursos Certified Scrum Master em Lisboa e no Porto.
Mais informações no site da comunidade em
[PT]
Na sequência deste post, eis mais um conjunto de efeitos visuais aplicados a uma imagem. Os efeitos são conseguidos utilizando o WritableBitmap.
Ver aplicação. Download do código fonte.
[EN]
Folowing this post, here is another set of visual effects applied to a image. The effects are enabled by using the WritableBitmap class of Silverlight 3.
Running Demo. Download of the source code.
Artigo escrito para a coluna “O mundo em 2015” do Semanário Económico – outlook – de 5 de Setembro de 2009:
“Daqui a 6 anos estaremos em plena revolução ao nível de conteúdos, desde a produção e distribuição até ao seu consumo. Os conteúdos serão uma ‘commodity’, forçada pela sua desmaterialização e facilidade de acesso através das redes digitais, e a experiência de consumo será a componente fundamental.
A produção de conteúdos irá mudar. Aliás, está progressivamente a deixar de estar exclusivamente nas mãos das grandes editoras ou produtoras. Cada vez mais, qualquer pessoa pode ser o autor de um livro, de um filme ou de uma estação de rádio e facilmente disponibilizar esse conteúdo a quem quer que esteja interessado. As melhores bandas, os melhores escritores e produtores serão escolhidos directamente por nós, sem a interferência de grandes campanhas de marketing.
Mas o consumo de conteúdos também está a mudar. Estamos num ponto de inflexão onde deixaremos de consumir o que outros decidem para passarmos a ser nós próprios a decidir que conteúdos vamos consumir, quando e onde. Eu serei o editor da minha revista, as rádios tocarão a música que eu gosto, as televisões emitirão os meus programas favoritos e os filmes, mesmo ainda não os tendo visto, serão os que têm a maior probabilidade de eu gostar.
Já começamos a assistir a um movimento de convergência digital onde os formatos físicos estão a ser substituídos pelos digitais. As velhas fotografias são substituídas pelos álbuns no Flickr, os vinis e cd’s pelos mp3 no iTunes, os filmes de 8mm e vhs de família pelos filmes no Youtube, já para não falar das tradicionais cartas que foram substituídas pelo email e que em 2015 serão substituídos por aplicações mais interactivas como o Google Wave. Em 2015 haverá muito poucos formatos físicos. Não é a disquete, que essa já nem os jovens actuais sabem o que é. Refiro-me aos cds, dvds e eventualmente os livros tal como os conhecemos. Tudo passará a estar disponível na rede e através dela, a qualquer hora, a partir de qualquer sítio e em qualquer dispositivo. Porque razão é que eu tenho de pagar novamente os direitos de autor de um CD musical se o formato físico comprado se estragar e eu pretender um novo? Qual é a loja que recebe o meu CD antigo e me dá um novo cobrando apenas o custo do formato físico? A importância passa para os direitos de autor e deixa de ser a distribuição e produção.
Será possível assistir a um filme ao mesmo tempo que os meus amigos, comentado cada uma das cenas à medida que elas vão acontecendo estando, no entanto, cada um na sala de sua casa. A proximidade de comunicação vai ser muito maior apesar de estarmos fisicamente distantes. Os dispositivos estarão interligados na disponibilização da melhor experiência de consumo. Poderei estar a assistir a um concerto da minha banda preferida na televisão de casa, e ao ter de me deslocar para o carro a música segue sem interrupções para o meu ipod e passa do mesmo modo para a aparelhagem do carro sem qualquer corte de fluidez musical na troca dos dispositivos emissores.
Não acontecerá apenas uma mudança tecnológica mas sim industrial, cultural e social. Tal como dizia Charles Darwin, não são as espécies mais fortes ou mais inteligentes que sobrevivem mas sim aquela que tem uma maior capacidade de adaptação. As grandes empresas de media que não demonstrem capacidades de se adaptar desaparecerão do mercado. A batalha contra a troca ilegal de ficheiros na internet será ganha pelos prevaricadores e as empresas passarão a adaptar a sua oferta, não ao conteúdo em si, mas sim aos serviços e experiências dados para além do conteúdo. Todos temos a noção que, nos cinemas, o que dá lucro são as pipocas e não o filme em si!
Assim sendo, o grande dilema em 2015 será como é que os produtores de conteúdos irão ter dividendos para continuar a produzir. Como é que se evita sermos inundados por obras de amadores e não chegarmos a ver obras de profissionais pois não conseguem obter o sustento necessário? A experiência de consumo é a resposta. Para a indústria musical serão os concertos a dar essa experiência e a gerar retorno. Mais complicado será para os escritores ou produtores de filmes que terão que utilizar meios interactivos muito mais complexos. Mas isso é outra história…”
O Silverlight 3 introduziu o WritableBitmap que nos permite manipular os pixels directamente.
Eis um pequeno exemplo de utilização. Neste exemplo simula-se a chuva de uma televisão quando não tem emissão. Para o efeito preenche-se cada pixel da imagem com uma cor aleatória. A imagem está constantemente a ser redesenhada de modo a dar a noção da “chuva”.
private void OnLoaded(object sender, RoutedEventArgs routedEventArgs) { Screen.Width = ScreenWidth; Screen.Height = ScreenHeight; //Criaco do object writablebitmap com o tamanho indicado. bitmap = new WriteableBitmap(ScreenWidth, ScreenHeight); //Indicao de qual o elemento que ira fazer a visualizao do writable bitmap. Screen.Source = bitmap; //registar o evento para fazer o render regular CompositionTarget.Rendering += new EventHandler(CompositionTarget_Rendering); }
Após esta inicialização e na entrada em cada frame redesenha-se a “chuva” ao nível do pixel:
void CompositionTarget_Rendering(object sender, EventArgs e) { var index = MaxScreen; //Pintar cada pixel while (--index > -1) { //cor aleatoria para cada pixel var color = System.Convert.ToInt32(rnd.Next(0xffffff)); bitmap.Pixels[index] = color > 0xffffff ? 0xffffff : color; } //força o bitmap a redesenhar bitmap.Invalidate(); }
Utilizando o seguinte xaml com uma imagem de uma TV para dar enquadramento:
<Grid x:Name="LayoutRoot" Background="#FFFFFFFF"> <Image x:Name="tv" Source="tv.jpg" Margin="68,29.807,72,53.193" d:LayoutOverrides="Width, Height"/> <Image x:Name="Screen" OpacityMask="{x:Null}" Margin="99,57,100,0" Opacity="1" VerticalAlignment="Top" Height="216" Width="390"/> </Grid>
O resultado é:
Fazer download do código fonte desta aplicação.
Se agora brincarmos com a chuva através da posição do rato, conseguimos criar a noção de interferências feitas pelo rato. Para isso é preciso, para além do código abaixo, adicionar o evento para apanhar o movimento do rato, criar uma variável que contem a última posição do rato e actualiza-la cada vez que o rato mexe.
//Repaint the screen regularly void CompositionTarget_Rendering(object sender, EventArgs e) { var index = MaxScreen; //Paint each bitmap pixel. while (--index > -1) { if (index % (mouseLastPos.X/2 + mouseLastPos.Y/2)+rnd.Next(20) < 15) bitmap.Pixels[index] = 0xffffff; //bitmap.Pixels[index] = Convert.ToInt32(mouseLastPos.X * mouseLastPos.Y+5000); else { //Random color for each pixel. var color = System.Convert.ToInt32(rnd.Next(0xffffff)); bitmap.Pixels[index] = color > 0xffffff ? 0xffffff : color; } } //force bitmap repaint bitmap.Invalidate(); }
A Fullsix fez recentemente uma série de demonstrações da Microsoft Surface a clientes e jornalistas. Como resultado desta acção sairam reportágens em alguns meios: Pc Guia, Bit (pg1 e pg2) e também no episódio 4 da Exame Informática TV que foi gravado na Fullsix e passou na Sic Notícias.
A Fullsix tem desenvolvido um conjunto de protótipos para a Surface de modo a demonstrar aos seus clientes as capacidades da mesa. Um destes protótipos foi também demonstrado no Microsoft DevDays 09.