Les nouveautés Apple 2016 en synthèse

Cette semaine, nous avons pu découvrir les nouveautés présentées par Apple :

  • watchOS 3
  • iOS 10
  • tvOS 10
  • macOS 10.12

Quelle sont les opportunités offertes aux développeurs cette année ? Faisons un très rapide tour d’horizon.

Sur toutes les plateformes

Les 4 plateformes ont beaucoup de choses en commun.

Swift 3

Le fameux langage Swift passe de la version 2 à la version 3. XCode 8 permettra de passer facilement de l’un à l’autre. Sachant que la compatibilité avec Swift 2.3 sera conservée de sorte à ce que la migration puisse se faire en douceur.

XCode 8

XCode 8 propose plein de nouveaux outils. Et, grosse nouveauté, XCode permet enfin de concevoir officiellement des extensions pour l’éditeur.

La sécurité

Les exigences en matière de sécurité ont été relevées.

D’après TechCrunch, les connexions aux serveurs devront se faire en HTTPS dès le 1er janvier 2017. Sinon, les apps ne pourront pas être validées.

Et de nombreux mécanismes similaires ont été mis en place pour renforcer la sécurité.

De nouveaux algorithmes de sécurité sont disponibles. Les plus risqués sont devenus obsolètes.

On peut aussi faire un copier-coller sécurisé entre 2 appareils.

Plus de détails ici : https://developer.apple.com/security/

La confidentialité

Là encore, Apple ne rigole pas. Le niveau d’exigence en matière de confidentialité des données a été relevé, même si on est globalement sur des aspects techniques gérés par l’OS en lui-même.

C’est notamment le cas pour l’intelligence artificielle qui permet de retrouver les photos : l’algorithme mis en place est exploitable sans avoir à transmettre d’informations précises. C’est la technologie Apple qui gère. Et, en un sens, c’est tant mieux.

Les performances

Sur watchOS, les applications se lanceront (enfin) instantanément.

De manière générale, les performances ont été améliorées. Notamment au niveau des connexions à Internet : un système de priorité est maintenant intégré au système.

Sur ces différents aspects, aucun travail complémentaire n’est nécessaire du côté des développeurs.

SiriKit : Siri accessible aux développeurs

Les applications iOS pourront être commandées par Siri. Dans des cadres pré-définis :

  • appels audio / vidéo (Skype)
  • envoi de messages (WhatsApp)
  • paiements (Leetchi, MacDo ?)
  • recherche de photos (Instagram)
  • entrainements (Runtastic)
  • réservation de véhicule. (Uber)

Les interactions permettront d’interpréter le message et afficher un contenu personnalisé (sauf sur Carplay, pour garder le regard sur la route)

Les suggestions pro-actives

Dans iOS 9, on pouvait intégrer les suggestions dans Spotlight et les recherches dans Safari.

iOS 10 va plus loin en intégrant notamment les recherches basées sur la géolocalisation.

On peut également intégrer les trajets via un service d’auto-partage.

Si on recherche un album audio, l’application pourra suggérer un morceau.

Intégration dans l’app Messages

Messages – l’application utilisée pour envoyer des SMS et des iMessage –  a été optimisée et enrichie en termes de fonctionnalités.

Les développeurs pourront ainsi proposer, via un App Store spécifique, des fonctionnalités supplémentaires :

  • des stickers pour agrémenter les messages
  • des applications permettant l’interaction au sein de l’app de messagerie.

Cela peut-être utilisé, par exemple, pour proposer un restaurant à un ami et lui proposer de choisir son menu. Une fois que l’ami a validé son repas, on valide soi-même le sien, on paye (via Apple Pay) et c’est fait.

Des notifications push plus riches

De nombreuses possibilités ont été ajoutées au sein des notifications push.

Les alertes locales peuvent être conditionnées par une date et un lieu par exemple.

Et l’apparence des alertes peut également être personnalisée.

La reconnaissance vocale

Une nouvelle API permet, au sein d’une application, de transformer un fichier audio en texte.

C’est ce qui est utilisé dans la nouvelle application téléphone pour transformer les messages audio du répondeur en messages texte.

Amélioration de la recherche dans les apps

Dans iOS 9, le contenu des apps pouvait être référencé.

Avec iOS 10, on va plus loin. Tout en conservant le respect de la vie privée.

Amélioration des widgets

iOS 9 a permis de créer ses propres widgets. iOS 10 améliore les choses, en profitant des améliorations du système d’exploitation en lui-même.

Intégration Apple Pay améliorée

Apple Pay arrive en France en juillet ! (plafond à 300 €, et non 20 € comme les autres paiements sans contact)

De nouveaux modes de paiement ont été intégrés. On peut également maintenant payer directement depuis watchOS ou depuis un site web.

CallKit

iOS 10 propose une interaction améliorée aussi bien pour les apps de VoIP que pour l’intégration générale avec le système.

Par exemple, des extensions permettant le blocage des appels ou l’identification des appelants. Ce qui ouvre des possibilités intéressantes.

Actualités

L’application Actualités a été améliorée. De nouvelles options sont présentées ici : https://newsresources.apple.com.

Les comptes pour abonnés à la TV

La gestion des abonnées aux chaînes de TV peut être gérée directement dans les apps.

Utile, surtout sur AppleTV, pour proposer du contenu réservé aux abonnés.

Les extensions d’apps

Là, c’est du lourd.

On peut étendre le système avec encore plus de possibilités :

  • Accès aux appels
  • Suggestions dans Plans et Siri (+ interface personnalisée)
  • Messages
  • Contenu des notifications
  • Services liés aux notifications
  • Packs de stickers (pour Messages)
  • D’autres améliorations, notamment pour les claviers personnalisés.

Autres améliorations

Les photos RAW et les LivePhotos sont maintenant gérées dans les apps.

Core Data a été (un peu) amélioré.

Core Image a été amélioré, avec 9 nouveaux filtres et une gestion des couleurs étendue.

Core Motion permet d’accéder au podomètre.

GameKit et GameplayKit ont également connu quelques améliorations.

HealthKit commence à atteindre un certain niveau de maturité.

HomeKit permet d’accéder à de nouveaux appareils connectés et va un peu plus loin.

Metal propose un meilleur rendu avec de meilleures performances.

Il en va de même pour SceneKit, ReplayKit, UIKit, et les autres.

Les fonctionnalités dépréciées

Tout ce qui concerne iAd va doucement vers la sortie.

CloudKit a connu quelques changements dus au partage de documents. Le code est à ajuster.

Quelques éléments liés à Core Data et SpriteKit passent aussi à la trappe.

Au niveau des notifications, ça évolue aussi.

Au final, on s’en sort bien si on a respecté les recommandations présentées avec iOS 9 et précédents.

Conclusion

En intégrant ces nouvelles possibilités et intégrations avec l’OS, Apple donne un nouveau souffle aux apps.

A chacun de savoir saisir les opportunités offertes par ces nouvelles fonctionnalités.

Apple met l’intelligence artificielle à votre service

Ce soir, Apple a présenté les nouvelles versions de iOS, tvOS, watchOS et macOS.

Un grand pas a été franchi grâce à un nouveau système d’intelligence artificielle.

Hey, Siri!

Nous sommes nombreux à utiliser Siri au quotidien, pour des tâches assez simples (prendre un RDV, passer un appel, dicter un SMS, effectuer un rappel, etc)

Cette intelligence est « partagée » avec le monde entier.

Le côté pratique : l’enrichissement du vocabulaire, l’apprentissage du langage (accents, etc) est rapide.

Le côté « dommage » : on ne peut traiter que de sujets communs, Apple ne s’amusant pas à récupérer vos informations personnelles.

L’IA respectueuse de la vie privée

Une intelligence artificielle, c’est top. Ça fait des choses à votre place et ça ouvre le champ des possibles.

Mais, aujourd’hui, on a droit – au choix – soit à la confidentialité, soit à l’intelligence artificielle.

Apple a su intégrer, grâce à de véritables prouesses techniques, l’intelligence artificielle directement au coeur du smartphone : vie privée et innovation sont donc compatibles.

Les réseaux de neurones artificiels

Le réseau de neurones est une technique d’apprentissage qui s’inspire des neurones biologiques.

En gros, il s’agit d’un système multi-couches dans lequel les entrées des uns communiquent avec les sorties des autres.

Chaque couche est composée de neurones. Ce sont les neurones qui communiquent entre eux.

Le principe des synapse est bien évidemment totalement imité.

