Cross Sell en osCommerce

September 7th, 2009

El cross sell, o venta cruzada es una herramienta de marketing imprescindible para cualquier tienda online, pero claro, depende si nuestro software es capaz de generar bien una lista de artículos recomendados a través de Cross Sell.

Cuando empecé a analizar como funcionaba el de osCommerce, me dí una sorpresa, pues estaba mostrando a mis clientes, artículos que no tenían nada que ver, y de hecho, no estaban produciendo ventas cruzadas. osCommerce muestra las últimas compras, pero no muestra las más frecuentes!!!

Vayamos a un ejemplo, la mayoría de la gente que compra un teléfono compra y cargador para el coche o una funda, pero ahora vayamos a un cliente que ha comprado un teléfono y de paso una tostadora. Pues bien, osCommerce recomendará una tostadora a todos los que vayan a comprar un teléfono.

En un principio, habían pensado, que si mostraban los artículos más vendidos, los artículos nuevos, que acaban de salir, no se mostrarían nunca en el cross sell, otro ejemplo.

Si la mayoría de la gente que compra el móvil lleva años comprando el cargador X, si ahora sale al mercado el cargador X2 que es mucho mejor, el cross sell, seguirá mostrando el cargador X.

La solución es sencilla, mostrar los productos más vendidos en el último año/mes/semana, etc.. esto depende del tipo de producto que vendemos .

Otra de las modificaciones que hemos hecho, es modificar el cross sell para que salga en la barra lateral, en lugar de la parte inferior de la pantalla.

jmacias eCommerce ,

El problema de ir a la moda….

August 20th, 2009

Ya sabía que mi artículo sobre aplicaciones de Web vs aplicaciones tradicionales no iba a ser bien acogido, por que, mientras casi todo el mundo mira hacía aplicaciones web, reflexiono y justifico el seguir haciendo aplicaciones tradicionales.

Antes de nada, está claro que si vas a hacer un portal, un foro, o una red social tienes que utilizar tecnología web, pero si vas a hacer una aplicación de gestión, el photoshop, o una herramienta para grabar DVDs, las aplicaciones de escritorio, por ahora, son mejores.

En el año 2000, hacíamos aplicaciones web en ASP, desarrollé un framework, que permitía hacer aplicaciones en un tiempo casi igual que aplicaciones tradicionales, pero claro, con la limitaciones que teníamos entonces con los browsers, no obstante generamos algo similar a AJAX, y pudimos añadir bastante interación entre browser y servidor.

Por entonces, la empresa en el que trabajaba, encargo a una gran consultora que estudiara cual era el futuro de la tecnología web, y esa gran consultora dicidió que había que migrar a Java. Así que la empresa, empezó a mirar todo a JSP, por entonces dejé la empresa, no me apetecía abandonar mi know-how en ASP y tener que empezar desde el principio.

En el 2005 volví a la empresa, a incorporarme en uno de esos proyectos Java, durante esos años, habían migrado muchas aplicaciones a JSP, despúes las habían vuelto a migrar a Servlets, después a Webmacro y ahora volvían a cambiar para utilizar Struts.

En el 2007, nos pidieron que analizaramos las distintas tecnologías disponibles, por que se proponían a dar el gran paso y migrar una aplicación de más de 1000 pantallas, con un coste de unos 10 millones de euros. Durante el análisis, se propuso esperar a la nueva versión de Struts, a utilizar JSF, incluso volver a ASP.

A mi, me pareción una aberración ir a la “moda”, supongo que a día de hoy se están planteando utilizar AJAX, o incluso Ruby. Cuando hablamos de algo “tan grande” no podemos estar dependiendo de tecnologías que no están consolidadas.

Si nos fijamos como lo hacen los grandes como Oracle, SAP, etc… ellos tienen su propia tecnología, no dependen de la moda, en lugar de dedicar tiempo a programar en web, con struts, o con JSF, lo que hacen es definir su interfaz en un formato propio, y luego lo presentan en Web o en aplicación tradicional, o como quieran.

