Alberto Silva

Um blog sobre mobilidade, desenvolvimento para plataformas Windows Mobile e os obrigatórios Off-topic!

This Blog

Syndication

Search

Tags

News

  • Você escolheu um software de gestão que se adapta ao seu negócio... Porque há-de deixar que lhe imponham uma solução de mobilidade para as suas forças de venda? Contacte a moving2u e teremos todo o prazer em lhe apresentar as nossas soluções!


    Grab this badge here!

Community

Email Notifications

Archives

Eventos

Desenvolvimento .net CF

Mobilidade em Português...

Sobre mim...

Mais uma vez fui surpreendido pelo final de mais um ano, é difícil acreditar que já passou mais um ano, em que tanta coisa ficou por concretizar!

A velocidade com que o ano passou está intimamente ligada à quantidade de trabalho que fomos mantendo na empresa – parte to qual ainda transita para 2012 – e que comprometeu outras coisas que gostava de ter feito em 2011, como aplicações ‘pessoais’ para Windows Phone 7, brincar com o Netduino, fazer mais (leia-se, algum…) TT com o Discovery e ter mais tempo para as minhas meninas.

Do ponto de vista da moving2u estamos na recta final de entrega do maior projecto que desenvolvemos até hoje, que começámos a desenvolver no final de 2010 e que brevemente estará nas mãos de até 3000 utilizadores na Península Ibérica, colaboradores de uma empresa espanhola que nos confiou tal desafio. Paralelamente fomos desenvolvendo outros projectos específicos, uns mais complexos, como a interessante solução de logística que estamos a ultimar, outros mais simples mas não menos satisfatórios, como a aplicação para controlo de entradas para a Last2Ticket. Demos ainda neste último trimestre os primeiros passos num projecto que visa uma das mais importantes cadeias retalhistas em Portugal. A par destes projectos mais específicos, o nosso produto bandeira, o m2uMobileSales, continuou o seu percurso no território nacional e começa a ser promovido em Angola, Cabo Verde e Moçambique. O elo entre todos estes projectos é a plataforma onde todos correm – e continuarão a correr durante anos – vista por muitos e pelo mercado como ‘moribunda’, mas que tecnicamente, seja do ponto de vista do desenvolvimento, das funcionalidades expostas aos utilizadores e da gestão está num nível diferentes das plataformas móveis de consumo da moda. Estamos a falar (como é óbvio para quem segue o meu blog) do Windows Mobile, agora designado de Windows Embedded Handheld 6.5.

Não obstante o Windows Mobile e a .NET Compact Framework, combinação em que apostámos desde a criação da empresa em 2003, nos ter garantido um volume interessante de trabalho em 2011, “parar é morrer” e não nos podemos dar ao luxo de ignorarmos outras plataformas, que nascendo do mercado do consumo, conquistam um lugar cada vez mais importante nas empresas, pelo que em 2011 encetámos alguns passos no sentido de preparar o maior desafio que teremos em 2012, o abarcar de novas plataformas móveis e de desenvolvimento. É um caminho que nos levantará grandes desafios a diferentes níveis, mas a crer pela excitação na empresa decorrente dessa decisão, posso antecipar que com esforço e dedicação os ultrapassaremos!

Vítima do esforço que a empresa me tem exigido, este blog e outras actividades têm sido relegadas para um plano secundário mas não esquecido Smile

Desejo a todos um óptimo ano de 2012, que recompense aqueles que não baixam os braços, e que possamos estar daqui a um ano a trocar balanços positivos!

Posted by Alberto Silva | with no comments
Filed under: ,

Foi com satisfação que recebi no passado dia 1 de Outubro o título de MVP concedido pela Microsoft. É a 9ª vez que o recebo desde 2003, e tal como nos anos mais recentes, com a especialidade em “Device Application Development”, que é como quem diz, desenvolvimento de aplicações para dispositivos móveis com sistema operativo Windows CE/Windows Mobile/Windows Embedded Enterprise Handhelds.

Já há meses que não tenho actualizado este blog, o trabalho na moving2u tem exigido uma atenção suplementar nos últimos meses, o que em paralelo com as exigências da minha vida pessoal leva a que alguma coisa vá ficando para trás. Adicionalmente, a àrea em que me tenho concentrado profissionalmente e na qual tenho sido reconhecido pela Microsoft – o desenvolvimento de aplicações para os sistemas operativos acima mencionados, utilizando a .NET Compact Framework 3.5 – não tem sido pródiga em novidades por parte da Microsoft. Em concreto, os únicos anúncios relevantes neste campo nos últimos 12-18 meses foram a passagem do que até aí conhecíamos como Windows Mobile 6.5.3 para a alçada da àrea de Embedded, com a actualização do nome do sistema operativo para Windows Embedded [Enterprise] Handheld, e o anúncio recente da disponibilização daquela que se esperava ser a próxima versão da Sync Framework, a 4.0 que em beta se tinha chamado 3.0 e que estava em CTP há um ano, sob a forma de Sync Framework Toolkit com código-fonte disponível e suporte para .NET CF, mas infelizmente sem mecanismos de change tracking ao nível da base de dados cliente.

Se por parte da Microsoft este campo da mobilidade não tem sido fértil em novidades, felizmente por parte de outras entidades o cenário é diferente, e temos assistido ao lançamento de equipamentos novos e actualizações a correr o Windows Mobile 6.5.3 e WEEH 6.5.3, que são hoje a única opção para aqueles que necessitam de equipamentos com esta plataforma, à medida que os operadores, lojas e fabricantes foram escoando os seus stocks de equipamentos de consumo com Windows Mobile. Equipamentos como o Motorola ES400, com um índice de robustez superior aos de um equipamento de consumo, ecrã VGA, teclado frontal, 3G/Wifi/BT/GPS de série, descodificação eficiente de códigos de barras com a câmara fotográfica e integração com os SDK da Motorola, opções de bateria extendida, tudo isto por preços a rondar os 500€, têm tido uma grande procura:

es400_front

Paralelamente, em termos de ferramentas de desenvolvimento, empresas como a Resco têm mantido e lançado novas versões dos seus produtos para empresas que desenvolvem para .NET Compact Framework:

image

Muitos perguntar-se-ão, “mas para quê estes lançamentos para uma plalaforma declarada morta por muita gente?”. Um estudo recente da Gartner continua a eleger o Windows Mobile e as ferramentas de desenvolvimento associadas (.NET CF 3.5 e VS2008) como a melhor escolha em termos de desenvolvimento de aplicações do tipo Line-of-Business (LoB) para equipamentos móveis neste campeonato que decorre em paralelo com o outro campeonato, o dos smartphones de consumo, onde os protagonistas são outros. Pessoalmente, em termos do que é a minha actividade na moving2u, continuamos com um volume significativo de projectos em curso e no curto prazo a assentar nesta plataforma. Se desprezamos as outras plataformas móveis, lançadas para o mercado de consumo, mas com uma presença cada vez maior nalguns sectores de actividiade? Claro que não!

Posted by Alberto Silva | 2 comment(s)
Filed under:

A moving2u é uma empresa de Coimbra que tem como principal actividade o desenvolvimento de aplicações de índole profissional para equipamentos móveis, contando quer com soluções chave-na-mão, quer soluções desenvolvidas por medida.

