Interesante observar a tendência de convergência de tudo o que temos hoje (e teremos no futuro). Antes se comprava um video-game só para jogar, depois para jogar e assitir filme (DVD), depois para jogar, assistir filme e interagir através de movimento (Wii) e esse vídeo apresenta algo que já existe hoje nos video-games e está em crescimento, que são as possibilidades de se comunicar com outras pessoas através do aparelho na internet. Ainda dá pra chamar isso de Video-game? :-D
sábado, 6 de junho de 2009
sábado, 30 de maio de 2009
Email 2.0?
Ontem o Google apresentou ao mundo um projeto extremamente ambicioso (e empolgante) que tem a proposta de unificar a comunicação como conhecemos hoje.
Instant Messenger, Tweeter, Email, Blogger, Youtube, etc podem ser utilizados de forma integrada com essa nova e fantástica ferramenta que está sendo desenvolvida no Quartel General de Moutain View.
Quando comentei o Cezar Taurion há algum tempo, critiquei bastante o embasamento o qual ele utilizou para chegar a conclusão de que o e-mail seria extinto até 2015. Hoje eu não discordo mais dele, mas não pelo mesmo embasamento:
Comentei que e-mails evoluiriam para dois própósitos, e um deles seria:
"2- Receber notificações de todos os outros serviços descritos acima (wikis, blogs etc.). Por e-mail, você pode monitorar todos os BLOGs, ferramentas coorporativas, atualizações dos seus feeds RSS e armazenar informações de chat e até responder questionários para atualizar uma planilha. Então, sendo ele o agente concentrador, se for extinto, vamos ter que inventar outra coisa pra fazer o que ele faz e bem (o que é meio ilógico). "
Depois de assistir ao vídeo da pra imaginar que o Wave é essa "ilógica" invenção, até porque ele incorpora em si todas as características que o e-mail "1.0" possui e estende isso para outras fonteiras que hoje só podem ser exploradas de forma isolada, e não integrada.
Mas ainda acho que a cultura de "mandar um e-mail" dar lugar para "wave-me ou me mande um wave" pode não pegar. :-) Porque? Pelo mesmo motivo que faz o SSD (visto como a evolução do disco rígido) continuar sendo chamado de disco(apesar de não ter absolutamente nada a vercom um). Wave ou Gmail, acredito que vamos continuar chamando de e-mails :-D
Instant Messenger, Tweeter, Email, Blogger, Youtube, etc podem ser utilizados de forma integrada com essa nova e fantástica ferramenta que está sendo desenvolvida no Quartel General de Moutain View.
Quando comentei o Cezar Taurion há algum tempo, critiquei bastante o embasamento o qual ele utilizou para chegar a conclusão de que o e-mail seria extinto até 2015. Hoje eu não discordo mais dele, mas não pelo mesmo embasamento:
Comentei que e-mails evoluiriam para dois própósitos, e um deles seria:
"2- Receber notificações de todos os outros serviços descritos acima (wikis, blogs etc.). Por e-mail, você pode monitorar todos os BLOGs, ferramentas coorporativas, atualizações dos seus feeds RSS e armazenar informações de chat e até responder questionários para atualizar uma planilha. Então, sendo ele o agente concentrador, se for extinto, vamos ter que inventar outra coisa pra fazer o que ele faz e bem (o que é meio ilógico). "
Depois de assistir ao vídeo da pra imaginar que o Wave é essa "ilógica" invenção, até porque ele incorpora em si todas as características que o e-mail "1.0" possui e estende isso para outras fonteiras que hoje só podem ser exploradas de forma isolada, e não integrada.
Mas ainda acho que a cultura de "mandar um e-mail" dar lugar para "wave-me ou me mande um wave" pode não pegar. :-) Porque? Pelo mesmo motivo que faz o SSD (visto como a evolução do disco rígido) continuar sendo chamado de disco(apesar de não ter absolutamente nada a vercom um). Wave ou Gmail, acredito que vamos continuar chamando de e-mails :-D
domingo, 24 de maio de 2009
Comercial do Chome
Comercial que foi criado para o chrome. Criativo, não? :-)
Não tive tempo de me aprofundar na fonte, mas creio que a idéia partiu de um "projeto 20%*" de um "Googler".
* Os "Googlers" (funcionários do Google) podem usar 20% do seu tempo para projetos pessoais e trabalhar em idéias podem se transformar em coisas como o Froogle, Google News e Google Tasks etc.
domingo, 17 de maio de 2009
OpenXML com PHP
Embora ainda exista uma richa muito grande entre Microsoft ( e seus parceiros) e IBM ( e seus parceiros) na disputa entre Open XML e ODF como padrões de formatos de documentos, aos poucos o mercado vai oferencendo soluções que ligam e se integram aos formatos, independente de ideologia.
Visitando o OpenXML Developer, encontrei um projeto interessante.
Trata-se de uma biblioteca PHP para manipular e criar documentos de planilhas que podem ser abertos pelo MS Office ou por qualquer outro aplicativo de processamento de textos e planilhas que implemente a ECMA-376. Gostei muito da simplicidade do código.
Visitem a página e confiram!
Marcadores:
ECMA 376,
Excel 2007,
OpenXML,
PHP,
PHPExcel
domingo, 12 de abril de 2009
Teclado Virtual ou Teclado Tradicional
Sempre foi minha curiosidade medir o desempenho de teclados virtuais em relação a teclados tradicionais nos smartphones.
Procurando por isso, acabei achando esse teste muito legal:
São testes com alguns smartphones do mercado. Assista o vídeo e tire suas conclusões.
sexta-feira, 20 de março de 2009
ASP.NET MVC RTW 1.0!!!
Olá Pessoal,
Hoje foi lançado o MVC RTW (Release to Web) 1.0!
Em breve imagino que venha o aguardado post do scott'gu apresentando os últimos ajustes em relação ao RC2.
Enquanto isso, como aperitivo temos o breve post do Phil Hack sobre o release.
Não cheguei a pegar a versão RTW ainda para fazer um review, mas da versão RC1 para a RTW, pelo que venho acompanhando, poucas coisas mudaram no motor do MVC, as mudanças mais significativas ficaram no processo de instalação e na distribuição dos assemblyes.
Assemblyes System.Web.Abstractions.dll e System.Web.Routing.dll são embarcados no .net 3.5 SP1, portanto, foi criada uma dependência do MVC para o SP1 e de agora em diante esses dois assemblyes não acompanham mais o assembly principal System.Web.Mvc.dll
Mesmo assim ainda é possível utilizar nos servidores o .net 3.5 com os assemblyes embarcados na pasta Bin, já que não há nenhuma outra dependência do Asp.net MVC no .net 3.5 Sp1.
Uma coisa que eu percebi entre o projeto ASP.net MVC e os outros projetos da Microsoft que eu acompanhei é que a aproximação da equipe de desenvolvimento com a comunidade foi muito maior, e o resultado é uma versão 1.0 bastante estável e robusta, que mudou muito pouco. Já tive a experiência de ver projetos 1.0 da Microsoft bastante atropelados, o que levou a updates e fixes poucas semanas depois. O Asp.net MVC não é o caso.
Que venha o MVC Futures!
quarta-feira, 4 de fevereiro de 2009
Snippets
Olá Pessoal, desculpem ter passado janeiro em branco, mas os trabalhos aqui tem ficado cada vez mais pesados. :-)
Semana passada saíu no blog do scott'gu o seu tão esperado post sobre o release candidate do MVC. Como eu esperava, houveram alguns breaking changes, mas a estrutura quase não foi alterada. Essa versão trouxe integrado com o visual studio uma maneira muito legal de basear a construção de views em templates que são usadas com certa frequência. Pra ficar melhor, ainda podemos criar nossas próprias views.
É lógico que algumas ferramentas como o codesmith há tempos faziam o mesmo trabalho. Mas a integração dessas ferramentas com o visual studio nunca foi lá grande coisa.
Mas com base nessa tecnologia, fiz um comentário no blog do scott'gu sobre a possibilidade de fazer visual studio snippets atenderem a esse mesmo padrão. Pois isso é uma porta se abrindo para termos snippets que suportam parâmetros de entrada e até snippets genéricas integradas com o visual studio.
Exemplo:
Imaginem a classe produto:
class Produto{
[IdKey] //estou chutando aqui um atributo relevante para o snippet
public int Id { get; set; }
public string Nome { get; set; }
public decimal Preco { get; set; }
}
e você está escrevendo um model no MVC e decide elaborar as rotinas de validação.
Então você digita dentro da classe:
ModelValidation (e bate duas vezes no tab. Than!)
Poderia resultar numa validação padrão baseada num template, como a classe abaixo:
public class ProdutoModelValidation{
public class ValidateInput(Produto p){
//em funcao do key ID, a validacao aqui é desse jeito
if ( p.Id > 0 && p.Id != null ) ...
//o snippet sabe o que fazer quando trata tipos padrão string, como num template
if ( p.Nome != null) ...
//o snippet tem ciência dos tipos que ele está tratando, pois ele está acessando a
// classe produto através de reflection
if ( p.Preco != 0 ) ...
}
}
Bom, fica registrada aqui a idéia :-) vou encaminhar alguma coisa pro time do VS2010
Semana passada saíu no blog do scott'gu o seu tão esperado post sobre o release candidate do MVC. Como eu esperava, houveram alguns breaking changes, mas a estrutura quase não foi alterada. Essa versão trouxe integrado com o visual studio uma maneira muito legal de basear a construção de views em templates que são usadas com certa frequência. Pra ficar melhor, ainda podemos criar nossas próprias views.
É lógico que algumas ferramentas como o codesmith há tempos faziam o mesmo trabalho. Mas a integração dessas ferramentas com o visual studio nunca foi lá grande coisa.
Mas com base nessa tecnologia, fiz um comentário no blog do scott'gu sobre a possibilidade de fazer visual studio snippets atenderem a esse mesmo padrão. Pois isso é uma porta se abrindo para termos snippets que suportam parâmetros de entrada e até snippets genéricas integradas com o visual studio.
Exemplo:
Imaginem a classe produto:
class Produto{
[IdKey] //estou chutando aqui um atributo relevante para o snippet
public int Id { get; set; }
public string Nome { get; set; }
public decimal Preco { get; set; }
}
e você está escrevendo um model no MVC e decide elaborar as rotinas de validação.
Então você digita dentro da classe:
ModelValidation
Poderia resultar numa validação padrão baseada num template, como a classe abaixo:
public class ProdutoModelValidation{
public class ValidateInput(Produto p){
//em funcao do key ID, a validacao aqui é desse jeito
if ( p.Id > 0 && p.Id != null ) ...
//o snippet sabe o que fazer quando trata tipos padrão string, como num template
if ( p.Nome != null) ...
//o snippet tem ciência dos tipos que ele está tratando, pois ele está acessando a
// classe produto através de reflection
if ( p.Preco != 0 ) ...
}
}
Bom, fica registrada aqui a idéia :-) vou encaminhar alguma coisa pro time do VS2010
Assinar:
Postagens (Atom)