viernes, 25 de junio de 2010

La multitarea en un sistema cerrado

Hablaba el otro día con mis amigos sobre la multitarea implementada en el nuevo SO del iPhone, el iOS4. Mientras unos mantenían que estaba muy mal planteada, ya que no permite tener las aplicaciones corriendo en 2º plano de manera continuada, yo me decantaba más a favor del modelo seguido, fuertemente condicionado por las limitaciones de una batería de unos pocos centímetros cuadrados. Al final, la conclusión a la que llegamos, y que suele ser recurrente en estos casos, es que se trata de una lucha entre los sistemas abiertos y cerrados.

El iPhone es el paradigma actual del sistema cerrado móvil. Steve Jobs dispone y los demás aceptamos (si queremos). Al que no le gusten sus reglas, que cambie de móvil. Este es su sistema y muchas veces se ha encargado de dejar claro quién manda en él. Por otro lado tenemos los modelos abiertos, quizá con Android como su Caballero Blanco, que apuestan por un modelo donde cada uno puede aportar su granito de arena en pro de conseguir un sistema común mejor.

Sinceramente, no creo que haya un modelo mejor o peor. Los dos son diferentes y cuentan con sus ventajas y desventajas, siendo mayormente las unas de uno de los modelos, las segundas del otro, y viceversa.

Comento esta reflexión a raíz de un post que leí y que mantiene que la Store de aplicaciones de Android está llena de programas potencialmente maliciosos. Sin querer ignorar que este tipo de informes suelen estar claramente condicionados hacia una conclusión final y que habría que ver qué se considera "potencialmente malicioso", creo que parte de razón sí que debe de tener. Y es que si bien el control al que somete Apple a todas aquellas aplicaciones que quieran estar en su escaparate es realmente severo, e incluso a veces considerado subjetivo, sí que es cierto que el iPhone está totalmente libre de malware. Por otro lado, en una plataforma abierta como es Android las puertas son mucho más anchas y habrá que andarse con más ojo a la hora de instalar algo. No creo que sea necesario más allá de poner algo de sentido común a las descargas, pero la experiencia con los PCs ha dejado claro que este sentido es el menos de los comunes entre las personas, ya sea por ingenuo desconocimiento o por mera incompetencia. Cualquiera de los dos es totalmente extrapolable al mundo móvil.

Y sí, soy consciente de que Android somete a un cuestionario al usuario cuando éste instala una aplicación que accede a ciertas funcionalidades del teléfono, pero no es eso lo que quiere el usuario medio (¿verdad, Windows?). Como es igualmente cierto que no quiere tener que estar pendiente de múltiples versiones ni de capas de servicios de la operadora o fabricante. Al final, gran parte del secreto de Apple es su sencillez (que no simplicidad) y esto pasa por ofrecer un entorno cerrado y fuertemente controlado. Lo tomas o lo dejas, la decisión es de cada uno y claramente no pretende agradar a todo el mundo. No cabe duda de que el modelo es arriesgado y que les servirá mientras suficiente gente aprecia más las ventajas que los inconvenientes, pero de momento está funcionando, ¡y de qué manera!


Edito, incluso antes de publicar: en ALT1040, blog donde leí el post que inició esta diatriba, han publicado ayer mismo una rectificación confirmando lo que ya se sospechaba: no es la cosa tan grave como parece. Ni hay software malicioso en la Android Store (que se sepa) y sí que se controlan a los desarrolladores que publican sus aplicaciones allí. No obstante, la idea base de este post, que los sistemas abiertos tienen sus ventajas y desventajas, y que ninguno es netamente mejor que el otro, sino que va por gustos, sigue siendo totalmente válida. Ese es el mensaje que quería transmitir, aunque ahora haya perdido parte de la base sobre la que argumentaba...

7 comentarios:

PaSCuaLiN dijo...

Mi principal problema con Apple en el caso de la "multitarea" es que están engañando al consumidor, ya que lo que ellos (con todo el derecho del mundo a hacerlo) han implementado no es multitarea: http://es.wikipedia.org/wiki/Multitarea

Para mí eso es lo más grave del asunto, evidentemente si no te gusta el iPhone no te lo compres y punto, en eso estoy 100% de acuerdo, pero Apple está haciendo publicidad engañosa porque lo que tiene el iPhone no es multitarea, cualquier persona que haya estudiado informática lo sabe, así que deberían llamarle de otra forma, pero no multitarea, porque eso es engañar al consumidor y decirle que tiene una cosa que en realidad no tiene.

Alejandro Cordón dijo...

Bajo mi punto de vista ese argumento es como decir cuando se inventaron los helicópteros que eso no era aviación porque no tenían alas...

Si permite tener varias aplicaciones abiertas, aunque sea de una manera distinta a la "tradicional", ¿por qué no se va a llamar multitarea?

PaSCuaLiN dijo...

Hombre ese ejemplo no es para nada lo mismo. La multitarea es lo que es: "Es una característica de los sistemas operativos modernos. Permite que varios procesos sean ejecutados al mismo tiempo compartiendo uno o más procesadores."

En la implementación de Apple lo único que hace es salvar el estado de las aplicaciones, no comparten ingún procesador, la aplicación que no está en primer plano símplemente no se ejecuta, y si se ejecuta es porque está acaparando para ella solita el procesador. Para mi esto no es algo en lo que entre la opinión de nadie, es que técnicamente tiene su definición, y o que ha implementado Apple sencillamente no cumple los requisitos de lo que es la multitarea, no es algo que "yo creo que", es que es algo que es así y ya está.

Alejandro Cordón dijo...

¿La multitarea es eso porque así lo dice la Wikipedia? ¿"Es así y ya está"? ¿Como si estuviese escrito en piedra desde tiempos babilónicos?

Multitarea son "múltiples tareas", algo que creo que sí que hace el iPhone. Lo demás, son definiciones adaptadas a lo que se conoce hoy en día, o a la forma actual de hacerlo.

Seguro que en la Wikipedia de hace 100 años diría: "Aviación es la capacidad del hombre de surcar los aires a lomos de un aparato provisto de 2 alas y una cola" :-P

Lo que quiero decir es que las definiciones cambian con el tiempo. No se puede decir: esto no es así porque la definición no lo cubre. Primero viene el "ser" y luego su definición, ¿no?

PaSCuaLiN dijo...

Es que lo que hace el iPhone no son múltiples tareas, y la multitarea sí que es eso, compartir la CPU para ejecutar más de una cosa a la vez, sino se llamará "retención de estados de aplicación" o "iTareas" o como lo quieran llamar, pero si no ejecuta varias cosas a la vez no es multitarea..

Entiendo que te guste Apple y que lo defiendas, pero te pediría que intentaras no perder la objetividad Alex, eso no es multitarea tío, y no porque lo diga yo ni la wikipedia, si es que la propia definición lo dice "MULTI-TAREA", no pasa nada, que les va a funcionar y van a vender miles de millones de iPhones? seguro que sí, porque para la mayor parte de usuarios la "iTareas" les va a valer y van a estar súper contentos, pero aun así creo que están engañando al llamarle multitarea.

Alejandro Cordón dijo...

Con la nueva funcionalidad que ha añadido Apple a su API, llamémosle X, ¿puedo escuchar Spotify mientras leo un libro en iBooks, y estar pendiente de un mensaje en Skype, que podré responder cambiando de aplicación?

Creo que sí, ¿verdad? (al no haberlo probado, no estoy 100% seguro). Yo entiendo eso como multitarea... Como se haga por detrás, por SO, CPU, API o un enanito que puentea cables, me da igual. El caso es que pueda cambiar entre aplicaciones para realizar múltiples tareas.

Por otro lado, el uso de argumentos ad hominem no aportan demasiado a la discusión :-)

PaSCuaLiN dijo...

Eso lo puedes hacer igual ahora sólo que al abrir la aplicación no te recuerda el estado en el que estaba, salvo lo de la música, que ese proceso era sólo para la aplicación del SO, que es precisamente lo que ha cambiado. El iPhone era multitask antes y no nos habiamos dado cuenta... o a lo mejor no...

En el caso de Skype, según lo que yo entiendo, si dejas el Skype de fondo conectado no podrás utilizar ningún otro proceso que utilice internet.

Otro ejemplo sería utilizar una aplicación que haga traking por GPS, por ejemplo para guardar el recorrido que haces en el camino de Santiago, pues bien, si mientras voy por el camino me pierdo, no podré abrir Google maps y pedirle que me diga cómo llegar hasta un pueblo, porque no podrá acceder a mi posición de GPS ya que está dedicada en exclusividad a la aplicación de traking (y si me deja abrirlo perderé la ruta del traking, pero nuca podré tener las dos cosas).

Pensaba que tenías el 3GS y habías probado la multitarea ya, tienes el 3G?