Frisim

Mobil Nyhetr.se med jQTouch

Posted in Frisim on januari 24th, 2010 by Clas – 1 Comment

Ja, jag har en iPhone. Jag har ända sedan jag köpte den varit lite sugen på att programmera applikationer till den. Problemet är att jag inte har någon Mac att utveckla på, och att jag helt enkelt inte varit tillräckligt motiverad i att sätta mig in i gör.

För ett tag såg jag någon som skrev om jQTouch, kanske var det på Hacker News. jQTouch är ett Javascript-bibliotek för att utveckla webbsidor för iPhone för att hjälpa till att få funktion och utseende att bli iPhone-likt, och att få webbsidor i iPhone att likna applikationer. Den hjälp också till med att med ikon, splash-screen och lite till. Att skapa en sida i jQTouch påminner lite om hur det var att skapa en WAP-sida. Där var allt organiserat i ”cards” som återfanns i en och samma fil. Med jQTouch är det likadant, men blir det lite mer flexibelt då jQTouch har väldigt bra stöd för AJAX. jQTouch bygger på Javacript-biblioteket jQuery.

Jag har tagit några skärmbilder på min nuvarande ”alfa-version”. På den första bilden syns hur startikonen ser ut om den läggs på en hemskärm. Funktionen blir lite olika om man startar den från en ikon på hemskärmen eller som man går till webbsidan från iPhones Safari. Med en start-ikon på hemskärmen så kan man med jQTouch få webbsidan att köra i ”maximerat läge” vilket gör att Safari inte syns, och det ser ut nästan precis som en ”riktig” applikation. Denna möjlighet använder t.ex Google Wave för iPhone.


ikon

Om du startar ”webbsidan” från hemskärmen så visas en ”splash-screen” under tiden webbsidan laddas.

ikon

När sidan laddat klart så visas webbsidan. Naturligtvis krävs uppkoppling för att köra ”webbsidan”. jQTouch har visst stöd för att köra ”offline”, men det är något som jag ännu inte utforskat.

ikon

Än så länge finns där bara ett par fördefinierade nyhetskategorier och en sökruta, men mer kommer. Klickar jag på ”Ekonomi” AJAX-laddar webbsidan in nedanstående sida.

ikon

Klickar jag på någon av länkarna så kommer webbsidan att AJAX-ladda en liten omdirigeringssida, som i sin tur laddar nyhetssajtens sida i en iframe. Jag är inte helt nöjd med att lägga den externa sidan i en iframe, men det är det enda sättet för en webbsida i fullskärmsläge att visa en extern sajt utan att öppna Safari. Att öppna i Safari gör att det skulle krävas en massa klick för att komma tillbaka till min webbsida/applikation. Nu visas en tillbaka-knapp högst upp som tar mig tillbaka till min webbsida. Detta liknar det sätt som bl.a. Twitter-klienten Tweetdeck använder för att visa externa sidor.En länkad nyhet hos HD får detta utseende:

ikon

En sökning kan görs på normalt iPhone-sätt. Klicka på inmatningsfältet och tangentbordet dyker upp.


ikon

Söker jag på [Google] så hittar jag alla insamlade nyhter som innehåller just det ordet. Träffarna visar på en vanlig sökresultatsida.

ikon

Det går att se lite mer av texten om du vänder telefonen så att skärmen används i landskapsläge.

ikon

Just nu är detta hela funktionaliteten. Min plan är att få till all funktionalitet från Nyhetr.se så att det fungerar på iPhone-versionen, inklusive Twitter-login. Planen är också att jag bara ska visa länkar till nyheter som finns på ”mobilversioner” av nyhetssajterna. Då detta är en ”spinnoff” av den vanliga webbsökningen så kommer jag även i fortästtningen bara ett indexera normala nyhetssidor (inte mobilversioner). Detta gör att jag kommer att begränsa sökningen till webbsajter som har en liknande länkstruktur på sin mobila version som på sin normala webbsida. De som har det just nu är HD, Expressen och Aftonbladet, och kanske någon mer. Jag vet inte hur svårt det är att få det klart, eller hur lång tid det tar, men jQTouch är kul att leka med när man väl greppat hur det fungerar.

Semi-automatisk nyhetsbevakning

Posted in Frisim on januari 6th, 2010 by Clas – 3 Comments

Genom att logga in med ett Twitter-login på Nyhetr.se så kan du leta fram och markera nyheter som ”viktiga”. De dyker då upp på nyhetr.se/viktigt, men, och här kommer det fina: De nyheter du markerar samlar vi ihop, och du kan hämta hem dem i RSS-format, JSON-format, eller visa dem direkt på din hemsida i en nyhetsruta. Genom att söka och markera nyheter på Nyhetr.se så skapar du dig alltså en semi-automatisk nyhetsbevakare. Sa jag att den är gratis? :-)

På Nyhetr.se ser det du såhär:


feed

Där ser du vilka nyheter det är du markerat som viktiga, och du får en länk till en RSS-feed. RSS-feeden innehåller de nyhetslänkar som du markerat.

feed

Du kan också få data i ”widget-format” som du enkelt kan lägga på den egen webbsida. Exempel på hur det kan se ut för min Twitter-användare @nicclas ser du på bilden nedan.


feed

Mer detaljer på hur widgeten fungerar hittar du på vår exempel-sida.

Alltså, för att prova gör såhär:

1) Leta upp ett Twitter-login. Har du inget så kan du skapa ett hos Twitter.

2) Gå till Nyhetr.se och klicka på ”Logga in” eller ”Logga in med Twitter”.

3) Gör några sökningar på ord eller fraser som intresserad dig. Spara gärna sökningarna som bokmärken för att enkelt göra om dem även vid ett senare tillfälle. Klicka på länken ”Markera som viktig” i anslutning nyhetsrubriker som du tycker är intressanta. Alla rubriker du markerar som ”viktiga” kommer att synas i din RSS-feed och nyhetsruta.

4) Gå till exempelsidan för att se hur du kan visa dessa på din hemsida, endera med RSS eller i en nyhetsruta.

Klart!

Detta är en första test av vad man kan göra om man har inloggning på nyhetssöksajten. Utvidgningar som att, baserat på vilka nyheter du markerat som viktiga, föreslå eller lägga till fler nyheter automatiskt ligger naturligtvis nästa till hands, men inget sånt är ännu testat.

Jag har återanvänt mycket av den kod jag skrivit tidigare. Det innebär samtidigt att det är ett litet hopkok av språk och tekniker. Jag använder språken PHP [front-end delen av nyhetr.se], Javascript [nyhetsrutan], Python [mellanlagringen på Google App Engine] och Java [Frisims spindel/sökmotor] och kör det hela på en Amazon EC2 server och mellanlagrar data på Google App Engine.

Har du förslag på hur man kan förbättra denna halv-automatiska nyhetsbevakning? Kommentera eller maila!

Söndagshack: Nyhetr visar viktiga nyheter

Posted in Frisim on januari 3rd, 2010 by Clas – 1 Comment

Nyhetr har i årets första söndagshack fått en funktion för “viktiga nyheter”. Du kan markera nyheter som viktiga och de dyker på att en ”topplista” över viktiga nyheter.


viktiga nyheter

Funktionaliteten bygger på att du loggar in med ett Twitter-konto. Först när du är inloggad kan du markera nyheter, men även som oinloggad så ser du vilka användare som markerat vilka nyheter. Det går att markera nyheter som viktiga båda på kategorisidorna och på sökresultatsidorna. Under den nya fliken ”Viktigt” så syns vilka nyhetslänkar som markerats mest, och vilka Twitter-användare som har marketat dem. Twiter-användarnamnet är länkat till din Twitter-profil, och din hemsideslänk från Twitter visas.

Funktionaliteten ser kanske inte supercool ut just nu, men denna typ av Twitter och Facebook-integration tycker jag har stor potential även för mindre sajter. Genom att besökare på Nyhetr.se har konto och vänner på Twitter och Facebook och genom Twitters och Facebooks APIn så får jag möjligheten att använda denna information även på min sajt. Till exempel så blir det relativt enkelt att visa vilka nyhter som de du följer på Twitter har markerat. DN.se har funktionen Vänners nyheter som gör just detta genom koppling en till Facebook. Eftersom Twitter har en ”geo location”-funktion under utveckling så finns också möjligheten att anpassa de ”viktiga” nyhterna så att till exempel nyheter som markerats som viktiga av personer i samma region som du visas.

Innan Nyhetr har relativ många besökare så är det dock intressantare för de allra flesta att se nyheter som ”någon” markerat, snarare än bara de som markerats av dina Twitter-vänner. Sannolikheten att dina Twitter-vänner markerat någon nyhet är helt enkelt för liten med få användare. Problemet med ”the vinner takes it all” gäller naturligtvis som vanligt, och utan många användare blir funktionen mest en rolig programmeringsövning för mig – och det var också målet från början. Trots det så får du väldigt gärna prova funktionen och kommentera här eller via mail – tack!

