sábado, 22 de diciembre de 2012

Un balance de año con #lomásTIC2012

Este ha sido un gran año, personalmente el año que más he trabajado en mi vida, y como cada año desde hace un buen tiempo tengo que decir que muchas de las buenas cosas que me suceden ocurren gracias a las TIC.

El mundo digital ha cambiado la vida de muchas personas, y lejos de ser cliché me siento claramente una de ellas, ya que el mundo digital se ha convertido en la posibilidad tangible de dejar huella y permitirte ser tocado por muchas cosas buenas.

Pues bien, si bien considero que hay muchas cosas que resaltar con respecto al mundo TIC para este año, tengo 2 importantes que resaltar una a nivel personal y otra a nivel profesional.

Hoy en día la posibilidad de aprender, crear, compartir, soñar y crecer están al alcance de la mano, un buen toque de dedicación, disciplina y una cantidad de buenos amigos harán todo un poco más fácil y claramente muy divertido.

Así que este año quisiera resaltar el trabajo de todas las comunidades Colombianas en todos los ámbitos y ciudades: BogoDev, ColombiaTICParty, BarCamp Medellín, Costa, Cali y Bogotá, Flisol Medellín y Bogotá, Fosschix, CaribeMesh, BogotáMesh, Hackbo, PhpColombia, Bogotá JS, Medellín JS, BarCamp SE, Momo Medellin, Bogotá, Barranquilla y Cali, DELM Cali, Agiles Colombia, Startup Weekend Barraquilla, Bogotá y Armenia, Colossus.NET, CoffeeGrid, DevMed, BNet y todas las que se me quedan sin mencionar además y por supuesto a los chicos de mi comunidad Avanet.

Los que me conocen saben que no tengo mucho que pensar con respecto a elegír mi tema tecnológico que resaltar, obviamente es el lanzamiento de Windows 8. Creo que pocos saben que mi entusiasmo con las Tecnologías Microsoft es bastante genuino, lastimosamente muchos creen que todo lo que tenga que ver con dicha marca es absolutamente comercial, sin embargo se equivocan bastante. Lo que si tengo que agradecer y mucho a DPE Colombia es su constante apoyo a las comunidades de quienes conocemos sus tecnologías y las enseñamos a otros.

Hablando a modo más profesional, Windows 8 es una de las cosas más TIC este año en muchos sentidos por ser un actor que impacta mundialmente las tendencias de uso de las personas, independiente de los acuerdos o desacuerdos con sus propietarios.

Con el, el futuro de las experiencias de usuario propuestas desde hace un tiempo por otros, empiezan a llegar a muchos más con la propuesta de Microsoft, limpia, serena y diferente, que aunque ya llevaba tiempo con Windows Phone, es claro que ahora con Windows 8 de verdad podrá masificarse y empezar a ser reconocida por el público general.

Un mini consejo es que de verdad hay que superar el tema del desaparecido botón de inicio ( :P ), es claro que todos los cambios grandes y disruptivos producen desajustes en la gente, pero tambien es claro que se le está dando importancia de más al hecho de que desapareció un botón, frente a las nuevas experiencias y posibilidades de este sistema operativo, pero sobre todo frente al hecho de que nuestro escenario cotidiano sigue ahí, pero con mejor desempeño para desarrollar las tareas diarias.

A los más Geek, obviamente les recomiendo también Surface y Windows Phone si hasta ahora no les gustan las tecnologías más populares, la nueva experiencia de las interfaces Microsoft es excelente, personal, social y sobre todo diferente, sin lugar a duda original :)

A los desarrolladores, no les digo que se cambien de tecnología ni mucho menos, solo que se atrevan a mirar y explorar las nuevas oportunidades que traerá con Windows 8 el ecosistema de aplicaciones de tienda, y las posibilidades de tener nuestras propias creaciones en ellos, seguro que será una posibilidad divertida, esperen más contenido en mi blog el próximo año ;).

Por lo pronto me voy de vacaciones, aunque confieso que lo he estado un tiempo, el proximo año ya muchas comunidades tenemos muchos planes, en las que seguro participaré serán el Coding Dojo en Medellin, Pereira y Manizales con Agiles Medellín, Momo Medellín, el ya infaltable BarCamp Medellín, el Flisol 2013 y muchas cosas más, hacen falta manos y buenas voluntades, asi que cualquier cosa no duden en escribirme.

Por lo pronto fuí invitada a Boya.ca el Campus Party que se realizará en Febrero en la ciudad de Tunja, allá estaré con ustedes compartiendo todo sobre Windows Phone 8.

Habemos varios blogguers haciendo la tarea de Lo más TIC de 2012, si quieren conocerlos no se pierdan las emisiones de @CanalTR3CE

Primera emisión
Fecha: Sábado, 29 de diciembre de 2012
Hora: 7:00PM
Canal Institucional: http://www.institucional.gov.co/

Segunda emisión
Fecha: Domingo, 30 de diciembre de 2012
Hora: 8:00PM
Canal Tr3ce Colombia: http://www.canaltr3ce.co/ 

Para finalizar les comparto mi clip con mis dos cosas a resaltar que son inseparables :D

Agradezco a Claudia Berbeo por haberme invitado a hacer esta bonita tarea que tan buenos y bonitos recuerdos trajo a mi cabeza. :D

¡¡Como siempre ojalá les guste y hasta la próxima!!



Las imagenes de este post son tomadas de http://thenounproject.com
Worker - Bart Laugs, from The Noun Project 
Glasses - Tony Gines, from The Noun Project 
Monkey - Simon Child, from The Noun Project (Usada como logo de mi blog) 
Tablet - Luis Prado, from The Noun Project
Earth - Nicolas Ramallo, from The Noun Project 

sábado, 8 de diciembre de 2012

Generando tu propia plantilla para hacer apps en Windows 8

Hola a todos

Hace unos días les compartí el código de una aplicación que pienso llevar lejos, Sugges.me, sin embargo, después de compartir la versión que tiene almacenamiento local con el ánimo de que muchos la usen como de aprendizaje para iniciar, se me ocurrió que además si la generalizaba podría ser utilizada como plantilla para otras apps, tan solo con cambiarle el look and feel.

Pues bien, con el ánimo de demostrarles que así es de sencillo, envié al Windows Store una app con el mismo código, o casi el mismo, pero un diseño diferente. Bajo el slogan Pin, plan & shopping una app de lista de compras, pero más bonita que varias del mismo tipo, hizo que Sugges.me adquiera una nueva personalidad dirigida a otros públicos.

En este momento me encuentro limpiando y generalizando más el código de Sugges.me que usé para Shoppin! con el fin de que algunos mensajes y cosas sean parametrizables, en cuanto lo tenga listo lo subiré al repositorio de Sugges.me en Github. Fue muy sencillo, tomé la plantilla Grid por defecto que les explique en charlas en línea antes y adapté mi propia plantilla, de esa forma puedo empezar otras apps, y ahorrarme bastante de empezar desde cero, pensé en un diseño bonito, un slogan, monté una página en mi web para cumplir con los requisitos del Windows Store, e hice la primera versión en inglés. 

