miércoles, 30 de diciembre de 2015

Aplicaciones con visión de mujer

Esta publicación ha sido creada para el portal MujeresDigitales.org

En publicaciones anteriores hemos hablado acerca de la carencia de una visión femenina en la tecnología, a pesar de que esta hoy en día hace parte de nuestra cotidianidad. Una de las metas que nos propusimos al explorar este tema y la forma como las mujeres somos partícipes de su uso, creación y evolución ha sido también entender cómo podemos transformarla.

Esta propuesta liderada por Lucrecia Ramírez directora de Mujeres Digitales, cobró vida en nuestras mentes bajo el eslogan e invitación a crear “Software de mujeres para mujeres”.

Entender el concepto en apariencia era simple. Estudiamos sobre las brechas de género, conversamos con expertas sobre temas relacionados y buscamos aplicaciones recomendadas para mujeres en internet, lo cual nos mostró algunas realidades dolorosas.

Al hablar de tecnología para mujeres hay estereotipos bastante marcados que reflejan claramente lo que representamos con respecto a su uso y consumo. En general las aplicaciones sugeridas para mujeres se relacionan con belleza, cocina, ejercicio, moda y farándula. Incluso en las aplicaciones dirigidas hacia niñas predomina el enfoque a la belleza y las tareas domésticas.

Por otro lado, existe una alta tendencia por desarrollar aplicaciones para el control y monitoreo del periodo menstrual y el embarazo, sin embargo resulta particular como la mayoría de ellas son evidentemente desarrolladas por hombres y esto es notable en la estética y el uso del lenguaje.

Varias preguntas surgen de esta situación. Más la mitad del consumo de productos y tráfico en internet es generado por mujeres, entonces ¿Qué es lo que estamos consumiendo? ¿Qué idea queda en las niñas sobre los roles para los que la tecnología las forma? ¿Cuál debería ser nuestro papel frente a la tecnología de este tipo y la generación de nuevas ideas?

El software de mujeres para mujeres es software construido y concebido por y para mujeres. Pensado en nuestras necesidades, enfocado en proporcionar herramientas que generen el empoderamiento femenino y que a través de experiencia y lenguaje amable faciliten y motiven su uso y apropiación.

En Mujeres Digitales decidimos ir más allá de las palabras y es así como hemos creado cuatro aplicaciones para mostrar de qué se trata el software mujeres para mujeres, e inspirar a nuestras lectoras a ser partícipes de los procesos de creación de tecnología que impactan nuestro entorno, entendiendo que crear también incluye participar de la generación de ideas y la mejora de la tecnología que usamos.

Estas son las aplicaciones que hemos creado para ustedes:
  1. Mujeres Digitales: Esta aplicación te permite entrar a tu habitación, ese espacio personal en el que se ha convertido el portal con contenidos generados por Mujeres Digitales. En ella podrás conocer a mujeres como tú que hacen parte del equipo y que son mentoras en los territorios, además de conectarte con el contenido existente en el portal. Descárgala aquí: https://play.google.com/store/apps/details?id=com.avanet.mujeresdigitales 
  1. En familia: Esta aplicación fue creada pensando en nuestro eje temático de corresponsabilidad doméstica. Su objetivo es conectar a las familias con las responsabilidades conjuntas que existen en el hogar, asignado tareas y comunicándose a través de notas en ellas. Su finalidad es lograr la distribución equilibrada del trabajo en casa por parte de todos los miembros de la familia. Descárgala aquí: https://play.google.com/store/apps/details?id=com.mujeresdigitales.enfamilia
  1. Me cuido: Con esta aplicación buscamos recordarte lo importante que es pensar en tu salud. La aplicación permite crear diferentes recordatorios de salud que deberíamos tener presentes o guardar hechos de salud importantes que sean necesarios reportar en tus citas médicas. Además, podrás informarte sobre todo lo relacionado con métodos anticonceptivos desde la revista que hemos creado para ti. Descárgala aquí: https://play.google.com/store/apps/details?id=com.mujeresdigitales.mecuido
  1. EconoMía: Esta aplicación te permitirá hacer seguimiento a tus gastos del día a día, plantearte objetivos de ahorros y conocer cuáles son los temas principales en los que inviertes tu dinero. Su eje temático es la autonomía económica y su principal objetivo es crear conciencia frente a la importancia de conocer la forma cómo invertimos nuestro dinero para tomar mejores decisiones frente a los hábitos de ahorro. Descargala aquí: https://play.google.com/store/apps/details?id=com.mujeresdigitales.economia
Estas aplicaciones nos permiten ver cómo a veces podemos hacer creaciones para trabajar por temas que necesitamos fortalecer en nuestro día a día y también nos muestran cómo algunas son adaptaciones a ideas existentes, que pueden desarrollarse generando una experiencia más amable. Son apenas ejercicios iniciales que necesitan seguir creciendo, pero esperamos que resulten de inspiración a más creadoras de tecnología y a quienes decidan participar y apoyar proyectos con ideas y retroalimentación.

Durante nuestro ejercicio encontramos además algunas aplicaciones que queremos recomendarte:

Ellas es una aplicación que entrega a las mujeres colombianas una ruta de atención en caso de que sean víctimas de violencia sexual, intrafamiliar, económica y política. Descárgala aquí: https://play.google.com/store/apps/details?id=org.rednacionaldemujeres.ellas

Seguridad en línea es una aplicación a través de la cual puedes realizar denuncias ciudadanas y además crear una red de contactos segura a los cuales notificar si te sientes bajo algún riesgo de peligro.Descárgala aquí: https://play.google.com/store/apps/details?id=com.aliadosweb.android.sel

