Cómo ayuda la automatización al comercio electrónico

Gestionar las tareas que se realizan a diario en una comercio online es laborioso. De todas ellas hay muchas que son repetitivas, y por ello hay que automatizar, para ser más eficientes.

Atencíón al cliente, preparación de pedidos o envíos, gestión y envío de inventarios, integración de datos entre canales, pagos de los clientes y gestión de sus datos, cálculo del pago de colaboradores… son algunas de las labores que necesariamente se deben realizar. Y se pueden automatizar por medio de soluciones que recopilen datos de distintas fuentes dentro del negocio y que utilicen esta información para realizar los procesos automáticamente.

La automatización permite controlar las complejas operaciones omnicanal y facilita la tarea del propio empresario y el equipo de trabajo.

Beneficios de la automatización

  • Se reducen los procesos manuales que realizan los empleados
  • Se agilizan aquellos procesos que están relacionados con el cumplimiento de requisitos reglamentarios y legales.
  • Permite que los empleados creen valor al disponer de más tiempo para dedicar a tareas especializadas y no administrativas de las que se encarga el software y el hardware.
  • Se reduce mano de obra innecesaria.
  • Se cometen menos errores.

En definitiva se reduce la carga de trabajo diaria automatizando aquellas tareas repetitivas. Y eso ya es una ventaja por sí misma, pero es que además, libera tiempo para dedicarlo a tareas más productivas, como buscar nuevas fórmulas para llegar a los clientes y de esa manera impulsar el crecimiento del negocio. Transforma el tiempo menos productivo en dinero.

¿Cómo se automatiza?

El primer paso para automatizar procesos es conocerlos. Analizando cómo se trabaja en la empresa, describiendo por escrito que es lo que se está haciendo, ya logras algunas ventajas, aún sin haber automatizado nada: 

  1. Puedes definir la metodología, lo que te ayuda a mejorarla, al descubrir pasos o procesos ineficientes. Eres más eficiente.
  2. Si tienes métodos es más fácil que otros puedan desarrollar ese trabajo, tanto el personal de la empresa, como las nuevas incorporaciones. Sigues mejorando en eficiencia.

Para automatizar procesos es posible que necesites desarrollar software o sistemas complejos. Parte del trabajo puedes realizarlo con tus propios recursos, pero es interesante que cuentes con ayuda especializada: zapatero a tus zapatos. 

Crear algunas hojas de cálculo o bases de datos puede incluso hacerlo tú mismo o alguien del equipo, pero si va más allá deberás ser cuidadoso, para que la solución no plantee más problemas de los que quieres solucionar.

Si tienes que recurrir a recursos externos, hay un par de cuestiones a considerar. Trabaja con proveedores que estén alineados con tu forma de trabajar, es importante que las filosofías sean compatibles con las organizaciones y los objetivos. Podrías encontrarte con que para automatizar ciertos procesos te obligue a pasar procesos de certificación o implantar metodologías excesivamente complejas. Vete poco a poco, por lo tanto elige a los que te planteen soluciones flexibles, que puedas desarrollar incluso a lo largo de varios años.

Tras el proceso de creación de las soluciones, será el personal el que debe aprender a utilizar las nuevas herramientas. Idealmente habrán participado en el proceso de desarrollo, es importante que lo sientan como algo suyo, para evitar fricciones o un rechazo que podría traducirse en serios problemas. En los casos más graves puede concluir en la pérdida de la inversión realizada y sobre todo del tiempo empleado.

El proceso de automatización debe implementarse como una hoja de ruta que especifique qué se quiere automatizar, quién participará y cómo se continuará.

La automatización impulsa el crecimiento del comercio electrónico

Todo lo explicado hasta el momento podría aplicarse a cualquier organización, pero es aún más importante en el caso de las empresas dedicadas al comercio electrónico. En el entorno del e-commerce te debes enfrentar a constantes desafios, tienes que ser lo más eficiente posible y encontrar la forma de ser más eficiente que tus competidores. Escalar el negocio es imprescindible para cualquier organización, pero mucho más en el territorio salvaje de Internet, en la mayor parte de los casos crecer es la única forma de sobrevivir.

Los clientes son cada vez más demandantes, exigen más servicios y una mejor atención. Las herramientas que automatizan tareas repetitivas y engorrosas reducen la complejidad de las operaciones y ahorran tiempo. Estas soluciones nos acerca más a los clientes, nos ayudan a entender mejor sus necesidades. Y todo ello se traduce en oportunidades, que además te permiten centrarte en las estrategias de crecimiento, sabiendo que la parte más "mecánica" está correctamente engrasada.

¿Puedes no automatizar tu e-commerce?

A un nivel básico se trata solo de analizar como funciona tu negocio. ¿En serio no te puedes permitir invertir ese tiempo o contratar a alguien que lo haga? Si es así, algo no está funcionando en tu negocio y aún es más importante que saques tiempo para analizar porque no puedes funcionar como una empresa moderna.

Es más, si te haces esta pregunta espero que solo sea desde un punto de vista puramente temporal. Qué el único condicionante sea la oportunidad de empezar hoy mismo. Porque debe ser obvio para ti, que no es posible que puedas competir sin mejorar tus procesos en algún grado. Y eso implicará más o menos automatización, pero que la mejora no forme parte de tu filosofía empresarial no es una opción, porque sencillamente es una garantía para el fracaso.

No tiene sentido realizar tareas de forma manual cuando hay herramientas para hacerlo de forma automática y perder un tiempo muy valioso que se puede dedicar a otras cosas. Además es que en muchos casos ni siquiera supone una gran inversión. Simplemente no es razonable no querer ser más eficaz, más competitivo, conseguir un mayor beneficio. 

Así que sí, tienes que automatizar. Solo tendrás que buscar la estrategia más adecuada de acuerdo con la realidad de tu empresa y tus necesidades.

Imagen: Rodolfo Clix

Pequeños y grandes hitos en la historia de la informática y el software

El hombre siempre ha tenido desde siempre la necesidad de hacer más en menos tiempo. Desde que la humanidad inició su camino hasta hoy, no se ha dejado de automatizar todo aquello que era necesario repetir. Nos remontaremos en el tiempo para entender cómo ha sido esta evolución y hemos llegado al momento actual. Huelga decir que todo se ha acelerado extraordinariamente. En la antigüedad, de un descubrimiento significativo a otro podían pasar siglos. En las últimas décadas la evolución es constante, explosiva, casi exponencial.  El pasado es un escenario de miles de años, en el que han ocurrido hechos extraordinarios. Aquí no están todos los que son, pero sí son todos los que están. ¿Me acompañas en este viaje?

Antes de llegar al término software definamos que es, en lenguaje sencillo: son los programas que utilizamos todos. Los sistemas operativos, la inteligencia que controla nuestros ordenadores, móviles o lavadoras. Una definición más formal del software sería el soporte lógico, el código, de un sistema informático que permite realizar las tareas demandadas, como ordenar y procesar datos, por tanto hablamos de lógica y automatización, en procesos que se repiten continuamente.. 

Para iniciar este viaje nos remontamos hasta los primeros escritos de Herón de Alejandría, en los que aparece la palabra automatización, hacia el siglo I después de Cristo. Este sabio dejó extensos tratados sobre geometría y física aplicada. Así como inventos tan peculiares para la época, como la primera máquina expendedora o unas puertas automáticas. Aunque sus inventos encajan mejor en la categoría de hardware, no cabe duda de que son dos buenos ejemplos de automatización.

Damos un salto ahora hasta el siglo XII, el mecánico e inventor Al-Jazari construyó lo que se considera la primera máquina programable. Se trataba de una una especie de orquesta autómata, compuesta por figuras que mediante engranajes, ejes de levas y la energía de una pequeña noria de agua, permitía imitar los sonidos, haciendo música. Sin embargo, lo característico de este objeto era que se podía configurar para modificar el ritmo y la forma de tocar, era programable.

En el siglo XV, Güttemberg, orfebre alemán, también aportó su granito de arena con la imprenta de piezas móviles, que supuso un avance brutal para la época. Aunque se le atribuye su invención, los chinos en el siglo XI ya diseñaron un sistema de letras móviles con piezas de porcelana. Y se asegura que los romanos en el siglo V antes de Cristo ya imprimían inscripciones en objetos de barro. Aunque el ejemplo más antiguo de un objeto con inscripciones mediante sellos se remonta probablemente al siglo XV a. C, se trata del disco de Festo o Faístos.

En el mismo siglo, el extraordinario y clarividente Leonardo Da Vinci inventaba y experimentaba entre otras cosas, con la ingeniería y construía un autómata humanoide, un guerrero que podía reproducir muchos de los movimientos de un humano. 

Fue en el XVI, cuando Giovani Torriani, conocido como Juanelo Turriano, diseñó el Ingenio de Toledo, que permitía llevar agua desde el Tajo hasta el Alcázar, situado a más altitud que el cauce. Aprovechando la fuerza del propio río, un sistema de brazos de madera iba pasando el agua de uno a otro, salvando el desnivel. El sistema funcionó hasta principios del siglo XVII.

Damos un paso más. En 1642, Blaise Pascal, diseñó y construyó la primera calculadora mecánica de trabajo, que funcionaba a base de ruedas y engranajes, la Máquina aritmética o Pascalina. Con ella se podía sumar y restar dos números de forma directa y multiplicar y dividir por repetición.

En 1673 Gottfried Leibniz diseñó una máquina aritmética, con la que se podían realizar multiplicaciones moviendo una parte móvil hacia la izquierda. Era una versión mejorada de la de Pascal. El sistema era tan bueno que se ha utilizado hasta 1960 en las calculadoras mecánicas. Leibniz propuso un sistema binario para hacer cálculos de forma más sencilla, que al parecer ya se utilizaba en algunas sociedades ancestrales. Concretamente por los nativos de Mangareva, una pequeña isla de la Polinesia, que se adelantaron al genio en varios siglos. Ellos crearon sistemas binarios para llevar una contabilidad rudimentaria de los productos agrícolas y animales. Al parecer, estos habitantes polinesios, aún desarrollaron más sus matemáticas a partir de este sistema de cálculo.

En 1804, Joseph Marie Jacquard, tejedor y comerciante Frances, creó un telar programable basado en un sistema de tarjetas perforadas, que permitían el paso de las agujas y conseguía que se pudiera repetir el modelo tantas veces como se quisiera. Se considera la más antigua forma de programación.

Su trabajo inspiró a Charles Babbage, considerado padre de la moderna computación. Diseñó máquinas que ya podían realizar operaciones complejas. Estas máquinas de cálculo se hicieron muy populares a finales del siglo XIX. 

Ada Lovelace colaboró con Babbage, creó un algoritmo para calcular los números de Bernoulli. Se considera como el primer programa de ordenador para  la Máquina Analítica diseñada por Babbage, aunque nunca llegó a construirse y el programa no estuvo en funcionamiento. 

En 1847, George Boole da un paso más y utiliza el álgebra para expresar, manipular y simplificar problemas de lógica proposicional cuyos argumentos admiten dos estados, verdadero o falso, representados por el 1 y el 0. Por ello se le considera uno de los fundadores en el campo de las Ciencias de la Computación. Su contribución se conoce como el Álgebra de Boole y a los valores lógicos se les denomina booleanos.

En 1885 Herman Hollerith inventó un tabulador electromagnético, que funcionaba con tarjetas perforadas que resumían todo tipo de  información y tiempo, para más tarde usarse en contabilidad y el proceso de las nóminas. Es un hito que marcó el comienzo de la semi-automatización del procesamiento de datos de sistemas, en lo que se basó todo lo que se creó hasta un siglo después. Se le considera el primer informático, por tratar la información de forma automática. No en vano su empresa acabó formando parte de la archifamosa IBM.

Charles Xavier Thomas de Colmar inventó el aritmómetro en 1887. Era una versión mejorada de las anteriores, ya que tenía capacidad de realizar sumas, restas, multiplicaciones y divisiones que no tuvieran resultados de más de 12 cifras. En un principio no podía programarse para cálculos en sucesión. Tampoco tenía memoria para conservar un resultado parcial, aunque mejoras posteriores fueron solucionando estas cuestiones, acercándolo a lo que entendemos en la actualidad por una calculadora. Fue un éxito ya que se convirtió en la primera calculadora comercial.

Ya en el siglo XX, Howard Aiken desarrolló un dispositivo electromecánico de computación, inspirado en la Máquina Diferencial de Babbage, basado en tarjetas perforadas y una unidad central de cálculo que le permitía resolver ecuaciones diferenciales. Se llamó Automatic Sequence Controlled Calculator (ASCC) y más tarde Harvard Mark I. Recibió financiación de IBM, y con la ayuda de Grace Hopper se terminó de construir en 1944. Como se puede ver, el software ocupa un papel cada vez más relevante.

Claude Elwood Shannon sentó las bases de la teoría del diseño del ordenador digital y el circuito digital en 1937, así como uno de los ladrillos básicos sobre los que se ha desarrollado el software y el mundo digital. Desarrolló el método para expresar la información de forma cuantitativa cuya magnitud principal es el bit. Trabajando con Vannevar Bush en el analizador diferencial, ordenador analógico, se le ocurrió aplicar al álgebra de Boole el sistema binario, para simplificar el proceso. Demostró cómo usar interruptores eléctricos con dos opciones, apagado 0, encendido 1, para resolver operaciones aritmético-lógicas utilizando el álgebra de Boole. Con esto consiguió pasar del procesamiento analógico al digital y sentar las bases de la moderna informática. 

No acabó aquí su contribución ya que en su paso por los Laboratorios Bell, compartió conocimientos con William Shockley, inventor del transistor, precursor del chip, o George Stibitz, que creó los primeros ordenadores basados en relés. También contribuyó a desarrollar el campo del criptoanálisis. En aquellos años los Bell Laboratories eran una de las principales fuentes del conocimiento mundial. Su contribución al desarrollo de la industria del software es inmensa, y al de la tecnología digital, en general.

Alan Turing definió en 1937 la conocida como máquina de Turing, una máquina calculadora de capacidad infinita, que funcionaba con unas instrucciones lógicas básicas, lo que podría considerarse el concepto moderno de algoritmo. Un sistema automático con reglas muy simples que podían realizar cualquier operación matemática, expresada en un lenguaje formal. Las anteriores a la máquina de Turing no eran de propósito general, estaban ideadas para cumplir una sola función con un conjunto de variables dadas. También desarrolló un test para comprobar si una máquina era capaz de pensar como un humano, que aún se utiliza en la actualidad.

Hablemos de la International Business Machine. IBM construyó su imperio, sobre todo, alrededor de la tabuladora de Hollerit que se menciona anteriormente. Durante más de 30 años desarrollaron el producto hasta un nivel de sofisticación que solo pudo superarse con la llegada de los ordenadores digitales. Esa fue la base del enorme crecimiento e influencia de IBM, hasta que Thomas John Watson Jr. se pone al frente, sucediendo a su padre. Tras su llegada transforma la compañía, hace de los ordenadores su línea de negocio principal, reemplazando las tarjetas perforadas, por dispositivos de almacenamiento magnético. Entramos en la era de la informática moderna.