Lo bueno es que tener apps te ayuda a animarte un poco, además que como es tuya conoces bastante el código, en una de las apps que hagas, sale alguna que te anime a trabajarle mucho más que solo hacer algo básico, y al tener usuarios y feedback te animas más. Yo ya tengo en mente una dirigida a desarrolladores y que espero personalizar más que solo lo básico para publicarla :D

¿Que tal crear tu propia plantilla, conocerla e irla creciendo para empezar más apps y aprovechar todas las oportunidades que hay? Les dejo la idea y la inquietud, y los invito a descargarla para ver el bonito resultado, además no olviden, unos buenos Screenshots de su app, son cautivadores :)

Nos vemos la próxima
Sorey ;)

domingo, 2 de diciembre de 2012

Hackers & Developers Magazine #1 - #Cobra

Ha llegado la segunda entrega el proyecto Hackers & Developers Magazine, como siempre esperamos todas que lo disfruten. En esta ocasión mi artículo trata sobre el rol de arquitectos y diseñadores, espero que les guste y me envíen sus comentarios, descargando su copia desde nuestro sitio web oficial.

Saludos y hasta la próxima.


sábado, 17 de noviembre de 2012

Windows Phone para Principiantes

Hace rato no posteaba sobre Windows Phone, pero hoy he creado para mis estudiantes y para sus proyectos de clase unos videos sencillos donde pueden practicar como hacer una aplicación simple de Windows Phone ahora que volvió a estar un poco más de moda por el lanzamiento de Windows Phone 8.

Cómo les decia en mi post anterior, no es bueno dejar de desarrollar aplicaciones para Windows Phone 7.5 aún. Es bueno continuar por que además de que tenemos más usuarios ahí que en el nuevo, lo que aprendan les servirá para Windows Phone y para Windows 8. Los que tengan la oportunidad de instalar el SDK de Windows Phone 8, háganlo pero sigan desarrollando para Windows Phone 7.5 si no necesitan nada particular de Windows Phone 8. Ese es mi consejo.

Las advertencias: son videos sencillos, no se aplica MVVM, se toca en lo más mínimo el XAML ya que todo lo trabajo a través de Expression Blend, así que lo único que necesitas saber para ver este tutorial es C#, además aprenderás sobre Linq to SQL en Windows Phone, que en terminos prácticos te sirve tambien para conectarte a un servidor y no a una base de datos local como hacemos con esta aplicación.

Para quienes están empezando, espero que noten como las herramientas de Microsoft nos evitan un montón de trabajo y facilmente podemos hacer aplicaciones, aunque mi recomendación es que saquen el tiempo adecuado para aprender XAML.

Disculpen el sonido del primer video, no habia notado que no tenia el micrófono de la diadema. Les dejo entonces los enlaces, espero les sirvan y hasta la próxima.

Ensamblando las bases de la aplicación 
https://vimeo.com/53729403

Creando las pantallas en Expression Blend 
https://vimeo.com/53729894

Codificando en Visual Studio
https://vimeo.com/53731227

Después de los videos puedes continuar con la Serie WP7, los Hands on Lab de la Maratón de Windows phone y los próximos días estaré retomándo mi congerlada serie de post de MVVM para los que les gusta aprender un poquito más de como hacerlo un poco mejor, pero ya hay varios videos así que pueden empezar mientras me pongo al día.

Saludos y hasta la próxima.

Sorey

jueves, 15 de noviembre de 2012

Cross platform y prácticas para Web Móvil

En esto de la aventura con las aplicaciones móviles Cross Platform y el hecho de que estas aplicaciones tengan que ser diseñadas como pequeñas web móvil, recorde un conjunto de buenas prácticas que la W3C publicó en el 2010, espero que les sean de utilidad en este tema o en Web Móvil si las necesitan.

Les comparto los consejos de las fichas que me sirvieron de guía y también la versión renovada para aprender sobre este tipo de consideraciones.

Introducción

Consorcio de la World Wide WebIniciativa de Web MóvilLas “Buenas Prácticas en Web Móvil 1.0" son un Estándar Web del W3C cuyo objetivo es ayudar a los desarrolladores Web a diseñar y publicar contenido Web que funcione adecuadamente en dispositivos móviles. Estas tarjetas resumen, en diez puntos clave, las pautas descritas en el estándar. Al cumplirlas, se incrementará el público que puede acceder a los contenidos, creando sitios Web y aplicaciones eficaces y haciendo la navegación en la Web accesible desde más dispositivos. Más información en: http://www.w3.org/TR/mobile-bp/


Diseña para una Web única

Si diseñas el contenido teniendo en cuenta los diferentes dispositivos, reducirás costes, tu página será más flexible y satisfarás las necesidades de más personas.

COHERENCIA TEMÁTICA: Asegúrate de que el contenido al que se accede desde una URI aporta la misma información esencial al usuario, independientemente del dispositivo que utilice.
CAPACIDADES: Aprovecha las capacidades del dispositivo para proporcionar al usuario una mejor experiencia.
PROBLEMAS EN LA IMPLEMENTACIÓN: Toma las medidas convenientes para evitar problemas en la implementación.
PRUEBAS: Haz pruebas sobre dispositivos móviles y emuladores.


Confía en los estándares Web

En un mercado tan fragmentado como el de dispositivos y navegadores, los estándares son la mejor garantía de Interoperabilidad.

ETIQUETADO VÁLIDO: crea documentos que sean válidos según las gramáticas formales disponibles.
COMPATIBILIDAD DE FORMATO: envía el contenido en un formato que sea compatible con el dispositivo.
FORMATO DE CONTENIDO PREFERIDO: siempre que sea posible, envía el contenido en el formato deseado por el usuario.
COMPATIBLIDAD DE LA CODIFICACIÓN DE CARACTERES: asegúrate de que la codificación de caracteres del contenido es compatible con el dispositivo.
USO DE LA CODIFICACIÓN DE CARACTERES: indica la codificación de caracteres que se está utilizando.
USO DE HOJAS DE ESTILO: utiliza hojas de estilo para la maquetación y presentación del contenido, a no ser que el dispositivo no las admita.
ESTRUCTURA: utiliza las funciones del lenguaje de etiquetado para definir la estructura lógica del documento.
MENSAJES DE ERROR: intenta que tus mensajes de error sean informativos y facilita la forma de regresar al contenido anterior.


Evita los riesgos conocidos

Un diseño bien planificación ayuda a reducir los problemas de usabilidad causados por pantallas y teclados pequeños, u otras funciones de los dispositivos móviles.

VENTANAS EMERGENTES: Evita las ventanas emergentes, y no cambies de ventana sin informar al usuario.
TABLAS ANIDADAS: No uses tablas anidadas.
DISEÑO CON TABLAS: No uses tablas para maquetar.
GRÁFICOS PARA EL ESPACIADO: No uses gráficos para el espaciado.
MARCOS: No uses marcos.
MAPAS DE IMAGEN: Evita los mapas de imagen, a no ser que sepas que el dispositivo los interpreta eficazmente.


