Quicky : beta-test

ChachaChacha Membre
22:13 modifié dans Vos applications #1
Saluuut,

En attendant MozoDojo, qui est toujours en développement (j'ai un copain beta-testeur très très très exigeant), je vous propose une petite appli qui casse pas des briques, mais qui me rend bien service : Quicky (c'est une appli Cocoa ;-)
C'est un visionneur d'images à  la ACDSee : on ouvre une image, et on peut naviguer rapidement entre les différentes images du même dossier. Pour accélérer, les images sont chargées en arrière-plan.
En effet, il me semble que par défaut, aucune appli MacOS X ne permet de faire juste ça, et bien. iPhoto n'est pas fait pour ça, Aperçu n'est pas pratique pour ça, FFView ne me plait pas beaucoup...

Pour télécharger la beta,
http://ktd.club.fr/programmation/fichiers/Quicky.dmg

Voilà , si vous vous sentez motivés, j'attends vos remarques.
+
Chacha

[Fichier joint supprimé par l'administrateur]
«1

Réponses

  • cbrandtcbrandt Membre
    22:13 modifié #2
    petite appli bien sympa...

    cepandant deux remarques (si je puis me permettre):

    - la taille de la fenêtre change avec celle de l'image, ce qui fait qu'on ne peut pas trop utiliser les boutons pour regarder rapidement une suite d'images, puisque les boutons changent de place à  chaque fois...

    - les images qui ne sont pas à  72 ppp sont affichées à  une échelle qui restitue la taille en cm mais pas en pixels (ce qui peut être bien aussi, mais comme il n'y a pas de fonction de zoom, on n'a pas trop le choix)...
  • 22:13 modifié #3
    J'ai une toute petite remarque.

    [size=70pt]Mort à  l'alu![/size]

    Bon sans rire, ça ne vas pas du tout ici, il vaut mieux un fond uni, ou personalisable. En plus les fenêtre Alu doivent avoir une bordure, ce que tu n'as pas fait, et qui donne parfois de mauvais résultats (voir screenshot).

    Sinon pour répondre à  une question, il y a une fonction similaire. Dans les options de présentations d'un dossier, on peut avoir les aperçus des images contenues dans un dossier, mais ça reste limité.

    Sinon comme a dit cbrandt, il faudrait aligner les boutons pour passer d'une image à  l'autre sur la gauche, histoire que l'emplacement ne bouge pas. Il y a aussi quelques problèmes de redimensionnement. Si on prend les 3 images qu'il y a par défaut dans le dossier Sites, une fois que le logo Apache est passé la fenêtre ne se redimentionne plus, mais les image oui.

    Il y a un problème avec les PDF, qui ne sont pas affichés.

    [Fichier joint supprimé par l'administrateur]
  • 22:13 modifié #4
    Sinon une petite remarque pour les contrôles qui sont dans la barre d'outil, je te conseille d'utiliser NSSegmentedControl (même s'il n'y a qu'un bouton), plutôt que de copier Safari, qui est une des pires choses qu'Apple n'ai jamais sorti niveau guidelines (il te faut juste l'image qui est au milieu, sans les boutons à  proprement parler).
  • ChachaChacha Membre
    22:13 modifié #5
    Ok, merci pour les remarques.

    -Pour l'alu, j'ai cru comprendre que Renaud n'aimait pas (comme beaucoup de gens en fait). Moi j'aime mieux avec, mais je vais voir au niveau des réactions globales. Cela dit, je ne connaissais pas cette règle de "une fenêtre alu doit avoir une bordure". ça vient d'où ?

    -Pour les NSSegmentedControl : je ne connaissais pas du tout, mais je viens de jeter un oeil, c'est carrément intéressant ici ! Merci du conseil.

    -Pour la position des boutons gauche/droite : en fait, je ne me rendais pas compte de l'importance de leur immobilité, parce que moi j'utilise les raccourcis claviers gauche/droite pour naviguer. Vous me conseillez de les mettre à  gauche, c'est une idée, mais moi je trouve plus logique qu'ils soient centrés. Mon idée est donc de redimensionner et replacer la fenêtre de façon à  ce qu'ils restent centrés. ça vous va ?

    -Pour la fenêtre qui ne se redimensionne pas correctement pour les images dans Sites/images, effectivement, il y a un problème. Je vais voir.

    -Pour les PDF qui ne s'affichent pas, c'est bizarre. Je pense que CoreGraphics doit pas aimer les PDF dans le ConvertNSImageToImageRef (enfin, un truc comme ça), il faut que je voie aussi.

    -Pour les images qui ne sont pas à  72 ppp, je n'y avais pas pensé. Je vais voir le comportement que je préfère garder.

    Encore merci

    +
    Chacha
  • mars 2005 modifié #6
    dans 1110978875:

    -Pour l'alu, j'ai cru comprendre que Renaud n'aimait pas (comme beaucoup de gens en fait). Moi j'aime mieux avec, mais je vais voir au niveau des réactions globales. Cela dit, je ne connaissais pas cette règle de "une fenêtre alu doit avoir une bordure". ça vient d'où ?


    Ce n'est pas vraiment une règle en fait, mais plutôt du bon sens. Les fenêtres aqua n'ont pas de décoration autour du contentView, alors que pour les fenêtres alu, tu as un effet de relief. Si dans le positionnement des subview, tu ne tiens pas compte de ce relief, tu peux avoir dans certains cas un truc pas très joli (comme dans la screenshot), ou bien alors comme Safari (mais qui faire encore exception), il y a une vue opaque qui chevauche complètement les bords (parce que dans ton cas, il y a en plus le problème des images avec couche alpha).
  • 22:13 modifié #7
    Je n'ai pas lu toutes vos remarques, ni testé le soft, mais moi aussi je n'aime pas (déteste) le métal-brossé...
  • mpergandmpergand Membre
    22:13 modifié #8

    En plus les fenêtre Alu doivent avoir une bordure


    J'aimerais bien faire une bordure pas trop grande, mais la taille du Sizer n'est pas adaptée, pfff !

    [Fichier joint supprimé par l'administrateur]
  • ChachaChacha Membre
    22:13 modifié #9
    Et voilà , j'ai suivi les impitoyables directives des beta-testeurs pour accoucher de la beta 3 de Quicky.
    Merci beaucoup à  Renaud, notamment.

    V'là  le lien:
    http://ktd.club.fr/programmation/fichiers/Quicky.dmg

    +
    Chacha
  • amnesicamnesic Membre
    22:13 modifié #10
    salut,
    Sympa comme application, par contre j'ai eu des crashs en passant d'une image à  l'autre :

    Date/Time:      2005-03-17 00:26:26 +0100
    OS Version:    10.3.8 (Build 7U16)
    Report Version: 2

    Command: Quicky
    Path:    /Volumes/Quicky/Quicky.app/Contents/MacOS/Quicky
    Version: Quicky version 1.0 beta 3 (1.0 beta 3)
    PID:    843
    Thread:  0

    Exception:  EXC_BAD_ACCESS (0x0001)
    Codes:      KERN_INVALID_ADDRESS (0x0001) at 0xc0014000

    Thread 0 Crashed:
    0  <<00000000>> 0x937a6a84 0 + 0x937a6a84
    1  <<00000000>> 0x9362f2dc 0 + 0x9362f2dc
    2  <<00000000>> 0x935dc4d8 0 + 0x935dc4d8
    3  <<00000000>> 0x91b81914 0 + 0x91b81914
    4  <<00000000>> 0x91b83264 0 + 0x91b83264
    5  <<00000000>> 0x935eee7c 0 + 0x935eee7c
    6  fr.club.ktd.Quicky            0x0000cc98 -[MyImageView drawRect:] + 0x1d8
    7  <<00000000>> 0x92dc7c2c 0 + 0x92dc7c2c
    8  <<00000000>> 0x92dd8670 0 + 0x92dd8670
    9  <<00000000>> 0x92dc3f44 0 + 0x92dc3f44
    10  <<00000000>> 0x92dc4360 0 + 0x92dc4360
    11  <<00000000>> 0x92dc4360 0 + 0x92dc4360
    12  <<00000000>> 0x92e10ef0 0 + 0x92e10ef0
    13  <<00000000>> 0x92df808c 0 + 0x92df808c
    14  <<00000000>> 0x92dd5244 0 + 0x92dd5244
    15  <<00000000>> 0x92dee274 0 + 0x92dee274
    16  <<00000000>> 0x92dfef4c 0 + 0x92dfef4c
    17  <<00000000>> 0x92ddf5ac 0 + 0x92ddf5ac
    18  com.apple.CoreFoundation      0x90191ca0 __CFRunLoopDoObservers + 0x194
    19  com.apple.CoreFoundation      0x9019153c __CFRunLoopRun + 0x18c
    20  com.apple.CoreFoundation      0x90195e8c CFRunLoopRunSpecific + 0x148
    21  <<00000000>> 0x927d5f60 0 + 0x927d5f60
    22  <<00000000>> 0x927dc640 0 + 0x927dc640
    23  <<00000000>> 0x927fe6a0 0 + 0x927fe6a0
    24  <<00000000>> 0x92dd2e44 0 + 0x92dd2e44
    25  <<00000000>> 0x92de98c8 0 + 0x92de98c8
    26  ???                            0x002345c8 -[NSApplication(CocoaGestures) cocoaGesturesNextEventMatchingMask:untilDate:inMode:dequeue:] + 0x20
    27  <<00000000>> 0x92dfdc30 0 + 0x92dfdc30
    28  <<00000000>> 0x92eba2b8 0 + 0x92eba2b8
    29  fr.club.ktd.Quicky            0x00009b80 _start + 0x188 (crt.c:267)
    30  dyld                          0x8fe1a558 _dyld_start + 0x64
  • ChachaChacha Membre
    22:13 modifié #11
    dans 1111015738:

    salut,
    Sympa comme application, par contre j'ai eu des crashs en passant d'une image à  l'autre :


    Ben ça alors, zut.
    Est-ce que ce plantage est systématique ? Sur un type d'images particulier ? Des grandes images ? En fullscreen ?
    C'est bête, apparemment j'ai désactivé les debug symbol par erreur (pas cool pour une beta). Mais si ça plante bien dans le drawRect, comme le crashlog semble l'indiquer, c'est très bizarre; il n'y a vraiment pas du code dangereux là -dedans, juste des appels à  des fonctions CoreGraphics qui ne m'avaient jamais posé problème jusqu'alors. Enfin, bon, les détails c'est une chose, mais l'appli plante et ça c'est grave.
    Grrr.

    +
    Chacha
  • amnesicamnesic Membre
    22:13 modifié #12
    le plantage était systématique sur un fichier tiff, du coup j'ai essayé de l'ouvrir avec preview et la :"Preview is unable to properly display this image. The file may be corrupt. Reason: Can't cache image"
    bref ne t'inquiète pas c'était un fichier corrompu !

    Désolé de t'avoir alarmé pour rien :o
  • ChachaChacha Membre
    mars 2005 modifié #13
    dans 1111023528:

    Désolé de t'avoir alarmé pour rien


    Y'a pas de mal, c'est du beta-testing; en plus, Preview, lui, il est capable de dire qu'il y a un problème, alors que mon appli, elle plante.
    Je vais donc quand même regarder le problème.

    +
    Chacha

    PS : peux-tu m'envoyer ton fichier corrompu ? Je n'arrive pas à  faire planter même en bidouillant un tiff à  la main !
  • VeillardVeillard Membre
    22:13 modifié #14
    Chez moi ça passe bien. En ce qui concerne l'affichage en plein écran, le contour de l'écran du bouton se confond avec la couleur de la fenêtre. Peut-être tu pourrais le mettre sous la forme d'un bouton pour montrer que c'est un écran ? au début, je croyais que c'était une vignette.

    Sinon, très sympa ton appli, et une de plus dans mon dock ! 
  • ChachaChacha Membre
    22:13 modifié #15
    dans 1111048571:

    Chez moi ça passe bien.

    Chouette !


    En ce qui concerne l'affichage en plein écran, le contour de l'écran du bouton se confond avec la couleur de la fenêtre.

    Eeehhh! Mais, oui, depuis que j'ai enlevé le métal brossé, on n'y voit plus rien ! J'avais pas réalisé. Je vais changer ça.


    Sinon, très sympa ton appli, et une de plus dans mon dock !


    Attends au moins la version finale ! (bon, d'accord, y'aura pas grand chose de neuf). Il faut aussi remercier les beta-testeurs impitoyables.

    +
    Chacha
  • mpergandmpergand Membre
    22:13 modifié #16

    Y'a pas de mal, c'est du beta-testing; en plus, Preview, lui, il est capable de dire qu'il y a un problème, alors que mon appli, elle plante.
    Je vais donc quand même regarder le problème.


    Lors du chargement, en cas d'erreur, NSImage peut être égal à  nil, mais ça peut aussi lancer une exception.
  • ChachaChacha Membre
    22:13 modifié #17
    dans 1111054033:

    Lors du chargement, en cas d'erreur, NSImage peut être égal à  nil, mais ça peut aussi lancer une exception.


    D'acc, merci beaucoup !
  • fouffouf Membre
    22:13 modifié #18
    Une super appli qui manquait.

    Merci Chacha, et bonne continuation
  • ChachaChacha Membre
    22:13 modifié #19
    Bon, grâce à  amnesic, l'appli est maintenant plus robuste aux fichiers corrompus (genre elle n'affiche rien mais ne plante pas). Si vous avez encore des plantages sur des fichiers corrompus, veuillez me prévenir, que j'essaye encore d'arranger ça.
    Une petite beta 4 devrait vous permettre d'essayer, non ?
    http://ktd.club.fr/programmation/fichiers/Quicky.dmg

    +
    Chacha
  • amnesicamnesic Membre
    22:13 modifié #20
    2 petites suggestions pour cette application qui rend vraiment bien service(j'aime le côté rapide et léger) :
    - la possibilité de draguer directement un dossier (il descendrait récursivement dans l'arborescence du folder pour chercher des images)
    - la possibilité de draguer image en cours de visualisation pour par exemple la glisser sur le bureau (il en fait une copie), ou la glisser dans un email ...
  • ChachaChacha Membre
    22:13 modifié #21
    dans 1111074003:

    - la possibilité de draguer directement un dossier (il descendrait récursivement dans l'arborescence du folder pour chercher des images)

    C'est effectivement quelque chose que je voudrais faire, je viens de poser une question à  ce sujet sur le forum. Cela dit, je ne suis pas trop pour l'aspect récursif, j'aime autant limiter à  1 niveau d'arborescence.


    - la possibilité de draguer image en cours de visualisation pour par exemple la glisser sur le bureau (il en fait une copie), ou la glisser dans un email ...

    C'est envisageable, je vais regarder ça (j'ai bien fait de faire des betas)

    +
    Chacha
  • ChachaChacha Membre
    22:13 modifié #22
    Et voilà  une belle beta 5 qui répond aux drag'n drop réclamés par amnesic, non pas à  cor et à  cri, mais avec beaucoup de bon sens.
    On peut maintenant déposer un dossier sur l'appli ou une de ses fenêtres, et on peut extraire ce que la fenêtre affiche.
    Au passage : pour extraire l'image originale, on peut toujours utiliser la "proxy icon" de la barre de titre de la fenêtre.

    Enjoy beta 5
    http://ktd.club.fr/programmation/fichiers/Quicky.dmg

    +
    Chacha
  • amnesicamnesic Membre
    22:13 modifié #23
    Tu fais bien de rappeler les "proxy icon"... c'est vrai que j'oublie trop souvent leur existence...

    Chacha champion sur l'écoute des utilisateurs   :adios!: bon alors du coup j'en rajoute ;) :
     
    . Je ne trouve pas terrible les icônes de rotation  (en fait, c'est le mélange des genres alu <->aqua qui me gène )
    . perso je préférais avoir un truc comme ça : (l'utilisation d'un NSToolbar pourrait résoudre les habitudes de positionnement des btns de chacun, mais je ne sais pas si c'est une bonne idée, car il ne faut pas que Quicky soit long à  charger)


    [Fichier joint supprimé par l'administrateur]
  • ChachaChacha Membre
    22:13 modifié #24
    dans 1111094126:

    . Je ne trouve pas terrible les icônes de rotation  (en fait, c'est le mélange des genres alu <->aqua qui me gène )

    En même temps, j'ai pris les icônes d'iPhoto. Pour moi, c'est le plus clair que je puisse faire, et l'utilisateur lambda ne se demandera donc pas longtemps à  quoi elles peuvent servir. Les flèches que tu proposes sont jolies, certes, mais à  la limite on dirait du Undo/Redo.


    (l'utilisation d'un NSToolbar pourrait résoudre les habitudes de positionnement des btns de chacun, mais je ne sais pas si c'est une bonne idée, car il ne faut pas que Quicky soit long à  charger)

    Je ne sais pas utiliser les NSToolBar, je ne l'ai jamais fait, donc ça me prendrait du temps. Et puis surtout, une toolbar pour 4 icônes, ça me paraà®t un peu abuser. Je ne crois pas qu'il soit terriblement intéressant de changer la disposition des icônes, dans la mesure où elles sont toutes disponibles constamment.

    M'enfin tu fais bien de proposer, les idées sont toujours bonnes à  recevoir.
    C'est comment le proverbe chinois déjà  ? Un truc comme ça:
    "Si tu as un objet et que tu l'échanges avec quelqu'un, vous aurez chacun un objet. Mais si tu as une idée et que tu l'échanges avec quelqu'un, vous aurez chacun deux idées."

    +
    Chacha
  • amnesicamnesic Membre
    mars 2005 modifié #25
    dans 1111096129:

    En même temps, j'ai pris les icônes d'iPhoto. Pour moi, c'est le plus clair que je puisse faire, et l'utilisateur lambda ne se demandera donc pas longtemps à  quoi elles peuvent servir. Les flèches que tu proposes sont jolies, certes, mais à  la limite on dirait du Undo/Redo.

    Ce sont les icônes de -rotation- de Preview ;) ... celle de iPhoto sont bien dans leur contexte -> application Alu brossé ( d'ailleurs tu parles de iPhoto 4 ? car dans iPhoto 5 ce ne sont plus les mêmes en tout cas  )


    Je ne sais pas utiliser les NSToolBar, je ne l'ai jamais fait, donc ça me prendrait du temps. Et puis surtout, une toolbar pour 4 icônes, ça me paraà®t un peu abuser. Je ne crois pas qu'il soit terriblement intéressant de changer la disposition des icônes, dans la mesure où elles sont toutes disponibles constamment.

    Oui je te comprends ... par contre si un jour tu en as besoin, tu peux regarder l'exemple SimpleToolbar (/Developer/Examples/AppKit/SimpleToolbar). Ce n'est pas bien compliqué à  prg avec ce squelette.


    M'enfin tu fais bien de proposer, les idées sont toujours bonnes à  recevoir.
    C'est comment le proverbe chinois déjà  ? [..]


    Je ne le connaissais pas celui la .. c'est tellement juste !

    [Fichier joint supprimé par l'administrateur]
  • ChachaChacha Membre
    22:13 modifié #26
    dans 1111101812:

    Ce sont les icônes de -rotation- de Preview ;)


    [mauvaise foi on]
    Ah d'accord. Je ne les ai pas reconnu, car ne m'en servant jamais, je les ai virées de ma barre d'outils.
    N'empêche qu'elles ne sont pas terribles
    [mauvaise foi off]


    ... celle de iPhoto sont bien dans leur contexte -> application Alu brossé ( d'ailleurs tu parles de iPhoto 4 ? car dans iPhoto 5 ce ne sont plus les mêmes en tout cas  )

    Si, j'ai iPhoto 5...
    Ok, je viens de regarder, je n'avais trouvé que les premières, mais il y en avait d'autres plus loin; celles que tu proposes sont effectivement beaucoup plus jolies sur de l'Aqua. Ah là  là , on sent que je suis pas designer, moi. ça se voit rien que sur mes icônes d'application; comment je galère.

    Merci des conseils
    +

    Chacha
  • ChachaChacha Membre
    22:13 modifié #27
    Bon, je pense avoir bien tenu compte de vos remarques.
    Voici donc une release candidate de Quicky:
    http://ktd.club.fr/programmation/fichiers/Quicky.dmg

    On s'approche de la finale, c'est bien.

    +
    Chacha

    [Fichier joint supprimé par l'administrateur]
  • amnesicamnesic Membre
    22:13 modifié #28
    Je viens tester ta dernière version, voici donc quelques remarques :
    Bugs
    . Le menu "Fichier" semble "dérailler" par moment (je pense que c'est du au fait que tu n'as pas fait encore le choix de savoir si Quicky était mono ou multifenêtre) : par exemple, fait un cmd+W (fermer la fenêtre) puis un cmd+O (Ouvrir) cela ne fonctionne plus.
    . Bug : Le menu "Ouvrir Récent" ne fonctionne pas ici.(perso je n'utilise que le drag&drop dont si il n'y avait pas de menu Fichier cela ne me choquerait pas )

    Suggestions
    . Pour le drag&drop : utiliser le mécanisme de promesse serait plus souple (sinon il y a un temps de latence avec les grosses images ), et enclencher le dragout que si il y a un click+drag de plus de x pixel.
    - l'image dragué serait plus sympa en transparence (NSCompositeSourceOver 0.75 par ex)
    . mémoriser la position de la fenêtre principale est pratique pour ce type d'application lorsque l'on a 2 écrans par exemple  (mécanisme AutosaveName dispo)

    Mais bon tout ça peut être pour une v2.0 car ton application remplit complètement son rolle déjà Â : Bravo !
  • ChachaChacha Membre
    mars 2005 modifié #29
    Et bien amnesic, tu te seras donné du mal pour faire de cette appli un truc correct; sois-en grandement remercié. D'ailleurs, dans les remerciements, tu veux que je mette ton nom ou ton pseudo ?

    dans 1111194377:

    . Le menu "Fichier" semble "dérailler" par moment [...] fait un cmd+W (fermer la fenêtre) puis un cmd+O (Ouvrir) cela ne fonctionne plus.

    Bien vu, effectivement, j'attachais le NSOpenPanel aux fenêtres alors que finalement c'est mieux de le rendre plus global. D'ailleurs, je viens d'utiliser avec succès le openDocument de NSDocumentController, comme ça j'allège encore plus le code.
    [edit]
    Ah non, finalement je me suis refait un openPanel plus adapté.
    [/edit]


    . Bug : Le menu "Ouvrir Récent" ne fonctionne pas ici.(perso je n'utilise que le drag&drop dont si il n'y avait pas de menu Fichier cela ne me choquerait pas )

    D'accord. En drag'n drop, effectivement, le menu "fichiers récents" ne prend pas les choses en compte. Pardon : ne prenait ;-)


    . Pour le drag&drop : utiliser le mécanisme de promesse serait plus souple (sinon il y a un temps de latence avec les grosses images ),

    C'est bon, j'ai résolu le problème des temps de latence, non pas avec des promised files, mais avec du code efficace à  grands coups de Core Graphics.


    et enclencher le dragout que si il y a un click+drag de plus de x pixel.

    D'accord, je regarde ça, ça ne devrait pas être trop compliqué. Mais j'ai un souci : je ne sais pas pourquoi, l'événement "mouseDragged" n'est jamais appelé dans ma vue, alors que j'ai tout fait pour. Du coup j'ai dû me débrouiller avec mouseDown.
    [edit]
    Réparé : une NSImageView ne répond pas à  mouseDragged si elle est "Enabled". Ben faut le savoir, hein. Et encore : je ne l'ai pas lu dans une doc, je l'ai trouvé avec des tests !
    [/edit]


    - l'image dragué serait plus sympa en transparence (NSCompositeSourceOver 0.75 par ex)

    Ok


    . mémoriser la position de la fenêtre principale est pratique pour ce type d'application lorsque l'on a 2 écrans par exemple  (mécanisme AutosaveName dispo)

    Mais je n'ai pas de fenêtre principale ?! Je ne comprends pas très bien... En plus, le autosavename c'est pour les NSTableView, non ?

    +
    Chacha
  • ChachaChacha Membre
    22:13 modifié #30
    Et voilà , amnesic, j'ai encore tenu compte de tes remarques pour fournir une release candidate 2 encore mieux que la précédente.
    http://ktd.club.fr/programmation/fichiers/Quicky.dmg

    Le seul truc qui m'embête, c'est l'icône. Elle est moche.

    +
    Chacha
  • mpergandmpergand Membre
    22:13 modifié #31
    Je n'arrive pas à  sortir du mode plein écran avec esc ! et CTRL-Pomme-Démarrage c'est un peu lourd  :)

    J'aimerais:
    - si je choisis l'affichage taille maxi, que cette option reste valide pour les autres images (un bouton On/Off ? )
    - pouvoir faire défiler les images en plein écran avec les flèches du clavier ou un clic de la souris.

    Merci
Connectez-vous ou Inscrivez-vous pour répondre.