CODIGO PROMOCIONAL UBER CUZCO - AREQUIPA - LIMA

CODIGO PROMOCIONAL DE DESCUENTO CABIFY PARA USUARIOS NUEVOS

Así como UBER ofrece códigos promocionales, ahora Cabify esta presentando códigos promocionales para tus viajes, en este caso son de S/. 6.00 nuevos soles.
Sin embargo, a diferencia de UBER que si tenias un código promocional por 10 soles y el servicio era por 8 soles se perdía el saldo, con CABIFY puedes acumular soles por cada referido con tu código, es decir, si ganas 2 referidos tendrías 12 soles en tu saldo y si tomas un servicio por 9 soles te quedarán 3 para el siguiente viaje.

¿Cómo usar el código promocional de descuento en Cabify? -> Muy simple, puedes descargarte la app desde la APP store si tienes un iphone o desde el Google Play si usas un dispositivo con Android.
Una vez instalada la app te pedirá el nombre, email y tarjeta de crédito (opcional), si deseas pagar solo con efectivo, por temas de seguridad deberás ingresar no solo tu número de DNI sino también fotografiar la parte frontal de tu documento de identidad.

¿Listo? ¿Ya estas registrado? Entonces empieza a acumular crédito, mientras más compartas tu código mas podrás acumular.
Para recibir tu primer descuento ingresa el código RAFAELT777



¿Quieres saber algo mas? Puedes solicitar el servicio de cabify desde tu computadora, es decir no necesitaras tener un smarphone e incluso puedes hacer una reserva para que te recojan el dia y hora que tu especifiques.

CODIGO PROMOCIONAL CABIFY PARA USUARIOS YA REGISTRADOS

Si ya eres usuario de CABIFY y quieres usar un codigo promocional de descuento, aqui te dejamos CODIGOS PROMOCIONALES DE CABIFY PARA USUARIOS ANTIGUOS:

Código GRANFIN20X4 : Te da 20% de descuento los fines de semana hasta en 4 viajes.
Código GRANLUNES20X2 : Te da 20% de descuento en 2 viajes (sólo los lunes) 
Código LUNES2X20 :  Te brinda los días lunes 20% de descuento en 2 viajes
Código FINDE20X4 : Te brinda 20% de descuento en 4 viajes
Esos son los codigos promocionales de descuento vigentes a la fecha. Si al ingresar el código aparace el mensaje CÓDIGO LLEGÓ A SU LÍMITE  quiere decir que muchos usuarios han ingresado el código de descuento, ten paciencia, espera un poco y volverán a activar la promoción, salvo ya haya vencido.

COMO USAR EL CÓDIGO PROMOCIONAL DE UBER (Viajes gratis)

Si aun no te has registrado en el servicio de UBER y quieres llevarte un viaje gratis (dependiendo el pais pueden ser dos o tres viajes gratis), esta es tu oportunidad, lo único que debes hacer es registrarte a través del siguiente vínculo:  https://www.uber.com/invite/b2rc48pmue y luego colocar el código promocional     b2rc48pmue  .

PASOS PARA USAR UN CODIGO PROMOCIONAL EN UBER EN PERÚ U OTRO PAIS
  1. Ingresa a la aplicación de UBER
  2. Presiona sobre las tres barritas horizontales que aparecen en la esquina superior izquierda de tu aplicación.
  3. Selecciona la opción PROMOCIONES (Es la quinta siguiendo la siguiente secuencia : PAGO / VIAJES / AYUDA / VIAJES GRATIS / PROMOCIONES)
  4. Dentro de promociones encontrarás una opción que diga AGREGA CÓDIGO PROMO y listo, eso es todo. Una vez ingresado el código uber y que hayas tomado el servicio, la aplicación del conductor de uber reconocerá tu código promocional.
Ten presente que las promociones de uber con códigos gratuitos varian por temporadas, no existe una promocion de viajes gratis estandarizada, en el cao de Perú, primero eran 2 viajes gratis de 20 soles, luego tres de 10 soles, luego uno de 10 soles, en la actualidad son dos de 10 soles.

IMPORTANTE: Si el servicio fuera por un monto mayor, deberás pagar solo la diferencia de la tarifa, pero si el servicio es por un monto menor, debes saber que no hay vuelto o saldo a favor.
Debes considerar que los códigos no son acumulables, es decir, si tienes 3 viajes gratis de 10 soles cada uno, no puedes tomar un servicio por 30, porque el valor máximo por código o cupón promocional de UBER es por 20 nuevos soles.

Recuerda que una vez registrado, tu también puedes referir el servicio y ganar más códigos promocionales a tus amigos y familiares. La idea no es que solo ganes dos o tres viajes gratis uber sino que los recomiendes con tus amigos y de esa manera puedas acumular mas viajes.

TARIFAS DINÁMICAS UBER
Algo importante que debes saber es que UBER usa tarifas dinámicas, por ende, puede suceder que en tramos cortos la tarifa sea muy elevada, ello debido a la alta demanda, si eso te sucede, espera un par de minutos y vuelve a cargar la aplicación y la tarifa en algunos casos cambiará. Como ejemplo te comentamos que siempre nos vamos de San Miguel a Pueblo Libre y viceversa por 7 soles o 7.50, sin embargo, en vísperas a las fiestas navideñas la tarifa estuvo en promedio 11 soles y el mismo 24 de diciembre las tarifas por momentos llegaban a los 22 soles. Ten paciencia y espera que la demanda baje un poco.
De lunes a viernes entre las 7.50 am y 9.00 am las tarifas suelen subir un poco, lo mismo sucede al finalizar la tarde cuando las personas salen de su centro de trabajo.