En software libre existe algo parecido, es llama XUL, lo utiliza por ejemplo Google en su software AdWords Editor.

Con la especificación de interfaz, independiente de la tecnología, nos aseguramos una evolución constante de nuestro software. No tenemos ni idea, de que estará de moda dentro de 3 años, lo mismo, AJAX desaparece……

Existen muchas aplicaciones OpenSource que utilizan tecnologías similares como OpenBrave, OpenErp, etc..

Así, que con este conocimiento, al empezar un proyecto, tengo varias alternativas:

  • Desarrollo en Web, sabiendo que estar a la moda tiene un coste extremadamente alto.
  • Desarrollo en XUL o tecnología propia, que tiene un coste alto inicial en desarrollo de frameworks, herramientas, etc…
  • Desarrollo en Escritorio, que tiene un coste muy bajo, que la tecnología ha madurado ya, y que no se esperan cambios radicales en los próximos años.

He optado por hacer aplicaciones de Escritorio, por tiempo y coste, en otra situación hubiera elegido XUL, pero nunca un desarrollo web.

jmacias Programación

El día del espectador del comercio electrónico

August 3rd, 2009

Todos los negocios suelen mantener una estructura de gastos y personal más o menos fijas, pero siempre nos encontramos con días o periodos en los que las ventas bajan, de forma que empezamos a perder dinero. Los cines los llaman el día del espectador, normalmente el Miércoles, donde ponen ofertas para poder cubrir los gastos mínimos de apertura del cine.

Otros negocio optan por descuentos, ofertas, etc…. Pero en comercio electrónico este tipo de actuaciones puede ser peligrosa, si los clientes saben que un día a la semana es más barato comprar, pueden que muchos se esperen a ese día, no es lo mismo que elegir entre ir al cine entre un miércoles y un sábado.

En mi opinión, bajar los precios para atraer a más clientes, no es una medida “sana” para una tienda, acaba destruyendo la tienda a largo plazo. Hay otras medidas que se pueden llevar a cabo más efectivas, hoy vamos a explicar la recuperación de pedidos sin cerrar o carritos abandonados.

Las estadísticas indican que es posible recuperar un 5% de los pedidos abandonados, no obstante estos datos dependen de la razón de abandono del carrito.

Dependiendo de la razón de abandono, tendremos más o menos tasa de éxito, y por la tanto debermos aplicar más o menos esfuerzo en esa tarea. Para ello, sería necesario poder determinar hasta donde se ha llegado el cliente, de esa forma podemos intuir por que abandonó el carrito.

Vamos a ver un poco más en detalle donde están nuestros carritos abandonados:

Sin hacer checkout (cerrar pedido)

Mucha gente agrega productos al carrito, pero no tienen ninguna intención de hacer el pedido, simplemente están visitando, o buscando algo que no han encontrado. Con estos clientes, podemos hacer muy poco, pero no obstante, podríamos obtener cierta información de ellos. Si observamos que productos han agregado, podemos saber los intereses de esa persona, y enviarles mailings personalizados. Hemos obtenido menos de un 1% de efectividad, pero enviar un mail es gratis……

Abandono en la pantalla de gastos de envío/confirmación del pedido.

Muchos de los abandonos se producen cuando el cliente comprueba los gastos de envío, en España tenemos uno de los gasto de envío más caros de toda Europa, esto, unido al desconocimiento general sobre los gastos de envío, hacen que mucha gente pueda pensar que los gastos de envío son excesivos.

Para estos pedidos, podemos lanzar una oferta reduciendo los gastos de envío, algo como: “Sólo hoy, gastos de envío 1.99€”

Abandono en la pantalla de forma de pago

El abandono en la pantalla de forma de pago, suele estar asociado a la confianza en la tienda, sobre todo si sólo tenemos pago por transferencia.

Una forma de recuperar estos pedidos, es enviar un mail intentando ofrecer confianza al cliente, por ejemplo indicandole el teléfono de atención al cliente, localización de la tienda física, apariciones en prensa, etc..

