Bygga en nyhetsaggregator-sajt

Under semestern har jag jobbat med ett litet hobbyprojekt, webbplatsen justidag.nu som aggregerar nyheter och bloggar om Hammarby Fotboll. Ett alldeles lagom litet projekt för mig som inte har kodat på ett tag och inte vill tappa det helt.

Sajten är byggd i PHP och jag har använt följande:

  • one.com – Billigt webbhotell.
  • Bootstrap – Front end-ramverk som hanterar layout, responsivitet och styling.
  • SimplePie – RSS-parser i PHP som parsar och cachear 16 RSS-feeds. Jag skrev lite kod för att filtrera fram intressanta nyheter via nyckelord och extrahera bilder från feedsen.
  • EasyCron – Det tar rätt lång tid (typ 15s) för SimplePie att ladda om alla feeds så man vill inte göra det varje gång sidan laddas. Vissa webbhotell erbjuder schemaläggning av script men det gör inte one.com. Så jag använder den här tjänsten som var 10:e minut anropar min sajt med en parameter som får SimplePie att ladda om alla feeds och cachea.
  • Twitter widgets – Twitter-feedsen är färdiga widgets från Twitter.
  • Svensk Fotboll widget – Tabellen är också en färdig widget.
  • Google Analytics – För att hålla koll på trafiken.
Annonser

Formulär i HTML5

Var på en föreläsning igår med Peter Lubbers som skrivit Pro HTML5 Programming. Stort tack till er på HiQ som fixade dit honom, nu älskar jag HTML5.

En sak jag blev speciellt imponerad av är formulär. Det här är något jag implementerat JavaScript för i alla webbprojekt jag gjort. Det behövs alltid och implementationen av t.ex. validering av en e-postadress skiljer sig mycket mellan olika siter. Ofta sker validering inte ens i JavaScript utan först när man postat formuläret. Urk.

Validering

Det går att sätta typen på ett formulärfält till e-postadress, URL, telefonnummer eller heltal. Skriver man in något annat får man ett felmeddelande.

Placeholders

Beskrivande text i ett formulärfält som försvinner när man klickar på det.

Obligatoriska fält

Fält kan sättas som obligatoriska, formuläret kan inte skickas om obligatoriska fält inte fyllts i.

Nya fälttyper

Fält för datum med en liten kalender. Sliders, alltså dragreglage för numeriska fält.

Konsekvent och utökat beteende i formulär är en liten del av HTML5 men den som jag tror kommer innebära störst skillnad i användbarhet hos webbsidor, i alla fall till en början. Det är superenkelt att implementera och jag kan (när alla browsers stödjer HTML5 formulär, mer om detta här) slänga bort alla gamla fula JavaScript.

Mer om HTML5-formulär här.

Grooveshark hanterar driftstopp

Jag är ett stort fan av musiktjänsten Grooveshark. Den har liksom allt som Spotify saknar. Musik-som-liknar-det-jag-lyssna-på-funktionen är guld värd. Större musikbibliotek och en publik listning av användargenererade spellistor. Och viktigast av allt; ingen störande reklam mellan låtarna.

Så var Grooveshark nere i förmiddags och jag som är beroende av tjänsten. Men jag blev inte frustrerad, tvärtom. Grooveshark hanterar nämligen saken på ett föredömligt sätt.

Texten:

To those of you who were redirected here, we apologize.

In an attempt to befriend Asian investors and increase office morale, we here at Grooveshark established some connections with the Chinese black market and imported our very own black-and-white Giant Panda (hereby known as ”Pickles”). Unfortunately, due to circumstances no one could have foreseen, Pickles became agitated at the fluorescent lights and near-constant belly rubs and began clawing at our computers.

Pickles is currently thrashing about in the server room, causing the technical difficulties and temporary outage you just experienced. As soon as our interns return from Pier 1 with synthetic bamboo, a picnic basket and an oversized net, we will be able to return the servers back to normal and, if we can, rescue the coder that Pickles has taken as a prize.

Thank you for your patience.

Snygg och ren sida utan tråkiga och obegripliga felmeddelanden av typen 500 internal server error. Twitter-feed med aktuell information. Och framför allt; en kul historia. Det går inte att vara sur på en panda. Och det går inte att vara sur på ett företag som anstränger sig för att ge mig en bra upplevelse, även under driftstopp. Kudos till Grooveshark.

Det finns förresten andra exempel, som Twitters populära failwhale som till och med har en fanclub.