Nyhetr.se med uppdaterad front-end

Posted in Osorterad on februari 15th, 2015 by Clas – 1 Comment

Nyhetr.se har fått ett uppdaterat utseende. Jag har tidigare provat utseeende på domänen Nyhetsfilter.se vilket jag skrev om i förra inlägget. Att flytta från Nyhetsfilter.se till Nyhetr.se innebar (förhoppningsvis!?) inte några större problem, då det är bara är front-end som är utbytt. Det handlade mest om att inte råka skriva över några gamla PHP-script.

Syftet med uppdateringen har varit att göra utseende och funktion så pass enkel att det går att använda samma version i mobil som på stor-skärm. Som det är nu så är det bra menyn som anpassas beroende på skärmbredd. Det är några funktioner på sajten som i och med detta har försvunnit. Funktionen för att kunna skapa en ”personlig” RSS-feed med ”viktiga nyheter”, via inloggning med Twitter, är nu borta. Antagligen ingen större förlust. Detta var en funktion som var lite för komplex för att funka bra i mobilen.

Det som triggade uppdateringen var flera mail från Google Webmaster Tools som börjat påminna om att Google tycker att sajten inte funkar så bra för små skärmar, och att de har slutat skicka mobil-sökningar till sajten. Jag hoppas att denna uppdatering ska vara tillräcklig som ”svar” på detta problem.

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.

Resvan/map – analysera dina Moves

Posted in Osorterad on januari 13th, 2014 by Clas – Kommentering avstängd

Mitt tidigare inlägg handlade att donera resespår från ”activity trackern” Moves-app. Jag har programmerat lite mer runt Moves, och skapat Resvan/map där man kan visa sina ”moves” på en Google-karta, och göra en enklare beräkning på hur mycket tid du spenderat i cirklar som kan ritas på kartan.

I figuren nedan ser du mitt resmönster för december 2013. Det är mycket pendling Linköping-Norrköping med tåg med tillhörande promenader (grå för tåget och grön för gång), en tur hem till Katrineholm, en kort cykeltur (turkos) söder om Linköping, och någon ännu kortare löptur (rosa). Mer detaljer syns naturligtvis om jag zoomar in. Genom att rita cirkeln i Norrköping, för att sedan klicka på ”beräkna tid i cirkel” så får jag reda på hur mycket tid jag spenderat på jobbet, typ.




Det är kanske inte så många svenskar som kör Moves, och kanske än färre kör både Moves och Twitter, vilket krävs för att logga in. Därför har sidan blivit den första(?) där jag skrivit texter på engelska. Sedan den fick en länk från Moves ”connected apps”, så är det faktiskt en del som provkört den.

Allt är programmerat i Javascript (delvis jQuery) utom den funktion som sköter inloggning och laddning av data från Moves som är programmerad i PHP. PHP-delen är alltså en sessionshanterare som använder Twitter för att göra en inloggning och göra en autentisering hos Moves-app. Javascript är väl inte mitt favoritspråk, speciellt inte för sidor som kräver inloggning och sessions, eftersom det är lite komplicerat att felsöka, men det går bättre och bättre, ju mer bekant jag blir med Javascript konsol-loggen. Sidan bygger på Twitter Bootstrap och mycket av ”designen” har jag hämtat från det gamla hacket ”Resogram. Resvan/map använder Google Maps API Drawing Manager för att rita och flytta cirklar, vilket är en ny bekantskap för mig. Funkar mycket bra, precis som det mesta annat med Google Maps.

Min plan är att göra hela koden publik med förhoppningen om att någon mer vill skapa nya funktioner, eller i alla fall fundera över vilka funktioner som skulle vara intressanta. Det mesta av koden går att se direkt genom att göra ”visa källa” på webbsidan (jo ja, jag ska snygga till det senare).

Har du en iPhone eller Android-telefon men inte provat Moves-app, så gör det!

Donera dina resdata

Posted in Osorterad on november 23rd, 2013 by Clas – Kommentering avstängd

Jag har tidigare försökt att skapa mobilapp för att samla in resedata. Då har jag byggt egen app, Reslogg.se utan någon vidare lycka. Nu finns det flera ”activity trackers” att ladda ner för iOS och Android, och Moves app är en av den, och som också har ett API.

Baserat på detta har jag skapat Resvan.com där du kan donera dina Moves app-data. Just nu är API:et bara tillgängligt i en beta-version för Android, men för iPhone så har det funnits ett tag.

Resogram.se på East Sweden Hack 2013

Posted in Osorterad on september 18th, 2013 by Clas – Kommentering avstängd

