{"id":744,"date":"2014-06-08T15:40:28","date_gmt":"2014-06-08T12:40:28","guid":{"rendered":"http:\/\/esanu.name\/vitalie\/?p=744"},"modified":"2014-06-08T15:40:28","modified_gmt":"2014-06-08T12:40:28","slug":"gab-hai-sa-palavragim","status":"publish","type":"post","link":"http:\/\/esanu.name\/vitalie\/?p=744","title":{"rendered":"Gab. Hai s\u0103 p\u0103l\u0103vr\u0103gim."},"content":{"rendered":"<figure id=\"attachment_745\" aria-describedby=\"caption-attachment-745\" style=\"width: 630px\" class=\"wp-caption alignleft\"><a href=\"http:\/\/esanu.name\/vitalie\/wp-content\/uploads\/2014\/06\/Screen4.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-745\" alt=\"Gab\" src=\"http:\/\/esanu.name\/vitalie\/wp-content\/uploads\/2014\/06\/Screen4.png\" width=\"640\" height=\"1096\" \/><\/a><figcaption id=\"caption-attachment-745\" class=\"wp-caption-text\">Gab screen for iOS<\/figcaption><\/figure>\n<p>Se vede un trend \u00een Internet pentru aplica\u021bii care permit trimiterea mesajelor anonime. Cel mai popular ar fi Snapchat, care recent a refuzat o achizi\u021bie din partea Facebook-lui de $3 mlrd.<\/p>\n<p>Yik Yak, Glide, Secret \u0219i multe altele devin tot populare. Analiz\u00e2nd unele de ele, zic s\u0103 fac \u0219i eu una s\u0103 nu sc\u0103p trenul.<\/p>\n<p>Scopul aplica\u021bie Gab este de a da posibilitatea oamenilor de a p\u0103l\u0103vragi \u00een realtime anonim \u0219i doar cu prietenii.<\/p>\n<p>Mai jos voi descrie cum am solu\u021bionat aceaste probleme.<\/p>\n<p>Tehnic implementarea chat-ului realtime a fost f\u0103cut pe o tehnologie nou\u0103 de la Microsoft, SignalR, care avea implementat SDK pentru Web, iOS \u0219i Android.<\/p>\n<p>Anonimitatea, e simplu de rezolvat, nu ceri nici o informa\u021bie de la om, at\u00e2t doar c\u0103 generez un GUID (num\u0103r unic pentru fiecare pentru a identifica acela\u0219 utilizator). Vizual pentru a identifica mesajele unui utilizator fa\u021b\u0103 de altul dau o culoare fiec\u0103rui utilizator care se schimb\u0103 zilnic. Adic\u0103 timp de 24 de ore unul \u0219i acela\u0219 utilizator va acea acea\u0219i culoare.<\/p>\n<p>Problema cea mare vine atunci c\u00e2nd trebuie s\u0103 identifici prietenii care deja sunt \u00een re\u021bea. Evident c\u0103 trebuie s\u0103 fie un mecanism de filtrare, c\u0103 doar nu pot s\u0103 transmit un mesaj tuturor.<\/p>\n<p>Cea mai simpl\u0103 solu\u021bie ar fi s\u0103 scanezi lista de contacte de pe telefon \u0219i s\u0103 faci comparare cu o alt\u0103 list\u0103. C\u00e2nd doi utilizatori au acela\u0219 email \u00een lista lor de contacte \u00eenseamn\u0103 c\u0103 ei au un prieten comun. Neajunsul la aceast\u0103 metod\u0103 e c\u0103 nu \u0219tii cu certitudine dac\u0103 doi utlizatori sunt prieteni sau au prieten comun. Deci, Gab transmite orice mesaje prietenilor prietenilor inclusiv \u0219i a prietenilor direct care nu pot fi identifica\u021bi exact.<\/p>\n<p>Adresele din agenda utilizatorilor trebuie s\u0103 ajung\u0103 pe server pentru compara\u021bie \u00eens\u0103 asta implic\u0103 cererea de informa\u021bie privat\u0103 de la utilizatori. Problema se rezolv\u0103 simplu prin <a title=\"Hash function\" href=\"http:\/\/en.wikipedia.org\/wiki\/Hash_function\" target=\"_blank\" rel=\"noopener\">hash<\/a>-area tuturor adreselor. Adic\u0103 email <a href=\"mailto:vitalie@esanu.name\">vitalie@esanu.name<\/a> prin hash-are devine un num\u0103r foarte mare d1724abe3469b79f11dd08bf0aa46a8e124b02ecb7a304ccd60fa3c09cb5a516. Doar aceste numere se transmit la server pentru compara\u021bie, nu \u0219i informa\u021bia privat\u0103 de la utilizator. Un num\u0103r hash nimeni practic nu poate s\u0103 ghiceasc\u0103 \u00een baza c\u0103rui email a fost generat. Astfel se p\u0103streaz\u0103 intimitatea clientului \u0219i totodat\u0103 g\u0103sim informa\u021bia comun\u0103. Serverul nu nostru prime\u0219te nici o informa\u021bie privat\u0103 de la utilizator.<\/p>\n<p>Dac\u0103 la Android \u0219i iOS scanarea contactelor se face automat\u0103, prin web site, va trebui manual s\u0103 ad\u0103uga\u021bi ni\u0219te email adrese, telefoane, facebook id, twitter account\u2026<\/p>\n<p>Concluzie. Cu Gab po\u021bi s\u0103 vorbe\u0219ti anonim cu prietenii \u0219i prietenii prietenilor \u00een realtime.<\/p>\n<p>Pute\u021bi desc\u0103rca aplica\u021bia de pe <a title=\"Gab iOS\" href=\"https:\/\/itunes.apple.com\/us\/app\/gab\/id878192548?ls=1&amp;mt=8\" target=\"_blank\" rel=\"noopener\">Gab<\/a> App Store, <a title=\"Gab Android\" href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.evisoft.gab\" target=\"_blank\" rel=\"noopener\">Gab<\/a> Google Play \u0219i pute\u021bi p\u0103l\u0103vragi \u0219i de pe desktop <a title=\"Gab App\" href=\"http:\/\/www.gab-app.com\" target=\"_blank\" rel=\"noopener\">http:\/\/www.gab-app.com<\/a><\/p>\n<p>PS: Am inventat o metod\u0103 super de <a title=\"Growth hacking\" href=\"http:\/\/en.wikipedia.org\/wiki\/Growth_hacking\" target=\"_blank\" rel=\"noopener\">growth hacking<\/a>, nemai\u00eent\u00e2lnit\u0103 p\u00e2n\u0103 acum, de care desigur ve\u021bi afla prin Gab. Mai t\u00e2rziu voi publica un articol despre rezultatele acestui experiment.<\/p>\n<p>PS: Aplica\u021bia a fost pornit\u0103 pe 6 iunie 2014. \u00cen prima zi au instalat 120 de Androizi, pe 7 iunie Apple a aprobat aplica\u021bia pe iOS \u0219i au instalat \u00eenc\u0103 170 de oameni. Thanks.<\/p>\n<p>&nbsp;\t\t<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Se vede un trend \u00een Internet pentru aplica\u021bii care permit trimiterea mesajelor anonime. Cel mai popular ar fi Snapchat, care recent a refuzat o achizi\u021bie din partea Facebook-lui de $3 mlrd. Yik Yak, Glide, Secret \u0219i multe altele devin tot populare. Analiz\u00e2nd unele de ele, zic s\u0103 fac \u0219i eu una s\u0103 nu sc\u0103p trenul. &#8230; <a title=\"Gab. Hai s\u0103 p\u0103l\u0103vr\u0103gim.\" class=\"read-more\" href=\"http:\/\/esanu.name\/vitalie\/?p=744\" aria-label=\"More on Gab. Hai s\u0103 p\u0103l\u0103vr\u0103gim.\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-744","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/esanu.name\/vitalie\/index.php?rest_route=\/wp\/v2\/posts\/744","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/esanu.name\/vitalie\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/esanu.name\/vitalie\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/esanu.name\/vitalie\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/esanu.name\/vitalie\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=744"}],"version-history":[{"count":0,"href":"http:\/\/esanu.name\/vitalie\/index.php?rest_route=\/wp\/v2\/posts\/744\/revisions"}],"wp:attachment":[{"href":"http:\/\/esanu.name\/vitalie\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=744"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/esanu.name\/vitalie\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=744"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/esanu.name\/vitalie\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=744"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}