Aller au contenu principal

📊 ulives vs LifeUp — Pourquoi nous avons tout reconstruit

LifeUp est une application pionnière de productivité gamifiée que nous avons lancée en 2018, et ulives en est le successeur spirituel officiel — reconstruit de zéro pour un avenir multiplateforme. Ce document explique les différences, les raisons de la réécriture, et ce à quoi s'attendre des deux applications à l'avenir.


Comparaison rapide

LifeUp (人升)ulives
PlateformeAndroid uniquementiOS · iPadOS · macOS · Android
TechnologieAndroid natif (Java / Kotlin)KMP + SwiftUI / Jetpack Compose
Sortie20182025
TarificationTéléchargement payant¹Téléchargement gratuit + abonnement Premium
InterfaceMaterial Design 2 + 3 (double)Design natif par plateforme (SwiftUI / Compose)
Synchronisation de données multiplateformeNon prévueFormat de données universel sur toutes les plateformes
Fonctionnalités en ligneModule World (basique)Pas encore — bibliothèque d'assets en ligne prévue
API / Extensibilité✅ API ouverte + SDK open source²❌ Pas encore (conception multiplateforme nécessaire)
Import de données LifeUp✅ Pris en charge
Export de données✅ Export complet✅ Export complet

¹ Également disponible via Google Play Pass dans certaines régions.
² Inclut LifeUp Cloud, LifeUp SDK, et LifeUp Desktop.


Pourquoi reconstruire plutôt que mettre à niveau

1. Verrouillage plateforme

LifeUp a été entièrement construit avec une technologie Android native (Java, puis Kotlin). Le porter vers iOS, HarmonyOS, le bureau ou le web n'a jamais été réalisable — la base de code ne pouvait tout simplement pas être réutilisée. Pour atteindre des utilisateurs au-delà d'Android, une réécriture complète était la seule voie.

2. Dette technique accumulée

L'architecture initiale de LifeUp a fait des compromis pragmatiques pour la rapidité :

  • Couche base de données : choisie pour le prototypage rapide mais devenue un goulot d'étranglement de performance à l'échelle
  • Migrations du système d'attributs : commencé avec 6 attributs fixes → 6 attributs personnalisables → liste entièrement personnalisable avec regroupement — chaque migration a empilé de la complexité sur l'ancien code
  • Double maintenance UI : nous supportons encore les thèmes Material 2 et Material 3, doublant l'effort de design et QA pour chaque changement

Ce sont de vrais problèmes, mais les corriger sur place signifierait réécrire la majeure partie de l'application — avec un risque constant de casser les données utilisateur existantes.

3. Contraintes de conception des décisions initiales

LifeUp a grandi organiquement grâce aux retours de la communauté — une force, mais qui a verrouillé de nombreuses fonctionnalités et schémas d'interface. Les modifier sur place casserait des données, des flux de travail, ou les deux :

  • Styles UI figés — nous maintenons encore les thèmes Material 2 et Material 3 côte à côte ; chaque écran existe en deux variantes, donc une refonte visuelle ou structurelle signifie doubler design, code et QA pour chaque changement
  • Modèle de stockage des répétitions de tâches — les tâches répétées génèrent des clones d'instances par occurrence plutôt qu'un modèle de cycle unifié ; ce schéma est tissé dans l'historique, les récompenses, les statistiques et les exports — le repenser touche presque tous les modules
  • Pièces d'or comme système de premier niveau — les pièces ne sont pas qu'un autre objet ; elles ont un stockage, une UI et des API dédiés. La boutique, la synthèse et l'inventaire ont été construits autour de cette monnaie plate, d'où le sentiment de déconnexion de ces systèmes
  • Règles de récompense intégrées (nombre de pas → XP Force, likes → récompenses, succès système fixes) — des « règles définies par l'app » précoces qui ne correspondent pas à l'éthos entièrement personnalisable vers lequel nous avons évolué
  • Vues d'historique dispersées — historique des tâches, registres de pièces, enregistrements de minuteurs et inventaire sur des écrans séparés avec des formes de données différentes
  • Mécaniques du module World — une expérience en ligne précoce avec sa propre logique serveur ; nous maintenons les bases, mais l'étendre nécessiterait de réarchitecturer des coûts et modèles de données jamais conçus pour l'échelle
  • Multiples canaux de connexion — Google, e-mail, téléphone et autres chemins accumulés au fil des ans ; la liaison de compte, la récupération et le transfert de licence ont grandi autour de chacun, ajoutant de la friction à chaque intervention sur l'auth ou le support

