Stratégie d'adaptation à  iOS 7

FKDEVFKDEV Membre
juin 2013 modifié dans API UIKit #1

Sans vouloir enfreindre le NDA.


 


J'imagine que beaucoup d'entre vous ont déjà  téléchargé Xcode 5 et testé leur app sous Simulateur ou sur le Device.


 


Vous avez constaté que le travail à  fournir pour "passer" correctement sous iOS 7 est plus important que pour n'importe quelle version précédente.


 


 


J'ai une app que je trimballe d'OS en OS depuis la version 3 d'iOS, du coup pas de storyboard, pas de auto-layout, pas de parentController, etc.


 

 

Que faut-il faire ?

 

- Des ajustements mineures pour que "ça passe", mais je risque d'avoir des tests de versions d'iOS dans tous les sens dans le code (d'autant que l'app possède déjà  des ViewControllers communs à  iPad et iPhone avec des tests "if (isIPad)").

 

- En profiter pour reprendre l'app avec les dernières techno (auto-layout, storyboard, parent/child controller). Mais j'ai l'impression que cela ne me garantie pas une compatibilité iOS6 et iOS7 au niveau de l'UI. 


 


- Faire une nouvelle app (version 2), et pénaliser les clients actuels.


 


 


Dans le deuxième cas, comment continuer à  supporter iOS 6 et iOS 7 en parallèle pendant la phase de transition des utilisateurs ?


Il me faudrait pratiquement deux versions. L'ancienne pour iOS 6 et une nouvelle pour iOS 7 mais ce n'est pas possible... 


Pour moi cette release d'iOS 7 aurait dû s'accompagner d'une vraie gestion de version sur l'app store.


Par exemple la possibilité de créer une branche pour la version précédente de l'OS.


 


 


Parce que là  j'ai l'impression que j'ai un problème de fragmentation... :*


Mots clés:

Réponses

  • muqaddarmuqaddar Administrateur
    juin 2013 modifié #2

    Dis-donc, elle fait peur niveau travail cette version iOS 7 !!!


    Je ne l'ai pas encore téléchargée donc je ne sais pas te conseiller.


  • J'ai téléchargé iOS 7 pour me familiariser avec l'UI. Ai lu la doc dev. adéquate.


     


    Mais je n'ai pas fait tourner mon appli dessus : j'envisage de faire d'importants changements (même si j'utilise déjà  storyboard et auto layout) pour adopter la philosophie de cette version d'IOS.


     


    Avec iOS 7 il y a peut-être là  une opportunité de se démarquer face aux gros concurrents : ces derniers auront-ils le temps de revoir de fond en comble leurs applis ?


  • Je viens de tomber là  dessus : http://www.igen.fr/iphone/ios-7-nouvelle-interface-nouvelles-opportunites-106656


     


    Cela rejoint ce que je dis précédemment.


     


    @FKDEV : Peut-être qu'il est temps de prendre une décision radicale :-)


  • AlakAlak Membre

    J'en profiterai pour faire une V2.


  • Ca vaut vraiment le coup le Storyboard ? J'y ai jamais touché encore ...


    Bref sinon pour mes nouvelles apps je les fait direct iOS 7 et pas de compatibilité inférieure. Un user iOS met à  jour son téléphone super rapidement donc fuck off. 


     


    L'histoire de la V2 me semble pas mal mais bon on pert quand même une base utilisateur conséquente ... Tiens si ça peut t'aider à  être uniforme de iOS 6 à  iOS 7 : https://github.com/youknowone/UI7Kit


  • LeChatNoirLeChatNoir Membre, Modérateur

    Pourquoi vous parlez tous de storyboard ? Etes vous en train de dire qu'il est dorénavant obligatoire ?



  • Ca vaut vraiment le coup le Storyboard ? J'y ai jamais touché encore ...


     




     


    Moi je trouve que oui. Mais bon chacun a ses habitudes.


     


     


     




    Pourquoi vous parlez tous de storyboard ? Etes vous en train de dire qu'il est dorénavant obligatoire ?




     


    Non.

  • LeChatNoirLeChatNoir Membre, Modérateur

    ouf B)


  • AlakAlak Membre
    juin 2013 modifié #10


    Ca vaut vraiment le coup le Storyboard ? J'y ai jamais touché encore ...




     


    J'ai utilisé Storyboard sur mes 4 dernières app et vraiment, ça clarifie le code et accélère le développement.


    Et tu peux voir un clin d'oeil la navigation de ton app.


  • Et c'est perturbant au début ? Le temps d'adaptation est long ?


  • SmySmy Membre

    J'ai récemment adapté toutes mes apps aux écrans 4", mais je reste sans story board, ni auto-layout (juste les auto-resizing masks).


     


    Maintenant, je ne vois pas en quoi iOS 7 va à  ce point tout bouleverser. Mes tests ne donnent que quelques adaptations mineures...


     


    Après, si vous voulez profiter d'iOS 7 pour revoir complètement l'apparence et tout passer en "flat design", c'est autre chose.


  • muqaddarmuqaddar Administrateur

    Si notre app est super customisée (NavBars, polices), qu'est ce que ça change ?


    J'ai du mal à  voir, il me tarde de faire tourner mon app dessus.


     


    Je vais sortir une V2 dans 15 jours, elle est un peu "flat design" pour iOS 6.


  • SmySmy Membre
    juin 2013 modifié #14


    Si notre app est super customisée (NavBars, polices), qu'est ce que ça change ?


    J'ai du mal à  voir, il me tarde de faire tourner mon app dessus.


     


    Je vais sortir une V2 dans 15 jours, elle est un peu "flat design" pour iOS 6.




     


    J'ai remarqué de mon coté les navbar et évidemment tous les éléments UISwitch, UIProgressView, UIPickerView, etc.


     


    Cela se passe globalement bien, sauf pour le UIPickerView qui n'a plus de fond.




  • Si notre app est super customisée (NavBars, polices), qu'est ce que ça change ?


    J'ai du mal à  voir, il me tarde de faire tourner mon app dessus.


     


    Je vais sortir une V2 dans 15 jours, elle est un peu "flat design" pour iOS 6.




     


    Va jeter un oeil sur les sessions videos de la wwdc 2013...

  • Un article intéressant sur le sujet.


     


    C'est sur qu'un bouton "glossy" ou aluminium ça fait tâche sur iOS 7. 


     


    D'une manière générale, je ne trouve pas iOS "flat" du tout, au contraire, j'ai l'impression que plutôt que naviguer, on "plonge" dedans.


    Par exemple, l'ouverture d'un dossier entraà®ne un léger zoom du background.


     


    AMHA, s'il y a un mot qui devrait résumer iOS 7 c'est "mouvement". ça bouge tout le temps.




  •  


    D'une manière générale, je ne trouve pas iOS "flat" du tout, au contraire, j'ai l'impression que plutôt que naviguer, on "plonge" dedans.


    Par exemple, l'ouverture d'un dossier entraà®ne un léger zoom du background.


     


    AMHA, s'il y a un mot qui devrait résumer iOS 7 c'est "mouvement". ça bouge tout le temps.




     


    Suis pas sûr qu'il existe une définition précise du flat design (mais je suis pas designer non plus hein).


    Il me semble toutefois que le flat design se distingue par l'utilisation de couleurs (dans iOS 7 les couleurs sont utilisées par exemple pour indiquer les éléments intéractifs), la typographie (gros taf la dessus sur iOS 7). L'ensemble devant apporter plus de clarté à  l'interface (en éliminant au passage les ombres et dégradés).


     


    Quand tu dis "on plonge" ou que "ca bouge", ce principe n'est pas antinomique avec le flat design s'il est utilisé pour hiérarchiser les éléments de l'interface (ce qui permet à  l'utilisateur de ne pas perdre le fil conducteur d'une application).

  • Dans la session #201 tu as un bon chapitre "Adapting your app for iOS 7"


    C'est a 00H42 a peu pres.


     


    Peut etre que cela peut te donner quelques pistes de reflexion.




  • Dans la session #201 tu as un bon chapitre "Adapting your app for iOS 7"


    C'est a 00H42 a peu pres.


     




    OK merci, je vais regarder.


     


    Mon problème en fait est le suivant:


    Dans iOS7, certains barres d'outils, certains boutons ne sont pas affichées comme dans iOS6 donc certains boutons ne sont plus visibles par exemple.


    De même certaines images vont devoir etre retravaillée pour s'accorder au style.


     


    C'est facile à  corriger, mais deux choses me gênent :


    -la quantité de modifications (pour une app qui ne rapporte pas grand chose)


    -les efforts à  fournir pour supporter les quatre versions iPhone/iPad + iOS 6/7


     


    Mon intuition, c'est qu'en utilisant auto-layout, je vais avoir moins de test en dur dans le code pour détecter les versions.


    D'autant que Xcode 5 facilite l'utilisation d'auto-layout.


    Je vais quand même devoir doubler certaines images,donc au final pour une image, j'ai parfois toute ces versions :


    iPhone iOS 5,6


    iPhone IOS 5,6 retina


    iPad iOS 5,6


    iPad iOS 5,6 retina


    iPhone iOS 7(retina)


    iPad iOS 7(retina)


     


     


     


     A propos d'auto-layout, mon intuition c'est aussi que cette fonction va devenir indispensable pour supporter les futurs nouvelles tailles d'écrans qui ne manqueront pas d'arriver.


    Donc contrairement à  storyboard qui reste optionnel, auto-layout va devenir un must pour développeur dans l'ecosysteme Apple qui voudra garder sa santé mentale intacte.

  • FKDEVFKDEV Membre
    juin 2013 modifié #20


    Je viens de tomber là  dessus : http://www.igen.fr/iphone/ios-7-nouvelle-interface-nouvelles-opportunites-106656


     


    @FKDEV : Peut-être qu'il est temps de prendre une décision radicale :-)




     


     


    Initialement, c'est un post de Marco Arment qui a souvent de bonnes idées : http://marco.org.


     


    Je songe de plus en plus à  faire une version 2 indépendante pour partir sur de bonnes bases.


    J'essaye d'imaginer comment offrir la nouvelle app aux anciens clients (passage en gratuit pour une journée avec notification aux anciens clients, première mouture hyper limitée et gratuite permettant aux anciens clients de prendre l'app).


     


    Encore une fois, c'est dommage qu'Apple ne fasse rien pour ce cas là . Pourtant ce serait facile pour eux d'offrir une app à  tous les possesseurs d'une autre app (que ce soit en l'affichant gratuite pour eux, en éditant un promo code ou en faisant une transaction automatique à  tarif 0.


    Sur Mac, ils arrivent à  faire des cas particuliers pour la distribution d'iLife, par exemple, sur le store.


     


    Cette année on a eu le transfert d'app peut-être que l'année prochaine, on aura la capacité d'offrir une app au possesseur d'une autre app.


  • AliGatorAliGator Membre, Modérateur

    Je vais quand même devoir doubler certaines images,donc au final pour une image, j'ai parfois toute ces versions :
    iPhone iOS 5,6
    iPhone IOS 5,6 retina
    iPad iOS 5,6
    iPad iOS 5,6 retina
    iPhone iOS 7(retina)
    iPad iOS 7(retina)

    C'est là  que les "Assets Catalogs" de Xcode5 vont faciliter les choses pour s'y retrouver dans les différentes versions d'images !
  • Je pars from scratch por une nouvelle app. elle sera seulement iOS 7 et donc plus besoin de me faire chier avec la version non retina


  • Et si Apple sort un low cost non-retina ? :p


  • La question qui tue ..


  • Et si Apple sort un low cost non-retina ? :P




     


     Tu me fais chier et d'autant plus parce que tu as raison 

  • AliGatorAliGator Membre, Modérateur

    Et si Apple sort un low cost non-retina ? :P

    Highly unlikely


  • Highly unlikely




    Je pense aussi, mais bon, sur iPad on a toujours du retina et non retina à  gérer, car l'iPad mini est un beau succès.


     


    Du coup mon avis c'est de continuer à  supporter encore un peu le non rétina. ne serait-ce que si tu compte adapter ton app de l'iPhone à  l'iPad, bon bah t'auras déjà  certains glyphs, fond, etc qui seront potentiellement utilisable.


     


    Et que de toute façon, si le graphique bosse bien, ça lui coûte pas plus cher de faire retina et non retina en même temps.


     


    Après, je conseille néanmoins vivement de n'inclure dans le bundle iPhone que le version retina si tu supporte que iOS7. ça allègera l'ipa (donc cool pour le download et préserver du stockage)

  • AliGatorAliGator Membre, Modérateur
    J'espère que l'avènement des Assets Catalogs va présager un jour des téléchargements sélectifs de ressources automatiquement...
  • J'espère que l'avènement des Assets Catalogs va présager un jour des téléchargements sélectifs de ressources automatiquement...




    Surement. D'autant qu'il y a du json (et non du plist) dans l'affaire...
  • LarmeLarme Membre
    juillet 2013 modifié #30

    J'déterre, j'pensais à  iOS7 et le futur boulot comme ça... Ce que je pourrais faire, et j'me suis rappelé cette conversation...


     




    C'est là  que les "Assets Catalogs" de Xcode5 vont faciliter les choses pour s'y retrouver dans les différentes versions d'images !




    Intéressant. Je vais voir ça de plus près...

    Je pensais déjà  à  faire moi-même un UIImage+iOS7Complient (notamment), avec [UIImage imageNamed7:@""], vu que c'est ce que j'utilise essentiellement, qui retournerait ce qu'il faut en fonction de la version d'iOS...

    Et les équivalences pour d'autres classes si besoin (j'pense aux UIColor que j'utilise déjà , mais avec une p'tite update), mais j'ai pas encore touché à  iOS7, j'viens à  peine de passer à  surbooké, à  booké :o


  • AliGatorAliGator Membre, Modérateur
    @Larme regarde la session WWDC'13 pour mieux comprendre. Mais les assets catalogs ne vont pas te permettre de choisir une image différente en fonction de l'OS. Juste comme déjà  actuellement iPhone vs iPad et Retina vs Non-Retina, ça ne devrait pas changer grand chose sur les images dispos, mais ça aide beaucoup à  les organiser plus proprement. Et la nouveauté c'est que ça gère le stretching (plus besoin d'appeler stretchableImageWithCapInsets, le valeurs des capinsets sont associées à  l'image dans le assetsCatalog et imageNamed les prend en compte. Et Xcode5 a meme une interface pour les placer su l'image et peut même te proposer de te suggérer leur placement.
Connectez-vous ou Inscrivez-vous pour répondre.