Pocket Care es una aplicación que apoya a las mujeres en el proceso de atravesar el divorcio y continuar con su vida y la de sus hijos adelante.Descárgala aquí: https://play.google.com/store/apps/details?id=com.buzinger.mobile.pocketcare.separadas

Modo Rosa es una aplicación que te permite estar informada sobre novedades sobre el cáncer de mama y como realizarte el autoexamen de senos. Descárgala aquí: https://play.google.com/store/apps/details?id=com.apnovator.cancerapp

Palabra de Mujer es una app donde podrás encontrar frases inspiradoras para el día a día. Descárgala aquí: https://play.google.com/store/apps/details?id=laura.saenz.palabrademujer2

SOS Mujer es una aplicación creada en El Salvador para crear conciencia por el cuidado de la mujer. La app cuenta con varias herramientas, entre ellas un test para evaluar la violencia de pareja. Descárgala aquí: https://play.google.com/store/apps/details?id=com.citylab.mariposa

viernes, 18 de diciembre de 2015

Xamarin Forms desde un Mac (5 de N)

En este video vamos a continuar con la construcción de una aplicación Xamarin Forms para iOS y Android usando Xamarin Studio en un MAC, sin embargo puedes usar también Visual Studio 2015 o 2013 como lo explico en los Ninja Tips

Acciones para involucrar a las mujeres en la construcción de tecnología

Este contenido fue publicado originalmente para el portal MujeresDigitales.org

Cada día las mujeres demuestran que aman la tecnología. Aman el internet, sus computadoras, teléfonos inteligentes y todos los nuevos dispositivos que las rodean y hacen sus vidas más fáciles, seguras, productivas y divertidas. En Mujeres Digitales abordamos el tema de la brecha de participación de las mujeres en el uso y la apropiación de la tecnología desde diferentes perspectivas, y su poca participación en la creación de la misma. Por eso, es inevitable que hoy nos preguntemos cómo podemos cambiar el futuro y afectar el presente.

Lo primero que debe lograrse es que los actores involucrados establezcan el enfoque de género en sus agendas. Industria, academia, familias y por supuesto cada mujer como agente de cambio, debe participar, aportar y proponer ideas que transforman los escenarios y las realidades actuales.

Desde hace un par de años este tema ha empezado a despertar interés en empresas y colectivos independientes en Latinoamérica y en Colombia. El 9 de noviembre de 2015 se realizó en Santiago de Chile LAtINiTY, un congreso latinoamericano que reunió a mujeres dedicadas a la tecnología. El evento es un hito, pues propone una agenda común que anualmente convocará diferentes actores para discutir sobre los avances, nuevas alternativas y acciones para disminuir las brechas de género. Se espera que el intercambio de experiencias e iniciativas entre quienes participan ayude a las comunidades a impactar sus entornos.


En escenarios como este existen propuestas para facilitar la inclusión de las mujeres en el campo tecnológico; sin embargo, hay que cuestionarse por qué es necesario.

El entorno actual se transforma a pasos agigantados. La evolución de la tecnología, los dispositivos, el internet y el software hacen que las tareas más cotidianas cambien. Estas propuestas están siendo planteadas principalmente por hombres, por lo cual es lógico que se note la carencia de perspectivas femeninas no sólo en la construcción de los productos, sino también en las necesidades que resuelven y en la forma en que lo hacen.

Cambiar las condiciones actuales es imperioso para que la tecnología contemple las necesidades y perspectivas de esa otra mitad de la población. Las mujeres son consumidoras potenciales y si la industria actual reconoce dicha situación entenderá también que se necesitan ideas de mujeres talentosas que hagan preguntas diferentes, ofrezcan experiencias distintas y propongan nuevas soluciones. En consecuencia, los nuevos productos harán sentir a otras mujeres identificadas y bienvenidas a interactuar, apropiarse y generar más ideas.

Algunas estrategias para empezar a aumentar la participación de las mujeres en la creación de tecnología son bastante conocidas a pesar de que su ejecución recién empieza a materializarse en los países latinoamericanos. A continuación, algunas de ellos:

Transformar el mensaje

Es necesario cambiar la imagen colectiva de las carreras técnicas. Un estudio de Cisco realizado en 2009 menciona que la mayoría de mujeres busca ser creativa e independiente en su ambiente de trabajo, pero que solo el 30% de ellas considera que puede lograrlo dedicándose a carreras basadas en tecnología. El mismo estudio señala que el 90% de ellas busca trabajos en los que pueden ayudar a otros, y que solo el 60% piensa que puede lograrlo con tecnología. El estudio indica que solo la mitad de los padres consideran que la profesión podría servir para el propósito mencionado.

¿Por qué la profesión que está transformando al mundo puede parecer poco creativa? ¿Es posible que las niñas crezcan pensando en ayudar a otros a través de la tecnología, cuando sus principales modelos de rol no lo consideran posible?

Como se ha mencionado antes depende de que todas las personas involucradas trabajen en el tema. Industria y academia deben mostrar la realidad a las nuevas generaciones de una manera más clara y atractiva e involucrar a las familias en el cambio de mentalidad.
Una de las principales ideas a cambiar en el imaginario femenino es que la tecnología es un conjunto de máquinas y algoritmos. Hay que mostrar que la tecnología tiene que ver con conectarse con los problemas y necesidades de la sociedad, crear herramientas que ofrezcan soluciones que impacten positivamente el futuro y entender que el futuro también es suyo.

Esta es una tarea en la que la academia puede ser de gran ayuda. Uno de sus retos es replantear los currículos. Muchas adolescentes suelen ver estos temas como aburridos y desactualizados. Resaltar la creatividad se hace imprescindible para incentivar la participación de las jóvenes. También es necesario enseñar temas relacionados desde la infancia, una idea que, incluso, es respaldada por causas gubernamentales en países como Argentina.