Para admissão no curto prazo no seu departamento de I&D em Coimbra, procura um(a) profissional com o bons conhecimentos de desenvolvimento em .NET (C#), exigente consigo próprio e com vontade e predisposição para testar e adoptar novas tecnologias.

Dada a dificuldade em avaliar um profissional nesta àrea com uma mera entrevista, os candidatos serão desafiados a completarem um pequeno projecto, que abarca algumas das àreas que queremos passar a integrar no nosso portfolio.

O desafio passará pelo desenvolvimento em C# de um conjunto de pequenas aplicações (aplicação web em ASP.NET ou ASP.NET MVC ou Silverlight, web services ou WCF, e cliente em .NET Compact Framework, Windows Phone 7, Monodroid ou Monotouch), com a particularidade de as aplicações web correrem em Azure. As pequenas aplicações não têm nenhuma utilidade prática que não seja demonstrar a ligação entre os diferentes módulos da solução (aplicação web com 2 páginas, web services com 2 métodos, aplicação cliente com 2 ecrãs, base de dados com 2 tabelas). Serão disponibilizados mais detalhes e links para as diferentes ferramentas necessárias aos interessados.

Não temos prazos para a conclusão do desafio, mas gostávamos de avançar com o processo de selecção entre Maio e Junho.

Compreendemos que muitos profissionais potencialmente interessados que leiam este post não estejam familiarizado com estas tecnologias, e não se sintam confortáveis com aceitarem um desafio deste tipo. Respeitamos, mas declaradamente não é esse o perfil da pessoa que procuramos.

As candidaturas deverão ser enviadas para o endereço alberto.silva#moving2u.pt (substituír o # pela @ ) com carta de apresentação e CV.

(Nota: endereço de email corrigido)

Posted by Alberto Silva | 6 comment(s)
Filed under:

Há tempos criei um objecto a partir de um script T-SQL no SQL Server Management Console, numa janela de 'New Query'. Na altura não reparei que essa janela não estava a apontar para a base de dados pretendida, e agora, semanas depois, não conseguia descobrir a que base de dados daquela instância teria ido parar.

A resolução foi simples, utilizando uma stored procedure interna não documenta do SQL Server, a sp_MSforeachdb, corri o seguinte comando...

 

Exec sp_MSforeachdb 'Select * From ?..sysobjects where name = ''nome do meu objecto'' '

 

...e depois foi só procurar no meio dos resultados! Encontrado um resultado, o output não exibia o nome da base de dados onde se encontrava... uma pequena alteração, et voila!

 

Exec sp_MSforeachdb 'Select ''?'', * From ?..sysobjects where name = ''nome do meu objecto'' '

 

Também se pode utilizar o operador LIKE caso se saiba apenas uma parte do nome a procurar, podendo filtrar adicionalmente por campos da sysobjects para por ex. restringir os resultados a um tipo de objectos.

Posted by Alberto Silva | with no comments
Filed under:

A moving2u é uma empresa de Coimbra que tem como principal actividade o desenvolvimento de aplicações de índole profissional para equipamentos móveis, contando quer com soluções chave-na-mão, quer soluções desenvolvidas por medida.

Para admissão no curto prazo no seu departamento de suporte & implementações em Taveiro, Coimbra, procura um(a) profissional com o seguinte perfil: boa capacidade de interacção com clientes seja por contacto directo, telefónico ou escrito, sensibilidade a temas relacionados com a implementação de software de gestão, sentido crítico na busca da melhor configuração que se ajusta ao cenário em causa, capacidade de organização e conhecimentos de informática que compreendam a utilização do SQL Server.

Preferência: Experiência de implementação de aplicações de gestão, frequência anterior de curso de formação de formadores, conhecimentos de sistemas operativos servidores Windows, disponibilidade para deslocações no território nacional, carta de condução

As candidaturas deverão ser enviadas para o endereço rh#moving2u.pt (substituír o # pela @ ) com carta de apresentação e CV.

Posted by Alberto Silva | with no comments

Quando utilizamos valores do tipo decimal que vêm do SQL Server, o nº de casas decimais definido no SQL Server acompanha o valor nas variáveis de tipo de dados Decimal, o que muitas vezes não é conveniente. Se é um facto que a formatação de valores numéricos para string permite dar conta desta situação, utilizando por exemplo a máscara de formatação 0.#####, hoje necessitei de remover os zeros não significativos à direita do ponto decimal de uma variável do tipo decimal. Como não encontrei feito aquilo que pretendia, criei o seguinte extension method:

public static decimal RemoveTraillingZeros(this decimal number)
{
    return decimal.Parse(number.ToString("0.#######", new System.Globalization.CultureInfo("en-US")), new System.Globalization.CultureInfo("en-US"));
}

A opção pela cultura en-US não influencia o resultado, o importante é que a conversão em string e de novo em decimal seja feita sobre a mesma cultura para evitar problemas… culturais!

Para quem necessitar de fazer a mesma operação mas a nível do SQL Server, há UDFs na internet que o permitem fazer.

Posted by Alberto Silva | with no comments

Recebi a seguinte mensagem de um visitante deste blog, que espelha muitas das preocupações de empresas que desenvolvem para Windows Mobile, que tomo a liberdade de transcrever:

Com o lançamento do Windows Phone 7, tanto quanto tenho lido em blogs, o SQL SERVER COMPACT EDITION vai desaparecer certo? O meu problema é o seguinte, a empresa para a qual trabalho desenvolve software que usa bd em sql server ce, e é desenvolvido em VS 2005. A minha duvida é se voce sabe se o projecto será compativel no Windows Phone 7 ou se há alguma maneira de migrar, ou tendo em conta que o WP7 assenta em silverlight, a unica hipotese é desenvolver a solução de raiz??

A minha outra duvida é será que a Microsoft apesar de lançar o WP7, irá manter a venda de Windows Mobile 6.5 ? de modo a continuar a dar suporte e assistência às milhares de aplicações que existirão em todo o mundo?

Não sei se me pode ajudar, mas como sou leitor assíduo do seu blog, junto lhe envio as minhas preocupações, que de momento me causam grandes dores de cabeça :) Na expectativa que me possa transmitir alguma informação adicional

Começando pelo fim, o Windows Mobile 6.5 não morre! A Microsoft anunciou há meses – publiquei um post dobre o assunto na altura – o Windows Embedded Handheld como a nova incarnação do que actualmente conhecemos como Windows Mobile. Esse ‘novo’ sistema operativo, que a Motorola já começou a adoptar e que outros fabricantes adoptarão, tem já um roadmap conhecido, que prevê uma evolução futura baseada em CE 7.0, mantendo sempre compatibilidade com a .NET Compact Framework 3.5, o SQL Server CE 3.5, continuando para já a exigir o VS2008 para desenvolvimento. É um facto que os fabricantes mais ‘comerciais’ como a HTC não venham a adoptar este sistema operativo, mas por ex., com os preços dos novos Motorola ES400 a descer dos 600€, não há razão para as empresas não adoptarem equipamentos com fiabilidade e robustez acrescida face aos equipamentos de consumo.

Continuando no tema do desenvolvimento, as aplicações actualmente feitas para .NET CF 3.5 não correm de todo nos equipamentos Windows Phone 7. A boa notícia é que projectos bem estruturados em termos de separação de lógica de negócio, acesso a dados e apresentação facilitam a migração e/ou partilha de código entre projectos para as duas plataformas (nota: julgo que as class library a partilhar terão de ser desenvolvidas no VS2008 para .NET CF 3.5).

Para terminar, o SQL Server Compact Edition não desaparece! Para além de ter sido anunciado o seu suporte alargado do lado do PC, incluíndo suporte para projectos ASP.net, que não é o que interessa para a questão, o SQL Server Compact Edition estará presente nos Windows Phone 7, simplesmente não está acessível aos programadores nesta primeira versão do Windows Phone 7 e respectivas ferramentas de desenvolvimento. Desconhece-se qual a forma como será exposto, admitindo que venha a sê-lo.

Espero ter respondido ao autor da mensagem, qualquer questão pf. usem os comentários.

Windows Phone Developer Tools October 2010 Update
Inclui ferramenta que detecta as capacidades do equipamento que uma aplicação utiliza, tal como a ferramenta da Microsoft faz quando se propõe uma app para o marketplace, outra para facilitar a ligação a um equipamento quando o cliente Zine não está a correr e ainda uma actualização do controlo Silverlight para os Bing Maps
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=49b9d0c5-6597-4313-912a-f0cca9c7d277&displaylang=en

How to: Use the Windows Phone Capability Detection Tool (esta é uma das ferramentas da actualização referida no link anterior)
http://msdn.microsoft.com/en-us/library/gg180730(v=VS.92).aspx

Designing for Windows Phone 7
http://www.uxarray.com/2010/10/08/design-for-wp/

Paging WCF Ria Services entities in Model-View-ViewModel applications (não é específico para WP7)
http://www.silverlightshow.net/items/Paging-WCF-Ria-Services-entities-in-Model-View-ViewModel-applications.aspx

Windows Phone 7 Custom Message Box
http://blogs.microsoft.co.il/blogs/tomershamam/archive/2010/10/19/windows-phone-7-custom-message-box.aspx

WP7 Don’t give false impressions (questão interessante, mostra nos comentários como detectar se a aplicação está a correr no emulador)
http://mikehole.com/2010/10/21/wp7-dont-give-false-impressions/

Windows Phone 7 Developer Resources (mais um!)
http://www.jeffblankenburg.com/page/Windows-Phone-7-Resources.aspx

How to capture audio from your microphone in WP7  (mais um exemplo de utilização de recursos XNA numa aplicação silverlight…)
http://devlicio.us/blogs/derik_whittaker/archive/2010/10/22/how-to-capture-audio-from-your-microphone-in-wp7.aspx

Windows Phone 7 Quick Tip: How to use Bing Maps in XNA games (… e aqui o oposto!)
http://blogs.microsoft.co.il/blogs/alex_golesh/archive/2010/10/22/windows-phone-7-quick-tip-how-to-use-bing-maps-in-xna-games.aspx

How to fix : An activation code is required before we can finish setting up your phone (para quando a activação de um novo telefone não corre bem)
http://www.1800pocketpc.com/2010/10/22/how-to-fix-an-activation-code-is-required-before-we-can-finish-setting-up-your-phone.html

Windows Phone 7 Analytics with Runtime Intelligence and Dotfuscator
http://www.youtube.com/watch?v=QvTueq7EJuY

Why Deactivated is not the same as Tombstoned
http://www.imaginativeuniversal.com/blog/post/2010/10/21/WP7-Deactivated-!3d-Tombstone.aspx

Windows Phone 7 Enterprise Mobility Kit
http://www.microsoft.com/downloads/en/confirmation.aspx?FamilyID=f3887006-5adf-4f54-be32-771ae9ad7af1

Create games for Windows Phon 7 – phase 1: platform
http://create.msdn.com/en-US/education/roadmap

Work-Around for DataContractJsonSerializer ArgumentNullExceptions
http://danielvaughan.orpius.com/post/Work-around-for-DataContractJsonSerializer-ArgumentNullExceptions.aspx