Statistik: Insamlade artiklar per dag

Posted in Frisim on november 25th, 2009 by Clas – 2 Comments

Jag har lagt en del tid på den ”synliga” delen av Nyhetr.se, men alldeles för lite tid på själva kärnfunktionen – att göra nyhetsartiklar sökbara. Jämför jag antalet insamlade artiklar per dag (som innehåller ordet ”och”) som Nyhetr samlar in, med antalet som Eniro nyhetssök samlar in så kan jag konstatera att jag inte hämtar in stort mer än hälften. Tittar jag på den senaste månaden så ser det ut såhär:




Det är inte så bra. Mestadels handlar det som att Nyhetr inte letar på lika många nyhetssajter, men eventuellt också att jag missar fler artiklar hos somliga sajter. Inget av det är bra. Det borde vara dags att försöka göra detta bättre. Samtidigt är det ju så mycket roligare att programmera sådant som ger synliga resultat.

Söndagshack: Tweets och Varnish

Posted in Frisim on november 15th, 2009 by Clas – Kommentering avstängd

Nyhetr.se visar nu Twitter-inlägg som länkar nyhetsartiklar under alla ”nyhetsflikar” på startsidan. Data för detta kommer från Topsy.

Alla sidvisningar på nyhetr.se går nu via front-end-cache:n Varnish. De flesta sidvisningar är dock sökresultatsidor, och de har jag valt att inte cache:a alls, så ”hitraten” på data som cache:as är relativt låg. Finessen med att använda Varnish att flikarna under startsidan inte behöver genereras om vid varje sidvisning. Det innebär att drygt 20% av sidvisningarna tas från en cache, medan resten skapas som vanligt.

0+03:19:35
Hitrate ratio:       10      100    
Hitrate avg:     0.2365   0.2397

Serverflytt Frisim.com

Posted in Frisim on november 9th, 2009 by Clas – Kommentering avstängd

Servern som kör Frisim ska flytta på torsdag klockan 15:30. Servern flyttar från ena sidan av Mjärdevi, Linköping till den andra. Det är NetCamp som flyttar över servrar till sitt nybyggda datacenter. Flytten beräknas ta en timme och ger alltså Frisim en timmes nertid mellan 15:30 och 16:30.

För den om som ”måste” ladda nyhetsdata även under denna timme så kan man göra det från Nyhetr.se istället. Anropen är identiska sånär som på domännamnet.

Uppdatering (torsdag 16:01): Servern är nu flyttad och inkopplad och verkar må precis som tidigare, dvs. rätt bra.

Söndagshack: Uppdaterande ping-lista

Posted in Frisim on november 8th, 2009 by Clas – Kommentering avstängd

Frisim Ping har blivit lite mer ”live”. Listan med bloggar som pingar in till Frisim uppdaterar nu automatiskt. Uppdateringen görs med Ajax, med hjälp av JQuery. Jag har använt mig av ett gammlat Digg Spy-script som var populärt för att par år sedan. Det fungerar fortfarande bra. Designen är dock exakt samma som tidigare.



Data som visas på Frisim Ping är verkliga in-ping; inget fusk. Det enda som inte gör det ”realtid” på riktigt är att uppdateringsbufferten bara laddar data från servern var 15:e sekund. Notera att det är in-pingningar som visas, många pingar inte bara när bloggen är uppdaterad. Bättre att pinga en gång för mycket än en gång före lite verkar vara parollen. Många blogg-script åter-pingar vid efterhandsredigeringar, andra använder många ping-tjänster. Detta gör att samma blogg kan pinga in flera gånger under relativt kort tid. I live-listan kan flera av dem synas.

Frisim indexerar 47402 bloggar. Ungefär hälften av det som pingas in indexeras, resten klassas som skräp. Men som data på framsidan av Frisim antyder så är det bara 6622 av dessa som har skrivit inlägg under de senaste två veckorna.

Ännu lite coolare hade det blivit om jag använt Friendfeeds Tornado-server, istället för att köra mot Apache-servern, men det får vänta till nästa gång.

Jag kan också konstatera att Frisim Ping är den överlägset mest välbesökta sidan på Frisim.com. Det är en tydlig indikation att bloggare fortfarande är väldigt intresserad av varifrån de får sina besökare.

