FAQ

Sappiamo che la domanda principale
a cui vorresti avere una risposta è:
“Quanto costa un’app?”

Vorremmo essere in grado di darvi una risposta. Davvero!
La realtà è che fare un’app significa realizzare un software con funzionalità spesso “semplici”, ma con vincoli unici dati dai dispositivi su cui verrà eseguita.

Questo porta necessariamente a riuscire a dare un valore alla realizzazione di un’app solo a seguito di un’approfondita analisi dei suoi requisiti grafici e funzionali e a tutto il contesto.

Per questo abbiamo raccolto in questa pagina le domande (e relative risposte) che più spesso ci vengono rivolte. Se poi dovessi avere ancora qualche dubbio, puoi sempre contattarci!

CHI...

Chi è Tiknil?
Tiknil è una s.r.l. fondata da Butti Fabio e Tribbia Riccardo a Trento, l’11/04/2016.
Chi sono i vostri clienti principalmente?
Forniamo i nostri servizi ad aziende che necessitano dello sviluppo di app per i propri clienti oppure per i propri prodotti.


Alcuni nostri clienti sono aziende che forniscono servizi tecnologici come lo sviluppo software, l’automazione, l’elettronica e la consulenza ingegneristica di alto livello che vogliono fornire nuovi strumenti nel mondo delle app.

Altri clienti sono invece legati al mondo della pubblicità e della grafica e, per svariati motivi, si trovano a voler realizzare contenuti digitali anche sulle app.

I settori dei clienti per cui abbiamo lavorato li puoi trovare qui
Di chi vi avvalete per i progetti? Chi sono i vostri partner?
Siamo un team di 7 persone tra ingegneri informatici, programmatori e tester. Ci facciamo aiutare spesso da nostri partner per le più svariate esigenze.

DOVE...

Dove siete?
Si può collaborare da remoto?
Certamente: prediligiamo gli incontri di persona soprattutto in fase progettuale e, a intervalli regolari, durante il lavoro per velocizzare le comunicazioni ma siamo abituati a lavorare da remoto e ad utilizzare gli strumenti di comunicazione adeguati.
Dove sono i vostri clienti?
Sono soprattutto in Lombardia, in zona Bergamo-Milano, e qualcuno in Trentino ma veniamo volentieri a trovarvi dove siete voi.

COSA...

Che tipo di app fate?
Realizziamo app per smarphone e tablet sui due principali sistemi operativi: iOS (Apple) e Android.

Abbiamo realizzato app di vari settori, come puoi vedere qui.

Se hai dubbi sul realizzare un’app nativa o cross-platform leggi anche queste domande.
Vi occupate anche della grafica delle app?
Se il cliente ne ha necessità sì: ci avvaliamo di collaboratori con cui lavoriamo da alcuni anni e che conoscono molto bene il nostro modo di progettare.

In caso contrario affianchiamo il cliente nella fase di progettazione del proprio reparto grafico, fornendo l’esperienza maturata in questi anni
Realizzate anche i portali di amministrazione (backend) per gestire i contenuti e gli utenti delle app?
Sì. Possiamo anche progettare e realizzare l’integrazione con portali o sistemi esistenti per permettere al cliente di fare entrare il “prodotto app” all’interno dei propri processi aziendali già esistenti
Avete un prodotto o una piattaforma già pronta personalizzabile per ciascun cliente?
No

COME...

App native / Cross-platform

Realizzate solo app native?
Soprattutto, sì, ma non solo. Realizziamo app cross-platform nel modo più “nativo” possibile allo stato dell’arte tramite l’utilizzo di React Native e Flutter
Cosa significa “app nativa”?
Per “app nativa” si intente un’app che viene sviluppata utilizzando gli strumenti ed il linguaggio di sviluppo “prediletto” per quella specifica piattaforma.

Le app iOS (Apple) native vengono sviluppate con XCode (o AppCode) in linguaggio Swift (fino agli anni scorsi sviluppavamo con Objective-C)