Zune detection and Network awareness
http://gdwp7dev.wordpress.com/2010/10/24/zune-detection-and-network-awareness/

The Windows Phone From Scratch Mini-Tutorials: #1: Getting Started
http://jesseliberty.com/2010/10/25/the-windows-phone-from-scratch-mini-tutorials-1-getting-started/

Shake that Windows Phone 7 and detect it
http://mark.mymonster.nl/2010/10/24/shake-that-windows-phone-7-and-detect-it/

Flickr API for Windows Phone 7–The Complete Set
http://dennisdel.com/?p=482

Inside Windows Phone #08: Taking a look inside Windows Phone Programming Model Architecture
http://channel9.msdn.com/Shows/Inside+Windows+Phone/Inside-Windows-Phone-08-Taking-a-look-inside-Windows-Phone-Programming-Model-Architecture

Expression Blend 4 for Windows Phone
http://team.silverlight.net/tips-and-training/expression-blend-4-for-windows-phone/

Posted by Alberto Silva | with no comments
Filed under: ,

No seguimento de um post anterior sobre o PDC2010 e as opções para assistir não-presencialmente, quem pretender assitir à keynote, a partir das 17:00 da próxima 5ª feira no auditório da Microsoft, deverá registar-se utilizando o seguinte link:

https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032465793&Culture=pt-PT

A seguir à keynote haverá espaço para discussão sobre as tecnologias que estarão em evidência no evento.

Posted by Alberto Silva | with no comments
Filed under: ,

No próximo dia 28 de Outubro, às 17:00 portuguesas terá início a keynote de abertura do PDC2010. O evento deste ano tem um atractivo, realiza-se no Microsoft Campus em Redmond, que se revelou também ser um inconveniente, as inscrições esgotaram muito rapidamente. Costuma-se dizer que estes eventos são para quem pode, mas neste caso, mesmo entre quem já tinha alocado budget para o evento, muitos ficaram de fora.

Para esses e para todos os outros que pelas mais diversas razões não se poderiam deslocar a Redmond, as boas notícias são que o evento será transmitido para locais ao redor do mundo onde poderão com outras pessoas assistir a essas transmissões, como no auditório da Microsoft em Lisboa, mas, também poderão assistir live a partir dos V/ PC a partir do site do evento, e descarregar as sessões 24 horas depois de terem lugar!

Podem consultar a agenda e lista de sessões no site do evento, a partir de onde podem descarregar também lembretes para o Outlook.

Pessoalmente destaco as seguintes:

Windows Phone 7

Building Windows Phone 7 applications with the Windows Azure Platform, Steve Marx, Thursday, 11:30 AM-12:30 PM (GMT-7)
Learn how to build Windows Phone 7 applications that are backed by scalable cloud components hosted in Windows Azure. This demo-heavy session will cover best practices relating to communication, authentication, and data synchronization between phone applications and cloud components.

Mysteries of Windows Memory Management Revealed, Part 1 of 2, Mark Russinovich, Thursday, 2:00 PM-3:00 PM (GMT-7)
If you want to know the difference between System Committed memory and Process Committed memory, wondered what all those memory numbers shown by Task Manager really mean, or want to gain insight into the memory-related impact of a process, then this talk is for you. Using various memory analysis tools including: Process Explorer, VMMap, RAMMap, and others to highlight concepts throughout, the presentation starts with an overview of virtual memory management, describing types of process address space memory and how they impact system virtual memory. Then it dives into physical memory management, discussing how Windows manages process working sets, how it keeps track of physical memory, and how memory moves between different states. This is Part 1 of a two-part session.

Things I Wish I Knew Three Months Ago about Building Windows Phone 7 Applications, Jaime Rodriguez, Thursday, 2:00 PM-3:00 PM (GMT-7)
The Windows Phone clients for Twitter and Facebook are two new, native-looking Windows Phone applications. Come hear about all the lessons learned while developing these applications. Learn insights on UX as well as development/architecture patterns for building great, well-behaved, native-looking Windows Phone 7 apps.

Mysteries of Windows Memory Management Revealed, Part 2 of 2, Mark Russinovich, Thursday, 3:15 PM-4:15 PM (GMT-7)
If you want to know the difference between System Committed memory and Process Committed memory, wondered what all those memory numbers shown by Task Manager really mean, or want to gain insight into the memory-related impact of a process, then this talk is for you. Using various memory analysis tools including: Process Explorer, VMMap, RAMMap, and others to highlight concepts throughout, the presentation starts with an overview of virtual memory management, describing types of process address space memory and how they impact system virtual memory. Then it dives into physical memory management, discussing how Windows manages process working sets, how it keeps track of physical memory, and how memory moves between different states. This is Part 2 of a two-part session.

Optimizing Performance for Silverlight Windows Phone 7 Applications, Oren Nachman, Thursday, 3:15 PM-4:15 PM (GMT-7)
Hear about the key tips, tricks and common mistakes that were learned by analyzing several real world applications. See demos of how real apps are debugged. Also learn how to write world class applications with animations running at 60fps.

3-Screen Coding: Sharing code between Windows Phone, Silverlight, and .NET, Shawn Burke, Thursday, 4:30 PM-5:30 PM (GMT-7)
Get a preview of upcoming Visual Studio features that will allow you to share code between Microsoft .NET platforms. You’ll learn how to structure applications to maximize the amount of shared code, how to write an app that’s used across Silverlight Desktop and Windows Phone, and how to build business logic and helper functions that work across all 3 Screens plus the cloud.

Things You Need to Know Before Building XNA Games for Windows Phone 7, Shawn Hargreaves, Friday, 11:30 AM-12:30 PM (GMT-7)
So you have a cool idea for a game. This session covers some of the less obvious things you will need to know to turn your idea into reality using XNA Game Studio for Windows Phone. Topics include how to choose the best orientation and resolution, how game content differs from typical productivity or web applications, how to deal with tombstoning, speed up load times, and how to proceed if you are interested in getting access to Xbox LIVE on the phone.

Real-World Analysis and Optimization of XNA Framework Games on Windows Phone 7, Jeff Petkau, Friday, 2:00 PM-3:00 PM (GMT-7)
Good code design, performance tips, and a solid understanding of the platform are all essential to game development. Learn how to use the Microsoft’s Advanced Technology Group's (ATG) battle-tested techniques to find and fix performance-killing issues in Windows Phone 7 XNA Framework game code. Also, hear about real-world analysis and optimization of XNA Framework games on Windows Phone 7.

The Rich Mobile Web – Today and Tomorrow, Joe Marini, On Demand
Come learn how to plan and design for today's - and tomorrow's - Rich Mobile Web, whether you have an existing site that you want to get mobilized or are starting from scratch.

Making Money with the Windows Phone Market Place, Karen Luk, On Demand
In Windows Phone 7, Microsoft provides a central mechanism for distributing your application or game to all Windows Phone users: the Windows Phone Marketplace. In this session, we’ll review the high level workings of the Marketplace, but more importantly, we’ll drill deep on the functional criteria your application must meet, and the practices you should use in order to meet them.

Build Outstanding User Experiences in Windows Phone 7, Bryan Agnetta, On Demand
Come hear how the Windows Phone design system, codenamed "Metro", will help developers deliver outstanding user experiences on Windows Phone 7. Learn how the Windows Phone 7 application platform makes it easier than ever to build experiences that leverage the Metro design system. This session will go in depth into not only how to use the new controls, but also how to design your application experience to leverage this compelling new application paradigm.

Tecnologias de sincronização

Creating Custom OData Services: Inside Some of The Top OData Services, Pablo Castro, Thursday, 3:15 PM-4:15 PM (GMT-7)
What does it take to build a real-world OData (Open Data Protocol) service that’s secure, scalable and works great with all clients across the Web? Come to hear all the details on how some of the most popular OData services are built. We will discuss how WCF Data Services is used in typical and not-so-typical contexts, how we layer-in business logic and security, how we deal with custom back-ends that don’t look like databases, and more.

Building Offline Applications using the Sync Framework and SQL Azure, Nina Hu, On Demand
In this session you will learn how to build a client application that operates against locally stored data and uses synchronization to keep up-to-date with a SQL Azure database. See how Sync Framework can be used to build caching and offline capabilities into your client application, making your users productive when disconnected and making your user experience more compelling even when a connection is available. See how to develop offline applications for Windows Phone 7 and Silverlight, plus how the services support any other client platform, such as iPhone and HTML5 applications, using the open web-based sync protocol.

Posted by Alberto Silva | with no comments
Filed under: ,

Aqui vai mais uma série de links para artigos relacionados com o desenvolvimento para WP7 e outras questões relacionadas, como o marketplace. Continuo impressionado com a quantidade, variedade, regularidade e qualidade de artigos publicados por alguns bloggers!

Entretanto foi disponibilizada a lista dos primeiros equipamentos Windows Phone 7 a estarem disponíveis cá em Portugal, sejam ‘livres’, sejam de operador, ressalvando que por agora todos os equipamentos vêm em inglês.

Série de videos ‘How do I’

