sábado, 9 de noviembre de 2019

Herramienta trazabilidad entrega de materiales



Para un cliente desarrollamos una herramientas muy simple, pero al mismo tiempo de mucha utilidad y valor.

El problema a resolver era la entrega de cajas de materiales que pasaban por diferentes ubicaciones dentro de Chile. Ocurría que estas cajas salían desde imprentas y luego pasaban por 6 ubicaciones, pero muchas veces las cajas no llegaban a la sexta ubicación, sin tener información de que lugar se encontraban, tampoco se tenía certeza del tiempo que pasaba en cada ubicación y cuando salía de una y llegaba a otra (transito).

Debido a esto era muy difícil hacer una gestión activa de las entregas y realizar mejoras al proceso, optimizando los tiempos.

Para apoyar el proceso de entrega, tener control e información en línea, desarrollamos un sistema Web de monitoréo de las cajas, con su ubicación en línea y reportes, además de una App que mediante códigos de barra se permite registrar la recepción, revisión y entrega de cajas.

El sistema inicial se desarrolló en 2 semanas, partiendo justo en la fecha de una etapa de capacitación.





El sistema cuenta con 3 roles de usuarios (validador de materiales, jefe de centro de operación y relator de capacitación), uno en cada una de las ubicaciones físicas y 2 puntos de control en cada ubicación física (6 puntos de control)

Se puede ver en línea el lugar donde se encuentra cada caja y las fechas de recepción y despacho.







miércoles, 17 de julio de 2019

Proyecto - OT Móvil (Trabajos en terreno)


OT Móvil es una herramienta para la gestión y planificación de trabajos para equipos en terreno que deban registrar información y generar las evidencias de las actividades realizadas (georeferenciación, fotos, horas de inicio y término de trabajos,etc.), esto aplica para equipos que realizan actividades como:

  • Mantención de activos
  • Visitas a clientes
  • Inspecciones visuales
  • Registro de evidencias
  • Atención de instalaciones

EL sistema cuenta con una aplicación Web de gestión de trabajos y configuración de datos del sistema (usuarios, activos, personas, equipos, etc.) y aplicaciones móviles (Android e iOS) para smartphone o tablets donde se registra la información de los trabajos y tareas



Los trabajos (órdenes o tareas) se configuran y luego son ejecutados en las aplicaciones móviles, permitiendo hacerle seguimiento a todo el proceso de trabajo, desde que las tareas son creadas, asignadas, ejecutadas y cerradas.



Toda la información queda registrada y se pueden obtener reportes con detalles de los registros y los cálculos de costos y producción por orden de trabajo.

El sistema tiene reportes listos que permiten exportar a Excel y PDF los resultados.


Para mejorar el ingreso de información el sistema cuenta con formularios dinámicos configurables por el usuarios, de esta manera se pueden reemplazar planillas y formularios en papel, mejorando el control y registro histórico de documentos








El sistema permite configurar tareas simples, compuestas (con múltiples tareas) y planes de trabajo (trabajos repetitivos que cumplen una secuencia de tareas)










martes, 27 de noviembre de 2018

Proyecto - Agenda Órdenes de Trabajo electrónicas



Tuvimos la oportunidad de desarrollar un proyecto muy interesante, que permite la gestión de Órdenes de Trabajo en una herramienta de planificación Web y luego su asignación a equipos de trabajo distribuidos en diferentes partes geográficas.

Para realizar esta tarea se distribuyó aplicaciones Android e IOS a Jefes de Faena que manejaban equipos de Técnicos e Ingenieros que realizaban actividades como:

  • Lavados de líneas energizadas
  • Lavado de subestaciones
  • Corte y poda de árboles y vegetación (para evitar el corte de líneas eléctricas)
  • Órdenes de trabajo para tareas generales

Muchos trabajos se realizan en zona geográficas donde no existe red móvil o Wifi, por lo que los equipos descargan su trabajo al principio del día y luego trabajan el resto del día desconectado, cuando vuelven a la base sincronizan con el sistema backend






lunes, 26 de noviembre de 2018

Proyecto - Formulario Móvil



Hace poco tiempo terminamos el desarrollo de una aplicación interesante y que sirve para diferentes casos de uso.
La solución es simple, se crean formularios desde una aplicación Web y se distribuye a usuarios en terreno que completan los formularios desde sus dispositivos móviles (IOS y Android - Tablets o Smartphones)

Esta tipo de solución puede ser utilizada en los siguientes casos:
  • Encuestas
  • Registro de información en terreno
  • Entrega de documentos y paquetes
  • Registro de evidencia de trabajo
  • Inspecciones visuales
  • Toma de información en terreno

Por cada registro con las respuestas del formulario se almacena la información del usuario, geolocalización del dispositivo móvil y todo se puede registrar en línea o fuera de línea (en caso que no exista conexión)
















domingo, 27 de septiembre de 2015

Video Conferencia en tus Aplicaciones de Negocio (WebRTC)


Hace poco un cliente nos pidió desarrollar una aplicación Web pública, donde necesita atender a sus clientes mediante una video conferencia, que sea compatible con PC y smartphones y que no requiera comprar o arrendar equipamiento telefónico, además idealmente que no requiera de grandes servidores, pero si estaba dispuesto a pagar el arriendo de algún servicio en la nube para realizar la video conferencia.

Al estimar el costo del desarrollo de las funcionalidades de la aplicación Web y sumando los costos de licencias de las soluciones de video conferencia del mercado, la solución completa crecía mucho en costo, por lo que el proyecto se hacía inviable.

En cuanto a las soluciones de video conferencia en el mercado había varias alternativas, entre ellas:

  1. Soluciones altamente compatibles con diferentes sistemas operativos (windows, IOS, Android, MAC), con API's y SDK's de desarrollo muy completos, con servidores en la nube con una gran infraestructura, pero que requerían un pago de licencias y arriendo mensual de la infraestructura, además de los costos de integración de toda esta infraestuctura en la aplicación Web que íbamos a desarrollar.
  2. Soluciones de bajo costo y bastante conocidas (gotomeeting, Webex, etc.) que con precios muy accesibles permiten realizar las videoconferencias, pero que no contaban con ambiente de desarrollo (API/SDK) para integrar de forma completa las videoconferencias en los flujos de negocio de la aplicación (registro de usuarios, pagos en línea, agendar horas, etc.)
  3. Soluciones Hardware y Software, de alto costo, pero de baja flexibilidad de integración en aplicaciones de terceros.
Todas estas soluciones están probadas y son un primer camino para resolver este problema, incluso nosotros optamos por la opción 1, pero los costos se escapaban del presupuesto del cliente, por lo que investigamos una nueva opción disponible, y es la de utilizar WebRTC  directamente, un estándar impulsado por algunos de los principales actores de Internet (google, mozilla, W3C, Opera, etc.). WebRTC es parte de la especificación HTML5 y que ha sido implementado paulatinamiente por las empresas encargadas de desarrollar los navegadores (excepto Microsoft con Internet Explorer).

En estos momentos WebRTC puede ser utilizado en cualquier página Web mediante código Javascript y sin la necesidad de instalar ningún software en los computadores de Usuarios, por lo que lo hace una gran alternativa por su facilidad de implementación y compatibilidad con gran parte de los navegadores actuales (Chrome - en todas las plataformas- , Firefox y Opera), y con algunos esfuerzos adicionales se puede hacer funcionar en los navegadores restantes (IOS, Internet Explorer, Blackberry, etc.)

Por otra parte requiere de un desarrollo muy menor en el Servidor, que solo se encargue de presentar los usuarios que van a participar en la video conferencia (señalización).

Realizamos una pequeña demo para quien quiera probar, no es nada sofisticado, solo una prueba de concepto. Compatible con Chrome, Firefox y Mozilla


domingo, 16 de agosto de 2015

Desarrollo aplicaciones móviles Multiplataforma



Hay dos posturas cuando se trata del desarrollo de aplicaciones para dispositivos móviles (iPhone, Android, Windows Phone, BlackBerry, etc.). La primera es desarrollador aplicaciones nativas para cada plataforma, de esta forma aprovechando todas las capacidades y funcionalidades que ofrece cada plataforma, aquellos que defienden esta idea sugieren que de esta manera tienen la habilidad de crear, por ejemplo, una aplicación iOS que luce y se siente como una aplicación iOS debería ser, y usas todas las API nativas que ofrece el sistema iOS.

Por otra parte existe una segunda corriente más pragmática que sugiere que construir aplicaciones individuales para iOS, Android, Windows Phone e incluso BlackBerry (quizás :)) es una forma altamente costosa e ineficiente de crear aplicaciones, y que cualquier perdida de funcionalidad creada al utilizar herramientas de desarrollo multiplataforma (cross-platform), es solventada y pagada con el aumento de eficiencia al desarrollar la aplicación una vez y ejecutar en muchas plataformas.

Es por esto que la solución parece ser una plataforma que ofrezca un verdadero desarrollo multiplaforma, pero que permita a los desarrolladores tomar ventaja de funcionalidades específicas de la plataforma cuando sea necesario. Es ahí donde aparece Xamarin, posiblemente una de las plataforma de desarrollo multiplataforma más conocidas. Xamarin es un conjunto de herramientas de desarrollo multiplataforma que cubre todos los sistemas operativos desde un único código. Desarrolladores pueden crear aplicaciones totalmente nativas mientras crean solo un conjunto de código fuente. Xamarin ha tenido muy buena recepción a nivel mundial, en un periodo muy corto de tiempo ya tiene más de 1.000.000 desarrolladores y es usado por 100 empresas del grupo "Fortune 500 companies". 

