miércoles, 28 de julio de 2010

Agenda de contactos

Hoy en día lo más común es tener nuestras agendas de contactos (con números de teléfono, direcciones, direcciones de e-mail, etc.)  en formato electrónico, ya sea en el teléfono celular, en la computadora, en la nube (como por ejemplo los contactos de Google), etc.

Hay algo que me llama la atención, y es que ninguna de las aplicaciones que conozco para almacenar información de contactos está normalizada.

Por ejemplo, uno de mis contactos es una empresa. De la empresa tengo cierta información, como ser la dirección y el teléfono. Por otro lado, tengo un segundo contacto que trabaja en dicha empresa (información que le dí a la aplicación). ¿Por qué entonces me pide que ingrese el número de teléfono del trabajo? ¡Ese dato ya está en la agenda!

Hasta ahí parece trivial... ¿Por qué nadie lo ha implementado? O capaz que la aplicación existe y no la conozco.

Hay algún detalle más, por ejemplo, de una empresa tengo el teléfono, pero de una persona quisiera también conocer la extensión que tiene. De todas formas, el número de teléfono debería ser una referencia al teléfono de la empresa.

Otra cosa que puede pasar es que la empresa tenga dos direcciones, porque tiene dos oficinas distintas. Dada una persona que trabaja en dicha empresa, va a trabajar en una sola de esas oficinas. Pero tampoco sería complicado hacer que la referencia sea a una de las direcciones en lugar de ser a la entidad "empresa".

Cuanto más lo pienso más natural me parece la implementación... No me queda claro por qué nadie lo ha hecho así.

5 comentarios:

  1. Existe el formato vCard, todas las agenda que conozco soporta importar/exportar con este formato, incluso GMail, el iPhone, windows, mac, etc.

    Lo interesante del formato es que es un documento muy flexible donde se puede almacenar gran cantidad de información pero que no seria fácil de almacenar en una base de datos relacional.

    Una excusa mas para usar base de datos NOSQL orientadas a documentos.


    http://en.wikipedia.org/wiki/VCard

    ResponderEliminar
  2. Alejandro: yo en realidad hablaba mas desde el punto de vista del usuario final, no es que este buscando como implementarlo.

    Tampoco digo que se deba implementar en una base de datos relacional, solo digo que se debería poder hacer referencia desde un contacto a otro.

    ResponderEliminar
  3. ejemplos cercanos a eso me parecen facebook y linkedin donde cierta informacion si esta normaliza como universidades,compania donde se trabaja, aunque no proveen siempre informacion de contato.
    comparto tu logica y seria ideal una solucion centraliza al problema p&o asi solo consumimos apis y nos olvidamos de modelarlo y mas inpotante aun evitar mantener datos redundanres

    ResponderEliminar
  4. En el extendedCRM tenemos algo parecido y en la nueva versión lo vamos a desarrollar tal cual tu comentario. Pensé que estaba loco. :-)

    ResponderEliminar
  5. Me gano Cristhian de mano :)

    andamos en eso !!!

    ResponderEliminar