Abandono en el pago con tarjeta

Una de las situaciones más frustrantes para un comprador, es que el pago con tarjeta falle. El supermercado de Carrefour, tiene uno de los sistemas de pagos peores que he visto.

Sobre todo, los problemas ocurren cuando la tienda sólo soporta VISA Secure, mucha gente no tiene este tipo de tarjetas y suele abandonar la compra.

Es una lástima desperdiciar estos pedidos, pero recuperarlos puede resultar complicado. La mejor solución es ponerse en contacto con los clientes para ayudarlos a realizar el pago o elegir otra forma de pago, como transferencia o reembolso.

Otra sólución es permitir cerrar el pedido sin realizar el pago, y permitir al cliente que realice el pago más tarde. Esto requiere una modificación de nuestro software de tienda.

Resumen

Recuperar los pedidos sin cerrar es realmente útil, pero actualmente, es muy complicado encontrar software preparado para ofrecer la información necesaria. Si logramos integrar en nuestro sistema la información necesaria, podemos tener un buen número de pedidos recuperados, ideales para fechas en las que se esperar un movimiento mínimo de pedidos.

jmacias eCommerce ,

Como volcarse con el cliente en comercio electrónico

July 27th, 2009

Hoy en día es muy difícil considerarse un experto en comercio electrónico, Amazon y ahora Zappos, nos han demostrado, nadando contra corriente, que lo más importe es la atención al cliente, y en este aspecto, hemos recopilado algunos de los puntos en los que podemos mejorar nuestra atención al cliente.

¿Rotura de Stock? Conviértelo en una oportunidad.

Muchas veces, hemos recibido pedidos en los que alguna mercancía se nos había agotado.  Aunque esto, puede parecer un problema, es fácil convertirlo en una oportunidad de nueva venta.

Cuando esto nos pasa tenemos varias opciones:

1. Esperamos a que nos llegue la mercancía: Esta opción, que parece la más lógica, es la peor de todas, hacemos esperar al cliente, el cliente puede que al final anule el pedido, tenemos mercancía retenida en nuestro almacén, y si el pago es contrarrembolso, ni si quiera tenemos el dinero.

2. Enviamos lo que tenemos. Esta opción, en la mayoría de los casos es la mejor, salvo que el cliente, hiciera el pedido sólo por ese artículo que no tenemos, y los demás eran añadidos. Con lo cual, acabamos de fastidiar al cliente.

3. Enviamos lo que tenemos, y cuando llegue el resto, se lo enviamos sin gastos de envío. Recuerdo, que cuando comenté esto con un propietario de una tienda online, me dijo: Yo no soy una ONG, que pague si lo quiere. La cuestión es convertir el problema en una oportunidad. Cuando nos llegue la mercancía que faltaba, llamamos al cliente, y le decimos que ya que tiene gastos de envío gratís, quizás quiera agregar algo más al pedido. Tenemos que tener claro, que necesitamos un buen sistema de información, que nos ofrezca artículos relacionados con la mercancía que le vamos a enviar.

Sigamos con esta opción, por que hay que pensarla en detalle. Es verdad, que con los costes actuales de envío que tenemos en España, tomar esta opción nos puede hacer perder dinero, por eso, debemos aplicarla con sentido. No obstante, al igual que invertimos dinero en publicidad y marketing, deberíamos invertir dinero en realizar una prueba uno o dos meses, y probar si esta técnica es efectiva o no, desde luego, para el cliente, es la mejor solución, y seguramente comprará más veces en nuestra tienda.

Página de Inicio

La página de inicio es el gran dilema, pero, pensemos un poco en el cliente, y pensemos un poco en el comercio tradicional. La página de inicio es como el escaparate de un comercio, el posible cliente va paseando por la calle, y sólo tiene unos segundos para prestar atención.

1. Nunca pongas una animación flash. A no ser, que quieras perder clientes. ¿Por que va a esperar alguien a que cargue el flash?¿Por que va a verlo completo?¿Para ver las letras del nombre de la tienda bailando hasta el centro? Piensa en un escaparate, ¿tiene sentido un cartel gigante con el nombre de la tienda?

