Programidé: LinkWatch

10 april 2009

En kollega kläckte en cool idé i veckan.

Den är sprungen ur observationen att man ofta kollar upp ett antal sidor på internet varje dag, om och om igen, för att se om de uppdaterats.

Oftast har de inte det, och man har slösat några sekunder av sin dyrbara tid och, ännu värre, blivit lite mer besviken.

Idén är då att ha ett program, LinkWatch, där man kan klistra in länkarna man är intresserad av. Sedan kollar programmet upp om sidorna ändrats. Här är en skiss på hur det kan se ut:

Skiss: LinkWatch

Skiss: LinkWatch

Fetstil betyder alltså att sidan länken pekar på har uppdaterats (sedan man lade till länken eller klickade på länken sist via programmet).

Så jag tänkte spendera dagen med att försöka implementera detta i C# WinForms, med målplattform .NET2.0/mono1.2.6. Detta betyder att man kan köra programmet i WindowsXP/Vista och Ubuntu, kanske också Mac (någon därute som vet om WinForms.NET2.0 funkar i Mac utan att behöva installera något särskilt extra?).

Givetvis blir det ett Open Source-program, så att andra kan bygga vidare på det eller använda idén i någon helt annan miljö!

Uppdatering: Jag har stött på två problem.

1. Vissa siter går inte att läsa av med .NET’s vanliga Http-anrop (jag får Exception). Det gäller t.ex. om jag läser av ”http://bloggar.se/om/fra”.

2. Många siter ger olika svar varje gång man anropar. T.ex. ”http://opassande.se” och ”https://olofb.wordpress.com”.

Det första problemet har jag ingen aning om hur jag ska tackla; kanske måste man ange vilken ”browser” som används, eller något sådant, för att siten ska acceptera anropet. Om det är någon som har tips, hojta gärna till.

Det andra problemet har jag en strategi för att gå på, och det är att ”filtrera ut” endast synliga tecken ifrån HTML-koden. Det är trots allt dessa tecken som är intressanta att bevaka utifall de ändras. Det blir lite mera jobb än jag hoppats från början, men med lite HTML-parsande/reguljära uttryck borde det inte vara alldeles omöjligt.

Uppdatering 2: Asch då.

Har läst runt lite om error 403 som jag får. Den sannolika anledningen att jag får 403 (som betyder Forbidden i HTTP-protokollet) är att många siter, t.ex. bloggar.se och knuff.se inte vill att ”robotar” ska söka av deras siter automatiskt.

Antagligen är det för att de vill att man ska surfa dit ”på vanligt sätt” för att de är reklamfinansierade.

Detta problem går säkert att komma runt på något trixigt sätt – jag är inte webbutvecklare till vardags så jag vet inte hur man gör på rak arm – men frågan är om inte detta gör hela programidén lite vacklande.

Just nu känns det i alla fall lite mörkt..

Uppdatering 3: Mera bekymmer

Det andra problemet, att vissa sidor ger olika resultat varje gång man laddar ned, är om möjligt ännu besvärligare. Grejen är att sidorna kan ha ”reklamrutor” som ändras när man läser om sidan, eller kanske någon slumpartad länk någonstans.

Möjligen skulle man kunna filtrera ut endast ”vanlig text” (icke-länkar) och saker som ser ut som google-ad-rutor (de ligger säker i något div-block som man kan detektera) men hela programmet blir med ens rejält mycket ”dyrare” att utveckla, och förmodligen med lägre tillförlitlighet.

Det är alltså både teknisk-ekonomiska och politiska argument som talar emot LinkWatch 😦

Det känns därför motigt att fortsätta med projektet idag. Vet inte om jag ska lägga det på ”idéer som aldrig förverkligades”-hyllan och ge mig in på något mer produktivt idag..

Uppdatering 4: En lösning funnen. Jag fick via Erik Josefsson reda på siten ”ChangeDetection.com” dit man kan regga en URL att ”tracka”. Så får man ett mail när siten ändras. Det är dock bara en gång om dagen – inte varannan minut som jag hade hoppats på.

Taggar: , ,


%d bloggare gillar detta: