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 6 persone tra ingegneri informatici, programmatori e tester. Ci facciamo aiutare spesso da nostri partner per le piĂš svariate esigenze.
DOVE...
Dove siete?
Siamo a Bergamo (Pedrengo)
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 Java o Kotlin
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 (15âŹ) 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:
- Waterfall
- 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 e 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