Ensuite, on retrouve les phases de mémorisation et de généralisation.

Voilà pour le fonctionnement dans les grandes lignes

L’approche choisie par Apple

Apple utilise l’approche des réseaux de neurones récurrents (RNN) et en particulier l’architecture de mémoire à court et long terme (LSTM) qui est associée aux techniques d’apprentissage profond (deep learning).

Cette approche a l’avantage d’exploiter les statistiques pour optimiser les performances.

Une API accessible aux développeurs

Les développeurs peuvent utiliser la nouvelle API d’Apple (BNNS) permettant d’exploiter les réseaux de neurones de manière assez basique au sein de leurs propres applications sur iOS, macOS et tvOS.

Il s’agit d’une API d’inférence : elle ne s’occupe pas de l’apprentissage initial mais se base sur des neurones déjà en place.

L’avantage de cette API est qu’elle est optimisée pour les CPU de chaque plateforme.

Cette API est clairement destinée à l’usage de l’apprentissage d’images. Ce qui a été mis en avant par Apple au travers de sa nouvelle app Photos.

SiriKit : Siri accessible aux développeurs

Là, c’est beaucoup plus simple à appréhender et lié à l’IA de bien plus loin.

SiriKit permet d’utiliser Siri pour interagir avec les applications externes.

Il est possible de demander à Siri :

  • d’effectuer un appel audio ou vidéo avec telle ou telle app (via Skype ou Hangout)
  • d’envoyer un message (via WhatsApp ou Slack)
  • de payer (via PayPal ou Coinbase)
  • de rechercher des photos (dans Instagram ou autre)
  • d’effectuer des entrainements (Yoga, Crossfit, Jogging ou autre)
  • de réserver des choses. (resto, ciné, taxi)

Ce qui est déjà pas mal !

L’application Plans utilisera également ce procédé. Avec une interface personnalisable.

Conclusion

Ceci est un aperçu de ce que proposent les nouveaux OS de chez Apple en matière d’intelligence artificielle.

L’exemple le plus flagrant est l’app Photos qui est capable de reconnaître des visages, des objets, des lieux… tout en conservant la confidentialité de vos données.

Suite au prochain épisode !

Concevoir une app pour iOS, watchOS, tvOS et OS X

Ces dernières années, Apple n’a eu de cesse de favoriser la mise en commun du code au coeur des applications.

Que ce soit le code de traitement des données (base de données, services web) ou le code permettant l’affichage de contenu : quasiment tout est transposable sur chacune des plateformes Apple.

Une base commune

Que ce soit OS X, iOS, tvOS ou watchOS, les plateformes majeures de chez Apple partagent le même socle technique. Toutes reposent sur BSD, un système Unix open-source.

Mais ce n’est pas tout : la très grandes majorités des bibliothèques qui gèrent l’affichage, les bases de données, le multi-tâches, et autres sont communes.

Seules quelques spécificités historiques font que la différence est plus importante entre iOS et OS X. Par exemple, OS X utilisera les « NSView » alors que le même type de composant iOS s’appellera « UIView ». Et pourtant, les mécaniques d’utilisation sont malgré tout assez proches.

Même les langages sont communs : Swift, Objective-C, C, C++.

Quelques spécificités

Les principales différences se trouvent au niveau de l’interactivité et de l’ergonomie :

  • sur ordinateur, on est face à une machine avec souris / pavé tactile + clavier physique
  • sur tablette, on interagit directement sur le contenu, sur un écran tactile tenu à deux mains
  • sur smartphone, on interagit souvent d’une seule main, de manière ponctuelle, sur un écran tactile – et avec plusieurs niveau de tapotement
  • sur la montre, on interagit un peu via écran tactile, mais surtout avec la molette latérale afin de voir le contenu- et avec plusieurs niveau de tapotement
  • sur TV, on interagit à distance via une télécommande tactile, on n’a pas forcément un angle de vue idéal, on est souvent plusieurs.

Ensuite, les autres spécificités dépendent des capacités de l’appareil.

L’exemple « Apple » : la suite bureautique

Que ce soit Pages, Numbers ou Keynote, les 3 produits phares de la suite bureautique Apple partagent en grande partie le même code source : de mémoire, c’est de l’ordre de 70 % de code en commun.

Pourtant, la suite est disponible sur iPhone, iPad et Mac !

