Internet de Las Cosas IoT
Internet de Las Cosas IoT
NOVEDADES
SQL SERVER
2016
PAG. 13
MPRESA
T EN LA E
TO REAL DEL IO
EL IMPAC
PAG. 18 T S O N LOS DATOS
E
— YOR VALOR DEL IO
E R N E T D EL MA
PAG. 21
IN T A S
—
HOLA MU
NDO IOT
S CO S PAG. 40
LA
Y SU I M PAC TO EN LAS EM
PRESAS
51 | JULIO 2016
002 SG.51
SG.COM.MX 003
NO.51 CONOCIMIENTO EN PRÁCTICA
www.sg.com.mx
EN PORTADA
004 SG.51
CONTENIDO
O
I INDUSTRIA
Y EMPRESAS
P PRÁCTICAS
C COLUMNAS
O EN CADA
NÚMERO
5 Estrategias Clave para 014 UX También es Pensar 026 Tejiendo Nuestra Red 008 Noticias y eventos 005
Difundir Tu Startup en Productos
Prueba de Software 040 Hardware 046
Los Niveles de 028
Granularidad en Programar es un 042 Humor 047
los Requerimientos Modo de Vida
T HERRAMIENTAS Y
TECNOLOGÍAS Funcionales Biblioteca 048
REPORTAJES
R
V VOCES
F FUNDAMENTOS
Hackathon Cancún 006
¿Estamos Listos en 010 Perdamos el Miedo al 050 Dev Day 4 Women 008
QA para el IoT? RTFM
EMPRENDIENDO
014
SG.COM.MX 005
O EDITORIAL
IoT y el
nuevo paradigma
A través de los años, en estas páginas hemos comentado de En SG estamos conscientes de este cambio de paradigma, y es
forma recurrente sobre cómo las fronteras del software cada vez por eso que hemos rediseñado nuestro congreso previamente
son más difusas. llamado “SG Conference & Expo” como “SG Next”, y estará enfo-
cado en este nuevo paradigma de desarrollo de software, donde
El software ya no es tan solo una herramienta para automatizar dominan temas como el internet de las cosas, bots, DevOps y
procesos departamentales, sino que se ha convertido en un ele- arquitecturas en la nube.
mento central de innovación en empresas de todos los sectores.
Dentro de estas tendencias de innovación, una de las más impor- Esperamos verte en SG Next, para que sigamos juntos en el
tantes es el internet de las cosas. camino de desarrollar mejores productos de software día con día.
El IoT está llevando el software a nuevos usos y fronteras. Así que El equipo de Software Guru
si nos queremos mantener vigentes como profesionistas, necesi-
tamos hacerlo parte de nuestro arsenal.
SG Software Guru es una publicación trimestral editada por Brainworx, S.A. de C.V., San Francisco 238 Altos. Col. Del Valle. Los contenidos de esta publicación son propiedad intelectual de los autores y se hacen
disponibles bajo licencia Creative Commons Attribution-NonCommercial 4.0 International. Todos los artículos son responsabilidad de sus propios autores y no necesariamente reflejan el punto de vista de la editorial.
Reserva de Derechos al Uso Exclusivo: En trámite. ISSN: 1870-0888. Registro Postal: PP15-5106. Distribuido por Sepomex.
006 SG.51
NOTICIAS
O
ORACLE CLOUDWORLD
3
SG.COM.MX 007
R RESEÑA
SG Organiza Hackathon
en Reunión Ministerial de la OCDE
Gracias a la colaboración entre apoyo de AT&T, Cisco, Disney, Google, •Time Stamps ganó la categoría de he-
Secretaría de Economía de México y el Intel, Microsoft, Oracle, Verisign, y el rencia cultural con una app que utiliza
Comité de Asesoría Empresarial en la Comité de Asesoría Técnica para Internet reconocimiento facial para brindar una ex-
OCDE (BIAC), el pasado 20 y 21 de junio en OCDE (ITAC). periencia inmersiva para estudiar historia.
Software Guru tuvo el honor de organizar • Oil Collection ganó el premio al mejor
en Cancún el hackathon “Connected Lives, GANADORES uso de la API de AT&T con un sistema de
Connected Communities” como parte de En #hackathoncancun se repartió una monitoreo para la recolección de conta-
las actividades de la Reunión Ministerial bolsa de más de 25 mil dólares en pre- minantes del medio ambiente.
sobre Economía Digital de la OCDE. mios, siendo estos los ganadores: • Here & Now ganó el premio a mejor
uso de tecnología Google con una app
El principal objetivo de realizar un hac- • Nisi Vitae se llevó el premio como para comunicar personas en caso de
kathon fue permitir que líderes de gobierno ganador absoluto además de ganar emergencias y desastres naturales.
y organismos industriales pudieran pre- la categoría de ciudad inteligente, • EcoFenix ganó el premio de IEEE con
senciar el proceso creativo de los jóvenes, con una app que provee información un sistema para fomentar el reuso y re-
colaborando para construir soluciones sobre la salud del paciente de forma ciclaje de basura.
tecnológicas para enfrentar retos globales. anticipada al equipo de atención mé- • Easy Lock ganó el premio Intel para ho-
Esta misión se cumplió con gran éxito, y dica antes de que llegue al lugar de gar inteligente con el proyecto Easy Lock
los participantes de la reunión ministerial una emergencia. para una cerradura inteligente.
quedaron impresionados con la energía y • Autonomi ganó la categoría de em- • Sufragia ganó el premio a mejor uso
creatividad de los participantes, quienes a prendimiento construyendo dispositivos de tecnología Microsoft con una plata-
lo largo de 24 horas construyeron solucio- wearable para asistir a personas con forma inteligente y descentralizada de
nes innovadoras alrededor de los temas: problemas de visión. participación ciudadana.
inclusión social, ciudades inteligentes, • VR-ehab ganó la categoría de inclusión • Saverfid ganó el premio Oracle a mejor
herencia cultural y emprendimiento. El ha- social y el premio de Disney para el bien- tecnología para la empresa con un sis-
ckathon contó con la participación de 170 estar infantil con una app que aprovecha tema para reducción de energía eléctrica
jóvenes procedentes de México, Colombia la realidad virtual para hacer la rehabilita- por medio del control automatizado de
y Canadá. Adicionalmente, contó con el ción física más amigable para los niños. luces apoyado por detección RFID.
008 SG.51
RESEÑA
R
SG.COM.MX 009
C TEJIENDO NUESTRA RED
010 SG.51
TEJIENDO NUESTRA RED
C
HÁBITOS
En el caso de las prácticas SCRUM, las reuniones diarias realizadas siempre
al inicio del día, a la misma hora, en el mismo lugar, con asistencia de todo el
equipo y con las mismas preguntas es un hábito que, bien llevado a cabo, carga
a todos con energía necesaria para empezar con mucha voluntad el trabajo
(suponiendo que todos desayunaron proteínas :) ). Otro ejemplo de hábito es
cuando uno, al terminar una tarea, revisa el resultado antes de entregarlo y
hace todo lo que se pide para que otros se enteren que ya la había terminado
(por ejemplo, mover la tarjeta en el tablero y/o reportar las horas dedicadas).
Avisar que uno había terminado bien una tarea es gratificante ¿verdad?
RITUALES
No se lo digan a nadie, pero todas las buenas prácticas de los modelos, es-
tándares y libros de Ingeniería de Software son rituales. Qué tal el ritual del
Sprint de SCRUM. Ya desde el nombre, carrera corta de atletismo, suena a
misterio. Inicia con la reunión de la planificación a dos tiempos en la que par-
ticipa activamente el equipo de desarrollo y el (igual de misterioso) Product
Owner. El sprint tiene una duración corta de entre 2 a 4 semanas, que para
el desarrollo de proyectos de software es efectivamente una carrera corta, y
termina en la revisión de software con el Product Owner y en la retrospectiva
del equipo. Al final del sprint, si todo salió bien, la satisfacción del equipo de-
bería recargar sus energías para aguantar la siguiente carrera, igual de corta,
que empieza la semana siguiente. Ni toman en cuenta, que en el atletismo
los cuatro sprints de 100 metros se hacen por relevos :) .
Otros ejemplos de rituales son las diferentes técnicas para comprender y es-
pecificar a los requerimientos como los casos de uso o historias de usuario.
Empiezan con el peregrinar para entrevistar a los diferentes representantes
del cliente para comprender qué diablos quieren y qué significa lo que quieren.
Continúan con los intentos de expresarlo de alguna forma, que sea de utilidad
posterior para guiar al desarrollo. Luego sigue la batalla con los involucrados
por la confirmación de que lo que se expresó como requerimiento ellos lo en-
tienden y quieren que sea implementado. Cuando termina este ritual, los desa-
rrolladores se llenan de energía porque, por un rato, piensan que allí terminó la
batalla por comprender los requerimientos. ¡Qué ingenuos!
La mala noticia es que en estos rituales los que ahorran lisina son solo
aquellos que los han repetido muchas veces, es decir, ya se volvieron sus
hábitos. Los que son novatos van a sufrir.
El consejo final es: usa rituales (procesos) para iniciar el hábito de traba-
jar con fluidez. Y come proteínas :) .
PD. Esta es mi columna número 50 para la revista Software Guru. Durante más
de 11 años repito un ritual de escribirla, que ya se volvió mi hábito y lo hago de
manera fluida. Cuando la releo ya publicada me siento muy bien :) .
Referencias
[1] A. Obukhova. “Agile Productivity: Willpower and the Neuroscience Approach”. http://swgu.ru/rg
[2] http://definicion.de/productividad
SG.COM.MX 011
V VOCES
¿Estamos listos
en QA para el IoT?
Por Roselyn C. Piñango
Las tendencias tecnológicas son el titular principal • En cuanto a las necesidades del entorno no es
de nuestro día a día, no ha sido suficiente que los siste- suficiente un ambiente de pruebas, no solo de-
mas hayan invadido las industrias de todos los sectores ben contemplarse ambientes para las diferentes
con soluciones para agilizar sus procesos operativos y plataformas donde funcionan los sistemas sino
de gestión; que los profesionales de todos los ámbitos en diferentes condiciones. Un caso extremo
tengan que interactuar con sistemas en su vida laboral será por ejemplo probar el sistema a altas/ba-
y personal, desde hace un tiempo llegó el momento en jas temperaturas. Es requerido incorporar labo-
el cual dispositivos de uso diario (en los automóviles, ratorios de prueba.
para el cuidado de la salud, para el hogar) también son
protagonistas de esta “invasión” que sin duda, promete • En relación a la estrategia de QA toma importan-
tener una envergadura mayor porque se trata de inter- cia la ejecución de pruebas de interoperabilidad,
venir en la vida diaria de todos para seguir adaptándose rendimiento, mantenibilidad, seguridad (ataques
al dinamismo reinante. de pruebas a dispositivos riesgosos, privacidad,
autonomía y control), compatibilidad y usabilidad.
El Internet de las Cosas (IoT) supone la transforma- • Algunas de las herramientas de prueba que se-
ción del rol de Aseguramiento de Calidad (QA) porque rán casi indispensables serían los simuladores,
involucra pruebas del hardware, software, la transmi- generadores de datos, virtualización, monitores,
sión masiva de cantidades de información en tiempo consolas y análisis estático en aras de garantizar
real e incluso “signos de inteligencia” en los disposi- la mantenibilidad del código que ahora debe estar
tivos dado que su enfoque es “no determinista” y que optimizado en virtud a la característica de los dis-
deben ser sometidos a pruebas en diferentes niveles positivos donde operará. Actividades que hoy en
y de diferentes tipos. Ahora bien, ¿estamos listos en día hacemos manualmente ya no será una opción
QA?, ¿qué cambios requiere QA para incorporar en su ante la cantidad de escenarios a probar.
portafolio de servicios las pruebas IoT?, ¿qué nuevas
habilidades requiere un probador IoT?, ¿vamos en la • En particular sobre las pruebas de usabilidad,
dirección correcta? será importante cambiar de paradigma y pasar de
validar requerimientos a asegurar la experiencia
Algunos de los retos a considerar en QA en aras de de usuario, ahora las acciones de usuario se am-
incorporar en un plazo razonable pruebas asociadas plían con la voz del usuario, su movimiento y su
al IoT son: forma de tocar el dispositivo.
Roselyn C. Piñango Díaz es Ingeniero en Computación con especialización en Sistemas de Información. Gerente de QA Factory en Global R,
Venezuela. Cuenta con 10 años de experiencia en desarrollo y pruebas de software; y certificaciones: OCE SQL, OCA PL/SQL Developer, CTFL
ISTQB, ASE HP ALM v11, CAA SAPB1.
012 SG.51
• Con el auge del IoT surge un híbrido entre un par de técnicas de
diseño de casos de prueba (caja negra y blanca): las pruebas caja gris
que consideran que para diseñar es necesario entender la arquitec-
tura orientada a eventos, hardware, protocolos de conectividad, etc.,
además de los requisitos del cliente
SG.COM.MX 013
O RADAR
2 FIREBASE SE
CONVIERTE EN
1 PLATAFORMA
3 PROJECT BLETCHLEY
= BLOCKCHAIN
4 FUNDACIÓN ECLIPSE
TOMA PROTAGONISMO
SOBRE AZURE EN IOT
Project Bletchley es un nuevo proyecto de Microsoft para Empresas como Apple, Google y Amazon están iniciando su batalla
incorporar capacidades de blockchain en la plataforma por el dominio del IoT para consumidor. La aspiración de todas ellas
Azure. Ya desde hace meses Microsoft había lanzado es lograr acorralar a los usuarios dentro de su propio ecosistema.
Azure Blockchain as a Service, que permite generar rápi- En el caso de las empresas, dicha estrategia no es efectiva ya que la
damente un ambiente de desarrollo en Azure con capaci- estandarización e interoperabilidad es clave. Es por ello que el grupo
dades de crear y gestionar blockchain. Desde entonces, de trabajo para IoT en la Fundación Eclipse está cobrando especial
la empresa ha estado estudiando los requisitos y capa- importancia. Recientemente el grupo anunció nuevas versiones dis-
cidades deseadas por las empresas que desean usar el ponibles para varios de sus proyectos, entre ellos:
blockchain y Project Bletchley busca soportar dichos es-
cenarios de uso. Project Bletchley se basa en dos concep- • Eclipse Paho 1.2, librerías e implementaciones abiertas de protoco-
tos: blockchain middleware y cryptlets. El middleware es los de comunicación IoT.
un mecanismo de interoperabilidad con otros servicios de • Eclipse Kura 2.0, framework para gateways IoT.
Azure para resolver aspectos como gestión de identidad, • Eclipse SmartHome 0.8, framework para construir soluciones de
reporteo y analítica. Los cryptlets son un mecanismo de automatización del hogar.
interoperación y extensibilidad para implementar servi- • Eclipse OM2M 1.0, plataforma para construir servicios M2M en un
cios basados en blockchain que requieran información ambiente heterogéneo.
adicional o integración con sistemas terceros.
Adicionalmente anunció la creación del proyecto Eclipse Kapua,
Conoce más sobre Project Bletchley en el whitepaper dis- una plataforma de gestión de dispositivos periféricos IoT resol-
ponible en http://swgu.ru/ri viendo aspectos de conectividad y configuración en ambientes
heterogéneos. Te invitamos a conocer más sobre estos proyectos en
http://iot.eclipse.org
014 SG.51
NOVEDADES
O
SQL Server 2016 ya está disponible de forma general, y recien- COMPATIBILIDAD CON HERRAMIENTAS DE BIG DATA
temente participé en un taller a fondo sobre las nuevas caracterís- SQL Server 2016 tiene muy buenas capacidades de interopera-
ticas que incorpora esta nueva versión y puedo decir que quedé ción con herramientas de analytics y big data. Entre ellas:
gratamente sorprendido. A continuación comparto un resumen de
las capacidades que más me han llamado la atención. • Soporte a R - SQL Server 2016 incluye soporte para R,
permitiendo que los científicos de datos puedan realizar
DESEMPEÑO experimentos de datos directamente sobre las bases de
SQL Server 2016 tiene un gran enfoque en mejorar el desempeño, y datos, sin necesidad de exportar hacia archivos de texto.
mucho de esto se logra gracias a mejoras en el soporte de cómputo De la misma manera, los desarrolladores pueden progra-
en memoria. SQL Server 2014 ya soportaba tablas en-memoria, mar stored procedures que incluyan código R para hacer
pero la implementación tenía muchas limitaciones (por ejem- analítica compleja de forma estandarizada y parametri-
plo, no soportaba llaves foráneas y solo se podían tener tablas de zada, lo cual fomenta su reutilización.
máximo 256 GB). Esto ha mejorado drásticamente en SQL Server • Polybase - Un conector para integración con Hadoop.
2016; ya se soportan llaves foráneas, constraints únicos, operacio- Permite interactuar con datos en Hadoop desde SQL Server
nes paralelas, y ahora es posible tener tablas en memoria de hasta de forma sencilla, sin necesidad de entrar en detalles de HDFS
2 TB. La siguiente figura ilustra las mejoras en desempeño. o MapReduce ni usar un ETL. Polybase no es una tecnolo-
gía nueva, ya se ofrecía como parte del Microsoft Analytics
Platform System, y ahora se incluye en SQL Server 2016.
• Soporte a JSON - SQL Server 2016 permite que los resulta-
dos de un query se exporten como JSON, y también permite
tomar un JSON e importarlo como SQL hacia una tabla.
SG.COM.MX 015
I EMPRENDIMIENTO
De nada sirve tener la mejor startup, con las mejores ideas y comunicación para dar a conocer nuestra startup, es importante
el mejor talento trabajando en ella si no encontramos la forma que seleccionemos el medio adecuado, ya que si nuestra empresa
adecuada de contárselo al mundo. Como dueño de una startup trata sobre videojuegos, no debemos perder tiempo en contactar
debes ser capaz de explicar de una forma clara, sencilla y rápida a con medios que hablan sobre salud o deporte. Una buena idea
inversionistas y periodistas de qué va tu idea de negocio y captar sería crear una lista de periodistas (de diferentes medios) que
su atención para crear en ellos la necesidad de querer saber más traten sobre los temas que abarca nuestra startup.
sobre tus proyectos y aspiraciones.
INVESTIGAR Y ESTUDIAR EL PERFIL DEL PERIODISTA
Sabemos que crear una startup no es fácil, pero darla a conocer Si piensas que enviar miles de emails a periodistas de diferentes
después de todas las dificultades que hemos atravesado, resulta medios con la ayuda de una plantilla, te ayudará a captar su aten-
pan comido, se los aseguro. El problema es que si lo hacemos ción, estás equivocado. Hay que enviar emails personalizados y
mal, pasaremos desapercibidos y nos sentiremos algo ignora- para ellos debemos conocer un poco más a la persona a la que
dos. Por eso, si queremos captar la atención de un periodista nos dirigimos, conocer sus intereses, seguirla en Twitter y obser-
(que recibe al día cientos de peticiones similares), debemos var sobre qué escribe, cómo es su humor y cómo se relaciona con
centrarnos en elaborar el pitch perfecto para conectar con él y sus seguidores, por ejemplo.
“engancharle”. Así que atiende a estas 5 estrategias efectivas
para conseguirlo: Entonces será cuando le enviemos un email explicándole que
hemos visto que escribe sobre un tema específico y resulta que
CONOCER EL MEDIO AL QUE TE DIRIGES nuestra startup trata también sobre ese tema. Por eso, le propon-
Cuando hemos decidido contactar con algún medio de dremos que escriba sobre nuestra startup, porque es un tema
016 SG.51
interesante para su medio y para él, y le facilitaremos la búsqueda de
información para escribir sobre la noticia.
Edith Gómez (@edigomben) es editora en Gananci, apasionada del marketing digital, especializada en
comunicación online. Se niega a irse a la cama cada noche sin haber aprendido algo nuevo. Le inquietan
las ideas de negocio y, más aún, aportar una mirada creativa al pequeño mundo en el que vivimos.
SG.COM.MX 017
LAS COSAS, EL INTERNET Y
EL INTERNET DE LAS COSAS
En la evolución de la tecnología, y así como también sucede en la industria de la moda,
todo en sí está marcado por tendencias que dictan el cómo, el por qué e incluso el dónde
o el quién. Ante nuestros ojos hemos sido testigos de la llegada de los teléfonos celulares
que hoy son smartphones, hemos visto cómo la generación de datos ha crecido hasta
llegar al big data acompañado de su mundo bizarro: el dark data. Por supuesto sabemos
que lo de hoy es el almacenamiento en la nube, que hay públicas y privadas; esas son
solo algunas de las tendencias que nos han llevado de la mano hasta llegar a un punto
de interconexión tal que ya no solo se trata de dispositivos diseñados y desarrollados
para comunicarse entre sí, por ejemplo, sino de prácticamente cualquier cosa que tenga
potencial para entregar y recibir datos valiosos de los usuarios, así es entonces que lle-
gamos al internet de las cosas, IoT de cariño.
Google lo define como “un desarrollo de internet en el que los objetos cotidianos tienen
una red que les permite conectarse para enviar y recibir datos”. Así pues, a continuación
podrás adentrarte al fantástico mundo de las cosas conectadas, del refrigerador que te
recuerda que hace falta comprar leche, del universo de beacons que sabrán todo de tus
necesidades —o no necesariamente— para satisfacerlas casi al momento sin que tengas
siquiera que preocuparte por ello.
Gartner estima que para finales de 2016 el gasto anual en servicios de IoT rondará
los 235 mil millones de dólares. Prácticamente todas las industrias están explorando
soluciones basadas en IoT para recabar tantos datos sean posibles, que les permitan
entender mejor a sus clientes y obtener ventaja competitiva. En las siguientes páginas
compartimos ideas y reflexiones de expertos sobre lo que implica el internet de las cosas
para la tecnología empresarial.
018 SG.51
EN
PORTADA
P
PREPARÁNDONOS
PARA LA DISRUPCIÓN DEL IOT
—
Por Curt Hall
Curt Hall es consultor Senior en Cutter Consortium, especializándose en las prácticas de Data Insight, Social BI y Arquitectura Empresarial.
SG.COM.MX 019
EL IMPACTO REAL
DE IOT EN LAS EMPRESAS —
Por Jorge Alvarado
En el Internet de las Cosas, los objetos En su reporte TechRadar, Forrester revela Mientras los teléfonos móviles, los smart
cotidianos son parte de una red que envía que 23% de las empresas ya utilizan el TVs, electrodomésticos y autos inteligen-
y recibe datos de otras “cosas”. Para los IoT, mientras que 29% planean hacerlo tes pueden seguir captando la imagina-
consumidores esto significa capacidades en los próximos 12 meses. Aprovechan ción de los consumidores, es posible ver
como poder ajustar el termostato de su el IoT para transformar sus modelos de que hay mucho que ganar con las imple-
hogar desde el otro lado del mundo. Pero negocio, optimizar la utilización de acti- mentaciones empresariales. A diferencia
para las empresas, el puede representar vos físicos y financieros, y crear nuevas de los sensores integrados en los disposi-
nuevas oportunidades para conectarse formas de relacionarse con sus clientes. tivos de consumo, aquellos integrados en
con sus clientes y socios, así como reunir, De igual modo, Forrester prevé que el maquinaria, contenedores, trenes, plan-
almacenar y analizar grandes volúmenes IoT creará grandes volúmenes de datos, tas de producción o puntos de venta, por
de datos. La gama de posibilidades que el por lo que la analítica de IoT se conver- ejemplo, están generando la información
IoT ofrece va en aumento y ahora las em- tirá en una categoría y disciplina espe- para crear aplicaciones en logística, redes
presas de todo el mundo comienzan a an- cializada. Por su parte, Gartner calcula inteligentes, servicios públicos, transpor-
dar los caminos destinados a aprovecharlo. que para cuando finalice 2016 el gasto tación, manufactura y retail.
Su impacto, sin duda, revolucionará la ma- en servicios de IoT alcanzará los $235
nera en que las empresas están haciendo mil millones de dólares, y que más de la Pero más allá de los sensores y dispositi-
negocio y elevará la productividad y efi- mitad de los nuevos procesos de nego- vos, el valor real del IoT es determinado
ciencia, similar a lo que sucedió con la lle- cio y sistemas incorporarán algún ele- por los datos y las nuevas aplicaciones
gada de las computadoras. mento del IoT para el año 2020. que los aprovechan. La inteligencia de
020 SG.51
EN
PORTADA
P
estos datos está dando paso a nuevos modelos de negocio y apli- a disminuir, todas las redes podrían colapsar y perderse miles de
caciones que nunca habían existido antes y que abren la puerta a millones de dólares en equipo.
la transformación digital.
De ahí que las empresas deban ser lo más ágiles posible y re-
LOS ALCANCES DEL IOT EMPRESARIAL accionar de inmediato a la información que están recabando en
A continuación listo algunos ejemplos de aplicaciones empresariales: tiempo real. Gartner habla del TI Bimodal, en donde las empre-
sas por un lado tienen sistemas de cómputo tradicionales de alto
Manufactura inteligente. El servicio o función de una máquina o rendimiento (modo 1), y por otro lado aplicaciones escalables y
una parte de ella pueden mejorar antes de que se presente una datos en la nube que requieren de agilidad para adaptarse a un
falla, eliminando así los costosos tiempos de inactividad y even- mundo cambiante (modo 2). Típicamente el código abierto con-
tualidades no previstas. tribuye con éste último modo, ayudando a las empresas a innovar,
ser más productivas y adoptar nuevas tendencias como la nube,
Cadenas inteligentes de suministro. Proporcionando información en la virtualización y el Internet de las Cosas, al tiempo de ahorrar
tiempo real de la oferta, demanda y envíos a los clientes. Las entregas costos y mejorar la seguridad.
pueden ser rastreadas y recuperadas si son extraviadas o robadas.
Estas consideraciones nos permiten ver que una arquitectura
Infraestructuras inteligentes. Las oficinas inteligentes contribu- de dos niveles es muy lenta para los datos importantes, y de-
yen a generar ahorros de energía, mejorar la autosustentabilidad masiado costosa para los que no lo son. En el plano empresa-
y potenciar la colaboración entre los empleados. rial surge una arquitectura de tres niveles creada alrededor de
una nueva capa media (o el controlador). Estos controladores
DECISIONES EN FRACCIÓN DE SEGUNDOS son lo suficientemente inteligentes para actuar rápidamente, al
¿En qué radica la diferencia entre el IoT de consumo y el empresa- tiempo de enviar de vuelta únicamente los datos importantes
rial? Los casos de uso de IoT de consumo se crearon sobre una arqui- el centro de datos. Este concepto, conocido como de Near Field
tectura en la que el dispositivo se conecta a internet aprovechando Processing, permite que las decisiones se tomen más rápida-
la red WiFi del hogar, o puenteando por medio de un teléfono móvil. mente y requiere que una menor cantidad de datos viaje hasta
el centro de datos. Actuar ágilmente al final reduce los costos de
En este modelo, el dispositivo transmite todos los datos a un centro transmisión y el tiempo para tomar decisiones, lo que le permite
de datos en la nube, donde se realiza el análisis y, si se requiere una hacer del Internet de las Cosas una realidad para la empresa.
acción, se envía el mensaje correspondiente al dispositivo para que
dispare la acción necesaria. Fundamentalmente, esta arquitectura En el pasado, solo las compañías con más presupuesto podían
funciona en este modelo por dos razones: la disponibilidad del an- beneficiarse de reunir datos de los dispositivos distribuidos para
cho de banda y a que no hay que tomar decisiones rápidamente. tomar mejores decisiones y obtener valor adicional. Hoy, las eco-
nomías de la arquitectura de IoT: el hardware, la naturaleza ubi-
En una aplicación de consumo en la que el dispositivo se conecta cua de la conectividad, el big data y las soluciones de software
a la nube por medio del WiFi del hogar, el uso de ancho de banda empresarial en todas las capas, acompañan a la experiencia del
no tiene un costo adicional para el cliente, ya que típicamente son usuario para ampliar el IoT, y lo hacen posible para que las empre-
planes con transferencias de datos ilimitadas. Sin embargo, las sas, no solo los consumidores, se beneficien.
conexiones en las empresas tienen más restricciones y cada byte
cuenta. De hecho, reducir un solo byte de un mensaje puede aho-
rrarle a la empresa millones de dólares en costos de transmisión
en los casos de uso del IoT industriales. Por lo tanto, se ha vuelto
crucial para las arquitecturas de IoT considerar el ancho de banda
en sus diseños.
SG.COM.MX 021
EL SALVAVIDAS DEL IOT EN LA EVOLUCIÓN
DE LA TECNOLOGÍA —
Por Esteban Montelongo
Actualmente, cuando hablamos del in- Esta oportunidad de facilitar la información información para mejorar sus operacio-
ternet de las cosas ya no se trata de hablar en tiempo y forma así como la flexibilidad nes. Es simple, ahora podemos saber
de comunicación entre computadoras, eso para crear modelos de predicción, asociación cuándo, dónde y cómo se realizó un de-
solo es parte de redes internas y externas. y clasificación, sin duda alguna está contribu- terminado evento.
El internet de las cosas tiene una palabra yendo al nuevo éxito de las compañías.
clave: things, que básicamente describe las De acuerdo con datos de Gartner, para el año
“trillones de cosas” que no tienen relación Por ejemplo, hoy en día, el monitoreo 2020 se calcula que el valor de la economía
con una computadora como tal, pero que de fletes vía sensores ya no solo otorga dentro del IoT sea de 1.9 trillones de dólares,
emiten datos e información relevante. información sobre el seguimiento del derivada básicamente por las nuevas ofertas
paquete, sino que también puede mo- dirigidas a un usuario final tales como smart
Bajo esta perspectiva, resulta indispen- nitorear las condiciones del transporte watches, wireless lighting entre otros, así
sable tomar en cuenta la evolución de la a través del trayecto, ¿cuánta humedad como las orientadas a la operación y auto-
información que ahora es posible obtener había en el contenedor?, ¿el paquete fue matización de sistemas dentro de una manu-
vía sensores, provenientes por ejemplo de abierto o inspeccionado? Con las res- facturera, en donde el mayor impacto se verá
equipos electrónicos. puestas a la variedad de preguntas, se hasta dentro de algunos años.
tendrá un control preciso de los produc-
En la actualidad, una empresa de retail tos durante el trayecto, con lo que las La oportunidad para generar nuevas fuen-
puede calcular la reposición de sus inven- compañías aseguradoras podrán crear tes de ingresos, ventas y reducción de
tarios, así como distribuir sus productos de nuevos modelos de aseguramiento y costos, entre otros problemas de negocio,
acuerdo a un detector ubicado dentro de los también contar con el detalle de las resulta ser sumamente sencilla y simple,
refrigeradores de los consumidores. Basta características del siniestro ocurrido, incorporando el salvavidas idóneo que
con solo abrir la puerta del refrigerador y evaluando el pago de una póliza. Por su sepa sacar provecho de las “cosas” que la
sacar un determinado producto, para que parte, el área de logística utilizará esta evolución de la tecnología nos brinda.
esto pueda ser identificado por los sensores
como un “faltante” para que así esos datos
se envíen de manera inmediata al proveedor,
garantizando la venta de dichos productos
en tiempo y forma, de acuerdo a los patro-
nes de compra específicos de los consumi-
dores y asegurando, incluso, el envío a la
puerta del hogar… ¡Fascinante! ¿No?
022 SG.51
EN
PORTADA
P
Mucho del enfoque al hablar del Internet a tiempo”, antes de que el producto falle. Por Con el fin de comprender plenamente el
de las Cosas se centra en “las cosas” mismas, ejemplo, muchos dueños de vehículos eléc- valor de combinar los datos del IoT con
como los wearables, sensores, beacons, y tricos reciben reportes de diagnósticos remo- otros datos de la empresa de manera
otros equipos conectados a la red. Sin em- tos con información sobre fallas o próximos ágil, las organizaciones deberán apro-
bargo, el mayor valor para las organizaciones servicios a necesitar, basados en interpreta- vechar las modernas herramientas de
proviene de la combinación de datos genera- ción de los datos generados por el vehículo. gestión de datos para acelerar y automa-
dos por estos dispositivos con otros datos del tizar los procesos. Utilizando herramien-
cliente u operacionales para descubrir otras El reto que muchas organizaciones enfren- tas para clasificar los datos, descubrir
ideas y establecer modelos predictivos. Esta tan es cómo entender de forma sistemática su estructura de forma inteligente, para
es la increíble promesa del IoT, pero sin la ca- los datos derivados de “las cosas” y com- luego extraerlos automáticamente y
pacidad de vincular los datos de las cosas binarlos con otros datos relevantes de la combinarlos con otros datos relevantes
“inteligentes” conectadas con otros datos de empresa para crear valor. Los datos del IoT de la empresa de forma continua, hace
negocio, su valor es limitado. generalmente consisten en archivos de bitá- que los datos del IoT sean más accesi-
cora, a veces mal relacionados, y al parecer bles. Esto crea una infraestructura para
En lugar de proyectos de IoT aislados que no no estructurados; de hecho, los datos del una expansión y evolución continua en
están conectados a la infraestructura corpo- IoT tienen estructura, aunque no están en un el uso de los datos del IoT para entender
rativa central de datos, hay una oportunidad formato tradicional relacional o estándar. Las a los clientes y crear modelos predicti-
de usar los datos generados por el IoT para archivos de bitácora se estructuran e inclu- vos para los sistemas operativos.
crear valor real de negocio. Las organizacio- yen puntos de datos de medición que varían
nes pueden combinar datos de los clientes de un fabricante a otro, de un modelo a otro, Las empresas pioneras infraestructura
obtenidos de distintos dispositivos con otros de una versión de software a otra e, incluso para IoT están creando soluciones innova-
datos de los clientes para obtener nuevas de una compañía a otra. Por ejemplo, los te- doras que combinen modelos interactivos,
perspectivas e identificar nuevas señales rabytes de datos procedentes de un motor visuales de los datos con aprendizaje auto-
sobre el potencial de compra o cambios de de reacción de un jet, difieren por aerolínea, matizado, a su vez agilizando la capacidad
comportamiento. Este conocimiento puede así como por fabricante y modelo. Como de obtener valor del negocio a través del
llevar a las empresas a un entendimiento otro ejemplo, productos para la agricultura IoT. Una vez que el modelo de datos para
más profundo y una mayor capacidad de res- automatizada y maquinaria industrial, todos un dispositivo en particular es entendido,
puesta a los clientes. Por ejemplo, las tiendas con ellos con diferentes modelos y variantes, mapeado y preparado, la transformación y
pueden combinar datos obtenidos por bea- tienen cientos o miles de distintos formatos la entrega de datos a los sistemas puede
cons dentro de la tienda con el historial de de archivos de registro procedentes de sus ser automatizado para un uso productivo.
transacciones y almacenar modelos de com- productos usados por clientes alrededor del
portamientos de los clientes para determinar mundo. Esto introduce una complejidad sig- En una era en la que vivimos en una mayor
mejores promociones o diversas acciones a nificativa en cualquier intento de interpretar conectividad de las cosas, es tiempo de
tomar, tales como notificar al personal de la los datos, darles formato, normalizarlos y capitalizar toda la explosión de informa-
tienda que un cliente VIP ha llegado. combinarlos con otros datos relevantes para ción que resulta de ellas, y poner orden a
su análisis o para sistemas operacionales. Sin través de una correcta integración, calidad
También hay enormes oportunidades de po- estas herramientas que ayuden a interpretar y limpieza de datos para que las empre-
ner los datos de IoT a trabajar en modelos y analizar los datos del IoT, el tiempo y es- sas tomen mejores decisiones y generen
predictivos para mejorar horarios de man- fuerzo invertido será costoso, prolongado y productos y servicios específicos acordes
tenimiento o proporcionar un servicio “justo propenso a errores manuales. a cada consumidor.
SG.COM.MX 023
CINCO MANERAS
EN QUE EL IOT DARÁ LUGAR A UN
MARKETING MÁS INTELIGENTE
—
Por Eduardo Lugo
El Internet de las Cosas puede sonar El IoT ya se encuentra entre nosotros profesionales en TI manejen y monitoreen
como un “buzz word” más, pero en realidad con Nike Fuelband, Google Glass, Fitbit la interacción, permitirán a las empresas
se trata de una revolución tecnológica que y los iWatch de Apple —todos ejemplos diseñar estrategias de marketing informa-
tendrá un impacto en todo lo que hagamos. populares de nuestras vidas cada vez das y mejorar el ROI de las ventas futuras.
más conectadas—.
El IoT es la interconexión entre las cosas Más importante aún, sus clientes podrán
que utilizan tecnología de comunicación He aquí 5 maneras en que el IoT mejorará el ofrecer retroalimentación útil al instante. Por
inalámbrica (cada una con sus propios ROI (retorno de la inversión) del marketing: lo tanto, si un producto en específico no está
identificadores) para conectar objetos, lu- cumpliendo las expectativas, podrá ente-
gares, animales o personas al Internet, lo 1. INTERCAMBIO SENCILLO DE rarse al momento, lo que significa que podrá
que permite tanto la transmisión directa DATOS DE VENTAS reducir las pérdidas más pronto que tarde.
como el intercambio óptimo de datos. Uno de los activos más valiosos de cual-
quier empresa son sus datos de ventas. La 2. CRM MÁS INTELIGENTE: ANÁLISIS
En esencia, se refiere a los dispositivos de capacidad de acceder a información sobre DEL CLIENTE AL INSTANTE
todos los días que son capaces de intercam- cómo, dónde y por qué se están vendiendo Cuando se utilice en conjunto con una
biar información automáticamente a través sus productos le permitirá dirigir sus es- buena herramienta de administración de
de una red. El IoT también tiene un gran im- fuerzos de marketing a clientes específicos. relaciones con el cliente (CRM, por sus
pacto en nuestras vidas cotidianas, ya que siglas en inglés), el IoT podrá hacer mu-
cambia la manera en que el tráfico, el clima, Los dispositivos inteligentes capaces de cho más que sólo recopilar y organizar los
la contaminación y el ambiente se monito- recopilar esos datos y proporcionarlos datos del cliente; podrá también analizar
rean y la forma en que los datos se recopilan. en tiempo real, sin la necesidad de que de manera eficaz y precisa los datos para
024 SG.51
EN
PORTADA
P
brindar resultados accionables sobre su actualización de sus dispositivos por A medida que una cantidad cada vez ma-
base de consumidores. temor a que ésta resulte defectuosa, yor de nuestros dispositivos y objetos an-
tome mucho tiempo en instalarse o tes desconectados se acondicionen con
Para los comerciantes eso será invaluable, simplemente que algo salga mal. Por sensores, y gracias al acceso constante
ya que la cadena de mando del comprador desgracia, dejar de actualizar el soft- al Internet, la cara de la publicidad cam-
es generalmente larga y las decisiones tar- ware deja los dispositivos vulnerables biará tanto para el comerciante como
dan más tiempo en tomarse. Los dispositi- a ataques de seguridad o a cuestiones para el consumidor.
vos del IoT pueden acelerar ese proceso al problemáticas conocidas. Los disposi-
ayudarle a conocer dónde se encuentra el tivos del IoT omitirían la intervención Los comerciantes ya no tendrán que de-
cliente en el proceso de compra y, de esa del usuario y buscarían, descargarían e pender de carteles publicitarios ni anun-
manera, poder aprovechar cada segundo instalarían las nuevas actualizaciones cios emergentes que aparecieron en un
del día para resolver problemas y propor- por sí solos. sitio web que visitaste el martes, pues la
cionar la información correcta que final- mayoría de los dispositivos del IoT no po-
mente ayudará a cerrar la venta. 4. REDES SOCIALES PREDECIBLES drán de ninguna manera procesar, mucho
Cuando Facebook y Twitter aparecieron menos desplegar, tan primitivas tácticas.
3. LOS DISPOSITIVOS QUE ESTÁN por primera vez hace ya varios años,
MURIENDO la mayoría de los comerciantes no es- Como resultado, la era del comercial inin-
Uno de los aspectos más prometedores de taban del todo convencidos de que va- terrumpido finalmente morirá en el lado
los productos con tecnología inteligente liera la pena incursionar en esos nuevos del consumidor. En su lugar surgirá un
es su capacidad de realizar su propio man- sitios de “redes sociales”. Hoy sabemos nuevo mundo donde la publicidad será
tenimiento y diagnóstico periódicos. cuán equivocados estaban. En la actua- útil y relevante, donde nunca aparecerá un
lidad, el 74% de los comerciantes de anuncio que no corresponda al 100% con
Los automóviles se autodiagnostican marcas afirman que el tráfico en sus si- los intereses, los hábitos y las compras an-
desde hace algún tiempo, aunque a través tios ha aumentado considerablemente teriores del usuario.
de un método anticuado que emplea se- después de invertir tan sólo 6 horas a la
ñales imprecisas. Gracias al poder del IoT, semana en esfuerzos de marketing para ¿Cómo será posible? Un ejemplo sería un
cada componente es “más inteligente”, de redes sociales foco que se funde en la casa “inteligente”.
modo que la capacidad de identificar el El hogar conectado no sólo registraría la
problema, así como la solución, será mu- El IoT ya está optimizado para utilizarse necesidad de reemplazar el foco, sino que
cho más rápida que antes. en las redes sociales, ya que permite a los también proporcionaría al dueño de la
dispositivos publicar y compartir de ma- casa un cupón digital para un foco nuevo
En cuanto a los artículos y dispositivos nera automática y preparar el camino para directamente en su smartphone. Aún me-
convencionales, por lo general el primer que las nuevas comunidades en línea se jor, registraría y comunicaría el número
indicio de que algo está mal es cuando el centren alrededor de los usuarios de dis- exacto de horas que el foco se ha utili-
dispositivo repentinamente deja de fun- positivos específicos. zado, lo que permitiría al dueño saber que
cionar. Cuando eso ocurre, no hay mucho el foco está por concluir su ciclo de vida.
que se pueda hacer, además de repararlo o Los comerciantes que sean capaces de
solicitar uno nuevo y esperar a que llegue. predecir el desarrollo de esas comuni- Eso no sólo permitirá al cliente ahorrar
dades sociales y enfocar sus esfuerzos tiempo al recibir únicamente anuncios re-
Los dispositivos del IoT podrían eliminar en ellas podrán llegar a los clientes po- levantes, sino que los comerciantes ya no
ese tiempo de espera, ya que constante- tenciales que quizá antes no estaban tendrán que gastar sumas estratosféricas
mente monitorean sus propias funciones y, disponibles. De la misma manera, los en publicidad irrelevante.
de ser necesario, contactan al soporte téc- dispositivos del IoT, al combinarse con
nico. Y en caso de que detecte un problema las redes sociales, permitirán a los co- Los comerciantes necesitarán entender
grande e irreparable, el dispositivo del IoT merciantes identificar y aprovechar las por completo a sus consumidores para
puede solicitar fácilmente un reemplazo, nuevas tendencias emergentes. poder aprovechar las nuevas oportuni-
de modo que cuando deje de funcionar por dades que surjan, pero aquellos que lo-
completo, el nuevo modelo ya habrá lle- 5. IMAGINE UN CTR (PROPORCIÓN gren realizar esa transición descubrirán
gado y estará listo para utilizarse. DE CLICS) DE 100% que el IoT les brindará la oportunidad
Al unificarse, esos factores apuntan hacia de dejar de ser comerciantes para final-
Lo mismo aplica para las actualiza- un objetivo final: una publicidad más inte- mente convertirse en recursos empresa-
ciones. Muchos usuarios posponen la ligente y más relevante. riales valiosos.
SG.COM.MX 025
LIBERANDO EL POTENCIAL
DEL INTERNET DE LAS COSAS
—
Por José M. Berruecos
026 SG.51
EN
PORTADA
P
SG.COM.MX 027
P UX
UX También es
Pensar en Productos —
Por Misael León
En general cuando pensamos en UX pensamos en hermosas parte fundamental para el éxito de los proyectos de software, porque
interfaces fáciles de utilizar y amigables con los usuarios. Pero si facilita a través de la investigación de usuarios ese descubrimiento
ahondamos un poco más nos daremos cuenta que el diseño de inte- del producto ideal que debemos poner en el mercado.
racción y la interfaz (UI) son solamente representaciones visibles de
features; las cuales a su vez, conforman una pequeña parte de una A menudo se dice que los usuarios no saben lo que quieren hasta
estrategia de producto con objetivos bien específicos de negocio. que lo ven, creo que eso es verdad. Pero ello no significa que un pro-
ducto no exista en función de una necesidad percibida por el usuario.
En los siguientes párrafos trataré de hacer un caso para demostrar que
cuando hablamos de UX en realidad estamos hablando de productos. Integrar actividades de UX dentro de la estrategia de producto mini-
miza el riesgo de construir algo que la gente no utilizará. Ya sea por-
Dado que por más subjetivo que sea su campo de acción, es decir que no lo entiende, porque no refleja su estilo de vida, o simplemente
“el diseño de la experiencia”, no significa que los esfuerzos de UX no porque no resuelve ningún problema real. El tiempo se encarga de
puedan ser medidos en función de resultados y métricas financieras. depurar el mercado de software de productos intrascendentes.
Esto es así porque la estrategia de UX vive dentro de la estra- Un equipo de desarrollo que construye productos sin entender
tegia general de producto y mercadeo. No puede existir de antes el problema siempre producirá soluciones prematuras.
manera aislada. Producirá features robustas que no logran enganchar a las perso-
nas. La caída de esos productos será inminente. Serán esfuerzos
PIENSA EN PROBLEMAS NO EN FEATURES que no rindieron frutos.
Pensemos ahora en ese producto que estamos diseñando, su razón
de existir debe ser siempre la resolución de un problema que los CONOCE A TU AUDIENCIA
usuarios experimentan. Al hacer esto el producto provee valor a las Pensar en productos no es pensar en features, es pensar en el
personas y genera ganancias para el negocio. De ahí que UX sea una problema que estamos resolviendo. Para esto debemos definir
Misael León (@misaello) es UX Design Researcher en Nearsoft, Inc. una empresa de cultura democrática que desarrolla software y produce clientes felices. Le apasiona difundir las
mejores prácticas de UX en comunidades de diseñadores y desarrolladores.
028 SG.51
UX
P
quién es nuestra audiencia. Entender profundamente para qué EL EQUIPO DE PRODUCTO IDEAL
la gente está usando nuestro producto. Saber cómo viven, cómo Un equipo de producto idealmente está compuesto por un product
piensan, comprender su contexto cultural y el entorno en el cual manager, un UX designer, y un equipo de entre seis y ocho desa-
usan nuestro producto. rrolladores, incluyendo un QA tester. Dependiendo del tamaño del
proyecto también puede incluir un visual designer.
Definir UX Personas es siempre una buena idea para alinear el enten-
dimiento del equipo. Hacer entrevistas con usuarios, salir a la calle He aprendido que la mejor manera en la que un UX designer puede
a observar nuestra audiencia, y realizar talleres para generar este influir en las decisiones de negocio relativas a producto, es trabajar
conocimiento son las metodologías que más me han funcionado. directamente con el product manager en cada paso del proceso.
Uno posee las habilidades que el otro carece, juntos completan el
La investigación de usuarios no brinda certeza completa pero es el cúmulo de información sobre lo que es deseable construir.
mejor punto de partida. Es una herramienta efectiva para reducir la
incertidumbre y elegir un camino a seguir. Nos permite descubrir Sin embargo son los desarrolladores los únicos que tienen el cono-
problemas con potencial de generar negocio y la dimensión real cimiento sobre lo que es posible construir en términos del tiempo
de cómo estos se presentan. Lo que buscamos es conocer nuestra disponible. La forma más efectiva de generar ideas de producto es
audiencia para no producir numerosas features sin sentido. exponer a los desarrolladores directamente al problema. Cara a cara
con los usuarios. Esto con el fin de propiciar empatía hacia ellos.
DEFINE LA ESTRATEGIA DE PRODUCTO
Existe una concepción equivocada y generalizada que nos hace Cuando juntamos “lo que se necesita” con lo que “es posible cons-
creer que la responsabilidad de la definición del producto recae truir” es cuando surgen los productos realmente valiosos.
únicamente en el product manager; pero de ninguna manera es así.
Lo ideal es que desarrolladores, diseñadores, mercadólogos tam- CUANDO HABLAMOS DE UX EN EL FONDO HABLAMOS
bién participen. Todos tienen un pedazo del rompecabezas que hay DE PRODUCTOS
que resolver. El clan unido con un solo objetivo: construir las featu- Adoptar un enfoque de producto es pensar en soluciones a proble-
res ideales para la audiencia correcta. mas de gente real. Permite que todo el equipo tenga una visión clara
sobre lo que se está construyendo. También facilita descartar peti-
Una estrategia de producto se construye contestando las siguien- ciones de features nuevas cuando no están alineadas a dicha visión.
tes preguntas [1]:
Todas las actividades de UX van encaminadas en facilitar la interac-
DIMENSIÓN ORIENTADA A USUARIOS: ción del usuario con el producto de software [2]. Si la interacción es
¿Cuál es el problema que tiene que resolver? exitosa significa que el UX designer participó desde su conceptualiza-
ción hasta su implementación, validación y subsecuentes iteraciones.
¿Cuál es la audiencia para la cual se va a resolver el problema?
La responsabilidad de un UX designer no es únicamente la de gene-
DIMENSIÓN ORIENTADA AL TRABAJO A REALIZAR: rar ideas visuales. Es la de lograr que todo el equipo se sensibilice
¿Cuál es la visión detrás del trabajo que haremos? con el problema que se está resolviendo en función de los matices
de comportamiento humano que implica.
¿Cómo lo construiremos?
Esa sensibilización al final del día tomará forma de un producto
DIMENSIÓN ORIENTADA A RESULTADOS: que deberá ser deseable, técnicamente posible y financieramente
¿Qué objetivos nos estamos fijando? ¿Cómo mediremos los resul- sustentable. Es por eso que cuando hablamos de UX en el fondo
tados que lograremos? estamos hablando de productos.
¿Qué features incluye esto que construiremos? ¿Qué vamos a Creo firmemente que identificar problemas sociales reales y brin-
hacer para alcanzar nuestros objetivos? dar una solución centrada en las personas, es una forma honesta
de dejar el mundo en mejores condiciones de como lo encontra-
Con este mapa inicial podemos descartar features innecesarias y mos. Un producto de software a la vez.
comenzar a probar hipótesis sobre lo que creemos es lo idóneo
para nuestro producto. Al final nos permitirá crear mejores produc-
tos guiando cada decisión que tomemos dentro del contexto de la Referencias
resolución del problema que nuestra audiencia experimenta. [1] N. Kellingley. “Product Thinking is Problem Solving.” Interaction Design Foundation.
https://www.interaction-design.org/literature/article/product-thinking-is-problem-solving
Recordemos que este problema que estamos resolviendo es la [2] M. León. “Cómo Iniciar tu Carrera en UX Design”. Software Guru.
razón fundamental por la cual nuestro producto es usado y por el http://sg.com.mx/revista/50/como-iniciar-tu-carrera-ux-design
cual nuestro negocio subsiste.
SG.COM.MX 029
P REQUERIMIENTOS
Como la mayoría de los lectores de SG saben, todo software 3. Validar la tarjeta y la contraseña del cliente.
posee dos dimensiones de requerimientos: funcional y no fun-
cional. Los requerimientos funcionales (RF) describen el com- 4. Garantizar que la suma de todas las transacciones del
portamiento del software para proporcionar tareas y servicios a cliente en el día no puede ser superior a $5,000.
sus usuarios; estos tipos de requerimientos están relacionados
a lo que el software debe hacer. Los requerimientos no funciona- Aunque estos cuatro ejemplos sean casos válidos de RF, es posi-
les (RNF) están relacionados al cómo las funcionalidades del ble percibir que el nivel de detalle (o granularidad) entre ellos es
software serán entregadas a sus usuarios y pueden incluir distinto. Lo más frecuente es que una especificación presente
aspectos de calidad, técnicos, ambientales y organizacionales. los requerimientos en distintos niveles de granularidad.
Teniendo en cuenta un sistema de cajero automático de un El nivel de granularidad es la mayor o menor amplitud de la des-
banco se podría suponer los siguientes ejemplos para los dos cripción del comportamiento esperado para el software en una
tipos de requerimientos: especificación funcional. Esto está relacionado al tipo de objetivo
asociado al requerimiento. La Figura 1 ilustra la relación entre estos
• RF: Consultar saldo de la cuenta corriente (el qué). objetivos y el nivel de granularidad, utilizando una clasificación
de tres niveles (agregado, usuario, subfunción) propuesta por
• RNF: Toda transacción debe ser completada en un máximo Cockburn (2000) para casos de uso y generalizada por los auto-
de 30 segundos (el cómo). res para requerimientos funcionales. Esta clasificación no significa
que el proceso de la ingeniería de requerimientos deba utilizar una
Aunque no sea una regla, el RF se acostumbra manifestar de estrategia de desarrollo por descomposición funcional.
manera explícita en el software, es un comportamiento que se
puede determinar claramente en qué parte del software está.
El RNF, por lo contrario, se acostumbra manifestar de manera
general, se aplica a todo o casi todo el software.
Guilherme Siqueira Simões ([email protected]) y Carlos Eduardo Vazquez ([email protected]) son autores de dos libros en portugués: uno sobre el Análisis de
Puntos de Función y otro sobre la Ingeniería de Requerimientos. Ambos tienen más de 20 años de experiencia con desarrollo de software y son socios de Fatto Consultoría y Sistemas
(www.fattocs.com), que oferta servicios de consultoría y entrenamiento en las disciplinas de medición, estimación y requerimientos de software.
030 SG.51
REQUERIMIENTOS
P
NIVEL DE USUARIO Sin embargo, algunos RF de este tipo poseen patrones que
El requerimiento a nivel de objetivo de usuario es aquel que: eliminan la necesidad de proporcionar más detalles. Un
ejemplo clásico son los formularios CRUD (Create, Read,
• Abarca una única tarea bajo la responsabilidad de un Update, Delete) para que el usuario pueda mantener datos
único individuo; por medio del software. Es muy común que esto sea expre-
sado como: “El sistema debe mantener productos.”. Hay un
• Es realizado en el momento en que el usuario posee todo conocimiento tácito entre los interesados que el verbo “man-
lo que es necesario para que la tarea sea completada hasta tener” agrega las tareas del CRUD. Por lo tanto queda claro
el límite de su responsabilidad en el flujo operativo donde a todos los lectores que el software debe permitir al usuario
está contenida. realizar las siguientes tareas: agregar, modificar, eliminar y
consultar datos de producto.
Al final de la tarea el usuario alcanza su propósito, está satis-
fecho y no hay nada más que necesite hacer. Una vez que el NIVEL DE SUBFUNCIÓN
requerimiento fue completado, todo lo que debería de realizarse Estos requerimientos son pedazos de requerimientos con obje-
para tratar un evento externo fue realizado. Esta tarea es casi tivo de usuario; están relacionados a un conjunto de pasos o a
siempre parte de un proceso de negocio que puede tener un reglas de una o más tareas de los usuarios.
flujo operativo más amplio y por esto puede aún no estar com-
pleta. Sin embargo, la perspectiva relevante en este caso no es El requerimiento en nivel de subfunción que representa un con-
del proceso de negocio, es de la tarea. junto de pasos describe el cambio de datos en los dos sentidos
entre el usuario y el software; y entre el software y los reque-
En general, si un trabajo involucra más de un individuo es por- rimientos de almacenamiento. Este es el caso del ejemplo 3
que hay más de una tarea presente en el contexto. Hay excep- (“Validar la tarjeta y la contraseña del cliente.”). Cada tipo de
ciones como un retiro en la cuenta corriente en la sucursal del transacción que utiliza la cuenta corriente (ej.: retiro, transfe-
banco donde dos individuos participan: la caja del banco que rencia, pago, etc.) exige el mismo conjunto de pasos descrito
solicita e informa datos para el retiro y el cliente que informa por el ejemplo 3, que se podría suponer como:
la contraseña.
• Verificar si la tarjeta es válida.
Esta es la granularidad del ejemplo 2 (“Transferir una cifra de
una cuenta corriente para otra cuenta corriente.”). Es una única • Verificar si la transacción elegida es compatible con el tipo
tarea (seguramente compuesta por varios pasos y reglas), bajo de tarjeta.
la responsabilidad de un único individuo que al final de todos los
pasos está satisfecho con el objetivo alcanzado: una cifra fue • Verificar si la contraseña informada es correcta.
transferida a otra cuenta corriente.
• Incrementar el control de errores de contraseña en caso
NIVEL AGREGADO que la contraseña informada sea incorrecta.
El requerimiento en este nivel agrega varios requerimientos a
nivel de objetivo de usuario en una única especificación de más • Cambiar a cero el control de errores de contraseña en caso
alto nivel. Tanto más alto sea su nivel, más generales son sus que la contraseña informada sea correcta.
objetivos y para que un objetivo de nivel más alto sea alcanzado,
otros objetivos de nivel más bajo deben ser alcanzados primero. Validar la tarjeta y contraseña del cliente no es el objetivo del
cliente al utilizar el sistema de cajero automático, sin embargo
Este tipo de requerimiento está relacionado a objetivos más son pasos necesarios y intermediarios para alcanzar su objetivo:
generales y su amplitud está asociada a objetivos colaborativos por ejemplo, hacer un retiro.
o asociados a procesos de negocio de alto nivel. No es relativo
a una única tarea, por lo contrario, agrega un conjunto de tareas El requerimiento en el nivel de subfunción que está relacionado a reglas,
de uno o más usuarios. Esta es la granularidad del ejemplo 1 en general se vincula a las leyes que gobiernan el negocio y describen
(“Realizar transacciones con la cuenta corriente.”). de manera que complementan los procesos de negocio. También lla-
madas muchas veces como reglas de negocio. La regla puede describir
¿Cuáles son las tareas asociadas a este tipo de requeri- políticas corporativas, reglamentos gubernamentales o estándares de
miento? Tal vez sean obvias para los lectores de la especi- la industria por los cuales el software debe estar subordinado.
ficación (los interesados) o tal vez aún no sean conocidas.
Sin embargo, es sabido que hay actividades a realizar para Este es el caso del ejemplo 4 (“Garantizar que la suma de todas las
levantar (refinar) este requerimiento. Lo que importa es que transacciones del cliente en el día no puede ser superior a $5,000.”).
ya está claro que este requerimiento está dentro del alcance Las reglas de negocio muchas veces son compartidas entre varios
del software a ser desarrollado. RF, hasta entre distintos productos de software en la empresa.
SG.COM.MX 031
P REQUERIMIENTOS
El principal propósito para especificar requerimientos en niveles • Se proporcione la comprensión del alcance sin ninguna
agregados es establecer áreas de proceso objeto de informati- ambigüedad con respeto a las tareas que el software entre-
zación y/o automatización para que las necesidades de negocio gará cuando se enfoca el RF con objetivo de usuario.
queden resueltas.
• Se genere un documento de requerimientos más fácil de
Si el objetivo de la especificación es proporcionar una visión pro- mantener y consecuentemente más consistente al especifi-
funda de parte o de todo el software, por ejemplo para iniciar su car los RF adecuados con objetivo de subfunción.
desarrollo, la existencia de RF en el nivel agregado puede significar
que varias decisiones sobre el alcance todavía siguen pendientes.
Es decir, hay trabajo de levantamiento que debe ser hecho.
032 SG.51
SG.COM.MX 033
P PROGRAMACIÓN
JavaScript y Herencia
Basada en Prototipos —
Por Erik Grueter
HERENCIA DE PROPIEDADES
Los objetos en JavaScript no son más que estructuras de datos
con varias propiedades. Cada objeto apunta tiene una referencia
a su objeto padre, o prototipo. Listado 2. Función como propiedad.
Al intentar acceder una propiedad en un objeto, la propiedad Como podemos ver, el objeto o tiene dos propiedades: a con el va-
se busca primero en el objeto, y si no se encuentra se procede lor 2 y m con valor function(b), que regresa el valor de la propiedad
a buscar la propiedad en el prototipo del objeto original, y si no a + 1, que en este caso equivaldría a 3.
se encuentra se busca en el prototipo del prototipo, y así subse-
cuentemente hasta que se encuentre la propiedad o se llegue al Ahora vamos a extender el código anterior para mostrar cómo
final de la cadena. funciona la herencia basada en prototipos cuando la combinamos
con funciones.
El listado 1 muestra un ejemplo de este caso.
034 SG.51
PROGRAMACIÓN
P
CLASES EN ES6
Posiblemente estés enterado de que una de las novedades en
EcmaScript 6 es que soporta clases y te preguntes cómo afecta a
lo que hemos visto aquí. En realidad, lo único que se ha agregado Listado 4. Definición de clases con sintaxis de ES6
en ES6 es que se soporta sintaxis similar a la de otros lenguajes
basados en clases usando keywords como class, extends y super, CONCLUSIÓN
pero internamente el comportamiento es el mismo que ya estu- Entender cómo funciona la herencia basada en prototipos es
diamos en este artículo. El listado 4 muestra el ejemplo de una clave para poder hacer programación avanzada en JavaScript.
clase y una subclase usando sintaxis de ES6. Esperamos que estos ejemplos te hayan sido de ayuda.
Este artículo fue traducido y editado por SG con el permiso del autor a partir de la versión original en inglés disponible en
http://www.masterjavascript.io/blog/2016/05/29/introducing-javascript-classes
Erik Grueter es un desarrollador full stack al que le gusta compartir sus ideas y experiencias sobre programación y el lenguaje JavaScript. Puedes acceder a su curso gratuito de JavaScript
en 7 días en http://www.masterjavascript.io
SG.COM.MX 035
C PRUEBA DE SOFTWARE
En el número anterior definimos lo que es un len- Contestemos ahora las primeras 2 preguntas que
guaje formal de la siguiente manera: planteamos al final del número anterior, en el cual diji-
mos que dado un conjunto A que tiene i elementos, la
1. partimos de la definición del concepto de cantidad de subconjuntos que pueden formarse sobre
alfabeto como un conjunto finito de caracteres B = A es igual a 2i .
{ b1 , b2 , …, bm }, y dijimos que B tiene una cardina-
lidad (cantidad de elementos) igual a m , lo cual Dijimos también que B*, la Cerradura de Kleene sobre
Luis Vinicio León Carrillo escribimos como |B| = m ; el alfabeto B, es un conjunto infinito pero contable,
es Director General y porque tiene la misma cardinalidad que el conjunto
co-fundador de e-Quallity. 2. definimos la operación de concatenación ‘·‘ de los números naturales N. Esto implica en particular
Fue profesor-investigador sobre caracteres (lo que nos permite construir b5 · que, así como ocurre en el conjunto de los números
en la universidad ITESO. b4 · b8 · b8 ) y sobre conjuntos de caracteres (lo que naturales N, dada una de las cadenas de B*, siempre
Realizó estudios de nos permite construir B · A · C ) ; podemos definir cuál es la que le sigue y listar sus ele-
posgrado en Alemania, mentos en orden sin saltarnos alguno (en N , dado un
durante los cuales abordó 3. definimos la exponenciación de la concatena- número natural y, sabemos que el que le sigue es y+1).
temas relacionados con ción Bx sobre un alfabeto B como la aplicación de la
la prueba de software y concatenación x-1 veces sobre el alfabeto ( B · B · … · Del penúltimo párrafo se sigue que la cantidad de len-
los métodos y lenguajes B , donde B aparece x veces) ; guajes sobre cualquier alfabeto B es igual a 2N … El asunto
formales. es que 2N es una cardinalidad estrictamente mayor que la
4. definimos la cerradura de Kleene B* como la de N (siguiendo el Teorema de Cantor), lo que lo vuelve
unión de todas las exponenciaciones sobre el un conjunto no-contable (aquellos conjuntos en los que,
alfabeto B (B* = U∞i=0 Bi ) ; dado un elemento x, no es posible decir cuál elemento
es el que sigue, como en el caso de los números reales
5. definimos que un lenguaje formal sobre un R : si tenemos el número 0.0004 no podemos decir que
alfabeto B es cualquier subconjunto de B* . el que le sigue es 0.0005; tampoco que es 0.00041; en
realidad, entre cualesquiera 2 números reales hay una
De lo anterior se desprende que, dado un código cantidad infinita de números reales).
ASCII extendido que llamaremos AE de cualquier
cantidad de caracteres, podemos ver al lenguaje Java Una consecuencia importantísima de lo anterior es que
como el subconjunto de cadenas de cualquier lon- la cantidad de lenguajes (2N) que pueden definirse sobre
gitud escritas utilizando ese AE que son aceptadas un alfabeto es estrictamente mayor que la cantidad de
como “correctas” por el compilador de Java. Lo mismo cadenas (N) que pueden construirse sobre ese alfabeto,
es cierto si sustituimos “Java” por el nombre de cual- así es que: independientemente del tamaño del alfabeto,
quier lenguaje de computación. siempre tendremos lenguajes sobre ese alfabeto para
los que no podemos definir un compilador, esto es, siem-
Ahora bien, en AE* están incluidos no solo todos los pre habrá lenguajes que no podremos procesar.
lenguajes de programación existentes y por existir,
sino también todos los compiladores (escritos y por Para nuestro propósito de construir lenguajes pro-
escribirse) de todos esos lenguajes. De hecho, en pietarios, esto significa que para poder procesarlos,
AE* se encuentran todas las cadenas de caracteres en principio debemos observar algunas restricciones
que podamos escribir en esa extensión del ASCII, para su diseño. El lado bueno de esto es que, dado
incluyendo los programas “incorrectos” en todos que estamos acostumbrados a utilizar lenguajes
los lenguajes. de programación y sus estructuras obviamente son
036 SG.51
PRUEBA DE SOFTWARE
C
procesables, podemos incluir estructuras de ese tipo en nuestro de los sublenguajes incluidos en prácticamente todos los
lenguaje. El lado malo es precisamente eso mismo: como esta- lenguajes de programación, en los que por ejemplo, los
mos acostumbrados a ello, probablemente no incluyamos otras paréntesis y las llaves deben venir por pares (uno de cierre por
estructuras que serian más adecuadas para las actividades que cada uno de apertura) y estar “emparejados adecuadamente”
nuestros programadores automatizarán. (por ejemplo, no se acepta “ ( … {… ( … ) … ) … } ” ) ;
El punto no es para subestimarse: las estructuras que tenemos a • am bn cm dn , para m, n ≥ 0 . Obviando detalles, este lenguaje
nuestra disposición en un lenguaje (sea artificial o natural) pueden que llamaremos L3 (más complejo que L2 ), es una abstracción
imponer límites a lo que podemos expresar (sea programar o pen- de la especificación del mecanismo de paso de parámetros
sar); como ejemplo tenemos el comentario del reconocido científico que utilizan muchos lenguajes de programación para exigir
computacional C.A.R. Hoare sobre su método de ordenamiento que la cantidad de parámetros establecidos en la definición de
Quick-Sort, después de que tomó un curso de Algol-60 (primer len- una subrutina sea la misma que cuando ésta se utiliza.
guaje en ofrecer la posibilidad de escribir subrutinas recursivas):
Gramáticas
“Fue entonces que aprendí por primera vez sobre procedimientos Después de esa primera definición de lenguaje en términos de
recursivos y vi cómo programar el método de ordenamiento que concatenaciones sobre alfabetos, que podríamos llamar alge-
previamente había tenido tanta dificultad para explicar.” braica y que es más bien declarativa, tomaremos ahora un enfo-
que un poco más imperativo utilizando reglas (que pueden verse
Para contestar la tercera pregunta necesitaremos elementos que como una abstracción del concepto de patrones).
revisaremos más adelante; pero antes, veamos algunos ejemplos.
Podemos definir lenguajes utilizando gramáticas, las cuales son
Ejemplos con “especificaciones algebráicas” cuátruplas de la forma
Usando las definiciones arriba mencionadas y tomando como
convención que escribiremos: < T, N, S0 , R > donde
• bibj en lugar de bi · bj (concatenación de caracteres); T es el conjunto de los símbolos terminales del lenguaje
(en adelante “Terminales”), los cuales podemos ver como el
• bin en lugar de bi · … · bi (concatenación en la que bi aparece alfabeto con cuyos elementos finalmente se construyen las
n veces); cadenas de caracteres;
SG.COM.MX 037
Escribiremos las Reglas utilizando el “meta-lenguaje” (llamado así • Llamaremos gramáticas sensibles al contexto a aquellas
porque es un lenguaje con el cual definimos lenguajes) llamado cuyas reglas en R sean de la forma β1 A β2 → β1 α β2 (o
BNF (Backus-Naur Form). En él, para cada regla se coloca el pri- menos compleja), donde α ≠ λ ; y lenguajes sensibles al
mer elemento del producto cartesiano, seguido del símbolo “→” contexto (o de Tipo 1, o Lgs1) a aquellos que puedan definirse
seguido del segundo elemento del producto cartesiano. utilizando gramáticas sensibles al contexto. Decimos que β1
y β2 representan el contexto en el que A se puede transfor-
Ahora bien, cuando tengamos un conjunto de reglas como mar en α .Ahora bien, como α ≠ λ , entonces la suma de la
cantidad de Terminales y de no-Terminales en α es mayor o
α → β1 igual a uno; a esta cantidad la llamaremos la longitud de α y la
α → β2 denotaremos con |α|. Ahora podemos generar otra definición
… menos restrictiva (aunque una que no deja ver el atributo de
α → βn , donde α y todas las βi son elementos de (T ∪ N)* “sensible al contexto”): llamaremos gramáticas sensibles al
(o sea, elementos de la cerradura de Kleene de la unión de contexto a aquellas cuyas reglas en R sean de la forma
los Terminales y no-Terminales; es decir, combinaciones de θ → α (o menos compleja), donde θ ∈ (T ∪ N)* , θ ≠ λ y |θ| ≤
uno o Terminales y no-Terminales), |α| ; y llamaremos lenguajes sensibles al contexto a aquellos
que puedan definirse utilizando este tipo de gramáticas
lo escribiremos como
• Por último, llamaremos gramáticas estructuradas por frases
α → β1 | β2 | … | βn a aquellas cuyas reglas en R sean de la forma θ → α (o
menos compleja), donde θ ∈ (T ∪ N)* y θ ≠ λ ; y llamaremos
Si alguna βi contiene cero Terminales y cero no-Terminales, la lenguajes estructurados por frases (o Tipo 0, o Lgs0) a aque-
escribiremos como λ (la letra griega lambda), que representará llos que puedan definirse utilizando gramáticas estructuradas
la cadena vacía. por frases.
Además, escribiremos los Terminales con minúsculas, los no-Termi- Lo anterior define lo que es conocido como la Jerarquía de
nales con MAYÚSCULAS, y S0 será el no-Terminal que aparece a la Chomsky, en la cual ocurre, como se puede observar, que Lgs3 ⊂≠
izquierda de “→” en la primer Regla. Con ello R define la gramá- Lgs2 ⊂≠ Lgs1 ⊂≠ Lgs0 (esto es, los Lgsi son subconjuntos pro-
tica por sí sola, porque con las convenciones queda explícito cuáles pios de los Lgsi-1). Para el caso particular de Lgs3 ⊂≠ Lgs2 , esto
son los Terminales, los no-Terminales y S0 . Entonces, en adelante significa que todos los lenguajes regulares (todas las gramáticas
podremos definir un lenguaje listando únicamente las reglas de R . regulares) son libres de contexto, pero que hay lenguajes libres de
contexto que no son regulares (para los que no existen gramáticas
Una jerarquía de lenguajes regulares que los definan).
Tenemos la siguiente categorización de lenguajes, que se hace
considerando la complejidad de la estructura de las reglas en la R La Jerarquía de Chomsky muestra con claridad un crecimiento
particular que los define (por cuestiones de espacio, obviaremos significativo en la complejidad de la estructura de las reglas, o
algunos detalles): dicho de otra manera, una disminución significativa en las res-
tricciones sobre esa estructura. Esto obviamente impacta en la
• Llamaremos gramáticas regulares a aquellas cuyas reglas complejidad (incluso en la posibilidad) de procesar todos esos
en R sean de la forma A→ B d | d (o menos compleja); y tipos de lenguajes. Retomaremos el tema con más profundidad
llamaremos lenguajes regulares (o de Tipo 3, o Lgs3 de manera más adelante.
corta) a aquellos que puedan definirse utilizando gramáticas
regulares. Nota: las reglas pueden ser de la forma A→ d B | d ,
pero no se deben mezclar ambas formas.)
038 SG.51
SG.COM.MX 039
C PROGRAMAR ES UN MODO DE VIDA
A lo largo de los años, fuimos testigos de cómo las desde su debut en 2001, pero en la práctica y ante
arquitecturas rivales de cómputo pasaron de una gran el abandono de prácticamente todos los fabricantes
gama de implementaciones luchando por la suprema- y proveedores de software, es una arquitectura cada
cía durante los 80 y 90 a una aparente monocultura. vez más anecdótica.
La primera década del milenio vio sucumbir a podero-
sas y prometedoras plataformas como Alpha, ARM: JAQUE AL REY
m680x0 y HPPA-RISC. Sparc y PowerPC redujeron su Parecería que en este recuento de la gradual homo-
Gunnar Wolf es adminis- participación en el mercado a únicamente casos muy geneización de las plataformas de cómputo no hay
trador de sistemas para el especializados. MIPS pasó de ser el último grito en lo mucho más que decir. Pero en los últimos años, se
Instituto de Investigaciones relativo a hardware de alto rendimiento a ser una ha dejado sentir fuertemente un cambio drástico, y
Económicas de la UNAM y arquitectura para dispositivos de bajo consumo y bajo desde el segmento bajo del mercado.
desarrollador del proyecto precio, como la mayor parte de los switches y puntos
Debian GNU/Linux. de acceso inalámbrico disponibles en el mercado. La plataforma de hardware ARM no es bajo ningún
http://gwolf.org concepto un nuevo jugador en el mundo del cóm-
CONSOLIDACIÓN DE UNA ARQUITECTURA puto: su diseño original se produjo durante los años
REINANTE 1983 a 1985, al interior de la empresa Acorn, que bus-
Por varios años, parecía que la plataforma x86, defi- caba desarrollar un sucesor para el popular CPU de
nida por Intel como una serie de “parches” sucesivos 8 bits 6502 empleado en muchas computadoras de
al procesador 8086 de 1978, reinaría sin rivalidad en la época y, en particular, en la BBC Micro, plataforma
prácticamente todos los mercados. Computadoras de de gran éxito en el Reino Unido. De hecho, ARM se
escritorio, portátiles, servidores. Hacia 2005, la pla- manejó originalmente como acrónimo de “Acorn RISC
taforma x86 se erigía como clarísimo dominante. Y Machine”, y una vez que la Acorn dejó de ser un hito
esto no por ser más potente o eficiente que su com- reconocible en la mente de los usuarios británicos,
petencia, sino por tener una muchísima mayor base para 1990 se independizó de la marca padre para
de usuarios ya instalada, por mantener una gran com- denominarse “Advanced RISC Machines”.
patibilidad hacia atrás, y porque prácticamente todo
el software de consumo masivo aparecía únicamente Los procesadores ARM son un ejemplo para libro de
para éste. texto de las diferencias y ventajas de RISC: si bien su
conjunto reducido de instrucciones significa que, a
Es muy sabido que esta compatibilidad hacia atrás una misma velocidad, pueden realizar mucho menos
no siempre es lo más conveniente técnicamente. En trabajo real que su competencia CISC, el número de
la década de 1980 nació RISC (Reduced Instruction Set transistores requerido para implementarlo resulta
Computing, cómputo con un conjunto reducido de ins- decenas de veces menor que el equivalente CISC de
trucciones), primero como concepto teórico y poco su época. Por ejemplo, cuando en 2007 se introdujo
más tarde implementado en varias arquitecturas de el ARM Cortex-A9, de 26 millones de transistores, los
hardware (algunas de ellas mencionadas en el primer CPUs i7 de Intel excedían los 730 millones.
párrafo). Ya en esos años se veía que las principales
arquitecturas disponibles tenían conjuntos de ins- Menos transistores se traduce en muy distintas ven-
trucciones demasiado complejos (recibiendo la deno- tajas, todas ellas importantes para el cambio que hoy
minación CISC, Complex Instruction Set Computing, estamos observando:
cómputo con un conjunto de instrucciones complejo,
en contraposición con la nueva tendencia). • Fabricar CPUs ARM resulta más barato, dado
que pueden usar procesos que requieren menor
Intel mismo intentó en dos ocasiones diseñar una miniaturización y hay más fabricantes en condi-
nueva familia de procesadores que reemplazara a ciones de hacerlo (ARM no tiene ninguna fábrica,
x86. La arquitectura RISC i860, lanzada en 1989 y es dueño únicamente del diseño de los chips).
abandonada unos cinco años más tarde, y la Itanium
o IA-64, que se ha mantenido viva de manera formal • La disipación de calor es menor. Un procesador
040 SG.51
PROGRAMAR ES UN MODO DE VIDA
C
CISC actual requiere de enfriamiento activo, empleando licencia a terceros sus diseños como propiedad intelectual; los
masivos disipadores y ventiladores. La operación normal de chip ARM son en realidad fabricados, entre muchas otras empre-
un procesador ARM resulta mucho más aceptable para un sas, por AMD, Broadcom, Freescale, Texas Instruments, e incluso
equipo de perfil delgado, y más aún cuando está diseñado el mismo Intel.
para llevarse en contacto con el cuerpo de su usuario.
En el mundo ARM, es muy común que los chips encapsulen no
• El consumo eléctrico es menor, permitiendo mucho mayor únicamente al CPU, controlador de memoria, controlador gráfico,
tiempo de operación a baterías. Naturalmente, el tamaño de y otros componentes esenciales, sino que prácticamente a todo
los chips resultantes es menor. Mientras que un CPU Intel el sistema de cómputo, inclusive la RAM y los controladores de
para equipos de escritorio mide unos 4cm. por lado, los proce- dispositivos. A esta práctica se le conoce como “SoC” (System on
sadores ARM apenas y sobrepasan un centímetro cuadrado. a Chip); de hecho, si ven cualquiera de las computadoras basadas
en ARM que han surgido en años recientes, uno de los prime-
Los procesadores ARM siempre estuvieron presentes en nuestros ros puntos que llama la atención es su relativa simplicidad. Y si
dispositivos “menores”, pero dado que nuestra relación con estos acostumbran abrir, en claro ejercicio de un espíritu científico, sus
nunca fue tan intensa y personal como en los últimos años, rara teléfonos o tabletas, notarán precisamente lo mismo.
vez nos resultó claro. Al haber dado el gran salto cualitativo el
mercado de los dispositivos móviles, la plataforma ha dado un Las computadoras ARM, pues, no están normalmente concebi-
salto tal que se volvió la primera respuesta al considerar cada vez das para su expansión. Por sus características físicas, y por su
más casos de uso, incluso ya en algunos casos entrando al seg- bajo costo, es más bien un enfoque de un sistema para cada tipo
mento tradicionalmente fuerte de x86. de necesidad; desde el punto de vista en pro de la ecología suena
nefasto, pero si requieren mayor poder de cómputo, la respuesta
ARM es una arquitectura muy versátil; tienen tres perfiles de es cambiar de computadora. Además, la mayor parte de los fabri-
CPUs definidos. De más sencillo a más poderoso, “M” (para cantes buscan ubicar sus equipos como “cajas cerradas”. ¡No es
microcontroladores), “R” (para aplicaciones de tiempo real) y “A” de su interés que yo pueda ejecutar mi software favorito en sus
(para aplicación). teléfonos en vez del “oficial”!
SG.COM.MX 041
T MAKER ZONE
En el mundo maker, lo más cercano a un “hola mundo” es hacer • Broker: el broker es el servidor que acepta mensajes publicados
que un microcontrolador prenda y apague un diodo emisor de luz por clientes y los difunde entre los clientes suscritos.
(LED). Si llevamos esto a un contexto de Internet de las Cosas, el • Publicar: cuando un cliente envía un mensaje al broker.
“hola mundo” sería lograr que dicho microcontrolador prenda y apa- • Tópico: los mensajes deben estar etiquetados con algún tópico
gue el LED en base a mensajes enviados por un dispositivo remoto. o tema. Los clientes se suscriben a tópicos específicos, de manera
que solo reciben los mensajes publicados con dichos tópicos. Un
tópico puede a su vez contener subtópicos.
Así que eso es justamente lo que haremos en este tutorial.
Tendremos un microcontrolador que prenderá y apagará un LED en MAPEANDO LOS COMPONENTES
base a mensajes generados remotamente desde un Raspberry Pi. Para este tutorial tendremos 3 elementos:
• Una computadora personal, que operará como servidor (broker).
ELIGIENDO EL PROTOCOLO DE COMUNICACIÓN • Un Raspberry Pi que por medio de un programa en Python en-
Lo primero que tenemos que decidir es cómo haremos para que viará mensajes al broker pidiendo que se prenda o apague el LED.
nuestros dispositivos puedan enviar y recibir mensajes. • Un módulo ESP8266 que recibe los mensajes y realiza la acción
deseada con el LED.
Quienes vienen del desarrollo web probablemente consideren
que lo más sencillo sería implementar un servidor web que ma- MOSQUITTO
neje peticiones REST sobre HTTP. Cuando se trata de dispositivos Ya comentamos que MQTT es el protocolo que utilizaremos, pero
con alto poder de cómputo y un canal de comunicación con buen ahora hay que escoger un servidor o implementación específica
ancho de banda, esto tiene sentido. Pero en la mayoría de los ca- de broker MQTT. Existen diversas opciones instalables como
sos de IoT, esto no sería ideal ya que HTTP es un protocolo relati- Mosquitto, HiveMQ y VernMQ por mencionar algunas. También
vamente pesado, además de que no es eficiente para escenarios hay servicios de broker MQTT en la nube —por ejemplo AWS IoT
de comunicación uno a muchos (se necesitaría hacer un POST a e IBM Bluemix— listos para usarse.
cada cliente).
En este caso utilizaremos Mosquitto, que es un servidor MQTT
Es aquí cuando nos encontramos con MQTT, un protocolo de open source bastante popular. En http://mosquitto.org puedes
comunicación M2M (machine-to-machine) donde dispositivos descargar el instalador para Windows. En Mac puedes instalarlo
se comunican entre sí utilizando un patrón publicar/suscribir. con Homebrew, y en Linux encontrarás el paquete mosquitto o
Es muy ligero, por lo que es de especial utilidad en casos donde mosquitto-mqtt en los repositorios de tu sistema operativo.
se requiere un muy bajo consumo de energía y ancho de banda.
MQTT es un estándar ISO, así que tiene un gran respaldo. Una vez que tengamos Mosquitto instalado, podemos arrancar el
Por sus características, MQTT es un protocolo ideal para solucio- broker simplemente con el comando mosquitto, aunque es buena
nes de Internet de las Cosas, así que es lo que utilizaremos para idea agregarle la bandera -v de “verbosidad” para que nos mues-
nuestro “hola IoT”. tre el detalle de lo que esté sucediendo.
FUNCIONAMIENTO DE MQTT
Conozcamos los componentes y acciones clave de MQTT.
042 SG.51
MAKER ZONE
T
La configuración default de mosquitto opera en el puerto 1883 Por último, en la figura 4 podemos apreciar que el cliente que está
prácticamente con ninguna seguridad. Esto es válido para pro- escuchando el tópico prueba recibe el mensaje publicado.
pósitos de nuestro tutorial, pero una vez que nos dispongamos
hacer un proyecto real, es altamente recomendable cambiar la
configuración y restringir el acceso.
Una vez que está corriendo nuestro servidor, podemos suscribir-
nos para recibir mensajes sobre algún tópico. Antes de hacer la Figura 3. Servidor recibe conexión para publicar.
conexión desde dispositivos remotos, vamos a probar desde la
misma computadora donde tenemos el servidor. Abrimos una
nueva terminal y ejecutamos el comando mosquitto_sub:
En este caso estamos indicando que deseamos conectarnos al PUBLICAR DESDE LA RASPBERRY PI
servidor en la ip 127.0.0.1 al tópico prueba y que nuestro iden- Para publicar mensajes desde la Raspberry Pi podríamos simple-
tificador es testSub (este último parámetro es opcional, sino lo mente instalar mosquitto y utilizar el comando mosquitto_pub
usamos, el servidor nos asigna algún identificador). Al ejecutar tal y como lo hicimos en la prueba anterior. Sin embargo, para
este comando, veremos en nuestra consola del servidor que ha hacerlo de forma programática es mejor utilizar una librería para
recibido la petición de suscripción (ver figura 2). el lenguaje de programación de nuestra preferencia. En este caso
mostraremos como hacerlo desde Python.
Noten que el tópico “prueba” no se había definido previamente en $ pip install paho-mqtt
el servidor, sino que se crea automáticamente cuando un cliente
pública o se suscribe a él. Una vez que tengamos instalado Paho, podemos utilizar la libre-
ría en nuestro programa. El listado 1 muestra el código en python
Ahora haremos la prueba de publicar un mensaje al tópico para publicar un mensaje.
prueba. Así que desde otra terminal de comando ejecutamos el
comando mosquitto_pub:
SG.COM.MX 043
T MAKER ZONE
CONCLUSIÓN
En este tutorial he mostrado un ejemplo muy sencillo de cómo
dispositivos remotos pueden enviarse mensajes entre sí por me-
dio de un servidor MQTT. Te recomiendo que conozcas más sobre
MQTT ya que es un protocolo muy útil.
Referencias
[1] J. Lewis. “MQTT Tutorial for Raspberry Pi, Arduino and ESP8266”. http://swgu.ru/rh Listado 2. Código para ESP8226
044 SG.51
SG.COM.MX 045
F FUNDAMENTOS
Recuerdo muy bien la primera vez que alguien me contestó Me quedé en shock. Mi ídolo me estaba mandando al carajo sim-
“RTFM”, y a la fecha le estoy agradecido. plemente por preguntarle algo. O andaba muy enojado por otra
cosa, o no era tan buena persona como yo creía. Después de unos
Era yo un estudiante universitario, y en mis tiempos libres jugaba momentos de respiración profunda, retomé la conversación.
y programaba como voluntario en un MUD (multi-user dungeon).
Este era un MUD 100% amateur, el servidor estaba hospedado en - Yo: “Hey, ¿qué te pasa? No es mi culpa si tuviste un mal día”.
un ISP en Noruega, y los desarrolladores éramos voluntarios de - Taniwha: ¿De qué estás hablando?”
todo el mundo. Había cuatro niveles de voluntarios: constructor, - Yo: “A tu RTFM”.
alquimista, lord y semi-dios. Los programadores eran los novatos, - Taniwha: “Ah, ¿eso? No lo tomes personal, es una expresión común.”
que hacían cuestiones básicas como cuartos y monstruos; los al- - Yo: “Pues no estoy de acuerdo. Se supone que me deberías en-
quimistas hacían cosas más avanzadas como armas y hechizos; señar, no mandarme al cuerno”.
los lords eran como los gerentes, coordinaban a varios construc- - Taniwha: “Te estoy enseñando. Cálmate y lee el manual.”
tores para construir pueblos y regiones; los semidioses ocasional-
mente mejoraban la plataforma base, pero más que nada fungían Desde entonces, antes de preguntar, primero busco el manual. Es
como mentores técnicos para los constructores y alquimistas. una práctica muy sana. De la misma forma, cuando alguien de mi
equipo me pregunta algo, lo refiero al manual. Y si no hay manual,
Uno de los semidioses más activos y queridos se llamaba Taniwha trato de crearlo.
(bueno, en el mundo real se llamaba Peter, pero en el MUD se ha-
cía llamar Taniwha así que eso es lo que importa). Taniwha era un HACIENDO MÁS RTFM EN LAS EMPRESAS
ingeniero de software que había trabajado en varias empresas de En ambientes de software libre o proyectos de voluntariado, es
tecnología y luego fundó una empresa que fue comprada por IBM, de lo más natural aplicarle a alguien un RTFM, especialmente
así que ya solo trabajaba de medio tiempo como asesor, y el resto en países sajones.
de su tiempo lo dedicaba a su familia y al MUD. Como se podrán
imaginar, Taniwha era mi ídolo. En Latinoamérica no he visto que se aplique tanto. Pensamos que
enseñarle a alguien es sentarnos con la persona y resolver todas
Después de algunas semanas como constructor haciendo cosas sus dudas, el número de veces que sea necesario. Siendo de san-
aburridas, decidí que era tiempo de hacer algo más divertido, así gre caliente, también acostumbramos tomarnos las cosas más
que opté por crear un látigo para sacerdotisas drow (elfa oscura). personales (“es un hijo de $%&@, le pregunté algo y me dijo que
Los aficionados del tema recordarán que un látigo de estos tiene lea el manual, que se vaya al cuerno yo ya no quiero trabajar con
varias cabezas de serpiente (dependiendo del nivel de la sacerdo- él.”). Y en ambientes corporativos las cosas se complican todavía
tisa) y puede generar efectos secundarios (ej. envenenar, parali- más, ya que sin la cultura adecuada un RTFM resultará en desmo-
zar) a la víctima. Así que no era un arma sencilla de programar. tivación, renuncias e incluso peleas.
- Yo (chat público de desarrolladores): “¿Alguien sabe como Esto es una lástima porque creo que es una práctica muy sana. En
puedo paralizar a una víctima?”. esencia, la práctica de RTFM se enfoca en dos cosas: por un lado
- Taniwha: “Revisa el hechizo de paralización, está en x directorio”. que la gente senior busque que el conocimiento de la empresa
- Yo (mensaje directo a Taniwha): “¿Me puedes explicar como sea documentado, y por otro que la gente novata aprenda a auto-
funciona?”. capacitarse y entender cómo funcionan las cosas.
- Taniwha: “RTFM”.
- Yo: “¿Qué es eso?”. Así que si alguna vez te aplican un RTFM, no lo tomes a mal, lo
- Taniwha: “Read the Fucking Manual”. están haciendo por tu bien.
046 SG.51
SG.COM.MX 047
O HARDWARE
KNOCKI
PINBOX 3000
Como podrás derivarlo de su nombre, la Gear 360 es una cámara para tomar
fotografías y video de 360 grados. Cuenta con dos lentes de ojo de pescado,
uno en cada lado, equipados con sensores de 15 MP que se combinan para cap-
turar video 3D a una resolución de 2840 x 1920 e imágenes estáticas a 7776 x
3888. Entre las ventajas de la Gear 360 está su diseño futurista, la calidad de sus
imágenes y su facilidad de uso. El inconveniente principal es que para aprove-
char al máximo sus capacidades, como por ejemplo ver en tiempo real el video
que se está capturando, requieres un smartphone Samsung “moderno” (Galaxy
S6 o posterior). La Gear 360 se lanzó en Asia en abril de este año, se espera
que en Estados Unidos esté disponible antes de que termine el verano y llegue a
Latinoamérica para la temporada navideña.
048 SG.51
HARDWARE
O
SEGWAY ROBOT
@geek_mx
Humor
SG.COM.MX 049
O BIBLIOTECA
Algunos de los proyectos incluidos son: una estación de monitoreo del clima,
un juego de memoria basado en luces de colores, un sistema de alarma por
detección de movimiento, un estroboscopio, un show de luces de colores, y
una chapa que detecta claves para tocar la puerta , entre otros.
SCALING LEAN
Ash Maurya. Lean Stack, junio 2016
2
050 SG.51
SG.COM.MX 051
052 SG.51