Blog del Fong-Wan

¿Especializado o generalizado?

Facebook versus LinkedIn

¿Qué tipo de aplicaciones ganarían más? ¿Los que son especializados o los que son generalizado? Tal vez cuando empieces con tu proyecto estarías dudando entre estos dos sentidos.

Una aplicación generalizado, implica que debe ser fácil para cualquier tipo de gente, por lo tanto necesitas mejorar tu diseño, mientras que una aplicación especializado no es tan necesario un diseño tan perfecto, solo debes capacitar las personas que lo utilizarán.

Yo me apoyo a la idea de hacer algo generalizado y uno de los ejemplos que uso para apoyarme es entre Facebook y LinkedIn.

LinkedIn, es una plataforma social conocido entre los profesionales, hay gente que lo utiliza para conseguir trabajos, pero resulta que si nombras el nombre hacia tus compañeros, probablemente ni lo han escuchado, la razón es simple, no todos lo necesitamos.

En cambio, Facebook también es una plataforma social pero mucho más generalizado, tus amigos, compañeros, papá, mamá, abuelos, incluso tu futuro hijo puede estar ya registrado, es por esta razón que Facebook genera mucho más ganancia por su publicidad y es más conocido entre todos.

Es por la misma razón de que las plataformas sociales localizado no funcionan, hay gente que establecen plataforma social para un juego específico pero la visita sigue siendo poca, al final la idea es buena pero por falta de recurso se obligan a cerrarlo.

Por lo tanto, creo que ya tienes una idea. ¿Prefieres ganar $10 dolares cada día por 100 días o ganar $100 dolares en un día pero tardando en buscar a quién vender tu producto por 100 días?

No hay comentarios.

Código abierto y código cerrado

Abierto vs Cerrado

Muchos desarrolladores discuten entre código abierto y código cerrado. Para mi, esto no es nada más que una estrategia de negocios, ya que para un usuario final lo que importa es usar el mejor de todos.

Definitivamente esto de código abierto y cerrado es una locura. Tengo amigos donde apoyan 100% al código abierto, uno de ellos usa Linux usando aplicaciones donde su productividad es baja, en su router le aplica OpenWRT a pesar de que el firmware de OpenWRT tiene problema con su router haciendo que se desconecte de Internet automáticamente de vez en cuando. Él me dice que seguramente hay solución para eso y pero niega el uso de DD-WRT por ser código cerrado... Al final, el que pierde tiempo es él. Si hablamos de dinero, no queda otra que usar OS gratuitos como Linux, pero DD-WRT es gratis y no hay excusas para esto.

Un usuario común y corriente, no va a diferenciar entre código abierto y código cerrado y, aunque sabe la diferencia, no le importaría. Lo que un usuario generalmente busca es que funcione para la tarea que él está haciendo y punto.

La calidad de proyecto de los códigos cerrados muchas veces son mayores en comparación con los códigos abiertos, la razón probablemente sea porque los desarrolladores en esos proyectos están con un solo objetivos y tienen en cuenta de que sin ellos, el proyecto no va a funcionar. Los desarrolladores de códigos abiertos por lo general inician con pocas personas, no tratan de reunir gentes que les interesan en el proyecto, esperan que la comunidad aporten algo pero muchas veces la comunidad toma lo que está y se hace el beneficiador.

En conclusión, dejen de pelear entre códigos abiertos y cerrados, si inician con un proyecto, termínalo bien y presentalo al público, si el proyecto realmente es bueno, es muy probable que los usuarios comente hacia otra persona y de esa manera va creciendo tu negocio.

No hay comentarios.

5 pasos para tener éxito en tu creación

Éxito en tu creación

Tú, como desarrollador, probablemente ya has creado tu propio software en venta o sitio web, pero puede que muy pocas personas se interesa en tu creación, la razón del fracaso probablemente sea porque no pensaron en el cliente. En este artículo, te ayudaré a encontrar el origen del problema que al solucionarlo, te llevará a un éxito.

0. Idea innovadora

Aunque sea para el mismo fin, es importante tener algo que tu creación difiere a otros. Un ejemplo es el Facebook, ha tenido éxito a pesar de que ya existía redes sociales similares como MySpace. El éxito no es cuestión de suerte, sino porque Mark Zumberger encontró el correcto sentido de sociabilidad y lo incorporó en su proyecto.

1. Elegancia

Aquí tomaré ejemplo el buscador Bing de Microsoft, en comparación con Google. Durante el lanzamiento de Bing, muchos han migrado a Bing debido sólo la elegancia que tiene en comparación con Google.

2. Rapidez y fluidez

Uno de los motivos de que apoyo a iPhone en cuanto teléfonos moviles, es por la fluidez del trabajo en comparación con otros productos del mercado, incluyendo los móviles basado en Android (Un sistema operativo de Google para moviles). Aunque en diferentes benchmarks muestra que la última versión de Android supera la velocidad de iOS del iPhone, pero lo que yo percibo, iOS es más rápido que Android...

iOS en realidad es más lenta, pero más rápido se siente debido a sus transiciones. En iPhone todas las acciones que realizas siempre refleja algo en la pantalla, tanto para mover algo o cerrar la aplicación, en ningún momento siento que el dispositivo no me responde.

