Ir al contenido principal

Anatomía de los censos en latinoamérica

Mientras buscaba información estadística de Argentina del censo 2010 me encontre con alguna dificultades, no en principio por ocultamiento de información sino por la herramienta tecnológica que se usó para su desarrollo. Leyendo un poco más a fondo conocí a REDATAM, un software desarrollado por la CEPAL (en su division para demografía CELADE).

Censos

La historia de este producto es interesante y se remonta a la década de los 80"s cuando era mucho más complicado que hoy procesar grandes cantidades de información. Este desarrollo de el CELADE vino a colaborar con las grandes dificultades de los países en vías de desarrollo de América latina y caribe para planificar y procesar sus censos. El desarrollo ha crecido y países de Asia y África han comenzado a utilizar trambien este producto (de uso libre pero de código cerrado). Desde el año 2002 este software cuenta con una versión para servidores web (Apache o IIS sobre Windows) que permite la apertura de los datos al público en general. Muchos de estos censos hoy se pueden consultar en la web.

Tomo prestada esta frase del documento de la CEPAL para marcar la relevancia que ha tenido este desarrollo y la potencialidad que tiene comenzar a dar un uso más intensivo de los datos:

"Solo en los últimos años los países han empezado a difundir la información censal liberando las bases de datos, poniendo especial énfasis en la potencialidad de los análisis desagregados geográficamente para tomar decisiones a nivel local. Ciertamente, los temas de planificación urbana, descentralización, migración interna, déficit habitacional y focalización de grupos objetivo son de gran relevancia para adoptar decisiones de política. "

En estos 30 años y al mismo tiempo que REDATAM se han desarrollado tambien: 1.- Comunidades de software libre y desarrollo colaborativo. 2.- Plataformas de datos abiertos para ayudar a los estados a mostrar y procesar sus datos.

Creo que el desafio para la CELADE en los próximos años es sumar a la comunidad de software libre abriendo su código, definiendo estándares para que aplicaciones móviles, plataformas de datos abiertos, gobiernos locales, el periodismo de datos y el público en general puedan consumir esta valiosísima información de otros modos.

El equipo y la tecnología de tu empresa

cto_wantedLas herramientas tecnológicas a disposición de cualquier PYME hoy son numerosas y el mercado es muy dinámico, es fácil perder el ritmo de estos cambios cuando el core de tu negocio no está en la tecnología.

Sacar efectivo provecho de la tecnología y no ahogarse en un mar de implementaciones sin terminar, con herramientas complejas que tu equipo no puede aprovechar y con clientes insatisfechos no es tarea fácil.

Una falla muy común -y quizás la peor de todas- es tercerizar todo lo que necesitas directamente tú o alguien de tu equipo sin tener experiencia en informática. Zapatero a tus zapatos, la primer persona que necesitas en tu equipo es un CTO, se le puede llamar de muchas formas pero en concreto es tu jefe de tecnología. Alguien que pueda coordinar las necesidades de tu negocio y tercerizar aquellas cosas que sean posibles.

Si tu CTO conoce de páginas webs, servidores, redes sociales puede él mismo realizar las tareas que necesitas y tercerizar solo aquellas cosas que no estén a su alcance por falta de tiempo o de conocimientos específicos.

Para saber cuántas personas necesitas de manera estable en tu equipo tecnológico debes saber (conversando con tu CTO) cuales son las herramientas que vas a usar y hasta qué nivel de complejidad debes llevar a cada una de ellas. Este es un trabajo progresivo, no intentes abarcar todo en un primer paso, las herramientas básicas que cualquier empresa necesita son:

Un sitio web con acceso simple y rápido a los productos que tienes disponibles. No olvides definir una política de SEO para que tu sitio sea fácil de encontrar y principalmente que tenga un diseño amigable con dispositivos móviles. Quizás aquí necesites tercerizar el diseño, deja que tu CTO busque al mejor. Si tu sitio web no es intuitivo, fácil de usar o no se ve correctamente en teléfonos o tablets vas a perder audiencia.

La base de datos de los productos o servicios que ofreces: Separada de tu sitio web, es un error muy común definir tus datos mientras construyes tu sitio web. En el futuro vas a necesitar conectar tus datos a una aplicación mobile, a otros sitios de clasificados o a tu propio CRM. Aleja tu base de datos de tu sitio web, define una interface prolija para que tus datos puedan ser consumidos por tu sitio web y demás herramientas. Elige un buen experto aquí que eche a funcionar la primera versión, si tu CTO sabe programar podrá mantener este desarrollo funcionando. No eres el primero que necesita manipular datos de esta forma, revisa desarrollos que estén disponibles de manera abierta, revisa que estándares hay. Vas a querer ser compatible con los productos preexistentes.

Infraestructura, servidores, servicios en la nube: El primer ejemplo de este tipo de servicios es el correo electrónico de tu empresa. También el alojamiento o hosting de tu sitio web y tu base de datos. Junto con tu CTO elige un buen proveedor, no administres esto desde tu empresa. Son servicios complejos y hay muy buenos actores en el mercado, no necesitas soluciones complejas, si hay fallas en esta área van a ser muy visibles.

CRM: Aquí se va a desarrollar la comunicación entre tu equipo y tus clientes. Implementa alguno de los preexistentes, hay libres y gratuitos, también de pago. No puedes darte el lujo de no usar este tipo de herramienta, tu equipo no debe llevar negociaciones por fuera de esta herramienta. Vas a necesitar una buena lista de potenciales clientes para tus campañas de marketing digital. Tu CRM almacena esta información y se alimenta de los datos de tu sitio web, las llamadas telefónicas y las visitas de los clientes a tu oficina. Asegúrate que sea un producto flexible, abierto y que vas a poder conectar este desarrollo a tu base de datos de productos y a tus campañas de marketing digital.

Marketing digital: Necesitas uno o más proveedores que puedan llevar tus productos a la mayor cantidad de audiencia posible. Muchos ofrecen soluciones automatizadas y genéricas, esto es muy útil para la mayoría de los casos pero si tienes productos especiales no dejes de analizar propuestas más complejas e interesantes. Busca un aliado para hacer campañas intensivas y agresivas en tus productos más importantes y conectate a la mayor cantidad de sitios masivos de clasificados para el resto de tus productos.

Comunicación interna: Debes definir espacios internos de conversación, aquí no necesitas gastar dinero, puedes implementar grupos privados en redes sociales o herramientas gratuitas, hay muchas. Deja que tu equipo converse, que fluyan las novedades del sector. Trata de que estos contenidos se difundan a través de un blog en tu sitio web y tus redes sociales. Mantente en contacto con los referentes del sector, invítalos a participar, usa la tecnología para conversar.

Tercerizar desarrollos de software es complejo y tiene algunas claves a seguir. Si se hace bien permite desarrollos sustentables en el tiempo y mantener los costos en los valores mínimos posibles. Aquí puedes ver algunas claves para la tercerización de servicios tecnológicos

Por último, asegurate que tu CTO mantenga documentación al menos básica de cada paso que se toma y cada producto tecnológico que se implementa. Interiorízate de cada cambio al menos a nivel informativo. Cuando la persona en este puesto cambie vas a necesitar toda la información disponible para el nuevo CTO.

Api de dominios argentinos

En el año 2009 note que no había un servicio de whois para los dominios argentinos. No sólo eso, NIC argentina no tenía un API ni la posibilidad de automatizar tareas como registros y alertas más efectivas ante la caida de dominios. Decidí entonces tener mi propia base de datos y proveer de algunos servicios sobre dominios .com.ar

Si no te interesa la historia y quieres ir derecho a la documentación del API, dirígete aquí

La única forma de hacer esto en aquel momento (y al día de hoy, finales de 2013, también) es leer directo desde la página web. Para esto desarrollé un pequeño programa que hacia las consultas, leía la página web, tomaba la información y la guardaba en una base de datos. No me malinterpreten, no hice esto para robar dominios que personas o empresas descuidaban y perdían o para buscar marcas y despues venderlas. En general todos condenamos esas acciones, yo también.

Surgió en ese momento otro desafío. ¿Como consigo que dominios buscar, que palabras, que frases? Tomar toda la combinatoria posible era imposible, la cantidad estimada era de 3819 Tomé entonces texto aleatorios de la web y fue interesante, las palabras mas comunes empezaron a cargarse. Me di cuenta que no solo tenía que buscar palabras sueltas, cualquier grupo de palabras unidas sin espaciones o sepadas por "-" tambien servían. Empezaron a aparecer dominios registrados y datos válidos pero la mayoría seguían siendo dominios no existentes. Tome entonces libros argentinos completo en formato TXT y los resultados comenzaron a mejorar, nosotros registramos dominios así como escribimos. Fui un poco más alla y cargué un diccionario completo en español (vía OpenOffice) de 70.000 palabras.

Me di cuenta despues por cuales caminos había mas resultados, mi mayor desafío era no consultar dominios no existentes para no desperdiciar tiempo y esfuerzo del software que realizaba la tarea. Tome entonces listas concretas de sustantivos en sus versiones masculinas y femeninas. Las conecte con articulos como prefijos, use listas de adjetivos. Me metí en un terreno en el que me hubierá servido mucho saber de análisis semántico y gramatical

Finalmente todas estas heramientas juntas corrían diariamente en horários específicos y lo suficientemente distanciados en tiempo para que el servidor de NIC no empezara a rechazar mis conexiones. Use un servidor en mi propia casa con IP variable, sin eso no hubiera sido posible.

Finalmente NIC dejo de atender pedidos y di de baja mi servicio a mediados de 2012 (que se podía consultar en línea). Estimo que yo no era el único y los muchachos del servidor de NIC argentina se cansaron de atender este tipo demanda.

El resultado final son casi 375.000 dominios encontrados sobre un total de 2.2 millones totales en Argentina (segun datos que me compartieron desde NIC en el año 2012). El historial de cambios en los dominios esta guardado, periodicamente hacía pings sobre los dominios, tambien se incluye esta información Resguarde la mayoría los datos personales de los dueños de los dominios por cuestiones de privacidad, solo se publican sus nombres.

Cuento esto y pongo disponible el API porque no quiero tirar esta información, puede ser de utilidad para alguien. Tambien como ejemplo de que no es tan complicado, que NIC argentina debería tener un servicio de whois y un API para empresas que tienen muchos clientes y son responsables de la administración masiva de dominios.

Finalmente decidí continuar el proyecto y liberé la herramienta que uso. Puede descargarse aquí. Actualmente los datos se están actualizando manualmente y agregándose a la base de datos.

api para nic.ar