All posts by John

Vyžaduje si vaša on-line platforma WEBku, APPku, hybridnú APPku, alebo PWA?

Väčšina z čitateľov blogu ma pozná ako podnikateľa. Ja sa však považujem hlavne za programátora. Všetky projekty, ktoré som spustil, som si naprogramoval z veľkej miery sám.

Často vidím, že začínajúce firmy si nevyberú správne technológie, a potom ich to stojí zbytočné náklady alebo ušlé zisky. Rozhodol som sa preto napísať tento článok, v ktorom opíšem výhody a nevýhody rôznych riešení a tiež to, ako som sa rozhodoval pre svoj projekt Medializuj.

Programovanie často tvorí značnú časť nákladov on-line podnikania, a preto je dôležité vediet, čo potrebujete a čo nie. Toto platí hlavne v dnešnej dobe, kedy SW developeri stoja 3-7k Euro mesačne (všetky náklady súvisiace so zamestnávaním a riadením SW developera).

Ešte pripomínam, že sa bavíme o vývoji on-line platformy a nie prezentačnej web stránky.

Web:

Toto všetci dobre poznáme. Server pošle vygenerovaný HTML kód a prehliadač to vykreslí. Pri užívateľskej akcii (navigácia, odoslanie formulára…) stránka na chvíľu zmizne, server nám vygeneruje a pošle nové HTML a prehliadač to znova vykreslí.

Ak nepotrebujete žiadnu funkcionalitu mobilnej aplikácie, toto je ideálne riešenie.

Výhody: cena, rýchlosť vývoja, SEO
Nevýhody:

  • nemá feel aplikácie (po interakcii musí prehliadač stiahnuť a vykresliť nové HTML)
  • nefunguje off-line
  • Nemá Push notifikácie
  • Nemá prístup k HW telefónu (gyroskop, kamera…) a natívnych API (prístup ku kontaktom, …)

Cena pre jednoduchú aplikáciu: jednotky tisíc eur.

Natívna aplikácia:

Natívne aplikácie sú dostupné cez App store.

Pri natívnych aplikáciách server neposiela hotové HTML, ktoré sa ma vykresliť, ale pýta si len čisté dáta cez API (napr. zoznam klientov v JSON formáte).

Aplikácia musí riešit celú logiku a jej stav u seba, čo je o dosť zložitejšie ako vytvárať web stránku. Zároveň je to náchylnejšie na chyby. Funkčnosť musí byť rozdelená na dve časti:

  • front-end – mobilná aplikácia
  • Back-end – API, ktoré posiela dáta

Tieto časti musia byť v neustálom súlade a musia byť spätne kompatibilné. Nie každý užívateľ má najnovšiu verziu vašej aplikácie, a teda vaše API musí spolupracovať so všetkými historickými verziami, ktoré sú vonku. Tento vývoj je časovo a finančne náročný.

Budete potrebovať aplikáciu na iOS aj Android, ktoré sa programujú inak, no existujú spôsoby ako zjednotiť ich vývoj (napr. react-native).

Zároveň bude mnoho užívateľov vyžadovať aj web rozhranie. Čiže budete musieť zabezpečiť aj kompatibilitu web rozhrania a aplikácie a koordinovať vývoj.

Výhody:

  • pre užívateľa veľmi dobrá skúsenosť
  • rýchlosť / svižnosť
  • prístup k HW telefónu, kontaktom atď.

Nevýhody:

  • vysoká cena
  • užívateľ musí pre inštaláciu navštíviť App store
  • väčšinou musí existovať aj web a vývoj tak môže byť roztrieštený

Cena pre jednuchú aplikáciu: desiatky tisíc eur (spolu za aplikácie, web, API)

Native-web hybrid:

Ak potrebujete natívne aplikácie aj web rozhranie, existuje riešenie, pri ktorom namiesto troch samostnaných zdrojových kódov (iOS, Android, web) urobíte jeden spoločný kód.

Nebude to úplne ideálne a ani jednoduché na vývoj, ale dá sa to urobiť pomocou: react-native-web

Druhá možnosť je použiť react-native pre natívne aplikácie a react-dom pre web, čím sa vám podarí zdielať niektoré časti kódu, čo urýchli vývoj.

Takto je napríklad naprogramovaná aplikácia Skype. Či ju používate na Linuxe, PC, Androide, Webe… Všetky aplikácie zdieľajú jeden kód, ale len malá časť kódu je pre špecifickú platformu.

Výhody:

  • menšia roztrieštenosť vývoja
  • prístup ku všetkému (rovnako ako natívna aplikácia)
  • funguje na všetkých platformách

Nevýhody:

  • zložitý vývoj
  • obmedzenejšie ako samostatné natívne aplikácie

Cena: nižšia ako budovat samostatné natívne aplikácie pre iOS, Android a web

PWA:

Progresive web apps, za ktorou stojí Google, je najnovšia zo spomínaných technológií. Jedná sa o aplikáciu, ktorá generuje HTML na klientovi (v prehliadači) a nie na serveri ako bežná web stránka.

Hlavná výhoda PWA je, že sa dá nainštalovať bez toho, aby užívateľ musel navštíviť App store. Ak web stránku navštívite niekoľkokrát po sebe, Chrome vám rovno ponúkne, či chcete túto aplikáciu nainštalovať.

Odporúčam pozrieť si krátke video od Google:
https://developers.google.com/web/progressive-web-apps/

Ak navštívite PWA cez prehliadač a zobrazíte si zdrojový kód, bude tam prázdny HTML súbor, ktorý zahŕňa jeden javascript, v ktorom je celá aplikácia.

To je zaroveň aj nevýhoda, keďže taká stránka nemá žiadne SEO, lebo v nej nie je žiadny HTML kód, ktorý by mohli vyhľadávače parsovat. Veľa on-line platforiem SEO nepotrebuje, ak však váš use-case si SEO vyžaduje, dá sa to riešiť naprogramovaním Server-Side-Renderingu. Aplikácia potom funguje tak, že pri prvej návšteve stránky pošle server hotové HTML a zároveň javascript, v ktorom je celá aplikácia. Po načítaní stránky javascript preberie kontrolu a generuje HTML sám podľa interakcie užívateľa.

Pri vývoji pravdepodobne použijete jeden z populárnych javascript frameworkov (react.js, vue.js angular.js).

Väčšina čitateľov PWA asi nevidelo, preto tu dávam ukážku, ako to funguje.

Nedávno som dokončil túto PWA: fitrecepty.sk / zdravefitrecepty.cz

Táto aplikácia si vyžadovala, aby fungovala off-line a dala sa nainštalovať. Zároveň si vyžadovala SEO, čiže pri prvom navštívení stránky server pošle vygenerované HTML (server-side rendering).

Ako si PWA nainštalovať do telefónu/PC a vyskúšať off-line:

  1. Otvorte si stránku cez telefón, alebo Chrome browser na PC/Macu
  2. – Na androide v Chrome samo dole vyskočí “Add Fit Recepty to home screen”
    – na iOS musíte kliknúť na share -> Add to home screen
    – V Chrome na PC/MAC napravo od adresného riadku kliknite na ikonku settings (tri bodky) a vyberte “Install Fit Recepty”
  3. Aspoň raz spustite aplikáciu, počkajte pár sekúnd aby si aplikácia načítala všetky dáta
  4. Odpojte sa od internetu (flight mode) a znova si otvorte aplikáciu.
  5. Aplikácia funguje off line

 

Výhody:

  • frinctionless inštalácia priamo z prehliadača (nemusí byť v App store)
  • Push notifikácie
  • Môže fungovať off-line

Nevýhody: bez prístupu k HW a natívnemu API

Cena pre jednuchú aplikáciu: vysoké jednotky tisíc eur. (PWA a API)

Čo som si vybral pre Medializuj?

Medializuj bude PWA. Potrebujem možnosť jednoduchej a rychlej inštalácie cez prehliadač, push notifikácie a možno využijem aj off-line funkcionalitu. Keďže nepotrebujem prístup k HW ani natívnym API telefónu, programovanie natívnych aplikácií by boli vyhodené peniaze.

Varovanie pred “Hype”-om

Niektoré firmy si vyberajú zbytočne komplikované a drahé riešenia, len preto, aby boli hype a cool. Pri tom používajú buzzwordy ako “PWA, machine learning, React, off-line-first…”. Toto mi príde ako zbytočné míňanie zdrojov.