Mejores condiciones de trabajo y equidad salarial

La calidad de los entornos de trabajo representa un gran diferenciador en las empresas de tecnología. Espacios placenteros, prácticos y divertidos se han convertido en una necesidad porque ayuda a tener mayor calidad de vida, aumenta la satisfacción y mejora la productividad de los equipos de trabajo. Este tipo de incentivos ayuda a que las mujeres vean la profesión positiva y atractiva.

Existen demandas adicionales que atender como los horarios flexibles y el teletrabajo, la posibilidad de llevar bebés a las oficinas o contar con guarderías cercanas, lo cual evitaría que las mujeres en etapas tempranas de su maternidad abandonen las carreras profesionales.

Otros temas importantes de índole laboral que necesitan ser revisados, son la inequidad salarial y la idea generalizada de que para ser exitoso se requieren largas jordanas de trabajo. Es innegable que estas situaciones ocurren. Por eso hay que trabajar en la conciencia de las organizaciones sobre el derecho a la igualdad de salario frente a la igualdad de responsabilidades y también en la conciencia de que condiciones de trabajo dignas permiten a las personas el desarrollo de sus vidas sociales y familiares.

Creación de espacios seguros

Un espacio seguro significa un espacio sólo para niñas. En el escenario que tratamos, refiere a espacios enfocados al entrenamiento en tecnología dirigido por mujeres y para mujeres. Algunos detractores plantean que esto genera expectativas falsas para el desempeño en ámbitos reales; sin embargo, es que las niñas y mujeres aprendan en confianza, sin miedo a ser criticadas y sin comparaciones de género. Allí todas las tareas son para mujeres, no existen tareas "para hombres", y por lo tanto hay que resolver los retos que se presentan. Y aunque estos espacios no son un fiel reflejo de la realidad, con ellos se persigue la idea de entrenar en las habilidades requeridas y capacitar en las herramientas necesarias para que las mujeres puedan desempeñarse correctamente al enfrentarse a entornos reales en compañía de hombres.

Generación y exposición de modelos de rol

Los modelos de rol son personas que inciden sobre los pensamientos y decisiones de las niñas y adolescentes, por su valor inspirador o su ejemplo de vida. Mujeres famosas y representativas en el campo de la tecnología son modelos de rol; sin embargo, su trabajo no es reconocido actualmente.

Una manera sencilla de presentar modelos de rol viene desde el hogar, donde las madres con su conocimiento y uso de las herramientas pueden promover e inspirar la apropiación, descubrimiento y creación de nuevas ideas. De ahí la importancia de la participación de la familia y la necesidad del conocimiento de los padres en la forma como la tecnología evoluciona y afecta las vidas de sus hijas.

En las escuelas, las maestras y maestros pueden convertirse en inspiradores que promueven la tecnología en las aulas de clases, como herramientas que posibilitan crear, impactar y cambiar el mundo de formas creativas y divertidas, sin que dedicarse a ello se convierta en un aspecto negativo. Además, es posible mostrar la labor de las profesionales cercanas dedicadas a tecnología, con carreras exitosas y brillantes futuros, que enseñen a las adolescentes que las ideas de éxito no son tan lejanas y que son mujeres que se desarrollan en diferentes aspectos de sus vidas y son felices con lo que hacen.

En este punto vale la pena recordar que la apariencia fría y de personas obsesionadas con la tecnología, es reforzada a través de los estereotipos geek y nerd generados por el entorno. Durante una entrevista en GALs, programa de Microsoft en Channel 9 sobre Mujeres en Tecnología, un grupo de mujeres de Francia, Colombia y Túnez, opinaron sobre la diferencia de perspectivas, acerca de ser catalogado como geek o nerd. Este tema no es tomado por todas como un aspecto negativo, sin embargo, para las nuevas generaciones, se ha transformado en una de las causas de desmotivación para no vincularse a carreras tecnológicas.

Mejorar este punto tiene que ver con un trabajo de parte de las familias y escuelas, en la generación de la autoconfianza de las niñas y adolescentes, y en enseñarles cómo sin importar su apariencia, pueden desempeñar cualquier rol y tarea que se propongan.

Mejorar las habilidades blandas en las organizaciones

Una entrevista realizada por Mujeres Digitales a la consultora de equipos de trabajo Ingrid Astiz de Argentina, mostró un punto adicional e importante a tratar, y que puede impactar aún más, no solo el futuro, sino los escenarios actuales de las mujeres que se desempeñan en tecnología: mejorar las habilidades blandas en los equipos de trabajo.

Laboralmente se conocen dos tipos de habilidades: duras y blandas. Las primeras refieren a conocimiento técnico y específico de la tarea que se desempeña, las segundas en cambio son competencias conductuales y son conocidas como habilidades interpersonales. Estas incluyen competencias como habilidades de autonomía, liderazgo, coherencia, integridad, capacidad de atención y de escucha, autorregulación, interés, curiosidad, autenticidad, responsabilidad personal y social, capacidad de reflexión, proactividad, pasión, motivación intrínseca, lógica divergente, humildad, aprendizaje continuo, empatía, capacidad de síntesis y de argumentación, gestión del tiempo y confianza.

Mejorar este tipo de habilidades impacta los escenarios laborales. Transformaciones básicas en las habilidades de comunicación de los equipos, hacen que el respeto y la apertura a las ideas inicien el cambio de mentalidad frente a algunos de los paradigmas de género, haciendo sentir a las mujeres más cómodas para expresar sus ideas, ser escuchadas y aportar con su experiencia a la construcción de su entorno.



