[OT] Premio Idea Peregrina™ #1: APPInformática

Antecedentes a este post: cuando ví APP por primera vez, hace años, tenían una página web cómoda y bien implementada, pero desde entonces la han cambiado varias veces, y siempre a peor (IMHO, como todo lo que digo). El [OT] del título es porque este post es bastante off-topic a lo que viene siendo habitual, pero soy un bocazas que si no escribe su opinión, revienta.

Hoy he conseguido por primera vez hacer una foto aceptable con HDR, y dentro de poco me voy de viaje, así que he decidido comprar una tarjeta de memoria de al menos 2GB para poder hacer bastantes fotos en formato RAW. Tras visitar Ebay me meto en APP, que pese a que odio su web cada vez más suele tener buenos precios. Escaneo las categorías superiores y laterales buscando "Memorias" y no encuentro nada. Después me doy cuenta de que alguien ha preferido escribir "Otras memorias". Bueno, discutible, no me voy a quejar por eso...

Cuando por fin veo "Otras memorias" me lleva a 10 páginas de resultados, así que meto en el buscador de arriba 'cf', doy intro y ¡la búsqueda es instantánea! ¿Ajax? Imposible, ha sido ¡demasiado! rápido, y el monitor de red ni se ha inmutado... Sólo puede ser una cosa... ¡¡¡han metido todos los datos en Javascript!!! Al abrir el Firebug e ir al DOM ¡¡veo un array de 139 elementos con todas las memorias!!

¿Qué ocurre si buscas en la página principal? Vuelvo al inicio y veo que el buscador tiene dos opciones, buscar tiendas y buscar artículos. Por defecto está seleccionada la que es prácticamente inútil: buscar tiendas. ¿Por qué? Porque si "tiras del hilo" del código que tiene el radiobutton de buscar artículos ves que cuando lo seleccionas se añaden scripts javascript mediante DOM de scripts ¡¡¡¡y cargan toda la tienda, 2840 artículos, en el array 'database'!!!!

No contentos con eso se han limitado a poner en el cuadro de búsqueda "espere por favor", así que si estás hábil puedes buscar 'pentium' y que no encuentre nada... Esta gente ha visto que Internet está plagado de Ajax y una de dos, o lo han visto muy difícil de implementar, o han sido más listos que nadie... "¿Para qué esperar poco si puede no esperar nada? Enga, si total los ordenadores tienen memoria de sobra..."

Con esto voy a inaugurar una nueva sección, inspirada en "El empleado de la semana" de los genios de "Sé lo que hicísteis...":

1er Premio a la Idea Peregrina de la Semana™: www.appinformatica.com, por meter en un array Javascript toda su base de datos y descargarlo cuando el usuario indica que va a buscar artículos.

Posted by Juan Ignacio Sánchez Lara 17:11  

