Once in Vilnius: bendruomenės medijos platforma, pelniusi aukso apdovanojimą Hamburge.

Vilniaus 700-mečio iniciatyvai per 6 mėnesius sukūrėme pilną naudotojų turinio (UGC) ekosistemą: Flutter programėlę su vaizdo kūrimo įrankiais, filtrais ir socialinėmis funkcijomis bei backend infrastruktūrą medijos apdorojimui ir moderavimui. Platforma subūrė 12 000+ naudotojų, surinko 35 000+ nuotraukų ir vaizdo įrašų, o 2024 m. pelnė „Intermedia-Globe Gold Award" apdovanojimą „WorldMediaFestivals" festivalyje Hamburge.

MediaPulsas kuria bendruomenių medijos ir naudotojų turinio (UGC) platformas Lietuvoje - nuo miestų švenčių iki prekės ženklų kampanijų.

Once in Vilnius programėlės ekranai: turinio srautas, vaizdo kūrimo įrankiai ir bendruomenės istorijos
Klientas
KlientasVilniaus miesto iniciatyva
SritisKultūra · Bendruomenės medija
PlatformosiOS · Android
TechnologijosFlutter · PHP · Drupal · Vue.js
Trukmė6 mėnesiai
PripažinimasGold Award · Hamburgas 2024

Apie projektą

2023-iaisiais Vilnius šventė 700 metų jubiliejų, o „Once in Vilnius" tapo viena išradingiausių skaitmeninių šventės iniciatyvų: programėlė kvietė vilniečius, turistus ir miesto mylėtojus fiksuoti autentiškas akimirkas - kelti nuotraukas, trumpus vaizdo įrašus ir asmenines istorijas į nuolat augantį bendruomenės archyvą.

Platforma veikė kaip skaitmeninio pasakojimo ekosistema su socialinio tinklo patirtimi: filtrai, lipdukai, muzika, patiktukai ir žinutės. Geriausią turinį atrinko profesionalūs kino kūrėjai - jis tapo dokumentinio filmo „Once Upon a Time in Vilnius" dalimi, o pats projektas 2024 m. gegužę pelnė aukso apdovanojimą tarptautiniame „WorldMediaFestivals" konkurse Hamburge.

Kaip veikia sistema

Naudotojo turinio kelias nuo filmavimo iki bendruomenės srauto - ir toliau, iki dokumentinio filmo:

  1. Naudotojas
  2. Filmavimas programėlėje
  3. Filtrai ir lipdukai
  4. Įkėlimas
  5. Apdorojimas fone
  6. Moderavimas
  7. Bendruomenės srautas
  8. Patiktukai ir žinutės
iOS / AndroidKūrimo įrankiaiTurinio srautas (UGC)Medijos apdorojimasModeravimasBendruomenėOnce in Vilnius branduolys: turinio kūrimas, apdorojimas ir moderuojamas srautas

Iššūkis

Socialinio tinklo lygio patirtis su griežtu, nekilnojamu terminu - šventės data nelaukia:

  • Dideli naudotojų nuotraukų ir vaizdo įrašų srautai turi būti apdorojami patikimai
  • Vaizdo kūrimo įrankiai - filtrai, lipdukai, muzika - turi veikti pačioje programėlėje
  • Srautas privalo krautis akimirksniu net su tūkstančiais vaizdo įrašų
  • Patiktukai ir žinutės - realiu laiku, kaip įprasta socialiniuose tinkluose
  • Turinys turi būti sklandus įvairiuose įrenginiuose ir tinklo sąlygomis
  • Backend privalo saugoti ir apdoroti didelius medijos failus augančiu masteliu

Kodėl tai buvo sudėtinga: techniniai iššūkiai

01

Nekilnojamas terminas

700-metis neatsidės, jei vėluos programėlė. Flutter viena kodo baze abiem platformoms leido per 6 mėnesius pasiekti tai, kam native keliu būtų prireikę beveik dvigubai daugiau resursų.

02

Vaizdo redagavimas telefone

Filtrai, lipdukai ir muzikos uždėjimas vyksta pačiame įrenginyje - be siuntimo į serverį. Tai reikalavo kruopštaus darbo su GPU spartinimu ir atminties valdymu senesniuose telefonuose.

03

Srauto greitis