L’EXEMPLE « Morin Innovation »

Pour une application réalisée dans un cadre associatif, j’ai pu tester ces différents aspects.

L’application conçue sur iPhone a l’origine s’est facilement adaptée à l’iPad : il suffit d’ajuster l’ergonomie.

De la même manière, les extensions « Aujourd’hui » et les notifications sur la Watch se font via un partage de code avec l’application principale.

Et, pour la version Apple TV (tvOS), je n’ai pas eu grand chose à adapter si ce n’est l’ergonomie. Mais la plupart des composants sont réutilisables.

La partie la plus technique et la plus complexe : à savoir la récupération des données sur les différents services web, le stockage des données en cache, le chargement des miniatures et même la lecture vidéo utilisent un code commun.

En quelques heures, on peut adapter une application simpliste tout en respectant parfaitement les guidelines de chaque OS.

Conclusion

L’expérience multi-plateformes Apple est un vrai succès. Le code est systématiquement stable et optimisé, ce qui garantie une bonne qualité sans compromis.

D’autant que l’app iOS et l’app tvOS partagent un même identifiant App Store, ce qui enrichit l’universalité de l’expérience.

Il manque juste une intégration plus poussée du système OS X : une nomenclature plus proche de iOS, un identifiant App Store unique et ce serait une plateforme de rêve.

Microsoft suit également cette même voie, avec son nouveau système Windows 10, qui profite des mêmes avantages.

Seul Google est à la traîne de ce côté-là, à des années-lumières de l’uniformité et de la cohérence entre les plateformes : mais peut-être aura-t-on une heureuse surprise dans les mois qui viennent ?

Apple, meilleur atout sur mobile

Morin Innovation a commencé le développement mobile fin 2008 sur Nokia puis sur iPhone 3GS. L’entreprise s’appelait alors Kaeli Soft. L’App Store ouvrait juste ses portes. Les délais de validation étaient de 2 mois.

Bref, Apple essuyait les plâtres.

Rapide historique

À cette époque, peu d’utilisateurs étaient équipés de smartphone. Investir dans un smartphone à 500 € semblait être une folie. L’ordinateur personnel faisait pareil et il avait un vrai clavier. Chacun utilisait son téléphone pour téléphoner et son ordinateur pour surfer.

En 2009-2010, j’ai rencontré mon premier vrai succès sur l’App Store pour un de mes clients : 1er sur l’App Store avec plusieurs milliers de téléchargements par jour. À l’époque, c’était énorme.

Au-delà du nom du client, ce qui faisait le succès d’une app était le respect des guidelines Apple. Car la société américaine, qui était encore vouée à l’échec pour les sceptiques les plus téméraires, faisait un travail essentiel pour les développeurs et designers.

En effet, c’était la première fois qu’une société expliquait comment concevoir une application pour qu’elle s’intègre parfaitement dans le matériel, le design du matériel, le design du système et au sein du système. Toute cette mise en musique était orchestré aussi bien au niveau design qu’au niveau technique. L’expérience utilisateur était centrale. Une richesse toujours inégalée aujourd’hui et toujours aussi fascinante.

La suite de l’aventure

Nouvel échec programmé d’Apple : l’iPad. Quelques millions sont tout de même partis.

Le pari était encore plus audacieux qu’avec l’iPhone. En termes d’ergonomie et d’usage, les codes étaient vraiment cassés. La technologie pouvait enfin servir correctement l’homme.

Car c’est bien là-dessus qu’est basé toute la conception de chez Apple. Une technologie doit être vraiment mature avant d’être sur le marché.

L’arrivée des concurrents

Android

Le premier Android est sorti avec un concept génial : une copie de l’interface d’Apple, gérée avec un clavier comme sur Nokia. Un mélange des genres surprenant. Reposant sur la technologie Java du Blackberry et un système Linux probablement pour la facilité d’adaptation.

Google a donc ensuite racheté le smartphone « Frankenstein » pour en faire une copie plus conforme, avec une interface tactile.

En proposant des smartphones à prix cassé en contre-partie de quelques infos personnelles prises ici et là (rien n’est gratuit) et en utilisant une image de rebelle (notre système est ouvert, etc), Google a réussi à s’octroyer la moitié des parts de marché, puis a dépassé Apple sur les ventes. La force du low-cost.