2. Analiza al cliente, y cambia la página de inicio según el resultado. Complicado, muy complicado, pero realmente efectivo. Os lo explico por pasos (sólo válido con cookies o con usuario registrado), con una tienda de ejemplo de teléfonos móviles.

  • Una persona entra por primera vez en la web de la tienda, el sistema, le asigna un identificador que se guarda en una cookie.
  • Se registran todas las páginas que ha visitado, resulta que ha visto varios teléfonos de marca Nokia.
  • Guardamos en la cookie: “Interesado en Nokia”.
  • Cuando el usuario entra por segunda vez, lo que ve en la página de inicio es una oferta en Nokia, además de una lista de los últimos artículos que estuvo mirando.

3. La página de inicio es para vender no para lucirse. Muestra lo que el cliente busca, y normalmente, cuando un cliente entra se pregunta ¿que venden?¿son de fiar?¿cuanto cuesta el envío?¿tienen lo que busco? De nada sirve una página contando la historia de la empresa, y las últimas noticias del sector.

Soporte/Ayuda

El soporte es fundamental hoy en día, si un cliente envía un correo y podemos responderle antes de una hora, podemos estar seguro que tendrá una buena impresión de nosotros. Pero ¿que pasa cuando no podemos responder todos los correos?

El cliente tiene que saber que hay alguien detrás, los correos automáticos son muy útiles, pero lo realmente útil, es tener un buen sistema de atención al cliente:

  • Asignar a cada correo o llamada del cliente un número de ticket, y una persona de contacto, es horrible tener que llamar y contarle a todo el mundo el mismo problema una y otra vez, es mucho mejor llamar y decir: Ticket 4565.
  • Tener disponible junto con el ticket del cliente, información de incidencias anteriores, pedidos, etc. del mismo cliente, para evitar posibles fraudes, o problemas recurrentes.
  • Notificar al cliente cuando su pregunta, incidencia, o lo que sea; está resuelta, incluyendo publicidad u ofertas, por supuesto.

Información correcta

Es la parte más complicada, pero es necesaria. Una vez nos compraron un carrito de muñecas, pero el cliente creyó que era un carrito para bebés. Desde entonces, nos ha pasado varias veces, pero cada vez menos.

La información que se le proporciona al cliente debe ser correcta.

  • La imagen debe corresponder al producto, en caso contrario debe indicarse claramente.
  • La ficha del producto, debe ser al menos, la que figura en la caja. Este es un punto problemático. La ley exige que los productos estén bien etiquetados, sello de la Comunidad Económica Europea, Edad mínima, lugar de fabricación, si las pilas están incluidas, etc. Pero, sin embargo, por ahora no hay restricciones en la venta online, pero debería haberlas.
  • El producto debe estar en la categoría adecuada, y esta categoría tiene que estar muy clara. Si tenemos una categoría de móviles Nokia, sólo deberíamos encontrar MÓVILES NOKIA. Si encontramos otro artículo, debería dejar claro que no es un móvil.
  • Los comentarios y testimonios son muy útiles, pero antes de falsificarlos, es preferible decir que son de un empleado de la tienda. En nuestra web, nuestros empleados dejan comentarios de los artículos que prueban, y los clientes los leen, y saben que son de alguien que ha probado el artículo.

Cross Selling, Up selling, y el resto de palabrejas

Bien, he decidido comprarme un Nokia, pero me dicen, que otros clientes que compraron un Nokia, también compraron un microondas. ¿realmente para que sirve esto? El cross-selling tiene sus ventajas, pero deber tener una lógica. Si compro un Nokia, lo interesante es que me ofrezcan un cargador para el coche, una tarjeta de memoria, una funda, o quizás un pack con todo eso.

El cross-selling basado en las compras de otros clientes, tiene sentido cuando nuestro volumen de venta es el de Amazon, y nos quedamos sólo, con las compras más frecuentes, y descartamos el dichoso microondas que compró una sóla persona.