La tecnología es humana. Igual que otras áreas de trabajo o de conocimiento, necesita acciones incluyentes para generar participación igualitaria de las mujeres, de manera que sus perspectivas tengan la misma posibilidad de impactar el mundo, mejorar la vida de otras personas y decidir sobre el futuro, en el ámbito global.

--------------------------

Fuentes
Little Miss Geek de Belinda Palmar
http://www.amazon.com/gp/product/B009K8BKUM
Women in Engineering - Book 1: Inspire and Close the Gender Gap
http://www.amazon.com/gp/product/B00M0RQJK6
Want more girls to be interested in computer science? Change some classroom stereotypes (Artículo y referencias del artículo)
https://theconversation.com/want-more-girls-to-be-interested-in-computer-science-change-some-classroom-stereotypes-47136
Creación de "espacios seguros" para niñas adolescentes
http://www.popcouncil.org/uploads/pdfs/TABriefs/39_SafeSpaces_es.pdf
Women and ICT: Why are girls still not attracted to ICT studies and careers?
http://newsroom.cisco.com/dlls/2009/ekits/Women_ICT_Whitepaper.pdf

viernes, 11 de diciembre de 2015

Xamarin Forms desde un Mac (4 de N)

En este video vamos a iniciar la construcción de una aplicación Xamarin Forms para iOS y Android usando Xamarin Studio en un MAC, sin embargo puedes usar también
Visual Studio 2015 o 2013 como lo explico en los Ninja Tips

viernes, 20 de noviembre de 2015

Conociendo Xamarin Forms (3 de N)

Los post 1 y 2 de esta serie, han sido simplemente una forma práctica de empezar con XAML y tener ganas de avanzar rapidamente.

El día de ayer publiqué un video que ha sido bastante bien recibido, que me resulta una manera genial de continuar con la serie de XAML y además verlo aplicado. Si bien se los muestro para Android y iOS en Xamarin Studio, el punto es que lo que hemos visto aquí puede ser aplicado para Windows y Windows Phone en Visual Studio, o tambien para hacer el mismo ejercicio del video usando Visual Studio 2015.

Xamarin es una compañía que existe hace ya varios años y que provee entre otras herramientas, una alternativa para construir aplicaciones nativas para iOS y Android usando C#, sin embargo tengo que decir que el enfoque nunca me emocionó demasiado aunque me parecia genial. No soy amiga del tema de construir interfaces escribiendo code behind, la idea de usar un marcado para construir más fácilmente la interfaz de su código subyacente siempre me ha parecido mucho mejor, por eso la noticia del lanzamiento de Xamarin Forms hace unos meses fue genial para mi.


Xamarin Forms es un toolkit de Xamarin que te permite construir una aplicación por una sola vez usando XAML y C#, y generar 3 aplicaciones nativas. Si, no estamos hablando de "ejecución Crossplatform o aplicaciones híbridas" estamos hablando de "construcción Crossplatform" el resultado final serán aplicaciones nativas.

En términos generales, para un desarrollador .NET esta es una gran noticia, es la posibilidad de aprovechar todo el conocimiento que ya posee para entrar al mundo móvil de las 3 plataformas más populares.

Xamarin Forms es promovido principalmente con el uso de CodeBehind, y tiene gran cantidad de documentación disponible en el sitio oficial, además de que se ha realizado el lanzamiento el día de hoy de un libro gratis (en previa) sobre el mismo.

¡Mi recomendación es sencilla y es aprender! Sin embargo, no se queden allí, Xamarin Forms trae consigo el poder de construir aplicaciones usando Xaml, las mismas estrategias y temas que ya conocemos como bindings, recursos, templates, convertidores, lo cual lo hace genial y poderoso.

Buen conocimiento sobre el patrón MVVM y seguir estrategias Crossplatform abrirán muchas oportunidades a todos los devs .NET.

Si usas Windows y Visual Studio te invito a escuchar la introducción a Xamarin Forms publicada en Ninja Tips. Si usas Mac continua con los post de esta serie.

viernes, 13 de noviembre de 2015

Entendiendo XAML (2 de N)

En el post anterior vimos de donde proviene la sintaxis básica de XAML, ahora veamos un concepto más que es necesario para saber como crear cualquier elemento C# en XAML, si, C#.

Pues bien, para quienes estamos acostumbrados a .NET de tiempos anteriores, estamos acostumbrados a contar siempre con algo que conocemos como el CodeBehind



El CodeBehind es a grandes rasgos el código sobre el cual podemos manipular elementos gráficos de nuestras pantallas, este código generalmente se ubica en un archivo separado al archivo donde se encuentra la definición de los elementos gráficos que conforman las pantallas o controles. En el explorador de soluciones Visual Studio y otros IDEs se encargan de que veamos de hecho estos archivos unificados en la jeraquía como si fueran uno solo.

Lo primero que debemos entender es que estos dos archivos son una misma clase (en términos lógicos) sin embargo código está distribuido en dos archivos, es decir son "Clases Parciales", pero para el compilar son simplemente una clase completa.

Ahora bien, el XAML no es más que una Clase Parcial de nuestro CodeBehind, y se hace completa en conjunto con el archivo que lleva el mismo nombre que el XAML pero con la extensión adicional .CS.

Si estás empezando con XAML esto podría sosprenderte, XAML y C# visualmente son absolutamente diferentes, pero si lo piensas mejor, la situación es que las pantallas típicamente son solo estructuras, y XAML basado en XML como ya lo mencionamos antes, es ideal para definir estas estructuras.

Veamos un ejemplo

Como puedes observar escribir estructuras en XAML se hace mucho más sencillo, y visualmente incluso más simple de entender cuales estructuras están jerarquicamente aninadas.

Si además observas con cuidado te darás cuenta que una instancia de un objeto en C# es igual a abrir y cerrar un nodo en XAML. ¿Recuerdas el primer post? Es importante, que por más simples que veas estos dos post entiendas que serán tu mejor arma para darte cuenta que XAML es un lenguaje bastante sencillo de aprender pues de hecho no tiene una sintaxis establecida con palabras claves como HTML si no que es simplemente la capacidad de poder usar clases que existen en C# en estructuras XML.
Alguno podría decir que ha visto más elementos complejos en XAML, pero vamos a ver una página y lentamente descubrir cuales son esas diferencias.

Analicemos esta imagen:


Lo primero que vemos es un nodo o instancia de winPhone:FormsApplicationPage, lo más raro que podemos observar en esto es que a la palabra FormsApplicationPage lo precede separado por dos puntos el prefijo winPhone. Esto es bastante simple de entender, ¿Recuerdas que sucede en C# cuando quieres usar una clase que no están el mismo namespace que la clase en la que estás trabajando? Si, simple, haces un using. Asi que esto podría ser similar a hacer un using, así

using Xamarin.Forms.Platform.WinPhone;

Sin embargo, XAML necesita algo más, necesita que le pongas un alias o apodo al using ¿Los has usado? Algo como:

using winPhone = Xamarin.Forms.Platform.WinPhone;

¿Ves? En C Sharp tambien puede hacerse. En XAML este using equivale a escribir

xmlns:winPhone="clr- namespace:Xamarin.Forms.Platform.WinPhone;assembly=Xamarin.Forms.Platform.WP8"

El parametro assembly indica en que Librería se encuentra ubicado el namespace.

La estructura de los using podría cambiar según la versión de Windows o Windows Phone, o como en este caso de ejemplo que es XAML para Xamarin, pero finalmente siempre cumplen el mismo propósito.
Otras lineas que podrían parecernos extrañas son:

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

Estas lineas que deben siempre respetarse, representan los esquemas a través de los cuales el XAML valida que la estructura está correcta. Es por eso que no siempre verás elementos con prefijos, por ejemplo



Hacen parte de las estructuras básicas que se definen en los esquemas de XAML mencionados anteriormente.

Si continuamos, hay otra línea que si bien ya no se te hace extraña, es importante explicar

x:Class="Croosy.Cross.WinPhone.MainPage"

Esta propiedad Class, que pertece al esquema x, permite que relacionemos al XAML la Clase Parcial correspondiente.

Por último podemos observar en XAML asignaciones de propiedades de este tipo:


Este tipo de asignaciones las conocemos como bindings y son un tema mucho más extenso. Siendo el propósito de este post solamente quitarte el miedo con respecto a XAML, nos quedaremos por ahora con su nombre en mente, pero como observamos no cambia la sintaxis en el punto de que "siempre son simplemente una asignación de una propiedad"

Por ahora es todo en bases prácticas, sin embargo recomiendo como es lógico, estudiar XAML más ampliamente desde la documentación oficial de MSDN.

viernes, 6 de noviembre de 2015

Entendiendo XAML (1 de N)

Después de años de aprender por mí misma y tratar de enseñar temas como Windows, Windows Phone y Xamarin Forms, una vez más vuelvo a empezar la travesía de tratar de enseñarlo en mi blog.

La verdad es que después de vivirlo y tener mi propia empresa con proyectos XAML, la parte que no logro entender es como la mayoría de los desarrolladores .NET no ven XAML como una parte obvia de su presente y futuro.

Dicho eso, espero que quienes inicien esta serie da post, si lo vean así, XAML como la posibilidad de programar en cualquier ecosistema Windows Clásico, Windows Store, Windows Phone, XBox, Android, iPhone, el futuro está a un paso.


Disclaimer: Esta serie de post no pretende hacer énfasis profundo sobre temas teóricos, es más bien una guía rápida y práctica. Se asume una comprensión básica de temas de orientación a objetos y C#. Para los ejemplos voy a usar Visual Studio 2015 RC Enterprise, sin embargo pueden usar Visual Studio Community Edition 2015 con propositos educativos.

Bueno empecemos.

XAML (acrónimo pronunciado xammel del inglés eXtensible Application Markup Language, Lenguaje Extensible de Formato para Aplicaciones en español) es un lenguaje declarativo basado en XML.

Si hacemos un pequeño stop y sin entrar en muchos detalles, decir que la base es XAML nos llega a que el "formato" de los elementos que se escriben en XAML, cumple con las normas con las que se escribe XML, es decir:

En XAML tenemos Nodos o Elementos, los cuales se abren con el nombre del nodo y se cierran igual. Estos nodos pueden tener o no contenido, veamos unos ejemplos:


Observa como además se pueden escribir comentarios en XML y como un nodo puede contener otros nodos formando así una jerarquia.


Cada nodo puede tener propiedades clave/valor, que siempre sin importar su tipo serán escritas como strings.


Si crean un proyecto XAML para cualquier tecnología y en cualquier herramienta, generalmente encontrarán algo como esto:


La imagen, ya no dería confundir o asustar, es XML, hay nodos y propiedades, algunos nombres de propiedades se ven un poco diferentes, y algunos simples como los que vimos antes, pero no son más que propiedades, y de la misma forms los valores de las propiedades tambien lucen algunos normales y otros raros, e incluso Visual Studio los dibuja con colores diferentes, pero siguen siendo strings.

Esas parte que vemos un poco extrañas son XAML y vamos a ir entendiendolas parte por parte, sin embargo, no debemos perder de vista que no es más que XML y que en todas partes debe seguir las normas básicas que observamos en los ejemplos, abrir y cerrar los tags, y poner los valores de las propiedades entre comillas. Si eres nuevo en esto, seguramente seguir estas dos reglas para empezar te ayudará mucho a no equivocarte.