How Do I: Use MVVM in a Windows Phone 7 Application?
How Do I: Use Page Turn Animation in a Windows Phone 7 Application?
How Do I: Use XNA for Game State Management in a Windows Phone 7 application?
How Do I: Use Touch Manipulation in a Windows Phone 7 Application?
How Do I: Migrate an iPhone Application to a Windows Phone 7 Application?
How Do I: Migrate an Android Application to a Windows Phone 7 Application?
How Do I: Implement Tombstoning in Windows Phone 7 Applications?
How Do I: Implement Tilt Effects in a Windows Phone 7 Application?

WP7 Development Tip of the Day pelo Brad Tutterow

IsolatedStorageSettings 
Which UriKind to use when navigating using NavigationServer.Navigate
Navigating between pages: NavigateUri vs. NavigationService

Série de artigos sobre a GeoLocation API pelo Dragos Manolescu

WP7 Code: Geofencing with the GeoLocation API and Rx
WP7 Code: Reverse GeoCoding with the Bing Maps Service
WP7 Code: Distance Computations with the GeoLocation API
WP7 Code: Using the GeoLocation API

31 Days of Windows Phone pelo Jeff Blankenburg (continuação)

Day #16: Panorama Control
Day #17: Pivot Control
Day #18: WebBrowser Control
Day #19: Push Notification API
Day #20: Map Control

Architecting WP7 pelo Shawn Wildermuth

Part 1 of 10: Navigation Framework
Part 2 of 10: Pivot and Panorama Issues
Part 3 of 10: Enough Architecture (or Where is my VM)
Part 4 of 10: Client-side Data
Part 5 of 10: Tombstoning

Diversos

iPhone to Windows Phone 7 – Animation and Games (Part 2)
http://jesseliberty.com/2010/10/19/iphone-to-windows-phone-7-xna-animation-and-games-part-2/

Enabling your WP7 application to be installed in Trial Mode
http://devlicio.us/blogs/derik_whittaker/archive/2010/10/18/enabling-your-wp7-application-to-be-installed-in-trial-mode.aspx

Conditional Logic During Start Up of a Windows Phone App
http://rhizohm.net/irhetoric/post/2010/10/18/Conditional-Logic-During-Start-Up-of-a-Windows-Phone-App.aspx

Windows Phone 7 Turnstile Control for Silverlight
http://www.codeproject.com/KB/windows-phone-7/WP7Turnstile.aspx

New Silverilght/Windows Phone 7 Video Tutorial: Learn how to make a Turnstyle Control
http://www.windowspresentationfoundation.com/?p=754

How to: Use Share Picker Extensibility for Windows Phone
http://msdn.microsoft.com/en-us/library/ff967563(VS.92).aspx

Resume the User’s music after MediaPlay
http://gdwp7dev.wordpress.com/2010/10/19/resume-the-users-music-after-mediaplay/

Google Maps for Windows Phone 7 using the Bing Maps Control
http://dotnetbyexample.blogspot.com/2010/10/google-maps-for-windows-phone-7.html

PicFx – Windows Phone Picture Effects Application – Part 2
http://blogs.msdn.com/b/coding4fun/archive/2010/10/19/10077086.aspx

Windows Phone 7–Asynchronous Programming
http://csainty.blogspot.com/2010/10/windows-phone-7asynchronous-programming.html

Ninja Database Pro (motor BD para WP7 entre outros, especificações e comparação)
http://www.kellermansoftware.com/p-43-ninja-database-pro.aspx
http://www.kellermansoftware.com/t-kellerman-ninja-database-procompetition.aspx

New licensing deal for Perst
http://mobileworld.appamundi.com/blogs/andywigley/archive/2010/10/12/new-licensing-deal-for-perst.aspx

Porting an iPhone Application to Windows Phone 7  (PDF)
http://cdn.microsoftplatformready.com/assets/PortingIPhoneToWindowsPhone7.pdf

Silverlight TV 49: Creating Rich Interactive Prototypes with Sketchflow - Part 2
http://channel9.msdn.com/Shows/SilverlightTV/Silverlight-TV-49-Creating-Rich-Interactive-Prototypes-with-Sketchflow-Part-2

Inside Windows Phone #05:Windows Phone Silverlight Toolkit (DatePicker, TimePicker, ContextMenu, ToggleSwitch, WrapPanel e GestureService)
http://channel9.msdn.com/Shows/Inside+Windows+Phone/Inside-Windows-Phone-05Windows-Phone-Silverlight-Toolkit

Using WCF on Windows Phone 7: Walk-through
http://blogs.msdn.com/b/andypennell/archive/2010/09/20/using-wcf-on-windows-phone-7-walk-through.aspx

Using Pivot and Panorama Controls (Lab)
http://channel9.msdn.com/Learn/Courses/WP7TrainingKit/WP7Silverlight/UsingPivotAndPanoramaControls

Microsoft Windows Phone 7 Resources
http://blogs.msdn.com/b/rafalkwiek/archive/2010/10/08/microsoft-windows-phone-7-resources.aspx

Getting controls from inside a DataTemplate
http://zetitle.wordpress.com/2010/10/19/getting-controls-from-inside-a-datatemplate/

New Silverlight/Windows Phone 7 Video Tutorial: Use ManipulationDelta to Create a Multi-Touch Application
http://www.windowspresentationfoundation.com/?p=749

Tip 5–Don’t use formatting in your Marketplace Descriptions
http://rd3d2.wordpress.com/2010/10/14/tip-5dont-use-formatting-in-your-marketplace-descriptions/

Anatomy of a WP7 Application Submission
http://pchenry.com/Home/tabid/36/EntryID/354/Default.aspx

How to: Localize an Application Title for Windows Phone
http://msdn.microsoft.com/en-us/library/ff967550(v=VS.92).aspx

Posted by Alberto Silva | 1 comment(s)
Filed under: ,

Já com os 40 posts à vista dedicados ao tema do desenvolvimento para Windows Phone 7, aqui vão mais uns quantos links que achei importante partilhar:

Launchers and Choosers (video)
http://www.silverlight.net/learn/videos/windows-phone/launchers-and-choosers/

Silverlight On Mobile : Launchers in Windows Phone 7
http://pendsevikram.blogspot.com/2010/10/silverlight-on-mobile-launchers-in.html

How to install the Windows Phone Developer Tools on Windows Server 2008
http://blogs.msdn.com/b/astebner/archive/2010/05/02/10005980.aspx

Windows Phone 7 – Application Lifecycle – Ocean for the Phone
http://karlshifflett.wordpress.com/2010/10/17/windows-phone-7-application-lifecycle-ocean-for-the-phone/

Windows Phone 7 Line of Business App Dev :: Moving your WCF REST + JSON Service to Windows Azure
http://robtiffany.com/azure/windows-phone-7-line-of-business-app-dev-moving-your-wcf-rest-json-service-to-windows-azure

Netflix Browser for Windows Phone 7 - Part 1 (pivot, panorama, navegação, OData, …)
http://www.codeproject.com/KB/windows-phone-7/NetflixBrowser.aspx

Help! Can't unlock my Windows Phone 7, can't deploy my XAP file, or can't run my app! (troubleshooting…)
http://blogs.msdn.com/b/velloso/archive/2010/10/15/help-can-t-unlock-my-windows-phone-7-can-t-deploy-my-xap-file-or-can-t-run-my-app.aspx

Three Reasons Developers Should Use Expression Blend (será que querem desculpas para continuarem a fazer aplicações feias?)
http://channel9.msdn.com/Blogs/SlickThought/Three-Reasons-Developers-Should-Use-Expression-Blend

Using the Rating Control in Windows Phone 7
http://wp7wonders.wordpress.com/2010/10/15/use-the-rating-control-in-windows-phone-7/

Windows Phone 7 Developer Resources
http://www.jeffblankenburg.com/page/Windows-Phone-7-Resources.aspx

Anti-aliased Lines And Optimizing Code for Windows Phone 7–First Look
http://nokola.com/blog/post/2010/10/14/Anti-aliased-Lines-And-Optimizing-Code-for-Windows-Phone-7e28093First-Look.aspx

Flickr API for Windows Phone 7 – Part 11- Group Membership
http://dotnet.dzone.com/articles/flickr-api-windows-phone-7-–-9

Flickr API for Windows Phone 7 – Part 12 – Group Pools
http://dotnet.dzone.com/articles/flickr-api-windows-phone-7-–-10

Localize a Windows Phone 7 Application
http://wp7wonders.wordpress.com/2010/10/17/localize-a-windows-phone-7-application/

Monetize your Windows Phone 7 Apps (com o MS Ad SDK)
http://advertising.microsoft.com/mobile-apps

Test Driven Development (TDD) and Windows Phone 7
http://simonguest.com/2010/10/18/test-driven-development-tdd-and-windows-phone-7/

Fiddler and the Windows Phone 7 Emulator
http://blogs.msdn.com/b/fiddler/archive/2010/10/15/fiddler-and-the-windows-phone-emulator.aspx?utm_medium=Twitter&utm_source=Shared

PhoneApplicationService.ApplicationIdleDetectionMode Property  (importante para o App live cycle)
http://msdn.microsoft.com/en-us/library/microsoft.phone.shell.phoneapplicationservice.applicationidledetectionmode(VS.92).aspx

