Проект LightSpeed: Как Facebook намали Messenger със 75%

За да може приложението за съобщения на iPhone да работи по -добре - особено на по -стари телефони - Facebook го пренаписа отначало. Новата версия влиза в сила сега.

Проект LightSpeed: Как Facebook намали Messenger със 75%

През август 2011 г. Facebook представи Messenger, приложение за iPhone и Android, което превърна функцията за чат на социалната мрежа в самостоятелно изживяване. Има за цел да се конкурира с текстови планове от безжични оператори - и стана възможно от Facebook придобиване на стартиране на съобщения, наречено Beluga - приложението беше мигновено попадение . И това беше траен: Messenger достигна един милиард месечни активни потребители през 2016 г. и беше най-изтегленото приложение в света през 2019 г., според App Annie .



По пътя той допълва своите оригинални текстови разговори с всичко-от гласови и видео разговори до игри до плащания до ботове до Истории в стил Snapchat . С нарастването на потребителската база и амбициите му нарастваше и размерът му. Това, което беше изтеглено с тънък слой 8,5 MB през 2012 г., се разшири, заемайки 130 MB пространство на iPhone на потребителите. Това е около два пъти по -голямо от WhatsApp, друго приложение за съобщения във Facebook, което предлага много подобни функции.

Но сега Facebook постави iOS версията на Messenger на план за екстремно намаляване на теглото. Като го пренапишете от нулата, той намали отпечатъка на Messenger на вашия iPhone до изключително управляеми 30MB, по -малко от една четвърт от своя пиков размер. Според компанията новата версия се зарежда два пъти по -бързо от тази, която заменя. Актуализацията е толкова компактна, че Facebook успя тихо да я вгради в съществуващата версия и да я тества, като я изложи на подгрупа потребители. (Той ще пристигне в самостоятелна форма за останалите от нас постепенно през следващите седмици.)



Като гигантско програмиране, намаляването на размера е още по -драматично. Messenger ще премине от 1,7 милиона реда код на 360 000, с намаление от 84%.



Стан Чудновски [Снимка: с любезното съдействие на Facebook]

Кодово име LightSpeed ​​и обявено на конференцията F8 на Facebook през април 2019 г., новата версия първоначално трябваше да се достави миналата година; завършването му беше още по -мащабно начинание, отколкото Facebook очакваше. Вицепрезидентът на Messenger Стан Чудновски сравнява усилията за реконструкция на къща и откриване на нови проблеми, когато изпълнителите отворят стените: Можете да намерите само неща, които са по -лоши, отколкото първоначално сте очаквали, казва той.

Сега може да не сте забелязали Messenger да става все по -голям с годините, особено ако имате нов (или поне нов) смартфон с процесна мощност и памет. Въпреки това, много хора обичат да държат на остаряващите iPhone, които може да се борят с твърде големи приложения. За тях старият Месинджър би могъл да бъде забележимо муден.



На устройство от нисък клас ще видите много бързо, че производителността [на новата версия] е видимо различна, казва инженерният директор на Messenger Мохсен Агсен, един от хората, отговорни за широкото пренаписване. Дори на устройство от висок клас ще видите малко повече последователност. Устройството от висок клас започва да се държи като устройство от нисък клас, ако току-що сте приключили с играта или сте заредили камерата и телефонът е под напрежение в паметта. Така че размерът на приложението, което ще стартирате, има значение.

Като се има предвид, че хората могат да влизат и излизат от Messenger десетки пъти на ден, пъргавото изпълнение е всеобхватен императив, твърди Агсен. Ако семейството на приложенията на Facebook е като набор от автомобили, той казва, че някои от тях са седаните и те трябва да бъдат седаните. Наистина почувствахме, че съобщенията наистина трябва да бъдат повече от спортния автомобил, доминиран от скоростта и надеждността в основата му.



Проверихме внимателно всеки ред код и всяка милисекунда.

Инженерният директор на Messenger Мохсен Агсен Промяната на приложението за отлично представяне не е само учтива към хората, които го използват; това също е добър бизнес, тъй като има тенденция да увеличава използването. Знаем, че всеки път, когато правим Messenger по -бърз и опростен, хората са по -лесни за комуникация и те го използват повече, казва вицепрезидентът на инженерството Реймънд Ендрес, ветеран от Facebook, който работи по Messenger от най -ранните дни. Подобно на мнозина, допринесли за LightSpeed, той прие сравнително древен iPhone - iPhone 6 от 2014 г. - като свой личен телефон, докато работи по проекта, толкова по -добре да изпитате Messenger, както го правят милиони реални хора.

