May 2009 - Messages

Projet pilote, les premiers tests
28 May 09 03:15 AM | Nico | avec no comments

Nous démarrons depuis le début de la semaine, un projet pilote Web. Cette démarche est nécessaire pour nous à plusieurs titres:

  • une logique de test grandeur nature, pour mettre notre serveur applicatif à l'épreuve; passer partout dans notre code, et multiplier les Use Case est évidemment fondamental pour notre produit. Nous avons à ce sujet 2 règles d'or:
    • en phase de développement, toujours passer en mode pas à pas dans toutes les lignes de code écrit.
    • corriger un bug tout de suite, dès qu'il est détecté. Cela peut conduire à se disperser, surtout au début, quand un scénario révèle plusieurs bugs qui n'ont rien à voir du tout d'un seul coup, mais c'est vital pour être efficace.
  • une validation de l'approche, en montrant qu'on atteint une application d'un niveau professionnelle, sans aucune restriction de customisation. L'essentiel de l'effort est porté sur la conception métier, on a une logique permanente d'état fini, et le résultat est visible tout de suite sans aucun effort.
  • la mise en avant de best-practise qui accompagne notre produit; il y a toujours mille et une façons de développer une application. Notre logique de Binding ouvre des possibilités infinies, et il est essentiel d'être clair sur les "How to" fondamentaux. Cela permet de bien délimiter aussi la frontière entre l'inside et l'outside de la solution; qu'est ce que doit connaitre le développeur pour être efficace avec notre produit ?
  • la priorisation des futures features à développer; notre Road Map est bien fournie, il est important de bien ordonner les développements à venir, pour accroitre la valeur du produit. Faire la distinction entre les nice-to-have, et le must-have.
  • la réalisation d'une application interne qui va directement nous servir, puisqu'il s'agit d'un outil de CRM, dont nous avons besoin.

A ce jour, les premiers résultats sont plus qu'encourageant et enthousiasmant:

  • la rapidité de mise en oeuvre est bluffante ! Bien sur, nous connaissons parfaitement notre produit, donc nous allons d'autant plus vite pour configurer le Binding, mais le coup de main s'apprend facilement, et cet effort est vite récompensé par des effets visibles. L'enchainement des écrans, la dynamique du binding, permettent une mise en oeuvre d'un Use Case en quelques minutes. Le confort d'une application full Ajax sans effort est vraiment très satisfaisant.
  • l'essentiel de l'effort est bien porté sur la conception métier; comment organiser les données ? au niveau des schémas Entité/Relations, et aussi au niveau des différents DataSet dans le client. Comment organiser les Vues, avec quel niveau de détail pour le layout ? Comment nommer correctement les choses ? Ce qui est certain, et qui reste un de nos principaux objectifs, c'est qu'aucun choix n'est structurant. Il est facile de modéliser un premier jet, de le tester, puis de le modifier, pour arriver à l'application qui correspond à ce que l'on veut. Ces allers et retours sont constants, le cycle devient vite naturel. On commence à travailler avec un stockage XML, qui évite la rigidité du modèle physique de la base de données. C'est très souple, on ajoute, on enlève, on modifie, et ca marche ! Nous passerons à une base physique dès qu'une partie du modèle sera stable, et la migration sera totalement transparente et gratuite. Le code logique d'accès aux données est en effet complètement indépendant de son stockage physique, et ce sera également le cas pour le Cloud Computing.
  • le peu de code à écrire s'écrit très facilement; pour l'instant, seul le chargement des données et quelques validateurs ont nécessité d'écrire quelques lignes de code. Ce code est simple, séquentiel, purement métier, et totalement indépendant du reste du monde. Une vingtaine de lignes ont été écrites et j'ai déjà un scénario qui fonctionne avec de la sécurité, et 5 formulaires qui me permettent d'éditer mes données.

Le seul bémol, et sur le quel nous ne pouvons pas grand chose, est l'habillage graphique, qui nécessitera un vrai travail ultérieur au niveau de la CSS.

Classé sous : , , ,
Startup Academy
18 May 09 04:13 AM | Nico | avec no comments

Aspectize est inscrit à la Startup Academy.

Cela fait partie des opportunités saisies pour "sortir du bois".

Le descriptif de notre candidature est ici, la liste de tous les participants est .

Classé sous : ,
Première démo web en images
13 May 09 03:42 AM | Nico | avec no comments
Cela fait maintenant plus de 2 ans que nous développons notre produit, et 1 an que nous travaillons sur la partie Web.

Si la version Windows avait suscitée de la curiosité, il était rare de recueillir un réel enthousiasme de la part des développeurs à qui nous montrons nos démos. Cela impressionnait, il y avait beaucoup de questions pour savoir comment on avait fait, mais pas d'extase pour autant. 
 
Depuis quelques semaines, et avec une démo Web, on sent que l'enthousiasme est nettement plus significatif. Plusieurs personnes ont lachées des "Oh !" et des "Whaou !", et cela fait très plaisir. On sent que la valeur de notre solution a bien plus de portée avec les applications Web. Peut être parce que le Web est plus au centre de leur préoccupation, peut être aussi parce que c'est plus difficile, peut être aussi parce que la rupture est bien plus grande.

Il faut bien comprendre que si notre innovation était déjà conséquente pour les applications Windows, elle constitue une petite révolution pour le développeur Web et en particulier pour le développeur ASP.Net:
  • Contrôle total sur le HTML, puisqu'aucun HTML n'est généré côté serveur. Cela est extrêmement facile, il n'y aura plus de mauvaise surprise par des balises générées, et tout est habillable facilement en CSS.
  • Assemblage logique et dynamique de contrôles HTML; il n'y a plus de notion de pages, tout le layout est complètement dynamique et se configure en quelques clics de souris.
  • Contrôle total sur les allers/retours entre client et serveur; les seuls échanges sont des échanges de données, pilotés par le Command Binding déclaratif.
  • Comportement Ajax natif sans la moindre écriture de code; la synchronisation des données est bluffante, et il n'est pas nécessaire de connaître javascript.
J'en ai profité pour tester Camtasia et j'ai réalisé une petite vidéo de démo:



Ainsi, en quelques minutes et avec quelques clics de souris, on dispose d'une application Web, qui aurait pris plusieurs heures à développer avec ASP.NET.
 
Nous verrons dans les jours prochains, étape par étape, comment mettre tout cela en oeuvre et aller beaucoup plus loin.
Classé sous : , , ,