Zaroveň však vidím frimy, ktorých biznis model si aplikácie vyžaduje, no majú iba zastaralé web stránky. Týmto prichádzajú o ušlé zisky, ktoré si často neuvedomujú.

TL/DR:

Neexistuje ideálne riešenie pre všetkých. Pred každým vývojom si ujasnite, čo vám treba, a čo nie.

Troll-warning:

Toto je zložitá téma a článok je cielený pre majiteľov firiem a manažérov, nie programátorov. Ak si developer, určite vidíš veľa vecí, ktoré by si vypichol, alebo doplnil. Nechcel som však čitateľov úplne zahltiť všetkými detailami, ale skôr iba urobiť stručný prelet nad možnosťami a vysvetliť tematiku tak, aby mali o nej základný prehľad.

Pre lepšiu prehľadnosť som vytvoril túto infografiku:

Zahada s prevzetim firmy vyresena

A to hlavne diky jednomu ctenari blogu Martinovi Peckovi ze Slovenska!

Martin nasel kontakty na ty posledni dva uvedene manazery. Poslal jim zpravy pres Facebook. Ja jsem jim taky poslal zpravy. Na zadnou nereagovali.

Martin pak nasel emaily (lepe receno odhadl jake by mohli mit pracovni emaily podle formatu co je ve firmach kde pracuji). Poslal jsem emaily. Jeden se nevratil, takze adresu jsme mozna meli dobre. Ale  take bez odezvy.

Na LinkedIn jsem kontaktoval management LegalZoom  (zhruba pet lidi). Jediny President LegalZoom si me pridal do kontaktu. Poslal jsem mu nekolik zprav a znovu bez odpovedi.

Na support LegalZoom jsem psal uz pred mesicem. Zkousel jsem znovu. Volal jsem znovu. Support absolutne nedokazal nic resit. Proste jen trvaji na tom, ze musim byt zakaznik a dat jim svuj email zakaznika. Nechapali, ze nejsem zakaznik a pritom jejich firma podala ten Statement of Information na mou firmu.

Martin nasel jeste tetu od uvedene manazerky Jessicy. Ta je realitni agentka a te taky poslal email. Nevime jestli tohle byl ten katalyzator. Ale najednou se ozvali z LegalZoom at uz prosim nekontaktujeme jejich klienty, a ze to byla jejich chyba. Ze se jim klienti ozvali a zadali o vysvetleni co se deje. Takze to ted resi.

It appears LegalZoom has filed a Statement of Information for your business instead of my Client’s business. First, I would like to apologize for any inconvenience this has caused. Second, I would like to ask that you contact me directly regarding this situation and to refrain from any communication with my client Jessica Padilla and Vincent Cannon. It appears this situation has been rectified with the State, if you would like to discuss this situation in further detail, please reach out to me.

Psal jsem ji, ze tomu nerozumim jak nekdo mohl udelat podobnou chybu. Ze nevidim zadne podobne firmy (s podobnym nazvem).

Po telefonu jsem pak zjistil co se stalo. Kdyz zakaznici co pouzivaji Chrome prohlizec vyplnuji objednavku na LegalZoom tak jim casto vyplni jejich datum narozeni do pole pro nazev firmy. Takze tohle byli zakaznici co maji rok narozeni 1991. Takze pak ten jejich formular z toho udelal 1991 LLC. Moc se omlouvaji. Pracuji na naprave, apod. !!!

Kdyby nekdo z LegalZoom komunikoval a vysvetlil davno, tak me to tolik nevadi. Ale to jak nikdo nereagoval je obrovsky fail.

Ale diky Martinovi a jeho neunavne snaze hledat kontakty se to vyresilo!

Nekdo se pokousi prevzit moji firmu (a mozna ukrast pozemek)

Za posledni mesic se uz dvakrat nekdo pokusil prevzit moji firmu 1991 LLC.

Uplne nahodou jsem zjistil, ze uz nejsem manazerem a ve sve vlastni firme. A jsou tam uvedeni jini lide a jiny registrovany agent. Tohle je firma na ktere vlastnim hodnotny pozemek na kterem stavim sklady! Kdyz jsem to videl tak jsem se uplne vylekal jestli se nekdo takto pokousi me o ten pozemek pripravit. Teoreticky to mohl byt i lidsky faktor a nejaka chyba.  V USA se nekontroluje kdyz menite statutarni organy ve firme. Proste jen online vyplnite nova jmena a Secretary of State (obchodni rejstrik) to zaregistruje. Mohla to byt chyba (treba se nekdo preklepl v nazvu firmy) nebo v tom je nejaky zamer.

