Hasi proiektu bat
Kasu azterketa / 01

Story256

Narratiba kolaboratiboko aplikazio bat, non istorioak zati bat eta beste bat hazten diren. ZubiLabs-ek eraikia, kontzeptutik App Store-ra.

  • Produktu propioa
  • [2018]–gaur arte
  • iOS eta Android
  • Rola: dena
  • Egoera: martxan
Story256: istorioen jarioa
01
Story256: zati bat idazten
02
Story256: adarren zuhaitza
03
01 — TestuinguruaProduktua

Story256 fikzio kolaboratiborako mugikorreko aplikazio bat da. Erabiltzaile batek istorio bat hasten du zati labur batekin, eta beste erabiltzaileek jarraitzen dute. Istorio bakoitza adarkatu daiteke: edozein zatitan, norbaitek beste norabide batera eraman dezake narrazioa, eta, horrela, hasiera bakar batetik istorio-zuhaitz oso bat sor daiteke. Zatiek luzera mugatua dute, eta erabiltzaile bakoitzak gutxi idazten du egunean; horrek erritmoa lasai eta kalitatea altu mantentzen ditu.

Proiektu pertsonal gisa hasi zen, galdera sinple batekin: nolakoa litzateke idazketa kolaboratiboa mugikorrerako eta egunean bost minutu dituen jendearentzat diseinatuko balitz? ZubiLabs-en erreferentziazko produktu bihurtu zen, produktu digital baten bizi-ziklo osoa hartzen duelako, kodea bakarrik ez.

02 — ArazoaProduktua

Idazketa kolaboratiborako tresnak badaude, baina mahaigainerako, saio luzeetarako eta idazle konprometituentzat eginda daude. Mugikorrean, esperientzia foro bat edo ohar-aplikazio bat da. Produktuak hiru gauza konpondu behar zituen aldi berean: parte hartzea erraza eta konpromiso handirik gabekoa izatea, istorioak irakurgarri mantentzea hamarnaka lagunek idazten dutenean, eta publizitaterik gabeko nitxo sortzaile batentzat funtzionatzen duen negozio-eredu bat aurkitzea.

Ingeniaritzaren aldetik, arazoa hori guztia pertsona bakar batek eraikitzea zen: mugikorreko aplikazioa, backend-a, ordainketak, dendak, monitorizazioa, landing-a eta argitalpena, argitaratu ondoren ere eboluzionatzen jarraitu zezakeen kode batekin.

03 — IrtenbideaProduktua

iOS eta Android-erako React Native aplikazio bat, oinarrizko begizta bakar batekin: irakurri, jarraitu edo adarkatu. Eguneko muga eta zatien luzera produktu-erabakiak dira, ez muga teknikoak: ekarpen bakoitza hausnartua izatea lortzen dute. Adarrak zuhaitz gisa ikusten dira, irakurleak bide bat jarraitu edo alternatibak esploratu ahal izateko.

Aplikazioa Expo eta TypeScript-ekin eraikita dago, eta backend-a Node.js-en, PostgreSQL gainean. Autentifikazioa, harpidetzak, analitika eta erroreen jakinarazpena lehen build publikoa baino lehen zeuden prest, neurketarik gabeko produktu bat ezin baita iteratu.

04 — Rola

Dena. Kontzeptua, produktuaren diseinua, UX/UI, mugikorreko garapena, backend-a, datu-basea, autentifikazioa, harpidetzak, App Store eta Google Play-n argitaratzea, CI EAS-ekin, monitorizazioa Sentry-rekin, landing-a Vercel-en, DNSa, analitika, marketina eta argitalpena. Ez da ohikoa, eta hori da hain zuzen kontua: erakusten du ZubiLabs produktu baten ardura osoa har dezakeela, zati batena bakarrik ez.

05 — ArkitekturaIngeniaritza
APPExpo / React NativeAPINode.jsDATABASEPostgreSQLREVENUECATSENTRY · ANALYTICSEAS BUILD · OTAAPP STORE · PLAY

Erabaki nagusiak, eta zergatik:

  • Expo managed workflow EAS-ekin. Kode bakarra, bi dendak eta over-the-air eguneratzeak kode natiboa ukitzen ez duten konponketetarako. Truke gisa, kontrol gutxiago modulu natiboen gainean; produktu honetan ez du inoiz axola izan.
  • Datu-base erlazionala zuhaitz formako domeinu batentzat. Istorioek, zatiek eta adarrek zuhaitz bat osatzen dute, eta horrek dokumentu-base batera jotzeko tentazioa sortzen du. PostgreSQL-k datuak koherente eta kontsultak sinple mantentzen ditu, eta errazagoa da ulertzen eredua aldatzen denean.
  • RevenueCat harpidetzetarako. Ordainagiriak, berritzeak, gracia-aldiak eta plataforma arteko eskubideak lanaldi osoko lana dira. Horiek delegatzeak aplikazioari produktuan zentratzen uzten dio.
  • Neurtzea lehen egunetik. Sentry eta analitika argitaratu aurretik gehitu ziren, ez lehen errore-txostenaren ondoren.
06 — Teknologia
MugikorraReact Native · Expo · TypeScript · EAS Build & Update
Backend-aNode.js · REST API
DatuakPostgreSQL
ZerbitzuakRevenueCat · Sentry
WebaNext.js · Vercel
DendakApp Store · Google Play
07 — ErronkakIngeniaritza
  • Adarkatzea nahastu gabe. Hamarnaka adar dituen istorio bat grafo bat da, ez zerrenda bat. Zuhaitz-ikuspegiak hainbat iterazio behar izan zituen irakurleek bide bat galdu gabe jarraitu ahal izateko.
  • Harpidetzak bi dendatan. Erosketak berreskuratzea, Android-eko harpidetza bat bertan behera utzita iOS-ekoa aktibo dagoenean kudeatzea, eta hori guztia sandbox-ean probatzea.
  • Bakarrik argitaratzea. Pertsona bakar batekin, arreta da botila-lepoa. CI EAS-ekin, OTA eguneratzeak eta erroreen monitorizazioa goiz jarri ziren martxan, hain zuzen ere, argitalpenak urratsak gogoratzearen mende egon ez zitezen.
08 — Emaitza

Story256 App Store eta Google Play-n dago argitaratuta. Eta ZubiLabs-entzat garrantzitsuena: existitzen den produktu bat da, erabiltzaile errealekin, ordainketa errealekin eta eguneroko arazo errealekin, zurea eraikiko duen pertsona berak eraikia.

09 — Ikasitakoa
  • Lehenago argitaratu. Lehen bertsioak inork erabiltzen ez zituen funtzionalitateak zituen, eta denek eskatzen zutena falta zuen.
  • Neurtzea funtzionalitate bat da. Analitika egokirik gabeko lehen asteak asmatzen eman genituen.
  • Denden berrikuspena egutegiaren parte da. Kontatu harekin.