Search This Blog

Friday, February 11, 2011

Rich Web Apps: RIA, AJAX... - An overview

I've already been several times confronted with the task of explaining what Rich Internet Applications (RIA) are, and why they are different from classical web applications. This is the reason why I wrote this article. It is not meant to be exhaustive and it might contain some approximations but I hope it can help the reader to get an insight and build his own idea.

Web applications typology and RIA

Since advent of the Web era, web sites have evolved by becoming more and more dynamic, then more and more interactive, and more and more complex...

We can schematically distinguish the following successive phases:
  • static web sites (pure HTML)
  • light dynamic web sites (CGI processes on the server side)
  • dynamic pages (JavaScript + DOM + CSS)
  • interactive pages (+ AJAX)
  • rich web applications (RIA...)
« A RIA is a web-based application that is designed to provide functionality similar to a desktop applications. Some RIAs run completely inside a web browser while others are browser-independent. » [1] This definition implies, notably, that just adding a few AJAX interactions to web pages is not sufficient to turn these pages into an RIA. Sometimes authors insist on this difference by distinguishing "thick RIA" from "light RIA". Though, in our understanding, an RIA is always of the "thick" kind and we won't consider "light" RIA as true RIA.

Note that there is a controversy in the literature on the usage of the term RIA. For some, like Gartner, RIA designate only applications running independently from the browser (like Java VM, Flex, or Silverlight). For others, like Kristen Waters, the term RIA also covers applications running inside the browser. In this article we target all cases and, to avoid confusion, we will use the broader expression "rich web applications" (or RWA).

Typical characteristics of rich web applications, compared to traditional web sites, are:
  • richer user experience thanks to more user controls (not limited to basic HTML controls), in-line editing, drag and drop...
  • UI logic running on the client side / session less server side
  • reduced reliance on network/server communications, by transferring only data or partial pages instead of refreshing full page
  • better performances, lower load on the network and on the servers
  • better scalability
  • largely browser and OS independent
  • difficult to index by search engines
Compared to traditional desktop applications:
  • better security, "sandbox" isolation
  • easy distribution, deployment and maintenance
  • application accessible on any host, instantly
  • OS independent
Typical use cases for RWA are:
  • office application (word processor, spreadsheets, presentation tools...) (e.g. Google Docs)
  • personal information and communication (mail, contacts, calendar, tasks, chat, feed aggregation...) (e.g. GMail-GCalendar, Outlook Webmail)
  • cartography (e.g. Google Maps)
  • CRM (E.g. Salesforce.com)
  • Business Intelligence (E.g. BimeAnalytics.com)
  • Development tools (E.g. App Inventor)
  • Software-as-a-Service (SaaS) in general

Frameworks

As already said, one can distinguish two kinds of rich web applications. Those based on a framework running in a specific virtual machine (like Java VM, Flex, or Silverlight) on one hand, and those using the browser itself as a virtual machine on the other hand.

Frameworks using the browser as a virtual machine capitalize on the capabilities of HTML, DOM, CSS, and JavaScript. They also usually enable development to be independent from the target browser with seamless degraded mode for old-dated versions.

These are a few well known browser based frameworks:
  • GWT (Google Web Toolkit)
  • Cappuccino
But there are also plenty of vendor specific frameworks, usually little known and used mainly in enterprise environments, like for example General Interface (from TIBCO). Though, most developers available on the market would likely not know these vendor specific frameworks.

Frameworks using a specific virtual machine have the disadvantage of requiring a specific prior install, typical in the form of a browser plug-in. (Though this inconvenient is insignificant in the case of Flex, since the Flash Player is deployed in 96% of internet enabled desktops. For Java the figure is 79% and for Silverlight, 61%. [2]) Advantages are better performances and even richer experience.

Here follows an indicative list of choice factors:
  • Staffing
    • Availability of programming skills
    • Learning curve
    • Documentation and Tutorials, Books
  • Productivity
    • GUI Builder
    • Object Mapping
    • Validation
    • i18n and l10n
    • Industrialisation (automatic builds, tests...)
  • Maintainability
    • Design patterns (MVC, MVP...)
    • Testability
    • Programming language (static typed vs. dynamic typed, e.g. Java vs. JavaScript)
    • Risk (durability of the vendor)

Links

[1] "What is RIA?", by Kristen Waters

Monday, January 24, 2011

Mobile Apps Development: Native vs. Web

