Posts Tagged ‘htc’


Esta es una continuación de la serie sobre desarrollo en móviles que comencé aquí. Les recomiendo comenzar a escribir el código fuente desde la parte 1 ya que no se publica el código para descarga.

En la parte 8 dejamos el app con menus que permiten mostrar las noticias por categorías, pero faltaba cargar las categorías directamente de la base de datos, de tal forma que se vayan mostrando automáticamente las categorías nuevas.

Las categorías serán extraídas de la base de datos en una consulta bastante simple y debemos considerar lo siguiente:

  • Debemos poder establecer el orden en que se muestran las categorías. Para eso deberíamos agregar un campo que nos permita establecer el orden.
  • Debemos poder desactivar las categorías. Para eso también agregaremos un campo que indique el estado

Ok, hagamos esto primero entonces, felizmente tenemos pocas categorías. Para ejemplo, veamos como quedaría “cat_01”:


{
"_id": "cat_01",
"_rev": "2-df694a2ed157b1403baa2ca9214d801b",
"nombre": "Nacional",
"descripcion": "Noticias del país",
"tipo": "topic",
"orden":1,
"estado":1
}

Lo mismo para todas las demás categorías. Con estos cambios, consultaremos las categorías, las ordenamos por el campo orden y las filtramos por el campo estado.

Ahora para hacer la consulta tenemos dos alternativas:

  • Usando la clave principal: Todas las categorías tienen un id que comienza con “cat_” entonces podemos usar la clave por defecto. El orden será el orden de las claves: cat_01 luego cat_02 y así, igual podemos ordenarlo al mostrarlo.
  • Creando una vista: estaremos creando un índice solamente para recuperar categorías, ¿valdrá la pena? pues son pocas categorías así que aún no vale la pena ir por este camino.

Listo, ahora empieza lo complicado. Necesitamos que la lista de categorías sea pasado al estado inicial para que pueda ser mostrado. Recordemos que hemos definido un estado abstracto para incluir el sidemenu. Como en el ejemplo anterior, pasar datos a un estado requiere el uso de “resolve”, eso es fácil, lo  complicado es que tenemos que hacer la consulta a la base de datos para obtener esas categorias. Si revisan el archivo app.js, por ninguna parte hago alguna llamada al factory “db” que contiene todas nuestras operaciones por lo que si llamamos alguna operación de datos en el “app.js” simplemente fallarán porque acuerdense que inicializamos la factory db con el método db.init()  en el controlador “newsController” en la línea 8 del archivo “controllers.js” como pueden ver aquí:


.controller('newsController',function($scope,db){
db.init();
$scope.notas=[];
$scope.$on('refrescar',function(event,news){
$scope.$apply(function(){
$scope.notas = news;
})
})
})

Esto nos funcionó en su momento, y como ya podrán darse cuenta, es una mala práctica inicializar las cosas en un controlador. Incluso llamar a un inicializador puede resultar malo. Así que comenzaremos modificando el archivo “services.js” para dos cosas:

  • Ejecutar la rutina init() cuando haga falta y no tener que llamarla en ningún lugar. De esta manera simplemente llamaremos a las consultas y siempre tendremos la db lista.
  • Agregar el método para consultar las categorias

El primer paso es fácil: simplemente agregamos estas líneas al comienzo de cada método:


if (!db) {
this.init();
}

Simple, preguntamos si la variable interna es nula o no, y ejecutamos el método init() cuando haga falta. Agregamos eso a todos los métodos del factory.

El segundo paso también es simple, al igual que el método “mostrar” usamos el método allDocs así:


getCats: function(){
if (!db) {
this.init();
}
return db.allDocs({startkey:'cat_',endkey:'cat_\uffff',include_docs:true})
}

Con tanto cambio, el archivo services.js. quedará así:


angular.module('services',[])
.factory('db',function($rootScope){
var key = 'bentareadyessharyinessee';
var pass = 'OnEixgKgpt8LyEtl0S5DkAon';
var remote = 'https://'+key+':'+pass+'@supermio.cloudant.com/news';
var db;
var cat;
var mostrar = function(){
db.allDocs({startkey:'news_\uffff',endkey:'news_',descending: true,include_docs:true})
.then(function(result){
$rootScope.$broadcast('refrescar',result.rows);
});
};
var mostrarCat = function(catId){
if (catId)
db.query('news/topic',{key:[catId],include_docs:true,descending:true}).then(function(result){
$rootScope.$broadcast('refrescar',result.rows);});
else mostrar();
};
return {
init: function(){
if (!db) {
db = new PouchDB('news');
}
mostrarCat(cat);
this.replicate();
},
replicate: function(){
if (!db) {
this.init();
}
db.replicate.from(remote,{live:true,retry:true})
.on('paused',function(info){
mostrarCat(cat);
});
},
get: function(id){
if (!db) {
this.init();
}
return db.get(id);
},
setCat: function(id){
if (!db) {
this.init();
}
cat = id;
mostrarCat(cat);
},
getCats: function(){
if (!db) {
this.init();
}
return db.allDocs({startkey:'cat_',endkey:'cat_\uffff',include_docs:true})
}
}
});