PASOS PARA INVITAR A MIS AMIGOS A REGISTRARSE EN UBER Y GANAR VIAJES GRATIS:
  1. Ingresa a la APP de UBER
  2. Presiona sobre las tres barritas horizontales que aparecen en la esquina superior izquierda de tu aplicación.
  3. Ubica la opción VIAJES GRATIS y selecciona la forma en la que deseas invitar a tus amigos, puede ser por correo electrónico, por mensaje de texto o en tus redes sociales favoritas. A mas invitaciones aceptadas, mas viajes gratis recibirás de UBER

Cuando compartas ya sea por redes sociales , correo electrónico o mensaje de texto , a tus amigos les aparecerá un mensaje muy similar a este, el cual, claro está, tu tambien lo puedes personalizar siempre y cuando no cambies tu código:

Quiero regalarte tres viajes gratis con el app de Uber (de hasta 10 PEN). Para aceptarlo, usa el código b2rc48pmue y regístrate. ¡Disfruta!

Si lo deseas, también puedes registrarte y obtener tu primer taxi gratis con UBER usando este código QR para hacer tu inscripción.



ESTE CODIGO UBER DE VIAJE PROMOCIONAL ES VALIDO PARA LOS SIGUIENTES LUGARES:

América Central y Sudamérica

Anápolis Antofagasta Aracaju Arequipa Arica Armenia Barranquilla Belem Belo Horizonte Blumenau Boa Vista Bogotá Brasilia Bucaramanga Buenos Aires Cabo Frio Calama Cali - Colombia Campina Grande Campinas Campo Grande Campos dos Goytacazes Cartagena Caruaru Cascavel Caxias do Sul Ciudad de Guatemala Concepción Copiapó  Criciúma  Cucuta Cuiabá  Curitiba Cusco Dourados Feira de Santana Florianópolis  Fortaleza Goiania Guayaquil Ibagué Iquique Itajaí João Pessoa Joinville Juazeiro do Norte Juiz de Fora La Paz La Serena Lima Londrina Macapa Maceió Manaus Manizales Maringa Medellín  Monteria Montes Claros Montevideo Mossoró Natal Neiva Osorno Ovalle Palmas Panamá, Panamá Pasto Pereira Petrolina Piracicaba Ponta Grossa Popayán Porto Alegre Porto Velho Puerto España Puerto Montt Punta Arenas Quito Rancagua Recife  Ribeirao Preto Rio Branco Río de Janeiro Rio Verde Rondonópolis Salvador  San Fernando San José, Costa Rica San Pablo  San Salvador Santa Cruz, BO0 Santa Marta Santiago Santiago de los Caballeros Santo Domingo Santos  São José do Rio Preto São Jose dos Campos São Luis Sincelejo Sorocaba Talca Temuco Teresina Uberaba Uberlândia Valdivia Valledupar Valparaíso Villavicencio Vitoria Volta Redonda



Encuentra más casos de estudio de marketing, administración y empresas exitosas en http://www.facebook.com/EBlogDeRaffo
Recuerda que también puedes seguirnos en twitter como @rtrucios


Te invitamos a compartir nuestros contenidos con tus colegas y así hacer crecer nuestra comunidad


¿Por qué rayos usaría Node.js? Un tutorial caso por caso

La creciente popularidad de JavaScript ha traído consigo varios cambios, incluyendo la superficie del desarrollo web, ya que hoy en día es radicalmente diferente. Las cosas que podemos hacer en la web hoy, con JavaScript ejecutando en el servidor, como también en el navegador, eran difíciles de imaginar hace varios años, o se encapsulan dentro de entornos “sandbox” como Flash y Java.
Antes de indagar en Node.js, es posible que desees leer acerca de los beneficios de utilizar JavaScript a través del stack, que unifica el idioma y el formato de datos (JSON), lo que permite reutilizar de manera óptima los recursos del desarrollador. Como esto es más un beneficio de JavaScript que de Node.js específicamente, no hablaremos mucho de ello aquí. Sin embargo, es una ventaja clave para la incorporación de Node en su pila.
Tal y como Wikipedia sugiere: “Node.js es un entorno en tiempo de ejecución multiplataforma, de código abierto, para la capa del servidor (pero no limitándose a ello) basado en el lenguaje de programación ECMAScript, asíncrono, con I/O de datos en una arquitectura orientada a eventos y basado en el motor V8 de Google.” Más allá de eso, vale la pena señalar que el creador de Node.js, Ryan Dahl fue destinado a crear sitios web en tiempo real con función de inserción, “inspirado por aplicaciones como Gmail”. En Node.js, dio a los desarrolladores una herramienta para trabajar en la no-bloqueante, event-driven I/O paradigma.
Después de dos décadas de protocolo sin estado basado en el paradigma de petición-respuesta de protocolos, finalmente tenemos aplicaciones web en tiempo real, las conexiones bidireccionales.

En una frase: Node.js brilla en aplicaciones web de tiempo real empleando la tecnología push a través de Websockets. ¿Qué es tan revolucionario acerca de eso? Bueno, después de más de 20 años de webs apátridas basadas en el paradigma de petición-respuesta de apátridas, finalmente tenemos aplicaciones web en tiempo real, las conexiones bidireccionales, donde tanto el cliente como el servidor pueden iniciar la comunicación, lo que les permite intercambiar datos libremente. Esto está en contraste con el paradigma de respuesta web típica, donde el cliente siempre inicia la comunicación. Además, todo se basa en el Open Web Stack (HTML, CSS y JS) que se ejecuta en el puerto estándar 80.
Podríamos argumentar que hemos tenido este formato durante años en forma de Flash y Applets de Java, pero en realidad, eran simplemente un entorno de Sandbox usando la web como un protocolo de transporte para ser entregado al cliente. Además, se ejecutan en aislamiento y a menudo operan a través de un puerto no estándar, el cual podía tener requisitos adicionales para su uso.
Con todas sus ventajas, Node.js ahora juega un papel crítico en la pila de tecnología de muchas empresas de alto perfil que dependen de sus exclusivas ventajas.
En este artículo voy a analizar no sólo cómo estas ventajas son obtenidas, sino también por qué es posible que desees utilizar Node.js y por qué no usar algunos de los clásicos modelos de aplicaciones web como ejemplos.