Kazda firma se da dohledat v tom rejstriku CA Secretary of State. Kdyz tam zadate 1991 LLC (a date hledat exact) tak vam to vyjede moji firmu. A tam uvidite ty vypisy co tam udelal nekdo bez meho vedomi.

4-1-19 Edata Enterprises Annual list

Tady se stal staturanim organem (manazerem) firma eData Enterprises. Ta adresa 28453 Winchester Rd je PO BOX (na Google street je videt, ze to je budova posty). To uz je pro me trosku podezrele. eData Enterprise se taky neda dohleda v tom rejstriku. Je tam jen eData Enterprises Inc (se s na konci slova enteprise). Takze novu je to preklep nebo je to uplne jina firma co s timto nema nic spolecneho. Ktera varianta to je nevim.

eData Enterprises Inc. je  zahadna firma. Moc zminek se najit neda. Nasel jsem nejake. Zkousel volat. Jen zaznamnik a nikdo nezavolal zpet. Jako predmet cinnosti si napsali na ten vypis pro 1991 LLC: Communication & Data Infrastructure. Kdyz najedu na eData Enterprises v rejstriku tak maji napsane IT services. Takze tam to je trosku blizko. Ale nevim.

Kdyz jsem na to prisel tak jsem hned udelal novy Statement of Information a dal se zpet jako manazer. To jde zase delat online a neni v tom problem. Pak jsem zkousel patrat kdo ti lide jsou. Hledal jsem kontakty. Nasel jsem nejaka telefonni cisla, ale nikde se mi nepodarilo nekoho zastihnout. Taky jsem volal do LegalZoom (coz je firma uvedena na vypisu, ze ten filing delala). Tam jsem mluvil s customer service, kteri absolutne nedokazali vubec nic resit. Porad nechapali, ze nejsem jejich zakaznikem a ze kdyz nemam zakaznicky email tak mi nemuzou pomoci.

Mezitim jsem byl uveden na sve firme znovu jako manazer, ale dnes jsem prisel na to, ze tam zase nejsem. Tentokrat jsou tam uvedeni zase jini lide a jine adresy.

4-17-19 Statement of information plna verze

Tady si napsali na vypis, ze cinnost 1991 LLC je Retail & event coordinating. Zvlastni. Kdybych delal podvod s pozemkem tak proc si psat uplne jinaci cinnost.

Ale to ze me uz dvakrat odstranili z vlastni firmy behem tak kratke doby me nepripada, ze muze byt nahoda.

Spojujici vec je, ze zase ten filing udelal LegalZoom (LegalZoom je stejny typ firmy jako IncParadise jen mnohem vetsi) a je tam uveden zamestnanec co to delal Cheyenne Moseley. Nasel jsem ho pres LinkedIn. Napsal zpravu at se mi ozve. Zadna odpoved. Online jsem  nasel email [email protected], ale emaily se vraci jako nedorucitelne.

