sept 29

Object-oriented programming projects almost always start by the design of the business objects model. iPhone and iPad projects aren’t exempt from this rule, but wouldn’t it be nice to significantly speed up the creation of your business objects classes, the parsing code and to lessen the burden of keeping up with simple changes? Enter BkJsonSchema, a complete suite of code generation tools based on JSON Schema (which in turn relies on the industry standard JSON data exchange format).

BkJsonSchema is a Google Code project containing two (2) tools that can generate parsing code for JSON object files (for now it generates Objective C code, but in the future it will generate Java parsing code based on Jackson). Both tools are based around simple extensions to the JSON Schema standard to better describe data types useful in complex parsing code. For instance, we added the mappedType key to specify the mapped class in the destination language.

  • The BkCoreData2JsonSchema Xcode project builds a command line tool that can generate a JSON schema file describing the entities (attributes and relationships) contained in a Core Data managed object model (.xcdatamodel files).
  • jsonschema2objc is Ruby script that can generate Objective C header and implementation files (.h/.m) containing efficient parsing code taking as input an NSDictionary. The NSDictionary is most often created by converting the raw JSON object file using JSON framework parser.
  • A TextMate bundle called BkJsonSchema which adds a handful of keyboard shortcuts that can really speed up the process of editing the JSON mapping schemas.

These tools can be used to generate code compatible with Core Data, as well as code that does not rely on Core Data in any way (simple business objects that are NSObject subclasses). The generated NSObject subclasses are NSCoding and NSCopying compliant as well.

It is not uncommon to mix both modes provided by these tools (Core Data and non-Core Data parsers) in the same application. It is recommended to generate the output in specific directories (one for persistent entities, one for transient objects). To achieve this, you start by designing your Core Data managed object model using the Xcode graphical editor. Make sure to specify the output class name for each entity (by adding a project prefix). You can optionally specify alternate mappings for each attribute. That is especially useful if, for instance, the JSON file provided as input to the parser contains a myFirstName key and you’d like the generated business object to contain a property named firstName instead. The mapping can be specified by adding a remote key to the userInfo of each attribute (in the example you would add an attribute called firstName and add a userInfo key called remote with the value myFirstName). Once you’re done tweaking your Core Data model, run the coredata2jsonschema tool with the –coredata command line option.

Although, coredata2jsonschema spits out the JSON schema on STDOUT, so you can conveniently pipe it into the jsonschema2objc script, it is recommended that you write the output as a separate file. From there, you can generate the parsing code to a specific directory (note that jsonschema2objc will create an original-output directory that is necessary for three-way merging of revisions of your schema).

In the case you want to generate NSObject subclasses, we recommend you install the TextMate bundle and define your schema manually. Run the jsonschema2objc against this other JSON schema file. Again, we recommend redirecting the output to a specific directory you can manage NSObject subclasses separately from the NSManagedObject subclasses (for instance ./transient-model/ and ./persistent-model/).

The project is available under the GNU Public License v3 on Google Code.
http://code.google.com/p/bkjsonschema

Enjoy !

François Proulx

Tagged with:
juin 24

Have you ever wanted to demo your apps on the big screen, just like Steve Jobs does in his famous keynote speeches? Up until recently, this wasn’t possible to do without jailbreaking your iPhone. Starting in iPhone OS 3.2 and iOS 4.0+, a new set of public APIs exposes the dock connector’s ability to interface with big screen TVs and PC monitors. You can either use the composite / component AV cable or the new VGA dongle accessories to connect to an external display.

Continue reading »

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 25

Moins de deux semaines après son annonce fortement médiatisée, se dégage l’impression que finalement tout est déjà dit sur l’iPad. Avec 3 axes très classiques : les « ultra pour », « les contres », et les « attentistes » qui comme d’habitude décideront plus tard. Chacun ayant de bons arguments, souvent tous très justes, il est possible de débattre longtemps sur l’absence de l’appareil photo, ou sur la possibilité de téléphoner ou pas… d’autant qu’il paraît évident que ces fonctions dites « manquantes » seront toutes ajoutées au fil des versions.

N’est il donc pas finalement beaucoup plus intéressant de s’interroger sur la place que va prendre ce nouvel objet dans nos vies, dans nos foyers ? Car au-delà de l’iPad, c’est de l’avènement des objets communiquants dont il s’agit et de leurs places à nos cotés. Car en effet un iPad est un objet communiquant, c’est à dire un objet qui ne sert pas nécessairement à téléphoner, qui est connecté aux réseaux sans fils, 3G ou Wifi et qui permet de communiquer dans le cadre de relations interpersonnelles, dans le cadre de réseaux sociaux ou encore de consulter de l’information et consommer des services via des applications ou le navigateur embarqué.

Il est alors intéressant de se demander « Comment » sera utilisé cet objet ? Sur la base de quelle stratégie « multi-canal » des annonceurs ? Et surtout à quel besoin, existant ou à créer, répondra-t-il pour les consommateurs ? Car en effet à ce jour bien malin celui qui peut répondre à ces questions avec certitude. Alors à défaut de certitude, retournons nous vers nos convictions et analysons la situation :

Il parait aujourd’hui clair et évident qu’un ordinateur (même portable) isole et qu’il n’est pas l’outil adapté pour une consultation d’informations et de services dans le salon en famille, dans les transports … L’ordinateur portable ne sert finalement qu’à transporter son bureau et ses moyens de communications. A l’autre bout de la chaine, le téléphone portable (à travers le Smartphone) a « corrigé le tir » à l’extrême, avec un confort de lecture et de saisie malmené par les limitations de tailles imposées par l’objet et par son réceptacle : la poche.
Pourtant l’ordinateur portable et le téléphone portable ont en commun la confidentialité des informations, le respect de la vie privée, un rapport personnel avec son propriétaire. Le rapport de possession est fort. Ordinateur ou téléphone portable : c’est le mien, je ne le prête pas !

Pourtant la tablette iPad se prête, elle, à un usage familial dans le salon et c’est cela qui est nouveau en terme d’usage et de comportement. Mais dans ce cas, qui configurera son mail derrière le bouton mail ? Qui déclarera son compte facebook ? Qui choisira les préférences et les favoris, le subset d’applications installées ? Car ce qu’il manque sur l’iPad, comme sur la majorité des objets communiquants, c’est tout simplement la gestion des utilisateurs. Une gestion simple et efficace qui se transposerait de mon ordinateur à ma voiture en passant par mon téléphone et mon iPad. Comment parler sinon de continuité d’usage et de convergence si le passage d’un objet à l’autre correspond à un passage du privé, de l’intime au public.

Il faut également se pencher sur les nouvelles opportunités liées aux nombreux pixels ajoutés. L’écran de l’iPhone imposait encore de faire des choix et de rester sur des applications très verticales. Une application ne devait, faute de place, faire qu’une seule chose mais la faire bien, et cela de manière pratique, optimisée pour la mobilité. Or la Tablette sera manifestement plus utilisée de manière sédentaire, avec plus de confort autour de soi et de temps pour l’utiliser. Nous allons donc voir arriver des applications qui vont s’horizontaliser et fédérer des contenus différents en affichant par exemple sur un même écran la météo, les mails non lus, le fil de news de mon quotidien préféré mais pourquoi pas également mon mur facebook et la courbe de mon PEA. Le retour des portails sous forme d’applications ? Et pourquoi pas !

Quoi qu’il en soit nous sommes avec l’iPad, dans le challenge (l’avènement ?) du multi-écran. Celui-ci imposant d’être reconnu et connu par l’ensemble des systèmes informatiques que j’utilise mais aussi et surtout que ceux-ci s’adaptent en fonction de mes préférences globales (communes) et particulières (spécifiques). La synchronisation des données et des préférences se fait en temps réel. Apple avec Mobile-Me l’a bien compris : une brique encore silencieuse mais finalement pilier essentiel d’un dispositif multi-écran : la synchronisation.

L’objet est là, les attentes sont fortes, les usages à créer, les services à développer. Apple a fait la première partie du challenge, aux Agences de faire le reste, en mettant les bons services dans l’écrin. A l’heure où j’écris ces lignes, c’est l’ébullition, les séances de « brainstorming » se succèdent chez Backelite alors qu’en parallèle le téléphone sonne relayant les appels des annonceurs soucieux de ne pas rater le lancement et une si belle occasion de mettre leurs marques en avant, même si il est certain que l’iPad représente un coût supplémentaire dans leur stratégie digitale. Un développement, un service, une application iPad n’est pas un site mobile, ni un développement iPhone ou Android. Il faut REfaire, REpenser, REdévelopper, REpayer … et pourtant cela en vaut la peine. L’iPad est le moyen de comprendre ce que fait le consommateur dans son salon, dernier endroit où il n’a pu être ciblé mieux que par une télévision « broadcast » ne permettant aucun retour, aucune interactivité et aucune continuité de service avec les autres canaux, mais il est aussi et surtout le moyen de savoir ce que fait toute la famille dans son ensemble.

Combien de téléspectateurs « buzzeront » demain de chez eux sur leur tablette pendant l’émission « Question pour un champion » en confrontation directe avec les joueurs sur le plateau. Combien d’ados feront via facebook des commentaires et partages d’émotions en direct sur le film en cours. Combien de séniors pourront enfin participer en temps réel au jeu des chiffres et des lettres depuis leur fauteuil. Les informations contextuelles récoltées sont potentiellement énormes, à la croisée des chemins entre l’usage, la localisation, l’écran, l’individu et sa famille.

La page est finalement presque Blanche, un véritable appel à créativité. Un espace de rupture où il est possible de réinventer, de sortir des codes des canaux traditionnels tels que le web et la télévision. Et en repartant du mobile s’émerveiller à nouveau devant l’étendue de l’océan bleu qui se présente devant les agences mobiles, les annonceurs et au final les consommateurs.

Sébastien Berten – Président Backelite

Tagged with:
preload preload preload