Azure + Bing Maps: Expose data to the world with WCF Data Services (também deve poder ser consuimido com WP7 Smile )
http://blogs.msdn.com/b/windows-azure-support/archive/2010/10/13/azure-bing-maps-expose-data-to-the-world-with-wcf-data-services.aspx

Using reactive extensions with WebRequest
http://zetitle.wordpress.com/2010/10/14/using-reactive-extensions-with-webrequest/

Important Info for WP7 Application Developers (relacionado com Marketplace)
http://chriskoenig.net/2010/10/14/important-info-for-wp7-application-developers

Getting your App published on Windows Phone Marketplace
https://rd3d2.wordpress.com/2010/10/12/getting-your-app-published-on-windows-phone-marketplace/

When a WP7 app fails the Marketplace submission process, it looks like this...
http://www.wpcentral.com/when-wp7-app-fails-marketplace-submission-process-it-looks-this

Failed first attempt at WP7 application submission (updated with reasons)
http://www.pchenry.com/Home/tabid/36/EntryID/360/Default.aspx

Beware of .cache files on IsolatedStorage
http://blogs.ugidotnet.org/corrado/archive/2010/10/15/beware-of-.cache-files-on-isolatedstorage.aspx

Make Your PC Look Like Windows Phone 7 (não, não tem nada a ver com desenvolvimento!)
http://www.howtogeek.com/howto/13901/make-your-pc-look-like-windows-phone-7/

Tip 4–Don’t use ‘washed out’ colours for your Marketplace background.
https://rd3d2.wordpress.com/2010/10/14/tip-4dont-use-washed-out-colours-for-your-marketplace-background/

Professional Windows Phone 7 Application Development: Building Applications and Games Using Visual Studio, Silverlight, and XNA (& outros na Amazon, restam esperar que cheguem à Amazon.co.uk!)
http://www.amazon.com/Professional-Windows-Phone-Application-Development/dp/0470891661/ref=sr_1_8?ie=UTF8&qid=1287016757&sr=8-8

31 Days of Windows Phone 7 (continuação)
Day #12: Vibration Controller
Day #13: Location Services
Day #14: Tombstoning
Day #15: Isolated Storage

Posted by Alberto Silva | with no comments
Filed under: ,

No dia em que o Windows Phone 7 é oficialmente lançado, contando no arranque da sua comercialização com vários equipamentos da HTC, LG, Samsung e Dell, aqui vai mais uma resenha de links.

Página de Suporte oficial para Windows Phone 7
http://www.microsoft.com/windowsphone/en-us/howto/wp7/default.aspx

Another WP7 Navigation Approach with MVVM
http://www.geoffhudik.com/tech/2010/10/10/another-wp7-navigation-approach-with-mvvm.html

How to: design a Windows Phone 7 listbox
http://silverzine.com/tutorials/how-to-design-a-windows-phone-7-listbox/

World's first profiler for Windows Phone 7
http://channel9.msdn.com/posts/Worlds-first-profiler-for-Windows-Phone-7

Profile your Windows Phone 7 Application for Free
http://michaelcrump.net/archive/2010/10/09/profile-your-windows-phone-7-application-for-free.aspx

Basic Windows Phone 7 Diagnostics
http://www.geoffhudik.com/tech/2010/10/9/basic-windows-phone-7-diagnostics.html

WP7 Orientation Based Scrolling
http://www.geoffhudik.com/tech/2010/10/9/wp7-orientation-based-scrolling.html

Inside Windows Phone#09:Ad SDK-for Windows Phone
http://channel9.msdn.com/Shows/Inside+Windows+Phone/Inside-Windows-Phone09Ad-SDK-for-Windows-Phone

#WP7 FluidListBox Control #wp7dev
http://brainafk.com/wp7-fluidselectbox-control-wp7dev

#WP7 PickerBox Control Update (R2)
http://brainafk.com/wp7-pickerbox-control-r2

WP7-Digest-Authentication-Client
http://github.com/deanis/WP7-Digest-Authentication-Client

WP7 Tip: Setting the Panorama Page After Tombstoning
http://www.jaykimble.net/wp7-tip-setting-the-panorama-page-after-tombstoning.aspx

Windows Phone 7 RTM charting using the Silverlight Control Toolkit
http://silverlighthack.com/post/2010/10/08/Windows-Phone-7-RTM-Charting-using-the-Silverlight-Control-Toolkit.aspx

New Windows Phone 7 / Silverlight Video Tutorial: How to make a Browser Application
http://www.windowspresentationfoundation.com/?p=738

Windows Phone 7 Error Handling, Reporting
http://www.geoffhudik.com/tech/2010/10/9/windows-phone-7-error-handling-reporting.html

Windows Phone 7 – Pivot Filtering with Caliburn.Micro
http://blog.jayway.com/2010/10/08/windows-phone-7-pivot-filtering-with-caliburn-micro/

Designing Windows Phone 7 Applications
http://silverzine.com/resources/designing-windows-phone-7-applications/

31 Days of Windows Phone 7
Day #1: Project Template
Day #2: Page Navigation
Day #3: The Back Button Paradigm
Day #4: Device Orientation
Day #5: System Theming
Day #6: Application Bar
Day #7: Launchers
Day #8: Choosers
Day #9: Debugger Tips
Day #10: Input Scope
Day #11: Accelerometer

Understanding Message Box on Windows Phone 7
http://beautifulmind.blog.co.in/2010/07/28/understanding-message-box-on-windows-phone-7/

Posted by Alberto Silva | with no comments
Filed under: ,

O trabalho não me tem permitido manter o blog actualizado, tendo até deixado passar algumas novidades

- A versão final das ferramentas de desenvolvimento para Windows Phone 7 foi libertada, e para aqueles que não tenham uma edição paga do Visual Studio 2010, vem gratuitamente com uma edição Express e o Expression Blend.

- Foi anunciado o suporte  futuro oficial à utilização de Visual Basic.net para desenvolvimento de aplicações Silverlight para Windows Phone 7. Ter em conta que o XNA só suporta C# e que a pre-release (CTP) não é suportada pelo VS2010 Express

- Vai decorrer o evento Microsoft WebDay 2010 no Porto e em Lisboa, a 12 e 14 de Outubro respectivamente, que entre diversos temas ligados ao desenvolvimento para a web & cloud, inclui também uma sessão sobre o Windows Phone 7 enquanto plataforma aplicacional. Na véspera de cada um dos eventos haverá uma pré-conferência dedicada ao desenvolvimento para Windows Phone 7, usando quer Silverlight, quer XNA.

webday Site do Webday (agenda, registo, locais, …)

- Pela primeira vez o meu nome é referido num prefácio num livro Smile Claro que essa é a última razão porque comprariam um livro, mas há muitas e boas razões para fazê-lo! O livro é o ‘Silverlight 4.0 – Curso Completo’ pelo Luís Abreu, MVP de ASP.NET, que versa diversos temas ligados ao desenvolvimento para Silverlight, quer no modelo de execução no browser, quer fora do browser, podendo ser lido por aqueles que conhecendo .NET não se iniciaram ainda no desenvolvimento para SL, bem como por aqueles que tendo vir a acompanhar o SL querem saber mais sobre a versão 4.0. Infelizmente este livro não cobre o desenvolvimento para Windows Phone 7, mas ainda assim é uma excelente opção para quem ao desenvolver com SL para Windows Phone 7 pretende aproveitar os conhecimentos adquiridos de SL para desenvolver para web e desktops. Importante para muitos é o facto de este livro estar escrito em Português.

alt (clicar no livro para ir para o site da FCA)

- Last but not least, fui nomeado de novo MVP pela Microsoft! Continuo com a competência ‘Device Application Development’ pelas minhas contribuições ligadas ao desenvolvimento de aplicações em .NET Compact Framework para Windows Mobile e ao SQL Server Compact

Posted by Alberto Silva | 2 comment(s)
Filed under: , ,

Actualizei o artigo original para reflectir algumas contribuições de membro do Portugal a Programar

Windows Phone 7 is pulling in to the platform
http://blogs.msdn.com/b/stevecla01/archive/2010/09/01/windows-phone-7-is-pulling-in-to-the-platform.aspx

wFace – windows phone 7 facebook integration part 1
http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx

Creating List Picker for WP7 (com actualizações/correcções)
http://blogs.msdn.com/b/priozersk/archive/2010/08/30/creating-list-picker-for-wp7.aspx

Building a Windows Phone 7 control from the ground up - Part one - the “Infinite ListBox”
http://blogs.telerik.com/blogs/posts/10-08-31/building_a_windows_phone_7_control_from_the_ground_up_-_part_one_-_the_infinite_listbox.aspx

Accelerometer Helper for Windows Phone 7
http://channel9.msdn.com/posts/LauraFoy/Accelerometer-Helper/

Silverlight On Mobile : Charting on Windows Phone 7
http://pendsevikram.blogspot.com/2010/08/silverlight-on-mobile-charting-on.html

patterns & practices - Windows Phone 7 Developer Guide – Drop 2
http://wp7guide.codeplex.com/releases

WP7, XNA, and XAP Size
http://geekswithblogs.net/mikebmcl/archive/2010/09/02/wp7-xna-and-xap-size.aspx

LINQ, List and Progress Bar
http://cafe.naver.com/winmodev.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=3559

