Vägkarta för H.VHS

De senaste månaderna har jag inte ägnat en sekund åt H.VHS. Detta beror vare sig på att jag skulle ha tappat intresset eller kommit på bättre tankar, utan på att jag varit sjuk. Därför har jag nu också en del annat att stå i, innan jag kan fortsätta utveckla programmet. Det hör förstås till saken att H.VHS är ett fritidsintresse – något jag gör enbart därför att det är roligt. Programmering är alltså inte något jag jobbar med annars, och så har det heller aldrig varit.

Därför är det oerhört roligt med all positiv respons! Antalet installationer av version 0.3.1 är nu uppe i över ett tusen installationer, vilket jag upplever som ganska mäktigt. Programmet verkar dessutom fungera någorlunda problemfritt för nio av tio. Det duger förstås inte, men annat hade jag inte väntat mig. Det är inte utan anledning jag kallar det för en alfa-version.

Många hör också av sig med felrapporter. Detta är mycket värdefullt, inte minst eftersom det visat sig att programmet är litet nyckfullt, på så sätt att problem uppenbarar sig bara under särskilda omständigheter eller enbart på vissa datorer. Jag hade aldrig haft någon chans att hitta sådana fel utan hjälp, eftersom det "fungerar för mig". Tack!

Men nu till själva saken.

H.VHS 0.3.2, någon gång i höst

Någon gång under hösten kommer jag att försöka trolla fram version 0.3.2. Den har från början varit planerad att enbart innebära buggfixar. Inga nya funktioner, inga omstruktureringar av programkoden och inte heller något annat. I allt väsentligt kommer det också att bli just så – 0.3.2 ska bli som 0.3.1, fast det ska fungera för 99 av 100, istället för bara 9 av 10.

Jag kommer även att se över möjligheterna att slänga in en provisorisk funktion för nedladdning av undertexter, eftersom jag anser att avsaknaden av den funktionen är en akut brist. Tyvärr är det dock inte särskilt sannolikt att det finns något så pass smidigt sätt att implementera detta, att det är värt tiden. Jag kommer nämligen ändå att få göra om allting till version 0.4.

Version 0.4, någon gång i vår

Till den här versionen är ganska omfattande förändringar på gång. Programmets innanmäte ska mer eller mindre rivas ut i sin helhet, för att ersättas av något bättre strukturerat. Den nuvarande koden var från början nämligen bara tänkt som ett litet experiment, och lider därför av flera designmässiga problem, som bara kommer att bli än smärtsammare ju mer programmet växer. Därför är det bäst att göra detta så tidigt som möjligt i den fortsatta utvecklingen.

Rent programmeringsmässigt kommer den nya koden att innebära flera fördelar. Några av dem förtjänar ett särskilt omnämnande.

Flera program per sida

Det kommer bli betydligt enklare att göra skrapningsmoduler som hittar flera program på samma gång. En liknande funktion finns egentligen redan i 0.3.1, men den är avstängd eftersom det till en mycket hög grad fungerade sådär. I och med den här förändringen kommer det bli rätt enkelt att implementera stöd för sajter sådana som Sveriges Radio.

Nytt skriptspråk för skrapning

Visserligen är det redan i version 0.3.1 på det viset att skrapningsmodulerna definieras i fristående textfiler. Detta innebär att man själv, åtminstone i teorin, kan lägga till stöd för nya sajter efter förmåga och behag, utan att vänta på några uppdateringar från mig.

Men tyvärr är det inte mycket mera än just en teoretisk möjlighet. Även den här delen av programmet har i dagsläget karaktären av ett experiment som urartat, och jag rekommenderar ingen att ens försöka sig på att göra egna skrapningsdefinitioner. (Om man nu inte vill få sig ett gott wtf.)

Med version 0.4 kommer det här skriptspråket att göras om fullständigt, och när version 0.5 släpps kommer det att "frysas", vilket innebär att senare versioner av H.VHS kommer kunna använda samma skrapningsdefinitioner som 0.5. Till dess ska det alltså bli förhållandevis enkelt att lägga till egna sajter.

Gemensam utveckling

I samma veva kommer jag även att ordna något slags introduktion till hur språket fungerar, samt någon typ av tjänst där man kan dela med sig av egna definitioner, liksom hämta sådana som andra gjort. Det finns en del säkerhetsmässiga aspekter av detta som kommer behöva redas ut också.

Förhoppningen med detta är givetvis att H.VHS ska fungera med långt fler sajter än de jag har tid att ordna på egen hand. Ur min synvinkel är det här helt klart den mest spännande aspekten av var programmet är på väg. :-)

Fristående back-end

Vad detta i praktiken betyder är att allt verkligt arbete som H.VHS gör – skrapning, hämtning och så vidare – kommer skötas av ett fristående, plattformsoberoende bibliotek (som går under täcknamnet Hugg.Play). Därefter kommer jag att underhålla två versioner av programmet – dels en grafisk, i stil med vad H.VHS är i dag, och dels en textbaserad i stil med vad SVTPlay.sh är. SVTPlay.sh kommer därigenom att ersättas.

Det kommer också bli förhållandevis enkelt, för den som känner sig manad, att ta fram någon annan front-end, till exempel i form av ett webbläsarplugin, eller integrera Hugg.Play i något annat program.

Som ni kanske förstår, så kan det dröja ett tag innan jag hinner med att genomföra allt detta. Om jag gissar optimistiskt så kommer 0.4 att dyka upp i januari, men det kan utan vidare komma att ta mycket längre tid. Det är därför 0.3.2 ska dyka upp så snart som möjligt, och skulle det visa sig nödvändigt kommer fler släpp i 0.3-serien i väntan på 0.4.

Buggar och nya funktioner kan rapporteras, efterfrågas och följas på Mantis-installationen på Huggpunkt.org. Inom kort ska den även uppdateras så att det som står där stämmer överens med vad jag nyss lagt fram. Givetvis går det också bra att framföra synpunkter och förslag via epost, eller genom att lämna en kommentar här nedanför.

Ha det gott!