Xamarin ha publicado nuevas versiones de sus productos, con cada vez más funcionalidades y mejoras para desarrolladores multiplataforma. Algunos de sus principales productos son:

  • Diseñador para iOS: Xamarin designer for iOS es una alternativa a Xcode de Apple, permitiendo a desarrolladores en una única interfaz de desarrollo (IDE) crear toda la aplicación. El diseñador permite crear y modificar iOS storyboards e incluye soporte para auto-layout.
  • Xamarin.Forms: Xamarin.Forms es un API que permite a los desarrolladores crear interfaces (pantallas) compartidas para iOS, Android y Windows Phone.
  • Nuget: Xamarin 3 tiene soporte completo para el uso de Nugets, un sistema de administración de paquetes y dependencias para ambientes .NET, que permite el uso de librerías de terceros de formas más fácil.
  • Proyectos Compartidos. Visual Studio 2013 introdujo el concepto de proyectos compartidos, como una forma de compartir código para aplicaciones multiplataforma, y desarrolladores Xamarin pueden usar estos proyectos para compartir código en sus proyectos IOS, Android y Windows, tanto en Xamarin studio o Visual Studio.
  • PCL: Bibliotecas de clases compartidas (PCL por sus siglas en inglés) ofrece un mecanismo para construir bibliotecas que son consumidas en un rango de .NET Runtimes, incluyendo Xamarin.iOS y Xamarin.Android, Windows Phone, Windows Desktop, Silverlight y Xbox
  • Soporte F# - Xamarin Studio viene con soporte nativo para construir aplicaciones IOS y Android usando el lenguaje funcional F#

Es difícil no estar emocionado por una plataforma que ofrece a los desarrolladores lo mejor de ambos mundos - la capacidad de codificar una vez, y que puede funcionar en cualquier plataforma de forma nativa. Desarrolladores inteligentes utilizarán un conjunto de herramientas como Xamarin para cortar la mayor parte del proceso de desarrollo y luego construir los aspectos de aplicación específicos de cada plataforma. Después de todo, una gran proporción de código escrito para cualquier aplicación es genérica en todas las plataformas, las funcionalidades específicas de la plataforma es una franja delgada encima de eso y por lo tanto, tiene sentido poder combinar las partes que pueden ser genéricas en todas las plataformas.

Por supuesto Xamarin no es la única opción multiplataforma que hay. Como era de esperar dado el auge de las aplicaciones móviles, hay una serie de otros conjuntos de herramientas que los desarrolladores pueden escoger - Apache Cordova, Appcelerator y Sencha son tres ejemplos. Sin embargo, dada la magnitud de la oportunidad de desarrollo de aplicaciones móviles hay un montón de oportunidades para un número de jugadores. Las últimas versiones de Xamarin ayudan a justificar que ocupe uno de esos lugares.

Este artículo apareció originalmente en Forbes.com, y ha sido adaptado y modificado.




martes, 7 de abril de 2015

iBeacon Manager (Gestor de contenidos)






Hemos estado trabajando en un sistema que permite administrar el contenido que es desplegado por un smartphone cuando está en contacto con un iBeacon, este es un extracto de un documento con una breve explicación.

1     Ibeacon Manager

1.1      Gestión de contenidos

El sistema de gestión de contenidos permite administrar las notificaciones y contenidos que son desplegados en el Smartphone, en cada etapa de la interacción.



Se configuran los datos básicos que identifican un iBeacon y que requiere el Smartphone para monitorear su señal



Los elementos multimedia que serán desplegados en el Smartphone cuando el Usuario entre en contacto con el iBeacon


Esta información es luego desplegada en el Smartphone, en forma de notificaciones o multimedia (en caso que la aplicación esté cerrada o activa)

Notificación cuando la Aplicación se encuentre Cerrada o Inactiva
Información multimedia cuando la Aplicación está abierta

 

1.2      Reportes y estadísticas

1.2.1 Contadores

El sistema registra contadores por fecha de la cantidad de interacciones entre los clientes y un iBeacon en particular



1.2.2 Tiempo y sesiones

Se puede visualizar la cantidad de tiempo que permanecen los clientes cerca de un iBeacon. 
Promedio de tiempo (segundos) por distancia y fecha

Tiempo (segundos) por distancia de cada sesión

1.3      Monitoreo en tiempo real

Se puede visualizar contadores en tiempo real de la posición de clientes para cada iBeacon y distancia



1.4      Información Técnica

1.4.1     Componentes

La solución está compuesta por 3 componentes:
·         Aplicación móvil (iPhone/Android) encargada de descargar la información de los iBeacons desde el gestor de contenidos y luego presentarla al usuario
·         IBeacons Manager, aplicación que permite la gestión de los contenidos que son presentados por el Smartphone
·         Servicios de Integración que permite la comunicación entre el BackEnd y las aplicaciones móviles

1.4.2     Diseño Arquitectura