Ce ne sont pas des bugs isolés — ce sont des années de données et d'habitudes utilisateur réelles intégrées au produit. Les refactoriser un par un signifie quand même réécrire la majeure partie de l'application.

4. Nous ne pouvions pas soustraire

Chaque fonctionnalité de LifeUp a des utilisateurs qui en dépendent. Supprimer ou repenser quoi que ce soit sur place casserait le flux de travail de quelqu'un. Un nouveau départ nous a donné la liberté de faire des choix délibérés sur ce qu'il fallait conserver.


Ce qu'ulives apporte

Nouvelles fonctionnalités (ulives uniquement)

FonctionnalitéDescription
Jours de compte à reboursSuivez les dates à venir et les jalons aux côtés de vos tâches
Profils multiplesBasculez entre des configurations entièrement séparées (ex. « Travail » vs « Personnel »)
Capsules de tâchesRegroupez les tâches en capsules repliables pour une organisation plus claire
Chronologie d'activité unifiéeUn fil défilable pour tout l'historique — tâches terminées, récompenses échangées, minuteurs, et plus
Monnaie → Système d'objetsLa monnaie n'est plus un concept séparé — les pièces sont des objets, et les objets peuvent être des monnaies
Modes FocusPomodoro avec Live Activities (Dynamic Island), widgets iOS
Support iPad et macOSAdaptation complète grand écran pour tablettes et ordinateurs de bureau
Sauvegarde iCloudSauvegarde et restauration fluides natives Apple
Changement d'icône d'applicationChoisissez parmi plusieurs icônes d'application sur iOS
Widgets iOSWidgets écran d'accueil et écran verrouillé pour consulter rapidement les tâches

Fonctionnalités pas encore dans ulives

Ces fonctionnalités LifeUp n'apparaîtront pas immédiatement dans ulives. Nous pourrons réintroduire des versions affinées plus tard :

  • DAB (simulation d'intérêts composés)
  • Minuteurs de compte à rebours d'objets
  • Succès système et récompenses intégrées
  • Mapping récompense attribut ← nombre de pas
  • Mapping récompense ← nombre de likes

Les avantages durables de LifeUp

Malgré son âge, LifeUp reste fort dans plusieurs domaines :

AvantageDétails
Stabilité AndroidDes années de tests sur le terrain et de polish sur la plateforme
Listes intelligentesFiltrage et regroupement avancés des tâches
Écosystème API ouvertAPI REST pour interroger et modifier les données de l'application par programmation
Écosystème open sourceLifeUp Cloud (sync auto-hébergée), LifeUp SDK (Java/Kotlin), LifeUp Desktop (compagnon multiplateforme)
Intégration automatisationFonctionne avec Tasker, scripts personnalisés, agents IA et autres outils d'automatisation
Prix plus basAchat unique (sans abonnement) dans la plupart des régions
Ensemble de fonctionnalités matureTout a été affiné au fil d'années d'utilisation réelle

L'écosystème API en particulier donne à LifeUp une couche « developer-friendly » qu'ulives ne correspond pas encore. Les utilisateurs ont construit des flux sophistiqués — suivi d'habitudes automatisé avec Tasker, génération de tâches par IA, tableaux de bord personnalisés — en combinant l'API LifeUp avec d'autres outils.


Tarification et modèle économique

LifeUp et ulives sont des applications distinctes avec des stores, achats, licences et données séparés. Importer une sauvegarde LifeUp dans ulives ne transfère pas votre licence LifeUp.

Pourquoi ils ne peuvent pas partager un seul achat

LifeUp a toujours été construit avec une technologie Android native pure. Comme il est confiné à une seule plateforme, le prix de LifeUp a été intentionnellement bas — il n'est pas réaliste qu'un achat rachète l'ensemble du portfolio d'un développeur pour toutes les futures applications.

Sur Google Play, l'abonnement à vie LifeUp a commencé autour de 1 USD et a été ajusté au fil des ans à environ 4 USD aujourd'hui — toujours extrêmement bas (de nombreuses applications comparables se lancent à 30–40+ USD à vie ou augmentent leurs prix chaque mois). Sur les canaux Android domestiques, l'abonnement permanent est passé d'environ ¥6 à ¥29,8 sur environ huit ans après l'introduction de l'abonnement. Ces revenus ne suffisent pas à financer le développement à plein temps de LifeUp seul, sans parler de la maintenance et des opérations multiplateformes d'ulives.

ulives est une réécriture greenfield sur une technologie multiplateforme (KMP), construite par une équipe différente sur une nouvelle stack — ulives n'existait pas lorsque les prix de LifeUp ont été fixés. Son prix reflète le coût de développement, une équipe pas entièrement unifiée, et la maintenabilité à long terme sur plusieurs plateformes.

Nous pourrions rendre les deux abonnements interchangeables. Ce serait une vente groupée : quiconque a acheté le niveau à vie à bas prix de LifeUp obtiendrait aussi ulives pour toujours. La façon honnête d'offrir ce bundle serait de relever substantiellement le prix de LifeUp dès le départ pour qu'un achat couvre les deux applications. Nous avons choisi de ne pas le faire — LifeUp conserve ses tarifs Android uniquement, et ulives est vendu séparément. Les deux applications offrent un abonnement à vie à des prix bien en dessous de la plupart des produits comparables — mais elles couvrent des périmètres différents et ne peuvent pas partager les droits aujourd'hui.

Les membres payants LifeUp ne perdent rien. La non-interchangeabilité avec ulives ne fait pas reculer les avantages LifeUp. LifeUp a connu huit ans de maintenance et de mises à jour fonctionnelles depuis l'introduction de l'abonnement ; les utilisateurs payants existants continueront de recevoir leurs droits, et nous restons engagés dans le développement de LifeUp — y compris des sorties récentes substantielles comme le serveur MCP.

ulives est conçu pour que le Premium Access fonctionne éventuellement sur iOS, Android et HarmonyOS avec des données et avantages partagés. Nous n'exploitons pas encore de serveur ni de système de compte, donc les droits reposent actuellement sur la validation des achats intégrés de chaque plateforme. Le rachat multiplateforme précoce peut nécessiter de nous contacter pour des codes spécifiques à la plateforme ; nous prévoyons d'introduire la gestion de compte côté serveur lorsque ce sera prêt.

LifeUp sur Google Play : téléchargement payant

Sur Google Play, LifeUp utilise le téléchargement payant plus un abonnement à vie relativement bas. Cette double barrière limite le nombre de personnes pouvant essayer l'application, ce qui réduit les retours et l'élan des mises à jour — et finit par nuire à l'expérience des membres existants aussi.

LifeUp porte aussi des coûts serveur continus, une large base de membres à vie à faible barrière, et de nombreuses demandes manuelles de transfert de licence — y compris des utilisateurs d'il y a des années qui ont besoin d'aide pour retrouver des comptes parmi de nombreuses méthodes de connexion. Ces coûts opérationnels limitent encore ce que nous pouvons réinvestir.

Au-delà du code : le support qui vole du temps de dev

Nous sommes une petite équipe indépendante qui développe sur son temps libre — pas une entreprise avec un service client dédié. Chaque heure passée sur les e-mails, les transferts de licence ou des négociations ponctuelles est une heure en moins pour corriger des bugs ou livrer des fonctionnalités pour tout le monde, y compris les membres payants.

Les captures ci-dessous sont réelles (informations personnelles masquées). Environ un mois durant, le même utilisateur a envoyé de nombreux e-mails à notre adresse de support LifeUp — demandant à plusieurs reprises de fortes réductions ou un accès gratuit, sollicitant des comparaisons détaillées avec Habitica, Do It Now, Skillion, et plus tard ulives, et nous demandant de prouver que l'application valait l'achat avant de payer. Nous avons répondu quelques fois, mais le volume et les allers-retours ont rapidement dépassé ce que nous pouvions assumer en parallèle du développement ; nous avons dû cesser d'interagir.

Boîte de support LifeUp : demandes répétées de réduction et de comparaison sur un mois

Lorsque ulives Android a reçu sa première évaluation publique sur le store, nous avons reconnu le même nom — une note d'une étoile sur une early build alpha avec le commentaire « Ne marche pas bien ! » (« Doesn't work well! »).

