Posts destacados

Nuevo libro de desarrollo para Windows 8 y Windows Phone 8Nuevo libro de desarrollo para Windows 8 y Windows... Desde hace tiempo, estoy un poco alejado del mundanal ruido de blogs, twitter y demás. La razón no ha sido otra que hacer posible un deseo que tenia desde hace mucho tiempo,...

Read more

Preparándonos para el #MegathonW8 y II – Instalando las herramientas de desarrollo.Preparándonos para el #MegathonW8 y II –... Una vez que ya tenemos nuestro flamante Windows 8 instalado en nuestro disco duro virtual, según los pasos del primer capitulo de esta guía. Lo que debemos de hacer es instalarnos...

Read more

Preparándonos para el #MegathonW8 y I Instalación de Windows 8 en un VHDPreparándonos para el #MegathonW8 y I Instalación... Este es el primer post de una serie de ellos cuya intención es facilitar a los asistentes al megathon que se celebrara en breve, las instrucciones necesarias para conocer...

Read more

Beca para el Megathon Windows 8Beca para el Megathon Windows 8 Como seguramente todos ya sabréis, los próximos días 7, 8 y 9 de Septiembre se celebrara en varias ciudades españolas al mismo tiempo un hackathon sobre desarrollo para...

Read more

[OFFTOPIC] Oferta de trabajo.[OFFTOPIC] Oferta de trabajo. Madre mía, hasta ahora realmente no me había dado cuenta de lo abandonado que tengo mi blog, como pasa el tiempo de rápido por dios… Demasiadas cosas a hacer tanto dentro...

Read more

Windows Phone y .NET Rss

Windows Phone RoadShow–Conclusiones

Posteado el : 07-12-2011 | Por : tecnologia | En : Windows Phone 7

0

Este año he tenido la gran suerte de participar como ponente en alguno de los eventos de la gira Windows Phone Roadshow, organizada por Microsoft y Nokia.

La verdad es que no me hubiera imaginado hace poco, que yo mismo estaría subido ahí, en el lugar de los ponentes dando unas cuantas charlas a ávidos desarrolladores ansiosos de conocimientos.

Santander.

La primera ocasión en la que participe, ha sido el evento realizado en Santander. Gracias al CIIN de Cantabria y en particular a mi amigo Juan Carlos González, conseguimos traer a nuestra región parte de esta gira. José Antonio Gallego, Eduardo Ortega y Josué Yeray compartieron conmigo escenario y presentamos las características mas importantes de la plataforma.

La asistencia fue la mas baja de todos los eventos de la gira, por lo que aprovecho para tirar de las orejas (virtualmente), a todos los desarrolladores cántabros. Venga chicos que hacemos lo imposible para llevar a Santander los mejores eventos y necesitamos que nos respaldéis.

Santander

Santander 2

 A parte de esto, fue en algún sentido un evento algo especial, ya que Eduardo Ortega del CIIM de Valladolid, se despedía de nosotros, ya que se nos va a vivir a los Londres y será raro disfrutar de sus charlas por la península. Desde aquí un cálido agradecimiento a Edu, primero por la ayuda y la colaboración en este evento en particular y segundo porque, al menos a mi, me ha hecho disfrutar de cada una de sus charlas a las que he tenido la suerte de asistir.

Tenerife.

Y llego, “El Evento”, con mayúsculas. Josué Yeray, hizo lo imposible porque Microsoft considerara a sus islas, concretamente a Tenerife como lugar el cual debería de acoger uno de los eventos del tour y visto lo visto por los resultados, no se equivocaba ni lo mas mínimo.

Casi 100 asistentes a un evento de 8 horas celebrado en sábado. Casi tuvimos que echar a la gente de la sala, porque no se querían ir de lo a gusto y entretenidos que estaban. Los ponentes, Josué Yeray, Alberto Díaz y yo mismo, nos lo pasamos pipa.

Tenerife 2

Tenerife

Tenerife 4

 Finalizamos como no el evento regalando unos cuantos móviles a todos los asistentes, en concreto 5, nada mas y nada menos y como en el resto de la gira usamos el método “Preguntón mobile”, el cual por las risas y los comentarios posteriores fue todo un bombazo.

Tenerife 7

Tengo que nombrar y agradecer a David y Carmen de Intelequia, por su apoyo en todo lo relacionado con el evento,  a Atecresa. por la gran cena que nos ofreció a la conclusión del evento y como no, a los padres de Josué Yeray por ser tan buena gente, tratarme tan bien y acogerme como si me conocieran de toda la vida.

Realmente fue un fin de semana, espectacular, como así lo demuestra la foto en la que tanto Alberto, como Yeray y yo nos estamos despachado muy a gusto un solomillo al Mango. Como no podía ser de otra forma.

Tenerife 6

En resumen, la gira, al menos en lo que yo he podido participar o asistir ha sido todo un existo, tanto por los ponentes, como por la asistencia, en algunos casos desbordante de cada uno de los eventos que la formaban. Esperamos que el año que viene podamos hacer algo parecido para presentar y enseñar “Apollo”.

Enhorabuena señores de Microsoft.

Share

Enlaces interesantes sobre programación en Windows Phone. II

Posteado el : 31-10-2011 | Por : admin | En : Enlaces, Windows Phone 7

1

Una semana mas recojo todos juntitos los enlaces que he ido encontrado por internet sobre programación en Windows Phone.

Nokia World.

Como todos sabréis esta semana se celebro en Londres el “Nokia World 2011”. Efectivamente este evento no fue directamente un evento de desarrollo pero creo que tuvo la suficiente importancia para el mundo Windows Phone, que todos deberíamos de haberlo echado un ojo. Si no fue así aquí tenéis los principales enlaces que generó:

Keynote.

Pagina principal en donde podremos ver entre otras cosas la keynote grabada del primer día, una entrevista a Ben Rudolph (el que regalaba móviles a los usuarios frustrados de BB) y videos introductorios sobre los nuevos Nokia Lumia con Windows Phone incorporado.

Entrevista de Kevin Shields y Joe Belfiore en “This is my Next”

Interesantísima entrevista entre Kevin Shields (Senior Vice Presidente del área de Smart Devices de Nokia) y Joe Belfiore (Vice Presidente del área de Windows Phone en Microsoft).

Otros enlaces.

Conexión de una aplicación Windows Phone 7 a un servicio RESTful hospedado en Windows Azure.

Articulo en el blog de Bruno Terkay, parte final de una serie de post relacionados con el acceso de dispositivos móviles a Windows Azure. En este se centra en el desarrollo para Windows Phone.

Windows Azure Toolkit for Windows Phone. V. 1.3.1

Seguimos con Windows Azure, en este caso con la nueva revisión del toolkit para la conexión de nuestras aplicaciones Windows Phone 7.

Casos de estudio en construcción de aplicaciones móviles en Windows Phone sobre Windows Azure.

Y el ultimo enlace relacionado con Windows Azure y la programación en Windows Phone, es esta pagina que nos enseña 3 casos de estudio en T-Mobile, Telefónica y Symon Communications en la programación de entornos y aplicaciones móviles conectadas a la plataforma de cloud de Microsoft.

HTML5 Mobile en Windows Phone 7.

Slides de una presentación de Ben Riga y el código fuente de la aplicación de ejemplo enseñando el concepto de cross pltatform con IE9 versión desktop y el IE9 de Windows Phone 7.

FAQ de Windows Phone Marketplace.

Pagina en donde se aloja el FAQ de la plataforma del marketplace de Windows Phone 7, en donde se puede encontrara mucha ayuda sobre los procesos de certificación y registro de nuestras aplicaciones.

Share

Enlaces interesantes sobre programación en Windows Phone.

Posteado el : 24-10-2011 | Por : tecnologia | En : Enlaces, Windows Phone 7

1

Copiando descaradamente una iniciativa de Juan Carlos Gonzalez, inaguro en mi blog unas entradas semanales, en las que indicare los enlaces mas interesantes que he encontrado por la red sobre programacion para Windows Phone.

