nov 26

Why statistics matter

To know how often the pages of your app are viewed or which feature is used the most is hugely important. It lets you know how to improve your app, and more importantly what to improve in priority.

Roman Nurik, Android Developer Advocate at Google pointed out this need in this post about « Improving App Quality ».

As he says, statistics can lead you to move some less used functionalities of your app into a sub-menu, or even remove them entirely.

Continue reading »

Tagged with:
nov 09

The dreaded word: « Fragmentation »

With today’s rapid adoption of the Android platform, more and more articles on the web have been dedicated to the supposed « fragmentation » of the OS. Dan Morrill wrote a great post on this topic (even if he prefers talking about compatibility, and I agree with him). You can argue on the terms, but even Dan Morrill admits that there are issues that developers must solve to reach as much users as possible on the Android market. Some of the biggest are:

  • The several bugs of Android 1.5 Cupcake. This is the biggest « compatibility » problem in my opinion, but I would advise you to drop this version as it represents less than 8% of the devices according to Google.
  • The diversity of screen sizes and densities
  • The bugs specific to custom Android interfaces (such as HTC Sense)

So what do we do?

The obvious answer is: testing, testing, testing.

Alright, testing is the solution. But if you are a developer, you will probably tell me that deploying on several Android devices is painful, and that you do not have time for that (because you are so busy developing the new killer app for the Android Market). Here at Backelite, we totally understand you. So here is an attempt to ease the deployment process on several Android devices (either real ones or AVDs).

Our solution: BkDroidTester

This solution is simple, yet quite powerful. It is basically an USB Hub (optional), and a few lines of shell script to automatically deploy an app on several devices (thanks to Cyril Siman for the original idea).

The hardware part (optional)

To connect several Android phones to one single computer, without having any alimentation trouble, the obvious solution is to use an AC-Powered USB Hub.

We went a little further with a complete test bench composed of a metal box, an USB Hub, and several universal cell phone holders. One of the benefits of this approach is to have a single USB cable (the one between the computer and the hub) to plug in and out (for example to quickly give the test bench to a colleague).

Here is a schema of the system:

And here is a picture of the final result (some people call it « the octopus »…):

BkDroidTester picture

The USB Hub is obviously inside the box, and the painted metal provide a great surface for the suction cups to hold onto. We decided to go with 3 mini and one micro USB for the plugs. You can use a converter if you need to use a mini USB plug with a device using micro.

The software part

We developed two small scripts that you can also use without the hardware part described above (just plug several devices to your computer and/or launch several AVD).

The scripts list all the android devices currently connected, and deploy the specified app on them all through ADB shell. More precisely, they make use of the following commands:

adb devices
adb -s <device_number> install -r <path_to_apk>
adb -s <device_number> shell am start -n <package_name>

Now let’s see how to use those scripts.

Step 1: Download the scripts
To use BkDroidTester, you first have to checkout the scripts available here. There is one to deploy an app, and one to deploy and launch a monkey test.

Step 2: Plug in the devices
You just have to connect one or more devices to your computer and/or launch AVDs (make sure all the devices are recognized using ADB).

Step 3: Configure your IDE
If you do not want to launch the BkDroidTester scripts through command line, you can integrate them directly in Eclipse or any IDE that allows you to configure external command line tools.

Here is the way to do it for Eclipse :

  1. Select ‘Run > External tools > External tools configuration » or clic on the arrow next to this icon and select « External tools configuration »
  2. Select « program » and press the « New » button to add a new external tool
  3. Then, configure like this:
    1. Name: <the name you want>           example: « MyApp – Deploy on all Androids »
    2. Location: <path to one of the scripts (deploy or monkey)>          example: « /Users/FabienDevos/work/BkLabs/BkDroidTester/deployOnAllAndroid.sh »
    3. Working directory: <path to the APK>           example: « ${workspace_loc}/MyApp/bin »
    4. Arguments: <APK name> <package name>/<first activity with package name> example: MyApp.apk com.me.myapp/com.me.myapp.MyActivity
  4. You can then launch the script by clicking on the arrow next to the icon  and choosing the script you just created (you can also configure Eclipse to launch the last used script by clicking the green icon)