Windows

Après quelques versions assez peu stables du système et après avoir racheté la section mobile de Nokia, Microsoft a réussi à mettre au point un smartphone assez correct avec son Windows Phone 8.

L’ergonomie est unique, basée sur un système de tuiles. Tout en restant assez cohérent au niveau de l’éco-système.

Avec finalement assez peu de parts de marché, Microsoft réussit à rester dans la course tout en restant respectueux des utilisateurs, aussi bien en termes d’expérience utilisateur que de confidentialité, ce qui est tout à son honneur.

Le monde mobile aujourd’hui

Les technologies deviennent convergentes :

  • le web est uniformisé et adapté aux terminaux mobiles
  • les interfaces des applications sont de plus en plus adaptées
  • les applications peuvent maintenant passer du smartphone à l’ordinateur ou la tablette instantanément
  • les réseaux terrestres et mobiles sont de plus en plus performants (Fibre, 4G)
  • les appareils sont très performants
  • les appareils connectés (montres, etc) sont de plus en plus répandus grâce aux évolutions technologiques
  • les assistants virtuels sont disponibles sur les 3 plateformes majeurs (Siri, Now et Cortana)
  • la mobilité fait partie du quotidien.

Google

L’univers Google s’est enrichi en gardant une diversité pesante, chaque constructeur faisant lui-même sa petite cuisine.

On trouve donc des smartphones Android un peu partout, des montres connectées, des TV intégrant Android, des Chromecast, des tablettes Android. Des Android partout, en pagaille.

Un système toujours aussi décousu, qui cherche une certaine uniformité dans son design malgré tout grâce à quelques recommandations faites aux développeurs et designers. Mais, objectivement, c’est un peu compliqué vu la diversité des terminaux.

Des terminaux vendus une centaine d’euros, déjà dépassés à leur sortie et ne pouvant que rarement évoluer. C’est une tromperie pour l’utilisateur qui doit remettre la main à la poche pour rester « presque » dans la course. A moins de vraiment acheter du haut de gamme.

Google excelle sur le web et les innovations « geeks ». Pour le reste, ils ne sont clairement pas à leur place.

Apple

Bien qu’en deuxième position sur le volume, la société californienne reste la plus grosse entreprise du monde.

Les applications sont globalement de bonne qualité et vieillissent bien. Les appareils ne subissent pas l’obsolescence programmée : l’iPhone 4S sorti en 2011 vient de recevoir il y a quelques jours une mise à jour lui permettant d’être non seulement utilisable avec les dernières applications mais également de gagner en performances. On appelle ça un bon investissement.

Les utilisateurs sont majoritairement fidèles à la marque. D’ailleurs, une bonne partie de ceux qui étaient partis sur Android reviennent chez Apple. C’est significatif.

L’iPad continue de ravir ceux qui veulent un écran confortable sans avoir à prendre un appareil utilisé généralement pour le travail.

Le Mac vieillit bien aussi et continue d’évoluer.

La Watch arrive sur un nouveau marché. Elle se positionne en leader absolu, avec plusieurs millions de ventes. Ce qui est plutôt bon pour un produit encore très récent, que les utilisateurs ont encore du mal à s’approprier. Et pourtant, tellement utile au quotidien, quand on ne veut pas sortir son smartphone devant l’assemblée (discrétion oblige), quand on veut exécuter une action facile et rapide (répondre à un SMS, noter un RDV via Siri, répondre sur Skype, confirmer un rappel etc) ou bien si on veut un suivi sport / santé de qualité avec des capteurs plutôt fiables.

L’autre technologie qui renait de ses cendres est l’Apple TV. Ce produit a toujours été un hobby chez Apple. Sauf depuis la dernière version, qui intègre un App Store.

Tous ces appareils fonctionnent de concert : les SMS sont reçus et émis sur l’iPhone, la Watch ou le Mac ; une vidéo – Youtube ou autre – peut être lue sur Mac, iPhone ou Apple TV en toute continuité ; un appel peut être reçu sur le Mac et continuer ensuite sur iPhone sans couper la communication ; on peut répondre à un appel sur iPad ; les documents passent en bluetooth d’un appareil à l’autre sans soucis.