12 Comments:

  1. ramonono | Maeghith said...
    Jefe: oye, que ha llamado el cliente diciendo que la página responde muy despacio cuando cambias de tienda

    Programador: normal, cuando se cambia de tienda hay que hacer las peticiones al servidor para elegir los artículos de la nueva tienda

    J: Vale, pues entonces carga todos los artículos desde el principio.

    P:¿WTF!!?

    J: mira tu hazlo así y si el cliente se queja ya nos calentamos la cabeza para arreglarlo
    Nacho said...
    Si al menos lo cargase desde el principio, estaría mal, pero podría llegar a comprenderlo... ¡¡¡¡Pero no lo carga hasta que pulsas el radio!!!!
    ramonono | Maeghith said...
    ¡Ay, ay, ay, ay, ay!, ostras, no lo había entendido así XD

    Definitivamente digno de WTF.
    Anónimo said...
    Te veo muy seguro de tu crítica, suele pasar cuando se piensa en presente. A mi me parece genial. Creo que el programador o el que lo haya pensado tiene muy claro como será el futuro de internet.
    Nacho said...
    Si el futuro de internet es descargarnos todos los datos, encima a destiempo, apaga y vámonos.

    De verdad que podría llegar a comprender que en el momento de generar la página se descargasen todos los artículos. De esa forma, a pesar del coste adicional de descargarlo y de sobrecargar el cliente, mediante un buscador Javascript local la búsqueda sería más rápida.

    Lo que creo que es inconcebible es hacer esperar al usuario (mal además, sin bloquear el botón de buscar) para descargar todo antes de poder poner el concepto de búsqueda. Ya sólo el hecho de que por defecto estén seleccionadas las tiendas en vez de los productos me parece extraño, pero que además picar en el radio de artículos provoque la descarga de los casi tres mil artículos me parece indefendible desde cualquier punto de vista.

    PD: siempre IMHO, por supuesto ;)
    Anónimo said...
    Estoy contigo en que deberían hacer la carga de esos datos en un momento mejor. Pero por lo demás no veo indefendible la carga de esos artículos para que luego se ejecuten las busquedas en local super rápidas y beneficiando muchísimo al servidor. Respeto tu opinión pero no creo que sea indefendible. Todo lo contrario. De hecho felicito a APP por ello y me han abierto muchas ideas para desarrollar algunos proyectos que tengo que desarrollar próximamente.

    Lo que quiero decir Nacho es que si veo cosas muy mejorables pero no me parece para nada una idea peregrina, ni indefendible. Por supuestísimo que no lo comento por discrepar y tambien solo es mi humilde opinión. ¡Un cordial saludo! :)

    Pedro
    Nacho said...
    Respeto tu opinión (aunque a ratos no lo parezca ;) ), pero la veo demasiados problemas:

    - La "búsqueda" en Javascript estoy casi seguro que será poco más que un recorrido secuencial por el array. Eso no es comparable con las búsquedas más complejas que se podría hacer con una base de datos (por semejanza, por proximidad...).
    - Si se incluye desde el principio se sobrecarga el servidor y el cliente (con solicitudes de más y JS de más), y si no se incluye siempre, tenemos el problema de antes...


    Estoy de acuerdo en que innovar siempre es de aplaudir, pero esto no lo veo en absoluto. Generar interfaces a base de Javascript, si se hace bien, vale. Pero para datos, dame Ajax.

    Buena la discusión, de todas formas :)
    Manu, the java real machine said...
    Madre...

    Menuda aberración... sin más.

    A quien la defiende... le diría que la sobrecarga que puede suponer para el servidor el no hacerlo así, es insignificante... la verdad.
    Pero los problemas que puede suponer en el cliente, no lo son. Basta con pensar en los problemas relacionados con Javascript porque hay navegadores que no implementan de igual forma el mismo.

    Además de que hacer algo así, puede suponer que ante una actualización en los datos, como una actualización del catálogo o los precios de los productos, el cliente no se enteraría.

    Puestos a hacer estas burradas... ¿por qué no cargar TODAS las páginas con TODOS los productos en la primera página?... así nos aseguraríamos tener el servidor más desocupado...

    En fin, es cierto que la web de AppInformática va de mal en peor... aunque no entiendo el porqué, porque basta con pasar por la web de Alternate, PCBox o PCComponentes para ver formas mucho mejor de navegar por la web.
    Nacho said...
    Antes de nada, gracias por el repaso que le has pegado a todo el blog contribuyendo en muchos temas.

    Me alegra no ser sólo yo el que opina que esa idea no hay por donde agarrarla...

    Saludos!!
    Anónimo said...
    ´Muchísima gente, casi toda, pensaba que la Tierra era plana y se mofaban y algo más del que dijo que era redonda.

    Que seais más en este foro los que piensan de una forma no és el mejor argumento.

    Por cierto todas las webs mencionadas tienen muchísimas menos visitas que la web de APP, supongo que pensareis que eso tampoco dá la razón a nadie. Yo tampoco.

    Para gustos, colores, y en este caso sigo pensando que no es una idea peregrina. Y respecto a las webs mencionadas, me gusta infinitamente más la de appinformatica en todo sentido, estético, estructural, y lógicamente. Y por qué no decirlo tambien comercialmente.

    Que APP sea una empresa con más éxito comercial que las mencionadas no dá ni quita razones en el asunto del buscador. No creo que buscar la complicidad de opiniones sirva de mucho.

    Veo que es dificil confrontarse a una idea que no te gusta, y aceptar las diferencias. No puedo estar deacuerdo ni podemos olvidar que esa web funciona como un tiro. Por algo será. No estará tan mal. No será tan peregrina puestos a buscar ese apoyo en votos.

    Desde el respeto a las ideas.

    Saludos!
    Nacho said...
    Antes de nada, respeto las opiniones a favor y no busco "votos", símplemente doy la mía.

    Hacer este tipo de cosas con Javascript no es intrínsecamente malo, pero se presta a muchos fallos.

    Eso sí, quizá tengo que admitir que no es una idea _tan_ descabellada como me pareció inicialmente.

    Al menos han quitado ya el splash page de "todo el año de ofertas"...
    Anónimo said...
    Gracias Nacho! Solo petendía al menos dejar la duda razonable, en algo que no tengo claro.

    Admito que a mi tambien me parece que no es lo mejor. Le veo inconvenientes lógicos y por ello creo que llevas mucha razón pero tambien algunas ventajas que me hacen pensar y me parece interesante para ciertas aplicaciones.

    Saludos!

Post a Comment