¿Cómo funciona?

La idea principal de Node.js: uso no-bloqueante, event-driven I/O, permanecer ligero y eficiente en la superficie del uso intensivo de datos en tiempo real de las aplicaciones que se ejecutan en dispositivos distribuidos.
Increíble ¿no?
Lo que en realidad significa es que Node.js no es nueva plataforma que dominará el mundo del desarrollo web. Al contrario, se trata de una plataforma que llena una necesidad en particular.
Y este entendimiento es absolutamente esencial. Definitivamente no quieres usar Node.js para operaciones intensivas de CPU; de hecho, utilizándolo para el cálculo pesado anulará casi todas sus ventajas. Donde Node REALMENTE destaca es en la construcción rápida y escalable de aplicaciones de red, debido a que es capaz de manejar un gran número de conexiones simultáneas con alto rendimiento, lo que equivale a una alta escalabilidad.
Cómo funciona internamente es bastante interesante. Frente a las tradicionales técnicas de servicio web donde cada conexión (solicitud) genera un nuevo subproceso, retomando la RAM del sistema y finalmente a tope a la cantidad de RAM disponible, Node.js opera en un solo subproceso, no utiliza el bloqueo de llamadas de E/S, lo que le permite admitir decenas de miles de conexiones simultáneas (celebrada en el caso de loop).

Un cálculo rápido: suponiendo que cada subproceso tiene un potencial acompañado de 2 MB de memoria, el cual se ejecutará dentro de un sistema con 8 GB de RAM nos pone a un máximo teórico de 4.000 conexiones simultáneas, además del costo de cambio de contexto entre subprocesos. Ese es el escenario que se suelen tratar con técnicas de servicio web tradicional. Evitando todo eso, Node.js alcanza niveles de escalabilidad de más de 1M de conexiones simultáneas (como una prueba de concepto).
Existe por supuesto, la posibilidad de compartir un único subproceso entre todas las solicitudes de clientes, convirtiéndola en una falla potencial de escribir aplicaciones Node.js. En primer lugar, el cómputo pesado podría estancarse y provocar problemas para todos los clientes (más sobre esto más adelante) como las peticiones entrantes, las cuales serían bloqueadas hasta que dicho cálculo se haya completado. En segundo lugar, los desarrolladores necesitan ser muy cuidadosos en no permitir una excepción burbujeante hacia el núcleo (la superior), lo que provocaría que la instancia de Node.js se terminase (efectivamente bloqueando el programa).
La técnica utilizada para evitar excepciones transfiere los errores a la llamada como llamada de parámetros (en lugar de tirar de ellos, al igual que en otros entornos). Inclusive si alguna excepción llegase a burbujear, existen varias herramientas disponibles para supervisar el proceso de Node y realizar la recuperación necesaria en caso de una emergencia(aunque no serás capaz de recuperar las sesiones de los usuarios); siendo la emergencia más común el módulo Forever, o un enfoque diferente con herramientas de sistema externo advenedizo y monit.

NPM: El Node Package Manager

Cuando hablamos de Node.js, una cosa que definitivamente no debe omitirse es integrarlo en el apoyo de la gestión de paquetes utilizando la herramienta NPM que viene por defecto con cada instalación de Node.js. La idea de los módulos NPM es muy similar a la de Ruby Gemas: un conjunto de componentes reutilizables disponibles públicamente a través de una fácil instalación a través de un repositorio en línea, con la versión y la dependencia de gestión.
Una lista completa de los paquetes de módulos puede encontrarse en el sitio web de NPM Https://npmjs.org/ o acceder utilizando la herramienta de la CLI de NPM que automáticamente se instala con Node.js. El módulo es un ecosistema abierto a todos, y cualquiera puede publicar su propio módulo que será incluido en el repositorio de NPM. Una breve introducción a la NPM (un poco viejo, pero sigue siendo válido) se puede encontrar en http://howtonode.org/introduction-to-npm.
Algunos de los más populares hoy en día son módulos de NPM:
  • express - Express.js, inspirado en el framework de desarrollo web para Node.js, y el estándar de facto para la mayoría de aplicaciones Node.js de hoy en día.
  • connect - Connect es un servidor HTTP extensible framework para Node.js, que proporciona una colección de alto rendimiento de plugins conocidos como middleware; sirve como fundamento para expresar.
  • socket.io y sockjs - Componente del servidor de los dos componentes de websockets más comúnes en la actualidad.
  • Jade - Uno de los más populares motores de plantillas, inspirados por HAML, un defecto en Express.js.
  • mongo y mongojs - mongoDB wrappers para proporcionar la API para bases de datos de objetos MongoDB en Node.js.
  • redis - Redis biblioteca cliente.
  • coffee-script - CoffeeScript compilador que permite a los desarrolladores escribir sus programas Node.js con café.
  • Underscore (lodashlazy) - La biblioteca de utilidades más popular de JavaScript, empaquetados para ser utilizado con Node.js, así como sus dos contrapartes, que prometen mejorar el rendimiento mediante la adopción de un enfoque de aplicación ligeramente diferente.
  • forever - Probablemente la utilidad más común para asegurar que un determinado Node script se ejecuta continuamente. Mantiene su proceso de Node.js en la producción y en el rostro de cualquier fallo inesperado.
La lista es interminable. Hay toneladas de paquetes realmente útiles y disponible para todos (sin ofender a los que he omitido aquí).