En los años 40, John Von Neumann desarrolla una arquitectura de computadoras, pensando en la reconfiguración permanente de los primeros ordenadores ENIAC, que ha perdurado hasta nuestros días. Esta es otro de los pilares sobre los que se asienta la moderna informática. En ella los programas se almacenan en una única memoria que permite que los comandos se ejecuten de la misma manera que los datos. Cada celda de la máquina tiene una dirección, que es un número único. Los comandos y los datos tienen distintos modos de uso, pero la estructura no se representa en memoria de manera codificada. Los programas se ejecutan de forma secuencial, y salvo otra orden, comienzan con la primera instrucción. Los controles de transferencia condicional, el IF famoso, los bloques repetitivos, los FOR o WHILE, forman parte de cualquier lenguaje de programación actual.

Grace Murray Hopper participa en el proyecto del ordenador Mark I en 1944. Y en 1957 crea el primer compilador de lenguajes de ordenador, que se llamó Flow-Matic. En la actualidad, los compiladores siguen siendo una herramienta esencial en la programación con muchos lenguajes. También tuvo un papel importante en el desarrollo del lenguaje COBOL.

William Shockley recibió junto a John Bardeen y Walter Houser Brattain el Premio Nobel de Física en 1956 por sus investigaciones y por la construcción de semiconductores que sustituirían a los tubos de vacío. Estos semiconductores, utilizados inicialmente en los transistores y más tarde en dispositivos como los circuitos integrados, permitieron que los ordenadores pasaran de centenares o miles de operaciones por segundo, a los miles de millones de operaciones de los dispositivos actuales. Gracias a ellos se miniaturizaron circuitos de radio, televisión y equipos de ordenadores, lo que contribuyó al desarrollo de la electrónica y la informática.

Pongamos en contexto las implicaciones del cambio que se crea a partir del invento de Shockley. La potencia de ordenador se mide en FLOPS. Un FLOP es una operación de coma flotante por segundo. El ordenador más potente de la actualidad, el Summit de IBM, puede alcanzar los 122 petaFLOPS, esto es 122.000 billones de operaciones por segundo. Para hacernos una idea, un ordenador de válvulas de los años 50 apenas alcanzaba los miles de FLOPS, en algunos casos incluso cientos. Por hacer una comparativa, el coste por teraFLOP hoy es de unos pocos dólares, menos de 30, para un ordenador no excesivamente sofisticado. En 1961, basado en la potencia de cálculo y coste de un IBM 7030, hubiera costado la friolera de 156,8 billones de dólares. 156 billones frente a 30 ¿Te haces una idea de porqué los ordenadores hacen cada vez cosas más complejas? El software, con esa potencia de procesamiento puede conseguir cosas inimaginables hace un par de décadas.

Volvamos a 1957 cuando IBM anunció oficialmente el lenguaje de programación Fortran. Desarrollado por John Backus, con un brillante equipo de ingenieros y científicos, será el precursor de los modernos lenguajes de programación. Antes de Fortran casi todo era código ensamblador. Es a finales de los 50 cuando confluyen muchos de los elementos, de hardware y software, que hemos heredado en la informática actual.

El término software parece que se lo debemos a John W. Tukey. Aparece en 1958, en un artículo en el American Mathematical Monthly. Tukey fue un brillante matemático, creador de conocidos algoritmos como el de la Transformada Rápida de Fourier, FFT en inglés.

También sobre 1958, aparece el lenguaje de programación ALGOL. Es uno de los vario lenguajes que surgieron del Reporte Preliminar de la IAL celebrada en Zurich aquel mismo año. A partir de este informe y del lenguaje se desarrollarán en años venideros Pascal, C, C++ o Java, entre otros.

En un final de década portentoso, COBOL llega en 1958. Es el primer lenguaje que tiene la vocación de correr en diferentes plataformas. Fue diseñado por un consorcio de empresas informáticas y el Departamento de Defensa de Estados Unidos. Se inspira en los lenguajes Flow-Matic de Grace Hopper y el IBM COMTRAM, desarrollado por Bob Berner. En la actualidad aún se utiliza y forma parte de la informática de bancos, aseguradoras y grandes corporaciones.

Joseph Licklider, fue un visionario que en 1962 describió la Galactic Network, básandose en un trabajo previo de Leonard Kleinrock. Describió una red de ordenadores interconectados que permitiría el acceso a cualquier persona desde cualquier lugar del mundo. Lo que entraba prácticamente en el terreno de la ciencia ficción en aquel momento, hoy es Internet. Trabajó en ARPA, donde se establecieron las bases de ARPANET el germen de Internet, y también para BBN, empresa que suministró los primeros ordenadores conectados a ella.

BASIC surge en 1964, creado por John Kemeny y Kurtz Thomas. Desde entonces se desarrollaron centenares de variantes para todas las plataformas informática. Hoy está en desuso, pero Visual Basic sigue siendo el corazón de muchas aplicaciones.

