VT2016 Fabric

=Présentation=


 * Sujet : Twitter Fabric
 * Auteur : Adrien DELAPORTE
 * Enseignants : Didier DONSEZ, Georges-Pierre BONNEAU
 * Date : 14/10/2016



=Mots clés= Twitter, applications mobiles

=Résumé= Twitter Fabric est une plateforme modulaire composé de 3 kits qui répondent aux problèmes les plus courants et les plus répandus auxquels les developpeurs sont confrontés : la stabilité, la distribution, la monétisation et l'identification. Fabric combine les services de Crashlytics, MoPub, Twitter et beaucoup d'autres kits pour aider à construire des applications plus stables, de générer plus de revenues grâce à la plus grande régie publicitaire et permettre d'utiliser Twitter et son contenu en temps réel pour une plus grande distribution et une identification plus simple. Fabric a été créer de façon à faciliter son utilisation. L'installation ne prend que quelques minutes et la plupart des fonctionnalités ne nécessitent que quelques lignes de code, ainsi nous pouvons passer moins de temps à gérer les SDK et plus de temps à construire la meilleure expérience pour les utilisateurs.

=Abstract= The Fabric platform is made of three modular kits that address some of the most common and pervasive challenges that all app developers face: stability, distribution, revenue and identity. It combines the services of Crashlytics, MoPub, Twitter and others to help you build more stable apps, generate revenue through the world’s largest mobile ad exchange and enable you to tap into Twitter’s sign-in systems and rich streams of real-time content for greater distribution and simpler identity. And Fabric was built with ease of use in mind. Installation takes just minutes, and most features only require a few lines of code – so you spend less time managing SDKs and more time building the best experience for your users.

=Synthèse=

Qu'est-ce que Twitter Fabric ?
Twitter Fabric est une plateforme mobile modulaire qui facilite la création d'applications sur Android, iOS et Unity. Fabric est developpé par Twitter Inc. et a été présenté en 2014 à la conférence "Flight". Fabric a été créée pour répondre aux problèmes les plus courants auxquels sont confrontés les developpeurs d'applications :
 * les problèmes de stabilité
 * les problèmes de distribution
 * les problèmes de monétisation
 * les problèmes d'indentification

Les différents Kits
Voici les 14 kits qui composent twitter Fabric :
 * Crashlytics : une solution de rapport de crashs
 * Twitter kit : connexion via son compte Twitter, intégration des tweets
 * MoPub : Service de monétisation via la publicité
 * Digits : Service d'identification par numéro de téléphone
 * Answers : Service de visualisation du comportement des utilisateurs
 * Amazon Cognito Sync : Service de sauvegarde des données utilisateurs dans le cloud d'Amazon
 * Stripe : Service de paiement en ligne
 * Optimizely : Service de tests de fonctionnalités
 * Appsee : Permet de voir et comprendre comment les utilisateurs utilisent une application
 * Mapbox : Service de cartographie
 * PubNub : Service de communication en temps réel
 * GameAnalytics : Plateforme d'analyse du comportement des joueurs
 * Nuance : Service de technologie vocale
 * Branch : Deep links pour alimenter la croissance et la commercialisation

Crashlytics
"The most powerful, yet ligtest weight crash reporting solution !"

Crashlytics a été fondé en 2011 et racheté en 2013 par Twitter pour plus de $100 millions. Aujourd'hui, il est installé sur plus de 2 milliards d'appareils et est utilisé dans plus de 1 million d'applications. Crashlytics permet de comprendre pourquoi une application a connu une défaillance, combien de ses utilisateurs ont été touchés, a quel moment et comment y remédier. Il permet de voir la ligne de code exacte qui cause un problème et permet donc de passer moins de temps à chercher une erreur. Crashlytics permet de voir :
 * des crashs
 * des exceptions
 * des messages
 * la valeurs de certaines variables
 * des informations sur les utilisateurs

En 2016, Crashlytics se voit ajouté de "beta by Crashlytics" qui est une plateforme de suivi de l'évolution des testeurs. Crashlytics est aujourd'hui utilisé par de nombreuses entreprises. On peut citer notamment PayPal, Yelp, Dominos...

Twitter Kit
"Tweet Embeds. The easiest way to bring real-time conversational content to your apps !"

Le kit Twitter permet d'utiliser le réseau social pour augmenter sa croissance et d'être visible parmis les plus de 2 millions d'applications disponibles sur les stores. Il est composé de 3 choses :
 * la connexion via son compte Twitter
 * l'intégration native des tweets
 * la possibilité de composer des tweets directement dans son application

Ce kit s'intégre au desgin de l'application en seulement quelques lignes de code et permet également de récupérer les informations du profil Twitter de l'utilisateur.

MoPub
"Maximize your ad revenue !"

MoPub est un service d'intégration simple de publicités dans une application. Il n'a aucune limite au nombre d'annonceurs et permet d'afficher 4 types de publicités :
 * des bannières
 * des interstitiels
 * des vidéos
 * des publicités natives

Aujourd'hui, MoPub réalisent 264 milliards d'impressions par mois et est utilisé dans plus de 31000 applications.

Digits
"The future of identity !"

Digits est un service qui permet de se connecter à une application via son numéro de téléphone qui est aujourd'hui un des moyen les plus fiable et durable pour identifier une personne notamment dans les pays émergents. Digits évite la gestion des adresses emails et des mots de passe et évite également les connexions trop intrusives via Facebook, Google ou Twitter.

Digits est notamment utilisé par The NY Times et the Washington Post.

Intégration / Utilisation
Fabric s'intègre facilement dans les IDE tels que Android Studio, IntelliJ et XCode. Une fois Fabric intégré à l'IDE, chaque développeur peut installer les kits qu'il souhaite. Lorsque l'on choisit un kit, il suffit d'ajouter quelques lignes de code pour installer un kit. Pour Android, il suffit d'ajouter les dépendances dans le build.gradle, les API keys dans le manifest et d'initialiser le kit dans l'activity.

Pour simplifier l'utilisation de Fabric, Twitter a mis en place un site web et une application mobile qui permet de gérer l'ensemble de ses applications et d'être notifier par exemple dès qu'une application rencontre un problème. Fabric s'intègre également très bien avec de nombreux outils tels que GitHub, Bitbucket, Slack...

=Conclusion= Twitter Fabric est un plateforme composé de nombreux kits, chacun ayant des fonctionnalités différentes. Ainsi, chaque développeur choisit d'installer seulement le kit qui lui sera utile. Ces différents kits permettent de simplifier la création d'applications mais aussi le suivi d'une application.

Aujourd'hui, Fabric est utilisé par de nombreuses entreprises : Spotify, Ebay, SoundCloud...

=Bibliographie=
 * https://get.fabric.io/
 * https://blog.twitter.com/2014/introducing-fabric
 * https://docs.fabric.io/android/fabric/overview.html
 * https://github.com/twitterdev/cannonball-android