Frisim

Nyhetsfilter.se en RWD nyhetssök

Posted in Frisim, Sökmotorer on januari 4th, 2015 by Clas – 1 Comment

Det var länge sedan jag skrev något här, och det var länge sedan jag programmerade något på någon hemsida, och speciellt länge sedan jag programmerade något på min nyhetssökmotor.

Under de senaste åren har även jag börjat läsa mer nyheter i mobilen än på laptop, och de flesta nyhetssajterna har funktionen att de anpassar nyhetspresentationen efter om du besöker med mobil eller laptop (responsive web design, RWD). Detta gör att det ju är rimligt att även min nyhetsaggregeringssajt klarar att anpassa sig, så det har jag nu provat. Jag har lagt en dag på att få till något som funkar okej i mobil och på laptop baserat på Bootstrap. Jag har använt Bootstrop och Foundation tidigare, men bara för väldigt enkla sidor. Större delen av tiden gick åt att bestämma vilket ramverk jag skulle använda (eller om jag inte skulle använda något alls). Det finns många ”plugins” och script klara för t.ex. menyer. Min approach var att titta på vad som finns, och välja det som ligger närmast hur jag vill ha det, snarare än att först bestämma hur jag vill ha det, för att eventuellt behöva skapa det på egen hand. Ett riktigt hack-upplägg med andra ord. Jag hittade Jasny som verkade vara ett meny-system som fungerade rimligt bra, och valde att bygga på det.

Jag har återanvänt 99% av gammal HTML-output från min sajt nyhetr.se, och i princip bara ändrat CSS:er till denna ”nya” version. Den nya versionen finns på Nyhetsfilter.se, som är ett gammalt domännamn som jag inte använt på länge.




Nu återstår bara att se om jag kan hålla programmerande uppe, och fokusera på den ”riktiga” programmeringen. Nyhetssöket skulle behöva uppdateras en hel del. Jag skulle vilja slippa länka till sajter artiklar som bara är en ingress och sedan kräver inloggning/betalning. Jag skulle behöva uppdatera sättet som nyheterna rangordnas på; vikta om hur Facebook och Twitter-delningar påverkar vad som visas. Jag skulle också vilja hitta på något fint sätt att kunna blanda artiklar på svenska och engelska; det är inte mycket utöver lokala nyheter som jag läser på svenska numera, och ska sidan vara användbar för mig så måste även länkar till engelskspråkiga sajter vara med.

Google Plus, Pluserati, och ”Vem ska jag lyssna på?”

Posted in Frisim on juli 24th, 2011 by Clas – Kommentering avstängd

Google har lanserat Google Plus, en social-media sajt. De flesta som skriver om den liknar den vid Facebook, eller kanske Twitter. Den liknar Facebook på så sätt att man ”måste” göra inlägg i sitt riktiga namn, man kan skriva långa inlägg, kommentera andras inlägg och ”gilla” (+1:a) andras inlägg. Men som på Twitter behöver man inte vara ”vänner” för att kunna läsa vad någon annan skriver, det räcker med att följa en person. Även om inte personen följer dig tillbaka så ser du personens publika inlägg i din ”feed”. Men inlägg som inte är publika, och inte är ”riktade” till dig kan du inte läsa.

Tack vare att man inte behöver vara ”vänner” så kan man enkelt följa en större mångd personer. På så sätt får du snabbt ett stort flöde med ”nyheter” att läsa – lite som att skapa sig en egen redaktion av personliga nyhetsinsamlare. Problemet med Google Plus, precis som för Twitter, ligger i själva ”uppstartsfasen”. På Facebook växer ditt nätverk utifrån din kontakter i ”verkligheten”, så behöver det inte vara på Twitter och Google Plus. Istället kan du mer fritt välja personer du vill följa. Vilka har samma intressen som du? Vilka är aktiva och gör många inlägg? Vilka skriver bra? Google Plus försöker hjälpa dig att hitta personer att följa genom att titta bland dina Gmail-kontakter. Men vad göra om de du har där inte använder Google Plus ännu? Då måste du leta upp dem på annat sätt! Det finns t.ex. en lista med personer som skriver om fotografi som du kan titta på, om du är intresserad av ju fotografi. Ett sådant försök finns i Trey Ratcliffs The Google+ Photographer’s List. Det känns som om Google Plus borde ge större hjälp med sånt här, t.ex. genom någon form av grupper; men innan dess så fås det lösas på andra sätt.

