Pamięć średniego trwania

Dzisiaj krótko, dobitnie i z lajfhakowym wymiarem. Puenta od razu: wszelkie dane, które chcecie przechowywać długo – nie przechowujcie ich w aplikacjach. Gałczyński apek nie lubi: nie ocalają od zapomnienia. Sprawnie działają w perspektywie miesięcy i niskich lat – w tej perspektywie są świetne. Ale nie na dłużej.

O co chodzi? Najogólniej mówiąc, o sposoby przechowywania danych. Kiedyś, w początkach ery komputerów, generalnie w latach 90. i dwutysięcznych, oczywistością i jedyną możliwością było przechowywanie danych w plikach. Swoje wypracowania z liceum – jeśli ciągle je masz – masz właśnie dlatego, że miałeś je w plikach. A pliki ani jeść nie wołają, ani się nie starzeją. Może zabraknąć magnetowidów do odtwarzania kaset VHS, ale pliki DOC czy PDF nie staną się nieczytelne nigdy.

Ale jakoś w drugiej dekadzie XXI wieku coraz więcej rzeczy zaczęliśmy przechowywać w aplikacjach. Co jest oczywiście super wygodne i poręczne, ale… Właśnie. Doświadczenie uczy, że aplikacje są świetną pamięcią krótko- i średnioterminową. Przechowują dane na miesiące i lata. Ale nie na dekady. Dlatego po prostu, że są ciągle zbyt świeżym nabytkiem naszej cywilizacji, nieustandaryzowanym i zmiennym. Podlegają fluktuacjom i modom. Jeśli przechowujesz dane w aplikacji – nie masz pewności, że jak długo je będziesz mieć. Nie chodzi przy tym o to, że zły wirus, czy zapaść dysku sprawią, że te dane fizycznie znikną. Chodzi o to, że w świecie aplikacji same standardy odczytu i przechowywania zmieniają się zbyt szybko. Wrzucasz dane do aplikacji, ale może się niespodziewanie okazać, że tej aplikacji już więcej nie będzie. Albo że ona nie działa w nowym systemie. Albo w ogóle, że będzie inaczej.

Stąd też: nazwijcie mnie konserwatystą (jestem nim faktycznie, bo pewne rzeczy chcę naprawdę conservare – zachować), ale radzę Wam wszem i wobec, że wszystkie dane, które realnie chcecie mieć na lata: kopiujcie do plików, do starych i niezmiennych formatów XLS, DOC, PDF, JPG. One są jak wieczysta Ewangelia – nie zdezaktualizują się nigdy. Co będzie natomiast z apkami-świeżynkami: tego na dłuższą metę nigdy do końca nie wiadomo. A ponadto, nazwijcie mnie paleokonserwatystą, ale to, co chcecie przechowywać przez dziesięciolecia: drukujcie i miejcie na papierze.

I teraz dubeltowa przypowieść, co mnie popchnęło do tego tekstu. Bo jak zwykle, zawsze jest coś. Pierwsze primo: dobry znajomy opowiadał, jak stracił niedawno dane w pewnej aplikacji w sposób następujący. Pamięć w telefonie się kończyła, więc telefon zaczął niektóre aplikacje przechowywać w chmurze. Działa to tak, że fizycznie i dane i sama aplikacja są w chmurze, a na ekranie telefonu jest tylko ikonka. Chcesz użyć: otwierasz, a wtedy aplikacja ściąga się z chmury. Czasem taki układ działa wolno, ale w jakimś sensie jest smart, szczególnie dla apek, których używamy rzadko. No więc działało, ale – jak to za aplikacjami – do czasu. Stało się bowiem tak, że ta aplikacja zniknęła z dnia na dzień z AppStore. Ot, wyszła z mody, przestała być in. Wyroki fajnizmu są nieprzewidywalne. Samo to nie byłoby jeszcze problemem… ale znajomy nie miał jej przecież ściągniętej u siebie, ale miał ją w tej opcji “w chmurze”. I teraz nie może jej w ogóle otworzyć, żeby te dane gdziekolwiek wytransferować. Bo tej aplikacji nie ma u siebie ani nie ma jej już w AppStore. I szlus. To jest ten paradoks: dane nie zniknęły, nic ich nie skasowało. Ale zniknęły środki dostępu do nich. To jest to zagrożenie świata aplikacji właśnie.