Le app Android native vengono sviluppate con AndroidStudio in linguaggio Kotlin o Java
Cosa significa “app cross platform”?
Per “app cross-platform” si intente un’app che viene sviluppata utilizzando un solo strumento ed un solo linguaggio per realizzare app per diversi sistemi operativi.

Esistono diversi strumenti per realizzare app cross-platform divisi essenzialmente tra “web”, “ibridi” e “nativi”. Noi sviluppiamo “app cross-platform” in modo nativo con l’utilizzo del framework di Facebook React Native o con il toolkit di Google Flutter.
Quali sono i pro/contro di un’app nativa?
Pro

  • Utilizzo diretto di tutte le funzionalità (sia hardware che grafiche) messe a disposizione dalla piattaforma

  • Possibilità di sfruttare al massimo tutte le risorse native per lo sviluppo e il debugging

  • Raggiungibilità massima delle performance

  • Nessun limite se non quelli legati al dispositivo stesso


Contro

  • Sviluppo da zero per ciascuna piattaforma

  • Impossibilità di condividere il codice tra le piattaforme

  • Manutenzione diversa per ciascuna piattaforma

Quali sono i pro/contro di un’app cross-platform?
Pro

  • Sviluppo delle funzionalità principali unico per le varie piattaforme

  • Manutenzioni di un codice unico

  • Tempo di sviluppo su più piattaforme ridotto


Contro

  • Limiti di sviluppo dati dal minimo comun denominatore dei limiti delle varie piattaforme

  • Performance limitate rispetto alle app native

  • Aggiunta di un “livello di astrazione” che complica il debugging e il controllo dell’hardware dei dispositivi

  • Necessità di sviluppo dedicato per ciascuna piattaforma per alcuni aspetti specifici

Come si sceglie se sviluppare un’app nativa o cross-platform?
Per fare questa scelta sono molti i fattori che bisogna tenere in considerazione e dipendono molto dal tipo di app che si vuole realizzare: sistemi operativi e dispositivi target, tempi, costi, performance, manutenibilità, uso di funzionalità hardware o grafiche avanzate, etc.

Per un’app che ha necessità di performance avanzate o dell’utilizzo a basso livello di determinate risorse hardware sarà più sensato rivolgersi ad un’app nativa. Oppure, se si sta pensando di realizzare un’app per un unico sistema operativo perché verrà fornita insieme all’hardware (si pensi alle app intra-aziendali, per esempio)

Diversamente, per app che fanno uso di funzionalità “standard” come le foto, i contenuti multimediali comuni e la necessità di aver il prima possibile l’app su più piattaforme, avrà sicuramente più senso proporre la realizzazione di un’app cross-platform
Quando cambia il costo tra un’app nativa e una cross-platform?
Nella norma il costo di un’app cross-platform è inferiore a quello di un’app nativa realizzata per più di una piattaforma.

È uso comune considerare il costo di un’app cross-platform come la metà dello sviluppo di due app native. Dalla nostra esperienza possiamo dirvi che non sarà mai così in quanto, seppur si riesca a “risparmiare tempo” sviluppando alcune parti di codice condiviso per più piattaforme, sarà sempre necessario eseguire dei test e dei funzionamenti differenti tra le piattaforme.

Metodologie di pagamento

Come avvengono i pagamenti di un progetto?
Dipende dalla metodologia concordata in fase di preventivo.

Nel caso sia stato preventivato un progetto con un costo totale solitamente verranno concordati un pagamento di anticipo alla firma del contratto, dei pagamenti intermedi di stato avanzamento lavori che possono coincidere con i rilasci intermedi delle versioni di prova delle app e un pagamento di saldo finale.

Nel caso sia stato considerata più adeguata una metodologia Agile/Scrum i pagamenti avverranno a seguito del termine di ciascuno Sprint
Valutate pagamenti tramite equity aziendali?
No

Lavoro per un cliente terzo

Ci sono problemi a partecipare ad incontri con il cliente finale?
Assolutamente no, anzi.

