PICKS
Disclaimer: Many of our customers have confidentiality agreements safeguarding their brand names from commercial purposes. Hence, you may encounter references such as “Client Name Confidential”, or the customer’s industry instead of the customer’s brand name.
Customer Requirements and Project Analysis
The customer presented a fascinating even if initially ill-defined request: he wanted to create a virtual currency exchanges management application. Despite the lack of detailed specifications and well-defined requirements at the start of the project the central objective was clear: to create an application that would allow users to invest virtual currency in project ideas or to exchange them with their colleagues either as a form of recognition or for personal pleasure.
The Challenge
The project faced several challenges starting with the lack of an initial detailed analysis which made the planning and execution of the development phases complex. This deficiency caused delays and obstacles during the course of the project. Fortunately, no particular stylistic or technical constraints emerged thus providing greater flexibility in the development.
From a technical point of view one of the most significant challenges was to ensure the interception of all API calls when the application was in the background. Under these circumstances the operating system blocks all incoming and outgoing calls causing a mismatch with the tokens and consequently a malfunction of the application. This challenge was met with dedication and in-depth study to ensure correct and consistent operation.
The Solution
The approach to the project was pragmatic: we proceeded directly with the design and development of the application partly due to tight deadlines. After defining the layout we moved on to direct implementation followed by a meticulous testing phase to identify and correct any bugs both logical and technical. All aspects of the project from user experience to user interface design and technical implementation were handled in-house without the assistance of any senior figures. However in the testing phase a dedicated expert from the QA team was involved.
Technologies, Implementation and Development Phases
The development process consisted of several stages. Initially the design of the application was created based on references found online as there was a lack of specific constraints and requirements in this area. This made it possible to create an attractive and user-friendly application. Subsequently, the implementation initially made use of React Native technology as it was the most familiar to the team. However, due to the need for greater robustness and better error handling, Flutter was later opted for as it was considered to be more performant and efficient to meet the project requirements.
Backend was handled with Node, involving Sircle Application Performance to ensure the consistency of the entire system. Many tests were conducted before a stable version of the application was released.
Conclusions
Despite the initial challenges and the lack of a formal measurement of benefits the project led to a concrete and positive result: the creation of a customized application with all the functionality required by the customer, providing a clear, fully functional, and user-friendly product.
PICKS
Case Study
Avviso: Molti dei nostri clienti hanno stipulato accordi di riservatezza che tutelano i loro marchi da scopi commerciali. Pertanto potresti incontrare diciture come “Nome Cliente Riservato” oppure vedrai riportato il settore del cliente invece del suo nome.
Richieste del Cliente e Analisi del Progetto
Il cliente ha presentato una richiesta affascinante, seppur inizialmente poco definita: desiderava la creazione di un'applicazione per la gestione degli scambi di valuta virtuale. Nonostante la mancanza di specifiche dettagliate e requisiti ben definiti all'inizio del progetto, l'obiettivo centrale era chiaro: creare un'applicazione che consentisse agli utenti di investire la moneta virtuale in idee di progetti o di scambiarla con i propri colleghi, sia come forma di riconoscimento che per piacere personale.
La Sfida
Il progetto si è trovato di fronte a diverse sfide, a partire dalla mancanza di un'analisi dettagliata iniziale, che ha reso complesse la pianificazione e l'esecuzione delle fasi di sviluppo. Questa carenza ha causato ritardi e ostacoli durante il percorso del progetto. Fortunatamente, non sono emersi vincoli stilistici o tecnici particolari, garantendo così una maggiore flessibilità nello sviluppo.
Dal punto di vista tecnico, una delle sfide più rilevanti è stata garantire l'intercettazione di tutte le chiamate API quando l'applicazione era in background. In queste circostanze, il sistema operativo blocca tutte le chiamate in entrata e uscita, causando un disallineamento con i token e, di conseguenza, un malfunzionamento dell'applicazione. Questa sfida è stata affrontata con dedizione e uno studio approfondito per garantire un funzionamento corretto e coerente.
La Soluzione
L'approccio al progetto è stato pragmatico: si è proceduto direttamente con il design e lo sviluppo dell'applicazione, in parte a causa delle scadenze stringenti. Dopo aver definito il layout, si è passati all'implementazione diretta, seguita da una meticolosa fase di testing per individuare e correggere eventuali bug, sia logici che tecnici. Tutti gli aspetti del progetto, dall'esperienza utente alla progettazione dell'interfaccia utente e all'implementazione tecnica, sono stati gestiti internamente, senza l'assistenza di figure senior. Tuttavia, per la fase di testing, è stato coinvolto un esperto dedicato del team QA.
Tecnologie, Implementazione e Fasi di Sviluppo
Il processo di sviluppo è stato articolato in diverse fasi. Inizialmente, il design dell'applicazione è stato creato basandosi su riferimenti trovati online, poiché mancavano vincoli e requisiti specifici in questo ambito. Questo ha permesso di creare un'applicazione attraente e user-friendly. Successivamente, l'implementazione ha inizialmente sfruttato la tecnologia React Native, essendo la più familiare all'interno del team. Tuttavia, data la necessità di una maggiore robustezza e una migliore gestione degli errori, si è optato successivamente per Flutter, considerata più performante ed efficiente per soddisfare le esigenze del progetto.
Per quanto riguarda il backend, è stato sviluppato utilizzando Node, coinvolgendo del Sircle Application Performance per garantire la coerenza dell'intero sistema. I test sono stati condotti con contribuendo a raggiungere una versione stabile dell'applicazione.
Conclusioni
Nonostante le sfide iniziali e la mancanza di una misurazione formale dei benefici, il progetto ha portato a un risultato concreto e positivo: la creazione di un'applicazione personalizzata con tutte le funzionalità richieste dal cliente, fornendo un prodotto chiaro e funzionale.