Ejemplos en donde Node.js debe utilizarse:

Chat

Es la forma más típica en tiempo real y una multi-aplicación de usuario. Desde IRC (en el día), a través de muchos propietarios y protocolos abiertos girando en puertos no estándar, con la capacidad de instrumentar todo en Node.js con websockets corriendo sobre el puerto estándar 80.
La aplicación de chat es realmente perfecta para Node.js: es ligera, tiene un alto tráfico de datos intensivos (pero baja/procesamiento de cómputo) y es una aplicación que funciona en dispositivos distribuidos. También es un gran caso de uso para el aprendizaje, ya que es demasiado simple, pero al mismo tiempo que cubre la mayoría de herramientas que puedes utilizar en una típica aplicación Node.js.
Vamos a tratar de describir cómo funciona.
En el ejemplo más sencillo, tenemos una sola sala de chat en nuestro sitio web donde la gente puede venir e intercambiar mensajes ya sea con una persona o con varias. Por ejemplo, supongamos que tenemos tres personas en el sitio todos los conectados a nuestro tablero de mensajes.
En el lado del servidor, tenemos un simple Express.js que implementa dos cosas: 1) Obtener un controlador de solicitudes ‘/’ que sirve la página web que contiene un tablero de mensajes y un botón ‘Enviar’ para inicializar el nuevo mensaje de entrada, y 2) un servidor websockets que escucha los mensajes emitidos por los clientes de websocket.
En el cliente, tenemos una página HTML con un par de controladores, uno para el Send’ evento de clic de botón, que recoge el mensaje de entrada y lo envía hacia abajo el websocket, y otro que escucha los mensajes entrantes del nuevo cliente de websockets (es decir, los mensajes enviados por otros usuarios, que el servidor ahora quiere que el cliente muestre).
Cuando uno de los clientes envía un mensaje, lo que sucede es lo siguiente:
  1. El explorador atrapa el clic con el botón ‘Send’ a través de un controlador de JavaScript que recoge el valor del campo de entrada (es decir, el texto del mensaje), y emite un mensaje websocket websocket utilizando el cliente conectado a nuestro servidor (inicializado en la inicialización de la página web).
  2. El componente del servidor de la conexión websocket recibe el mensaje y lo reenvía a todos los demás clientes conectados mediante el método de difusión.
  3. Todos los clientes reciben el mensaje como un mensaje de inserción a través de un componente de cliente websockets que se ejecuta dentro de la página web. Ellos entonces recogen el contenido del mensaje y actualizan la página web en lugar de anexar el nuevo mensaje a la junta.
Este es el ejemplo más sencillo. Para una solución más robusta, podrías utilizar un caché simple basado en la Redis store. O incluso en una solución más avanzada, una cola de mensajes para gestionar el enrutamiento de mensajes a los clientes y un mecanismo de entrega más robusto que pueda cubrir pérdidas de conexión temporal o almacenar mensajes para clientes registrados mientras está desconectado. Pero independientemente de las mejoras que realices, Node.js todavía operará bajo los mismos principios básicos: reaccionar a eventos, manejo de muchas conexiones simultáneas, y mantenimiento en la fluidez de la experiencia del usuario.

API en la parte superior de un OBJETO DB

Aunque Node.js realmente destaca entre aplicaciones de tiempo real, es una adaptación natural para exponer los datos de objeto DBs (p. ej. MongoDB). El almacenamiento de datos JSON permite que Node.js funcione sin la desigualdad de impedancia y la conversión de datos.
Por ejemplo, si estás utilizando Rails, tendrías que convertir los datos de JSON para modelos binarios y después exponer nuevamente como JSON sobre HTTP cuando el dato es consumido por el backbone.js, angulares, etc., o incluso llamadas AJAX jQuery normal. Con Node.js, simplemente puedes exponer tus objetos JSON con una API REST para que el cliente consuma. Además, no necesitas preocuparte por la conversión entre JSON y cualquier otra cosa al leer o escribir desde su base de datos (si estás usando MongoDB). En conclusión, puedes evitar la necesidad de realizar varias conversiones mediante un formato de la serialización de datos uniformes a través del cliente, servidor y base de datos.

Entradas en espera

Si estás recibiendo una gran cantidad de datos concurrentes, tu base de datos puede ahogarse. Como se ha descrito más arriba, Node.js puede manejar fácilmente las conexiones simultáneas al mismo tiempo. Pero debido a que el acceso a la base de datos es una operación de bloqueo (en este caso), nos topamos con problemas. La solución es reconocer el comportamiento del cliente antes de que los datos se escriban en la verdadera base de datos.
Con ese enfoque, el sistema mantiene su sensibilidad bajo una carga pesada, lo que es particularmente útil cuando el cliente no necesita una firme confirmación de la correcta escritura de datos. Ejemplos típicos incluyen: el registro o la escritura de datos de seguimiento de usuario, procesamiento en lotes que no se utilizan hasta un momento posterior, así como las operaciones que no necesitan ser reflejadas al instante (como actualizar el recuento de Likes en Facebook) donde la coherencia final (tan a menudo utilizadas en el mundo NoSQL) es aceptable.
Los datos se ponen en cola a través de algún tipo de caché o de Message Queue Server (por ejemplo, infraestructura, RabbitMQZeroMQ) y resumido por un proceso separado escrito en lote, cálculo o procesamiento intensivo servicios backend, escrito en un mejor desempeño de plataforma para tales tareas. Un comportamiento similar puede implementarse con otros lenguajes/frameworks, pero no con el mismo hardware o con el mismo alto, para mantener su rendimiento.
En resumen: con Node, puedes empujar la base de datos escrita a un lado y tratar con ella más tarde, para proceder como que si esta hubiera sido exitosa.

Transmisión de Datos

