De ce am trecut la Hugo

Această postare este prima editată exclusiv pe noul workflow. Să recapitulăm un pic:

  • nu vom avea comentarii (o perioadă destul de îndelungată, poate niciodată). Voi explica mai jos care e logica.
  • nu vom avea trackere sau alte prostioare similare (decât pe paginile vechi unde există embed de youtube, dar în timp le vom scoate și pe acelea)
  • o să arate urâțel cam cum arată acum. Dar în timp o să îl facem să arate cât mai bine.

Ce urmează mai departe e semi-tehnic: nu va fi de neînțeles, doar plictisitor pentru toată lumea - și pentru cei care știu deja lucrurile astea (că o să dumb-down toată informația), și pentru cei care nu o cunosc (că nu e chiar așa de interesantă).

Cum funcționează Wordpress și de ce e o problemă

Până acum blogul mergea pe Wordpress. Pentru cei care nu știu, Wordpress e o bucată de software care rulează pe un server pentru a crea în timp real paginile pe care le vedeați. Voi veneați să vizitați o pagină, Wordpress primea cererea voastră, se uita în baza de date după textul respectiv, îl încărca, încărca și comentariile, îl trecea printr-o prelucrare de temă, prin niște pluginuri care făceau diverse operații pe textul respectiv după care vi-l prezenta vouă.

Evident, era lent, pentru asta unul din pluginuri era un plugin de caching (practic ținea minte cum arată pagina de la cel dinaintea voastră care a vizitat pagina, și vă arăta același lucru). Rezultatul era o pagină care ajungea la vreo 3MB (cu toate scripturile care rulau pe ea) și se încărca în trei secunde. Singurul lucru mai măricel de pe pagina de test e o poză de vreo 966kB.

Între lucrurile care se încărcau erau vreo câteva trackere, că e aproape imposibil să faci ceva fără să fii urmărit de Google și alții mai ceva ca hoții de cai. Așa că am simplificat lucrurile puternic. Acum what you see is really what you get - în spate nu mai merge niciun tracker, nu mai e generat absolut nimic, toate paginile sunt în forma lor actuală stocate pe server, și vă sunt date cât de repede se poate. Vi se încarcă pagina de mai sus (1MB) în sub jumătate de secundă? E ceva, nu?

E o problemă de echilibru: dacă vrei ca lucrurile să fie mai ușor de utilizat, să-ți dea mai multe informații, toate uneltele să fie bine integrate, atunci plătești în alte părți. Wordpress e ușor de utilizat, îți oferă multe facilități, și toate astea costă.

Un lucru care îmi displace la Wordpress e centrarea pe server: pe serverul dorinlazar.ro trebuie să existe un serviciu de bază de date, un serviciu de interpretare de fișiere PHP (că e mai rapid și mai bine, poveste lungă), și, cel mai deranjant, toate informațiile la zi sunt pe server. Vrei să editezi o ciornă? Nu prea poți dacă nu ești online, conectat cu credențialele tale.

Și mie asta nu-mi place. Ca să nu mai vorbim că constant ești în pericol să vină cineva să exploateze una din zecile de vulnerabilități ale celor N chestii care interacționează ca voi să ajungeți să vedeți o pagină web. E complicat, nu? E o durere de cap și pentru mine, și pentru voi. Și e aproape imposibil să scoți toate trackerele de pe pagină, să scoți toată redundanța din pagină, că totul e valabil până la următoarea actualizare a softului, și trebuie s-o iei de la început. Mai mult sau mai puțin.

Site static

Așa că am decis acum multă vreme că nu-mi mai place ce se întâmplă acolo. Da, e frumos și ușor de folosit, dar după o vreme costurile astea mă deranjează. Și nu simt că mă mai pot organiza eu cum vrea, nu am nevoie de editor super-fancy, nu am nevoie să vă pun poze peste poze. Nu am nevoie să știe Google că ați venit voi pe-aici.

De ceva vreme (câțiva ani, sincer) am încercat să caut alternative. Anul trecut am început să editez propriul sistem de management al conținutului, și l-am adus într-o formă acceptabilă, dar nu am reușit să pun lucrurile cap la cap să meargă cum trebuie. Am postat câteva articole în forma aceea „de bază”, dar am decis că îi lipsesc mult prea multe lucruri, și că nu pot să le construiesc într-o formă acceptabilă pentru mine.

Hugo era o soluție pe care am mai testat-o de câteva ori. Cel mai dificil lucru în legătură cu Hugo este definirea unui flux de lucru decent. În teorie lucrurile sunt simple - ai fișierele tale sursă, pe care le poți importa din instalarea curentă de wordpress, un fișier de configurare, un director cu tema, apelezi un program și îți generează site-ul. Numai că pe mine mă interesa un traseu de la „adaug un nou fișier cu informații” până la „ajunge să fie văzut de cititor”. Și abia acum am avut suficientă claritate și suficient curaj să fac pasul ăsta.

Nu exclud ca pe viitor să mă folosesc de structura și informațiile configurate cu Hugo și să-mi scriu propriul sistem, sau să extind Hugo într-un fel în care să-mi devină din ce în ce mai util. Învăț „în producție”, e genul ăla de experiență care te învață cel mai tare. Acesta e termenul limită pe care mi l-am autoimpus - de acum încolo nu mai am de gând să mă întorc la Wordpress, pentru că ar fi mult prea dificil să fac trecerea „înapoi”. Mă bazez însă pe faptul că ceva care funcționează poate fi îmbunătățit, și motivația e mult mai puternică decât atunci când e doar un proiect ipotetic, fără niciun fel de cerințe reale. Am stat pe o soluție care îmi displace prea multă vreme, și acum pot face pasul înainte.

Bine, dar ce înseamnă asta

Pentru cititori, înseamnă că site-ul se încarcă mai repede, că deocamdată va trebui să suportați aspectul un pic primitiv și un site incomplet și parțial nefuncțional. Voi încerca să ascult feedback-ul vostru, dar, desigur, apar niște întrebări:

  1. De ce nu merg comentariile? Am avut în vedere să folosesc disqus, un sistem de comentarii ținut pe un alt server, în paginile generate. E foarte simplu, e o linie de configurare de adăugat. La modul cât se poate de serios, acest blog s-ar fi putut lansa cu disqus, și am fi avut comentarii - dar am fi avut în același timp trackere de la Facebook, Google și Disqus, pe lângă o sumedenie de reclame (planul „pe bani” nu elimină trackerele de care v-am vorbit). Cu alte cuvinte, repetam exact aceeași problemă pe care m-am străduit să o elimin renunțând la facilitățile Wordpress.
  2. Cum îți dau feedback-ul? Deocamdată, dă-mi un semn pe Twitter. Pe viitor, nu știu. Mă mai gândesc. Poate integrez un sistem de comentarii, poate creez un sistem de comentarii, poate pur și simplu nu o să-mi bat capul.

Dar cred că esențial pentru mine este să redefinesc ce înseamnă dorinlazar.ro: este platforma mea de exprimare. Un jurnal - și tehnic, și personal, prea puțin tehnic în ultima vreme, dar e un lucru pe care doresc să-l remediez. E mai important pentru mine să mă simt confortabil adăugând articole aici decât pentru cititori să găsească o rubrică pe care s-o poată vandaliza în liniște. În fond, dacă ați venit pe această pagină, ați venit să citiți ce am de zis eu, nu să vă luați la harță cu mine.

Nu că nu apreciez feedback-ul: e util și foarte des e de mare ajutor, mai ales recent, când am fost mai puțin activ și au rămas cu mine doar oamenii care chiar aveau ce să-mi zică. Dar sunt ferm convins că putem să comunicăm în alte părți; v-am invitat mai demult pe un server de discord, contul meu de Twitter e încă liber la @-uit, deci putem dialoga. Cred, însă, că vreau să semnalez mai degrabă că prefer un alt fel de comunicare. Una asumată, în care dacă chiar aveți o reacție la ceea ce zic eu, să o exprimați pe propriile voastre platforme dacă chiar o considerați importantă.

Deocamdată eu sunt mulțumit. Suntem aici între noi, zero trackere, o pagină doar cu text, fără gâlceavă.

Planuri de viitor

Nu se termină aici transformarea. O să adaug buton de share pe Facebook (câh, dar unii din voi chiar folosiți) și Twitter (pe care deocamdată chiar îl folosesc). Ar trebui să fie destul de simplu, și se poate face fără trackere, așa că în curând o să avem și asta.

Apoi urmează să transform cele două pagini foarte importante pentru ceea ce voi face pe viitor. ICR Podcast și Podcastul de istorie o să beneficieze și ele de un sistem similar. Acolo lucrurile sunt un pic mai dureroase, și s-ar putea să trebuiască să fac fine-tuning de mână la feed-uri. Va trebui să văd exact cum voi proceda cu managementul fișierelor audio, dar astea sunt probleme pentru o altă zi. Acolo trecerea o să se facă fără prea multă pompă, că oamenii care ne ascultă pe acele pagini nu au nevoie de toată bătaia asta de cap.

O să mă gândesc la un sistem de comentarii, dar nu e o prioritate.

Concluzii

Una singură. Calea grea e mai sigură. Pentru mine, trecerea asta va simplifica puternic infrastructura necesară pentru a duce în spate acest blog și îmi va permite să militez fără ipocrizie pentru un web mai curat. Poate mai încolo o să-i ajut pe cei care vor să scape și ei din rigorile unui web supraîncărcat, dar pentru a face lucrul ăsta va trebui eu să-mi învăț lecția, și cum o pot învăța mai bine decât făcând?

Sunt mulțumit de alegerile făcute. Trebuie să fie un pic mai rău la început, ca să fie un pic mai bine pe viitor.