Всичко започна февруари месец след като пуснахме доста малък ъпдейт, след който потребители започнаха да се оплакват, че приложението вече не им работи. Промяната беше изключително малка и не смятахме, че сме счупили нещо. Разполагахме и с грешките, при които самото приложение спираше да работи (крашваше) и те бяха предимно, че устройството е останало без налична оперативна памет (RAM).
Проблем, породен от добавянето на много институции
Дадохме си равносметка, че проблемът идва от многото контакти, които телефонът трябва да обработи при самото му зареждане. Преди като бяха 150 нямахме такива проблеми, но вече наброяват над 500 и нужната памет за да бъде обработено и заредено приложението нарасна тройно. Потребителите започнаха да се оплакват, но нито един не ни постави рейтинг от една звезда. Те пишеха, че не им работи приложението и го оценяваха с максималната оценка от пет звезди.
Архитектурен проблем, за който беше нужно да изградим “къщичката” наново
Когато създадохме приложението не се бяхме замислили, колко голямо може да порасне то и до даден момент работеше идеално. С времето добавяхме още и още номера и по този начин, приложението ставаше все по-лакомо откъм нужни ресурси. Бяхме се опитали да оптимизираме използването на памет, но това така и не доведе до желаните резултати. Знаехме, че промяната няма да е толкова лесна, тъй като засяга основния начин по който то работи. За да достигнем желания резултат беше нужно да го преправим фундаментално.
Изцяло пресъздадено за работа с по-малко ресурси
Създадохме нова версия, ще работи с малко ресурси, дори и 1000 номера да има в приложението. За целта внедрихме lazy scrolling (мързеливо скролиране на български) – приложението ще зареди само 100 институции и ще се зареди по още 50, когато потребителя скролира до долу и така докато не се заредят всичките номера. До сега приложението зареждаше всички контакти (към момента 500) и му беше нужна много повече оперативна памет с първоначалното му отваряне. С новите промени към момента, то ще се нуждае от 5 пъти по-малко оперативна памет за обработването на номерата.
Стараем се никого да не изоставим
Опитваме се да предоставим услугата на всеки желаещ да се възползва от нея и тази версия свидетелства за сериозните ни намерения. Ако трябва да бъдем искрени, радваме се, че достигнахме до този проблем, понеже ако никога не се бяхме разраснали, никога нямаше да го имаме. За това месец след като се появи проблемът, пускаме решение за него. Благодарим за разбирането и търпението, което проявихте. Високо оценено е!
За мен изключително важно е да обогатявам знанията си, като 0700 успя да ми помогне изключително много с това – придобих познания за разработване на Android и iOS приложения, които тотално ми липсваха. Преди да създам iOS версията на 0700 беше нужно да създам и сървърно решение, което да ни улесни да добавяме нови номера. За десерт от към нови знания създадох и този блог, като преди това нямах кой знае какъв опит с WordPress. От към академично ниво, преследвам докторска степен. В професионален план се занимавам със софтуерно консултиране в сферата на ecommerce решенията. Всичкият този пъстър и богат опит ме прави изключително полезен, щом се опре до консултиране за софтуер. Ще се радвам, ако бих могъл да ви помогна с нещо.
Благодаря ти Пламене за труда,който си положил за да може да ни бъде по лесно! Успех!