Söndagshack: Tweets som länkar nyheter

Posted in Frisim on oktober 4th, 2009 by Clas – Kommentering avstängd

För en månad sedan skrev jag om möjligheten att visa tweets som länkar till nyheter. Jag noterade då att det går bra att söka fram länkar med hjälp av Twitters sökfunktion.

Nu har jag provprogrammerat lite. Det visade sig vara mer komplicerat än jag trodde. Problemet är att Bit.ly, som används för att skapa korta länkar, ger olika länkförkortningar (hash) beroende på vem som skapat dem. De skapar alltså olika länkar till en och samma URL, t.ex dessa två http://bit.ly/W7yzX, http://bit.ly/JkPmw leder till exakt samma URL. Det som behövs är därför en möjlighet att fråga Bit.ly om alla förkortningar som de skapat för en viss länk, och sedan söka hos Twitter efter ”tweets” som använder någon av dem. Alterantivt behöver man hålla koll på hela Twitter-flödet och ”expandera” alla kort länkar. Trixigt! Som tur är finns det redan några som har funderat på problemet, t.ex Twingly och Backtweets. Jag har provat Backtweets och kan nu även visa ”tweets” som länkar till en specifik nyhet. Så här ser det ut:




Det är så kul att baka in en ”mellanhand”, men det är lite enklare än att försöka göra ”deals” med Bit.ly och andra länkförkortare om att få göra denna typ av ”bakåtuppslagningar”.

Nackdelarna med Backtweets är att den ibland returnerar felaktigheter, samt att det naturligtvis innebär ytterligare en fördröjning innan tweeten hittas. Än så länge visas bara relaterade tweets under ”aktuellt-filken” på Nyhetr.se, men om det visar sig ge något mervärde är det enkelt att skapa även för andra listor med nyhetslänkar. Just nu är det mestadels nyhetssajternas egna Twitter-feed-bots som länkar deras egna nyheter, vilket inte är speciellt intressant, tyvärr.

Som av en tillfällighet är detta väldigt likt den funktionalitet som nysläppta Twingly Channels har. Nyhetr.se använder dock inte tweets för att rangordna nyheterna, utan det sker fortfarande bara med hjälp av blogglänkar eller ”word bursts”.

Bloggping-statistik

Posted in Frisim on augusti 15th, 2009 by Clas – 2 Comments

Av de 63549 bloggar som Frisim/ping har pingats med, så har 44685 både passerat SPAM-filtret och har en RSS-feed. Mycket av det SPAM som pingas in är profil eller medlemssidor på forum. Mycket av detta ser ut at komma från servrar i USA och Kina. Ofta är det samma sidor (domäner) som pingas in från många olika IP-nummer. Forums-adresserna som pingas in är ofta ”hackade” visar endera upp en lång lista med länkar, eller också skickar forumsidan iväg besökaren till någon skräpsida med hjälp av Javascript.

Blogghotellet blogghotell.se är den som pingar in överlägset mest ”SPAM” av svenska IP:n. Blogghotellet verkar pinga ut från en server hos Oderland.

Av de 44685 bloggar som passerat SPAM-filtret, och som Frisim också hittat en RSS-feed till, är det bara 2591 bloggar som är ”aktiva” och som har uppdaterat och pingat in igen inom de senaste 14 dagarna.

Skillnaden mellan SPAM och normala bloggar är tyvärr ibland hårfin. Somliga bloggar verkar fyllas med lite random texter, andra innehåller texter som ingen männsika rimligen kan stå för. Även om Frisim indexerar bloggar och gör dem sökbara, så är jag mest intresserad av att analysera vad bloggare länkar till, och i första hand vilka nyhetsartiklar som det länkas till just nu.

Frisim får tillbaka bloggar

Posted in Frisim on augusti 3rd, 2009 by Clas – Kommentering avstängd

Nu visar en sökning på Frisim även träffar bland bloggar igen. Anledningen till att jag tog bort dem för ett tag sedan var för att allt för mycket SPAM kommit med bland bloggarna. Nu filtreras blogg-pingar något hårdare.

Det är lite meningslöst att indexera en massa blogginlägg som i princip aldrig visas upp, så nu syns de alltså vid ”normala” sökningar igen. Vill du söka bland endast nyheter så går det bra att lägga till söktermen [kategori:nyheter] så syns inte bloggar eller pressmeddelanden.