wtorek, 1 kwietnia 2014

Nowy wygląd Facebooka: dlaczego inni go mają, a Ty nie? [ZOBACZ]

I vice versa - Ty go masz, inni nie. Przeczytaj dlaczego tak się dzieje.
Pracowałem kiedyś w serwisie społecznościowym i znam bardzo dobrze social networking od kuchni. Jednak są ci, którzy znają się na tym znacznie lepiej - to programiści i administratorzy serwerów. Dlatego też poprosiłem jednego z nich, by wytłumaczył ci o co chodzi w tej roszadzie.

SOCIAL MEDIA BACKSTAGE.
Z Krzyśkiem pracowaliśmy prawie dziesięć lat temu w Gronie.net, gdzie zajmowałem się społecznością, a on programowaniem. 

- - -
Mikołaj Nowak: ja mam, inni nie. Inni mają, ale ja nie mam. O co chodzi Facebookowi wdrażającemu poważne zmiany?


Stopniowy rollout nowych funkcjonalności nie jest niczym nowym. Pozwala przetestować je pod dwoma kątami - wydajnościowym oraz typowo UX-owym. 
W pierwszym przypadku chodzi o zbadanie, czy nowe funkcje danej strony nie obciążają zbytnio serwerów, co w skali takich molochów jak FB czy G jest bardzo istotne - te kilka % obciążenia przekłada się na grube rachunki za elektryczność w datacenter. 
Zależności pomiędzy użytym "na zapleczu" oprogramowaniem bywają również bardzo skomplikowane, dodanie jednej "małej" (wg projektanta) opcji może wymagać niezłych przemeblowań, bywają też takie których skutki wydajnościowe trudno przewidzieć. Drugi powód zaś to testowanie czy nowe rozwiązania są skuteczne dla prowadzonego biznesu, czy zachęcają więcej ludzi do kupowania, czy budują wiarygodność i wizerunek marki. 
Istnieją dwie szkoły takiego częściowego wdrożenia, choć często używane są jednocześnie. Możliwość użycia jednej lub drugiej zależy też od architektury systemu. Najprostsza to skierowanie ruchu na nową witrynę dla jakiegoś procenta użytkowników. Łatwiejsze jeśli wymagasz zarejestrowania się (wtedy każdy z nich ma jakiś numeryczny identyfikator w bazie danych), ale wykonalne i bez tego. Wtedy zmiany wchodzą "losowym" użytkownikom i zazwyczaj nie ma sposobu zmuszenia serwisu do przejścia na nową wersję. Druga to podział użytkowników według jakiegoś kryterium: geograficznego, językowego, demograficznego - najczęściej dwa ostatnie. Jak poprzednio - łatwiej jeśli trzymasz dane o użytkownikach, ale można i bez tego - konfigurując stronę żeby do serwerów CDN na dany region dostarczała inne treści. Z kolei język to coś co użytkownicy ustawiają sami - i tu jest możliwość szybszego przejścia na nową wersję, po prostu przestawiając go na inny. 
Oderwijmy się na chwilę od stron internetowych. W grach online, szczególnie w MMO, istnieją podobne zagadnienia, choć raczej z powodu geografii, polityki i kwestii kulturowych. Ta sama gra może być okrojona z niektórych elementów (chińskie tabu na pokazywanie kości wymagało zmodyfikowania grafiki w World of Warcraft), czy mieć nieco inaczej dostrojoną trudność. Zaś zupełnie prozaicznym jest zestrojenie gry tak aby ludzie ze zbliżonych stref czasowych mogli znaleźć czas na granie razem. W Chinach cenzura powodowała że wspomniany WoW długo był o jedno wydanie (expansion pack) do tyłu w stosunku do reszty świata. W przypadku gier możliwości przejścia na inny region są ograniczone - niektóre gry pozwalają ci go wybrać, w niektórych jest to ściśle regulowane geografią, a korzystanie z niewłaściwego regionu może być naruszeniem regulaminu.

Krzysiek, bardzo dziękuję!


Mikołaj Nowak