Creando un Sistema para Acortar URLs que valga la pena
Actualmente, para acortar mis urls uso dos sistemas: YOUrls y bit.ly pro. Tengo YOUrls asociado a elJOjo.net, cosa que cuando visiten http://eljojo.net/twitter retorne a mi cuenta en twitter, pero a la vez si visitan http://eljojo.net muestra mi página. Para bit.ly tuve que crear un subdominio, i.eljojo.net, que funciona igual que bit.ly pero con ese dominio.
El mayor problema con los sistemas que acortan urls es que gastan todos los caracteres rápidamente y al final las urls cortas terminan siendo largas.
La mayoría de las URLs que acorto deberían ir a un subdominio de eljojo.net, ojalá de un caracter, pero también me gustaría poder acortar urls para elJOjo.net directamente.
Esta es mi idea para hacer un sistema para acortar URLs que valga la pena usar:
Usar múltiples subdominios y que el sistema pueda discriminar automáticamente el que más conviene: a.eljojo.net, b.eljojo.net, c.eljojo.net, etc. Ya que obligatoriamente vamos a tener que usar el caracter para el subdominio, así gano muchas más combinaciones manteniendo urls realmente cortas.
Posibilidad de poder elegir un dominio a mano, incluyendo elJOjo.net solo.
Crear un sistema para mantener estadísticas de las visitas de los links.
Múltiples servidores: me gusta garantizar la disponibilidad de eljojo.net, para poder lograr esto usando dos servidores y no tener que jugar con algún sistema de sincronización de bases de datos, decidí crear una sistema de servidores master-slave con una api simple. Básicamente tengo dos o más servidores, uno maestro y el resto slave. Cuando acorto una URL, el sistema replica los cambios a todos los servidores via una API, todo bajo PHP. Ojalá via POST y usando JSON.
Crear una API compatible con la de bit.ly: sería genial poder engañar a un cliente twitter que auto-acorta urls editando el archivo hosts (apuntándolo a mi servidor) y que acorte la url con mi sistema.
Interfaz Simple: la interfaz de YOUrls no es tan agradable como me gustaría que fuera.
El sistema todavía no lo escribo, pero lo quiero empezar a programar hoy mismo.
Creo que estas son todas las features que se me han ocurrido hasta ahora. ¿Ideas/comentarios? También recibo sugerencias a mi correo.