¿Por qué complicarse usando XAML para construir interfaces? 

Por excelentes ejemplos como el HTML está probado que tener un lenguaje de marcas permite la separación entre las tareas de diseño y la programación, situación que es muy requerida hoy en día para mejorar y acelerar los tiempos de construcción, delegando tareas a equipos especializados en cada una de estas partes, ya que no es lo más común que una misma persona tenga tanto habilidades para codificar como para diseñar.

¿Significa eso que estamos aprendiendo algo para diseñadores? Quizá, pero sucede que a diferencia de HTML no existen tantos diseñadores que sepan XAML por lo tanto como programadores es seguro que nos tocará construir ambas partes y por lo tanto entenderlo de pies a cabeza, como nos corresponde con HTML.

¿Para que aprender XAML si morirá como Silverlight?

Aclaro que hago está pregunta de forma arbitraria por que es lo que mucha gente se pregunta o simplemente muchos corren el rumor sin siquiera entender la diferencia entre XAML y Silverlight.

Asegurar que XAML no morirá nunca, es algo que no puedo hacer, que no morirá pronto es seguro. WPF fue el primer producto que usó XAML como lenguaje de marcas para aplicaciones de escritorio, luego lo hizo Silverlight. Este producto era la apuesta de Microsoft para la Web robusta y con experiencia enriquecida. Lo que fue claro con el tiempo es que HTML, CSS y JS mandan en cuanto a Web se refiere y por eso es que no solo Silverlight murió como producto, si no que además lo hizo Flash quien está en desuso.

XAML sin embargo no corrió con la suerte de Silverlight por que no es un producto, es un lenguaje que puede ser usado en varias tecnologías, WPF hoy sigue existiendo, y además en los productos estrella de Microsoft como Windows Phone y Windows, XAML se usa como tecnología principal para construir aplicaciones. Hoy en día además se promueve XAML para construir aplicaciones para XBOX y también es posible construir aplicaciones para Android y iOS usando XAML con Xamarin Forms.

¿Morir? ¿En serio? No, no por ahora, aprender XAML hoy en día es una gran inversión para un desarrollador .NET y de hecho es la razón por la que vuelvo a iniciar de cero, con una visión más amplia y un paso más lento que lo que lo hice alguna vez en mi blog anterior.

Espero que lo vayan disfrutando, XAML es XAML, si aprendes todas sus reglas, trucos y demás, básicamente hoy en día serás facilmente un desarrollador nativo en cualquiera de las tecnologías que mencioné antes, y saben... esa posibilidad no la tiene ningun desarrollador de ninguna otra tecnología.

Así que espero que esta serie los ayude a empezar y a emocionarse con XAML tanto como yo.

Nos vemos en la próxima.


martes, 27 de octubre de 2015

¿Por qué las mujeres no desarrollan software?

Este contenido fue publicado originalmente para el portal MujeresDigitales.org

Esta es una de las preguntas más comunes alrededor del tema de la brecha entre las mujeres y la tecnología. Según el libro Little Miss Geek, en el rol de consumidoras las mujeres somos un 40%. Este número no es una sorpresa, es algo que se esperaba con la popularización de la tecnología en los ambientes cotidianos; sin embargo, también se esperaba que, en consecuencia, el número de mujeres que se dedica a crear se incrementara con este escenario, pero la realidad es otra.

Esta misma publicación habla de cómo en países como Inglaterra los porcentajes de participación de las mujeres en creación de tecnología continúan disminuyendo. Entre 2001 y 2011, la vinculación de mujeres a trabajos en tecnología disminuyó de 22% a 17%. En el ámbito mundial, las mujeres solo representamos el 25% de la fuerza de trabajo en este campo.

En el ejercicio de conocer las razones de por qué las mujeres no desarrollan software, muchas veces se recurre a mujeres que sí lo hacen, y aunque este tipo de opiniones otorga luces al respecto, también es claro que estas mujeres pueden llegar a negar que existe la brecha o que existen más obstáculos para las mujeres, porque ellas ya los han superado y se han asegurado una posición cómoda dentro del ámbito tecnológico, han construido imágenes rudas de sí mismas y corazas protectoras que en ocasiones obstaculizan la visión propia acerca del problema e incluso en ocasiones, las lleva a apartarse de las acciones que pueden hacer que las cosas cambien, pues aún en su día a día siguen luchando por lograr ser respetadas y sobrevivir en este campo.

Una actividad reciente realizada por Mujeres Digitales en compañía de la argentina Lila Pagola, activista del software libre, y mujeres de Antioquia profesionales en el campo del software, permitió analizar y descubrir ideas que reafirman los escenarios planteados por estudios y análisis sobre la brecha de uso efectivo de las TIC entre hombres y mujeres.

  • Las mujeres que trabajan en tecnología aprenden a mostrarse como personas de carácter fuerte para poder desempeñarse en su campo y ser respetadas.
  • Las mujeres deben realizar más o mejor trabajo que los hombres para poder ser respetadas.
  • El entorno demuestra que no se cree que una mujer sea capaz de desempeñarse correctamente en tareas que demanden mucho conocimiento técnico. Generalmente se sugiere a las mujeres dedicarse a tareas menos complicadas.
  • Aunque la mayoría de mujeres son plenamente conscientes de los obstáculos que han afrontado y describen con claridad como los han resuelto, son pocas las que se sienten en capacidad de pasar al plano colectivo para ayudar a otras mujeres a superarlos más fácilmente.