Na California Secretary jsem taky volal, ale ti rekli,ze s timto nic delat nemuzou:-(.

 

Co je pro me zahada:

1. Kdo to dela? Cheyenne Moseley (LegalZoom) muze byt ten kdo je do toho podvodu zapojen, ale taky klidne nejaky podvodnik jen pouzil jeho jmeno a udelal ty zmeny. Kdyz jsem zkousel volat do LegalZoom tak jeho extension 391 se hlasila jako ze neexistuje. Premyslim jestli ho treba vyhodili z prace a proto email a telefon nefunguje? Nebo nemam spravne kontakty. Nebo za tim stoji uplne nekdo jiny.

2. Lidi co tam jsou uvedeni. Jsou to podvodnici? Nebo znovu obeti nejakeho podvodu? Treba ID theft, kdy se zase nekdo vydava za nekoho jineho a pak pod jeho zfalsovanymi doklady se treba bude snazit prodavat pozemek?Jessica Padila, Vincent Cannon a jejich adresa 2945 Stonewall Dr, Corona, CA 92882 vypada realne. Zkousim najit kontakty a zjistit. Zatim zadny uspech.

Zkusenosti z pronajimani ruznych typu nemovitosti

Investori do nemovitosti se postupne casu zameri na typ investic, ktery jim nejvice vyhovuje. Je to individualni. Nekdo ma treba rad domy a byty. Ja mam rad sklady. Do domu a bytu jsem investoval drive take, ale zazil jsem spoustu problemu, ktere me odradily.

Jednou jsem treba koupil krasny novy byt na Floride. Funglovka novostavba. Takto to vypadalo po poslednim najemnikovi. Najmul jsem na to brokera, protoze jsem tehdy na Floride nebydlel. Ten mi pomohl vybrat najemnika. Rok nebo dva vse fungovalo dobre. Pak prestal platit. Broker se tam sel podivat. Najemnik se mezitim zmizel.  Tohle po sobe nechal.

Podobne situace se mi staly vicekrat. Vzdycky me to mrzelo, protoze jsem mel ty svoje byty a domy v dobrem stavu. Delat opravy stoji hodne penez. Casto se tim vyrazne vymaze zisk z pronajmu.

U skladu jsem takove problemy nemel. Ono tam totiz neni zas tak moc co znicit nebo rozbit. A je to trosku jinaci, kdyz pronajimate firme co tam ma sidlo nez jednotlivci, ktery tam bydli.

Ted mam novou zkusenost s pronajimanim prodejnich prostoru. Pizzerii jsem uz pronajmul (za vysoky najem). Ten prazdny obchod taky (ale zatim jen kratkodobe a za nizsi najem). Zajemcu bylo hodne. Vetsina chtela platit mene. Nebo nebyli schopni dodat financni doklady (pri pronajmech by mel najemnik ukazat, ze ma dostatecne prijmy na placeni najmu). Nakonec jsem pizzerii pronajmul panu Jehnatkovi! (coz uz ted vim, ze s nim urcite budou dalsi problemy). Tu treti prodejnu jsem pronajmul lidem co delaji cross fit.

Moje zkusenosti v porovnani s pronajmy skladu jsou nasledujici. U tech prodejnich prostor je mnohem vetsi nabidka na trhu. Vola velke mnozstvi zajemcu, ale je mnohem tezsi uchopit a najit toho spravneho. Takoveho co je schopen ukazat, ze bude moci platit najem. Zaroven se mnohem vice smlouva. U skladu je tak mala nabidka volnych prostor, tak se moc nesmlouva. U prodejen je nabidka obrovska, takze se smlouva drasticky. Mockrat jsem si myslel, ze mam uz jisteho najemnika a na posledni chvili si to rozmyslel (nebo chtel platit o dost mene).

Prodejni prostory jsou mnohem vice casove narocne. Stravil jsem vice casu pronajmem prostoru, ze ktereho dostanu $3,000 mesicne vs. skladu kde bych dostal $20,000 mesicne. U toho skladu by bylo jednodussi jednani. Najemci jsou vice sofistikovani. Vi co znamenaji financni vykazy. Lepe se s nimi jedna. Je to tim, ze to jsou vetsi firmy.

Kazdopadne do budoucna bych se do dalsi retail investice (prodejni prostory) nehrnul. Jsem docela skeptik. Cim dal vice obchodu krachuje (Amazon efekt). A bude to horsi. Uz ted statisticky trva az 6 mesicu pronajmout prazdny prodejni prostor. U tech skladu jsem optimista. Je jich malo. Moc se jich na dobrych mistech postavit neda (je to nejnizsi vyuziti pozemku). Spise naopak existujici sklady nekdo radeji zbori a postavi tam misto nich obchody nebo byty (coz je vyssi vyuziti toho pozemku). Ale pro majitele tech zbyvajicich skladu je to vyhoda. Cim mensi nabidka tim je jednodussi pronajimat. Zatim jsem vzdy nasel noveho najemnika  do skladu bez jakehokoliv prostoje. Jeden mesic skoncil jeden najemnik a druhy mesic zacal novy.

Recept, ako overiť startup myšlienku

Všetci sme sa stretli s prípadmi, kedy niekto dostal vynikajúci nápad na podnikanie, venoval mu všetok svoj dostupný čas, no projektu sa nedarilo a po čase skončil. Obrovské odhodlanie a chuť vytrvalo pracovať totiž rýchlo zničil jeden malý veľký detail – zlý business model.

Môžete mať super marketing, programátorov, procesy a všetko robiť na jedničku, no ak máte zlý biznis model, nič z toho nebude platné.

Mám za sebou veľké množstvo failov. Du budúcna budem určite ďalej failovať, no mojím cieľom je poučiť sa z nich. Preto pri štarte nového businessu používam nasledujúci recept:

Krok 1, necháme odstáť
Zakaždým, keď dostanem nápad na čo i len maličký projekt, zapíšem si ho do zoznamu nápadov. Nikdy na ňom nezačnem pracovať hneď. Nechám ho odstáť a ak sa mi projekt páči aj po mesiaci, začnem nad ním reálnejšie rozmýšľať.

2. Krok 2, prefiltrujeme
Vďaka zapisovaniu si všetkých startup ideas a zlyhaní, ktoré ich nasledovali, sa mi po čase podarilo vytvoriť checklist, na základe ktorého hodnotím nové starup myšlienky. S ním by som sa tu rád podelil.

Môj checklist:

  • Business je jednoduchý, ako na realizáciu, tak na pochopenie zákazníkmi
  • Má vysoké margins
  • Už niekde existuje (v inej krajine, v inom sektore, alebo competitor je drahý/zlý/pomalý)
  • Potrebujem len nízky vstupný kapitál
  • Nízka, no zdanlivo vysoká bariéra vstupu
  • Trh sa dá overiť rýchlo a za lacno
  • Recurring sales
  • Dá sa ľahko sprocesovať a delegovať práca
  • Na zákazníkov viem zacieliť rýchlo a lacno

Napriek tomu, že sa mi tento zoznam v posledných rokoch osvedčil, nemôžem tvrdiť, že je univerzálne použiteľný. Tak, ako sa medzi sebou líšia jednotlivé startupy, sa líšia aj podnikatelia a ich prístupy. Síce platí, že čím viac bodov z checklistu startup idea splní, tým väčšiu šancu na úspech má. To však neznamená, že ich musí spĺňať všetky.

3. Krok 3: Počas prípravy dávame startup ochutnávať
Vyvarujem sa toho, aby som celý startup potichu vytvoril a následne ho spustil ako hotovú vec. V tomto kroku ešte môže byť môj business model úplná hlúposť a je zbytočné mu venovať viac zdrojov, ako je potrebné.

Urobím iba minimum:

Následne môžem na webku poslať nejaký skúšobný traffic a zistiť, koľko ľudí sa zaregistruje. Po registrácii užívateľ uvidí iba hlášku, že služba sa zatiaľ pripravuje a toto je len test, či o takúto službu je záujem.

V tomto kroku taktiež kontaktujem potenciálnych užívateľov a prejdem si s nimi prototypy. Opýtam sa ich, či by táto vec riešila ich problém a či je toto dobré riešenie.

Osobne som žurnalistov nepoznal, a tak som kontaktoval mnoho známych, ktorí majú širší network ako ja. Napríklad sa mi podarilo spojiť s reportérkou v rozhlase, ktorá mi povedala, že celý office hľadal včera 4 hodiny pediatra, aby dal vyjadrenie do večerných správ. Celkovo sa mi podarilo spojiť sa s troma žurnalistami a ohlas bol pozitívny.

4. Startup zahodíme, alebo podávame postupne
V tomto bode sme do startupu investovali ešte minimum peňazí a možno mesiac práce. Teraz je čas rozhodnúť sa, či má zmysel pokračovať, alebo nie. Získali sme veľa spätnej väzby, ktorú môžeme rovno implementovať do finálneho produktu. Je dobré ísť vonku rýchlo s minimálnou funkcionalitou – takzvaný Minimum Viable Product – MVP.

MVP pre medializuj.sk je iba spájanie žurnalistov s odboníkmi, ktoré je jednoduché a zadarmo.

Následne postupne pridávame funkcionalitu podľa potreby.

Tento systém na overenie startup myšlienky som postavil na mojich zaznamenaných chybách a skúsenostiach s neúspechmi. Ako by vyzeral checklist vytvorený podľa vašich skúseností? Čo by ste do neho doplnili?

Zsolt Szabo