When it comes to start developing apps for mobile devices, a difficult question is immediately raised: which platform should we select? Indeed, the mobile landscape is the scene a fierce fight between major players (like Microsoft, RIM, Apple, and Google) or challengers (like HP and Nokia). Each of these platforms comes with its own way of developing apps; they often use different languages and SDKs, and always have different APIs.

There is obviously no unique answer to the question. It depends on a lot of factors.

The way you interpret those factors depends on your intent. Are you an individual who wants to invest time on its spare time to build skills in a new technology? Are you a software architect who must make a technical choice for a specific project? Are you an enterprise that must set architecture principles impacting all developments for the coming years?

An individual will take into account its personal taste; the software architect will consider the specific requirements of the project; while an enterprise will have more strategic considerations.

Choice factors

There are factors that are typical when you make a technology choice, like cost, performance, availability of technical resources (it might be easier to find Java developers than Objective-C developers), integration with the existing architecture, etc.

Then, there are factors that are typical to the mobile apps development landscape. Mobile appshave very specific characteristics that traditional applications don’t have:

  • Limited resources
  • Limited or varying connectivity
  • Specific hardware: touch screen, camera, GPS, accelerometer, NFC…
  • Specific services: contacts, calendar, SMS…

These bring additional constraints you have to take into account when choosing a technology.

Mobile platforms diversity [Max Katz]

Two alternatives

When it comes to make a decision there are two main tracks you can take, either you go for native development, or you go for web based development. Each track comes with its own advantages and drawbacks, but the gap becomes smaller, especially since the raise of HTML5 techniques opens the door to web apps that can compete with native ones.

Both solutions share the following advantages: easy deployment, fast time to market, good user experience, local storage, off-line mode…

Advantages of native development (and drawbacks of web development) are: integration with device services and hardware (though some services might be available through HTML5, like location); and best performances.

Advantages of web development (and drawbacks of native development) are: only one set of skills to address all platforms (no fragmentation: pretty much all mobile platforms now (will) support HTML5), re-use of existing enterprise connectivity infrastructure, no overload of device apps collection.

So, it will depend on the kind of requirements your application will have. You will choose the native track for: games, access to device features, high performance, rich graphics, single platform target, and – in some cases – off-line mode. You will choose the web track for everything else, especially if supporting multiple platforms or enterprise connectivity is important.

This section is based on a presentation by Max Katz at Devoxx 2010:
“Mobile Development Choices: Native Apps vs. Web Apps” http://goo.gl/mc0Gl

The third way

Since very recently, a third way is taking shape in the form of the Adobe Flex SDK. It provides a common stack for all platforms. Three alternatives can be chosen for the distribution: either Flash web applications, similar if not identical to applications running on personal computers; or Flash applications deployed locally; or by cross-compiling to a native app. Note however that, for iOS, only the latter is possible, due to Apple boycott of Flash.

Mobile applications based on Flex might gather the advantages of both native and web based development, but this technology is very recent in the mobile landscape, and not yet finalized for all platforms. Future will tell us if it’s a viable alternative.

Monday, December 13, 2010

Devoxx 2010

This year again 3200 passionate Java developers gathered during one week in the Metropolis of Antwerp. The Devoxx event is split in two parts: the “University Days” on Monday and Tuesday (long conferences, tools, trainings and hands-on labs), and the “Conference Days” from Wednesday till Friday noon (keynotes, conferences, quickies and “BOFs” (round tables)). In this short article we'll try to introduce you the hottest topics of this year edition.

Devoxx is big

Devoxx is 116 speakers giving about 150 sessions happening in 5 theatre rooms in parallel: 5 Keynotes, 65 Conferences, 16 University, 8 Labs, 16 “Tools in Action”, 14 Quickies, and 24 “BOFs” (informal discussions)! These sessions cover 8 tracks: Architecture/Security, Cloud/NoSQL, Desktop/RIA/Mobile, Java Core (SE/EE), Methodology, New Languages on the JVM, Web Frameworks, and Other. We could of course only follow a small portion of the talks (illustrated by the tags cloud here below).

Java and Web future

One of the hottest topics of conference was the future of Java. The road-map for Java 7 and 8 has been extensively described. Mark Rheinhold and Brian Goetz explained that the motivation of many of these changes is to make the language more suitable for multi-core systems, currently the only solution to increase the performance of a node. There were also lots of discussions on how the language should evolve in the future, with a vast majority of the participants voting for a break in the backward compatibility constraint. A big move compared to previous years is the growing popularity of JEE, due to the new version 6. JEE has solved many of the drawbacks inherited from the previous version and is now as seducing as the Spring alternative.

Another big trend for the future is the new Web standard, HTML5. With this new version, HTML is not only a presentation language anymore, but also provides new multimedia support (video, audio, 2D drawing) and many application API's (offline storage, local DB, cross-document messaging, WebSocket's (AJAX), geo-location...). All these new capabilities will turn the browser into a decent RIA platform. This will have impact in several domains: more responsive web application with richer end-user experience, more standalone applications being replaced by web applications, viable alternative to Flash applications... Moreover, in many circumstances, HTML5 can solve the problem of the mobile market fragmentation, where companies can avoid maintaining applications for many different platforms (iOS, Android, RIM, Win7, WebOS...). Together with the rise of AJAX based web UI, the REST style is gaining more and more support and will likely override SOAP and WS‑* specifications.

Other tendencies

There was also a whole track dedicated to “NoSQL” (a back-cronym for “not only relational databases”). NoSQL covers a lot of different approaches corresponding to different use cases. This domain is still moving a lot and lacks of standardization, but it's certainly an option to consider if you want to solve scalability issues. On another hand, by relaxing constraints on the structured data storage, it can help dealing with cases where the application must change often, by limiting the needs for data schema migration. The “cloud” was also a very popular topic.

On the front of the new languages running on the JVM, the most popular one this year was Scala, a statically typed language mixing object-oriented programming and functional programming. Though it has many supporters, many people think it will remain a niche language, because of the a learning curve and cryptic readability tendencies. The second most popular language was Groovy, a dynamic language that can be used as a scripting language for the JVM.

Last buzzword, the “Dev/Ops”, which express the “emerging understanding of the interdependence of development and operations”. This is more particularly applicable with new “agile” methodologies, where the border between development (or change) and operations (or run) tend to disappear.

Fun

But Devoxx is not only conferences. It's also giant Twitter walls; more than 26 companies presenting their products and distributing their goodies; 67 JUGs (Java User Groups), whiteboards, 140 Mbps internet throughput through free WiFi, lots of beer, French fries, after parties... and countless occasions to meet members of the Java community, from all over the world.

In a few words: Devoxx is THE place to be for every Java/Web/Mobile developer.

Read all Devoxx related blogs at: http://www.devoxx.com/display/Devoxx2K10/Blogs

Wednesday, October 15, 2008

4 mois avec l'HTC Touch Diamond

J'utilise un HTC Touch Diamond depuis maintenant 4 mois. Il y a peu, un ami qui comptait s'acheter un HTC me demandait mon avis sur le Diamond. Ses questions portaient sur les points suivants :

  • Comparaison avec le Touch Pro d'HTC, clavier vs. écran tactile

  • Autonomie de la batterie, extension de la batterie

  • Sensibilité de l'écran aux griffe

En répondant aux question, j'ai finalement fait un review complet de mon expérience avec cet appareil. Comme d'autres personnes me posaient des questions à ce sujet, j'ai choisi de vous livrer ces considérations ici …


Voici mon opinion après 4 mois d'utilisation, sachant que mon avis n'est peut-être pas représentatif, vu que je viens de loin (mon GSM précédent était plutôt "pré-historique" (un Nokia 6250, accompagné d'un Palm Zire 71).

Design

L'appareil est très beau, mais c'est bien sûr purement subjectif.

L'appareil est très petit (à peine plus grand qu'une carte de visite). Mon premier étui de protection était d'ailleurs un étui à cartes de visite !

Écran

L'écran est excellent (résolution 480x640!). J'ai déjà regardé des films entiers sur mon téléphone.

J'utilise le film protecteur livré avec le téléphone. Jusqu'à présent je n'ai à déplorer qu'une petite griffe (sur la protection), mais de toute façon le jour où je ne veux plus voir la griffe, je n'ai qu'à remplacer la protection. Important : mettre la protection d'office, et le plus vite possible pour garder l'écran impeccable. Ça diminue légèrement la sensibilité de l'écran mais ce n'est pas vraiment génant. (À savoir aussi qu'il semblerait que la sensibilité de l'écran du HTC Touch HD (voir en fin d'article) serait encore meilleure (?))

Batterie

La batterie plus grosse existe en effet (c'est un accessoire à acheter en plus). Elle augmente légèrement l'épaisseur du teléphone, et l'augmentation d'autonomie est d'environ 50%. À voir si ça en vaut la peine. Tenir compte de l'épaisseur lors de l'achat d'un étui. Pour ma part, mon téléphone est souvent branché : sur l'allume-cigare quand je suis en voiture, sur mon PC quand je suis au bureau (cf. plus loin la synchro) … donc je suis très rarement à court.

Et le connecteur d'alimentation est compatible avec le standard mini-USB, donc c'est exceptionnel que je n'ai pas de source à disposition. Par contre si tu envisages de rester régulièrement plus de 2 jours éloigné de toute trace de civilisation (j'entends par là sans accès à une prise de courant ni à un PC), alors la seconde batterie s'impose.

Interface utilisateur

L'interface HTC (Touch & Co) est bien pensée. Sans elle WinMo (Windows Mobile) rendrait le téléphone lourd à utiliser. Le système apporte de réels plus pour certaines fonctions, comme l'appel téléphonique, l'envoi de SMS, la recherche de contacts …

L'interface tactile en général constitue une très bonne surprise. Une de mes plus grosses craintes était l'absence de clavier. En fait celui-ci ne me manque absolument pas. Le clavier virtuel (tactile) de HTC est très efficace, voire plus qu'un clavier "réel" dans certains cas. Maintenant je ne sais pas ce que ça donnerait en cas d'utilisation intensive (envoyer beaucoup de messages par exemple). Mais je ne suis pas non plus convaincu qu'un clavier mécanique apporterait une énorme amélioration dans ce cas-là.

Les quelques boutons présents en bas de l'écran permettent énormément de manipulations également (plus qu'on ne croit) (voir aussi plus bas: fonctionnalités cachées)

À propos de l'interface WinMo en général : je la trouve plus pensée pour un agenda (style Palm) que pour un téléphone. Sans la couche HTC ce serait lourd. Par contre, excellente bibliothèque d'applications et très bonne synchro.

Synchronisation

La synchro avec Outlook : le pied, j'ai accès en permanence à la quasi la totalité de mon Outlook (Contacts, Calendar, Tasks, Notes), avec tous les détails. Beaucoup mieux que ce que j'avais avec le Palm.

Pour ce qui est de la synchro directe avec d'autres produits (Thunderbird ou autres), je n'ai pas testé, pour l'instant je passe par l'intermédiaire de Outlook (i.e. je synchronise Outlook avec Google, et je synchronise Google avec Thunderbird).

Applications et Java

Rien à envier avec le Palm. On trouve à peu près tout ce qu'on veut. Une des meilleures que j'ai actuellement : KeePass (existe aussi pour Windows, Linux, MacOS X, Palm, BlackBerry, Java ME …). Voir aussi l'article Wikipedia.

Pas d'avis sur le moteur Java livré (esmertec Jbed), je n'ai jamais eu à l'utiliser, vu la pléthore d'applications WinMo disponibles.

Navigateur Web et Emails

Opera est le meilleur navigateur mobile actuellement (au moins comparable à l'iPhone, et meilleur que tout le reste).

Toutefois, ne pas s'attendre aux même performances que sur un PC, même si on est connecté à Internet en haut débit ou via le WiFi : ce n'est ni le même CPU, ni la même mémoire. C'est un peu lent, mais très utilisable, et la plupart des sites web sont supportés (pas de problème avec le JavaScript, au contraire du browser mobile de MS). À savoir aussi que les Flash ne sont pas (ou mal) supportés. Ainsi il faut une application dédiée pour se connecter à YouTube. (Qui marche d'ailleurs très bien.)

Je n'ai pas eu de réel problème de réception ou d'envoi de mails. Mais je ne récupère mes mail que de temps en temps "à la demande", pour éviter de trop pomper dans mon forfait.

GPS

Le capteur fonctionne bien. J'ai déjà utilisé quelque fois avec Google Maps sans problème (ahhh … taper le nom d'un resto dans Google et en quelques clics l'appareil t'affiche l'itinéraire, presque de la science-fiction ;-)).

Toutefois je ne l'utilise que rarement pour l'instant car la connexion à Google Maps me coûte dans mon forfait. J'attends soit de passer à un forfait Internet mobile illimité, soit d'acheter des cartes GPS pour WinMo. Entre temps j'utilise encore mon GPS séparé (un Mio H610 dont je suis très content).

Complexité, Customisation

On peut configurer/modifier/customiser énormément de chose. C'est quasiment un micro-PC. C'est parfait pour un geek, mais pas du tout adapté à la ménagère lambda.

Les inconvénients principaux

  • mémoire limitée : ça m'est arrivé quelque fois d'être bloqué par la quantité de mémoire de travail disponible, notamment lors de l'utilisation des application suivantes : Opera (rarement), Acrobat, MS Word. De plus je n'arrive pas à ouvrir certains (gros) documents DOC ou PDF, et je soupçonne que c'est à cause du manque de mémoire. À savoir aussi qu'Opera ne permet de n'ouvrir que 3 onglets au maximum.

  • instabilité de WinMo : je dois (trop) fréquemment faire un reboot (voire un soft reset) du système. C'est gênant quand ça arrive au mauvais moment (e.g. pendant qu'on fixe une date de rendez-vous pendant une réunion). Difficile de dire si le problème vient d'HTC ou de MS, mais je penche pour MS. Certains utilisateurs disent avoir dû parfois faire un "hard-reset" (= remise à zéro de toute la mémoire). Ça ne m'est encore jamais arrivé, mais c'est un risque si on chipote un peu trop (registry, programme modifiant le système …). Dans ce cas mieux vaut avoir fait un full backup avant ! (Ce que je conseille si tu installes certains types de programmes, mais je n'ai pas (encore) trouvé d'appli gratos qui le fait. Je n'ai pas réussi à faire fonctionner l'appli de backup livrée avec l'appareil au delà d'une période d'essai limitée.)

  • temps de réponse de l'interface : il y a en général un petit délai de réaction du système, dont la durée est variable (en fonction de l'activité du système). C'est par moment très gênant. À mon avis inévitable et probablement dû à l'architecture de WinMo.

  • temps de réponse de la sonnerie : un corollaire du point précédent : il s'écoule souvent un délai de quelques secondes entre le moment où un appel est reçu par l'appareil et le moment où la sonnerie se fait entendre. Il faut alors se dépêcher de répondre avant que le correspondant ne soit transféré sur la messagerie. Il existerait une solution consistant à forcer le système à garder le WAV de la sonnerie dans une sorte de mémoire cache, mais je n'ai pas testé car selon les forums, le résultat n'est pas convaincant. Il est aussi possible que le problème ne soit pas le même selon la sonnerie choisie (certains fichiers sons sont peut-être d'office en cache, ou plus rapide à charger.)

  • trop grande sensibilité (!) de l'interface tactile : j'ai acheté un étui de ceinture pour transporter l'appareil (vu ma maladresse proverbiale, je ne transporte pas ce genre d'appareil au fond de ma poche). Lorsque je le range dans l'étui, je dois faire un lock screen pour éviter les "clicks" intempestifs. Jusque là, OK. Mais lorsque quelqu'un m'appelle, le lock se désactive automatiquement (pour permettre de décrocher en poussant sur l'écran). Comme l'appareil vibre dans son étui, il a tendance à décrocher tout seul. (Toutefois ce problème doit être neutralisable moyennant le tweak ad-hoc, que je n'ai pas encore trouvé.) [UPDATE: J'ai depuis résolu ce problème en achetant un nouvel étui Krusel Orbit Flex, spécialement prévu pour le Diamond. Plus de contact avec l'écran et donc plus de problème !]

  • pas moyen d'écouter le radio FM sans brancher les écouteurs : le fil sert d'antenne, et l'appli refuse de démarrer si elle ne détecte pas l'antenne. D'un autre côté, si on a un forfait limité, y-a-qu'à écouter une radio MP3... ;-)

  • pas de port SD (quoique : je suis encore loin d'avoir épuisé la mémoire de stockage disponible (4 GB))

  • le forfait GSM : attention à la formule choisie et à la note à la fin du mois. Bien réfléchir au type d'utilisation qu'on veut faire, et se tenir à une discipline une fois le choix fait. Ne pas hésiter à installer une appli type "Spb GPRS Monitor" si on ne prend pas un forfait illimité.

  • la connexion data automatique : dès qu'une appli tente d'accéder à Internet, si aucune connexion n'est présente, le téléphone se connecte automatiquement via GPRS/3G. Donc je dois faire attention de bien le connecter manuellement via WiFi ou USB (ou BlueTooth) à chaque fois que c'est possible, pour éviter d'exploser mon forfait GSM. Je n'ai pas trouvé de moyen élégant de l'empêcher (par exemple : donner la priorité au WiFi, ou l'obliger à demander une confirmation avant de se connecter au 3G). Workaround : soit désactiver le 3G dans le Control Panel (fastidieux : il faut le ré-activer à chaque fois qu'on veut l'utiliser), soit configurer toutes les appli pour éviter qu'elles se connectent sans ton avis (ça concerne surtout le client mail, mais pas uniquement). Cas vécu : j'avais laissé Opera ouvert sur une page de Facebook, après avoir coupé le 3G. Mais comme la page de Facebook fait des requêtes asynchrones régulièrement pour checker s'il y a de nouveaux messages, le téléphone s'était automatiquement reconnecté au 3G pendant qu'il était dans ma poche. Je m'en suis rendu compte … 3 heures plus tard ! (Et j'ai pour l'instant un forfait à la durée :-( ) Je ne désespère pas de trouver une solution à ce problème (qui est purement software), mais n'ai encore rien trouvé jusqu'à maintenant.

XDA Developers

Ne pas hésiter à parcourir les (nombreux) posts sur le forum de XDA Developers pour "tuner" l'appareil au mieux. Certains petits inconvénients ont étés facilement résolus moyennent le bon paramétrage. À ce sujet, je conseille "Total Commander", pour parcourir/éditer les fichiers *et* la registry.

Fonctionalités cachées

À savoir : le Diamond est bourré de fonctionnalités cachées. Par exemple : la surface des boutons en-dessous de l'écran est en fait un capteur capacitif (comme l'écran de l'iPhone), mais n'est pas exploité par le système existant (en dehors de la rotation autour du bouton central, très pratique pour zoomer ou faire défiler une liste). Autre exemple : la rotation automatique de l'écran en fonction du détecteur de mouvement ne fonctionne que pour quelques applications (comme le browser Opera), or il existe un petit add-on ("GSenToggle") qui permet de l'activer pour toutes les applications.)

Alternative : HTC Touch HD

Outre le HTC Pro, HTC est sur le point de sortir le HTC Touch HD :

  • pas de clavier
  • quasi aucun bouton
  • écran encore plus haute résolution (480x800)
  • plus de mémoire
  • touchscreen encore plus sensible
  • port SD
  • jack sépare pour les écouters (sur le Diamond il faut utiliser un cable spécial qui se branche sur l'USB)
  • caméra 5MP

Si tu es plus aventureux, tu peux aussi attendre la sortie du HTC Dream (a.k.a G1), basé Androïd. Mais la c'est un tout autre système.

Sélection d'applications

Une petite sélection d'appli WinMo intéressantes :

  • Total Commander (File Manager & Registry Editor)
  • Sprite Explorer (Registry Editor à partir du PC, nécessaire pour certains type de registry key pas éditables avec Total Commander)
  • Sprite Backup (pour pouvoir faire un full backup) (payant)
  • KeePassPPC (passwords manager)
  • GSenToggle (basculement automatique de l'écran)
  • Mobipocket (lecteur d'e-books)
  • Pocket Lemmings (pour les nostalgiques)
  • acbTaskMan (pour pouvoir killer les process envahissants) (pas terrible, mais stable. Je n'ai pas encore trouvé mieux et gratos.)
  • BeeTag ou i-nigma ou QuickMark (pour scanner les codes barres 2D) (note: je suis d'ailleurs désespérément à la recherche d'une appli équivalente (gratos) pour les codes barres linéaires)
  • Skype (très utile pour téléphoner à l'étranger depuis n'importe où à la maison; J'ai déjà testé via le WiFi, mais pas encore via le 3G. Il paraît que certains opérateurs bloquent l'accès à Skype via le 3G pour éviter la concurrence, mais je n'ai pas encore vérifié ça chez Proximus.)
  • Spb GPRS Monitor (pour comptabiliser les coûts de connexion data GPRS ou 3G) (appli payante)
  • MyMobileR (pour utiliser le téléphone à partir d'un PC)
  • WMWifiRouter (pour transformer le GSM en point d'accès internet sans fil)

Indispensables à mon avis :

  • un File Manager
  • un Registry Editor
  • un programme de full backup
  • Skype
  • selon le forfait : un programme de monitoring des connexions data

Envoyez-moi vos commentaires.