Стратегическото значение на LightSpeed ​​за Facebook е по -дълбоко от всяко последващо увеличение в изразходваните минути. Затънала в скандали, смущения и противоречия, свързани с управлението на потребителската информация и злоупотребата с мрежата от лоши участници, компанията вижда Messenger като решаваща част от възстановяването на доверието.

защо е Андрю Джаксън на 20 банкноти

През март миналата година изпълнителният директор Марк Зукърбърг публикува Манифест от 3200 думи , Визия, фокусирана върху поверителността на социалните мрежи. Той очерта планове за интегриране на портфолиото от услуги на компанията - нейната съименна социална мрежа, Messenger, Instagram и WhatsApp - и да увеличи акцента върху частните съобщения, вместо повече публично споделяне. След няколко години очаквам бъдещите версии на Messenger и WhatsApp да се превърнат в основните начини за комуникация на хората в мрежата на Facebook, пише той. Ние сме фокусирани върху това да направим двете приложения по-бързи, по-прости, по-лични и по-сигурни, включително с криптиране от край до край.

Почти година по -късно Facebook все още не е споделил много подробности за това как и кога ще превърне тази визия в реалност. А в дебютната си форма LightSpeed ​​не въвежда криптиране или нови интеграции с други услуги. Но след като замени стара, раздута и коварна кодова база с рационализирана, модерна актуализация, компанията е в по -добра форма, за да преосмисли занапред опита на Messenger. Това е чисто нова платформа, която ни позволява да правим много неща, които не бихме могли да направим преди, казва Чудновски.

Същите само различни

Засега Messenger не претърпява радикално преоткриване по отношение на естетиката, функционалността и организацията, които потребителите изпитват. Приложението все още много прилича Messenger 4 , опростената версия, която Facebook внедри през октомври 2018 г. Новата версия е още по -проста. Той премахва раздела „Откриване“ - в който бяха представени бизнеси с присъствие в Messenger - и се обновява раздела „Хора“ с изпъкнал вид и по -голям акцент върху функцията за истории. Но тези ревизии не бяха част от мандата на LightSpeed, а просто промени, които Facebook беше готов да направи като част от Messenger продължаваща еволюция .

Всъщност едно от нещата, които направиха LightSpeed ​​толкова амбициозен, беше, че Facebook искаше значително да намали размера на Messenger, без да елиминира функционалността. (Тя временно извади няколко функции, като разписки за четене във входящата поща и анкети, но планира да ги върне скоро.) Компанията също така не можа да пренастрои аспектите на услугата, които се захранват от центровете за данни на Facebook, тъй като отзад end трябваше да продължи да работи с Android и уеб версиите на Messenger, нито една от които не е част от актуализацията LightSpeed.

Оригиналната версия на Messenger в цялата му слава за 2011 г. за iPhone. [Изображения: с любезното съдействие на Facebook]

Голяма част от свиването на Messenger, заключи компанията, ще изисква безмилостно премахване на съкращенията в кода. Добрата новина беше, че имаше всякакви съкращения, които да бъдат насочени, отчасти защото Messenger е дело на голям екип, който традиционно беше децентрализиран. (Най-конкретното, което Facebook получава е, че стотици инженери сега работят върху продукта; за разлика от това, Beluga, минималистичното приложение за съобщения, което служи като основа на оригиналната версия за 2011 г., е създадено от екип от трима души.)

За нас LightSpeed ​​е нещо като момента на Мари Кондо.

Дизайнерката на Messenger Алис Чуан Един от проблемите с наличието на много инженери и много предизвикателства и функции е, че в крайна сметка получавате много различни решения на подобни проблеми, казва софтуерният инженер Джошуа Евънсън. С нарастването на възможностите на Messenger разработчиците, които бяха отговорни за различни части от опита, се стремяха да изпълняват задачи със собствен код. Например, навсякъде в приложението има места, където потребителят избира хора от списък - да речем, да блокира някого или да посочи кой може да види история. Само с LightSpeed ​​Messenger получи една канонична част от кода за избор на хора.

Искали ли са някога инженерите да се налага да приемат по -обобщена функционалност, която не е създадена за техните точни цели? Разбира се! Абсолютно! смее се ръководителят на техническата програма Акила Кесавасами. Но след като хората бяха обединени около духа на това, което се опитвахме да изградим и защо правим LightSpeed, беше магическо как екипите всъщност се събраха.

