Ceux d'entre vous qui utilisent un iPhone l'ont sans doute remarqué : les applications intégrées en standard dans l'appareil se lancent bien plus rapidement que les logiciels tiers, même lorsque ceux-ci sont officiels et installés via l'App Store. Comment se fait-il qu'une application aussi lourde que Maps se lance aussi rapidement, alors que de petits gadgets de l'App Store mettent parfois plus d'une ou deux secondes à s'ouvrir ?

Tom Insan, un développeur anglais, propose une explication à cet état de fait : les applications officielles Apple intègreraient en réalité une capture d'écran, qui s'afficherait pendant le chargement effectif du programme, de façon à faire croire que ce dernier est lancé alors qu'il est encore en train d'être ouvert !
Sur son blog, il explique que les applications d'Apple intègrent en effet une image par défaut, appelée default.png, qui s'affiche comme un splash screen pendant leur chargement. Ainsi, on donne à l'utilisateur une impression d'extrême fluidité, qui pourrait bien être feint.
Apple serait même allé plus loin. Selon lui, les applications Maps et Contacts seraient capables de modifier cette image par défaut. Lors de la fermeture de Maps, une capture d'écran serait effectuée, puis affichée au lancement suivant de l'application.
Sans même aller jusqu'à inspecter le coeur du package de cette application, il n'y a qu'à l'utiliser pour se rendre compte que l'explication est tout à fait plausible : Maps affiche toujours le dernier état de la carte au moment du lancement. On aurait pu croire que les données étaient gardées en mémoire... selon Insan, il s'agirait en fait d'une simple capture d'écran.
L'application Contacts permet de se rendre compte qu'il a peut-être raison. Lancez là une première fois, puis déplacez vous dans la liste de façon à en changer l'état. Quittez Contacts, et lancez une autre application, histoire d'occuper la mémoire système. Revenez ensuite à Contacts : l'affichage est instantané, mais pendant une seconde ou deux, vous ne pourrez pas naviguer dans la liste !
La méthode est-elle déloyale ? A priori, non, puisque la firme essaie d'améliorer l'expérience utilisateur, ce qui n'est pas, en soi, une fin répréhensible, et documente cette fonctionnalité dans le SDK proposé aux développeurs. Ceux qui étaient passés à côté sont maintenant prévenus
Découvert via Mac4ever.



Déloyale cette méthode ???? Je trouve que c'est plutôt malin comme tout et du coup agréable pour l'utilisateur !
Moi j'ai remarqué ça également. Sur l'appli calculatrice c'est très visible.
Pour moi on peut faire défiler les contacts instantanément et dans maps on peut passer de recherche à itinéraire immédiatement après ouverture de l'appli ou passé de plan à mixte ...
Pas sur de la supercherie
A voir !!!!
Je ne vois rien de déloyal... je vois pas pourquoi Apple devrait communiquer toutes ses petites astuces pour rendre son produit meilleur...
Ce principe est archiconnu et est exploité avec winterboard.
Je n'ai plus aucune application sur mon iPhone qui lance le default.png d'origine.
Avec winerboard, j'ai créé pour toutes les app, un ecran de demarrage custom, avec une jolie image represantant l'application , un titre et un texte en bas indiquant "Loading".
Ceci , me permet de savoir quand l'app est réellement disponible et aussi quelle appli j ai lancée , car parfois , le default.png d origine est un ecran vide sans titre , et du coup c est apres plsieurs secondes qu on se rend compte de son erreur.
Alors , oui , c'est une ARNAQUE de la part d'apple. Car toutes les presentations, toutes les pub montrent ce lancement "rapide", hors AUCUNES app ne se lance en dessous de 2 a 3 secondes.
Exeptée certaines natives, ou la encore il s'agit d'une arnaque ,puisque tournant en tache de fond la plupart du temps. (Phone , Mail , Contact). Pour s en rendre compte il suffit de surveiller les process avec Terminal ...
Exemple de default sur mon iPhone :
http://farm4.static.flickr.com/3173/2925656019_7db1bcaca7.jpg?v=0
euh... Cette particularité est décrite dans le sdk, on y apprend d'ailleur que le default.png fait parti des recommandation d'apple pour la structure d'une appli.
wes a raison, ce n'est pas un secret. Apple n'entourloupe personne. Qu'y a t'il de mal à rendre l'experience utilisateur agréable ? En tous cas, merci pour les dev qui n'avait pas encore vu cette astuces
(RBC9, les splashscreen c'est gonflant ! "Loading" le mot le plus insupportable de nos jours...)
@ RBC9: "un ecran de demarrage custom, avec une jolie image" ... mdr ... nous n'avons pas les mêmes valeurs :d
Et puis, une arnaque ... pfff ... non, un confort pour l'utilisateur puisque psychologiquement il n'attends pas ce qui est l'essentiel, dans sa petite tête
@Wolf : ton "mdr" , tu te le garde.
Que tu indiques que cela n'est pas à ton gout est une chose, mais que tu permettes de juger les miens en est une autre.
Et je persiste en parlant d'arnaque. Car s'il est bien plus joli d'avoir un ecran au démarrage plutot qu'une page blanche , le mecanisme de "screenshot" afin de tromper l'utilisateur montre autre chose. Un volontée de laisser croire a une rapidité de lancement. Rapidité mise en avant dans les spots et pubs diverses.
Je trouve bien énervant de lancer une appli , de voir mon ecran comme si cette appli était prête à l'usage , et de m'enerver sur le touch screen jusqu a ce que celle ci reponde. Il est bien plus sain , d'avoir un ecran disctinct de celui en execution.
Vous étes vraiment des nazs, attendre 2/3 secondes pour lancer une app c'est pas la mort. Tu peux pas naviguer dedans ben tu attend RBC9, fait un peu d'économie