Przykład drugi. Sam mam w telefonie inną apkę, w której gromadzę pewien specyficzny typ danych. Nic super ważnego, ale poręczne dla mnie. I zasmuciłbym się, gdybym stracił. Na razie działa i śmiga. Ale noszę się od jakiegoś czasu z zamiarem sporej aktualizacji oprogramowania. I przyuważyłem – na szczęście! – że ta aplikacja ostrzega mnie, że po tej aktualizacji już działać nie będzie, bo producent przestał produkować nowe wersje. I koniec, kropka. Zwróćcie uwagę, że to jest uliczka bez wyjścia: nie zmuszę przecież jakiegoś nieznanego producenta apek, by wypuścił wersję zgodną z nowym systemem. Z drugiej strony (i chyba najważniejsze) zwróćcie też uwagę na paradoks. Wygoda i poręczność aplikacji zasadza się w znacznej mierze na tym, że one przechowują specyficzne dane w specyficzny sposób. Wszystko co mam w apkach mógłbym mieć ręcznie w Wordzie czy Notatniku… tyle że byłoby to strasznie toporne we wpisywaniu. Istotą apki do przechowywania danych jest to, że ona upraszcza proces wpisywana… ale kosztem tego, że dużo trudniej wytransferować z niej dane gdzie indziej. Bo z Notatnika mogę wszędzie i zawsze. A z apki – właśnie nie. Jeśli na przykład mam, na ten przykład, aplikację Wieniczka, w której notuję ile alkoholu wypiłem którego dnia i jeśli ona przestaje być aktualna i muszę się przenieść na nową, powiedzmy na aplikację Jurek, to nie ma żadnej siły, która zmusiłaby firmę Tamta Rosja, produkującą aplikację Wieniczka, żeby transfer danych z niej do apki Jurek, robionej przez firmę Teraz Polska, był łatwy i w ogóle wykonalny. On może być zwyczajnie niemożliwy i wszystko może być do zrobienia ręcznie.

Oczywiście, w tym czy innym przypadku może to się i udać. Ale długofalowo – a o przechowywaniu długofalowym mówimy – zawsze wyjdzie coś. Tak to jest z aplikacjami. Nie ma żadnej gwarancji, że one będą działały przez lata. One nie są dość twardym bytem.

Jeśli zanadto zaufamy apkom to – prędzej czy później – zaczniemy się budzić z ręką w nocniku. Będziemy mieć oczywiście pamięć krótkotrwałą, ostatnie 2-3 lata życia zapisane w apkach, ale to tyle. Nie będziemy mieć tej kluczowej, pamięci średniego trwania. I staniemy w tej kretyńsko-naiwnej pozycji, w której będzie się nam wydawało, że świat się zaczął wczoraj. Nie polecam.

Stąd też, jako się rzekło. Wszystkie dane, które chcecie, żeby trwały długo – róbcie ich kopie poza aplikacjami. W Wordzie, Excelu, PDFie, czy czym tam jeszcze. Byle w plikach. To pliki przetrwają. Gdy apek już nie będzie, gdy nas już nie będzie.

Napiszcie co myślicie o tym. Ogólnej tezy jestem dość pewien, ale chętnie się dowiem czy gdzieś w szczegółach coś mógłbym podciągnąć.

*

5 komentarzy

  1. Zgoda co do zasady przechowywania ważnych danych w plikach a nie „w apkach”, ale lepiej nie w XLS, DOC, PDF. Najlepiej użyć zwykłego formatu TXT, albo np. HTML lub XML oraz (które też są plikami tekstowymi). Najbezpieczniej jest używać formatów jak najprostszych, niezwiązanych z żadnym producentem. Ponadto w przypadku takich plików, jeżeli część pliku zostanie uszkodzona, zawsze będzie można odczytać część nieuszkodzoną (np. edytorem heksadecymalnym). W przypadku XLS, DOC, PDF będzie to często niemożliwe lub dużo trudniejsze.

  2. Oczywiście pełna zgoda. Ja byłbym jednak bardziej eksptremalny i radziłbym przechowywać ważne dane w kilku papierowych kopiach, a oprócz tego w zwykłym pliku tekstowym lub markdown i tyle. Żadne formaty elektroniczne związane z prywatnym producentem (XLS, DOC, itp.) nie będą długowieczne. Papier będzie, o ile nie spłonie 😉

  3. Aha, i w sumie to radziłbym też przemyśleć co chcemy przechowywać – bo mało z tego co na codzień produkujemy zasługuje na to, żeby to przechowywać. Ja np. nie gromadzę wcale zdjęć innych niż papierowe – bo co z tego, że miałbym na dysku terabajty zdjęć, jak nie chciałoby mi się ich przeglądać? A album ze zdjęciami to co innego, inny „user experience”, że tak powiem.

  4. Prawdopodobnie większość tych aplikacji i tak używa któregoś z popularnych standardów – bazy SQLite, pliku CSV, XML, czy JSON. Kopie zapasowe wszystkich danych aplikacji robi się paroma kliknięciami, a ich czytanie nie jest dla człowieka wcale trudniejsze od rozszyfrowywania, co Szekspir czy inny Mickiewicz zapisali na nośnikach może ciągle jeszcze używanych, ale kodem coraz mniej zrozumiałym. Pozdrawiam!

Odpowiedz na „Jerzy z mniejlepiej.plAnuluj pisanie odpowiedzi

Twój adres email nie zostanie opublikowany.