Windows Phone 7: Navigating After A Picture/Camera Task
http://www.designersilverlight.com/2010/09/01/windows-phone-7-navigating-after-a-picture-task/

Crypto Obfuscator com suporte a aplicações Silverlight/XNA Windows Phone 7
http://www.ssware.com/cryptoobfuscator/faq.htm

Do you need to cache data ?
http://blog.humann.info/post/2010/09/03/WP7-Do-you-need-to-cache-data-.aspx

Android and Windows Phone 7: Part 2 – Emulators – WP7
http://dotnet.dzone.com/articles/android-and-windows-phone-7-0

Building a Windows Phone 7 control from the ground up - Part Two - the “Date ListBox”
http://blogs.telerik.com/georgiatanasov/posts/10-09-02/building_a_windows_phone_7_control_from_the_ground_up_-_part_two_-_the_date_listbox.aspx

Keep a low profile [LowProfileImageLoader helps the Windows Phone 7 UI thread stay responsive by loading images in the background]
http://blogs.msdn.com/b/delay/archive/2010/09/02/keep-a-low-profile-lowprofileimageloader-helps-the-windows-phone-7-ui-thread-stay-responsive-by-loading-images-in-the-background.aspx

Can we get a little service here? (WCF)
http://xna-uk.net/blogs/darkgenesis/archive/2010/09/03/can-we-get-a-little-service-here.aspx

Inside Windows Phone #03: Optimizing Windows Phone Silverlight Applications
http://channel9.msdn.com/shows/Inside+Windows+Phone/Inside-Windows-Phone-03-Optimizing-Windows-Phone-Silverlight-applications/

Using Isolated Storage on Windows Phone 7
http://www.codebadger.com/blog/post/2010/09/03/Using-Isolated-Storage-on-Windows-Phone-7.aspx

Windows Phone 7 Tutorials Isolated Storage and User Controls
http://compiledexperience.com/blog/posts/windows-phone-7-tutorials-isolated-storage-and-user-controls

Performing Back Navigation w/out adding a page to the Back Stack in WP7
http://devlicio.us/blogs/derik_whittaker/archive/2010/09/03/performing-back-navigation-w-out-adding-a-page-to-the-back-stack-in-wp7.aspx

Catching the Back Button action on WP7
http://devlicio.us/blogs/derik_whittaker/archive/2010/09/02/catching-the-back-button-action-on-wp7.aspx

Keyboard helper class for wp7 vs tab index
http://pauliom.wordpress.com/2010/09/04/keyboard-helper-class-for-wp7-vs-tab-index/

Silverlight On Mobile : Application Bar for your Windows Phone 7 Application
http://pendsevikram.blogspot.com/2010/09/silverlight-on-mobile-application-bar.html

Windows Phone 7 – Voice and Tone
http://new.efficientcoder.net/2010/09/windows-phone-7-voice-and-tone.html

iPhone to Windows Phone 7 – Diving Deeper
http://jesseliberty.com/2010/09/04/iphone-to-windows-phone-7-diving-deeper/#more-3376

Windows Phone 7 – Quick Tip
http://new.efficientcoder.net/2010/09/windows-phone-7-quick-tip.html

Simple 3D Camera in XNA
http://www.sgtconker.com/2010/09/article-simple-3d-camera-in-xna/

Windows Phone 7 Resources (sempre em actualização…)
http://indyfromoz.wordpress.com/windows-phone-7-resources/

Twitter Search application for Windows Phone
http://www.eugenedotnet.com/WP7L9-TwitterSearchApp.ashx

A Windows Phone Twitter Application : Part 2 of 2
http://sudheerkovalam.wordpress.com/2010/09/05/a-windows-phone-twitter-application-part-2-of-2/

Update to List Picker Control
http://blogs.msdn.com/b/priozersk/archive/2010/09/01/update-to-list-picker-control.aspx

wp7 Keyboard helper as a behavior
http://pauliom.wordpress.com/2010/09/05/wp7-keyboard-helper-as-a-behavior/

Windows Phone 7 in 7 Minutes! (em actualização)
http://www.msdev.com/Directory/SeriesDescription.aspx?CourseId=158

All about Windows Phone
http://www.eugenedotnet.com/WindowsPhone7.ashx

Posted by Alberto Silva | with no comments
Filed under: ,

Sem grandes floreados, aqui vão mais uns links para referência sobre o tema do costume:

Why use Metro, WP7 Development
http://codejoker.com/2010/08/31/why-use-metro-wp7-development/

Creating List Picker for WP7
http://blogs.msdn.com/b/priozersk/archive/2010/08/30/creating-list-picker-for-wp7.aspx

WCF and XNA on WP7 – Hack Free
http://geekswithblogs.net/mikebmcl/archive/2010/08/30/wcf-and-xna-on-wp7-ndash-hack-free.aspx

Windows Phone 7 App Categories Finalized
http://geekswithblogs.net/cwilliams/archive/2010/08/30/141550.aspx

Managing Trial Applications for Windows Phone 7
http://slickthought.net/post/2010/08/30/Managing-Trial-Applications-for-Windows-Phone-7.aspx

Learn How to Develop Windows Phone 7 apps in 12 Hours
http://blogs.msdn.com/b/zxue/archive/2010/08/30/learn-how-to-develop-windows-phone-7-apps-in-12-hours.aspx

A Really Long Post About the Windows Phone 7 Push Notification System
http://www.thisisfanzoo.com/Blog/JeffF/archive/2010/08/02/a-really-long-post-about-the-windows-phone-7-push.aspx

Fighting the Lock Screen in Windows Phone 7 by disabling IdleDetectionMode
http://nicksnettravels.builttoroam.com/post/2010/08/30/Fighting-the-Lock-Screen-in-Windows-Phone-7-by-disabling-IdleDetectionMode.aspx

Making your Content Scrollable
http://www.kirupa.com/windowsphone/making_content_scrollable.htm

Azure Storage and WP7 (procurar post do Jonathan Tanner)
http://social.msdn.microsoft.com/Forums/en-US/windowsphone7series/thread/9b0505f7-b036-4bce-b21e-833665060181

Windows Phone 7 ListBox Pagination with MVVMLight & ApplicationBar
http://indyfromoz.wordpress.com/2010/08/30/windows-phone-7-listbox-pagination-with-mvvmlight-applicationbar/

Writing a windows phone 7 application with an Azure backend part 4 (Security)
http://bartreyserhove.blogspot.com/2010/08/writing-windows-phone-7-application_30.html

Exploring Silverlight-XNA integration on Windows Phone 7
http://www.silverlightshow.net/items/Exploring-Silverlight-XNA-integration-on-Windows-Phone-7.aspx

Building a Windows Phone 7 App – Sudoku (Parte 1, 2 & 3)
http://blog.xamlware.com/post/2010/07/25/Building-a-Windows-Phone-7-App-e28093-Sudoku-(Part-1).aspx
http://blog.xamlware.com/post/2010/08/01/Building-a-Windows-Phone-7-App-e28093-Sudoku-(Part-2).aspx
http://blog.xamlware.com/post/2010/08/29/Building-a-Windows-Phone-7-App-e28093-Sudoku-(Part-3).aspx

Calling JavaScript Functions in Windows Phone 7
http://www.windowsphone7coding.com/index.php/component/content/article/1-general/131-calling-javascript-functions-in-windows-phone-7

Building a Windows Phone 7 control from the ground up - Part one - the “Infinite ListBox”
http://blogs.telerik.com/blogs/posts/10-08-31/building_a_windows_phone_7_control_from_the_ground_up_-_part_one_-_the_infinite_listbox.aspx

Posted by Alberto Silva | with no comments
Filed under: ,

As empresas que produzem software de gestão estarão neste momento a par da necessidade de a partir de 1 de Janeiro de 2011 disponibilizarem aos seus clientes novas versões das suas aplicações que implementem os requisitos necessários à chamada ‘certificação de software’. O mecanismo a implementar passa por no momento da gravação de um documento criar um hash a partir das suas características, baseado num certificado asimétrico, que garantirá que nenhum dos elementos importantes do documento é editado depois de emitido.

A moving2u, apesar de não criar software de gestão na perspectiva ‘stand alone’, dado que a nossa solução de mobilidade para PDAs integra sempre com um sistema de gestão de terceiros (actualmente contempla Primavera, PHC, Eticadata, SAP Business One, Gexor, entre outros), também é visada por este processo de certificação. Assim sendo, no sentido de garantir a legalidade da sua utilização por parte dos nossos clientes visados por essa regulamentação, encetámos os passos necessários ao seu cumprimento, no sentido de disponibilizar até ao final do ano uma nova versão que assine cada um dos documentos legais com o referido hash, que imprima a informação requerida pela portaria e que permita gerar o ficheiro SAFT-PT, que até agora era sempre emitido pelo sistema onde os documentos eram integrados.

Para o processo da assinatura em si, passo a descrever os passos necessários para a geração do hash em aplicações .NET:

- descarregar o OpenSSL para Windows para criar as chaves privada e pública e gerar um hash para teste

http://www.shininglightpro.com/products/Win32OpenSSL.html

- descarregar o OpenSSLKey para poder converter a chave privada no formato PEM no formato XML

http://www.jensign.com/opensslkey/ (link no final da página)

