martes, 25 de septiembre de 2012

SMS mJoy v1.05

Como algunos recordareis existe un problema en la aplicación SMS mJoy por el cual, en ocasiones, da un mensaje de error "User already exists" (el usuario ya existe) al intentar enviar el mensaje. Esto es debido a que la aplicación genera "nicks" para poder registrarse en la página de mJoy y realizar el envio pero, por desgracia, la generación de estos "nicks" no es 100% aleatoria de forma que puede llegar a ocurrir que dos personas utilizando SMS mJoy generen el mismo "nick" con lo cual la página de mJoy no permitirá enviar el SMS. A priori esto es un "mal menor" ya que, por lo general, con volver a intentar el envio se resuelve pero como cada vez somos más los usuarios de SMS mJoy (de lo cual me alegro) y cada vez son más los SMS enviados la posibilidad de obtener un "nick" repetido es cada vez es mayor y algunos usuarios ya me han comentado que ya no les basta con ese segundo intento, incluso intentandolo una tercera o cuarta vez también les ha fallado por lo que era momento de tomar cartas en el asunto y este fin de semana me he puesto a revisar el código y ver la forma de solucionarlo.

Los cambios introducidos en esta versión son los siguientes:
  • Se mejora la generación de nicks aleatorios modificando la semilla (utilizando Ticks en lugar de Milliseconds) y añadiendo al nick generado tres caracteres hexadecimales obtenidos en función del MD5 del texto del sms, número de teléfono y ticks de forma que esos tres caracteres hexadecimales deberían ser diferentes para cada SMS.
  • Deja de utilizarse el fichero "mJoyUsersRND.xml" (se puede eliminar), en su lugar se utiliza "SMSmJoyUsersRND.xml" que es exactamente igual pero los usuarios se generan con el nuevo algoritmo
  • Se añade la opción "Guardar SMS en disco durante el envio". Esta opción guarda la información del mensaje en disco antes de realizar el envio y la elimina al terminar el proceso. Esto es útil para poder recuperar el SMS si la aplicación queda inestable y se tiene que forzar su cierre. El SMS se recuperará automáticamente al volver a iniciar la aplicación.
  • Se añade la opción "Buscar actualizaciones al inicio" que permite buscar actualizaciones de SMSmJoy de forma automática cada vez que se inicie la aplicación. También se puede lanzar el proceso de detección de una nueva versión accediendo al menú "Opciones > Buscar actualización ahora"

Si ya disponeis de una versión de SMSmJoy solo tenéis que descomprimir el fichero zip sobre la versión que tengáis (se respetará vuestra agenda y configuración) y si es la primera vez que descargáis SMS mJoy podéis descomprimirlo en cualquier carpeta de vuestro ordenador.

Cualquier consulta o sugerencia siempre es bienvenida.

mJoy!


Descargar SMSmJoy
Descargar Código Fuente (VB.NET2005)

10 comentarios:

  1. Probando, probando! tiene muy buena pinta y seguro que los usuarios valorarán el cambio. Saludos!!

    ResponderEliminar
    Respuestas
    1. Gracias Gustavo, en esta ocasión no hay grandes cambios pero quería intentar resolver el problema de los nicks duplicados. Espero haberlo conseguido.

      Eliminar
  2. Muchas gracias. Funciona!!

    ResponderEliminar
  3. Genial! Que buen trabajo! A mi me faltaría una opción para enviar el sms a varias personas a la vez, todavía no se puede?

    ResponderEliminar
    Respuestas
    1. La web de mJoy no permite realizar eso de forma automática aunque simplemente sería repetir el proceso de envio. El problema seria controlar los errores ya que seria posible enviar el mismo SMS a 15 personas pero falle el envio a 4 de ellas. Seria un poco complejo de gestionar aunque pensare en ello.

      Eliminar
    2. Genial! Así da gusto!

      Eliminar
  4. Y hay alguna forma de pasar tus contactos sin tener que ir guardando uno a uno?

    ResponderEliminar
    Respuestas
    1. ¿Que quieres decir con "pasar tus contactos" ¿desde donde los quieres importar? ¿tantos teléfonos tienes? jeje

      Se que hay una forma de exportar los contactos desde el teléfono, tendré que mirarlo. Es una buena idea. Gracias.

      Eliminar