Y listo, ahora vamos al archivo “app.js” donde vamos a agregar el resolve al estado abstracto:


.state('app',{
abstract: true,
views:{
"home":{
templateUrl:"templates/menu.html",
controller:"menuController as menu"
}
},
resolve:{
cats: function(db){
return db.getCats();
}
}
})

Agregamos la llamada al nuevo método y la pasamos al controlador a través de la variable “cats”. No se olviden de que, ya que estamos llamando a un factory definido en el modulo “services”, tenemos que agregarlo como dependencia. Así que la primera línea de nuestro “app.js” será ahora así.


angular.module('starter', ['ionic','controllers','services','ui.bootstrap'])

Y listo, terminamos con este archivo. Ya terminamos actualizando el modelo, ahora toca el controlador. Aquí simplemente tenemos que recoger la variable cats con las categorias y quitar cualquier llamada a “db.init()”. El controlador “menuController” quedaría así:


.controller('menuController',function($state,$scope,db,cats){
$scope.cats = cats.rows;
$scope.setCat = function(id){
$state.go('app.news');
db.setCat(id);
};
})

Acuérdense que cuando llamamos a la base de datos obtenemos un objeto y dentro de ese objeto el array “rows” nos trae los registros que queremos.

Ahora así quedaría el controlador “newsController”:


.controller('newsController',function($scope){
$scope.notas=[];
$scope.$on('refrescar',function(event,news){
$scope.$apply(function(){
$scope.notas = news;
})
})
})

Como ven, sólo le hemos quitado la llamada a “db.init()”. Y con esto hemos acabado con el controlador y vamos a arreglar la vista en el archivo “menu.html”. Si se fijan en la línea 25 comienza una lista donde todos los valores son estáticos y va hasta la línea 38. Reemplazamos todo eso por un iterador y quedaría así:


<ion-list>
<ion-item collection-repeat="cat in cats | orderBy: 'doc.orden'| filter:{'doc':{'estado':1}}" nav-clear menu-close ng-click='setCat(cat.id)'>
{{cat.doc.nombre}}
</ion-item>
</ion-list>

Cosas interesantes aqui:

  • Collection-repeat es propio de Ionic y es más eficiente en listas largas
  • El array cats es el que metimos en el $scope desde el controlador y tiene todas nuestras categorías.
  • Mediante “orderBy” las ordenamos por el campo “orden” que agregamos.
  • Y mediante “filter” mostramos solamente los que tienen estado =1

Todo lo demás viene del template anterior, incluso para llamar al método “setCat” llamamos al cat.id.

Y listo!, Si prueban el código hasta aquí funcionará, pero hay algunas limitaciones:

  • Si agregan una categoría en el servidor o se cambia el orden de alguna, no se refresca en la lista del menú automáticamente
  • Al inicio se mostrarán todas las noticias, incluidas las que pertenezcan a categorías inactivas

Esas las veremos en el siguiente post. Lo que si es urgente es corregir el estilo del código, siendo el más urgente el que figura en el controlador “detailController” donde verán que tenemos una llamada a db.get y esperamos por la respuesta. Si se habrán dado cuenta, para las categorías es lo mismo pero no esperamos por respuesta en ningún lado, simplemente esperamos valores y ya, así que usemos ese patrón aquí y corrijamos el controlador para que se vea así:


.controller('detailController',function($scope,db,noticia){
$scope.event=doc;
});

y tendríamos que cambiar el resolve de la ruta en el archivo “app.js” para que se vea asi:


resolve:{
noticia: function($stateParams,db){
return db.get($stateParams.id);
}

Y listo. La explicación para este cambio es que como casi todo en JavaScript es asíncrono, tenemos que usar un modelo llamado “promesas” para esperar por la respuesta y hacer algo con eso. Es por esto que usamos objeto.then() y dentro del then() incluimos una función con una operación. Pues bien, al momento de utilizar estados, el componente detrás de toda esa magia (UI-Router!!!) hace muchas cosas bien, y una de esas cosas es manejar la resolución de las promesas y es tan inteligente que esperará hasta que la promesa sea resuelta y podamos recibir los documentos en el controlador. Con eso nuestro código queda mas limpio.

Promises es todo un tema y siempre es un motivo de confusión así que mejor dejar que sea UI-Router quien las maneje. Así que para que se diviertan notarán que para cargar las noticias para la categoría seleccionada podemos usar el mismo esquema anterior. A ver si pueden completarlo por su cuenta.

NOTA: Ya un lector notó que todo es sobre leer datos en el cliente y tiene una razón. Grabar datos es bien simple pero supone que tengamos mucho cuidado durante el diseño, porque si dejamos escribir a un usuario, debemos tener en cuenta que cualquier usuario podrá hacerlo a menos que pongamos un control. Establecer un control requiere de cierto manejo adicional que aún falta explicar. Para que lo vean en perspectiva: 

  • Cualquiera puede escribir:
    • No hace falta establecer usuario y pass al inicio
    • Se debe tener cuidado de no duplicar el id del documento que se vaya a grabar
    • La replicación debe modificarse, porque si hay muchos usuarios, estaremos recibiendo muchos cambios y datos en nuestra db local.
  • Todos usuarios registrados pueden escribir:
    • Hay que incluir usuario y pass
    • También la replicación se tiene que ajustar para controlar los datos entrantes.
  • Sólo algunos usuarios registrados pueden escribir:
    • Usuario y clave es obligatorio
    • Hay que determinar quien puede escribir y quien no. Podemos integrar la autentication propia de CouchDB para determinar esto, pero esto aplica a todos los documentos, lo cual no necesariamente es bueno.
    • La replicación también se modifica pero ya es más simple

Recuerden que más importante que empezar a construir es sentarse a diseñar.


Tuve la oportunidad de comprar un HTC M8 y estuve muy contento con su acabado metálico y con su estuche “dot”, pues se trata de un equipo aceptablemente rápido y sobre todo muy fácil de usar, principalmente porque podías crear grupos de programas directamente en la lista total y no solo en la pantalla de inicio. Lo que más me preocupaba era malograr su acabado metálico. Con el lanzamiento del M9, por primera vez un fabricante puso atención al sentimiento de obsolescencia y sacó un equipo que era muy parecido al actual y donde los cambios eran casi todos internos. No me sentía mal por tener un equipo “viejito”, y a pesar de eso el M9 seguía siendo reconocido como una buena opción nueva.

Para los que se acuerdan, HTC siempre fue una marca que comenzaba sacando muy buenos equipos top, pero sus equipos intermedios y bajos no lo eran tanto, porque todos queríamos tener los modelos top. Sorprendentemente hoy me entero que tiene problemas financieros: http://www.engadget.com/2015/08/07/htc-cuts-android-smartphones/.

En estos días suena fuerte la entrada de Xiaomi al mercado latinoamericano, que si bien tiene equipos top, su fuerte ha sido la de colocar equipos de bajo costo con muy buenas funciones. Hace unos pocos días también Motorola acaba de presentar los nuevos modelos de su línea de Android que se basa en la línea MotoX pero también hay Moto G o E y que en su mayoría son equipos de bajo costo y donde los equipos top se diferencian por las características internas básicamente. OnePlus es un startup chino que se ha hecho famoso con su equipo OnePlus One y que acaba de lanzar el OnePlus Two cuya característica es la de tener características Top a un precio relativamente bajo,  entre estas características top resalta que tengan el bootloader abierto y que rootear el equipo ya que la compañía anima a sus usuarios a instalar sistemas operativos alternativos o “cocinados”. Huawei nunca fue muy popular en el mundo de los móviles, pero eran casi la única opción para los modems, pero el día de hoy sus equipos de bajo precio se ven muy bien siendo muy delgados y con buenas cámaras.

Estos son algunos ejemplos en el mundo de hoy donde se nota que la fortaleza de un fabricante está en el bajo precio, y es donde se puede ubicar un teléfono estrella que no es el top de su línea por lo general, y lo más importarte es que no escuchamos problemas financieros de estas empresas.

El caso de Samsung es particular, porque tienen una cartera muy fuerte de equipos de bajo costo, pero sus modelos top tampoco han disparado lo que se esperaba http://www.forbes.com/sites/ewanspence/2015/07/07/samsung-q2-2015-galaxy-s6-failure/.

Todo esto muestra que si bien el precio es muy importante, es también importante el sentimiento del consumidor al momento de adquirir un equipo, el sentimiento aspiracional: De repente no tenga el dinero para comprar el modelo top, así que compraré un modelo mas bajo que luzca muy parecido al modelo top por menos dinero, y espero no sacrificar muchas funciones.

Con este pensamiento, claramente destaca Sony que tiene una oferta de equipos en los que el acabado premium se nota en todos sus modelos, pero que ofrecen una gama amplia de precios. Si esto funciona para vender mas equipos pues no lo se, pero la apuesta de Sony sigue fuerte.

Lo único malo de todo esto es que el criterio técnico está quedando de lado, claro, tampoco es que necesitemos ser todos ingenieros para comprar un celular, pero debemos ser concientes de que estamos comprando una computadora que recibe y hace llamadas. Así que hay criterios mínimos que debemos verificar antes de decidir la compra de un teléfono:

  • RAM 2 GB
  • Almacenamiento: 32 gb
  • Cámara al gusto
  • Procesador al gusto
  • Pantalla al gusto

Esos que he marcado como “al gusto” significa que tienen que manipular el equipo y ver si se acomoda a sus necesidades. Para nuestro caso:

  • Pantalla: verifiquen que puedan leer texto claramente y que las imágenes se muestran bien tanto bajo techo como en el exterior. El mayor problema de las pantallas hoy en día es la de dejarse ver claramente en exteriores.
  • Camara: tomen algunas fotos con mucha y poca luz y comparen si es que la calidad final es de su gusto. No se fijen mucho en los megapixeles, fíjense en lo que ven sus ojos.
  • Procesador: manipulen el equipo y abran varios programas, cambien entre ellos y sientan si es la velocidad que quieren tener. Tengan en cuenta que conforme vayan instalando programas y por el uso diario, el rendimiento del teléfono tiende a reducirse, así que verifiquen que el equipo sea lo suficientemente rápido para ustedes.

Finalmente, hasta hace poco la batería era un problema por lo que tener una batería adicional era común, al día de hoy la mayoría de equipos tienen la batería integrada por lo que no tenemos opción a cambiarla además, las mejoras en rendimiento en los equipos nuevos se notan. Es muy difícil que prueben la calidad de la batería, así que tienen que exigir que el vendedor les indique claramente la duración de batería y ustedes tienen la obligación de verificar en foros de internet o en los sitios de evaluación.

En conclusión, un teléfono celular es una computadora y por lo tanto nuestra decisión de compra debe considerar también las características técnicas además del factor precio, y al día de hoy la oferta de los fabricantes se está centrando en hacer un buen equipo intermedio a un precio razonable.


Danger no es peligro. Es la compania que Microsoft compro hace unos anos para entrar al negocio de fabricación de dispositivos y que finalmente desapareció después del fracaso del tristemente famoso “Microsoft Kin”.

Es lo primero que se me viene a la mente cuando leo hoy en la mañana que Microsoft compra Nokia, y el temor aumenta al tratarse esta vez del que alguna vez fue el primer fabricante de celulares, y que quizá lo siga siendo en tema de patentes. Microsoft ya había hecho una entrada tímida este ano con el Surface en el mundo del hardware y afortunadamente no fue un desastre, aunque tampoco fue el éxito que pronosticaban a pesar del potencial.

Es muy difícil pensar que una compania que se ha hecho fuerte con el modelo de licencias, que pensar que esta vez si hará bien las cosas con Nokia es algo muy difícil pero hay algunos atenuantes:

  • Lumia: nadie puede negar que los equipos Lumia son muy atractivos, y que su sistema operativo muestra mucho potencial, aunque eso no se traduzca aun en las ventas. Son tan buenos que no entiendo como HTC siga haciendo equipos con Windows Phone, o cualquier otro fabricante. El diseño simple, la alta calidad de sus funciones y la sencillez en el uso hacen de esta linea de telefonos la nueva bandera que levantara Microsoft para volver a liderar el mercado de smartphones. El problema aqui es que con Windows 8, la linea de smartphones sera siempre eso, solo teléfonos pues las tablets han sido ya consagradas al sistema operativo desktop con resultados interesantes. Esto no es malo, pero brinda un espectro de opciones algo confuso. Mientras Apple y Samsung ofrecen el mismo sistema operativo en  teléfonos hasta tablets, Microsoft solo presentara teléfonos, a primera vista irrelevante pero importante si consideramos que hay un tema de experiencia de uso que para muchos usuarios es critico.
  • No hay experimentos: Ok, Lumia es una linea con potencial, lo que significa que no hay mas experimentos que hacer, la linea a seguir ya esta definida. En el caso de Danger, el reto era comprar el mejor teléfono inteligente del mercado en ese momento (Sidekick) y ponerle algo de Windows Mobile, el mejor OS de moviles del momento dando como resultado un monstruo que no tenia nada de ninguno de los dos mundos. Entonces, ya no hay riesgos de volver a lanzar monstruos, Lumia ya esta y ha marcado lo que se tiene que hacer y deja un pequeño espacio para la innovación. Aunque no ha tenido exito en el pasado, aun quisiera ver un smartphone con teclado fisico, aunque la verdad no lo veo venir.
  • Si Microsoft no hacia la compra, otro lo iba a hacer: para nadie es un secreto que Nokia ya no era lo que solía ser y que su poder financiero se ha reducido increiblemente a pesar de que en mi opinion, aun es el mejor fabricante de telefonos, el problema era que producia los telefonos equivocados. Siempre pensé que Blackberry y Nokia podrían haber hecho una asociación que produciría el mejor software para moviles en el mejor de los moviles, pero ya no lo veremos, pero si es que hubiese llegado a suceder significaba que Windows Phone hubiera tenido que salir del mercado porque simplemente ya no hay mas espacio en el mundo de los moviles. En el mundo de moviles el dia de hoy hay espacio para 3 ecosistemas: Android, iOS y un tercero que aun no sabemos si es Blackberry o Windows Phone. Los teléfonos “linux” como el Firefox OS o el Ubuntu EDGE son opciones muy buenas pero que no llegan a ser smartphones por una razón: dependen mucho de la calidad de la red al estar basados demasiado en la red y en javascript, esto los limita en el mundo high end donde se requiere de apps veloces basadas lo mas posible en un codigo nativo.

Definitivamente estamos hablando de un movimiento con mucho riesgo, aunque esta vez el riesgo es menor que con Danger, pero igual estamos hablando que los grandes socios de Microsoft en el mundo OEM deben estar analizando seriamente la continuidad de su apoyo. Si hasta hoy era difícil no considerar un teléfono WP de Nokia, con esta compra seria simplemente una locura comprar un WP de otro fabricante.

Se dice también que Microsoft aplicaría el modelo Apple para su nueva division de celulares lo cual me parece correcto pero hay un detalle que podria jugar en contra. Mientras Apple maneja uno o dos modelos, Nokia se maneja el dia de hoy con mas de 10 modelos lo que podria generar el efecto “fragmentación” que hasta hoy ha sido la mayor pesadilla de los disenadores de Windows Phone 8. Este efecto no sera tan grande en el tema de la interfase grafica porque Lumia son casi todos iguales, pero si esta pegando en el tema de las características internas que el dia de hoy no se notan pero que si sera evidente si es que llega en algun momento a despegar en ventas y aplicaciones en niveles como los tienen Apple y Google.

Alguien dijo que esta operacion era un caballo de Troya con exito. Creo que es una gran oportunidad siempre y cuando Microsoft maneje correctamente el salto entre telefonos y tablets. Ha eliminado la diferencia entre tablets y desktops mejor que nadie pero ahora tiene que terminar de cubrir toda la cadena.


Creo que desde hace mucho tiempo los celulares son como los autos, una muestra de status y la mejor muestra de status es el Apple iPhone, hasta ahora.

Ya es voz popular que Apple prepara una version de bajo costo lo cual es casi igual a que Ducatti saque algun modelo de moto con una carroceria mas simple para “vender” mas. Desde mi punto de vista, mala estrategia por dos razones:

  • Fragmentacion: no como ocurre en Android donde hay miles de resoluciones y tamanos de pantalla, pero si Apple tiene una gran ventaja, tiene pocos modelos que adapta para todo el mundo, hasta donde yo se hay dos: uno CDMA y otro GSM y listo. Solo para comparar, Samsung tiene 5 variaciones para su modelo S4. Esto para resumir significa que Apple invierte mucho menos en fabricar un telefono que Samsung y por lo tanto logra ganancias mayores. Aumentar variaciones de un modelo es algo novedoso con la intencion de exprimir el mercado, pero sin precedentes en la historia de iPhone.
  • Distincion: tener un iPhone es una senal de estatus y si se masifica pierde su posición. Esto ya esta pasando y se puede notar en el precio de reventa o tambien revisando el mercado gris donde antes iPhone era el rey de los precios altos, y ahora ya  ha cedido su posición al HTC One. Lo interesante es que a pesar de su alto precio siempre se vendio bien.

Hay otros puntos en contra pero son menos impactantes como la canibalizacion del propio iPhone, pues habra mucha gente que dejara de ahorrar por el modelo top y se conformara con el modelo barato.  Ademas, se ganara nuevos enemigos que no entraban en la competencia de telefonos top.

El unico punto a favor de un iPhone barato (o iPhone 5C como ya se le llama) es que se exprime el mercado y se lleva el buen nombre de Apple a mercados nuevos.

No estoy seguro de que Apple este buscando efectivo, pero si seria preocupante que lo este haciendo lanzando un equipo de bajo precio. Sobre todo estoy preocupado por el tema de la fragmentación pues supondra complicar aunque sea un poco la logística. Tengo mucho tiempo en el mercado de celulares y realmente es un dolor de cabeza introducir un telefono, ahora imaginense dos. Samsung lo ha hecho por decadas como lo ha hecho Motorola, pero Apple ha sido hasta ahora de ir uno por uno, seria su prueba de fuego como disenador de teléfonos, porque fabricante no es.

En conclusion, es una movida muy arriesgada que si resulta mostraria que Apple puede entrar al negocio de celulares como un fabricante de alto nivel y ya no como un oportunista que tuvo suerte con un modelo bandera pues ahora tendra 2 y quien sabe si en el futuro lance 3 o mas a la vez.

La pregunta que hay que hacer es por cuanto tiempo podran mantener los celulares dentro de la misma compania que vende computadoras.

 


Con el lanzamiento el día de ayer del Galaxy S4, se confirman algunas tendencias en el diseño de celulares top:

  • Pantallas cada vez mas grandes y de mayor resolución
  • Procesadores de muchos núcleos
  • Delgadez
  • Cámaras de muchos megapixeles
  • Sensores

Quizá el más promocionado es el hecho de que el Galaxy S4 trae mas sensores que cualquier otro teléfono en el mercado, prometiendo funciones, como control con la mirada, o gestos en el aire y cosas parecidas.

Es definitivamente un teléfono que todos queremos tener, aunque aún no tengamos claro cuáles son las ventajas reales que conseguiremos con estos teléfonos. Repasemos todos estos aspectos uno por uno y veamos como nos impactan

Pantallas

Una pantalla grande es siempre llamativa, pero práctica no siempre pues se supone que debemos llevarla encima y mientras mas grande mas problemas. El límite para mi parece ser 7 pulgadas, pues es el tamaño de una tablet que después de mucho uso he comprobado que aún se puede cargar encima con algo de facilidad. El problema es que nuestros teléfonos actuales deben tener un tamaño de 3.5 a 4 pulgadas, así que será un golpe para muchos usuarios.

Pero mas importante que el tamaño, es la resolución. Hay equipos con pantallas iguales o mayores pero no pueden decir que tienen soporte al mágico 1080p. Para darnos una idea, los televisores de mayor resolución del mercado trabajan en 1080p, al igual que las películas en Blu ray. El Galaxy S4 también tendrá 1080p. Todo bien hasta ahí. Ahora, eso no significa que todos nuestros videos se verán mejor, Significa que los videos que tengamos a 1080p se verán mejor. ¿Cómo reconocemos un video en resolución 1080p? pues en primer lugar, por el tamaño: si hablamos de una película, el archivo tendrá un tamaño aprox de 6 gb, otro ejemplo, un video músical de 4 minutos debería pesar unos 280 mb. Bastante mas grandes que los videítos que tenemos ahora. Para aprovecharlo realmente, tenemos que aprender a comprimir nuestros Blu rays, pasarlos al computador y de ahí a nuestro nuevo teléfono, o aprovecharlo cuando grabemos videos con el mismo teléfono.

Procesador

8 núcleos es un montón, pero en su mayor parte es consumido por todo el juego de efectos y capacidades del nuevo Galaxy. Aún así, la velocidad de las apps no debe ser un problema, porque éstas no aprovechan los núcleos adicionales. El verdadero rendimiento del teléfono lo veremos cuando utilicemos las apps que vienen ¨nativas¨como el reproductor de video, el navegador, el cliente de correo, el editor de imágenes y así. Efectivamente notaremos que es un teléfono más rápido, porque sin darnos cuenta utilizamos apps nativas la mayor parte del tiempo. Esto no es una limitante del Galaxy, es una característica del sistema operativo Android. No es un error ni nada, los sistemas operativos de móviles están diseñados de esa manera para que la batería no se consuma tan rápido, incluso iOS tiene esta ¨característica¨. Entonces, cuando escuche procesadores de X núcleos, piense en mejor rendimiento para las apps del día a día, no en un teléfono mágico que podrá adivinar sus pensamientos.

Delgadez

Aquí llegamos un punto donde personalmente creo que menos es menos. Tengo el S3 y su delgadez me causa problemas, especialmente cuando quiero tomar fotos. Ahora el S4 ofrece una delgadez mayor que creo que voy a tener que ponerle un estuche con agarraderas a los costados. Si bajan el peso, eso siempre esta bien, pero tanta delgadez se vuelve un problema.

Megapixeles

Creo que fue HTC quien introdujo hace poco un teléfono con una cámara de  8mp, cuando ya hablamos de 41 mp de Nokia con su Pureview. Vamos directo al grano, mas megapixeles no aseguran mejores fotos. Hay muchas otras cosas detrás de una buena foto y se sorprenderían al saber que el bendito MP no juega mucho. Los megapixeles determinan el tamaño de la foto, no lo que va adentro, así que hay que prestar algo mas de atención. Otro punto mas práctico es el siguiente: una imagen  tomada con todos los megapixeles de la cámara ocupa un espacio considerable, 5 mb para 10 mp, lo que hace que compartir la foto, ya sea por bluetooth, correo, wifi o lo que sea se vuelva una tarea titánica porque el proceso tomará siglos. Normalmente lo que hacemos es configurar la cámara a menor resolución, o sea apagamos una parte de nuestro dinero. Recomendación , comparen la calidad de la foto y no se dejen llevar solamente por los mps.

Sensores

Aun no estoy convencido de la practicidad de tener tantos sensores pero igual me da mucha curiosidad. El compromiso es que tenemos que aprender nuevamente a utilizar el teléfono con los benditos sensores, inclusive en aquellos momentos de apuro como cuando estamos en la calle, o cuando alguien nos llama. En esas condiciones es cuando verdaderamente vemos la utilidad de esos sensores.

 

No me malinterpreten, si tuviera que escoger algún teléfono, me iría por este. La clave del asunto aquí es que el teléfono no es gratis, hay que dejar de usar el que tenemos y gastar algo de dinero, así que tenemos que asegurar que se acomode a nuestras necesidades. No esperen que sea un modelo barato. Simplemente, no se lancen a comprar sin antes ver lo que tienen ahora y definan que función les falta. El concepto errado de renovación tecnológica no aplica para nosotros, debemos usar lo que nos acomoda en funciones y precio, no lo que nos ponen en la TV o en los avisos por Internet.

 


Google presentó ayer Android Ice cream sandwich o 4.0 juntamente con el Samsung Galaxy Nexus donde se introducen una gran cantidad de funciones para ponerlo en el tope de la innovación en el campo móvil.

Entre los features mas interesantes están la función de NFC (que depende mas de hardware), el desbloquedo mediante reconocimiento de rostro.

El detalle completo lo pueden encontrar en casi todos los sitios de tecnología y anexos. Mi intención es hacer notar una de las cosas que los usuarios buscan en los teléfonos y que parece que Google perdió de vista: Una experiencia móvil.

Es super cool tener NFC, reconocimiento de rostro, de voz, mejor pantalla y todo eso, pero si la batería se termina al mediodía esta mal. Como también esta mal que no pueda leer la pantala si hay sol, o que no pueda encontrar la aplicación para leer los mensajes de texto.

Por la experiencia, me refiero a las funciones que promueve Google para que el teléfono sea mas fácil de usar. Entonces vemos que:

– ¿Es más fácil desbloquear el teléfono? mas seguro si que puede ser con el reconocimiento de rostro, pero ¿alguno de nosotros utilizará esta función en la calle?

– ¿Es mas fácil organizar los widgets? no recuerdo haber usado si quiera las pantallas de inicio múltiples fuera de casa

– ¿Es más fácil compartir archivos? puede que si, pero solamente si mi teléfono tiene NFC

– ¿La batería va a durar mas? pues eso va a depender del hardware mas que del sistema operativo aunque lo ideal es que un teléfono que reciba la actualización se porte mejor con la batería.

Y así pudiera yo seguir. Puede ser que todas las inclusiones calzen exacto en alguna necesidad, puede ser que otras no tanto.

Lo que Google mostró fue un conjunto de funciones antes que una experiencia nueva de uso. Y es que realmente Google no puede presentar una experiencia, por mas reglas que ponga en la distribución de Android, porque cada fabricante quiere establecer su propia experiencia. Quiere decir que muchas de las funciones presentadas ayer, no necesariamente estarán disponibles para los usuarios que compren una marca de dispositivos con experiencia propia como Samsung con su Touchwiz, HTC con su Sense o Motorola con su Blur.

El mayor atentado que puede haber a la experiencia es la de encontrarnos con múltiples marcas, y a las pruebas me remito:

– Video llamadas, debo registrarme en Tango o  en Qik

– Comandos de voz, Vlingo

– Localización, Google Maps o Foursquare (Aunque Google+ ya viene integrado)

– Social, Facebook o Twitter

– Visor Office: Thinkfree o Quickoffice

– PDF: Acrobat

Voice over IP: Skype

Son muchas empresas, cada una con su propia filosofía en lo que a la interfase de usuario se refiere. Apple ha manejado esto ofreciendo aplicaciones clave en cada una de estas áreas que no se pueden retirar. En Android, podemos encontrar teléfonos que no tienen el Android Market o que no tienen Gmail y así la cosa se descontrola.

Microsoft ha empezado por el lado correcto en ese sentido, porque ha diseñado su sistema operativo para mantener todo lo parecido en un solo lugar. Los contactos están en un solo lugar y desde ahí puedo utilizar el método de transporte que quiera que puede ser una llamada de voz, o por skype o un mensaje de texto o por twitter o facebook. Igual con las fotos.

La prueba de fuego es cuando le damos un teléfono a nuestros padres. Si ellos lo utilizan bien y sin problema en un corto tiempo, entonces esta OK. Eso quiere decir que la experiencia básica de uso se debe poder completar con el mínimo número de descargas adicionales donde la experiencia de uso básica varía según los segmentos de mercado a los que va dirigido el teléfono. Marcas como Nokia y HTC tienen esto tan claro que en sus teléfonos ya es costumbre encontrar el perfil de entretenimiento y el perfil de negocios, pero ambos no pasan de ser simplemente un arreglo diferente de la pantalla de inicio, en lugar de ser un conjunto de aplicaciones integradas.

En el mundo laboral, todo esto está bien identificado desde hace tiempo y se le llegó a denominar Officeware donde se agrupa Email, Editor de documentos, Hoja de cálculo, Presentaciones, Agenda, Calendarios, Notas, Tareas y hasta Mensajería instantánea. Los fanáticos de Lotus Notes se deben acordar todavía. Tan fuerte fue que los PDAs nacieron con esas tareas en el core (Inicialmente no estuvo incluida la edición de documentos) basta con recordar a Palm y a Windows Mobile.  El Officeware era el conjunto básico de herramientas de software para el negocio. ¿Cuál sería el conjunto básico de herramientas de software para el resto de usuarios? Aquí un primer intento de respuesta para esa pregunta:

– No queremos manejar muchos programas, mientras menos mejor.

– Seguridad ante todo.

– Una sola intefase de usuario para todo

Como ven , no he puesto lo que muchos esperaba, es decir correo, navegación web, mensajería instantánea y esas cosas. La razón es que ya estamos en otro nivel donde las funciones básicas las debemos tener nativas. Linkedin, Facebook, Twitter y otros se deben integrar al SO de alguna forma y lo estan haciendo para que los contactos, envio de mensajes  y otras cosas “generales” se hagan desde las aplicaciones nativas. Microsoft, en ese punto, lo has hecho muy bien. Apple va por ahí con los cambios incluidos en iOS 5, pero donde no se ve es en Android.

Este tema tiene para mas pero lo que si es claro es que ya tuvimos en nuestros bolsillos teléfonos super inteligentes que hacían todo lo que nos podíamos imaginar y eso se llamaba Windows Mobile que ya no existe mas porque nunca pudimos aprovecharlos en el mundo móvil. Apple demostró que no importa si nuestro teléfono es especialista en solamente algunas pocas cosas mientras que las haga bien. La verdadera ganancia en el mundo móvil es en ampliar la experiencia de uso sin complicarla.

Android Ice cream Sandwich ha salido presentando muchas cosas, pero ahora debemos esperar para ver cuales de todas esas funciones tendremos realmente en nuestros teléfonos debido al control que hacen los fabricantes en la personalización. La fragmentación que tanto preocupaba a Google se va a seguir dando y no he visto nada en Ice Cream Sandwich que se haga para combatirla.

Para finalizar, la interfase de usuario es importante pero también es importante el form factor del hardware. Para darnos una idea del problema, piensen en cuantos modelos hay de cada marca y verán. Si Apple pudo conquistar rápidamente el mercado con un solo modelo, entonces, ¿Porque siguen haciéndose miles de modelos y form factor en android? sobre todo viendo que los mas exitosos son casi los mismos. Que el telefonito con teclado qwerty en candy bar, que el candy bar solo numerico, que el qwerty slider, que el doble led, que el doble pantalla sin teclado y continuamos. El top 5 de smartphones muestra casi los mismos teléfonos con form factor parecidos. No hay razón para hacer mas, ¿o si?





%d bloggers like this: