Ionic 3 – Spremanje i slanje podataka kada nema interneta

Jedna od osnovnih funkcionalnosti koju volim vidjeti u mobilnim aplikacijama je mogućnost rada izvan mreže (offline) tj. kada mobilni uređaj nije povezan s internetom.

Pretpostavimo da aplikacija ima nekakvu formu za unos koju je potrebno ispuniti i da se klikom na gumb ‘Pošalji podatke’ ništa ne događa. Možda tek eventualno bude nekakva poruka da trenutno nema mrežne povezanosti i zato nije moguće spremiti unesene podatke. Najgora stvar koja se onda može dogoditi je da aplikacija ne zapamti unesene podatke i da ih korisnik kasnije mora ponovno upisivati.

U ovom ću blog postu obraditi scenarij mobilne aplikacija koja ima nekakvu formu za unos koju je moguće ispuniti i spremiti podatke neovisno i povezanosti s internetom. Korisniku je najbitnije da ne mora više puta unositi podatke ili razmišljati zašto ih nije u mogućnosti spremiti.

Provjera povezanosti s mrežom

O ovoj sam temi također objavio blog post. Prije svega moram nekako dobiti informaciju postoji li povezanost s internetom ili ne. U slučaju Ionica to se saznaje koristeći Ionic Native Network plugin.

Napravim servis npr. network-service.ts kojemu će jedina i osnovna svrha biti provjera povezanosti s internetom. Dalje, na svakoj stranici mobilne aplikacije pozivam taj servis ili prilikom klika na gumb ‘Pošalji podatke’ i ako dobijem informaciju da nema povezanosti s internetom automatski znam da nešto drugo s tim podacima trebam učiniti, a to je – spremiti ih u lokalnu bazu podataka.

Spremanje podataka u lokalnu SQLite bazu

O ovoj sam temi također objavio blog post. Kada sam u prethodnom koraku dobio informaciju da ne postoji povezanost s internetom odlučujem se na spremanje podataka lokalno na mobilni uređaj. Kako bi to mogao učiniti moram prvo kreirati lokalnu bazu podataka, a to činim koristeći Ionic Native SQLite plugin.

Najbolje je opet napraviti poseban servis, npr. database-service.ts, koji će služiti za sve radnje (kreiranje baze, kreiranje tablica, spremanje, prikaz i brisanje podataka) povezane sa SQLite bazom.

Klikom na gumb ‘Pošalji podatke’ sada se događa sljedeće. U SQLite tablicu mojaLokalnaTablica spremam podatke unesene u formu. Podaci su u obliku objekta this.podaciIzForme.

Na ovaj način korisnik može bez problema unositi podatke neovisno o povezanosti s internetom jer će se svi podaci spremiti u lokalnu SQLite bazu podataka koja se nalazi na mobilnom uređaju.

Korisno je dati korisniku i nekakvu obavijest o ne postojanju povezanosti s internetom čisto iz razloga ako se odluči npr. otići na računalo i u nekakvoj web aplikaciji provjeriti podatke koje je maloprije poslao, da se ne iznenadi ako ih u tom trenutku ne vidi. Bitno je da su podaci spremljeni i da će biti poslani čim se ostvari povezanost s internetom.

Automatsko slanje podataka / sinkronizacija

Sada dolazim do dijela koji je u ovoj priči najvažniji. Znači, korisnik je bez problema koristio mobilnu aplikaciju i nekoliko puta unosio različite podatke u formu za unos i svi ti podaci su privremeno spremljeni u lokalnu SQLite bazu podataka.

U ovom je koraku ključno prepoznati trenutak kada se ponovno uspostavi povezanost s internetom i sve ranije spremljene podatke poslati na API te istovremeno isprazniti lokalnu bazu podataka.

Na početnoj stranici mobilne aplikacije mogu pozvati funkciju provjeraInterneta() koja će svaki put kada se dođe na početnu stranicu provjeravati postoji li povezanost s internetom i ako postoji odmah će poslati sve lokalne podatke te isprazniti lokalnu bazu.

Sada na početnoj stranici radim sljedeće. Pozivam servis koji provjerava povezanost s internetom. Ako postoji veza s internetom pozivam funkciju posaljiLokalnePodatke(). Ta funkcija dohvaća niz (array) svih objekata koji su spremljeni u lokalnu SQLite bazu i šaljem ih na API. Kada stigne odgovor od API-ja da su podaci uspješno primljeni krećem s brisanjem lokalne baze podataka this._database.isprazniLokalnuTablicu().

Zaključak

Ovo je pojednostavljeni primjer kako korisnicima mobilne aplikacije omogućiti da unose podatke i onda kada ne postoji povezanost s internetom.

#TweetUp – druženje zajednice ljudi koja komunicira putem svjetski poznate društvene mreže Twitter

#TweetUp – druženju zajednice ljudi koja komunicira putem svjetski poznate društvene mreže Twitter

Želja za upoznavanjem novih ljudi i aktivnom komunikacijom tj. društvenom socijalizacijom svima nam je urođena, a Internet kao cjelina omogućio da pomičemo granice mogućeg. Pojedinci će reći kako tehnologija dovodi do otuđenja među ljudima, ali sa sigurnošću mogu reći da nije tako – također znam da ćete se složiti jer ako čitate ove redove postoji velika vjerojatnost da ste nekada i negdje prisustvovali TweetUp-u.

„Ukratko za one koji nisu sigurni što je TweetUp: radi se o druženju jedne zajednice ljudi koja komunicira putem svjetski poznate društvene mreže – Twitter.“ – (C) Toni Aničić

Postoji veliki broj ljudi kojima nije jasno zašto se baš korisnici Twittera idu nalaziti uživo kako bi se družili ako to već rade putem Interneta te zašto se recimo korisnici Facebooka ne bi nalazili u istoj formi.  Nekakav realan problem koji bi takvo nešto onemogućio ne postoji, ali ipak postoji razlika koja ide u prilog TweetUp-a umjesto FaceUp-a. Kao prvo postoji velika razlika u pristupu komunikaciji među korisnicima te dvije mreže, a kao drugo na Twitteru je osnova svega komunikacija te uz komunikacijski aspekt zadovoljavate i potrebu za novim informacijama dok na Facebooku gledate timeline koji je popunjava puno različitiji sloj ljudi koji objavljuju subjektivan sadržaj upitne informativne vrijednosti, u biti dobijete poluinformaciju koja teško može biti okidač koji će dovesti do odluke o sastanku uživo.

Odluka o odlasku na TweetUp za sobom nosi potencijalni rizik neovisno o tome kakav nastup na Twitteru imate jer sigurno vaš način komunikacije neće svima biti po volji. Reputacijski rizik povećava se ako ste bili neiskreni ili skloni sukobima bez opravdanog razloga. Twitpic i Twitvid dali su vam uvid u svijet pojedinaca i koliko god te slike bile česte i realne sastanak uživo daje poseban osjećaj ukupnom dojmu popularnog networkinga.

Postoji skupina korisnika Twittera koji žele, hoće i mogu sudjelovati na TweetUp-u, a također postoji ona skupina koji se žele družiti samo putem mreže. U toj drugoj skupini postoji veliki broj pojedinaca kod kojih prevladava strah od mogućih posljedica neiskrenog online nastupa koji ne shvaćaju da njihov ne dolazak neće spriječiti sve one koji dođu da pričaju o njima, iznose svoja iskustva i sl. Upravo druženje može dati pozitivan napredak jer do mnogih nesporazuma se došlo sasvim slučajno dok se komunikacijski jaz nije proširio do granica kada ta komunikacija nestaje. A da ne govorim o načinu razmišljanja ostalih sudionika kada u jednom trenutku, svatko za sebe, shvate da postoje osobe koje jednostavno izbjegavaju sastanak uživo.

Na organizatorima je da ispitaju teren i okvirno odluče kada je najbolji termin za održavanje TweetUp-a. Prije nego se osigura prostor potrebno je imati službeni popis osoba koje će doći za što može poslužiti Twtvite.com kao u slučaju #TweetUpOS, #TweetUpZG ili #TweetUpST,… Mala napomena – ako ste se prijavili kao jedan od sudionika onda nemojte u zadnji tren odustati i ne pojaviti se.

Tek sada slijedi osiguravanje adekvatanog prostora koji će zadovoljavati sve potrebe specifične grupe ljudi kroz nekoliko sati. Ono bez čega takav prostor ne može je pristup Internetu, naravno. Širok spektar pića i jela također pridonosi pozitivnom općem dojmu. Organizatori moraju biti pokretačka snaga ukoliko dođe do praznog prostora u bilo kojem pogledu te također imaju zadatak da međusobno predstave sudionike jedne drugima, pogotovo kada je riječ o osobama koje su prvi put na TweetUp-u. Sve to u konačnici popravlja ili narušava već stvorenu sliku o pojedincu kao osobi a onda i kao organizatoru.
Ne moram posebno napominjati kako bi prostor s limitiranom konekcijom na Internet, manjkom mjesta, preglasnom glazbom ili bez minimalne ponude pića i jela utjecao na reputaciju organizatora (#fail).

Kada su organizatori napravili svoj dio posla red je da sudionici daju svoj doprinos. Za to postoji više načina – razmjena posjetnica, promotivnih artikala ukoliko netko ima tvrtku i ono osnovno aktivnom komunikacijom koja će nuditi informaciju koja je cjelovita, informativna, pravovremena i dostatna jer ipak sve to nudi sastanak uživo, a šteta je ne iskoristiti ograničeno vrijeme.

P.S. Pogledajte kako to sve izgleda kada se zapravo i dogodi.

TweetUpOS 2009 : Kako je prošao TweetUpOs, Prvi TweetUp u OsijekuNa TweetUp-u u Osijeku,…

TweetUpZG 2009 : FOTO: TweetUp Zg,…

Poslovno pismo

Poslovno pismo

Unatoč sve većoj upotrebi e-maila poslovno pismo je i dalje najčešći oblik poslovne komunikacije. Poznata je izreka da papir trpi sve, ali ovdje ćete vidjeti da to jednostavno nije istina kada je u pitanju poslovno okruženje. Poruka vašeg poslovnog pisma može biti raznovrsna i to neka ostane vama na izboru, ali postoje pravila kojih se potrebno pridržavati jer osim što prenosite poruku vi sa svakim pojedinačnim poslovnim pismom prezentirate sebe.

Vrste poslovnog pisma:
1. poslovni pozivi
2. rutinski zahtjevi, upiti i narudžbe
3. rutinski odgovori
4. potvrde
5. prateći dopisi
6. naknadni dopisi
7. zahvale

Dijelovi poslovnog pisma:
zaglavlje – sadrži najbitnije informacije o pošiljatelju poslovnog pisma kao što su naziv tvrtke, djelatnost i potpuna adresa, nakon toga slijedi broj telefona i žiro računa te logo.

mjesto i datum – sadrži informacije o mjestu i vremenu nastanka poslovnih obaveza. Mjesto je važno za velike korporacije sa velikim brojem poslovnih objekata diljem zemlje, kontinenta ili svijeta dok je datum ključan za pružanje informacije o početku važenja određenog propisa ili poslovne obaveze što je posebno važno kod naknadnih dopisa.

adresa primatelja – ima sadržaj jako sličan zaglavlju, ali ovaj put sadržaj se tiče primatelja poslovnog pisma sa osnovnim informacijama poput naziva tvrtke, djelatnosti i adrese.

pozivni znakovi (oznake) – ovisno o složenosti mreže pošiljatelja i primatelja poslovnih pisama možete navesti oznake za lakše raspoznavanje. Pozivni znak identifikacije tvrtke sastoji se od stalnog dijela, koji je zajednički za cijelu tvrtku i promjenjivog dijela koji se sastoji od kombinacije slova i brojeva pomoću kojih se vrši raspoznavanje različitih npr.  ispostava odnosno gradova sjedišta pojedinih ispostava.

predmet ili sažetak – se nalazi prije sadržaja i mora dati informacije o temi pisma jednostavno, konkretno i nedvosmisleno.

sadržaj pisma – nakon svih potrebnih predradnji možete obraditi temu zbog koje i šaljete poslovno pismo.  Bitno je napomenuti da nije potrebno pisati esej nego je najbitnija stvar, i ujedno svrha poslovnog pisma, prijenos informacije. Sadržaj počinjete s ‘Poštovani’,’Poštovana’ ili ‘Poštovanje’  te nakon toga kratko napišete razlog slanja poslovnog pisma koji može biti nastavak ranijeg telefonskog razgovora, javljanje na oglas, natječaj, preporuku i sl., tek tada možete prenijeti poruku iz koje se mora vidjeti što hoćete odnosno koja je svrha poslovnog pisma ovisno želite li odgovor na nedoumice, poslovnu suradnju ili nešto treće. Zaokružite sadržaj s nadom u pozitivan ishod.

pozdrav – poruka je prenesena i sada je vrijeme za oproštaj, npr. S poštovanjem;  Lijep pozdrav, Srdačan pozdrav i sl.

potpis – služi kao točka na i, te daje poslovnu notu sadržaju, a sastoji se od naziva tvrtke, vlastoručnog potpisa i otkucanog imena i prezimena ovlaštenog lica sa titulom.

Dodatak poslovnog pisma:
prilozi – sadrže informaciju o dodatnom sadržaju koji nije napisan direktno na poslovnim pismu, ali također ima sadržajnu vrijednost.

kopije – primatelj poslovnog pisma dobiti će original dok ostali sudionici koji moraju biti upoznati sa porukom pisma primaju kopije uz naznaku tko je i koliko kopija dobio.

dodatak ili postskriptum (P.S.) – pišete ako ste nešto zaboravili navesti u sadržaju. Ovaj sporedni dio poslovnog pisma se koristi sve manje jer su osigurane tehničke mogućnosti za naknadnom izmjenom sadržaja prije konačnog slanja poslovnog pisma.

Odabir načina formatiranja ostaje vama na izbor jer nije strogo propisan u poslovnom dopisivanju (poravnanje, prored,…).

Računalna sigurnost za noobove

Računalna sigurnost – općenitoSvatko od nas obilježen je prvo s onim što ima i radi na vlastitom računalu a onda i s onim što radi na Internetu – prema tome vrlo je važno da imamo kontrolu nad dokumentima, informacijama i svemu ostalome što se tiče nas samih. Kao što ne bi htjeli da vam netko nepoznat istražuje novčanik ili torbicu, tako ne vjerujem da biste htjeli da vam netko nepoznat proučava intimne, poslovne ili dokumente bilo koje vrste.

Zaštita računala osnovna je stvar, a sve kreće od operacijskog sustava koji mora biti ažuriran s najnovijim zakrpama. Od trenutka kada instalirate i podesite operacijski sustav pobrinite se da dokumenti budu uredno raspoređeni i da u svakom trenutku barem otprilike znate gdje se što nalazi – to će vam uvelike olakšati održavanje. Da bi kompletna struktura ostala netaknuta od vanjskih upada potrebno je koristiti antivirusni program te vatrozid – ponuda besplatnih rješenja je dosta velika i nećete imati problema s pronalaženjem odgovarajućeg softvera.
Koliko god se sve to činilo sigurnim bilo bi poželjno stvarati i arhivirati sigurnosne kopije važnijih dokumenata – za to može poslužiti DVD, drugi HDD ili online backup. I zadnje, ali ne manje važno, pazite što skidate sa Interneta ,ili sa nekog drugog medija, jer sav zaštitni softver vam neće pomoći ako s nekoliko klikova dopustite preuzimanje ili instalaciju sumnjivog programa. Vaše računalo vaša je odgovornost.

Računalo je zaštićeno, sada dolazimo do Interneta koji nudi neke druge zamke. Da bi na Internetu bili uočeni moramo se profilirati. Budite pažljivi s objavom osobnih podataka, poželjno je da znate gdje i što pišete. Većina web odredišta ne dozvoljava naknadno brisanje napisanih poruka i toga trebate biti svjesni prije nego što u afektu napišete nešto zbog čega se možete kajati u budućnosti. S vremenom ćete doći u kontakt s drugim korisnicima Interneta, također budite pažljivi jer nemaju svi dobre namjere, ne morate sve i svima reći. Za početak dozirajte informacije o sebi a koje su dovoljne da bi nešto saznali, naučili, pronašli,…, a kasnije komunikacija može postati opuštenija.

Na kraju – poštujte pravila u oba svijeta – offline i online. Ilegalne stvari vam nisu potrebne na osobnom računalu niti je potrebno da na Internetu širite tj. trpite mržnju, netrpeljivost ili nasilje bilo koje vrste. Vodite računa o sebi.