Una de las reflexiones que resaltó Lila Pagola fue como en efecto, las mujeres quienes participan en tecnología son de carácter fuerte. Los escenarios actuales en los cuales las mujeres participan como creadoras de tecnología las lleva a actuar constantemente en una posición defensiva para demostrar realmente quiénes son, y lo cierto es que pensar en las siguientes generaciones e invitarlas a participar de esto no parece generar demasiado entusiasmo. 

Muchas condiciones están dadas, son difíciles de cambiar y son escenarios que necesitan ser intervenidos de diferentes maneras, sin embargo, ¿Qué puede hacerse para que el futuro sea diferente? Descubrirlo es actualmente el reto de muchos iniciativas a nivel mundial y nacional, entre ellas Mujeres DigitalesCodies ColombiaWomen Who CodeGirls Develop IT,Women In TechnologyWomen In EngineeringBlack Girls CodeGirls In Tech, entre otras.

Abordando nuevamente la pregunta inicial ¿Por qué cada vez hay menos niñas interesadas en dedicarse a crear tecnología? Es claro y evidente que, aunque se comparten muchas causas entre generaciones, las épocas son necesariamente diferentes, y temas como la confianza en el manejo de la tecnología (su uso y apropiación) ha dejado de ser una barrera en las nuevas generaciones, y si es así ¿Por qué el panorama no cambia?

Un par de ideas son destacables y es muy importante entenderlas: el estereotipo geek/nerd y la idea de que "las mujeres no están hechas para la tecnología".

Los estereotipos de género son un tema difícil de afrontar. Hoy en día las chicas se enfrentan a uno nuevo y es la idea de que quienes se dedican a programar, a quienes se les llama típicamente geek (excéntricos y apasionados por algún tema en particular) o nerd (estudiosos), son personas descuidadas en apariencia, aisladas y que solo se dedican a los libros y a las computadoras. En un mundo donde las interacciones sociales representan tanto, este tipo de imágenes no hace sentir identificadas a las jóvenes con algo que desean ser. Este estereotipo proviene en mayor parte de las películas y series de televisión, donde la apariencia y comportamientos de programadores, hackers y demás, no son socialmente deseables, a pesar de ser casi siempre personas brillantes.

Hace algunos días en redes sociales, un hashtag movió al mundo #ILookLikeAnEngineer (#MeVeoComoIngeniera).


Isis Wenger, la ingeniera que aparece en esta campaña de marketing, enfrentó varias críticas en redes sociales, entre las cuales se destacaba el hecho de que no era ni remotamente posible que ella fuera ingeniera pues no parecía una. Isis escribió la historia en su blog y los usuarios de las redes se volcaron a su favor usando el hashtag antes mencionado. Mujeres ingenieras de todo el mundo pusieron en redes fotografías de sí mismas en las cuales rompían el estereotipo de ser geek y nerd, para mostrar cómo lucían ellas siendo ingenieras. La situación llevó al movimiento de grandes empresas y medios de comunicación digitales que decidieron promover esta idea en contra de tener que lucir con de una manera particular para ser brillante.

Lo que en realidad ocurre en la percepción de las chicas tiene que ver con algo más de fondo relacionado con la autoestima, tema en el que el marketing y los medios hacen tanto énfasis, que terminan por tergiversar la imagen que cada una tiene de sí misma, pero además tiene que ver con la confianza que les otorga su formación y crianza, aquello que les transmiten sobre cómo deben verse, cómo deben comportarse, qué deben ser, o qué son capaces de hacer. Más allá de que una chica supere la idea del estereotipo geek, debe entender que sin importar cómo luce puede ser una profesional exitosa.

Hay otro que tema resulta una barrera, pues logra situarse en la mente de las chicas y se da en ámbitos familiares y educativos, y es el lograr convencerlas de que "las mujeres no están hechas para la tecnología" y que "no es cosas de niñas". Frases como esas descalifican y cambian la idea personal de lo que sienten las niñas que pueden llegar a ser.
Las mujeres están hechas para la tecnología y lo están aún más las nuevas generaciones, pero depende de padres, madres y también de maestras y maestros, hacerlas sentir bienvenidas y eliminar de su imaginación la idea de que están hechas solo para jugar con cocinitas, maquillaje y muñecasEstán allí para crear y descubrir cómo funciona todo a su alrededor, están allí para ser parte de la transformación del mundo.

Al hablar puntualmente de la creación de software es necesario decir que "programar tiene que ver más con la capacidad de descomponer y resolver problemas que con los algoritmos". Tiene que ver con entender las necesidades de alguien y ayudarle a resolverlas, más que con la creación de una pieza de software, y si entendemos cómo las mujeres tienen la capacidad de conectarse con las necesidades de otros, entendemos también todo el potencial que hay en ellas para rehacer y recrear la manera como las necesidades asociadas a la tecnología se resuelven en la cotidianidad.

Actualmente el software es escrito en mayoría por hombres y en consecuencia aplicaciones de todo tipo tienen su visión y manera de hacer las cosas. Cambiar este panorama es una cuestión de participar en ello y otorgarle nuestra propia visión. Como las leyes se escribieron un día por hombres y determinaron inequidad en derechos para las mujeres al no ser tenidas en cuenta, la tecnología es algo que cambia el mundo de manera constante y otra vez son los hombres quienes están escribiendo la historia.

Algunas estrategias propuestas en el artículo de Allison MasterLos estereotipos de género en los salones de clase, plantean ideas compartidas por muchos y que podrían ser exitosas, entre ellas temas como el cambio en los ambientes físicos que son poco acogedores, la creación de ambientes seguros donde participantes e instructoras sean solo mujeres, la visibilización de mujeres que puedan ser modelos de rol para las chicas, los cambios en las narrativas de los medios por mensajes incluyentes y las mejoras en las perspectivas salariales para que estas sean equitativas. Puntos en los que además de necesitar intereses institucionales de diferentes partes del ecosistema, se requiere también de la participación de profesionales interesadas en cambiar el escenario.