Sé prudente con las limitaciones de los dispositivos

Cuando elijas una tecnología Web concreta, ten en cuenta que los dispositivos móviles tienen funciones muy diversas.

COOKIES: No cuentes siempre con que haya cookies disponibles.
OBJETOS O SCRIPTS: No dependas de los objetos o los scripts integrados.
COMPATIBILIDAD DE LAS TABLAS: No uses tablas a no ser que estés seguro de que el dispositivo es compatible.
ALTERNATIVAS A LAS TABLAS: Siempre que sea posible, utiliza alternativas a la presentación tabular.
COMPATIBILIDAD CON LAS HOJAS DE ESTILO: Organiza los documentos de forma que sea posible leerlos sin hojas de estilo.
TIPOGRAFÍA: No confíes en la compatibilidad de los tipos de letra.
USO DE COLORES: Asegúrate de que la información transmitida mediante colores también puede comprenderse sin color.


Optimiza la navegación

La simplificación de la navegación y del uso del teclado son factores esenciales cuando se utilizan pantallas y teclados pequeños, y se tiene un ancho de banda limitado.

BARRA DE NAVEGACIÓN: Concentra la navegación en la parte superior de la página y redúcela al máximo.
NAVEGACIÓN: Utiliza mecanismos de navegación coherentes.
IDENTIFICACIÓN DEL DESTINO: Identifica claramente el destino de cada enlace.
FORMATO DEL DESTINO: Indica el formato del archivo de destino, a no ser que sepas con seguridad que el dispositivo es compatible.
TECLAS DE ACCESO RÁPIDO: Asigna teclas de acceso rápido a los enlaces en los menús de navegación y a las funciones más utilizadas.
URIS: Intenta que las URls sean cortas.
EQUILIBRIO: Intenta encontrar un equilibrio entre tener demasiados enlaces en una página y hacer que el usuario vaya de un sitio a otro hasta llegar a lo que está buscando.


Comprueba gráficos y colores

Las imágenes, los colores y el estilo destacan el contenido, pero hay dispositivos con pantallas de bajo contraste o problemas de compatibilidad con algunos formatos.

REDIMENSIÓN DE LAS IMÁGENES: Redimensiona las imágenes en el servidor si tienen un tamaño intrínseco.
GRÁFICOS GRANDES: Evita imágenes que no puedan ser mostradas desde el dispositivo. Evita las imágenes grandes o de mucha resolución a no ser que, sin ellas, se pierda información valiosa.
TAMAÑO DE IMAGEN ESPECIFICADO: Especifica el tamaño de la imagen en el etiquetado si tiene un tamaño intrínseco.
ALTERNATIVAS A LOS ELEMENTOS NO TEXTUALES: Facilita un equivalente en forma de texto para cada elemento no textual.
CONTRASTE DE COLOR: Asegúrate de que entre el color del fondo y el del primer plano hay suficiente contraste.
LEGIBILIDAD DE LA IMAGEN DE FONDO: Cuando utilices imágenes de fondo, asegúrate de que el contenido sigue siendo legible en el dispositivo correspondiente.
MEDIDAS:No utilices medidas en píxeles ni unidades absolutas en los valores de los atributos del lenguaje de etiquetado, ni en los valores de las propiedades de las hojas de estilo.


Hazlo en pequeño

Un sitio Web de tamaño reducido supondrá un ahorro de tiempo y dinero para los usuarios.

MINIMIZAR: Utiliza un etiquetado conciso y eficaz.
LÍMITE EN EL TAMAÑO DE LA PÁGINA: Asegúrate de que el tamaño total de la página es apropiado para las limitaciones de memoria del dispositivo.
TAMAÑO DE LAS HOJAS DE ESTILO: Utiliza hojas de estilo pequeñas.
SCROLLING: Limita el scrolling a una sola dirección a no ser que sea imposible evitar un desplazamiento secundario.


Economiza el uso de la red

Las funciones de los protocolos Web pueden mejorar la experiencia del usuario al reducir los retrasos y los tiempos de espera en la red.

ACTUALIZACIÓN AUTOMÁTICA: No crees páginas con una actualización automática periódica, a no ser que hayas informado al usuario y éste pueda desactivarla.
REDIRECCIÓN: No uses el etiquetado para redirigir las páginas automáticamente. En cambio, configura el servidor para que ejecute redirecciones a través de códigos HTTP 3xx.
RECURSOS EXTERNOS: Intenta reducir el número de enlaces externos al mínimo.
CACHÉ: Facilita información para la caché en las respuestas HTTP.


Facilita la entrada de datos

En los dispositivos móviles, los teclados y demás métodos de introducción de datos pueden ser tediosos para el usuario. Un diseño eficaz minimiza su uso.

MINIMIZA EL USO DEL TECLADO: Reduce el uso del teclado al mínimo.
EVITA LA INTRODUCCIÓN DE TEXTO: Siempre que sea posible, evita la introducción de texto por parte de los usuarios.
SELECCIÓN POR DEFECTO: Siempre que sea posible, establece valores preseleccionados por defecto.
MODO DE ENTRADA POR DEFECTO: Especifica un modo de entrada de texto, un lenguaje y/o un formato de entrada, por defecto, si el dispositivo es compatible.
ORDEN DE TABULACIÓN: Crea un orden lógico mediante enlaces, controles de formulario y objetos.
ETIQUETADO DE CONTROLES: Etiqueta todos los controles de formulario adecuadamente y asocia explícitamente las etiquetas con los controles.
POSICIÓN DE CONTROLES: Coloca adecuadamente las etiquetas con respecto a los controles de formulario a los que se refieren.


Piensa en los usuarios de la Web móvil

Los usuarios de la Web móvil necesitan información sintetizada al disponer de poco tiempo y existir distracciones externas.

TÍTULO DE LA PÁGINA: Ponle un título a la página que sea corto pero descriptivo.
CLARIDAD: Utiliza un lenguaje sencillo y claro.
CONTENIDO RELEVANTE: Asegúrate de que el contenido esencial de la página esté antes que el contenido que no lo es.
CONTENIDO LIMITADO: Limita el contenido a lo que el usuario ha solicitado.
ADECUACIÓN: Asegúrate de que el contenido es adecuado para su uso en un contexto móvil.
TAMAÑO PRÁCTICO DE LA PÁGINA: Divide las páginas en secciones manejables pero con un tamaño limitado.

http://www.w3.org/Mobile
Traducción realizada por http://www.w3c.es
©2007 W3C (ERCIM, Keio University, MIT)

martes, 13 de noviembre de 2012

De C#.NET a Ruby

Como les contaba antes, debido al nuevo reto en mi trabajo de trabajar con RhoElements, debo empezar una nueva etapa que me tiene incluso bastante animada, se trata como ya es obvio con el título de esta entrada, de cambiarse de .NET a Ruby, bueno, no de cambiarse, simplemente de aprender.

Recién estoy mirando los conceptos básicos tal como si empezara de cero otra vez y además decidí en paralelo buscar fuentes y personas que hablar del paso de .NET a Ruby y ha sido una experiencia que mentalmente te golpea.

Lejos de si estoy de acuerdo con los argumentos de las personas que he leido o escuchado, creo que el nivel de agresividad con el que se dirigen a los desarrolladores de .NET los demás desarrolladores, es brutal e innecesario cuando de motivar a otro se refiere, y espero que aunque llegue a enamorarme de Ruby lo suficiente, no me de por hablar de ese modo, en ese tono o esos términos jamás.

Nunca me ha molestado .NET, me ha pasado que toda la vida me han tocado cosas que yo considero fáciles, QBASIC, Pascal, Power Builder, Java, VB6 y por último y donde he permanecido largo tiempo C#.NET diría, con quien he crecido lo años más importantes de mi vida laboral. Pues bien, por escuela o no, siempre encontré en los IDE una forma de ser bastante productivo, lejos de lo ofensivo de llamarnos perezosos o idiotas en algunos casos, a las personas las hace lo que son y lo que pretenden aprender y hacer con lo que aprenden, y no necesariamente que tanto se quiebran la madre haciéndolo.

Si alguno de mis estudiantes me preguntaba de razones usaba un ejemplo muy sencillo y fácil de entender: Si quisieras abrir una lata de sopa tienes varias opciones, compras lata de sopa con abre fácil, usas un abre latas electrico, usas un abrelatas mecánico, o finalmente usas un cuchillo y lo haces a la antigua ¿el resultado? Comes sopa ¿verdad? En algunas de las opciones, más rapido y sin peligro, en otras con mayor esfuerzo, peligros de cortes y cosas asi, pero todos felices finalmente comen sopa (ojalá el software fuera tan simple). Después de esto les cuento como a pesar de los años, de los abre fácil y de los abre latas eléctricos, a mi madre le sigue pareciendo más fácil abrir las latas con un cuchillo y vieran lo hábil que es, mientras yo misma muchas veces daño los abre fácil y me toca usar un cuchillo :P.

Se que si alguno de los bastante ofensivos personajes que uno se encuentra en la red lee mi post, algo se inventará del mismo nivel ofensivo para escribir, antes que se ponga a planificarlo, el contexto de mi explicación va a un adolescente que está empezando a entender, y que vainas, parece que me gusta lo fácil, yo soy así y me gusta mucho hacerle entender a la gente de forma sencilla, debe ser por eso que me gustan los IDE y no tener que luchar con herramientas de linea de comando o instalar cientos de componentes adicionales, lo único que se es que en un IDE tan poderoso como Visual Studio te preocupas exclusivamente por hacer software y ya, eso no tiene por que ser tan endemoniadamente malo de ver.

Ahora, si sobreviviste a mis comentarios superficiales, aqui viene la parte en donde yo, que me siento tan feliz con Visual Studio decidí que es hora de aprender algo más, bueno, además de que como alguna vez con Java siento la necesidad de simplemente probar algo diferente y demostrarme a mi misma que puedo y además de que mi trabajo me lo pide, en mi cabeza quedó rondando hace semanas ver como lo primero que encuentras en todos los sitios que hablan de trabajar con base en editores de texto, es que los IDE son Satán o algo por el estilo y que el Intellisense es para idiotas.

Eso me dejo pensando, si que es cierto, pero ni mucho menos por semejantes razones tan tontas, yo misma uso IDE y al pasar años con mis alumnos teniendo que encontrar todos los errores de digitación que cometen tan solo con mirar sus pantallas considero que es un tema de costumbre y disciplina.

Creo que el tema de usar un IDE o no, no determina al nivel de que tan hábil u ordenado eres, no tiene que ver, incluso en las ultimas casas de software que trabaje, ademas del IDE instalábamos herramientas de estilo que nos permitian ver si los programadores seguian con orden el codigo, asi que ser ordenado o disciplinado con el código se trata no más que de uno mismo, teniendo un super IDE uno puede hacer las cosas mas terribles que pueda imaginar.

Ahora, lo que si es cierto es algo, en 7 años entre mas cosas nuevas salen, cada vez me veia con menos tiempo en mis materias para dejarles cosas utiles a la vez de actualizadas, y este semestre a razón de leer tantas criticas por el uso de IDEs empece a mirar el trabajo de mis alumnos con otros ojos, y como al tener una herramienta que hace tantas cosas por ellos, se limitan a que la herramienta lo haga y no a pensar, y ahí es donde no estuve de acuerdo, y me dejé como tarea personal salir de mi zona de comfort, pues tuve la necesidad personal y deseo de querer aprender y tener mas puntos de vista por mi cuenta y evitar defenderme de algo que no conozco, sin comportarme como los que no conocen o conocieron hace mucho algo, pero deciden simplemente criticar y criticar. 

Me voy por un tiempo al universo Ruby, allá donde vivir sin IDEs les parece tan divertido y donde demorarse más tiempo haciendo todo es tan admirable, su razón ha de tener, eso si, espero aprender que dicen los clientes cuando las estimaciones de funcionalidades duran más y todo eso. No pienso que vuelva atrás, de hecho y es más que obvio voy adelante, a aprender cantidades de cosas, a ver que tan cool es todo lo cool de lo que hablan, la diferencia es que podré tener ambos criterios en real y no en imaginario.

Algo para finalizar que me gustó y en lo que definitivamente tienen razón, es que cuando usas un producto como Visual Studio, si no tiene alguna característica pues te limitas a esperarla en la siguiente versión, aunque bueno puedes construir, extensiones, snippets, paquetes de Nutget y demás, pero digamos que en algo tienen razón, la gente que trabaja con software libre, tiene más el espíritu de colaborar y crecer juntos, pero igual no son la mayoría como lo pretenden hacer creer los que te ofenden, lo que sí es que evidentemente son más, cosa que no hace cierta que en el lado de los que poco usamos software libre no haya gente con espíritu de colaboración.

Por el momento les comparto algunas cosas chéveres que encontré por ahí buscando como dar el paso lentamente por que lo que sí, es que sería mejor empezar de cero que con todos esos vicios de los IDE :P (Oh Dios, soy uno de ellos ahora XD #justkidding)

http://www.ruby-lang.org/es/
http://www.infoq.com/presentations/From-NET-to-Ruby
http://rubysource.com/category/switching-to-ruby/switching-to-ruby-from-dot-net/
http://rubybits2.codeschool.com

Saludos y deseenme éxito.

Sorey

PD: Les recomiendo unos videos de EnvyLabs a mi parecer muy chistosos, comparando Ruby con .NET, PHP y Java entre otros.

sábado, 10 de noviembre de 2012

WOWZAPP: Hackaton Mundial Windows 8


Por azares de la vida fuí invitada a dar un par de charlas en WOWZAPP en Medellín, la Hackatón Mundial de Windows 8 que se realiza este fin de semana en varias ciudades.

Les comparto algunos consejos y sugerencias personales para construir las apps, las diapositivas de las sesiones y una caja de herramientas con ejemplos simples para aplicarlos en sus apps que estaré construyendo durante mi día con los participantes del WOWZAPP. Además puedes descargar desde mi Github el codigo de Sugges.me, o si estás haciendo un RSS el ejemplo paso a paso está en el Developer Center de Windows. Te recomiendo además los videos de las charlas de introducción a las plantillas por defecto en Windows 8, de las charlas que di hace unos dias en Avanet.

Consejos para desarrollar apps para Windows 8 en la Hackathon
  • Usa las plantillas por defecto, ahorra trabajo.
  • La experiencia de la aplicación a es una mezcla de funcionalidad y apariencia, invierte en el diseño de tu aplicación. Si no cuentas con un diseñador, empieza con un diseño sencillo basado en símbolos, un set de colores sencillo y colores planos (Evita uso de relieves y el exceso de degradados)
  • Manten archivos de recursos propios y los estándar. Personalmente uso minimo 2 archivos, uno para plantillas y estilos, otro para colores o datos simples.
  • No olvides que en el archivo de estilos por defecto están los estilos para los botones más comunes, pero están comentados.
  • Pensar en el modelo de datos de tu aplicación hará que comiences con una excelente buena base, adapta tu modelo a la plantilla base.
  • No inventes la rueda, ya existen muchas cosas preconstruidas en el framework, consulta antes de intentar construirlo por tu cuenta.
  • No coloques comandos de acciones en el contenido a menos que sean contextuales.
  • Elije un mínimo producto viable y publica lo más pronto posible.
  • Primero gratis, fortalece tu app, obtén calificaciones y luego añade el cobro.
  • Ten a mano el check list de revisión de las apps y el set básico de pruebas de las funcionalidades principales de tu app, evita que te rechacen tu aplicación, el tiempo de revisión es de mínimo 3 días hábiles.
  • Primera versión en inglés 100%, luego localización.
  • Siempre usa el certification kit después de generar el paquete para la tienda.
  • Es necesario habilitar el la selección de ítems en el grid para táctil. Por defecto la selección con deslizamiento en la experiencia táctil viene desactivada, no olvides activarla si usas selecciones en tus grids.
Espero que se animen a iniciar con sus aplicaciones, y que les sirvan algunos de los consejos y recomendciones que tambien hay en las presentaciones.


domingo, 4 de noviembre de 2012

Hackers & Developers Magazine #0 - #Butterfly

El día de hoy hemos realizado el lanzamiento del proyecto Hackers & Developers Magazine, una iniciativa creada entre mujeres programadoras de Hispano América, gracias a la iniciativa y liderazgo de @eugeniabahit, tod@s están invitados a enviar sus artículos. Este no es más que el resultado y otra de esas bonitas cosas que hacen las redes sociales bien usadas.

Mi artículo es una versión detallada de la conferencia que dí en Colombia 3.0, donde planteaba la situación alrededor de la alta demanda de profesionales de sistemas y la poca oferta de ingenieros calificados. Agradeceré mucho si me comparten sus perspectivas y sugerencias.

Me siento muy feliz de hacer parte de este proyecto escribiendo y manejando la comunidad de Twitter y Facebook de #HDMagazine, los invito a leernos, descargar y compartir la primera publicación que afectuosamente llamamos #Butterfly


Iniciando con los Cross Platforms

Como les contaba hace algún tiempo en mi post sobre, la parte no divertida de la movilidad, hoy en día las empresas que deben decidir por una estrategia móvil, están enfrentadas a serias, complejas y confusas decisiones.

Mientras a los proveedores de tecnología como es obvio, solo les interesa vender y que sus herramientas y dispositivos seas los más usados y populares al costo que sea, las empresas más pequeñas y dedicadas al negocio de construir tecnología se ven enfrentadas a la decisión de cual tecnología es la más adecuada para hacer sostenible el futuro de su negocio.

Pues bien, esto está lejos de ser algo claro, el mensaje cambia de un mes a otro de la propuesta de hacer aplicaciones nativas a hacer una aplicación para todas las plataformas, sin embargo, las volubles ideas provienen de sectores dedicados a construir las apps tan de moda hoy día o de las grandes empresas que no tiene problema en asumir mes a mes el cambio de moda como si fueran un par de calcetines nuevos.

Pero la realidad para muchos es bastante diferente, y ante esa realidad es que algunos optan por investigar acerca de los Cross Platform, con el fin de invertir su esfuerzo una sola vez para lograr cubrir la mayor parte de dispositivos que les sean posibles. Pues bien, eso tiene sus desventajas, entre ellas las limitaciones particulares frente a cada dispositivo que obviamente tienen estas alternativas, frente a las opciones nativas. Sin embargo, analizado desde la perspectiva de los negocios cuyos trabajos van más enfocadas al día a día de los negocios y a cubrir la base instalada de sus cliente, estas propuestas no son para nada descabelladas y por el contrario son una alternativa bastante viable a la incertidumbre.

Pues bien, una de esas propuestas es RhoMobile o RhoElements, no tan conocida, pero finalmente una alternativa, comparable y similar a PhoneGap. Pues bien, tal como PhoneGapRhoMobile fue una alternativa totalmente Open Source que fue comprada por Motorola Solutions, por lo cual paso a ser RhoElements  Cabe aclarar que Motorola Solutions no es la parte de Motorola que adquirió Google, es otra de las área de Motorola que trabaja más de cara a los negocios y que provee a muchas empresas todo tipo de terminables para el trabajo pesado de las organizaciones, y cuya base instalada cuenta mayormente con Windows CE como sistema operativo de base.

Es obvio, bajo los recientes cambios de Microsoft que Motorola Solutions tuvo que buscar una alternativa que lo hiciera menos dependiente de la plataforma y ese es RhoMobile, cuyo lenguaje de base es Ruby y que en su promesa está el soporte a sistemas operativos móviles como Windows® Embedded Handheld, Windows® CE, Windows® Phone 7, Apple® iOS, Android® y BlackBerry®.

Pues bien, resulta que en mi trabajo reciente, sufrimos por varios meses el tema de pensar cual sería nuestra estrategia de negocio para continuar adelante dando soporte a nuestros clientes y previendo la adaptación a los cambios futuros, y siendo Motorola Solutions nuestro principal proveedor de tecnología, RhoElements es a todas luces una de las alternativas que consideramos más viables.

Como siempre les he dicho, analizar el problema de las elecciones tecnológicas depende de cada escenario, el que tome decisiones de este tipo basado en la pasión o el gusto por algo, e inclusive en la popularidad o no de una herramienta, podría meterse en serios problemas. Seguro que para muchos lo de moda es la solución, pero si su negocio no son las apps, detengase y observe sus alternativas, pero en especial analice su ecosistema y determine cual opción aplica para su negocio o emprendimiento, según sus clientes y las necesidades que ellos tienen, no las que se sueñan, recuerde que la moda de la tecnología altera la percepción de las personas y es su trabajo como desarrollador, arquitecto o proveedor de soluciones hacer llegar a su cliente a las soluciones más convenientes.

Recien estoy aprendiendo HTML5 y CSS3, pero se me hace divertido como siempre contarles la aventura, puesto que además tendré que aprender sobre Ruby. Así que bueno, será una aventura poder enseñarles algo de lo que voy aprendiendo.

En fin, ese es el nuevo reto, vamos a ver que cosas aprendemos, Nos vemos ;)
Sorey

viernes, 2 de noviembre de 2012

¿Windows Phone 7.5 o Windows Phone 8?

Desde el día del lanzamiento de Windows Phone 8 han surgido varias preguntas entre los desarrolladores referente al tema de Windows Phone 7.5 y el paso a desarrollar sobre la nueva versión.

Pues bien evidentemente como producto Windows Phone 8 es una gran promesa y a pesar de lo tardío de la entrada a escena de Windows Phone, el hecho de que haya una propuesta diferente a las ya monótonas propuestas de los competidores, hace que existan grandes posibilidades, más aun con el hecho de por fin contar con un ecosistema completo que quiza no todos observan con claridad: Azure, Skydrive, Visual Studio y las ultimas versiones de Windows y Windows Phone, hacen de la propuesta de Microsoft un ecosistema completo, tanto para usuarios como para desarrolladores, contando con el hecho para estos ultimos de que además ni siquiera se deberá adoptar los lenguajes de Microsoft si no que podrá optar por desarrollar con los muy populares HTML5 y Javascript.

Pues bien, para quienes ya vienen trabajando en Windows Phone 7.5 surge una duda producto del escenario planteado hace unos meses en el cual los telefonos con Windows Phone 7.5 no podrían ser actualizados a Windows Phone 8, esta limitante sigue existiendo y es real, y el día del lanzamiento de Windows Phone 8 no tuvimos noticias por parte de Microsoft acerca de la alternativa de actualización que teniamos al respecto Windows Phone 7.8, sin embargo en el contexto del desarrollo hay más claridad y lo sabemos quienes adoptamos ya como tecnología de desarrollo XAML e incluso quienes desde antes trabajaban con Silverlight.

Pues bien, el escenario de decisión es menos complejo de lo que parece, aunque sea el lanzamiento de Windows Phone 8, la base instalada actual es de Windows Phone 7.5 y a esa base hay que apuntarle aun. ¿Que pasa entonces con nuestras aplicaciones en los nuevos telefonos con Windows Phone 8? No es problema, las aplicaciones seguirán funcionando en Windows Phone 8 y así seguiremos creciendo en número de usuarios.

¿Qué fue lo que cambió entonces? ¿Qué pasará con lo que sabiamos cuando tengamos que enfrentarnos a Windows Phone 8?
Es simple, las cosas han mejorado y evolucionado, pero no los conceptos de base y la tecnología de base, XAML sigue ahí disponible, tal como ocurre para Windows 8.

Hoy, el desarrollador que quiera enfrentarse a los 3 escenarios debe tener una clara elección de tecnología, XAML. Lo mejor es que además de ser bastante fácil, todas las herramientas para desarrollar para Windows Phone y Windows 8 son gratuitas.

Lo que debemos considerar y que es muy importante es lo siguiente: Visual Studio 2012 solo puede usarse para construir apps de Windows 8 y Windows Phone 8, cuando es ejecutado sobre Windows 8, además del soporte hacia atrás en Windows Phone 7.5, allí radica la gran diferencia.

Desde Windows 7 y Visual Studio 2010 y 2012 podremos seguir construyendo aplicaciones para Windows Phone 7.5 que como ya les mencioné serán compatibles con Windows Phone 8, pero estas aplicaciones solo podrán ser desarrolladas con XAML y XNA el cual ya no está disponible para desarrollar aplicaciones en Visual Studio 2012.

Para quienes vamos paso a paso evolucionando con Microsoft y que contamos ya con Windows 8  los cambios han sido esperados con ansiedad, ahora el ecosistema está completo, la tienda de aplicaciones de Windows Phone, el centro de desarrollo y la comunidad alrededor de Windows Phone han madurado.

Tenemos Visual Studio 2012 en conjunto con Blend son grandes herramientas, que insisto además, son gratis, y sigo siendo enfática, todos los que ya empezaron alguna vez a aprender Windows Phone incluso desde el 7, no han más que construido la posibilidad de hacer parte de este nuevo ecosistema, una propuesta seria, diferente e innovadora de Microsoft, por lo cual, no se preocupen, en internet ya existen hace tiempo montones de recursos para aprender a desarrollar en Windows Phone, y en el centro de desarrollo de Microsoft para Windows Phone hay cantidad de herramientas y ejemplos disponibles de forma gratuita, para aprender codificando.

De mi parte los invito a leer el material disponible en blog respecto a Windows Phone, aprender sobre Metro o el nuevo estilo de aplicaciones Windows y a seguir la serie de post introductoria que reactivaré pronto.

Además en el centro de desarrollo se encuentran ya publicadas las nuevas caracteristicas incluidas en el SDK de Windows Phone 8. Recuerden que Visual Studio 2012 puede ser instalado en Windows 7, con la ya numeradas limitaciones de compatibilidad y otras más que pueden leer en la web oficial.

Saludos y nos vemos haciendo apps.

Sorey

miércoles, 31 de octubre de 2012

Usando async/await sin .NET Framework 4.5 en Windows Phone

Uno de los avances recientes más importes en el ,NET Framework es el nuevo modelo de programación asíncrona introducido por C # 5, Visual Basic 11 en. NET 4.5. Este cambio es especialmente relevante, ya que Windows Phone 8 se ejecutará en hardware multinúcleo. Podemos sacar muchas ventajas de usar async y la popular Task Parallel Library, entre ellas que nos resultará mucho más fácil para proporcionar una experiencia de interfaz de usuario alineada con los principios de diseño de las aplicaciones Windows (Metro anteriormente), en donde predomina la fluidez y el movimiento. (1)

Es bueno tener esta herramienta ahora disponible, si bien es excelente que este disponible Windows Phone 8, hay que recordar que por ahora la base instalada más grande es de Windows Phone 7.5. La buena noticia es que todas nuestras apps de 7.5 serán soportadas sobre 8, razones por las que trabajar en 7.5, además de bueno, aún es necesario.

La mayoría de los métodos asincrónicos en la NET se incluyen en Windows Phone 8 SDK y están disponibles por defecto si hacemos aplicaciones para Windows Phone 8, sin embargo para Windows Phone 7.5 en Visual Studio 2012 usando .NET Framework 4.0 (con KB2468871), Silverlight 4 y las bibliotecas de clases portables, debemos descargar los otros métodos asincrónicos (en concreto, System.Net API) a través del paquete Nuget Microsoft.Bcl.Async y asegurarnos de que tenemos disponibles todos los archivos necesarios.

Recuerda que para instalarlo debemos tener instalado NuGet 2.1 o superior y si no lo tienes puedes instalarlo a través del Add-in manager en Visual Studio 2012.


Luego de eso debes instalar el Microsoft.Bcl.Async


Tambien podrás instalarlo a través de la consola usando install-package Microsoft.Bcl.Async –pre

Se nos pide confirmar sobre que proyectos se realizará la instalación


Y luego aceptar los términos de la licencia



La parte muy positiva en mi caso es que terminé mi aplicación primero en Windows 8, así que teniendo async ahora podré reutilizar gran parte del codigo de mi aplicación, el cual les compartiré por supuesto en mi Github :)

Espero que lo disfruten mucho :)

Sorey

martes, 30 de octubre de 2012

Memorias Colombia 3.0


La semana pasada se realizó en Colombia, el evento Colombia 3.0, un esfuerzo del gobierno nacional desde hace dos años por promover entre la ciudadanía el conocimiento sobre los nuevos avances en tecnología uniendo en un mismo escenario a varios actores involucrados en su construcción y muchos otros más con experiencia y vivencias importantes para compartir.

Como muchos dicen, es bueno ver que en Colombia se den este tipo de iniciativas, en especial por que seguimos en el camino de proyectar el pais y los talentos existentes en el, y las posibilidades de venir aquí, invertir y creer en nuestra gente. Pero aún más creo que es un esfuerzo que debe continuarse y acrecentarse con más talento local, para que tambien nuestra gente sepa que hay cosas que están pasando por que nosotros podemos hacer posibles muchas cosas.

Estuve participando como conferencista del evento hablando sobre mi perspectiva personal y experiencias sobre lo que sucede hoy con los nuevos actores de la industria del software. Además conocí y compartí con Javier Garzas, a quien admiro bastante y que estuvo en el evento hablando sobre metodologías ágiles.

Les comparto las memorias de mi conferencia y además los invito a ver ambas charlas desde el streaming de Streaming de Colombia 3.0 junto con las demás conferencias del área de desarrollo, los videos estarán pronto en el canal de You Tube del Ministerio de Tecnologia y Comunicaciones 

domingo, 28 de octubre de 2012

En video: Arquitectura de Software para Principiantes

Hace un tiempo publique en mi canal de Slideshare unas diapositivas sobre "El rol de un arquitecto" y "Arquitectura de Software para Principiantes", hace unos días un buen amigo me mostro que la habian usado para unos videos de YouTube. Agradezco mucho a Carlos Andrés Jaramillo por la publicación, y les comparto su excelente trabajo, además de invitarlos a visitar su canal de You Tube.






viernes, 19 de octubre de 2012

Sugges.me: Codigo abierto, versión con almacenamiento local

Hace unos días envié al Windows Store la primera versión de una aplicación a través de la cual quise empezar aprender Windows 8 y además hacer un proyecto por primera vez pensando en eso de Minimo Producto Viable (MVP)

El primer release lleva unicamente almacenamiento local con SQLite, el cual les expliqué en un post anterior.

Pienso que ver el codigo podría ser útil para quieres quieran aprender Windows 8, por lo que la he compartido en Github:
https://github.com/soreygarcia/Sugges.me

Por lo pronto yo seguiré en la corrección de un par de bugs de estilo y otro con respecto al uso del charm para compartir una imagen, correciones que espero subir pronto a Github.

Como aplicación espero publicar en el Windows Store pronto la versión que tendrá almacenamiento remoto además de la versión para Windows Phone, y por supuesto estaré compartiendo con ustedes todo lo aprendido en el camino.

El proyecto tiene web, twitter y facebook, trabajando paso a paso, por hacerle futuro ;).

Los invito a seguirlo pues además estaré dando 3 charlas en línea explicando varias cosas de como sacarle partido a la plantillas pre-construidas de Windows 8,  la primera de introducción a Windows 8, fué hace unos dias y pueden ver el video que quedó de ella en el post conociendo y personalizando la plantilla Grid usando Blend.

La publicación no tiene una licencia de software. Su licencia es Creative Commons Atribución NoComercial CompartirIgual 3.0. Eres libre de copiar, distribuir y compartir esta app sin modificaciones ni haciendo uso comercial de ella. Siente libre de usar su codigo para aprender o partes del mismo en tus aplicaciones

Saludos y hasta la próxima.

Sorey

jueves, 4 de octubre de 2012

Windows 8: Introducción a las plantillas por defecto

Usa firefox para ver los videos, ambos tienen audio :)

Sesion 1: Empezar a diseñar con Windows 8 nuestras apps puede ser una tarea dolorosa si no conocemos sobre XAML. En la charla repasaremos algunos conceptos de diseño de Windows 8 y aprenderemos a personalizar la plantilla Grid para aprovechar todo el trabajo adelantado que esta nos ofrece para nuestras apps.
http://www.anymeeting.com/Avanet/EC50D785824B

Sesión 2: Conociendo el código de la plantilla Grid y manejando los Bindings de XAML. http://www.anymeeting.com/Avanet/EC53DD89854F