The screenshot below sums it up:

The configuration is almost the same for the « monkey » script. It needs one additional parameter at the end: the number of events you want to send (eg: 5000). You also have to remove the name of the Activity: MyApp.apk com.me.myapp 5000

Pending improvements

So that’s pretty cool, but it could be a lot better. Here are a few features that we would like to add in the future:

  • Android Manifest file parsing to automatically determine some parameters like the package name (and thus avoid passing them as arguments of the scripts)
  • Automated cleaning of preferences or caches to have a clean fresh app each times you deploy

But as Android developers, we do like the culture of Open Source, which is why we are releasing those scripts as an Open Source Google Code project under the Apache license 2.0. Feel free to use or modify it, and if you do modify it, do not hesitate to share your improvement!

I do hope you enjoyed this article. If you have any feedback, you can either write a comment here, or submit bugs/requests on the Google Code project page.

Fabien Devos
Android engineer at Backelite

Tagged with:
avr 08

Apple organise une keynote (événement) le jeudi 8 avril sur l’OS 4. En tant qu’experts en développements iPhone et iPad, les équipes Backelite suivront en direct cette keynote et proposent dès le lendemain matin un décryptage/analyse/débat lors d’un petit déjeuner dans nos locaux ouvert à nos clients et aux journalistes.
Les équipes Backelite proposent au menu, en plus du café et des croissants :

  • Un retour sur les moments forts de la keynote.
  • Interventions de Thomas Sarlandie, Directeur Technique de Backelite et concepteur des applications iPhone LeMonde et iPad France24.
  • Making-off d’une application iPhone et d’une application iPad par nos équipes créatives et techniques.
  • Test en réel d’un iPad
  • Débat autour des évolutions des usages liées à l’iPad et à l’iPhone OS4

Cette analyse privée aura lieu dans nos locaux du 8ème arrondissement (7 Rue de Bucarest 75008 Paris) ce Vendredi 9 Avril de 9h30 à 11h00. Demandez votre place par mail à : sebastien . berten (at) backelite . com

Tagged with:
mar 31

Pour les développeurs qui ont déjà fait leurs armes sur l’iPhone, le passage à l’iPad serait, presque, une promenade de santé. Car si la tablette emprunte beaucoup au smartphone pour le logiciel, interface et ergonomie en revanche doivent être complètement repensées pour profiter de son plus grand écran, voire tirer profit de ses performances. Thomas Sarlandie connaît bien iPhone OS pour avoir rédigé un livre sur sa programmation.

Mais ce sont surtout les applications produites par Backelite, une société parisienne dont il est le directeur technique, qui sont connues des utilisateurs d’iPhone. Le portefeuille de clients de Backelite a des airs de Who’s Who de l’App Store français : Le Monde, Allociné, SNCF Direct, Voyages SNCF, Le Point, 20 Minutes, Marmiton, Logic-Immo… Thomas Sarlandie explique les opportunités qu’offre la tablette d’Apple et le défi que pose pour quelques jours encore le développement d’applications iPad lorsqu’on n’a pas l’appareil entre les mains pour tester et valider de toutes nouvelles idées… Continue reading »

Tagged with:
mar 19

Le marché du mobile 2.0 – qui recouvre les applications interactives, basées en ligne et accessibles depuis un téléphone portable – va poursuivre son expansion dans les années à venir, prévoit Juniper Research. Le cabinet d’études évalue aujourd’hui ce marché à environ 5 milliards de dollars, et annonce une croissance soutenue d’ici quatre ans. Pour atteindre en 2014 une valeur globale de près de 19 milliards de dollars. L’une des raisons de ce succès étant évidemment l’engouement pour le web social, qui comprend les réseaux sociaux, le contenu généré par l’utilisateur et les applications grand public et professionnelles. Cet engouement se prolonge sur le mobile grâce notamment à la corrélation de plus en plus récurrente entre les sites traditionnels et ceux dédiés au mobile.

Web social et géolocalisation

Les chercheurs insistent en effet sur la grande variété d’outils de social computing : des « moblogs » (ou blogs mobiles) – qui permettent d’éditer du contenu sur Internet depuis son téléphone portable – aux applications de co-travail fondées sur le crowdsourcing. La géolocalisation s’annonce aussi comme un moteur important de cette croissance, en étant au cœur de nombre d’applications mobiles interactives. Autant de tendances qui représentent d’importantes promesses de monétisation pour les marketeurs et les fournisseurs de services. Et ce, plus particulièrement en ce qui concerne la publicité contextuelle et localisée, les services premiums et les biens virtuels.

Les acteurs du marché doivent analyser les tendances pour demeurer compétitifs

Selon Juniper, cette monétisation est complètement différente de celle appliquée au web social sur PC. Notamment parce que les utilisateurs se montrent plus enclins à débourser pour accéder à des services que sur le web traditionnel. A noter : dans une autre étude, Juniper Research prédisait déjà que les applications mobiles hébergées dans les nuages avaient un bel avenir devant elles. Et allaient permettre aux entreprises de profiter en permanence de solutions de collaboration et d’accéder à leurs données sans se soucier des questions d’hébergement ou de stockage.

Sources Jupiter & l’atelier BNP Paribas

déc 29

La SNCF mets en place depuis quelques années déjà une véritable stratégie mobile, autant en canal de vente (voyages-sncf) qu’en canal d’informations voyageurs (SNCF Direct).
Cette stratégie se dessine à travers des applications pour les mobiles les plus évolués mais également des sites mobiles aux fonctionnalités et au design très riches permettant d’adresser tous les mobiles du marché.

Nous vous présentons ici un focus sur les applications iPhones Voyages-SNCF.com et SNCF Direct. Bon voyage…

1. Voyages-SNCF.com

iphone sncf

Proposer une expérience de vente de billets de train complète (réservation, achat, après vente), avec un parcours client simple, fluide, s’appuyant sur les codes ergonomiques et les fonctionnalités de l’iPhone.

Grâce à l’application iPhone Voyages-sncf.com, très rapide et facile à utiliser pour toutes les recherches d’horaires et les réservations de billets de train, vous accédez à un service complet, dédié à la préparation de votre voyage depuis les principales gares en France et en Europe.

Vous pouvez :

  • consulter les horaires de train
  • acheter votre billet pour un départ immédiat
  • préparer votre prochaine escapade en utilisant des cartes de réduction
  • organiser vos vacances en groupe en ajoutant jusqu’à 6 passagers
  • poser une option que vous confirmerez directement sur votre mobile, sur le site www.voyages-sncf.com ou en gare
  • annuler un billet acheté sur Internet ou sur mobile

Les transactions se font en toute sérénité grâce au paiement en ligne sécurisé.
L’application Voyages-sncf.com simplifie vos recherches et votre parcours de réservation :

  • grâce à la géolocalisation, vous trouvez instantanément votre gare de départ
  • vous créez votre compte personnel avec vos coordonnées et votre profil voyageur
  • vous récupérez les informations de votre compte web et les commandes passées sur le site www.voyages-sncf.com
  • vous relancez et modifiez vos recherches récentes, mémorisées dans l’application Et de nouvelles fonctionnalités à venir…

2. SNCF Direct

Présenter l’essentiel des informations pour un voyageur et permettre de rester dans l’application pour visionner la carte Google Maps des environs de la gare.

Cette application permet :

  • d’afficher les prochains trains au départ et à l’arrivée de votre gare, avec leur voie et leur éventuel retard
  • de trouver la gare la plus proche de vous par géolocalisation, ou parmi les 600 gares couvertes partout en France
  • de vous inscrire à des notifications pour être alerté sur votre train, son heure et sa voie de départ ou d’arrivée, affiche les retards
  • de consulter la liste des services et commerces disponibles dans votre gare, pour mieux vous organiser avant et après votre voyage (parking, bus, métro, taxi, salons d’attente, toilettes, presse, restaurant)
  • d’afficher le plan des environs d’une gare et l’itinéraire pour vous y rendre depuis l’endroit où vous êtes !

L’application SNCF Direct complète le site mobile et iPhone de la SNCF développé par Backelite.

Tagged with:
preload preload preload