En plataformas web más tradicional, las peticiones y respuestas HTTP son tratadas como eventos aislados; de hecho, son realmente corrientes. Esta observación puede ser utilizada en Node.js para construir algunas características interesantes. Por ejemplo, es posible procesar archivos mientras están siendo cargados, ya que los datos entran a través de un arroyo, y pueden ser procesados en una línea de moda. Esto podría hacerse en tiempo real para la codificación de audio o vídeo, como proxy entre diferentes fuentes de datos (véase la sección siguiente).

PROXY

Node PROXY.js es empleado como un servidor proxy el cual puede manejar una gran cantidad de conexiones simultáneas en un modo de no-bloqueo. Es especialmente útil para proxy de diferentes servicios con distintos tiempos de respuesta, o para la recopilación de datos desde varios puntos de origen.
Un ejemplo: considere una aplicación de servidor que se comunica con recursos de terceros, extrayendo datos de diferentes fuentes, o almacenando los activos como imágenes y vídeos a servicios terceros de Cloud.
Aunque existen servidores de proxy dedicados, utilizando en su lugar Node podría ser útil si su infraestructura de servidores proxy es inexistente o si necesita una solución para el desarrollo local. Con esto, quiero decir que se podría construir una aplicación del lado del cliente con un servidor de desarrollo Node.js para activos como proxy/stubbing solicitudes de API, mientras que en la producción manejarías tales interacciones con un dedicado servicio de proxy (nginx, HAProxy, etc.).

Brokerage-Dashboard del Stock Trader

Volvamos al nivel de aplicación. Otro ejemplo donde domina el software de escritorio, sin embargo podría ser fácilmente reemplazado con una web en tiempo real es la solución comercial de los agentes de software; se utiliza para realizar el seguimiento de los precios de las existencias, realizar cálculos y análisis técnico y crear los gráficos y diagramas.
Cambiar a tiempo real es una solución basada en la web que permitiría a los corredores cambiar fácilmente de estaciones de trabajo o lugares de trabajo. Pronto podríamos comenzar a verlos en la playa de Florida, Ibiza…o Bali.

Panel de Supervisión de Aplicaciones

Otro caso de uso común en qué el Node-con-web-sockets encaja perfectamente es el siguiente: el seguimiento de los visitantes del sitio web y la visualización de sus interacciones a tiempo real. (Si estás interesado, esta idea ya se produjo por Colibrí).
Podrías recopilar estadísticas a tiempo real desde tu usuario, o inclusive subir al siguiente nivel mediante la introducción de interacciones selectivas con tus visitantes abriendo un canal de comunicación cuando llegan a un punto específico en el embudo. (Si estás interesado, esta idea ya se produjo por CANDDi).
Imagina cómo podría mejorar tu negocio si supieras lo que estuvieran haciendo tus visitantes en tiempo real; si pudieras visualizar sus interacciones. Con el tiempo real, ahora puedes tomar dos vías de Node.js.
Ahora el panel de monitorización del sistema, vamos a conocer la perspectiva de la infraestructura de las cosas. Imagínate, por ejemplo, un proveedor de SaaS que le quiere ofrecer a sus usuarios un servicio de supervisión (por ejemplo, la página de GitHub). Con el evento Node.js-loop, podemos crear un poderoso tablero basado en la web que comprueba los servicios de los estados de manera asíncrona y envía datos a los clientes usando Websockets.
Tanto internos (intra-empresa) como también los de los servicios públicos de los Estados, pueden ser reportados en vivo y a tiempo real utilizando esta tecnología. Empuja esta idea un poco más lejos y trata de imaginar un centro de operaciones de red (NOC) en aplicaciones de supervisión de un operador de telecomunicaciones, cloud/red/proveedor de servicios de hosting, o alguna institución financiera, todos se ejecutan en el open web stack respaldado por Node.js y Websockets en lugar de Java y/o applets de Java.
Nota: No intentes construir sistemas a tiempo real duros en Node (es decir, sistemas que requieran tiempos de respuesta coherentes). Erlang es probablemente una mejor elección para esta clase de aplicación.

Donde node.js se puede utilizar

Aplicaciones Web del lado del Servidor

Node.js con Express.js también pueden ser utilizados para crear aplicaciones web clásicas en el servidor. Sin embargo, mientras sea posible, este paradigma en petición-respuesta de Node.js sería llevar alrededor de HTML, no es el más típico de los casos de uso. Hay argumentos para estar a favor y en contra de este enfoque. Aquí están algunos hechos a considerar:

Pros:

  • Si tu aplicación no tiene ningún cálculo intensivo del CPU, puedes construir en Javascript de arriba a abajo, inclusive a nivel de base de datos si utilizas el objeto de almacenamiento JSON como MongoDB DB. Esto facilita el desarrollo (incluyendo la contratación) significativamente.
  • Los Crawlers reciben una respuesta totalmente HTML, que es mucho más SEO-friendly, digamos, una sola página o en una aplicación de Websockets app se ejecuta sobre Node.js.

Cons:

  • Un CPU de cálculo intensivo bloqueará la receptividad del Node.js, por lo que una plataforma de roscado es un mejor enfoque. Alternativamente, podrías intentar escalar el cómputo [*].
  • Utilizando Node.js con una base de datos relacional es aún bastante doloroso (leer más abajo para ver más detalles). Hazte un favor y escoge cualquier otro entorno como Rails, Django, o ASP.NET MVC si estás intentando realizar operaciones relacionales.

Donde Node.js no debe usarse

En el lado del Servidor de Aplicaciones Web deon una Relación DB detrás