Este artículo es un llamado a las mujeres que hacen parte del ámbito de la tecnología y el desarrollo de software, un llamado a solidarizarse con otras mujeres e invitarlas a ser partícipes, reconocer que es necesario transformar la realidad actual y hacer que otras que se sientan bienvenidas y entusiasmadas con la idea de ser parte y que desde quienes son, pueden lograr hacer todo lo que se propongan.

sábado, 17 de octubre de 2015

martes, 13 de octubre de 2015

domingo, 11 de octubre de 2015

jueves, 24 de septiembre de 2015

El poder de transformar construyendo tecnología

Este contenido fue publicado originalmente para el portal MujeresDigitales.org

La tecnología se ha convertido en esa herramienta casi mágica que nos permite hacer virtualmente cualquier cosa. Debido a esto muchas personas la usan cada día como una manera de progresar y cambiar el mundo de maneras inimaginables.

Hace bastante tiempo se me ha cuestionado y me he cuestionado cómo lograr que las mujeres se involucren en la construcción de software. Somos más consumidoras que creadoras; sin embargo, esta situación nada tiene que ver con lo que como mujeres estamos en capacidad de hacer.

En la aventura de buscar respuestas, entre encuentros y desencuentros con mis ideas sobre el tema, una de las explicaciones más comunes entre las mujeres ha sido tener intereses o motivaciones por temas diferentes, así que decidí contarles mi historia.

Mi sueño siendo muy niña siempre fue ayudar a otros. Escribía poesía, ganaba concursos de arte, vivía cantando y tocaba instrumentos musicales. Profesores y amigos se sorprendían al escucharme decir que estudiaba ingeniería informática. ¿Cómo pasó?, se preguntaban.
Escucharlos repetidamente, logró que yo misma me hiciera esa pregunta, pues hice una carrera técnica por azar. ¿Significaba eso que había dejado de ser yo misma? ¿Que había olvidado mis reales intereses o vocación? Afortunadamente, no fue así. Con el paso del tiempo y la madurez entendí lo que hoy comparto con ustedes: la tecnología se convirtió en mi aliada para alcanzar metas y sueños.

Me dediqué a enseñar, a transmitir mi conocimiento y pasión por lo que hacía, a otras personas; me encapriché con la idea de entender conceptos complejos para enseñarlos de forma sencilla; me enamoré de crear, de tener ideas y de poder hacerlas realidad en la pantalla de la computadora o celular de otra persona, toda mi creatividad y habilidades se transformaron en lo que hacía siempre, pero a través de la tecnología. Y seguía siendo yo misma.

Entendí lo que podía hacer y cómo podía transformar el mundo a mí alrededor, y al evaluar qué lo hizo posible, solo puedo decir que necesité decisión, voluntad y trabajo. ¿Acaso cualquier cosa que queramos lograr no lo requiere? ¿Verdad que sí? Creo firmemente que cualquiera de nosotras que tenga una idea o un sueño, puede valerse de la tecnología para alcanzarlo. Sencillamente puede hacerlo por sí misma ¡Se los garantizo!

Vanessa Hurst, fundadora de Girls Develop IT, me inspiró con algo que la escuché decir:"Creo que si alguien me hubiese dicho que el software trata realmente de humanidad, de ayudar a otra gente usando computadores, hubiese cambiado mi punto de vista mucho antes."

Como cualquier artista, un programador toma una realidad y la plasma a su manera. La tecnología en sus diferentes formas, no es un fin sino un medio, y si no sabemos cómo usarla como herramienta para potenciar nuestras ideas, tampoco sentiremos curiosidad alguna por entender de qué manera funciona o cómo podemos crearla. A muchas personas les fascina aprender por aprender, muchas otras nos conectamos más fácilmente con una idea que nos ayuda a alcanzar nuestros sueños, y quizá allí está la clave.

Un video promovido masivamente hace un tiempo en redes sociales muestra una situación particular respecto a un campo específico de la tecnología, "crear software", algo tan cotidiano, cercano y necesario, que a muchas les sorprendería saber que pueden hacerlo.

El video se inicia con una pregunta implícita "¿Cómo podría una niña o un niño querer ser algo que no logra entender?", entendiendo que lo mismo sucede con nosotras, las invito a verlo.



Algunas frases por rescatar en el video plantean ideas como que programar realmente no es muy diferente a tocar un instrumento o practicar un deporte, es algo que puede aprenderse, puede parecer muy intimidante pero muchas cosas son intimidantes. Programar es solo una manera de expresar creatividad, el único límite es la imaginación y no tienes que ser un genio para aprenderlo.


Las últimas décadas las mujeres hemos luchado de forma vehemente por la posibilidad de tener los mismos derechos, ocupar los mismos espacios, tener las mismas oportunidades. Hablar de todo esto es una invitación abierta, una manera de compartir que sí podemos hacerlo, cada una de nosotras puede, es cuestión de decidirse.

Existe una gran tendencia por invitar a la gente a crear cosas, en el ámbito de la construcción de tecnología no existen barreras que nos imposibiliten aprender, construir o transformar. Internet, el mismo lugar donde somos en mayoría consumidoras de tecnología, se encuentra poblado de iniciativas, herramientas, personas y comunidades, dispuestas y dedicadas a enseñar sobre cómo construirlo todo.

Empezar es tan simple como pensar en aquello que sueñas, e imaginar cómo lo resolverías con la misma tecnología que usas a diario. El paso siguiente sólo requerirá de toda tu decisión y amor por aprender, y de toda tu autoconfianza para saber que puedes lograrlo.

jueves, 17 de septiembre de 2015