Въпреки че целта не беше да се завърши с Messenger, който изглеждаше поразително различен, това изваждане на части под капака наистина доведе дизайнерите на Facebook да извършат сравнимо рационализиране на елементите на интерфейса. Това само по себе си беше полезно упражнение за намаляване на бъркотията: За нас LightSpeed ​​е нещо като нашия момент на Marie Kondo, казва продуктовият дизайнер Алис Чуанг.

Според колегата на Chuang Майк Арндт, рационализацията на дизайна включва създаването на шаблони, които налагат последователност в работата с Messenger, където е възможно, с известна степен на персонализиране, налична за специални обстоятелства. Когато видите отвертка четири в едно или осем в едно, знаете как да боравите с винтове, казва той за сравнение. Но от време на време има плоска глава или Phillips или шестостен болт.

Всички тези усилия не изискват само внимателна координация между служителите на Messenger в централата на Menlo Park на Facebook и сателитните офиси в Сиатъл, Ню Йорк и Лондон. Служителите на Facebook извън организацията Messenger - например тези, които отговарят за плащанията и функциите на Marketplace - също трябваше да участват и да актуализират работата си. Всъщност има около 40 различни партньорски екипа, за които повечето от нас дори не са наясно, казва Кесавасами.

защо Siri казва, че 2020 приключва днес

Наред с премахването на случаите на повторение, Facebook внимаваше да не измисля нови решения на вече решени проблеми. Той дори не е измислил някои решения, които е изградил в миналото. Тъй като Messenger разшири възможностите си през годините, инженерите го бяха напълнили с персонализирани микроуслуги, които говореха директно със сървърите. Това е типичен път за разработка на голямо, усъвършенствано приложение, но тези микрослужби се нуждаят от изпълнението на такива сложни задачи за уреждане на данни като управление на кешовете. С LightSpeed ​​компанията откри, че може да замени голяма част от тази функционалност с широко използваната база данни с отворен код SQLite. Направихме по -голям залог, казва Агсен. Неща, които щяхме да направим в паметта, поставихме в база данни.

Не е ежедневната ви актуализация

Почти всяко приложение, което съществува от толкова дълго време, колкото Messenger вероятно би се възползвало от толкова задълбочен ремонт като LightSpeed. Но в разговорите ми с някои от хората, отговорни за новата версия, те подчертаха колко рядко е решението да се преработи съществуващ продукт толкова задълбочено, колкото и те. Агсен и Ендрес изтъкнаха основополагащите преходи на операционната система, през които Windows и Mac преминаха преди години-опорни точки, които имат особен смисъл, когато научите, че и двамата мъже са работили в Microsoft през 90-те години.

Сега, когато новата версия на Messenger започва да достига до потребителите, се чудех дали Facebook планира да направи някое от другите си предложения подобно драматично преразглеждане. Компанията казва, че няма планове да прилага същата степен на тежка любов към Android версията на Messenger, изтегляне, което в момента отнема 40MB-45MB в зависимост от вашето устройство. Но той възнамерява да включи някои от техниките, разработени за LightSpeed ​​в бъдещи актуализации на Android.

Какво ще кажете за други продукти - може би дори самото голямо синьо приложение на Facebook, което при сегашния си размер за изтегляне на iPhone от 225.3 MB не е точно перо? Компанията не казва. Но един урок LightSpeed, който изглежда релевантен за плановете на Facebook да възприеме поверителността и интеграцията в целия пакет, е, че безпрецедентните проекти изискват уникална степен на управление на проекти. Можехме ли да направим повече планиране? Вероятно, признава шефът на Messenger Чудновски.

Просто поддържането на Messenger малък и бърз, тъй като добавя нови функции, звучи сякаш ще изисква усилия. Евенсън казва, че новата версия осигурява солидна основа. Има един начин да направите всичко сега, казва той. Налагайки това, ние се надяваме да запазим приложението в същото състояние напред.

Научихме много и сме прекарали много време в размисъл за устойчивостта на изпълнението и екипът инвестира в това, добавя Ендрес, който внимателно предупреждава, че една година е ужасно много време в софтуера индустрия. Ако Messenger никога не се върне в 130MB чудовище, ще знаем, че LightSpeed ​​е постоянно състояние на ума, а не временно решение.