Aqui el primer capitulo:

XAMLFinance – A Cross-platform WPF, Silverlight & WP7 Application.

Interesante articulo en The Code Project sobre la programación integrada entre WPF, Silverlight y WP7. Muy extenso, realmente merece la pena darle un vistazo.

Tutorial – Using Visual Studio Solution Configuration to Manage Free and Paid Game Versions

Tutorial sobre como poder manejar diferentes versiones de una aplicacion cuando queremos probar versiones completas, gratuitas o trials.

Project: Windows Phone Icons

Proyecto por el cual actualmente disponemos de 300 iconos con la licencia de creative commons para usarlos en nuestras aplicaciones.

eBook: Silverlight for Windows Phone Toolkit In Depth

Libro gratuito en formato eBook, sobre el manejo del windows Phone Toolkit

Understanding LINQ to SQL on Windows Phone 7.5

Articulo en Visual Studio Magazine en el cual realiza un repaso general a uso de SQL CE en Windows Phone “Mango”.

Testing your Windows Phone application prior to submit to the Marketplace is an essential task

Entrada en donde se detalla el uso de la herramienta de Testing de nuestras aplicaciones que se incorporo con el SDK de Windows Phone.correspondiente a Mango.

Dropbox for Windows Phone: Open source

Libreria Open Source, alojada en The Code Project, para manejar dropbox.

El lunes que viene mas…

Share

Windows Phone Roadshow 2011

Posteado el : 13-10-2011 | Por : tecnologia | En : Windows Phone 7

1

hh475625_banner-top-h-01(es-es,MSDN_10)

Bueno, como a estas alturas ya sabréis, Microsoft organizara en estos meses de Octubre y Noviembre un remake del evento americano denominado Phone Camps. Otros años estos eventos se llamaron el Mobility Show, ahora pasa a ser Windows Phone Roadshow, pero se debería de llamar Mango Roadshow.

Valladolid, Madrid, Barcelona, Sevilla, Bilbao y Santander son las ciudades elegidas para albergar dichos eventos, siendo este el calendario.

Tanto en Madrid como en Barcelona el segundo día será una especie de Hand of Lab y pequeñas charlas especificas.

Bueno, pues a la que iba, participare junto a 3 grandes tipos en el evento que se celebrara en Santander, seremos Eduardo Ortega, José Antonio Gallego, Josué Yeray y un servidor.

Edu Jose Antonio Yeray Rafa

 

Con el empeño y la tozudez de unos pocos, (gracias Juan Carlos) hemos conseguido convencer a Microsoft para que una de las sedes sea Santander, será uno mas del Roadshow y en él, entre los 4 intentaremos convencer a los mas agnósticos a que se pasen al desarrollo en Windows Phone.

La agenda será la siguiente:

Horario Charla / Tema Ponente
09:00-09:30 Registro y presentación Juan Carlos González
09:30-10:30 Por qué Windows Phone? Eduardo Ortega
10:30-12:00 Plataforma de desarrollo de aplicaciones y Juegos Eduardo Ortega y José Antonio Gallego
12:00-12:15 Descanso (café)  
12.15-13:15 Datos, Servicios y “Live Tiles” (Ventanas Vivas) Rafael Serna
13:15-14:00 Capacidades avanzadas de Windows Phone Josué Yeray
14:00-15:00 Descanso  
15.00-16:00 Multitarea en Windows Phone Josué Yeray
16:00-16:15 Descanso  
16:15-17:15 Desarrollo paso a paso y publicación de “Zombsquare” Eduardo Ortega y José Antonio Gallego
17:15-17:45 Cómo comercializar tus aplicaciones y juegos en el Marketplace Rafael Serna
17:45-18:00 Recursos, Ayudas e Iniciativas  

 

Y por si no lo sabíais, se repartirán gran cantidad de regalos (o eso intentaremos), entre los que destacan teléfonos móviles (si si de verdad), libros, cupones de descuento para registrarse en el AppHub, camisetas y alguna cosa mas.

Os esperamos en toda la gira, pero sobretodo os esperamos en Santander, que intentaremos que sea el mejor evento de todos.