ulives Android : première évaluation store sur une early build alpha

Nous ne partageons pas cela pour stigmatiser qui que ce soit. Les contraintes budgétaires sont réelles, et nous comprenons la frustration. Mais ce schéma — attendre d'un projet à deux personnes sur temps libre un conseil personnel continu, des tarifs sur mesure et une « preuve avant achat » — entre en concurrence directe avec le temps de développement dont ulives et LifeUp ont tous deux besoin. C'est en partie pourquoi une tarification durable et des limites plus claires comptent : pour continuer à construire au lieu de nous noyer sous une charge de support insoutenable.

Investissement de développement ulives

Construire ulives a consommé beaucoup de temps et de ressources. Presque chaque fonctionnalité a été repensée à partir des retours utilisateurs avant d'être intégrée — par exemple, les Listes intelligentes ont été lancées avec listes intégrées, « My Day » et listes intelligentes personnalisées ensemble. Les outils IA, le polish et le travail App Store en cours ajoutent encore des coûts. Partager le prix ou l'abonnement de LifeUp n'est pas viable pour ulives.

Certains utilisateurs demandent pourquoi ulives ne peut pas partager l'abonnement LifeUp — y compris des questions sur les fonctionnalités Premium uniquement comme les succès à déblocage automatique. ulives et LifeUp sont des produits distincts avec des tarifs distincts. Les fonctionnalités Premium financent le développement multiplateforme et la maintenance à long terme.

Une boucle malsaine dont nous nous éloignons

Sur Google Play et les autres stores à l'étranger, LifeUp utilise toujours le téléchargement payant plus un abonnement à vie relativement bas — il n'y a pas de modèle de téléchargement gratuit avec « la plupart des fonctionnalités gratuites » sur ces marchés. Cette combinaison est difficile à maintenir à long terme :

  • Le téléchargement payant réduit la conversion — moins de personnes essaient l'application, ce qui signifie une croissance utilisateur plus lente, moins de retours et moins d'élan pour les mises à jour
  • Abonnement à vie à bas prix — après l'achat, les revenus récurrents sont limités, ce qui complique le financement des serveurs, du support et du développement continu
  • Le résultat : revenus insuffisants → moins de maintenance et mises à jour plus lentes → expérience dégradée pour tous, y compris les membres payants

ulives est intentionnellement tarifé pour briser cette boucle. Les niveaux d'abonnement, les restrictions de fonctionnalités et les plans multiplateforme sont conçus d'abord pour la maintenabilité à long terme — pour que les revenus continuent de financer le développement, les tests automatisés, l'adaptation plateforme et le support, plutôt que de répéter la voie non viable de LifeUp à l'étranger. Les produits sains ont besoin d'un prix raisonnable, d'une valeur membre raisonnable, de revenus développeur raisonnables, et de réinvestissement qui soutient la croissance.

ulives conçu pour la maintenabilité à long terme

Au-delà de la tarification, ulives est architecturé pour la durabilité :

  • Conception greenfield sur KMP — la logique métier centrale, les modèles de données et les règles sont construits une fois et partagés entre iOS, Android et HarmonyOS, avec une UI native par plateforme. Cela réduit le travail d'ingénierie dupliqué par rapport au maintien de bases de code natives séparées sur chaque plateforme
  • Charge opérationnelle continue plus faible — LifeUp porte aussi des coûts serveur, des transferts de licence manuels, la récupération de comptes via de nombreuses méthodes de connexion et d'autres tâches ops qui deviennent un fardeau à long terme. ulives est conçu pour éviter de répéter cette surcharge lorsque possible (les droits reposent encore aujourd'hui sur la validation du store de chaque plateforme ; la gestion de comptes côté serveur est prévue lorsque le produit sera prêt)

Fonctionnalités remontant vers LifeUp

Le développement d'ulives a aussi amélioré LifeUp. Exemples : fusion des systèmes boutique, entrepôt et synthèse, et extension des restrictions d'achat/utilisation.


Comment les deux applications vont évoluer

LifeUp : maintenance stable

Nous sommes engagés à maintenir LifeUp pour l'avenir prévisible. Cependant :

  • Le développement de nouvelles fonctionnalités est contraint — Android uniquement, compatibilité legacy sans tests automatisés complets, et dette accumulée (double maintenance Material 2/3, compromis performance base de données)
  • Nous développons prudemment et validons plus longtemps, en nous concentrant sur correctifs de bugs, performance, stabilité et améliorations incrémentales
  • Nous ne prévoyons pas d'ajouter de nouveaux modules de fonctionnalités majeurs
  • La parité des fonctionnalités existantes entre les thèmes Material 2 / 3 sera maintenue
  • L'écosystème open source (Cloud, SDK, Desktop) restera disponible

ulives : innovation audacieuse

ulives est là où nous investissons dans l'avenir :

  • Des tests automatisés extensifs nous permettent de modifier la logique en confiance
  • Couche de données partagée KMP — les changements de modèle de données peuvent être réutilisés sur iOS, Android, HarmonyOS et d'éventuelles cibles bureau futures avec une duplication minimale
  • UI native par plateforme — SwiftUI sur Apple, Jetpack Compose sur Android — pour une itération plus rapide et des fonctionnalités spécifiques à la plateforme (ex. Live Activities)
  • Fonctionnalités en ligne — nous prévoyons des bibliothèques d'assets en ligne, des modèles partagés et d'autres fonctionnalités communautaires jamais réalisables dans l'architecture de LifeUp

Données : import, export et continuité

CapacitéLifeUpulives
Exporter toutes les données✅ (BD + fichiers média)✅ (BD + fichiers média)
Importer des données LifeUp
Sync inter-applicationsPrévu (même format de données)

Si vous êtes un utilisateur LifeUp passant à ulives, vous pouvez importer votre sauvegarde LifeUp et reprendre là où vous en étiez. Les deux applications exportent des instantanés complets — y compris votre base de données et pièces jointes média — vos données ne sont donc jamais verrouillées.


Quelle application utiliser ?

Votre situationRecommandation
Utilisateur Android, besoin API / automatisationLifeUp — mature et riche en fonctionnalités
Utilisateur Android, veut les dernières fonctionnalitésulives sur Google Play — disponible maintenant, encore en amélioration ; ou LifeUp si vous avez besoin d'automatisation/API matures
Utilisateur iOS / iPad / Maculives — la seule option, et conçu pour les plateformes Apple
Utilisateur multiplateformeulives — les données se synchroniseront sur tous vos appareils
Utilisateur LifeUp « enfermé » sur Androidulives — importez vos données et gagnez la liberté multiplateforme
Android uniquement, veut le prix à vie le plus basLifeUp
Multiplateforme ou utilisateur Appleulives — achat séparé, Premium multiplateforme à long terme prévu
Veut essai gratuit + déblocage premiumulives

Résumé

LifeUp a été — et reste — une application remarquable qui a ouvert la voie à la productivité gamifiée sur mobile. Mais son architecture Android-only, sa dette technique accumulée et ses contraintes de conception legacy l'ont rendue impossible à faire évoluer en un produit multiplateforme moderne.

ulives est notre réponse : une reconstruction from scratch qui conserve l'âme de LifeUp (personnalisation profonde, progression inspirée RPG, gamification pilotée par l'utilisateur) tout en débloquant iOS, iPadOS, macOS et Android — le tout partageant une base de code et un format de données.

Les deux applications continueront. LifeUp obtient la stabilité ; ulives obtient l'innovation.