Niklaus Wirth crea Pascal en 1968, con el objetivo de contar con un buen lenguaje de programación orientado a la enseñanza. Pascal era un compendio de las mejores características de los lenguajes usados en aquella época, se basa en COBOL, FORTRAN y ALGOL. Es el puente entre los antiguos lenguajes y los de tercera generación.

A partir de los años 70 los lenguajes de tercera generación aparecen con fuerza: C, C++, Smaltalk, Delphi, Java o PHP entre otros. Algunos lenguajes incorporan características de la cuarta generación, entre otros Python o Ruby. No dejes que las generaciones te engañen, aunque cada una beben de las anteriores, son una evolución, pueden llevar con nosotros mucho tiempo. Por ejemplo entre los lenguajes de cuarta generación tendríamos todas la variantes tipo Dbase: Dataflex, Xbase, Clipper o Foxpro, entre otros. Son todos lenguajes que surgen en los 80. ABAP, R o PL/SQL forman parte de este grupo de lenguajes.

El lenguaje C, uno de los más icónicos de la historia de la informática, fue creado por Dennis Ritchie y Ken Thompson entre 1969 y 1972. Se desarrolla como herramienta para la creación de sistemas operativos, pensando en UNIX, que será concebido por el mismo equipo en paralelo. Tanto en el desarrollo del lenguaje como del sistema operativo también participaron Brian Kernighan y Douglas Mcllroy.

Y en este punto entra en escena Vinton Cerf, que lideró el desarrollo del protocolo TCP/IP e Internet. TCP/IP aparece en 1972 de la mano de Cerf y Robert Kahn. Pese al ingente trabajo previo de muchos otros, desde los 60, se les considera los padres de Internet.

En 1973, la red global se hace realidad. El University College of London y la Royal Radar Establishment en Noruega se conectan a ARPANET

Se empieza a usar el término Internet, que aparecerá en diciembre de 1974 en el RFC 675: Internet Transmission Control Program. En el mismo año aparece el primer Internet Service Provider, Telenet.

También en 1974 se publica SEQUEL: A Structured English Query Language, que se considera la puesta de largo de lo que sería SQL, el lenguaje de base de datos más extendido de la actualidad. Considerado en buena medida un estándar, debemos agradecer su existencia a Donald Chamberlain y Raymond F. Boyce, que comenzaron a desarrollarlo para los sistemas de la empresa a principios de los 70. Hijas de SQL son bases de datos tan conocidas como DB2, Oracle, MS Sql Server, MySql o PostgreSql, entre muchas otras.

Dan Bricklin y Bob Frankston, desarrollan la hoja de cálculo VisiCalc en 1979. Aunque hay conceptos previos, fue la primera implementación eficiente de una herramienta imprescindible hoy en día. Marcas como Apple probablemente no habrían crecido como lo hicieron, si VisiCalc no tuviera una versión para Apple II. Se comenta que un 25% de las ventas de Apple, de un ordenador de 2.000$, se debían a VisiCalc, un software de 100$. El competidor Multiplan apareció en 1982, pero quien les dejó fuera del mercado fue Lotus 1-2-3, probablemente el software de hoja de cálculo más popular, hasta la llegada de Excel. 

En 1979, Bjarne Stroustup, que trabaja también en el entonces ATT&Bell Labs, empieza a desarrollar en un lenguaje C con clases, tomando elementos del lenguaje Simula. En 1983 nace oficialmente C++, el estándar de programación de facto en UNIX y todos sus derivados Open Source, incluyendo las decenas de variantes de Linux.

En 1982 se publica el RFC del protocolo SMTP sobre el que se basa el servicio de email. Aunque el primer programa de email lo crea en 1971 Ray Tomlinson en ARPANET, no será hasta la llegada del SMTP que el correo electrónico empiece a desarrollarse en serio.

En 1983, a partir de los desarrollos de Cerf, Kahn y muchos otros, ARPANET, la precursora de Internet, implanta el protocolo TCP/IP, como el estándar del sistema.

En 1983 la revista BYTE dice de Wordstar “sin duda el programa de procesamiento de texto más conocido y probablemente el más usado en PC”. ¿Te acuerdas de él? Pues Wordstar fue ideado por John Robbins Barnaby en 1979, sobre desarrollos previos como WordMaster.

Mitch Kapor, empleado de Visicorp, creadores de VisiCalc, lanza en 1983 el software de hoja de cálculo Lotus 1-2-3. Cofundó la Electronics Frontier Foundation en 1990 y participó en el lanzamiento de la Mozilla Foundation en 2003.

Durante 1987 John McAfee fundará la más importante empresa de antivirus en aquel momento. El papel del antivirus McAfee en los años sucesivos es otro hito muy importante de esta pequeña historia. La guerra de virus y antivirus se mantiene hasta nuestros días, siendo los sistemas de Microsoft primero y los de Android después, los favoritos de los piratas informáticos. Apple va salvando la cara, en general.

Con todo lo sucedido en las tres décadas anteriores, parece que en la vertiginosa década de los ochenta no hubiera pasado nada sustancial, y así es, al menos en términos de lenguajes o técnicas relevantes. Pero no debemos olvidar que en estos años está desarrollándose la informática personal, sobre la que se asentará el mundo digital.