Para abrir boca os dejo un video que han realizado Eduardo Ortega y José Antonio Gallego desde el CIIM, para explicar y presentar el evento.

Share

Live connect SDK (II)–El núcleo de la cuenta.

Posteado el : 11-10-2011 | Por : admin | En : Windows Phone 7

2

En el primer post de esta serie supimos como poder hacer login contra nuestra cuenta de Windows Live, tanto utilizando el botón predefinido para ello o realizándolo de forma programática.

En esta segunda entrega de la serie dedicada al nuevo Live Connect SDK, veremos como una vez logueados podemos sacar la información contenida en nuestra cuenta, los datos específicos de la cuenta, sin entrar en ningún otro servicio de Live.

Al hacer login utilizamos solamente dos scopes, entre ellos el scope wl.basic, como vimos en la tabla de scopes, wl.basic nos permite acceder en modo solo lectura a la información básica de la cuenta y sus contactos.

Bueno pues eso es lo que vamos a hacer precisamente. Y en este caso es tan sencillo como decir pedid y se os dará.

Con esta frase tan, no se, religiosa, se resume el funcionamiento del sistema, simplemente deberemos de realizar una petición de información y de forma asíncrona esperar el resultado de esa petición de información.

Para todo ello deberemos de utilizar el objeto LiveConnectClient, que recogemos al logearnos y utilizar el método GetAsync.

El Método .GetAsync del objeto LiveConnectClient acepta dos sobrecargas del método, una de ellas nos solicita la USER_ID de la cuenta y la segunda sobrecarga, nos solicita tanto ese USER_ID como un objeto de estado. En nuestro caso usaremos simplemente la primera forma del método y le indicaremos el USER_ID de la cuenta, que en este caso se puede simplemente llamar usando la palabra “me”. Es decir recógeme mis datos. Como he comentado debemos de pedir y esperar para recibir, con lo que también deberemos de crear un handler al evento GetCompleted y esperar una respuesta.

Cliente.GetCompleted +=new EventHandler<LiveOperationCompletedEventArgs>(Cliente_GetCompleted);

Cliente.GetAsync("me");

A lo largo de la serie veremos muy a menudo el método GetAsync, muchas de las funciones que podemos hacer con Live Connect es como ya hemos comentado, pedir determinada información de la cuenta, pues este método será en el 90% de los casos el usado para ello. Obviamente cada objeto que llame a este método tendrá en el evento GetCompleted “asociado”, unos valores de retorno, en el caso que nos ocupa esos valores son los del objeto LiveOperationCompletedEvenArgs, el cual dispone de una propiedad que es la que nos proporcionara lo que buscamos, la propiedad “Result”, que básicamente es una lista del tipo iDictionary de clave valor, que nos proporcionara estos 8 elementos:

1 id Identificación de la cuenta (lo usaremos en otras partes y para otro tipo de peticiones) [string]
2 name Nombre que se visualiza de la cuenta. Nombre completo. [string]
3 first_name Nombre [string] admite nulos
4 last_name Apellidos [string] admite nulos
5 link Link directo al perfil publico de la cuenta en Live Connect [string]
6 gender Genero del usuario de la cuenta (male or female) [string] admite nulos
7 locale Localización de la cuenta, en mi caso es-ES [string]
8 updated_time Fecha y hora de la ultima vez que se modifico el perfil del usuario en formato ISO 8601 [string]

Existe la posibilidad de visualizar u obtener los datos de la cuenta anteriormente citados, mediante el método RawResult del objeto LiveOperationsCompletedEventArgs, que en vez de ser un iDictoriary como es Result, es una cadena de texto con toda la información de la siguiente manera:

{

   "id": "c5a73fd5793017e9", 

   "name": "Rafa Serna", 

   "first_name": "Rafa", 

   "last_name": "Serna", 

   "link": "http://profile.live.com/cid-c5a73fd5793017e9/", 

   "gender": null, 

   "locale": "en_US", 

   "updated_time": "2011-09-28T09:58:55+0000"

}