¨°o.·O·.o°´¯`··._.εїз

Hace ya unos meses para los Excellence Labs de Windows 8 inicie una pequeña aplicación con el fin de aprender, gracias a ella y al programa MCS Colombia, me gané una Acer Iconia W500. La aplicación fue construida para Windows 8 CP, lástimosamente dejo de funcionar en el Windows 8 RP, y hasta ahora vuelvo a construir una version de ella solo con almacenamiento local y este aprendizaje quisiera compartirlo con ustedes.

Si tienen Windows 8 pueden probarla ya se encuentra disponible en el Windows Store, y además el código de la app se encuentra en GitHub.

Pues bien, el proceso de reconstruirla con más calma me ha enseñado varias cosas que podrían ser útiles para quienes planean hacer apps para Windows 8, además de que hace poco preparando mi charla para el Microsoft TechDay aprendí sobre todos esos detalles distintivos de las buenas apps Windows 8. Este tema los invito a verlo en Channel 9, en la conferencia del Build: 8 traits of great Metro style apps.

Esta es la presentación que usé en la sesión 1, espero les sea de utilidad.


Saludos y nos vemos en la próxima sesión
Sorey

lunes, 1 de octubre de 2012

IV Congreso Latinoamericano Mujer Latinoamericana en la Computación - IV LAWCC

El día de hoy participe como conferencista en el Congreso de la Mujer Latinoamericana en la Computación (Latin America Women Computer Congress - LAWCC) un evento satélite del CLEI (Conferencia Latinoamericana de Informática), evento promovido por el Centro Latinoamericano de Estudios en Informática anualmente.

Esta ha sido mi primera participación como voluntaria de la IEEE Subsección Medellín, a quienes agradezco el gran apoyo y la confianza que me dieron para representar a WIE (Women in Engineering) en el CLEI 2012.


Esta participación es una especie de sueño cumplido, el sueño de poder mostrar en un entorno académico mi sentir como profesional y como usando las redes sociales y con el apoyo de grandes amigos y colegas se ha convertido una idea difundida en un tweet alguna vez en una realidad y un sueño. No es más que una historia personal, y un reflejo de todas esas mujeres a quienes admiro y espero se den la oportunidad de conocer y seguir en las redes sociales.

Gracias a quienes respondieron mi encuesta en la red, sus comentarios fueron una inspiración mientras hablaba y algunos de ellos los seleccioné para la presentación que les comparto.

Saludos y hasta la próxima.

Sorey

sábado, 15 de septiembre de 2012

Trabajando con vectores en el AppBar de Windows 8 con Blend y Metro Studio

Hola

Aprovechando que me encuentro trabajando en Sugges.me y aprendiendo cosas del Blend para Windows 8, les quiero mostrar algo bonito que se puede hacer usando Metro Studio 2 de Syncfusion, el cual es gratuito.

Voy a empezar por enseñarles como trabajar con la barra de aplicaciones desde Blend. Como siempre mi recomendación es que si bien tenemos que aprender XAML, definitivamente Blend nos hace mucho más productivos y nos puede ayudar con detalles que no recordemos del XAML.

Actualización 2012/09/29
Este procedimiento puedes realizarlo cuando requieras hacer tus propios botones. Recuerden que para la versión de lanzamiento de Visual Studio, en el archivo StandardStyles.xaml en la carpeta common se encuentran comentariados algunos estilos de botones básicos.

En primer lugar ubicamos en Blend en los objetos el Top o Bottom AppBar y ahí agregamos desde los controles un AppBar.


Como ven este ya está formatado con la estructura típica, 2 stackpanels alineados a izquierda y derecha respectivamente.


Ahora procedemos desde la zona de controles a añadir un botón.


Al soltar el botón en el lugar que corresponde ocurre que este no tiene el formato de un botón de barra de aplicaciones.


En versiones anteriores de Blend encontrabamos una serie de botones con estilos predeterminados, yo no he podido volver a encontrarlos, el unico que aparece es uno genérico AppBarButtonStyle.


Mi recomendación con este y con cualquier estilo y plantilla que venga por defecto es que la editemos como copia para poder personalizarlo


Y para que los distingan de los demás estilos un consejo más es que pongan el nombre de su aplicación o algún distintivo a sus estilos y templates, además de que los guarden en un archivo de recursos independiente. 


En la plantilla nos importan 2 elementos importantes el etiqueta del botón y el contenido en el cual la plantilla por defecto ubica el texto asociado al formato base del botón, cosa que no queremos en un botón de AppBar.


Pues bien, lo primero que corregiremos es lograr que el content que es el texto de un botón base se ubique en la etiqueta de la parte inferior del botón y para esto debemos editar el binding de la propiedad Text.


De esa forma observamos como el texto se asocia a la posición donde la necesitamos. No lo edites aqui, cuando terminemos la edición este campo queda para configurar en Blend.


Como vemos, nos falta una imagen asociada y es ahí donde entra Metro Studio 2. En el podemos encontrar cantidades de imágenes, buscamos la que mejor se asocia a nuestro comando y la editamos.


Allí tenemos multiples opciones de edición, seleccionamos fondo transparente y el tamaño de imagen que queremos.


Luego la exportamos y guardamos en la carpeta de nuestro proyecto,


Además a través de Blend, o como en la imagen a través de Visual Studio, incluimos la imagen en nuestro proyecto. 


Yo acostumbro tener los dos entornos abiertos al tiempo Blend y Visual Studio, cada uno es bueno para algo específico, sin embargo el Visual Studio 2012 permite en ocasiones intervenir de forma más facil algunos elementos cuando se encuentran en el archivo de la página y no en archivos de recursos. Un ejemplo de eso es la cabecera de los grupos en la platilla tipo grid, puesto que la plantilla por defecto tiene en esa cabecera un evento de clic asociado y por tanto tienen la plantilla dentro de la página, les invito a intentar cambiarle el color a la fuente del título de grupo desde Blend y desde Visual studio para entender mejor de lo que hablo.

Recuerden si incluyen el archivo desde Visual Studio, guardar y cuando Blend les pregunte si desean recargar, aceptarlo. Esto los sacará de la edición de la plantilla como fue mi caso, para volver, nos ubicamos en el botón y esta vez no le decimos editar una copia si no, editar el actual.


Ahora añadimos una imagen dentro del content del botón, como ven el mensaje indica que se reemplazará el string que habia antes.


En las propiedades de la imagen seleccionamos la nueva imagen que ya debe estar cargada si la incluimos correctamente en el proyecto.


Ahora, salimos de la edición del botón para ver como quedó en el diseño final.


Si observaramos la página en tamaño real, veremos que se ve muy bien, además de que en esta vista ya podemos editar el texto del botón, pero si ampliamos la imagen, vemos que la imagen se torna borrosa. Podríamos cambiar la imagen por una de mayor tamaño, pero lo mejor sería usar vectores, de tal forma que no añadamos peso extra a nuestra aplicación y que ella pueda escalar y adaptarse con elegancia.


Para esto nos ayuda otra vez Metro Studio, el cual tiene una opción para exportar el XAML de la imagen que seleccionamos.


Tomamos el código generado por Metro Studio.


Y lo ubicamos en el lugar donde antes habiamos colocado nuestra imagen. Les recomiendo mucho identar el codigo para que no se desordene.


Como vemos, la imagen no se ve correctamente necesitamos añadir márgenes.


Nos ubicamos en el Grid y añadimos márgenes, en mi caso con 8 a cada lado quedó perfecto. Vemos desde aquí como la imagen a pesar de ser tan grande, no se torna borrosa, justo por que es un formato de vectores.


Aquí está como se vé ahora en la vista del diseño final, esto además nos evita manejar tantos archivos de imágenes extra.


Lo más importante de las plantillas es que seamos consientes de que las tendremos a disposición así que si decidimos añadir otro botón de editar en otra pantalla, simplemente añadimos un botón normal y seleccionamos la plantilla que ya creamos.


Y ahora para crear un botón con otra imagen, podemos partir desde nuestro botón, generando una copia del estilo y simplemente cambiando el XAML de la imagen.


Muy bien, eso es todo, espero que les sea de utilidad en alguna ocasión. Hasta la próxima.

Sorey

Actualización 2012/09/22: Quiero contarles que la alineación de los iconos centrales con otras imagenes me quedaba desbalanceada ( :P ) bueno eso a mi ojos que le gustan las cosas bonitas. Razón por la cual me tocó editar todo el botón hasta dejarlos como quería, este proceso es un poquito más complejo y prefiero explicarlo en video. Les muestro el efecto en los botones.


Como ven quedan mucho más pulidos, el problema es que con este cambio toca editar todos los estados del botón, para que se vea bien cuando con los gestos del mouse, es decir:

Cuando el mouse pasa encima

Cuando el mouse presiona el botón

Esto hay que hacerlo tambien para mostrar el botón desactivado. Les comparto además dos enlaces para aprender a usar las barras de aplicación según las guías de diseño de interfaces modernas

Diseño de navegación para aplicaciones estilo Metro 
http://msdn.microsoft.com/es-es/library/windows/apps/xaml/hh761500.aspx 
Diseño de comandos para aplicaciones estilo Metro 
http://msdn.microsoft.com/es-es/library/windows/apps/xaml/hh761499.aspx