Який офлайн-застосунок для задач найкраще підходить для роботи на об'єкті?

Найкращий пише спершу в телефон, а в мережу — потім. Перевірте будь-якого кандидата в режимі польоту: додайте задачу, відредагуйте її, прикріпіть фото, потім повністю закрийте застосунок і відкрийте знову. Якщо кнопка гасне, збереження не проходить або запис зникає після перезапуску, застосунок кешує те, що ви читаєте, а не зберігає те, що ви пишете.

Чверть на четверту, середа, лаз під одноповерховим будинком у Гелфі. Господар хоче перенести пральню нагору, і є чотири речі, які варто записати, перш ніж драбина повернеться в кузов: балка, яку не можна підрізати, витяжка сушарки, що йде не в той бік, запірний кран, який ніхто ніколи не підписав, і кутник, який треба взяти дорогою додому. Телефон показує одну поділку, а потім жодної.

Тож ці чотири речі йдуть на зворотний бік чека, або в голосове повідомлення, або в ту частину робочої пам'яті, де вже лежать два інші об'єкти. До п'ятниці з них виживають три. Четверта — саме та, про яку клієнт запитає в понеділок.

Майже кожен застосунок, який продають майстрам, каже, що працює офлайн, — і саме тому ця фраза перестала щось означати. Вона описує щонайменше три різні поведінки, і лише одна з них годиться в лазі під будинком. Розрізнити їх — приблизно десять хвилин, і це варто зробити до того, як переносити туди рік робочих нотаток.

Що зазвичай означає «працює офлайн»

Найслабший варіант — кеш лише для читання. Учорашній графік на екрані, бо його завантажили, поки був зв'язок, і це справді рятує, коли ви стоїте в підземному паркінгу й намагаєтеся пригадати адресу. Потім ви пробуєте щось додати. Кнопка гасне, або крутиться індикатор, або червона смуга повідомляє, що зв'язку немає. Свій день видно, а змінити його не можна.

Середній варіант приймає набране й тримає його в пам'яті. Виглядає так, ніби все вийшло. Він переживає блокування екрана і зазвичай переживає дорогу до машини. Чого він часто не переживає — так це того, що операційна система закриє застосунок, аби звільнити пам'ять: вона робить це не питаючи й не лишає нічого. Це найгірший із трьох, бо цілий місяць привчає вас собі довіряти, а тоді втрачає запис.

Варіант, за який варто платити, пише в базу даних на самому телефоні. Запис існує на вашому пристрої тієї миті, коли ви натиснули «Зберегти», слухає хтось на тому кінці чи ні, а черга тримає його, доки вивантаження не пройде. Зі зв'язком застосунок розбирається потім і у свій час. Саме цю поведінку й шукає тест у режимі польоту.

Десятихвилинний тест у режимі польоту

Проведіть його на застосунку, яким користуєтеся зараз, і на будь-якому, куди думаєте переходити. Десять хвилин на дивані дешевші, ніж з'ясувати це в лазі під будинком.

  1. Увімкніть режим польоту. Не слабкий сигнал, а саме режим польоту, щоб не лишилося неясності, до чого застосунок може дотягнутися.
  2. Створіть щось нове: об'єкт, завдання всередині об'єкта, зустріч на четвер.
  3. Прикріпіть до запису фото й наберіть нотатку такої довжини, щоб її було шкода втратити.
  4. Відредагуйте те, що існувало до відключення: змініть час, позначте завдання виконаним.
  5. Повністю закрийте застосунок, потім відкрийте знову, так само в режимі польоту. Усе, що ви щойно зробили, має лишитися рівно там, де ви це лишили.
  6. Вимкніть режим польоту, відкладіть телефон і відійдіть на дві хвилини, не відкриваючи застосунок. Потім подивіться на іншому пристрої або знову відкрийте ті самі записи й перевірте, чи вивантаження пішло само.

Усе, що провалює п'ятий крок, — це кеш у пам'яті, і ставитися до нього треба як до клаптика паперу. Усе, що провалює шостий, працюватиме, але тільки якщо ви не забудете відкрити застосунок у потрібному місці, — а такий ритуал тримається приблизно три тижні гарячого сезону.

У що насправді обходиться забута нотатка

Дорого коштує ніколи не сама нотатка. Дорого коштує четвер, який починається з поїздки назад до постачальника по фітинг: рішення про нього ухвалили у вівторок і ніде не записали.

Майстер у брезентовій робочій куртці чекає біля прилавка постачальника, тримаючи телефон в одній руці

Порахуйте цю поїздку чесно. Сорок п'ять хвилин за кермом і двадцять п'ять біля прилавка — це сімдесят хвилин, а за ставки $95 на годину виходить близько $111 вашого часу, за який ніхто не платить, і це ще без пального. Двічі на місяць — двадцять чотири поїздки на рік: приблизно двадцять вісім годин, тобто $2 660. Це тиждень роботи, витрачений на те, щоб дістати відомості, які у вас уже були.

Тихіше число — матеріали, які так і не доходять до рахунку. Фітинг за $60, куплений дорогою на об'єкт, згаданий біля машини й забутий до моменту виставлення рахунку, чотири рази на місяць — це $2 880 на рік ваших власних грошей, витрачених на чужий будинок. Проженіть свої цифри через вартість години, яку не можна виставити, якщо арифметика здається абстрактною: більшість дивується власній ставці.

Є й третя стаття, і вона вилазить лише в поганий рік. Податкове агентство Канади (CRA) вимагає зберігати ділові записи шість років від кінця останнього податкового року, якого вони стосуються, а фотографія пошкодженої балки, що ніколи не покидала телефон, записом не є. І нотатка, якої ви більше не можете знайти, теж. Коли клієнт сперечається про те, про що домовилися в підвалі, виграє той, у кого є нотатка з датою.

Черга — це та частина, яку треба бачити

Застосунок, що пише локально, все одно колись мусить передати роботу далі, і саме в цій передачі живе другий клас проблем. Вам потрібно відкрити екран і побачити, що ще не дійшло до сервера, — не значок, що крутиться, а список. Одинадцять елементів у черзі — нормально. Одинадцять елементів, що чекають із вівторка, — питання, яке варто поставити у вівторок, а не наприкінці місяця.

Що стається, коли той самий об'єкт правлять двоє

Ви перейменовуєте об'єкт у підвалі, а офіс тим часом переносить його на четвер. Обидві правки справжні, і одна з них прийшла другою. Застосунок, який мовчки лишає ту, що прийшла останньою, тихо скасує чиюсь роботу — іноді на місяці, доки ніхто не помітить. Застосунок, який зупиняється й питає, робить правильно, хоча запитання й трохи дратує. Це частина самого ведення об'єкта, а не технічна деталь.

Де тут стає в пригоді Zeus

Zeus спершу пише в базу даних на телефоні й лише потім говорить із сервером. Будь-який запис проходить без зв'язку і стає у вихідну чергу на пристрої — у цьому й різниця між нотаткою зробленою і нотаткою втраченою. Коли телефон знову знаходить мережу, черга йде сама.

Те, що можна створювати й правити без зв'язку, — це більша частина застосунку, а не якийсь його закуток: клієнти, адреси об'єктів, самі об'єкти, завдання по об'єкту, зустрічі, нотатки, фото, витрати й рахунки з позиціями та оплатами. Черга — це екран, який можна відкрити, тож усе, що не дійшло до сервера, стає списком, який ви читаєте. Коли сервер повертається зі зустрічною правкою того самого запису, вона потрапляє на екран конфліктів, де ви обираєте, яка версія лишиться.

База даних на телефоні зашифрована ключем, який створюється на вашій власній установці. Єдине, що рідшає без зв'язку, — автопідстановка адреси: підказки зникають, а адреса, набрана руками, все одно зберігається. Решта того, що охоплює застосунок, поводиться так само. Стартовий розмір нічого не коштує й не закінчується; що входить у кожен розмір, викладено на сторінці цін.

Повертаючись у той лаз під будинком: нічого з цього не є смаком щодо програм. Чотири важливі речі були живі секунд дев'яносто, і все питання було в тому, чи прийме їх телефон. Тест забирає десять хвилин — на тому, чим ви користуєтеся зараз, або на застосунку Zeus.

Часті запитання

Чи офлайн-застосунок сильніше садить батарею або забиває телефон?

Запис у телефон не коштує майже нічого; питання місця — це фотографії, і вони займають стільки ж, лежать вони в застосунку чи в галереї. Перевіряти варто інше: чи дає застосунок подивитися й очистити те, що вже вивантажено, — щоб забитий телефон лишався справою обслуговування, а не аварією посеред роботи.

Скільки можна лишатися офлайн, перш ніж це стане проблемою?

Дні, якщо застосунок справді пише спершу в телефон: обмеження не час, а інші люди. Усе, що ви написали в підвалі, невидиме для офісу, доки не вивантажиться, тож бригада, яка зникла на тиждень, — це спершу проблема планування і лише потім проблема даних. Виходьте в мережу раз на день, дивіться чергу — і питання перестає мати значення.

Чи треба пам'ятати про кнопку синхронізації?

Не мало б бути треба. Застосунок, який пише локально, надсилає дані, щойно помічає мережу, і ще раз за таймером, а натискання кнопки — це завжди лише нетерплячість. Показник — шостий крок тесту вище: якщо нічого не рухається, доки ви не відкриєте застосунок на Wi-Fi, це ритуал, про який ви забудете в серпні, тобто рівно тоді, коли зайняті найбільше.

Чи достатньо застосунку для нотаток плюс камери?

Одній людині на одному об'єкті — чесно кажучи, іноді достатньо. Достатньо перестає бути там, де написане вами має побачити хтось іще: партнер, офіс, учень, — або там, де нотатку треба прив'язати до об'єкта через півроку, щоб відстояти рахунок. У нотатки в застосунку для нотаток немає прив'язаного об'єкта, і в цьому вся різниця.