Tikslas - jausmas kaip „Instagram". Pasiekta trimis technikomis: išankstinis srauto turinio užkrovimas (preloading), progresyvus vaizdų krovimas ir agresyvus kešavimas - vidutinis srauto užkrovimas <1,2 s.

04

Įkėlimai silpnu ryšiu

Šventės minioje mobilus ryšys perkrautas. Įkėlimas vyksta fone, dalimis, su automatiniu pratęsimu nutrūkus ryšiui - naudotojas tęsia naršymą, o turinys pasiekia serverį pats.

05

Turinio moderavimas

Viešoje miesto platformoje turinys negali pasirodyti nepatikrintas. Sukūrėme moderavimo eilę komandai: peržiūra, patvirtinimas arba atmetimas prieš patenkant į bendrą srautą.

06

Piko aktyvumas

Renginių vakarais aktyvumas šokteldavo dešimtimis kartų. Medijos apdorojimas atskirtas nuo įkėlimo priėmimo - eilės sugeria pikus, o srautas naudotojams nesulėtėja.

„Šventės data - vienintelis terminas, kurio neįmanoma nukelti. Architektūrą rinkomės ne pagal madą, o pagal tai, kas leis patikimai startuoti laiku ir atlaikyti minios aktyvumą."

- MediaPulsas architektų komanda

Sprendimas

Per 6 mėnesius pristatėme pilną bendruomenės medijos ekosistemą:

  • Flutter programėlė iOS ir Android iš vienos kodo bazės
  • Vaizdo kūrimo studija programėlėje: filtrai, lipdukai, ikonos, muzika
  • Bendruomenės srautas su išankstiniu užkrovimu ir kešavimu
  • Socialinės funkcijos: profiliai, patiktukai, žinutės
  • Moderavimo įrankiai turinio komandai
  • Backend medijos saugyklai, apdorojimui ir API (PHP, Drupal, Vue.js)

Architektūra ir inžineriniai sprendimai

Mobilioji dalis - Flutter: viena kodo bazė abiem platformoms buvo vienintelis realistiškas kelias per 6 mėnesius pasiekti socialinio tinklo lygio patirtį. Medijos našumui skirtas atskiras inžinerinis sluoksnis: išmanieji medijos krautuvai (smart loaders), progresyvus vaizdų ir vaizdo įrašų krovimas, srauto turinio išankstinis užkrovimas ir kešavimas pakartotiniams peržiūrėjimams - todėl slinkimas išlieka sklandus net esant dideliam turinio kiekiui.

Backend pastatytas su PHP, Drupal ir Vue.js: Drupal davė brandžius turinio valdymo ir moderavimo įrankius be kūrimo nuo nulio, o REST API jungė programėlę su medijos saugykla. Įkėlimų priėmimas atskirtas nuo apdorojimo - konvertavimas ir miniatiūrų generavimas vyksta fone, tad piko valandomis naudotojų patirtis nenukenčia.

Flutter / DartPHPDrupalVue.jsREST APINaudotojų turinys (UGC)Progresyvus krovimasIšankstinis užkrovimasKešavimasMedijos apdorojimas foneModeravimo eilėRealaus laiko sąveikos

Architektūriniai pasirinkimai: kodėl būtent taip

Kodėl Flutter, o ne native?

Terminas buvo nekilnojamas, o reikėjo abiejų platformų su vienoda patirtimi. Flutter viena kodo baze davė beveik dvigubą greitį, o socialinio tinklo tipo sąsajai - pilną vizualinę kontrolę.

Kodėl srauto išankstinis užkrovimas ir progresyvus krovimas?

Bendruomenės platformoje pirmas įspūdis - srauto greitis. Užkraunant turinį anksčiau, nei naudotojas jį pasiekia, ir rodant vaizdus palaipsniui, pasiektas <1,2 s vidutinis srauto užkrovimas.

Kodėl moderavimas prieš publikavimą, o ne po?

Miesto vardu veikiančioje viešoje platformoje netinkamas turinys - reputacijos rizika savivaldybei. Moderavimo eilė prieš srautą kainuoja kelias minutes, bet apsaugo visą projektą.

Kodėl medijos apdorojimas atskirtas nuo įkėlimo?

Konvertavimas ir miniatiūros - sunkios operacijos. Jei jos vyktų įkėlimo metu, piko valandomis naudotojai lauktų. Fono eilė sugeria apkrovą, o įkėlimas naudotojui baigiasi akimirksniu.

Kodėl Drupal backend pagrindui?

Turinio komandai reikėjo brandžių moderavimo ir administravimo įrankių nuo pirmos dienos. Drupal juos davė iš karto - kurti nuo nulio per 6 mėnesių terminą būtų buvę neatsakinga.

Technologijos

  • Flutter (Dart)
  • PHP
  • Drupal
  • Vue.js
  • REST API
  • Medijos saugykla
  • Išmanieji medijos krautuvai
  • Progresyvus krovimas
  • Kešavimas
  • Fono įkėlimai
  • Moderavimo įrankiai
  • Filtrai ir efektai

Rezultatai

Platforma tapo gyvu miesto šventės archyvu ir pelnė tarptautinį pripažinimą:

12 000+registruotų naudotojų
35 000+įkeltų nuotraukų ir vaizdo įrašų
<1,2 svidutinis srauto užkrovimas
6 mėn.nuo starto iki paleidimo
Gold AwardWorldMediaFestivals · Hamburgas 2024
1dokumentinis filmas iš turinio

Ko išmokome

  • Nekilnojamas terminas - geriausias architektūros filtras: lieka tik tai, kas tikrai būtina startui
  • Medijos našumo inžinerija (preloading, kešavimas) lemia UGC platformos sėkmę labiau nei funkcijų kiekis
  • Moderavimas turi būti suprojektuotas kartu su įkėlimu, o ne pridėtas vėliau
  • Brandi turinio valdymo platforma backend pagrinde sutaupo mėnesius, kai terminas spaudžia

Kam tinka panašus sprendimas

  • Miestų jubiliejams ir festivaliams
  • Savivaldybių bendruomenių iniciatyvoms
  • Prekės ženklų UGC kampanijoms
  • Renginių ir konferencijų platformoms
  • Medijos ir TV projektams
  • Muziejams ir kultūros įstaigoms
  • Bendruomenių socialinėms platformoms
  • Dokumentikos ir archyvavimo projektams

Dažniausi klausimai

Kas buvo „Once in Vilnius" programėlė? +
Tai Vilniaus 700-mečiui sukurta bendruomenės medijos platforma: gyventojai ir miesto svečiai kėlė nuotraukas, vaizdo įrašus ir istorijas, kūrė turinį su filtrais bei lipdukais ir bendravo patiktukais bei žinutėmis - kaip socialiniame tinkle, tik apie Vilnių.
Kokius rezultatus pasiekė platforma? +
12 000+ registruotų naudotojų, 35 000+ įkeltų nuotraukų ir vaizdo įrašų, vidutinis srauto užkrovimas greitesnis nei 1,2 s, o 2024 m. - „Intermedia-Globe Gold Award" apdovanojimas „WorldMediaFestivals" festivalyje Hamburge. Atrinktas turinys tapo dokumentinio filmo „Once Upon a Time in Vilnius" dalimi.
Kaip užtikrintas greitis su tūkstančiais vaizdo įrašų? +
Trimis inžinerinėmis technikomis: srauto turinio išankstiniu užkrovimu (naudotojui dar neprislinkus), progresyviu vaizdų krovimu ir kešavimu pakartotiniams peržiūrėjimams. Medijos apdorojimas vyksta fone, todėl įkėlimų pikai nesulėtina naršymo.
Ar panaši platforma tiktų mūsų miestui, renginiui ar prekės ženklui? +
Taip - UGC architektūra universali: keičiasi prekės ženklas, turinio taisyklės ir moderavimo procesas, o kūrimo įrankių, srauto ir medijos apdorojimo pagrindas lieka. Tinka miestų šventėms, festivaliams, prekės ženklų kampanijoms ir bendruomenių iniciatyvoms.
Kas sukūrė „Once in Vilnius" programėlę? +
Platformą sukūrė MediaPulsas (tarptautinėje rinkoje - Logicnord) - Vilniaus programavimo komanda, kurianti bendruomenių medijos, UGC ir Flutter sprendimus. Projektas įgyvendintas per 6 mėnesius pilnu ciklu: nuo dizaino iki backend infrastruktūros.

Turite idėją? Paverskime ją produktu

Papasakokite, ką norite pasiekti - per 48 valandas gausite apimties ir biudžeto įvertinimą bei mūsų siūlymą, nuo ko pradėti. Nemokamai ir be įsipareigojimų.

I-V 10:00-19:00 · Darbo valandomis atsakome per 2 val.