Esto no es fácil de implementar, habría que crear un sistema de relaciones entre productos, por ejemplo:

  • Similar: Se le puede indicar al cliente, otros productos de similares características, que puedan interesarle, quizás un móvil más barato, o quizás uno con mayores prestaciones.
  • Accesorios: Productos, que son complementos o accesorios de otros.
  • Nueva Versión: Si tenemos definida la relación entre el iPhone 3G y el nuevo iPhone 3GS, se le podría enviar un correo a todos los clientes que compraron el modelo antiguo o un accesorio, para ofrecerles el nuevo modelo.

El cliente quiere sentirse importante

Un correo, ofreciéndoles un producto en exclusiva, antes de que salga al mercado, puede fidelizar al cliente de por vida.

Aunque esto no es posible en todos los negocios, en muchos si lo es. Por ejemplo, en libros, música, la pre-reserva, es algo muy importante, quedarte sin el nuevo disco, o el nuevo libro de tu autor favorito sería un pecado.

Hay otras acciones de marketing posibles, como felicitar el cumpleaños, la onomástica, etc.

El producto no existe

Seguro que os ha pasado más de una vez, buscamos un producto en Google, le damos al enlace y nos sale el típico mensaje de que el producto no existe. Durante un tiempo, eBay acaparó la mayoría de los resultados de Google, y cuando pinchabas, te encontrabas con subasta acabada, producto no existe, etc.

Pero ¿que significa que el producto no existe?

  1. El producto se ha agotado: Se le debería indicar al cliente, que el producto se está agotado, previsión de cuando llegará, o si no llegará nunca, y por supuesto, otras opciones similares.
  2. El producto no existe: Puede pasar, cuando hemos eliminado de nuestro catálogo un producto, pero sigue indexado en Google. En este caso, se debe indicar al usuario, que las razones por las que el producto no aparece. Recuerdo varias tiendas que han dejado de trabajar algunas marcas, y tienen enlaces a tiendas que si comercializan el producto.

Atención telefónica

Google no tiene atención telefónica. Me lo repite mucha gente; si Google no tiene, yo tampoco. Pues vale, tu mismo, Google aún no comercializa muchos productos, y los que si comercializa, puedes pedir hablar con asesor de ventas.

Yo suelo utilizar el correo, más que el teléfono, pero no lo primero que hago al hacer un pedido importante, es llamar por teléfono para asegurarme que lo voy a recibir a tiempo, es una manía, pero no soy el único que piensa así. El saber que hay alguien detrás, y no una máquina, es muy importante para mucha gente, pero no sólo eso ¿permitimos pedidos telefónicos? Ya sé que tienen un coste adicional, pero ¿quieres perder un cliente? Haz el pedido por teléfono, y explícale los beneficios de hacer el pedido por Internet.

Pero a parte de hacer el pedido, ¿que pasa cuando hay una incidencia? Nos ha pasado más de una vez, el cliente en su casa, discutiendo con la agencia de transportes, en ese momento, una llamada, puede resolver el problema ‘in situ’.

A la competencia ni agua

Este es un punto controvertido, depende del negocio, pero mi opinión…. dar la solución al cliente. Muchas veces me han pedido artículos que no tengo en mi catálogo, y no he dudado en enviar a la persona a alguno de mis competidores, ¿para que?

  1. Cliente pesado. ¿Como te quitas un cliente que es un pesado y que te hacer perder el tiempo (y el dinero)? enviándolo a la competencia. Quedas bien con el cliente, el pensará que le hemos atendido bien, y le contará a sus amigos lo bueno que somos.
  2. Cliente desesperado. Le hace falta el artículo para hoy, imposible que le llegue, y sabes que en su ciudad hay una tienda que lo tiene. Es mejor solucionarle el problema, y que tenga un buen concepto de ti, a que se olvide, y pases a ser, uno más de los que ha llamado hoy.
  3. Intercambio de clientes. Es importante que empresas que compiten puedan intercambiar clientes, preferible que el cliente pase a un enemigo conocido que a uno desconocido. Hay empresas, que determinan una tasa de intercambio, incluso de pedidos, otros simplemente, prefieren un cliente contento que un cliente, que, probablemente acabe en la competencia y encima, esté descontento.

Social Media

Apartado bastante controvertido, mientras unos dicen que los clientes deben entrar a comprar, otros creen que la tienda debe crear comunidad en torno a los clientes, permitiendo comentarios, mensajes entre usuarios, foros, blogs, etc…

Mi opinión es que no, las comunidades ligadas a empresas son peligrosas, los usuarios pueden unirse y exigir, pueden tomar decisiones en masa, y hacernos mucho daño.

Hay que permitir cierta interacción, pero no construir comunidades dentro de nuestra tienda. Por ejemplo, un botón de comenta este producto en facebook, puede ser interesante.

Las notificaciones

Ha menudo, enviamos correos a nuestro clientes, bienvenida a la tienda, notificación de pedido, pago, envío, etc. Los correos, tienen que estar muy claritos, sin ambigüedades, en las tres primeras líneas debe explicarse todo, y no es necesario asustar al cliente, lo explicamos a continuación.

Hace tiempo, nuestro correo de confirmación de pedidos, indicaba, que en determinadas ocasiones el pedido podía retrasarse varios días, debido a la agencia de transporte. Esto, lo único que generaba es miedo entre los clientes, queda mucho mejor decir, que el pedido debe recibirlo en 24 horas laborables, que en caso contrario contacten con atención al cliente. Pero ¿cómo evitamos que nos llamen constantemente? pues indicando la empresa de transportes, el teléfono y el número de seguimiento.

Es un ejemplo, de como cambiar radicalmente un mensaje que transmitía miedo e inseguridad, a un mensaje donde el usuario está tranquilo, por que recibirá el paquete al día siguiente, y en caso de problemas, tiene toda la información de la empresa de transportes.

De esta misma forma, tenemos que cuidar mucho todos los mensajes que transmitimos a nuestros clientes.

El cliente “especial”

En todas las tiendas, se registra uno o varios clientes “especiales”, son clientes, que compran mucho, pero que te exigen una dedicación casi personal a todas sus llamadas y peticiones. En un principio, puede parecer que si tu objetivo es volcarte en los clientes, tienes que atenderlo bien, pero mientras atiendes a ese cliente “especial” ¿A cuántos otros dejas de atender?

Es importante tener claro, que los clientes “especiales” vienen y van, que un momento dado, pueden darte mucho beneficio, pero que estás perdiendo dinero por otro lado.

¿Algo más?

Aún queda mucho más, sobre todo en marketing, pero eso lo dejamos para otra ocasión. Implementar lo que hemos contado hoy en nuestro negocio puede llevar meses, pero cuanto antes empecemos mejor.

jmacias Usabilidad, eCommerce

OpenSource vs Documentación

July 23rd, 2009

Hemos empezado a documentar dmShop, aunque en un principio habíamos optado por usar MediaWiki, nos está dando más problemas que soluciones, sobre todo con el Spam.

Me resulta curioso que muchos proyectos OpenSource no publiquen ninguna documentación, cuando lo más normal es que la documentación se haga antes del proyecto.

Aunque, hay que tener claro, que el negocio para muchas empresas, es vender la documentación de proyectos Open Source, pero, si no hay documentación ¿como colabora la gente?

jmacias dmShop

Aplicación Escritorio vs Aplicación web

July 14th, 2009

Se ha hablado mucho de este tema, y se seguirá hablando durante mucho tiempo. Mientras que las grandes empresas nos dicen que el futuro son las aplicaciones web, que se puede hacer lo mismo que con una aplicación de escritorio, etc.., la realidad y el usuario, nos dice otra cosa.

Como ejemplo siempre pongo Google, tiende a desarrollar todo en Web, sin embargo, cuando hay dinero por en medio y el usuario lo pide, hace una aplicación de escritorio, como el editar de anuncios AdWords Editor.

Seamos prácticos, las aplicaciones web tardarán algunos años más en equiparse a las de escritorio, pero además, no sólo se tienen que equiparar, hay que equiparar también la facilidad de desarrollo en web.

¿Por qué son mejores las aplicaciones de Escritorio?

Estas son mis razones, está claro que se pueden solucionar de una forma u otra, pero, siguen siendo un grave problema.

1. Botón Atrás. Parece una tontería, pero no lo es, el botón atrás del explorador es uno de los mayores enemigos de las aplicaciones web, generando multitud de errores diferente, por que, en algunos casos, puede que vaya a la pantalla anterior, pero en otros casos, acabamos con registros duplicados, formularios que se vacían sólos, etc…

2. Tecla Borrar. La tecla borrar, en cualquier navegador, es volver atrás, sabéis lo que fastidia estar en medio de un formulario y darle a borrar y que se vaya a la pantalla anterior y tener que empezar de nuevo????

3. La sesión. Te llaman por teléfono, vuelves a tu teclado, y cuando le das a aceptar… pummmm La sesión a expirado. Ha empezar de nuevo o… no se sabe por donde…

4. Múltiples Ventanas. Salvo contadas excepciones, como WordPress, o alguno más, la mayoría de las aplicaciones web sólo son capaces de hacer una sola cosa a la vez. Me explico, estoy escribiendo este artículo, y al mismo tiempo puedo dar de alta Categorías, para hacer otra cosa, tendría que abrir una nueva ventana/pestña!!!! En las aplicaciones de Escritorio puedes hacer muchas cosas al mismo tiempo.

5. Acceso a las recursos del sistema. Si tienes un programa que necesita dos impresoras diferentes, según el tipo de documento, con una aplicación web la hemos liado. No se puede, tenemos que estar cambiando de impresora. Es un ejemplo, pero es la realidad, el acceso a los recursos locales es muy limitado.

6. El browser se muere…. Cuando mezclamos una aplicación web en el mismo browser, con el facebook, el último video de youtube, radio online, etc.. llega un momento en que se muere y crash… al final me he tenido que instalar 2 browsers, una para aplicaciones y otro que utilizo para cosas que pueden hacer el browser morir. Ya sé que es culpa del browser, pero…

7. AJAX. Es bueno, es muy bueno, siempre que se utilice bien, pero utilizarlo bien, tiene un coste altísimo, y pocas personas son capaces de hacer aplicaciones COMPATIBLES en AJAX que funcionen bien.

8. Compatibilidad. Magento es uno de los sistemas de comercio electrónico de nueva generación más famosos, pues bien, no me funciona en mi browser, es incompatible.

9. Favoritos e Historial. No hay cosa más peligrosa que un usuario acceda a una página directamente de una aplicación, sin pasar por los pasos necesarios. He visto usuarios que se guardaban en el favorito patallas que requerían pasar por un paso previo, y al acceder directamente, montaba unos líos increíbles.

10. Ancho de Banda. Si, si, ancho de bando. Una aplicación web tiene que transmitir, la pantalla, las librerías de AJAX, la hoja de estilo, las imágenes, y los datos!!! mientras que una aplicación de escritorio, sólo transmite los datos.

jmacias Programación, Usabilidad

Técnicas para mejorar rendimiento

June 5th, 2009

Existe mucha literatura sobre como mejorar el rendimiento de las aplicaciones, pero a menudo nos olvidamos de ellas, recopilamos aquí, las técnicas más usadas en aplicaciones de escritorio:

1. Cache, cache y mas cache

Es totalmente innecesario acceder a los mismos datos en la base de datos una y otra vez, es mucho mejor, guardar estos datos en memoria o en disco, y utilizarlos en las sucesivas llamadas.

Además de este tipo de datos, están los parámetros, las preferencias de usuarios, etc…

El uso de cache, mejora radicalmente la velocidad de una aplicación.