Under den senaste helgen var jag på mitt andra ”hack” någonsin. På det första, Travelhack 2013, så försökte jag bygga en Android app, vilken till slut blev Kultursafari.

Hacket kallades East Sweden Hack 2013 (ESH13) och var på CreActive i Linköping. Vi var ett lag på två personer och vi bestämde vi oss för att inte bygga någon native app, utan bara skapa HTML/Javascript. I och med det så behövde vi inte förbereda så mycket, utan vi kunde börja direkt att utveckla/testa på en befintlig server på plats. Våra förberedelser bestod i princip av en lista med länkar till tillgänglig kod/kodexempel att utgå från. På ESH13 fanns, precis som på Travelhack, krav på att man använde minst ett av de API som kom från en av ”sponsorerna”. På ESH13 var utbudet väldigt smalt, och några av datakällorna var relativt små (och inte värda namnet API, då det i somliga fall verkade vara meningen att man skulle ladda hem hela datasettet till en egen databas och behandla lokalt). Vi valde i alla fall att basera vårt hack på Resrobots API. Resrobot är ett API för tidtabeller för Sveriges kollektivtrafik, är välunderhållet, och finns på Trafiklab.

Tjänsten vi byggde var Resogram. Idén är att via ett webbgränssnitt kunna skapa resplaner som man sedan kan skicka iväg i form av ett Resogram till den som ska göra resan. Resogrammet skickas i form av en länk i ett SMS (med hjälp av 46elks) och dyker då upp som en ”SMS-notification” hos mottagaren. I SMS:et finns en länk till er mobilsida som visar den planerade resan på en karta, tillsammans med en textbeskrivning för hur resan ska göras.




Vi lyckades få ihop all funktionalitet på de 24 timmarna som hacket varade, även om vissa smågrejor inte blev så klara som vi kanske velat, och att det lite blev på välslipat överallt. Det fungerade i alla fall så pass bra att det gick att demonstrera funktionaliteten live.

Vi var två som programmerade, och vi delade upp det så att jag i huvudsak ägnade mig åt webbgränssnittet och Anders programmerade på själva Resogrammet som alltså ska ses i mobilen. Den lokala ”backenden” består endast av en MySQL-tabell vilken vi planerade och satta ihop tillsammans. Det visade sig dock rätt snabbt att mycket kod gick att återanvända från den en till den andra delen, så det blev en helt det copy/paste mellan delarna.

Resogram är, i princip, den första sajt som jag skapar som använder Bootstrap/Javascript/JQuery och gör något lite mer avancerat än att bara läsa in via Ajaxi ett steg. Antagligen finns det ”nyare” ramverk för att bygga denna typ av ”one page app” på, men jag valde att programmera det mesta direkt i Javascript, då det verkade vara det enklaste sättet att hantera Google Maps API. Tjänsten finns att prova på Resogram.se.

ESH13 var väldigt välordnat, likvärdigt med Travelhack men med bättre mat, och jag kan verkligen rekommendera det om det är så att det blir en ny omgång nästa år. Jämfört med Travelhack så var det betydligt mindre (10 lag, c:a 25 personer). Hacket pågick dagtid under två dagar, sammanlagt c:a 24 timmar, men med avbrott för 2-3 föreläsningar för den som ville. Det fanns också möjlighet till 20 minuters ”pitch-träning” med pitch-coach, vilket var superbra. Arbetsplats, mat, godis, internet, och organisation var utmärkt, verkligen! Hacket avslutades med att varje lag presenterade sitt resultat under c:a 5 minuter inför en ”jury” och lite publik.

Så vad tycker jag kan göras bättre?

  • Prisutdelningen var två dagar senare och inför en större publik, vilket var trevligt. Gissningsvis blev det dock lite för omständligt för de som var med men som inte är från regionen att behöva göra ytterligare en resa till ”east sweden”. Det fick till följd att alla som var med på hacket inte var med på prisutdelningen. Tyvärr så presenterades inte alla lagen som var med på hacket med namn/länk inför publiken vid prisutdelningen, vilket jag tyckte kändes lite fattigt.
  • Till skillnad från Travelhack, och andra tidigare hack, så var det få Facebook/Twitter/media-”kändisar” närvarande, vilket gjorde att spridningen av projektresultat (länkar till hacken) verkar uteblivit i princip helt. Lite tråkigt om resultaten inte ”kommer ut” på något sätt. De länkades inte heller från ESH13-hemsidan vilket även det känns lite fattigt.
  • Som på Travelhack så verkar det vara flera av lagen som går därifrån utan att riktigt förstå varför ett givet lag vann. Dels är det svårt att hinna få en inblick i vad andra gjort, dels verkar det väldigt oklart vad det är som ”juryn” vill se (Idé? Lagsammansättning? Teknik? Grafik? Färdig produkt? Nytta? Affär?). Lite synd, men inte någon stor grej. Juryn gav tyvärr ett lite oengagerat intryck under presentationerna, eller också tyckte de bara att det var svårt, då de under den efterföljande ”frågestunden” endast lyckades få fram en ynka fråga till varje projekt, med undantag för den första presentationen. Synd. Att behöva maila in 2 A4-sidor med ”beskrivning” till juryn i samband med presentationerna var inte kul!
  • Hack vinner (nog) på att vara lite större. Att bara locka 25 personer gör det lite för litet. Så nästa gång hoppas jag att det blir minst dubbelt så många.

