vendredi 16 novembre 2012

gX Switches SDK

Le SDK v1.1 est disponible dans Google Docs au téléchargement.
Vous pouvez vous le procurer ici, il inclut la java doc, la librairie à inclure à votre projet, et des exemples complets d'implémentation tant au niveau Skin qu'au niveau Slot.

Bon dev!

lundi 1 octobre 2012

gX Switches s'enrichit de nouveaux skins

L'application gX Switches passe en bêta 0.8.1 et fonctionne désormais avec de nouveaux plugins :
- Black and Glossy skins for gX Switches : un style à la HTC Sense pour les fans
- Pink and Girlish skins for gX Switches : un style rose et acidulé pour un téléphone kawaii ^^
- Diablo 3 skins for gX Switches : des thèmes non officiels inspirés de Diablo 3.

Quelques nouvelle fonctionnalités sont sorties depuis :
- Les favoris Internet directement en raccourci
- Le lanceur d'applications autorise le lancement de raccourcis cachés dans les applications (en version experts, via un appui long sur le bouton de choix de l'appli)
- le support des skins a été réécrit pour gagner en performances (x4), et permettre une ouverture du code source pour les plugins (librairie pour les développeurs) prochainement.

De nouveaux plugins sortirons d'ici quelques mois :
- Thème Evangelion, accompagné d'un skin Go Launcher gratuit, pour transformer votre téléphone comme un SH-06D NERV, téléphone en série limitée au Japon :)
- Switchs avancés : des scripts plus complexes pour effectuer des tâches avancées, pour les geeks ou pour ceux qui veulent contrôler Android efficacement.

Voici quelques aperçus des skins disponibles aujourd'hui :



mardi 26 juin 2012

gX Switches dans les starting blocks !

Après plusieurs mois de silence radio, de développement acharné, gX Switches est prêt à sortir !

gX Switches c'est quoi ?

C'est un système de création de widgets à interrupteurs pour Android 2.3+. Tout comme le widget "Gestion de l'alimentation" d'Android, il permet d'avoir directement sur son écran d'accueil des boutons de paramétrage, pour activer ou désactiver des fonctions, mais pas que ! Il comporte des raccourcis personnalisables, des éléments riches en fonctionnalités, et surtout permet (gratuitement) à d'autres développeurs d'applications Android d'ajouter leur propres boutons !

Encore une appli d'interrupteurs ? Y en a déjà plein !

Oui, donc pourquoi j'en ai fait encore une autre ? Parce que toutes celles que j'ai pu voir étaient fermées aux extensions : impossible pour un développeur d'ajouter ses propres fonctionnalités, ses propres boutons : les applis existantes se protègent à ce niveau pour faire leur propre business et vendre des fonctions avancées... Dommage je me suis dit ! Alors j'ai fait la mienne, et celle-là, je l'ouvre aux développeurs gratuitement ! (bon après, rien n'empêche les développeurs de vendre leurs propres extensions :))

Une librairie d'extensibilité facile à utiliser

Pour les développeurs qui voudront ajouter leurs fonctions, je fournit librement et gratuitement : une librairie (de 50ko à peine) avec des exemples d'implémentation, le code source, une documentation javadoc, et plusieurs points de départ pour programmer ses propres boutons, en fonction de la complexité voulue. Pour un bouton simple déclenchant une action sur une application existante, le développeur mettra environ 1h de développement, et pourra tester le résultat sans besoin d'outil supplémentaire ! Deux applications existantes sur le Google Play implémentent déjà cette librairie : gX Blacklist :) et FreeboxTV (pour la France uniquement).

Suggestions bienvenues

L'application est au départ en version bêta : la complexité d'Android et des widgets nécessite un retour d'expérience important des utilisateurs : j'ai besoin de bêta-testeurs pour m'indiquer les problèmes rencontrés, les améliorations attendues. Je compte sur vous ! La première étape de mon travail à partir de maintenant est de renforcer la stabilité de l'application, car la qualité finale est un de mes principes de base.

lundi 12 décembre 2011

gX Blacklist 1.4.0 est de sortie !

Une nouvelle fonction a fait son apparition : le contrôle du mode sieste avec seulement VOL+/-.

Activez la nouvelle option dans l'onglet Paramètres de l'appli, puis lorsque vous utiliserez VOL- pour passer en mode silencieux ou vibreur sur votre téléphone, vous aurez une popup s'affichant pendant quelques secondes. Un double clic sur VOL- pour engager le mode sieste (suivez les instructions s'affichant à l'écran), quelques clics bien placés si vous désirez changer la durée de la sieste ou le volume au réveil (toujours avec les boutons VOL+/-), et le tour est joué !
La popup ne dérange pas si vous ne voulez pas utiliser le mode sieste à ce moment : elle se ferme au bout de 3 seconde sans action de votre part.




jeudi 10 novembre 2011

Pourquoi gX Blacklist ne peux pas rediriger vers la messagerie vocale ?

Beaucoup de gens me demandent d'ajouter l'option de "redirection vers messagerie vocale" sur l'appli gX Blacklist. Malheureusement, ceci n'est pas possible pour plusieurs raisons :


  • Android, et donc Google, n'offre pas les moyens techniques de le faire de manière 'officielle'. Ce n'est pas dans sa politique de laisser l'accès au contrôle des appels entrants. C'est pourquoi mon appli ne contrôle pas les appels, mais plutôt le mode de sonnerie, juste avant que la sonnerie ne commence à retentir. La nouvelle version 4 d'Android ne laisse toujours pas cette possibilité, il faut attendre...
  • Certaines informations sur internet laissent croire le contraire : un hack un peu bidouilleux permet d'avoir accès à une interface privée permettant de raccrocher directement, par exemple. Ce hack a été considéré comme une faille de sécurité et a été bouché par Google vers la version 2.2 d'Android. Autant dire que tous les téléphones aujourd'hui n'ont plus cette faille. D'autant que les constructeurs de téléphones modifient eux-mêmes ces interfaces privées... et rebouchent d'eux-mêmes la faille même dans les anciennes versions d'Android.
  • Il serait sans doutes toujours possible de contourner ces restrictions et de jouer les pirates, pour faire malgré tout ces fonctionnalités, mais ce n'est pas dans ma politique pour les raisons suivantes :
    • l'appli aujourd'hui fonctionne sans avoir besoin d'un téléphone rooté, ce qui n'est pas le cas de beaucoup d'appli concurrentes, jouer les pirates demanderait un téléphone rooté.
    • si je devais faire un hack, il en faudrait un différent pour chaque téléphone existant, et même pour chaque version d'Android sur chaque téléphone. Autant dire mission impossible.
    • développer un hack pour un téléphone donné nécessite d'avoir ce téléphone, je ne suis pas assez riche pour m'acheter tous les téléphones... (avis aux donateurs :D)
    • le temps nécessaire à développer ces hacks ferait passer le prix de l'application de moins de 1euro (voire gratuit si vous n'avez pas acheté d'option), a plusieurs centaines d'euros à l'achat... au vu du temps de développement nécessaire. Il reste encore des intéressés ? :D
    • un hack est toujours instable : avoir une fonctionnalité qui marche 1 fois sur 2 (voire moins) n'est pas agréable.
Bref, désolé pour mes clients qui me demandent cette fonction : je la voudrait bien aussi, moi, mais j'ai dû y renoncer pour le moment... Je reste à l'écoute des bidouilleurs sur internet pour voir si un jour une possibilité réelle s'offre à moi, et je l'implémenterai rapidement (car en fait une bonne partie du code est déjà prête pour cela, mais désactivé...).

Au vu du nombre de ces demandes, j'ai préféré faire une réponse collégiale.

jeudi 21 juillet 2011

Optimiser la tache la plus basique de PHP: print/echo

Quand on cherche les moindres petits gains de perfs dans une page PHP, tout est bon à prendre. Même certaines syntaxes qui peuvent paraître évidentes sont optimisables.

La fonction système print est à éviter si vous ne vous servez pas du retour de la fonction. En effet, print contrairement à echo, retourne aussi en valeur ce qu'il envoie dans le buffer de sortie ($var = print(toto);).

La fonction système print est généralement plus lente que echo, pour plusieurs raisons : elle retourne une valeur, ce qui coûte du temps machine (et ce temps est gaspillé si vous ne récupérez pas cette valeur) ; print est aussi plus long à écrire (une lettre en plus...), ce qui peut paraître exagéré, mais au final vous gagnez en taille de fichier PHP et donc en temps de parsing de fichier lors de l'exécution. Utile si vous utilisez ces fonctions de nombreuses fois. Pour la même raison, les parenthèses (qui sont optionnelles) autour des paramètres de ces fonctions système sont à éviter, car sémantiquement inutiles.

Enfin, la concaténation de chaînes de caractères dans un echo est optimisable (echo "bonjour"."madame";) en remplaçant le point de concaténation par une virgule (echo "bonjour", "madame";) car oui, echo peut prendre un nombre de paramètres indéfini, et cela évite alors d'effectuer une concaténation de chaînes en mémoire avant de les afficher sur la sortie. Utile quand vous affichez de grandes chaînes de caractères.

Les gains ne sont pas énormes (de l'ordre du petit pourcent) mais surtout variables, selon la nature des éléments passés à ces fonctions système. Il est temps de prendre les meilleurs habitudes, cela ne coûte rien :)