Imagen de la cuenta:

Una de las operaciones normales que realizaremos al acceder a Live, es obtener la imagen asociada a la cuenta. Para ello no usaremos específicamente el Live Connect SDK, ya que este, al menos de momento no nos proporciona esta opción. Usaremos la API REST, que también esta disponible para su uso.

Simplemente deberemos de crear un objeto del tipo BitmapImage, recordemos que esta dentro del namespace System.Windows.Media.Imaging, y crearlo desde la URL del comentado API REST, indicando la propiedad AccessToken del objeto LiveConnectSession que utilizamos nada mas loguearnos. Lo haremos llamando a la URL de la siguiente forma:

string ImagenURL = @"https://apis.live.net/v5.0/me/picture?access_token=" + LiveConnectSession1.AccessToken;

 

image1.Source = new BitmapImage(new Uri(imgUrl,UriKind.RelativeOrAbsolute));

Acceso a contactos y amigos.

Otra de las opciones de las que disponemos al loguearnos con la cuenta y utilizar el scope wl.basic, es el acceso a los datos de los contactos asociados a dicha cuenta y de los amigos de Windows Live Messenger.

Para ello deberemos de usar de forma similar a como hemos recibido la información de la cuenta el método GetAsync, pero indicando otra cadena de texto “me/contacts” para los contactos y “me/friends” para los amigos.

Dependiendo de lo que indiquemos, en el evento GetCompleted, mediante el objeto LiveOperationCompletedEventArgs se nos devolverá una cosa u otra.

En el caso de los amigos asociados a la cuenta la información es muy escueta, simplemente nos devuelve un array de objetos con dos propiedades, estos objetos están contenidos en el array denominado “data”.

1 id Identificación de la cuenta del amigo [string]
2 name Nombre completo del amigo [string]

Bastante mas extensa es la información que se facilita de los contactos asociados en la cuenta, en donde a través de un array también llamado “data” nos facilita la siguiente información de cada uno de ellos.

1 id Identificación del  objeto del contacto [string]
2 name Nombre completo del contacto [string]
3 first_name Nombre [string] admite nulos
4 last_name Apellidos [string] admite nulos
6 gender Genero del contacto (male or female) [string] admite nulos
7 is_friend Indica si es un amigo en Messenger [boolean]
8 is_favorite Indica si el contacto es un favorito en Messenger [boolean]
9 updated_time Fecha y hora de la ultima vez que se modifico el perfil del contacto en formato ISO 8601 [string]
10 user_id Id del contacto [string] admite nulos
11 email_hashes Array que contiene un hash SHA-256 por cada dirección de email del contacto. [array]
Cliente.GetCompleted +=new EventHandler<LiveOperationCompletedEventArgs>(Cliente_GetCompleted);

Cliente.GetAsync("me/contacts");

En el cuadro superior vemos la forma de solicitar los datos de los contactos mediante el método GetAsync. En la parte inferior vemos como podemos recoger los datos en formato Raw desde la propiedad RawResult en el evento GetCompleted, en vez usar el objeto de los contactos explicado anteriormente,

{

   "data": [

      {

         "id": "contact.b4466224b2ca42798c3d4ea90c75aa56", 

         "first_name": "Henrik", 

         "last_name": "Jensen", 

         "name": "Henrik Jensen", 

         "gender": null, 

         "is_friend": false, 

         "is_favorite": false, 

         "user_id": null, 

         "email_hashes": [

            "9ecdb19f4eb8e04304c5d1280368c42e85b6e4fe39f08b0c837ec592b905a620", 

            "fc05492f50da6488aa14dcf221d395bcb29a4e43b43b250d60c68df4f831cad3"

         ], 

         "birth_day": 29, 

         "birth_month": 3, 

         "updated_time": "2011-04-22T00:11:13+0000"

      }, {

         ...

      }

   ]

}

En el próximo post de la serie podremos ver como acceder a mas datos de la cuenta, mediante el uso de otros scopes y veremos un código de ejemplo de una solución paso por paso que detalle lo descrito hasta el momento.

Share