Por ejemplo, Tim Berners-Lee publica en 1989 su propuesta sobre el protocolo de transmisión de internet, que estuvo desarrollando los años anteriores. Crea URL, HTTP, la World Wide Web, HTML y el primer navegador. En un ratito como quien dice, ha transformado el mundo. Probablemente sea la persona que ha creado las piezas informáticas más importantes de la historia.

La primera versión de Linux vio la luz en marzo de 1991. Fue y es, el trabajo de otro visionario de la informática y el software: Linus Torvalds. Además de crear uno de los sistemas operativos cruciales sobre el que descansa todo el ecosistema digital, es uno de los precursores e impulsores del movimiento Open Source. Sobre variantes de Linux corren la mayor parte de servidores y sistemas que gestionan Internet, las comunicaciones y hasta los teléfonos móviles. Android es otra variante que utiliza el kernel de Linux.

Guido van Rossum es el creador de Python, otro lenguaje icónico en la tecnosfera actual. Publicó la versión 0.9.0 en 1991. La versión 1.0 vio la luz en 1994. En los últimos años ha ganado una enorme tracción y es cada vez más popular por su flexibilidad.

Y como también hay que divertirse, hay que destacar la llegada de Doom, uno de los primeros juegos FPS, first-person shooter, que también representó un hito en la historia informática. Los juegos ya no fueron iguales a partir de 1993, cuando se lanzó Doom al mercado. El director del proyecto fue John Carmack.

Yukihiro Matsumoto crea en 1993 Ruby. Y lo presenta públicamente en 1995. Ruby ganó la atención de los profesionales con la aparición de Ruby on Rails, conocido como RoR. Fue desarrollado por David Heinemeier Hansson, durante su trabajo en el proyecto Basecamp, en 37signals. La aparición de Basecamp y otros productos de la compañía supusieron un revulsivo en el sector. La primera versión de RoR se liberó en 2004.

Marc Andreesen, creó Netscape en 1994. Este navegador es el sucesor de Mosaic, una versión previa que estuvo poco tiempo en el mercado. Y a partir de ellos surgiría el actual Firefox. Responsable también de la llegada del lenguaje de programación JavaScript, el más popular de la actualidad y de piezas críticas para la programación de Internet como las CSS.

El lenguaje PHP apareció el mismo año. De ser poco más que un experimento de Rasmus Lerdorf, su creador, se ha convertido en el lenguaje que gestiona la mayor parte de los sitios de Internet. PHP es utilizado en cerca del 80% de los proyectos, a mucha distancia de Java o los lenguajes de Microsoft.

La primera versión pública de Java se conoció también en 1994. Fue desarrollado en Sun Microsystems por un equipo liderado por James Gosling. Java es el lenguaje de los sitios de los proyectos grandes, aunque su uso no está tan extendido. En España Hacienda y las instituciones públicas son muy de Java. Un auténtico peñazo, con perdón, por la forma en que lo implantan.

En 1995 Brendan Eich, incorporación que se hizo en Netscape, desarrolla lo que primero se llamó Mocha, después LiveScript y más tarde JavaScript. Es curioso el fenómeno de este lenguaje que de ser considerado como menor, con demasiadas debilidades, ha evolucionado en otros mucho más sólidos y potentes, que se han convertido en el corazón de las aplicaciones del lado del cliente.

Y saltamos hasta 2011. No es que en años anteriores no haya habido novedades, C# o Swift por ejemplo, son muy importantes en sus correspondientes ecosistemas. Pero en un entorno dominado por la web, son los lenguajes que tienen que ver con ella los que tienen más posibilidades y la mayoría son interpretados, no compilados. ¿Por qué hasta 2011? Por Dart. El lenguaje multiplataforma y multidispositivo de Google. Tienen mucha papeletas para estar entre los triunfadores en los próximos años. Y en esto he acertado un par de veces.

Desde la llegada del nuevo siglo, el software y los lenguajes de programación no han dejado de evolucionar. Pero probablemente nada ha avanzado tanto como los entornos de programación, los IDEs y los frameworks. La auténtica revolución a lo largo del siglo XXI se está produciendo ahí. Veremos cosas muy interesantes, pero si este repaso nos deja alguna lección es que algunos productos por fantásticos que nos parezcan no llegan a popularizarse y, en otros casos, debe pasar bastante tiempo para que ganen la atención de los profesionales. 

Veremos lo que nos deparan la IoT, el Big Data y la AI, los nuevos dispositivos que llegarán y como interactuaremos con ellos. Será necesario crear toneladas de software. La próxima década promete.

Artículo escrito conjuntamente por Jose Valle y Pilar Everss

Imagen: Kolossos

Automatización: cómo convertir en ingresos el tiempo y la experiencia

Hay dos temas que nos obsesionan a los que tenemos que lograr que una organización funcione: cómo generar ingresos y cómo sacar más partido al tiempo que dedicamos a ello. En unos casos para ser más eficientes y obtener una mayor rentabilidad, en otros simplemente para vivir un poco mejor. Casi nada. La tecnología puede hacer mucho, pero en este caso la pieza fundamental, el detonante, eres tú.