Ci teniamo quanto possibile a partecipare alla progettazione fin dagli inizi, per portare la nostra esperienza a beneficio del prodotto finale fin dai suoi primi passi.
È possibile far realizzare un’applicazione senza che Tiknil possa referenziarne lo sviluppo nei propri canali di comunicazione?
Sì, possiamo prenderlo in considerazione in fase di contrattazione iniziale del progetto

Pubblicazione delle app

Come si distribuiscono le app?
Le app possono essere distribuite su più canali: il più comune sono gli AppStore specifici per ciascuna piattaforma.

È poi possibile distribuire le app direttamente a degli utenti specifici, ma ci sono delle limitazioni diverse in base alla piattaforma.

Per le app iOS è possibile:
   - Rilasciare le app a utenti specifici per un periodo di tempo limitato come “beta testing”
   - Rilasciare le app all’interno della propria azienda con un account di tipo enterprise

Per le app Android è possibile:
   - Rilasciare le app agli utenti in maniera diretta
Come funziona la pubblicazione di un’app su AppStore?
Una volta condiviso con il cliente che l’app è pronta per la pubblicazione essa verrà caricata sull’account di ciascun AppStore con il quale verrà pubblicata.

Sarà quindi necessario fornire una descrizione dell’app, degli screenshot accattivanti e un profilo di prezzo per poter inviare l’app.

Su AppStore di Apple avverrà una “review” dell’app da parte di un team che controlla che l’app soddisfi le guidelines dello store a seguito della quale l’app potrà essere pubblicata. Queste review possono durare da alcuni giorni a qualche settiamana in modo diverso in base ai periodi dell’anno.

Su PlayStore di Google l’app verrà controllata da sistemi automatici che ne controlleranno la non-malevolezza e verrà pubblicata a breve. Queste aziende eseguono dei controlli “spot” delle app per controllare che esse non esulino dai Termini e Condizioni dello store, condizione che porta alla rimozione delle app dallo stesso.
Che costi ci sono?
I costi sono legati all’account di ciascuno store.

Per l’account di Apple AppStore c’è un costo annuale diverso se si vuole rilasciare le app nello store “pubblico” (99$) o in un proprio store “Enterprise”(299$).

Nel caso di PlayStore di Google c’è un costo una-tantum (25$) per l’apertura dell’account di pubblicazione.
Chi se ne occupa?
In base a quanto concordato in fase di contrattazione economica sarà il cliente stesso oppure Tiknil a provvedere a tutte le fasi di pubblicazione
Di chi sarà l’account della pubblicazione dell’app?
Di chi deciderà il cliente. Se il cliente ritiene importante avere le app sui propri account sarà nostra cura assistervi nella creazione di questi per le varie piattaforme.
È conveniente iniziare questo processo di “apertura” degli account sulle varie piattaforme molto prima che si abbia bisogno di pubblicare l’app in quanto a volte questo richiede più tempo di quanto si pensi.

Qualora il cliente non volesse espressamente aprire degli account per la pubblicazione si potrà considerare di pubblicare le vostre app tramite gli account di Tiknil.

Facciamo presente che in tutti gli store al di sotto del nome dell’app viene presentato il nome dell’account di chi l’ha pubblicata.

Realizzazione delle app

Qual è il flusso di lavoro per realizzare un’app?
Quali possono essere le metodologie di gestione di un’app?
Sicuramente ci sono molte metodologie di gestione dello sviluppo di un software e non possiamo qui esporle con completezza.

Quello che proponiamo solitamente sono due approcci, per progetti e team con necessità differenti:

  1. Waterfall
  2. Agile/scrum