- criar a chave privada

openssl genrsa -out MinhaChavePrivada.pem 1024

- criar a chave pública a aprtir da chave privada

openssl rsa -in MinhaChavePrivada.pem -out MinhaChavePublica.pem -outform PEM -pubout

- exportar a chave privada de ‘pem’ para ‘xml’

Correr o opensslkey, indicar o caminho do ficheiro PEM, na consola obtem-se entre outras coisas a chave privada em formato XML, copiar essa parte para um ficheiro .XML

- gerar um hash utilizando o openSSL para testar. Ter em conta que o Windows acrescenta um CR+LF ao echo, pelo que o valor obtido será sempre diferente do que as finanças obteriam para a mesma string

echo 2010-05-18;2010-05-18T11:22:19;FAC 001/14;3.12; | openssl dgst -sha1 -sign MinhaChavePrivada.pem | openssl enc -base64 –A

- gerar um hash utilizando o openSSL para testar. Criar um ficheiro string.txt com o conteúdo da string a encriptar, sem linefeed no final!

copy con string.txt<ENTER>
2010-05-18;2010-05-18T11:22:19;FAC 001/14;3.12; <CTRL-Z><ENTER>

…e utilizar o seguinte comando

openssl dgst -sha1 -sign MinhaChavePrivada.pem string.txt| openssl enc -base64 –A

- código em VB.net (adicionar referência ao System.Security.Cryptography):

Imports System.Security.Cryptography
Imports System.Text

Module Module1

    Sub Main()
        ' descomentar o vbCrLf caso se pretenda obter um hash comparável com o obtido com o openssl em Windows 
        Dim stringToHash As String = "2010-05-18;2010-05-18T11:22:19;FAC 001/14;3.12; " ' + vbCrLf 
        Using privatekey As RSACryptoServiceProvider = New RSACryptoServiceProvider

            Dim privateKeyXML As String = System.IO.File.ReadAllText("C:\Trabalho\OpenSSL-Win64\bin\MinhaChavePrivada.xml")

            privatekey.FromXmlString(privateKeyXML)

            Dim buffer As Byte() = Encoding.GetEncoding("Windows-1252").GetBytes(stringToHash)
            Dim signature As Byte() = privatekey.SignData(buffer, "SHA1")

            Console.WriteLine(Convert.ToBase64String(signature))
        End Using
    End Sub
End Module

- A .NET CompactFramework 3.5 não suporta o método FromXmlString pelo que é preciso instanciar um objecto do tipo RSAParameters e preenchê-lo ‘manualmente’ (adicionar referências ao System.Xml e System.Xml.Linq):

Imports System.Security.Cryptography
Imports System.Text

Module Module1

    Sub Main()
        ' descomentar o vbCrLf caso se pretenda obter um hash comparável com o obtido com o openssl em Windows 
        Dim stringToHash As String = "2010-05-18;2010-05-18T11:22:19;FAC 001/14;3.12; " ' + vbCrLf 
        Using privatekey As RSACryptoServiceProvider = New RSACryptoServiceProvider
            Dim privateKeyXML As String = "..." ' carregar o xml da chave privada para esta string
            Dim xe As XElement
            xe = XElement.Load(privateKeyXML)

            Dim rsaP As RSAParameters = New RSAParameters() With {.Modulus = Convert.FromBase64String(xe.Element("Modulus").Value), _
                                                      .Exponent = Convert.FromBase64String(xe.Element("Exponent").Value), _
                                                      .P = Convert.FromBase64String(xe.Element("P").Value), _
                                                      .Q = Convert.FromBase64String(xe.Element("Q").Value), _
                                                      .DP = Convert.FromBase64String(xe.Element("DP").Value), _
                                                      .DQ = Convert.FromBase64String(xe.Element("DQ").Value), _
                                                      .InverseQ = Convert.FromBase64String(xe.Element("InverseQ").Value), _
                                                      .D = Convert.FromBase64String(xe.Element("D").Value)}
            privatekey.ImportParameters(rsaP)

            Dim buffer As Byte() = Encoding.GetEncoding("Windows-1252").GetBytes(stringToHash)
            Dim signature As Byte() = privatekey.SignData(buffer, "SHA1")

            Debug.WriteLine(Convert.ToBase64String(signature))
        End Using
    End Sub
End Module

Actualizado em 2010/09/08 para usar um ficheiro com a string da qual queremos gerar o hash sem o problema do Echo em Windows. Outra alternativa é utilizar um comando Echo portado do equivalente em Unix e que com o switch –n não gera o linefeed.

Todos os processos e o código apresentados servem apenas para exemplificar a forma de obtenção do hash do documento, sem ter em conta regras de boas práticas de desenvolvimento, performance ou segurança, não devendo ser considerado para produção. Obviamente serão declinadas quaisquer reclamações sobre a utilização do mesmo.

Ideias para o seu desenvolvimento foi obtido a partir do fórum ‘Portugal a Programar’ http://www.portugal-a-programar.org/forum/index.php/topic,48555.15.html onde sugiro que sejam discutidas questões relacionadas com este tópico

Este post não tem como objectivo defender ou criticar o processo da certificação de software, pelo que todos os comentários nesse sentido não serão publicados.

Depois de uns dias fora com a família, o volume de links para artigos relacionados com o desenvolvimento para WP7 aumentou assustadoramente! Abaixo os que considero mais interessantes, desta vez arrumadinhos por cateogrias. Não se habituem!

A ler primeiro…

A Developer’s Roadmap to Windows Phone 7 Launch Timing
http://windowsteamblog.com/windows_phone/b/wpdev/archive/2010/08/23/a-developer-s-roadmap-to-windows-phone-7-launch-timing.aspx

UI & Gestures

Fixing your themes, WP7 Development
http://codejoker.com/2010/08/29/fixing-your-themes-wp7-development/

WP7 – Context Menu From Listbox
http://eclipsed4utoo.com/blog/wp7-context-menu-listbox/

WP7 Tip: tombstoning simplified
http://www.imaginativeuniversal.com/blog/post/2010/08/26/WP7-Tip-tombstoning-simplified.aspx

Your phone can turn into a robot [LayoutTransformer works great on the Windows Phone platform]
http://blogs.msdn.com/b/delay/archive/2010/08/26/your-phone-can-turn-into-a-robot-layouttransformer-works-great-on-the-windows-phone-platform.aspx

Windows Phone Applications – Gestures
http://blogs.msdn.com/b/rickyt/archive/2010/08/16/windows-phone-applications-gestures.aspx

How to have binding on the ApplicationBar
http://blog.humann.info/post/2010/08/27/How-to-have-binding-on-the-ApplicationBar.aspx

Navegação & State

Introducing the concept of “Places”
http://blogs.msdn.com/b/ptorr/archive/2010/08/28/introducing-the-concept-of-places.aspx

Redirecting an initial navigation
http://blogs.msdn.com/b/ptorr/archive/2010/08/28/redirecting-an-initial-navigation.aspx

Saving State: Execution Model Best Practices for Windows Phone 7
http://networkedblogs.com/7dYwx

MVVM

Understanding MVVM (Model, View, ViewModel) for Silverlight and Windows Phone in 3 easy steps!
http://xsummary.com/?p=177

DesignData MVVM support in Blend, VS2010 and WPF/Silverlight
http://blogs.msdn.com/b/mcsuksoldev/archive/2010/08/27/designdata-mvvm-support-in-blend-vs2010-and-wpf-silverlight.aspx

Use MEF to decouple discovery of your ViewModel’s in MVVMLight’s ViewModelLocator (sim, MEF no WP7…)
http://kellabyte.wordpress.com/2010/08/25/use-mef-to-decouple-discovery-of-your-viewmodels-in-mvvmlights-viewmodellocator/

WP7 – Testable Touch with MVVM
http://dotnetcatch.wordpress.com/2010/08/25/wp7-testable-touch-with-mvvm/

IsolatedStorage

Working with Isolated Storage
http://www.dreamincode.net/forums/topic/187702-working-with-isolated-storage/

Getting to my Isolated Files (Windows Phone 7)
http://www.j2i.net/BlogEngine/post/2010/08/24/Getting-to-my-Isolated-Files.aspx

Cloud Services / OData / Comunicações

Windows Phone 7 and Compression using Accept-Encoding Header
http://nicksnettravels.builttoroam.com/post/2010/08/27/Windows-Phone-7-and-Compression-using-Accept-Encoding-Header.aspx

A Windows Phone 7 Twitter Application : Part 1 of 2 (Understanding oAuth)
http://sudheerkovalam.wordpress.com/2010/08/28/a-windows-phone-7-twitter-application-part-1/

Flickr Uploader for Windows Phone 7
http://www.wackylabs.net/2010/08/flickr-uploader-for-windows-phone-7/

WCF on the Windows Phone 7–The How to Guide
http://xna-uk.net/blogs/darkgenesis/archive/2010/08/24/wcf-on-the-windows-phone-7-the-how-to-guide.aspx

Windows Phone and the Cloud--an Introduction (acho que já tinha referido…)
http://msdn.microsoft.com/en-us/magazine/ff872395.aspx

Notifications

Sending tile push notifications on Windows Phone 7
http://dotnet.dzone.com/articles/sending-tile-push

Gaming/XNA

Saving/loading on WP7 using Easy Storage
http://robotfootgames.com/component/content/article/2-robot-foot-games-blog/83-savingloading-on-wp7-using-easy-storage

Brand-new XNA content for Windows Phone 7!
http://crocusgirl.wordpress.com/2010/08/23/brand-new-xna-content-for-windows-phone-7/

Create Games for Windows Phone 7!
http://blogs.microsoft.co.il/blogs/alex_golesh/archive/2010/08/24/create-games-for-windows-phone-7.aspx

Windows Phone Screen Stealing Status Bar
http://www.robmiles.com/journal/2010/8/25/windows-phone-screen-stealing-status-bar.html

How to Customize Your XNA Game Tile on the Windows Phone 7 Start Page
http://smartypantscoding.com/how-to-customize-your-xna-game-tile-on-the-windows-phone-7-start-page

Diversos

Microsoft to publish extra code to make third party WP7 apps more consistent
http://www.istartedsomething.com/20100826/microsoft-to-publish-extra-code-to-make-third-party-wp7-apps-more-consistent/

Windows Phone 7 supports VB.Net and F# (‘não suportado’ e ‘não corre’ não são a mesma coisa!)
http://justinangel.net/WindowsPhone7VBnetAndFSharp

REALLY small unzip utility for Silverlight – Part 1 & 2
http://www.sharpgis.net/post/2009/04/22/REALLY-small-unzip-utility-for-Silverlight.aspx
http://www.sharpgis.net/post/2010/08/26/REALLY-small-unzip-utility-for-Silverlight-e28093-Part-2.aspx

Creating a Toast Like Notification Popup on WP7
http://devlicio.us/blogs/derik_whittaker/archive/2010/08/27/creating-a-toast-like-notification-popup-on-wp7.aspx

Windows Phone 7 Application Icons
http://www.codebadger.com/blog/post/2010/08/27/Windows-Phone-7-Application-Icons.aspx

Windows Phone 7 : Launcher and Choosers : Part 1 & 2
http://sudheerkovalam.wordpress.com/2010/08/06/96/
http://sudheerkovalam.wordpress.com/2010/08/14/windows-phone-7-launcher-and-choosers-part-2/

Extending the Music + Video Hub on Windows Phone 7
http://dotneteers.net/blogs/vbandi/archive/2010/08/24/extending-the-music-video-hub-on-windows-phone-7.aspx

iPhone to Windows Phone 7 (tutoriais)
http://jesseliberty.com/2010/08/23/i2w-an-iphone-developers-guide-to-creating-windows-phone-7-applications-tutorial/

Augmented Reality and Windows Phone 7
http://blog.markarteaga.com/AugmentedRealityAndWindowsPhone7.aspx

My “Hello World” Windows Phone 7 Application (código fonte, inclui utilização de MVVM Light)
http://chriskoenig.net/2010/08/27/my-hello-world-windows-phone-7-application/

Windows Phone 7 - What I’ve Learnt So Far
http://www.wackylabs.net/2010/08/windows-phone-7-what-ive-learnt-so-far/

“Free, open source charting controls for WPF & Silverlight” (com suporte para WP7)
http://github.com/ailon/amCharts-Quick-Charts

Dual Targeting WPF and Silverlight (and Windows Phone 7)
http://10rem.net/blog/2010/08/26/dual-targeting-wpf-and-silverlight-and-windows-phone-7

MoAds - Custom Win Phone 7 Ad Control with AdMob support
http://jacob4u2.blogspot.com/2010/08/moads-custom-win-phone-7-ad-control.html

Windows Phone 7 Emulator Add-in for Expression Web
http://www.uxmagic.com/blog/post/2010/08/24/Windows-Phone-7-Emulator-Add-in-for-Expression-Web.aspx

Windows Phone Design Days Presentations
http://www.uxmagic.com/blog/post/2010/08/26/Windows-Phone-Design-Days-Presentations.aspx

Directórios de Recursos

http://indyfromoz.wordpress.com/windows-phone-7-resources/
http://www.reddit.com/r/wp7dev/

Posted by Alberto Silva | with no comments
Filed under: ,

Depois de ter perdido a compilação de links que estava a reunir para este 34º post sobre desenvolvimento para Windows Phone 7 por ter tido a ideia ‘esperta’ de estar a actualizar o conjunto de aplicações Windows Live enquanto o redigia, creio que consegui reencontrar a maior parte deles. Este é também o meu 1º post com a versão beta do Windows Live Writer 2011, vamos ver se mantém todas as formatações habituais.

patterns & practices - Windows Phone 7 Developer Guide
http://wp7guide.codeplex.com/

Windows Phone 7 Jump Start Training
http://windowsteamblog.com/windows_phone/b/wpdev/archive/2010/08/17/windows-phone-7-jump-start-training.aspx

Fade Into You [Code to easily animate orientation changes for Windows Phone applications now supports fade, too!]
http://blogs.msdn.com/b/delay/archive/2010/08/18/fade-into-you-code-to-easily-animate-orientation-changes-for-windows-phone-applications-now-supports-fade-too.aspx

Creating a Splash Screen with a progress bar for WP7 applications.
http://blogs.msdn.com/b/priozersk/archive/2010/08/17/creating-a-splash-screen-with-a-progress-bar-for-wp7-applications.aspx

Virtualizing Data in Windows Phone 7 Silverlight Applications
http://blogs.msdn.com/b/ptorr/archive/2010/08/16/virtualizing-data-in-windows-phone-7-silverlight-applications.aspx

Two more WP7 (‘Count me in’ e ‘Reaction tine’)
http://compiledexperience.com/blog/posts/two-more-wp7-tutorials

Make your Windows Phone 7 application dependent on the network connection type
http://dotnet.dzone.com/articles/make-your-windows-phone-7

WP7 – “App won’t run from app list” Fix
http://dotnetcatch.wordpress.com/2010/08/18/wp7-app-wont-run-from-app-list-fix/

Error installing Windows Phone 7 developer tools (June 2010 Beta) with Symantec Endpoint Protection
http://geekswithblogs.net/lvega/archive/2010/08/17/141354.aspx

Quick tip – Set the correct time in Windows Phone 7 emulator
http://indyfromoz.wordpress.com/2010/08/18/quick-tip-set-the-correct-time-in-windows-phone-7-emulator/

Exploring List capacities and growth on the Windows Phone
http://www.jeff.wilcox.name/2010/08/list-capacity-info/

Using the ASP.NET Membership Provider and Authentication Service from Windows Phone 7
http://www.kotancode.com/2010/08/06/aspnet-authentication-wp7/

Windows Phone 7 Tutorial – Creating a simple notes app with Silverlight Part 1
http://onishimura.com/2010/07/25/windows-phone-7-tutorial-creating-a-simple-notes-app-with-silverlight-part-1/

Validating Data: Factoring and Logging (tutorial video)
http://www.silverlight.net/learn/videos/all/validating-data-factoring-and-logging/

Windows Phone 7 and iPhone – Multitasking
http://silverlight.riiul.com/2010/08/15/windows-phone-7-and-iphone-multitasking/

Using ChildWindow in Windows Phone 7 Projects
http://wildermuth.com/2010/08/17/Using_ChildWindow_in_Windows_Phone_7_Projects

Deploying XAP Files to Windows Phone 7
http://blog.markarteaga.com/DeployingXAPFilesToWindowsPhone7.aspx

Using Different Resources for Windows Phone 7 Themes
http://deviation-alliance.com/2010/08/19/using-different-resources-for-windows-phone-7-themes/

Creating a small downloader tool for Windows Phone 7
http://dotnet.dzone.com/articles/creating-small-downloader-tool

Playing a streamed mp3
https://ghazanfaralich.wordpress.com/2010/08/20/playing-a-streamed-mp3/

Windows Phone Phone Calls (ou como não perder as vidas num jogo enquanto atende uma chamada Smile)
http://www.robmiles.com/journal/2010/8/19/windows-phone-phone-calls.html

Debugging Tombstoning in Windows Phone 7
http://wildermuth.com/2010/08/19/Debugging_Tombstoning_in_Windows_Phone_7

Windows Phone 7 and Image Overlays
http://nicksnettravels.builttoroam.com/post/2010/08/20/Windows-Phone-7-and-Image-Overlays.aspx

Hosting XNA within Silverlight on Windows Phone 7 and why you shouldn’t do it
http://red-badger.com/Blog/post/Hosting-XNA-within-Silverlight-on-Windows-Phone-7-and-why-you-shouldne28099t-do-it.aspx

Hanselminutes Podcast 228 - Performance of Silverlight on Windows Phone 7
http://www.hanselman.com/blog/HanselminutesPodcast228PerformanceOfSilverlightOnWindowsPhone7.aspx

Patterns of Windows Phone Architecture Part 1
http://www.imaginativeuniversal.com/blog/post/2010/08/15/Patterns-of-Windows-Phone-Architecture-Part-1.aspx

Windows Phone 7 OData CTP, nope use REST and JSON
http://www.nickharris.net/2010/08/windows-phone-7-odata-ctp-nope-use-rest-and-json/

Posted by Alberto Silva | with no comments
Filed under: ,
More Posts Next page »