L’écosystème est complet tout en ayant une expérience et une ergonomie cohérente. Un utilisateur d’iPhone n’aura pas à apprendre à utiliser un iPad ou une Watch. C’est naturel.

Microsoft

Le concurrent historique d’Apple a fait un gros travail avec Windows 10. Cette technologie se retrouve sur PC, mais aussi sur XBox One, sur smartphone, sur tablette, sur Raspberry Pi 2, etc. L’expérience utilisateur a été enrichie et est cohérente.

Microsoft conçoit maintenant son propre matériel. On connaissait la tablette Surface, le bracelet Band et la console XBox. On a maintenant le SurfaceBook (concurrent du Macbook) et – a priori – prochainement un « SurfacePhone ». Sans oublier la technologie hologrammes (réalité augmentée diront certains) avec Hololens, fonctionnant également avec Windows 10.

Microsoft pourrait donc surprendre fin 2016 – début 2017.

Et pour les applications ?

Une récente étude a montré qu’il y avait deux fois plus de téléchargements sur Google Play (Android, Google) que sur l’App Store (iOS, Apple). Cette même étude a également montré que les revenus sur App Store était quasiment deux fois supérieurs à ceux de Google Play.

La conclusion est que les utilisateurs Android ne considèrent pas les applications comme un véritable outil, nécessitant d’être acheté comme tout produit. Ce qui peut se comprendre : quand on choisit le low-cost, acheter une application 1 ou 2 € peut être un budget. Et on sait bien que graphiste ou développeur, ce ne sont pas des vrais métiers : pas besoin de rémunérer ces gens. C’est aussi pour ça que les applications gratuites contiennent des pubs : c’est un financement sur la vie privée des utilisateurs. Mais, malgré tout, a priori ça ne suffit pas. D’où la qualité souvent inférieure.

Côté conception, une application de qualité équivalente à une application iOS sur Android coûte généralement au moins deux fois plus cher du fait de la diversité des appareils et l’aspect un peu « bricolé » des outils de développement. Sans garantir une expérience optimale.

Si cette application est réalisée par une agence, soit elle vous facture deux fois plus, soit elle se serre la ceinture, soit elle fait quelque-chose de moindre qualité.

Exception faite pour les jeux vidéos : les technologies comme Unity permettent d’utiliser un même code pour plusieurs plateformes. Etant donné que l’intégration au système n’est pas la priorité pour un jeu vidéo, c’est plutôt légitime.

A contrario, iOS continue tranquillement sa progression. Les optimisations techniques permettent de garder les appareils de plus en plus longtemps dans la course. Surtout depuis qu’Apple conçoit ses propres puces. L’ergonomie s’affine de plus en plus. La convergence des technologies est au rendez-vous. La Watch se démocratise petit à petit du fait des bons retours : il lui manque juste les applications la rendant indispensable. Il n’y a cependant aucun empressement côté Apple : la technologie doit avant tout être maîtrisée et comprise par les concepteurs, à l’instar de ce que l’iPhone a vécu avant sa démocratisation. Une petite mise en garde sur les technologies web : Apple est encore dans la course, mais des améliorations de son navigateur seraient un plus.

Côté Microsoft, le succès de Windows 10 sur PC est au RDV. C’est un excellent produit. Les outils de conception sont cohérents, à l’instar de ce que propose Apple. L’expérience utilisateur n’est pas aussi centrale, mais elle est prise en considération. Windows 10 se met doucement en place. Office 365 rafle la mise un peu partout avec un excellent produit.

Quoi de neuf pour le futur ?

Ceci est une prédiction hasardeuse, à prendre avec des pincettes.

Google va continuer de vendre ses appareils low-cost sans pour autant réussir à uniformiser l’expérience : c’est mécanique. Son côté société « geek » va se renforcer, au détriment du commun des mortels. Mais au bénéfice des technophiles.

Apple va continuer d’évoluer sereinement. Ses systèmes (iOS, watchOS, tvOS, OS X) sont plutôt stables et performants. On pourrait bien voir un enrichissement de l’expérience utilisant les technologies actuelles les plus récentes, notamment 3D Touch.

Microsoft peut se démarquer auprès d’un public professionnel exigeant, notamment grâce à son offre Office 365 qui mets en musique toutes les plateformes, y compris les plateformes concurrentes (Mac, iOS, Android).

On va encore bien s’amuser en 2016 !