Men som sagt, dyker det upp ett ESH14 så rekommenderar jag det verkligen!

Uppdatering 2013-09-19: Juryn skickar sina kommentarer på Resogram per mail och de är:

  • Snygg design
  • Enkel funktion
  • Bra idé
  • Proffsigt utförande
  • Sms-tjänsten ger mervärde
  • Fågelvägen visas upp, bör vara resrutten
  • Finns potential
  • Utmaning i att konkurrera med Google Maps och liknande tjänster

Låter helt okej, fair, tycker jag! För att rita mer detaljera resväg, mellanliggande stationer och vägbeskrivning för gångsegment, kommer jag att prova att byta ut Resrobot till min OpenTripPlanner instans på Vilkenresa.se (och hoppas på att den kan fungera lika stabilt som Resrobot gör :-))

Kultursafari får webbkarta

Posted in Osorterad on april 12th, 2013 by Clas – Kommentering avstängd

Kultursafari har fått en webbkarta som gör att man kan klicka runt bland ”kulturplatserna” på en karta, istället för att behöva besöka dem, och läsa i mobilen.

I första hand har jag programmerat kartsidan för att kunna testa den backend jag skapat för att visa dynamiskt laddade punkter på en karta, något som är enklare att debugga i Javascript, än att utveckla den direkt mot en Java-app. Kartsidan kan också användas för att titta på den HTML som jag genererar från min Wikipedia-dump. Den innehåller en del fel, och genom att klicka runt på kartan så får jag möjlighet att identifiera var/vad det är som blir fel. Förhoppningsvis för det att jag kan öka kvaliteten på de texter som visas.




Förhoppningen är också att denna webb-karta är ett första steg mot en ”spelifiering” av Kultursafari, där man på webbsidan kan titta på vilka platser man passerat och läst om i mobilen, och se vad man borde besöka för att öka sin kultur-nivå.

Sök bland platsannonser MerJobb.com

Posted in Osorterad on april 3rd, 2013 by Clas – Kommentering avstängd

Med insikten om att Arbetsförmedlingen har ett fint API för att göra sökningar bland deras platsannonser så har jag satt ihop en platsannons-sök-sajt på MerJobb.com.




Tyvärr kan jag väl inte säga att jag är så nöjd med själva loggan och designen. Loggan påminner mig som diverse sajter som fanns för 5-6 år sedan, men jag är lite nöjd med att ha ritat själv. Sajtens HTML/CSS är baserad på Foundation 4. Foundation 4 verkar vara lite mer flexibelt än Twitter Bootstrap som är det jag har använt tidigare, och det går att ha lite mer kontroll på vad som händer med layouten när den visas på en liten skärm. Övrig kod för sajten består mest av PHP-kod för att hämta data via API:et; inte speciellt avancerat. Vet inte riktigt vad jag ska göra med sajten nu när kafferasten är slut…

Platser i svenska wikipedia

Posted in Sökmotorer on mars 18th, 2013 by Clas – Kommentering avstängd

Som förberedelse för utvecklingen av appen Kultursafari (se Google Play) har jag har ägnat lite tid att stoppa in artiklarna från den svenska delen av Wikipedia i ett sökbart index. Wikipedia är enkelt att ladda hem från deras nedladdningssida (för svenska delen), i XML-format. Det jag laddat ner är själva wiki-texten, vilken är ren text med formatering för bl.a. wiki-länkar. Filen är på ungefär 2.5GB. Med ett script för att importera XML-data till databasen så går detta på ungefär 15 minuter.

Många av sidorna som finns på Wikipedia handlar om sådant som kan kopplas till platser. Därför finns koordinater angivna på många av sidor. Tyvärr är inte koordinaterna en del av XML-data, utan den finns i ett wiki-format. En positionsangivelse kan se ut såhär:
{{coord|58.410734|N|15.621481|E|region:SE_type:landmark|display=title}}
och vara placerad någonstans i texten. I detta fall är koordinaterna angivna i WGS84 i decimalform. Det är också vanligt att koordinaterna är givna i grader, minuter, sekunder-format. Förutom positionen finns en ”typ” angiven, vilken oftast är satt till ”landmark” eller ”city”. För att kunna använda samma typ av XML-importeringsscript så har jag valt att gå igenom XML-filen, identifiera positionsangivelser och skriva om XML-filen med två nya XML-taggar, position och positionstyp.

Jag har valt att indexera text och koordinater i Solr. Detta gör att det går enkelt att göra fulltext-sökningar i Wikipedia-texten och att det går fint att använda Solrs stöd för ”spatial search” för att göra sökningar på artiklar som beskriver platser som ligger i närheten av en angiven koordinat, och att t.ex. söka ut sidor i svenska delen av Wikipedia som handlar om platser som ligger i Sverige. Index och text tillsammans tar ungefär 4GB utrymme.

Det verkar finnas ungefär 1.26 miljoner artiklar (exklusive omdirigeringar) i svenska Wikipedia, i alla fall i den version jag laddat hem från början av 2013. Det ser ut att vara ungefär mer än 200.000 av sidorna som är platsbestämda. Många av dessa har en ganska ”grov” platsangivelse, och många gäller länder och städer, vilket inte är så intressant. Av dessa så är det ungefär 15.000 som anger platser som ligger i Sverige. Siffran är framtagen genom att söka på platser inom en ”box” som ungefär motsvarar Sveriges yta (men inkluderar en liten del av Norge också).

Som ett första steg satte jag upp ett API för att göra spatiala sökningar, i nästa steg ska jag se om jag kan komma på något roligt sätt att kombinera spatiala sökning med sökningar i texterna. Det krävs ganska mycket jobb om man ska använda texterna till något, eftersom de är wiki-formaterade. Jag har parsat texterna med hjälp av Text_Wiki, men urspungsversionen av detta verktyg är långt från perfekt vilket gjort att jag behövt göra många små justeringar.

Kultursafari på Travelhack 2013

Posted in Osorterad on mars 18th, 2013 by Clas – Kommentering avstängd

Under helgen har jag varit på Travelhack för att se hur ett hackathlon fungerar, och för att utveckla mitt ”resdata-koncept” Reslogg som jag skapade en Android-app för, för ett år sedan ungefär. Konceptet har nu ”pivoterat” till en app som heter Kultursafari och som visar upp kultur som finns i din närhet, när du t.ex. gör en bussresa. Typ, du ser en kyrka, staty eller gammal byggnad genom bussförnstret och appen ger dig data och beskrivande text om vad det är du ser. Appen bygger på mer än 15.000 geo-lokaliserade kulturobjekt och beskrivningarna kommer från Wikipedia.

Min 1-minutspitch baserades på denna bild, som ska beskriva vad det handlar om.

Historiskt sett så har appen viss koppling till boken ”Längs spåret” som SJ gav ut 1989, och där man kan läsa om kultur man passerar om man gör resan Stockholm-Malmö med tåg. Men min app funkar naturligtvis för alla färdmedel och för alla resor!

Appen finns att ladda ner från Google Play under namnet Kultursafari. Har du en mobil med Android 4.0.3 eller senare så får du gärna provköra och kommentera. Även om jag med förberedelser inför Travelhack har ägnat lite mer än 24 timmar åt appen, så är det en första version. Både konceptet och tekniken kommer att utvecklas och finjusteras framöver. Versionen som finns ute har lite problem med ikonstorlekar för vissa mobilmodeller, men i övrigt så ska den fungera relativt bra.

Google News 10år, Frisim.com 10.5

Posted in Osorterad on september 25th, 2012 by Clas – Kommentering avstängd

Google firar att Google News har blivit tio år. Google News startade 22 september 2002. The Atlantic har en artikel som berättar hur Google News skickar massvis med besökare till stora och små nyhetssajter.

Jag startade min Frisim.com för ungefär 10.5 år sedan. Jag registrerade domänen Frisim.com den 20:e april 2002, men samma funktion fanns innan dess under namn som Allanyheter.com (på den gamla goda tiden då det fanns ”gratisdomäner”), och Nyhetsrubriker.com (registrerad 17 september 2000). Allra första visade jag lite insamlade nyhetsrubriker på nic-sys.se, en domän som vi registrerade 1995…