2. Arranque Rápido.

Esta es mi técnica preferida, ideal para redes lentas. No es fácil de implementar y requiere un poco de lógica. Se recoge estadística de las tablas y recursos más usados por la aplicación cuando arranca, por ejemplo, podemos tener una aplicación que normalmente abre un formulario y que tiene una lista desplegable con provincias.

Basándonos en las estadísticas, hacemos que arranque en paralelo y proceso que precarge los datos más usado, de forma que cuando el usuario acceda, no tiene que esperar que lleguen los datos.

3. Optimización de Base de Datos

No voy a detallar todas las técnicas, pues hay muchas, pero las principales son optimización de índices, minimizar los accesos a bases de datos, desnormalización cuando es necesario, estudio de planes de ejecución de consultas, etc..

4. Escalabilidad

Quizás, la parte más complicada a la hora de desarrollar una aplicación. Lo primero es ¿como sabemos si es escalable? Existen herramientas que simulan la carga de trabajo de miles de usuairos, es un buen punto de partida.

Pero ¿como lo hacemos más escalable? Existen muchas técnicas, pero la más sencilla y útil es diseñar los sistemas para que se puedan ejecutar en paralelo, no diseñar un proceso central que lo hace todo en el servidor, es mejor diseñar, pequeños procesos de trabajo que se pueden ejecutar en paralelo.

Ahora estamos probando la ejecución distribuida de los procesos del servidor, de forma, que todos los ordenadores de la oficina, participan en el proceso global, aportanto parte de su CPU.

5. Sensación y percepción

Un día llegó a mis manos un documento de Microsoft muy curioso, sobre la percepción que tiene el usuario de la velocidad de un programa, y me pareció muy interesante. La típica barra de progreso que tenía Windows al principio al iniciar, fue sustituida por una barra que se movía a toda prisa y daba varias vueltas. La percepción del usuario es importante, y tenemos que cuidar todos los tiempos muertos de la aplicación, utilizar iconos con reloj, animaciones, etc….

jmacias Programación ,

osCommerce vs Magento vs Prestashop vs Zencart vs Drupal

May 28th, 2009

Cuando empezamos hace unos años cuando nuestra pequeña web, instalamos osCommerce, y la verdad, para empezar está bien, los primeros meses instalamos varias contribuciones; editor de pedidos, módulos de pagos, etc.

A medida que ibamos creciendo, nuestras necesidades iban creciendo, en cuanto a marketing, y en cuanto a gestión.

Poco a poco, fuimos instalando más contribuciones, modificando osCommerce, y al mismo tiempo evaluando otros sistemas.

Llegados a un punto, nos dimos cuenta de que osCommerce, había dado todo lo que podía dar, era hora de cambiar. Había dos áreas en las que necesitabamos mejorar, marketing y gestión.

Al evaluar las distintos sistemas de comercio electrónico, llegamos a la conclusión de que Magento era el mejór en marketing, pero sin embargo, tenía muchos problemas de rendimiento adicionales, configuración, gestión de pedidos, etc…

Prestashop, es una gran solución si sabes frances, todo el soporte está en ese idioma, y los desarrolladores ignoran las peticiones en el foro ingles.

Zencart…. pues que quereis que os diga, está muy bien, pero tiene una línea de desarrollo extremadamente lenta, y llevo meses esperando la versión 2 que nunca llega.

Ahora nos vamos a gestión, y me encuentro, que salvo Magento, los demás no aportan mucho a la gestión de pedidos, facturas, pagos, etc., y no digamos de gestión de stock que es penosa.

Así que nos decidimos a realizar entera de nueva la parte de gestión de oscommerce, incorporando áreas de compras, gestión de stock, etc., es decir un ERP.

Ahora que estamos acabando el ERP, se nos queda osCommerce como un simple catálogo, y estamos en la duda de si sustituirlo por Drupal, que nos va a permitir mejorar las capacidades de marketing de nuestra web.

Ya os iremos contando como vá la evolución de nuestro entorno.

admin eCommerce