le lab

AppSales

A great app for all iPhone developers / editors. Don't use it too often though, it gets updated only once a day.

http://code.google.com/p/appsales-mobile/

Mes trois entraînements préférés en 2008

Merci Bertrand pour cette chaîne... Cela fait très plaisir en effet de se remémorer les moments qui ont fait le plus plaisir en entraînement ou en course. Je n'ai pas encore fait de course, mon état physique ne me le permet pas encore, mais j'en caresse l'espoir pour l'année prochaine : semi marathon de Paris, Paris Versailles sont mes deux objectifs.

Mais assez pensé à demain, souvenons nous d'hier et du chemin accompli.

Date indéterminée en mai/juin : cela faisait un certain temps que j'avais complètement arrêté de courir. Une hernie discale très douloureuse et longue à calmer en 2007 a mis un frein à toutes mes velléités sportives, mais l'excès pondéral commençait à être vraiment trop important (j'étais trop gros), alors j'ai tenté de m'y remettre. La première course a été pénible : 4 arrêts marche, essoufflé rapidement etc. Deux semaines plus tard, la vraie première course plaisir de l'année est arrivée. Dans la vallée de Chevreuse, à côté de mon ancienne maison, j'ai parcouru le trajet de Villebon à Gif et le tour des étangs dans les frondaisons, à l'ombre. Il faisait bon, et j'ai vraiment pris beaucoup de plaisir à courir. Et là j'en ai vraiment eu envie. Quelques jours plus tard (le 12 juillet) Danielito m'entraine dans la course des entrepreneurs 1.0.

3 août 2008 : je suis en pleine course des entreprenautes, mais aussi en vacances, donc j'ai bien le temps de courir. Les onditions sont parfois un peu dures : le mois d'août en Drôme, c'est un peu chaud... Mais ce jour là il fait juste frais : 25-26, un petit voile nuageux bien agréable et je ne m'arrête pas. Je suis parti dans une nouvelle direction (j'ai choisi un chemin différent presque tous les jours), et là je suis vraiment vraiment loin de Grignan. Mais tout va bien, je me sens inépuisable. Résultat final : 12 km en 1h20, et un grand souvenir de plaisir.

11 octobre 2008 : Mon profil a bien changé en quelques mois : plus d'essouflements, des courses plus longues, plus toniques, et j'ai presque des ailes... Aujourd'hui ma femme m'accompagne, mais à vélo. Elle fait un peu le lièvre. J'en suis à 45 minutes de course, et mon rythme moyen est toujours de 6min/km, un peu moins. Et si je tentais une performance personnelle? Allez, on y va, on continue... Tiens une route à traverser, ils ne vont pas me ralentir, et je les force à s'arrêter. Allez encore quelques centaines de mètres. Oui! J'ai réussi à faire 10 km en une heure.

Il y a encore du chemin à faire : j'avais fait les 20km de Tours en 1h40 à l'armée. Mais je faisais facilement 10 kilos de moins à l'époque, moins de problèmes de dos (refait une lombalgie depuis novembre), et un corps plus résistant. Mais les objectifs sont posés le plaisir est là et bien là. Faut juste que je sois un peu moins pressé. Alors je suis revenu à une course par semaine, et moins d'une heure. La jambe tire et grogne, mais le plaisir revient. J'ai arrêté la clope il y a 4 ans ou 5 je sais plus, je vais la remplacer par des drogues plus naturelles, type endorphine.

A vous Cognac-Jay!

How the AppStore Review process is improving

Disclaimer : I don't know anyone working for Apple, so I don't know how things are really going. I am only reporting observation from my standpoint, as an iPhone developer.

I already have on app on the appstore, TrackMe, a GPS recording application for your tracks. I made another one, in the same field, but with more time spent on getting things to work nicely together, and being easier to understand for the user. This one is still in review, and I don't know yet if it will get published before the end of the year.

The review process for the first one was obscure, long, but went well : after a little over two weeks, I received the magic email : " Your application is ready to publish". Since that day, I have improved the quality of the application, added much needed features. All in all, the application is fine for me as it is. I certainly need to squash some more bugs, and be a little bit more conservative on several issues. I also need to be able to add a Douglas-Peucker algorithm for tracks that are more than 100 points long. Each time, the review has been an easy process : submit the update, wait one week and see the update pop up on the AppStore.

Then there is the new one. Apparently, I have been in relation with a very thorough reviewer, all for the best.

First, the review is getting faster every time : I got my first rejection after 6 days. Yes, six days! That's short. And I'm talking calendar days, so it must've been 4 instead if you don't count the week end. Then I got my second rejection in just 4 days! You guessed it right : the process was done between monday and thursday. It might even be less than that.

Second, the quality of the review is very good. My first app wasn't rejected, so I cannot say there's really been a progress in this area. But the two rejections were for obvious reasons: my application was not idiot-proof. I mean, it's not like I did something unorthodox, I didn't use private headers or whatever. I didn't make a 'pull my finger' app. I didn't download mpeg ac3 video over edge network. It was just that I didn't check what would happen if the phone was without any network connection (in which case some features wouldn't work), and the second time, I forgot to add a full email validation.

I don't know what will happen next. I hope it won't be rejected again : I have tried to adopt the same idiot-proof state of mind when testing the app and added some more feedback in that state of mind , plus of course correcting the two issues that were mentioned. I really hope it won't get rejected for more reasons, because it would prove I am unable to reach the same state of mind. That's all there would be. Plus the frustration of the email title : Application Submission Feedback.

What I know is I am mentally figuring a to do / check list of must-have routines that is growing. I will put a first rough on Fidug's web site for everyone to add and see, and put hints at what can be done in code. All for the better.

Checking email in iPhone Code

I just spent a lot of time doing something that would have been ridiculously easy with Cocoa's NSPredicate : checking an email address to know if it is valid, before sending something to it. NSPredicate is not available on the iPhone.

I used instead RegexKitLite, which in turn uses libicucore, this time available on your iPhone, to check things. I just added the core class, and the RKLMatchEnumerator too, which adds a matchEnumeratorWithRegex to NSEnumerator. Et voilà!

@@

 NSEnumerator *matchEnumerator = NULL;
 NSString    *emailRegEx = @"A-Z0-9a-z._%+-+@A-Za-z0-9.-+\\.A-Za-z{2,4}";

 matchEnumerator = emailAddress matchEnumeratorWithRegex:emailRegEx;

 //Validate email address 
 if (matchEnumerator nextObject == NULL) {
   UIAlertView *alert = [UIAlertView alloc initWithTitle:@"" message:NSLocalizedString(@"EmailNotValid", @"No search") delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];
   alert show;	
   alert release;
   return;
 }

@@

Géotagger ses photos avec son iPhone

Dans un précédent billet de PhotoLetter, j'expliquais comment géotagger ses photos. Depuis, j'ai passé beaucoup trop de temps avec mon iPhone, et beaucoup moins avec mon appareil photo. Mais j'ai trouvé le moyen de réconcilier les deux activités. J'ai en effet développé deux applications pour l'iPhone permettant de l'utiliser comme accessoire pour ses photos.

La première application, trackMe, est un enregistreur de position GPS. Vous le lancez, bien en vue du ciel dégagé. Et il commence à enregistrer vos positions, comme le tracker dont je parlais dans le billet en question. Vous avez plein d'informations inutiles (vitesse, position, etc) qui se mettent à jour au fur et à mesure. Surtout, quand vous avez fini d'enregistrer, vous pouvez récupérer l'ensemble de ces enregistrements sous la forme d'un fichier GPX ou KML. Or le fichier GPX, c'est le fichier utilisé par la plupart des logiciels qui permettent de géotagger ses photos, comme HoudahGeo, GPSPhotoLinker ou GeoSetter.

Si vous faites une série de photos en vous déplaçant (par exemple pendant une séance de VR;-), c'est l'outil indispensable pour ajouter des informations de position rapidement.

Le second outil est plus orienté sur l'enregistrement de points en particulier. Par exemple, lors d'une photo faite de la Tour Eiffel, à Morgat, à Lestrem ou ailleurs. Vous pouvez ensuite récupérer juste cette position ou toutes les positions enregistrées, toujours sous la forme d'un fichier GPX ou KML. Il n'est pas encore publié sur l'AppStore, mais vous le trouverez ici.

Ces deux applications sont conçues dans un esprit très iPhone : simplification à l'extrême, des fonctionnalité en moins pour de l'usage en plus. Difficile de résister toutefois aux sirènes de l'ajout de fonctionnalités. Surtout quand on voit les autres applications concurrentes.

Alors, la prochaine fois que vous aurez besoin de géotagger vos photos, d'enregistrer votre position GPS ou de montrer un parcours à un copain, pensez à ces applications.

Nouveau site

Il faut savoir surfer sur la vague des succès : je viens d'ouvrir un nouveau site bestiPhoneApps.eu, un site très simple, mais de parti pris. Il recense les meilleures applications pour l'iPhone, vu de mon point de vue (donc forcément parfaitement subjectif).

Je suis resté honnête : je n'ai pas encore mis mes propres applications dedans car je ne considère pas qu'elles fassent partie de ce lot de 'meilleures applications'.

Si vous pensez par contre que vous méritez d'y être, utilisez la nouvelle fonctionnalité essentielle d'itunesconnect : les bons d'achat. Vous pouvez offrir jusqu'à 50 exemplaires de votre application. Envoyez moi un de ces bons si vous voulez que je la teste (prévenez moi avant, je vous dirai si elle est susceptible de m'intéresser ;-)