November 30, 2010 at 08:35Ma Samsung Galaxy Tab

J’ai reçu ma Samsung Galaxy Tab depuis deux semaine. C’est l’heure de faire un petit compte rendu.

Les plus

  • Le format (n’en déplaise à Steve) idéal pour transporter la tablette dans une poche intérieure de manteau et la tenir à une main. J’adore pouvoir lire un ebook ou un pdf avec assez de confort tout en restant “on the go”. Lire des emails avec l’application Gmail est aussi un vrai bonheur.
  • Android (j’étais sur iPhone depuis plus d’un an) qui permet un contrôle plus avancé que sur iOS (un explorateur de fichiers ! On avait pas vu ça depuis… l’arrivée de l’iPhone -__-). Mais il y a un petit bémol (voir plus bas).
  • Adobe AIR et Flash Player, étant développeur AS3 que demander de mieux ?
  • L’autonomie qui m’étonne beaucoup, la batterie semble avoir été bien choisie !

Les moins

  • La perception générale d’un manque de fluidité, très loin de l’iPhone/iPad (il m’a fallu une semaine pour m’habituer à la courbe d’easing utilisée pour les scrollers). C’est d’autant plus rageant qu’il semble bien s’agir d’une perception et non d’un problème de puissance.
  • Le bémol de la gestion de fichiers : la connectique iPad-like (pourquoi pas du micro USB ?!?) et Samsung Kies, le crapware de synchronisation livré avec la tablette (qui n’imite pas iTunes, mais parodie le bureau de MacOS : WTF?). Et il est impossible (sans hack dont je n’aurais pas encore eu vent) de brancher simplement la Galaxy Tab sur un ordinateur comme clé USB sans Kies !?! (je ne sais pas encore si cela va me desservir quand je vais vouloir débugger du AIR sur la tablette).
  • Le manque d’applications de qualité sur l’Android Market. Apple a réussi sa stratégie. Beaucoup de développeurs d’applications mobiles se concentrent sur iOS. Malgré le portage de certains blockbusters comme Angry birds, on ne trouve pas d’applications comme FlipBoard ou The Photo Cookbook qui donnent tout son sens à l’iPad.
  • La réflexion ergonomique générale pas aussi aboutie que celle d’Apple.
  • L’appareil photo, qui n’est pas exceptionnel, et qui ne fait pas bien la mise au point de près (problème pour “scanner” des feuille pour les ajouter dans Evernote).

Hors catégorie

Une mention spéciale pour le Flash Player. Étant flasheur, je suis très content de pouvoir tester des sites en flash. Mais l’expérience n’est vraiment pas la même que sur le bureau. Par exemple lire une vidéo en flash peut dépanner, mais j’ai pris l’habitude de lancer les vidéos youtube avec le lecteur vidéo pour éviter la désynchronisation du son et de l’image… J’attends avec impatience la nouvelle classe StageVideo.

Conclusion

Je suis vraiment ravi dans l’ensemble. J’adore Swype, Awsome Drop, les échanges de fichiers entre les applications. Je redécouvre Evernote.

Et depuis une semaine, j’ai laissé mon iPhone à la maison et inséré ma carte SIM dans la Galaxy Tab, il fait tout à fait l’affaire même s’il faut toujours penser à prendre son kit main libre sans lequel on n’a droit qu’au mode haut-parleurs.

    Written by Rémi.T under Fun.
    Tags: , .
    1 comment »

    November 2, 2010 at 12:03[AS3] Truncate a TextField with a maxLines

    Here is a snippet to set a maximum lines to a TextField and truncate the end of the text with a “…” :

    function truncate(textfield:TextField, maxLines:int):void
    {
    	// the alternative text
    	var alt:String = "...";
    
    	// if the text displayed has more lines than wished
    	if (textfield.numLines > maxLines)
    	{
    		// index of the last char of the last line to display
    		var char:int = textfield.getLineOffset(maxLines) - 1;
    
    		// remove the length of the alternative text
    		char -= alt.length;
    
    		// get the last non space char index
    		char = textfield.text.substring(0, char + 1).search(/\S\s*$/);
    
    		// set the new text into the textfield
    		textfield.text = textfield.text.substring(0, char) + alt;
    	}
    }
    

    Using TextFieldAutoSize.LEFT and this code :

    truncate(titleTxt, 1);
    descTxt.y = titleTxt.height;
    truncate(descTxt, 3);
    

    You get this result :

    Written by Rémi.T under Coding.
    Tags: , .
    3 comments »

    September 9, 2010 at 10:31FlashDevelop : Snippets et arguments dynamiques

    Le moteur de snippets de FlashDevelop permet d’utiliser des “arguments dynamiques” dont je n’ai réussi à trouver qu’un petit paragraphe dans la doc.

    Par exemple, insérez ce code dans un snippet :

    $$(Description=ValeurA,ValeurB,ValeurC)

    Et au moment de son utilisation, vous obtiendrez une popup permettant de choisir la valeur à insérer :

    Voici une version améliorée du snippet for qui montre bien l’usage et les possibilités offertes par les arguments dynamiques :

    for (var $$(Iterations=i):int = $$(StartAt=0); $$(Iterations) < $$(Count=n); $$(Iterations)++) $(CSLB){
        $(EntryPoint)
    }
    

    Avec tout ça, j’ai amélioré mon snippet perso. Il permet d’insérer des séparateurs comme décrits dans les conventions de codage d’Adobe. Et c’est un bon exemple d’arguments non obligatoire (une virgule après l’espace, et des espaces après chaque valeur) :

    //--------------------------------------------------------------------------
    //
    //  $$(IsOverriden=,Overriden )$$(Access=,Public ,Private ,Protected )$$(IsStatic=,Class )$$(Type=Properties,Methods,Constants)
    //
    //--------------------------------------------------------------------------
    $(EntryPoint)
    

    Dernière chose : tout ceci fonctionne aussi avec les templates de fichiers.

    Enjoy :)

    Written by Rémi.T under Coding.
    Tags: , .
    1 comment »