Para ganar dinero en serio, como empresario, tienes dos importantes commodities que poner en valor: tu tiempo y tu experiencia. Por supuesto, si no eres un profesional o un empresario individual, me refiero al tiempo y experiencia combinados, los de toda tu organización.

En España a veces commodity se utiliza para referirse a aquellos productos que sirven para atraer clientes, a servicios básicos que cualquiera puede prestar. Un amigo profesor de marketing utilizaba siempre como ejemplo la pistola, la barra de pan típica en algunas zonas de España. Pero realmente el concepto básico aquí, hace referencia a algo fundamental, la pieza esencial de un negocio.

No me voy a poner en plan vendedor de crecepelo o experto en temas cuasiempresariales, no es mi rol y seguro que hay profesionales que tienen mucho que decir sobre esos aspectos. A mí me preocupa cómo hacer negocio con los recursos que tienes, cómo sacarle más partido a lo que sabes, al tiempo que dedicas a tu negocio. Y esto aunque es una cuestión fundamentalmente técnica, que es lo mío, tiene un transfondo humano obvio que hay que tener en cuenta.

¿Cómo se puede ganar más dinero haciendo lo mismo?

Probablemente es la pregunta más importante que subyace en la mayoría de los proyectos. Se formula de formas muy diferentes, a veces incluso ni se plantea, pero es la preocupación con la que más a menudo me encuentro. Sabiendo lo que sé y con los recursos que tengo ¿cómo se gana más dinero? Y la respuesta es sencilla: sobre todo se trata de hacer lo que ya hacemos de una forma más eficiente.

Y esto lo podemos enfocar de varias formas: 

  • Ofertar soluciones que cubran mejor las necesidades de los clientes actuales
  • Entregar más valor por el mismo o menos dinero tanto a los clientes existentes, pero sobre todo a nuevos clientes
  • Ofrecer nuevos productos o servicios basados en nuestra experiencia, algo que va muy bien tanto con los actuales, como con los nuevos.

Creo que si estás leyendo estas líneas estás en el nivel en que esas tres propuestas te parecerán realizables. Otro tema es que el día a día te permita colocar todas las piezas en tiempo y forma. No queda más remedio que priorizar y delegar.

Como dice otro buen amigo del ramo, las tareas claves de un empresario son dedicarse a hacer aquello que produzca ingresos y a mejorar los procesos, para que otros puedan participar en la generación de ingresos. Eso y cobrar, son las tareas más importantes de una empresa. Se trata, sobre todo, y como no podía ser de otra forma, de dedicar tu tiempo a lo productivo. Lo demás debes delegarlo sí o sí. Y si aún no has empezado a hacerlo, tienes que encontrar la forma.

La automatización que nos arrastra

Hay que procedimentar todo lo que sea posible. Es el primer paso en una economía en la que serán las máquinas, los sistemas, la inteligencia artificial, las que se encargarán de una buena parte del trabajo, de atender a los clientes, definir los procesos, escribirlos. Un empleado que tiene una experiencia limitada, puede entregar mucho más valor a la empresa y los clientes si está definido, si sabe cómo hacerlo. Y en muchos casos, esas tareas que realiza un empleado las puede hacer igual o mejor una máquina en algún tipo de proceso automatizado.

Es bastante más fácil de lo que parece, pero cuesta algo de trabajo. Lo mejor es empezar por dedicar un tiempo todos los días, durante el que no puedes ser interrumpido a ordenar los temas de tu empresa o departamento. Una vez tengas una lista podemos empezar por lo que más tiempo consume, siendo una tarea más o menos simple. O directamente por aquello que es fácil de automatizar. O por lo que ofrece más oportunidades de mejorar los ingresos. Realmente puedo ayudarte tanto a definir y crear los procedimientos, como sobre todo, a automatizarlos. Puedo unir los puntos, pero el primer paso depende de ti.

¿Ponemos tus dos principales valores a trabajar? ¿Sacamos el máximo partido posible de tu experiencia y el tiempo que quieres dedicar al negocio?

 

 

 

La era de las APIs. Llegan los microservicios

Tal vez no lo sabes, pero hace años que estamos inmersos en un mundo en el que las máquinas hablan entre sí. Cuando comenzaron a hacerlo, respondían de forma simple, solo aquello para lo que habían sido programadas. Ahora algunas cosas están cambiando y eso va a afectar a la forma en la que las personas interactúan, a nuestros proyectos y negocios.
 

Qué es y cómo funciona una API en 3 minutos

API es el acrónimo de Application Programming Interface, en español Interfaz de Programación de Aplicaciones. Básicamente una API es una colección de llamadas y respuestas creadas en una aplicación o sistema, de forma que éste pueda comunicarse, intercambiar información, con otros sistemas que interactúan entre ellos de forma desatendida. Con un ejemplo probablemente es más fácil de entender.

Imagina que tienes un hotel y que quieres automatizar el registro de reservas, pero sobre todo, algo que consume mucho tiempo a tu equipo: responder a las consultas sobre disponibilidad de plazas en fechas concretas. Os pasáis el día respondiendo emails, atendiendo llamadas e incluso ¡faxes! Una API podría encargarse de responder estas consultas, haciendo algo parecido a esto:

Una aplicación hace una petición a tu API más o menos así…

http://tuhotel.com/API/habitacion/disponibilidad?fecha=21/11/2018&tipo=habitacion&dias=2&adultos=2&infantes=2

Si fuera posible reservar, la API podría responder de esta manera:

id: 70344
estatus: OK
fechaConsulta: 05/06/2018
validez: 04/07/2018
oferta: 124.80€

Y si no hubiera disponibilidad de esta forma:

id: 70344
estatus: KO
fechaConsulta: 05/06/2018

Por tanto la API es un interfaz automatizado que recoge peticiones, por ejemplo a través de una página web o en una agencia de viajes, consulta a los hoteles que cumplan los requerimientos de cercanía, precio u otros, si tienen disponibilidad. El sistema del hotel responde con OK si hay disponibilidad, informa del precio y hasta cuando es válida la oferta. En caso contrario la respuesta enviada es KO.

A partir de ahí el sistema que hace la consulta podría volver a contactar con el hotel utilizando el id de la consulta, confirmando la reserva, algo así:

http://tuhotel.com/API/habitacion/reserva?id=70344&comment=Cliente quiere champán y zumo

La API del hotel respondería confirmando la reserva y el proceso habría terminado. Y sí, lo del pago también podría automatizarse 🙂

El ecosistema actual de las APIs

Estos sistemas llevan funcionando desde hace bastante tiempo, al principio en sistemas cerrados y su difusión comenzó con la llegada de Internet. De hecho, el concepto es previo a la informática. Las primeras empiezan a estar disponibles alrededor del 2000, para que los programadores conecten con los sistemas de las empresas. Entre aquellos pioneros estaban SalesForce o Ebay. La mayoría de las APIs que se utilizan en la actualidad, como las de Google Maps o Amazon AWS aparecieron a partir de 2005. 

En la actualidad las APIs están disponibles en todo tipo de sistemas. Cualquier empresa que quiera mejorar la automatización de sus procesos, debería considerar qué quiere mejorar y cómo interactúa con sus clientes y proveedores. La ventaja de los sistemas es que pueden funcionar de forma ininterrumpida, 24 horas al día si es necesario, sin que nadie les preste atención.

Hacia donde vamos: los microservicios

Las APIs están evolucionando y su uso se extenderá, gracias a un nuevo paradigma: los microservicios. Los microservicios no tienen que ver solo con la forma de relacionarse con otros sistemas. De hecho, se están utilizando para crear nuevas arquitecturas de aplicaciones, gracias a su escalabilidad y a la manera en que la arquitectura se orienta a atender a un amplio rango de dispositivos presentes y futuros.

A su vez el rango de dispositivos a cubrir ha crecido notablemente y seguirá haciéndolo. En la actualidad podemos conectarnos a un sistema través de su página web o por otros medios, como un ordenador portátil o dispositivos móviles como teléfonos o tablets. El siguiente salto que ya está aquí es el que tiene que ver con la IoT y los wearables.

En la medida en que a las APIs actuales se les sume la inteligencia artifical, tenemos a nuestra disposición una increíble herramienta para facilitar la comunicación y gestión de las organizaciones.

La multiplicación de este tipo de dispositivos es algo que cuesta procesar. Solo como referencia ten en cuenta que las direcciones IPs disponibles, ese numerito que identifica una conexión, hasta hace unos años alcanzaba unos 4.000 millones bajo el estándar previo IPV4. Pues bien, tuvo que restringirse su uso hace tiempo porque se acababan. Ahora bajo IPV6, el número de direcciones IPs posibles es de 10^28. Cuatrillones o quintillones, es que me pierdo, pero para hacerse una idea, tantas direcciones como los granos de arena que hay en la Tierra, más que el número de estrellas del universo. ¿Te parecen muchas? Pues algunos se lo están pensando. ¿Qué pasaría si en nuestro cuerpo hubiera cientos, miles de microbots ocupándose de nuestro “mantenimiento”? ¿Y si estos estuvieran a nuestro alrededor construyendo, reparando, procesando el CO2, los plásticos…?

Como puedes ver esto no tiene límite. Sin llegar a los anteriores planteamientos futuristas, el impacto inmediato de estos sistemas combinados, en todo lo relacionado con el ocio o el comercio electrónico será colosal, ya sea en la operativa con consumidores finales (B2C), empresas (B2B) o instituciones (B2A).

¿Cualquiera puede implementar el uso de APIs en sus procesos? Sin duda. ¿Cuesta mucho dinero programar una API? para nada. Por cientos de euros se pueden hacer cosas básicas. Lo realmente relevante es cómo impacta un sistema con estas posibilidades en la filosofía de las organizaciones, en sus procesos y sistemas.

Por tanto, si estás al frente de una empresa, incluso si eres el único empleado, harías bien en considerar cómo vas a posicionarte en el mundo digital. Cómo competirás. La automatización, la competitividad, es tanto más importante cuanto más pequeño seas.