En cambio, en otros móviles, el cierre de aplicación es "brusco" ya que desaparece instantáneamente, a veces cuando me posiciono el dedo en la pantalla, no se refleja nada, haciendome pensar que la acción no se realizó y repito la misma acción.

3. Simplicidad y orden

Simple y elegancia no es contradictorio. Aquí compararé el nuevo diseño Ribbon en el Windows Explorer de Microsoft Windows 8 que va a salir con el diseño en Finder de Mac OSX Lion. Podemos observar que Ribbon ha agregado un montón de botones, ya sea grande o pequeño, que nos llenan la vista, desconcentrandonos en el momento de realizar una tarea. En cambio, el Finder de Mac OSX Lion nos trae una vista despejada donde podemos encontrar fácilmente el archivo que buscamos.

4. Publicidad

Si tu creación nadie lo conoce, no importa qué tan bueno sea tu proyecto, no se destacará por si mismo. Si tu eres nuevo en el campo, los clientes no vienen solo. Debes publicar tu proyecto a gente que realmente desean usarlo y ayudar a que ellos puedan promocionar tu creación a más gente.

Conclusión

Todos estos factores influyen en el éxito de tu creación. Intenta mejorar lo que tienes y el éxito estará cerca de ti.

No hay comentarios.

Aplicaciones web offline de HTML5

Aplicaciones web offline de HTML5

Hace como 2 días antes, Google añadió en unos de sus aplicaciones web la función "offline", como por ejemplo en Google Calendar. Creo que a varios ya saben el mecanismo para realizar esta función propia de HTML5: no es nada más que agregar un "cache manifest" a la página, luego con "isOnline" y el conjunto de funciones del "applicationCache" en javascript para realizar algunos ajuste, también con la ayuda de WebSQL y IndexedDB para almacenar los datos.

No se cuantos han hecho el intento, pero el problema del mecanismo tradicional es que la página que incluye el archivo "cache manifest", una vez teniendo la página cargada ya no es posible eliminar el caché de la página propia, ya que la página se queda como "Master Page". Es por eso que escribo este artículo, porque Google lo ha implementado de otra manera que evita este problema.

Aunque no he analizado los javascripts de Google Calendar, he logrado deducir el mecanismo y reproducirlo en mi propio servidor, es bastante simple.

Primero, para el problema de "cache manifest", debemos crear otra página que funcionará en modo offline, pondremos el nombre de la versión online "test.html" y la versión offline "testOffline.html".

Crearemos el archivo "cache manifest" que tanto hablamos, abrimos su editor de texto favorito (Ejemplo: "Bloc de Nota" o "Notepad++" en Windows, "gedit" en GNOME, "kedit" en KDE... no creo que alguien use MS-DOS o el interfaz de comando en Linux...) e ingresamos lo siguiente:

CACHE MANIFEST
FALLBACK:
/ /testOffline.html

Guardamos lo anterior como cache.manifest y lo almacenamos en el raíz del sitio web. Ahora, en "test.html" no se menciona el archivo del "cache manifest", solamente en "testOffline.html" le vamos a modificar así:

<html manifest="/cache.manifest">

OJO: El tipo de contenido del archivo cache.manifest debe ser text/cache-manifest, en caso de que tu servidor web es basado en Apache, se puede añadir el siguiente código en el archivo ".htaccess" en el raíz de tu sitio web:

AddType text/cache-manifest .manifest

Ya estamos casi listo, lo que nos queda es agregar un iframe invisible que carga el archivo "testOffline.html" dentro de "test.html", esto se puede hacer con javascript para poder "activar" o "desactivar" el modo offline:

<iframe src="testOffline.html" width="0" height="0" style="visibility:hidden">

Eso es todo! Prueba abriendo en tu navegador "test.html" de tu servidor, desconectate de Internet y refresca la página! Verás la versión Offline en tu navegador y la dirección sigue siendo "test.html". Para "desactivar" el modo offline solo debes detectar la configuración y no cargar el "iframe".

No hay comentarios.

A cambiar el mundo!

Gordos en Wall-E

La tecnología cada vez está siendo más accesible para el público general, el avance de la frecuencia de los procesadores cambia la visión de los desarrolladores: el hardware ya no es un límite, más bien el límite está siendo los softwares.

La aparición de iPhone revolucionó el mercado de los teléfonos móviles, Apple introdujo la idea de desarrollar el software como primordial y, de esa manera, aparecieron aplicaciones de uso familiar que nos facilita la vida.

Pero, mientras la comodidad aumenta cada vez más y más, las personas también están cada vez siendo menos productivas. Muchas personas pasan el tiempo en el Internet, estando en línea en diferentes redes sociales por si alguien tiene alguna actualización. Tal vez algún momento vamos a estar tan gordo como son las gente de WALL-E (una película animada hecha por PIXAR), interesado solo en redes sociales, comunicando por su dispositivo a pesar de que la persona con que está comunicando esté al lado.

El problema no solo es eso, los dispositivos electrónicos requieren de energía eléctrica, aunque no muchas, pero la sumatoria de todos los aparatos digitales que están encendidos en ausencia de uso hace una gran diferencia y las centrales de energías van a necesitar aplicar su dimensión y gastar más recurso naturales.

Yo ya estoy poniendo mi parte, evitando el gasto de energía extras y siendo más productivos, también creando aplicaciones web que automatiza y ahorra el tiempo de las personas, ¿y tu?

No hay comentarios.