Comparando Node.js con Express.js en contra de Ruby on Rails, por ejemplo, hay una decisión clara en favor de esta última cuando se trata de acceso a datos relacionales.El DB relacional con herramientas para Node.js está aún en sus primeras etapas; es bastante prematuro y por ende no tan agradable trabajar con ello. Por otro lado, Rails automáticamente proporciona datos de configuración del acceso a la derecha de la caja junto con el esquema de base de datos y herramientas de soporte de migraciones de otras Gemas (con doble sentido). Rails y su homólogo marco han madurado y probado que Active Record Data Mapper recopila implementaciones del acceso a datos y que echarás de menos si intentas replicarlo con JavaScript puro.[*]
Aún, si estás muy inclinado a permanecer en JS todo el camino, mantén un ojo sobre Sequelize ORM y Nodo2 ya que ambos son todavía inmaduros, pero eventualmente pueden alcanzar a los demás lenguajes de programación.
[*] es posible y no es raro que utilices el Node únicamente como un front-end, manteniendo su back-end de Rails y su fácil acceso a una base de datos relacional.

Heavy Server-Side/Procesamiento de Cálculo

Cuando se trata de cómputo pesado, Node.js no es la mejor plataforma. Definitivamente no quieres construir un servidor de cálculo Fibonacci en Node.js. En general, cualquier operación de uso intensivo de CPU anula todas las ventajas de rendimiento y bloquearía cualquier petición entrante de un subproceso.
Como se dijo anteriormente, Node.js es Single-threaded y utiliza un único núcleo del CPU. Cuando se trata de la adición de la concurrencia en un servidor multi-core, hay algunos trabajos realizados por el Node básico en la forma de un módulo cluster [ref: http://nodejs.org/api/cluster.html]. También puedes ejecutar varias instancias del servidor Node.js bastante fácil detrás de un proxy inverso a través de nginx.
Con la agrupación, debes descargar todo el cómputo pesado para procesar un fondo escrito dentro de un entorno más apropiado, y que ellos se comuniquen a través de Message Queue Server como RabbitMQ.
Aunque tu procesamiento en segundo plano puede ejecutarse en el mismo servidor inicialmente, este enfoque tiene el potencial de una muy alta escalabilidad. Los servicios de procesamiento de fondo podrían ser fácilmente distribuidos al trabajador independientemente de de servidores sin la necesidad de configurar las cargas de los distintos servidores web.
Por supuesto utilizarías el mismo enfoque en otras plataformas también, pero con Node.js puedes conseguir un alto reqs/s del que hemos hablado, ya que cada petición es una tarea pequeña y un manejo muy rápido y eficientemente.

Conclusión

Hemos hablado del Node.js desde una teoría práctica, comenzando con sus objetivos y ambiciones, y terminando con sus dulces manchas y escollos. Cuando las personas tienen problemas con el Node, casi siempre deducen al hecho de que el bloqueo de operaciones son la raíz de todo mal. El 99% del abuso del Node viene como consecuencia directa.
Recuerda: el Node.js nunca fue creado para resolver el problema de escalado de computación. Fue creado para resolver el problema de escalado de E/S, lo que lo hace muy bien.
¿Por qué usar Node.js? Si el caso de uso no contiene operaciones intensivas del CPU ni el acceso a los recursos de bloqueo, puedes aprovechar los beneficios de Node.js y disfrutar de aplicaciones de red rápidas y escalables. Bienvenido a la web en tiempo real.


BY TOMISLAV CAPAN - JAVASCRIPT DEVELOPER @ TOPTAL(TRANSLATED BY ISABELLA ROLZ)
Fuente: 


Cómo Persuadir Compradores de eCommerce A Través Del Diseño UX

BY BILAL MOHAMMED - DESIGNER @ TOPTAL (TRANSLATED BY YESICA DANDERFER)

Con más de 100 millones de usuarios registrados, 80 millones de productos ofrecidos a través de más de 80 categorías, y aproximadamente 8 millones de envíos hechos por mes, Flipkart—el mercado online más grande de India, comenzaba a perder clientes y experimentar un alto nivel de desinstalaciones de su app. Era claro que el equipo necesitaba pensar en una nueva estrategia para retener a esos clientes, así que rediseñamos la experiencia de usuario de la app de Flipkart.
Era crítico reveer la estrategia de UX y encontrar una solución que se centraría en diseñar una experiencia de usuario que forme hábitos, tener un impato substancial en los usuarios, y generalmente:
  • Lograr una conexión más eficiente con los clientes
  • Elevar la marca
  • Encender el crecimiento
Los compradores online son notoriamente muy conscientes de los precios, y su lealtad es muy breve. La mayor parte del tiempo no les importa de qué sitio compren siempre y cuando obtengan la mejor oferta posible.
Ofertas y gangas en abundancia
Es esencial hacer las siguientes preguntas de forma constante:
  • ¿Cómo logras que los consumidores elijan tu eCommerce primero?
  • ¿Cómo convences a los compradores que vean tus ofertas antes de compararlas contra tus competidores–que vean precios económicos y luego realizar una compra?
Estos son sólo algunos de los problemas apestando al equipo de product design de UX. Lo que viene a continuación es cómo lidiamos con ello.

Ganar Percepción Haciendo Preguntas Inteligentes

Se volvió obvio que ganar algún tipo de percepción en las opiniones de los consumidores, tendencias y hábitos de compra era crítico para entender el panorama de las compras online, el cual estaba constantemente cambiando, y la capacidad de optimizar la experiencia y satisfacción del cliente.
Continúa haciendo preguntas inteligentes para llegar a la solución
Determina el Problema de Raíz: Pregunta los 5 Por Qué.
Al hacer repetidamente la pregunta“¿Por qué?”—cinco veces es una buena regla general
—puedes quitar las capas de los síntomas que tapan la raíz de un problema.
El equipo de Flipkart continuó preguntándose estas preguntas:
  • ¿Cómo construyes una base leal de clientes e incrementar su participación?
  • ¿Qué comportamientos deberían ser estudiados para obtener una solución ganadora?
  • ¿Cómo construyes una experiencia de compra superior que contiene el instinto de buscar gangas y proveer algo de un valor duradero que haga que los clientes sigan volviendo una y otra vez?
  • Y–por último, pero no menos importante–¿Cómo resuelves el problema de las desinstalaciones de la app?
Colaborando con otro Diseñador UX en muchas sesiones de brainstorming, se nos ocurrió un simple propuesta para repensar el UX y hacerlo algo subsequente en el rediseño de la app de Flipkart.
El núcleo de la solución era diseñar una experiencia que forme hábitos que contraste a la experiencia de compra usual de una app de eCommerce.
Pero primero, era necesario reconocer un par de desafíos básicos.

Desafío No. 1: Desinstalaciones de App

Los usuarios mobile tienen una relación frágil con las apps: Aman a algunas pocas que suelen conservar por siempre pero desinstalan a la gran mayoría de ellas que descargan. Voy a compartir un dato sorprendente: el 77% de los usuarios nunca usan una app de nuevo después de 72 horas de haberla instalado. Este porcentaje es un desafío para que los diseñadores hagan que las personas se enamoren con sus apps durante esa crucial primer semana.
Las apps más exitosas son aquellas que tienen un buen diseño conductual–esas apps ‘pegajosas’ que la gente usa de forma regular y no pueden imaginar su vida sin ellas.
Sitios de eCommerce dependenden en eventos de ventas de forma periódica. Estas ventas van desde la categoría de fechas festivas y otras especiales que no son necesariamente por fechas festivas. El “Amazon Prime Day”, por ejemplo, no coincide con ninguna fecha particular o venta anual—como el Black Friday—y sin embargo, Amazon consiguió hacer del Prime Day 2016 el día de compras más exitoso, opacando las ventas del Prime Day 2015 en más del 60% por ciento en todo el mundo.
En 2015, Flipkart vendió productos valuados en $300 millones de dólares durante el “Big Billion Day”, su equivalente de varios días al Amazong Prime Day. Durante la primer hora de venta, Flipkart tenía casi 140 órdenes por segundo. Las descargas de la app mobile de Flipkart suben significativamente cerca del Big Billion Day porque muchas de las ofertas estaban sólo disponibles para compradores a través de la app mobile.
Junto a otras grandes órdenes en el Big Billion Day, vemos una suba en el número de desinstalaciones de apps de forma inmediata a estos eventos. Entre los consumidores que descargaron la app mobile de Flipkart antes o durante el Big Billion Day, en promedio sólo un 30% han dejado al app en sus dispositivos año tras año desde el 2014. Los usuarios suelen dejar de usar la app una vez que las ventas terminan, por lo general debido a problemas de espacio que los Indios tienen en sus dispositivos mobile. (Muchos servicios de telefonía limitan a sus clientes a un total de veinte apps por dispositivo en India). Los consumidores eligen entonces sólo dejar en sus teléfonos las apps que usan de forma diaria, como Facebook, WhatsApp, o YouTube.
Decidimos indagar en profundidad en varias categorías de apps e identificar cuáles son ganadoras y cuáles perdedoras respecto a la lealtad de sus consumidores:
Noticias, Deportes, y el Clima están entre las categorías líderes en la escala de “retención” de usuarios. ¿Por qué? Todas estas apps forman hábitos, o sea, las personas siguen volviendo a ellas una y otra vez. Entonces, para mover su app a la zona de “retención”, Flipkart necesitaba crear una app que formase hábitos.
Pero, ¿qué es una app que forma hábitos? Para saberlo, primero necesitamos identificar los desafíos que enfrenta la lealtad en el eCommerce.

Desafío No. 2: Lealtad Cero

Los hábitos son acciones hechas con poco o nada de pensamiento consciente. Investigaciones sugieren que un 40% de lo que hacemos todos los días es por hábito. Nos enganchamos en hacer cosas de una cierta forma, y nos apoyamos en la consistencia y el confort que nuestros hábitos proveen. Por ejemplo, la industria del video juego ha utilizado concepto de gancho para hacer que sus usuarios vuelvan a jugar sus juegos por años.
La principal forma de “gancho” nos dice que un disparador causa en nosotros realizar una acción por la cual experimentaremos una recompensa. Esa recompensa hace que invirtamos en la acción que nos recompensa, guiándonos a más disparadores y así, perpetuar el ciclo.
No es un secreto que así es como los animales son entrenados.

El gancho comienza con un disparador en el ambiente del usuario. Estamos familiarizados con disparadores externos—por ejemplo, notificaciones sobre productos que nos interesa. Sin embargo, disparadores internos son más críticos en ayudarnos a formar un hábito duradero. Usamos muchas actividades habituales a lo largo del día para escapar de nuestro aburrimiento o, a veces, para salir de un estado emocional negativo y entrar a nuestra zona de confort. Por ejemplo, buscamos en Facebook e Instagram en un intento de mejorar nuestro humor al mirar GIFs animados de cachorritos o videos graciosos de gatos.

FOMO

Cada día cuando nos levantamos, muchos de nosotros sentimos el ‘miedo a perdernos algo’ (o FOMO, fear of missing out). Si revisas tu email, noticias, Facebook, Twitter, etc. ni bien te despiertas por la mañana, entonces ya sabes lo que está sucediendo en el mundo y por eso te sientes más conectado. El equipo de Flipkart vio una oportunidad para utilizar este disparador interno para iniciar su gancho.
La palabra FOMO (fear of missing out) fue de hecho añadida al Diccionario de Inglés de Oxford en el 2013. Aunque la terminología fue sólo recientemente añadida a nuestro léxico, el experimentar FOMO no es nada nuevo.
FOMO. Amigos con teléfonos mobile (Foto por Garry Knight on Flickr)
Para crear un gancho efectivo, necesitarás un patrón de UX viable. Y debes admitir que las notificaciones tradicionales pueden no funcionar bien por sus problemas inherentes; por ej. La ceguera de la notificación.
Flipkart tiene más de 80 millones de productos en más de 80 categorías, así que era importante para ellos categorizar y etiquetar el mar de productos disponibles y mapearlos con los intereses de los usuarios. Lo cual nos lleva al siguiente desafío…

Relevancia y Personalización

Un número de usuarios de Flipkart fueron entrevistados para entender cuándo y cómo compran online de forma general. Se hizo evidente que personalizar una transmisión más corta, con un contenido más pulido y productos relevantes sería más cautivante para ellos. Todos estamos familiarizados en cómo los sistemas de recomendaciones tradicionales funcionan al cristalizar patrones de uso e historia. Pero para Flipkart, esto sólo resolvería parcialmente el problema. Entonces, aprendimos que los usuarios suelen comprar de acuerdo a dos grandes temas:
  1. Propósito: Las personas buscan por productos específicos que tienen en mente. Esto mostró que es crítico capturar y tener un seguimiento de las búsquedas de los consumidores de forma individual.
  2. Interés: Una conducta mucho más amplia de ‘mirar vidrieras’ y buscar productos en varias categorías que al usuario le guste, o cae dentro de sus intereses. Es mucho más sobre preferencias y tendencias. Por ejemplo, alguien podría tener interés en salud y bienestar, en irse de mochilero, o momentáneamente buscar un regalo de bodas. Flipkart también tuvo como misión capturar esos aspectos de conductas individuales en los consumidores.
Condensamos las conductas de los usuarios en nuestro sitio de eCommerce en dos
grandes temas: propósito e interés (Spirograph by xmatrex)
Clasificación vs. Temas Interconectados
Para reducir millones de productos en una transmisión de información digerible de un par de productos, necesitábamos pensar muy bien cómo hacer que productos de varias categorías fueran relevantes para un cliente.
Evaluando perfiles de usuarios, observamos que la acción de comprar suele ocurrir en temas. Asignamos un set de meta-etiquetas a cada producto, y con cada etiqueta llegando al punto donde una senda de productos se cruzan, relacionados por tema. En vez de agrupar por categorías y organizar de forma tradicional por clasificación, revisamos nuestro acercamiento y organizamos los productos en temas e historias.
Para crear un universo de temas interconectados para el consumidor, les pedimos que
escojan sus intereses desde los cuales podríamos crear sus “historias” personalizadas.
El universo resultante era una combinación de fuertes y holgadas galaxias de productos ligadas e interconectadas—sirviendo como ambos patrones de compra de interés y propósito—que fue construído de forma única para cada usuario. Debajo hay una red para “Viajes”:
Galaxias y grupos de productos organizados en temas e historias vs. clasificaciones convencionales.
El objetivo de la compañía era crear una condición donde, por ejemplo, un cliente pueda ver un producto y explorar productos relacionados en esa historia o tema como si viajara a través de esa galaxia. Este acercamiento le permitió a usuarios ver una colección diversa de productos divididos por su categoría, pero unidos por su historia o tema.
Los clientes pueden ver productos por temas e historias en vez de clasificaciones
jerárquicas.

La Solución: Un Resumen Diario y Corto

Internet es grande y muchas veces parece interminable. Los consumidores sofisticados de hoy en día quieren información relevante, no información en abundancia. Esto significó que el motor de las recomendaciones de Flipkart debían ser reconstruidas desde sus cimientos.

Transmisiones Infinitas vs. Finitas

Decidimos construir un resumen diario de un número limitado de productos, actualizando dicho resumen cada día. Esto significó que podíamos movernos de una lista infinita de productos, lo cual por lo general dejaba al usuario en un estado de parálisis de decisión, lo cual se convertía en algo obsoleto y terminaba en algo muy irrelevante y consecuentemente ignorado.
Clientes que optaron por tener notifications del resumen diario cada mañana.

Trabajando El Gancho Para Formar Hábitos Exitosos En La Experiencia De Compra

En el corazón de la solución de Flipkart yace la decisión de usar el concepto del “gancho” para crear una experiencia de usuario que forme hábitos diseñados para atraer a los clientes al sitio de eCommerce.
Sabíamos que los usuarios se apegarían a la anticipación de recibir una potencial recompensa, y por eso se nos ocurrió el concepto del resumen diario, lo cual estaría organizado alrededor de temas e historias, y personalizadas de forma individual para cada usuario.
El camino en el que se apoyó Flipkart para un resumen diario bien diseñado se convirtió en algo bastante familiar con los hábitos existentes de sus clientes. Al entender qué hace que los clientes compren y consuman, y presentarles un número finito de ofertas que Flipkart sabía que serían de su agrado, pudimos tomar ventaja de sus hábitos de compra mobile ya arraigados.
En vez de intentar cambiar los hábitos de los consumidores o convencerlos de los méritos de Flipkart, les dimos un nuevo recurso para agregar a su existentes conductas de FOMO.
Todos en el espacio del eCommerce está compitiendo por un pedazo de lo que se predijo para el 2020 como el mercado global de los $4 trillones de dólares. Las compañías que se equilibraron para salir primeras son aquellas que pensarán exitosamente algo fuera de lo común e implementarán una estrategia en experiencia de usuario diferente de algo más tradicional.
El futuro del eCommerce está atrayendo a clientes con recomendaciones relevantes y personalizadas, construidas alrededor de datos de usuario, y no simplemente sirviendo como un catálogo de productos que empuja al usuario hacia productos que los sitios quieren que compren.

Seguidores