Ett annat sätt att göra det på är som hos Alltop Pluserati (se bild nedan) där ett antal utvalda Google Plus:are presenteras med sina senaste inlägg. Genom att titta på den listan så kan man hitta personer som man kanske är intresserad av att följa.



Min tanke blev därför att skapa en liknande uppsättning personer, men med fokus på svenskar. Det var inte så lätt. Mestadels för att Google Plus inte verkar ha så många aktiva svenskar ännu. Jag har i alla fall gjort ett litet försök på nyhetr.se/pluserati (se bild nedan).





Här finns ännu inte så många personer listade, men förhoppningsvis hittar jag ett gäng till som jag enkelt kan addera. Har du förslag på personer som borde vara med så kommentera gärna! För varje person så listas upp till 5 publika inlägg i datumordning från den senaste två veckorna.

För att skapa nyhetr.se/pluserati så behövdes en funktion som hämtar publika inlägg från Google Plus. Kod för att göra det fanns att hitta på GitHub under Russel Beatties PlusFeed. Jag har använt den koden för att skapa en egen en ”PlusFeedSwe” som finns på plusfeedswe.frisim.se (se bild nedan). Koden ”skrapar” innehåll från Google Plus och gör om det till en feed. Det görs med ett Python-skript som jag kör på Google App Engine. PlusFeedSwe är publik och kan användas även till annat, t.ex. för att visa dina publika inlägg på en blogg, eller liknande.




Mig hittar du förstås också på Google Plus.

Testar lite CouchDB och lite Twitter

Posted in Frisim on april 18th, 2010 by Clas – 3 Comments

Frisim bygger sedan åtminstone fem år på Solr. Solr är ett väldigt flexibelt i hur du använder det, och jag har valt att lagra även lagra artikeltexterna i Solr. Fördelen med det är att det är enkelt att använda Solr för att visa var i sökträffarna som sökordet återfinns, så kallad highlighting. Nackdelen är att filerna som Solr hanterar blir väldigt stora, och behovet av att dela upp data på flera datorer/index kommer tidigare än om man bara använder Solr för att skapa indexet. Alternativet är att spara data i en annan databas och bara använda Solr för själva sökningen. Så gör t.ex. TV4, men de har inte highligting. Jag gissar att SvD (fin länk va?) gör. TV4 lagrar själv artikeltexterna i Polopoly, och vid en sökning så ger Solr information i vilka artiklar, som sedan hämtas upp ur Polopoly-systemet. Jag funderar också på att separera sökmotorn från grunddata. Jag har tagit ett första steg genom att installera en databas som är enkel och flexibel och som jag hoppas bör passa för detta. Jag har installerat CouchDB. Jag är inte säker på att CouchDB är den databas som passar absolut bäst av alla NoSQL-databaser som finns, men det är en av den som verkar göra uppdelning på flera servrar enkelt, och som bygger på Map Reduce-idén som jag länge varit sugen på att försöka förstå och prova. CouchDB interagerar med omvärlden direkt med JSON, och det gör att jag har förhoppning om att det ska vara enkelt att använda från både Java och PHP.

Twitter presenterade i slutet på veckan en kommande funktion kallad Annotations, som, om jag förstått det rätt, gör det möjligt att lagra extrainformation ihop med varje tweet i samband med att tweet:en skapas. Det får mig att tänka på den Twitter lists extended som jag programmerade härom månaden. Twitter Annotations verkar dock inte göra det möjligt att addera extrainformation till profiler i en Twitter-lista, vilket Twitter lists extended gör. Med Twitters namnval så skulle jag ha döpt den till Twitter list annotations stället. Nu blev inte Twitter lists extended något större succé tyvärr, 15 personer har provat den, ingen använder tjänsten. Tyvärr rimmar det ganska väl med hur jag uppskattade potentialen från början. Potentialen med Twitter Annotations bedömer jag som liiiite större ;-)

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 hur man 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älper också till med splash-screen och lite till. Att skapa en sida i jQTouch påminner lite om hur det var att skapa en WAP-sida på 90-talet. 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 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, IDG, 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.