43: Extensions et diversité

La WWDC vient de se finir. Vous avez déjà certainement tout vu, tout lu. Pour ma part, j'ai privilégié le concret en codant pour iOS 10 et watchOS 3 avec Xcode 8 sous macOS Sierra. Alors dit comme ça, ça fait fou furieux inconscient mais j'ai une super technique pour ne pas avoir de problème en utilisant des bétas : j'ai deux macs et deux iphones.

Cette WWDC a été révélatrice, autant dans la forme que dans le fond, de la stratégie d'Apple dans les années à venir. AMHA, les 3 vidéos qui permettent le mieux de saisir ces changements sont la «keynote» et la «Platforms State of the Union», bien évidemment
mais également le Talk Show de John Gruber, qui depuis quelques années, est enregistrée en vidéo lors de la WWDC. L'année dernière, l'invité, surprise, était Phil Schiller. Cette année, Phil Schiller était de nouveau là, et l'invité surprise était ... Craig Federighi. Pour le coup, la suite logique pour John Gruber serait de toper Tim Cook pour l'année prochaine, rien que ça.

La forme

Dans la forme, s'intéresser au temps accordé à chaque notification lors de la keynote rend les priorités d'Apple claires:

  • 20 minutes pour watchOS
  • 8 minutes pour tvOS
  • 15 minutes pour macOS
  • 55 minutes pour iOS

iOS reste le maître incontesté, et cela ne devrait pas changer dans les années à venir. Plus surprenant, watchOS a eu le même traitement que macOS. Les mauvaises langues prédisant que l'Apple Watch était un one shot devront donc revoir leurs copies.

Autre point marquant, le temps passé a insister sur la différence de point de vue sur la vie privée entre Apple et «les moteurs de recherche» (i.e. Google) et les réseaux sociaux (i.e. Facebook) est également un point fort. Les sceptiques prendront cela pour de l'advertising, ou du privacy-washing, car nous n'avons pas accès au code source d'Apple. Je note juste que Google n'a jamais été en procès contre le FBI pour ne pas avoir voulu été à dévérouiller un téléphone sous Android. Si vous pensez que c'est parce que chaque version d'Android est propre aux constructeurs, renseignez-vous sur le «Google Play Services».

Enfin, la diversité lors de la keynote. Des femmes et des personnes de couleurs ont été sur le devant de la scène. Ça peut sembler trivial pour certains mais il suffit de regarder un open-space de programmeurs pour se rendre compte que c'est tout sauf trivial.

À cet égard, la vidéo sur les développeurs est très touchante, en particulier la scème de fin. Si vous ne l'avez pas vu, je ne vous la spoile pas, allez la voir.

J'ai hâte que cette diversité mise en avant lors la la keynote se reflète dans le casting des dirigeants d'Apple qui ne compte, sur 19 personnes que 3 femmes et une personne de couleurs.

Le fond

Dans le fond, Cette dub-dub a été celle de l'ouverture, avec des API pour Siri, Maps et Messages. Ces API passent par le mécanisme d'extension, qu'Apple nous présente comme le meilleur compromis entre performance, stabilité, sécurité et confidentialité. Un changement également important est la levée de la restriction de l'utilisation des API d'iCloud aux seules applications distribuées via l'AppStore. À partir de macOS Sierra, toutes les applications devront être signées et toutes, donc même celles téléchargées ailleurs que sur le Mac AppStore pourront utiliser iCloud.

L'autre tendance a été celle de l'amélioration en continue. Les changements ergonomiques sont relativement légers mais néanmoins clairs. Par exemple un "petit" changement tel que le déverrouillage de l'iPhone. Depuis Touch ID 2, il est quasi-impossible de voir son écran de notification tellement le déverrouillage va trop vite.

Avec iOS 10, l'écran s'allume dès qu'on amène l'iPhone à hauteur de vue, ce qui nous permet de voir nos notifications sans autre effort. Dévérouiller via TouchID nous offre la vue "Today". Et enfin, pour accéder au Springboard, il faut dorénavant appuyer physiquement sur le bouton Home.

Ça semble compliqué à expliquer mais c'est intuitif à utiliser et c'est dans ce genre de détails qu'Apple excelle.

Impossible de ne pas parler de Swift. Le fait de privilégier la stabilité des sources à la stabilité des binaire et le fait de swiftifier les API de Cocoa et Foundation est une excellent nouvelle et une excuse en moins pour tout ceux qui attendent «le bon moment» pour passer leurs apps, souvent conséquente, à Swift.

Tout n'est pas rose

Histoire de ne pas (trop) faire fan-boy, il y a quelques poins (réellement) agaçants à relever:

1) Xcode 8 apporte des améliorations, petites ou grandes, qui vont vraiment nous améliorer la vie. Mais applaudir parce que Xcode peut surligner une ligne, permettre de choisir une couleur ou une image dans le code ou ENFIN gérer correctement les «provisionning profiles», ça fait vraiment le roi qui jette des miettes de pain aux paysans qu'il affame ... Les devs de toutes les autres plateformes (même ceux qui codent en PHP ou en Javascript) doivent bien se foutre de notre gueule avec ça ... Apple a essayé de nous faire avaler la pilule avec humour, mais là, sur ce coup là, des excuses en bonne et due forme aurait été de circonstance. Combien d'heures perdues avec le renouvellement de profils de provisionnement (surtout dans une chaine d'intrégration continue) ou d'upload d'IPA qui foire pour des raisons totalement incompréhensibles ? Bref, voyons le verre à moitié plein, notre outil principal s'améliore, c'est le principal. Surtout à la vue du nouveau "Runtime Issues Navigator", en particulier la visualisation du graphe des allocations de mémoires.

2) Pour le moment, «Swift Playground» est disponible uniquement sur iOS. Oui, c'est totalemen logique, mais je grince des dents en voyant une stratégie à la Microsoft. Porter UIKit sur Android n'est pas évident, certes, mais j'espère qu'on verra une solution pour tout ceux qui ne peuvent pas mettre $400 dollars dans un iPad Air 2 (ce qui est un excellent rapport qualité/prix, là n'est pas le problème). Et si Android est trop compliqué, le web est l'outil de prédilection pour un accès simplifié. IBM propose depuis plus de 6 mois la IBM Swift Toolbox, qui permet d'écrire et d'exécuter du code Swift dans un navigateur web.

3) Dernier point d'insatisfacion: toujours pas d'iMessage sur Android. Et oui, ça fait bizarre, mais il y a des gens sympas qui utilisent Android et certains sont même nos amis. Et pour eux, à cause d'eux dirai-je même, nous sommes obligés d'utiliser des saloperies telles que FB Messenger, WhatsApp ou autres cochonneries. Et comme dirait Didier Super dans son dernier album: ça fait chier

Conclusion

Cette WWDC a été très dense, autant techniquement que fonctionnellement. Du côté du matériel, aucune annonce. Vu que l'iPhone est annoncé chaque année au début de l'automne, et qu'Apple souhaite lui réserver le maximum de visibilité, espérons que les nouveaux rMBP seront annoncés bien avant plutôt que bien après.

Au delà de la pure technique, Apple se transforme et joue de plus en plus son rôle social. À l'époque de Steve Jobs, les dons des employés d'Apple à des œuvres caritatives n'étaient pas suivi par Apple, ce qui est pourtant une pratique répandue aux États-unis. Depuis Tim Cook, cela est réparé. Apple alimente désormais à 100% ses data-centers à partir de sources d'énergie renouvelables, et cette production d'énergie verte est telle que la filiale Apple Energy a été créée en vue de revendre l'excédent de production.

En tant qu'utilisateurs de l'écosystème Apple, nous sommes fiers de cet engagement d'Apple, et à vrai dire, nous n'attendons pas moins de la part de notre marque préférée. Ceci étant, pouvons-nous prétendre exiger de nous le même niveau de perfection ? Certainement pas moi. Il serait peut être temps d'aller donner des cours du soir pour la programmation en ruby à la maison de quartier la plus proche, non ? C'est en cours et je vous parlerai plus en détail lors d'un prochain épisode.