Il primo consiste nell’analizzare e progettare all’inizio tutto lo sviluppo e realizzare completamente l’app, avviamo dei beta-test solo al termine di tutto lo sviluppo. E’ utile per progetti molto bene definiti o con app gemelle già esistenti o per progetti abbastanza “piccoli”.
Il secondo invece consiste nell’analizzare e progettare “a grandi linee” il progetto nella fase iniziale, ma suddividendone poi in piccoli passi la progettazione-sviluppo-testing specifico, così da realizzare in continuazione dei prototipi che il cliente può vedere, valutare e così pianificare i prossimi passi
Cosa significa “beta testing”?
Per “beta testing” si intende il test dell’app effettuato su un campione di utenti del pubblico a cui verrà destinata l’app.
Consigliamo sempre ai nostri clienti di dargli l’ importanza che merita per raccogliere preziosi feedback per il successo dell’app.

Esso è chiamato “beta” in quanto l’”alpha” testing è quello che viene effettuato dal team che sviluppa il software stesso in base alle proprie conoscenze e metodologie di utilizzo.
Come si internazionalizza l'app?
L’internazionalizzazione delle app è una funzionalità a volte sottovalutata ma molto importante ed è da tener conto fin da principio.

Essa viene implementata sicuramente con la traduzione dei testi, ma anche con la formattazione delle date e degli orari, le unità di misura iniziali, la direzione della lettura del testo e così via.
Fornite servizi di traduzione?
Non direttamente, se necessario usufruiremo di collaboratori esterni
Come si possono ricevere pagamenti tramite un'app?
Il metodo di pagamento “prediletto” dalle app è il pagamento tramite gli account degli store: sono i cosiddetti “in-app purchases” e vengono eseguiti tramite lo stesso store delle app.
Questi acquisti sono per lo più riferiti ai “digital-goods”, ovvero ai prodotti digitali legati all’uso dell’app stessa.

Se invece si sta parlando di pagamenti di beni fisici o di servizi erogati “fuori” dall’app è possibile usufruire di diverse modalità di pagamento. Ci sono i sistemi di pagamento legati alla piattaforma specifica (Apple Pay e Google Pay) ma è possibile anche l’integrazione di pagamento tramite carte di credito, PayPal o altri servizi similari.
Quali sono i modelli di business possibili legati al mondo delle app?
Sicuramente ci sono siti più autorevoli che possono darvi risposte più esaustive. Di seguito un elenco dei più conosciuti modelli di business delle app:
  • Advertisement: solitamente utilizzato dalle app gratuite, il modello di business legato alla pubblicità (banner e video) è sfruttato dalle app che hanno un pubblico ampio e un’uso frequente

  • Freemium: app con funzionalità ridotte in versione free e complete in quella a pagamento

  • Paid: app a pagamento

  • Transactional: app che forniscono la possibilità di pagare per prodotti o servizi e trattengono una fee per ogni transazione

  • In-app purchases: app che permettono l’acquisto in-app di funzionalità o digital-goods all’interno dell’app stessa

Manutenzione ed assistenza

Come avviene la manutenzione di un’app?
La manutenzione di un’app (o in generale di un sofware) si può suddividere in:
  • Manutenzione correttiva
  • Manutenzione adattiva

Per manutenzione correttiva intendiamo la risoluzione dei bug, termine generico che può indicare un malfunzionamento del sofware in base a condizioni non previste o non identificate durante lo sviluppo e i test.

Per manutenzione adattiva si intende la gestione delle modifiche al software dovute per mantenerne il corretto funzionamento all’aggiornamento dell’ambiente (sistemi operativi, hardware, API di terze parti, etc.).
Fornite un sistema di Issue Tracker?
Per semplificare il monitoraggio dei “bug” ancora da risolvere, in fase di risoluzione o già risolti in una certa versione forniamo ai nostri clienti un sistema di issue tracking apposito per ciascun progetto
Cosa succede se un’app “crasha”?
In Tiknil utilizziamo vari strumenti allo stato dell’arte che ci permettono di monitorare se le app crashano, così da permetterci di investigare sui motivi del problema e quindi risolverlo

Non abbiamo risolto i tuoi dubbi?

Contattaci

Compila il form sottostante per entrare in contatto con noi!
Ciao, mi chiamo
di

e vorrei fare due chiacchiere con voi riguardo a

La mia mail è

Vi lascio qualche informazione in più: