Jag låg och funderade mot vilken källa man egentligen skulle hämta sina nyheter om man har dåligt med bandbredd eller får betala hög kostnad vid nedladdning av större mängder.
Ett snabbt test föddes där jag med hjälp av Firebug mätte den faktiska mängden data som laddades hem ett typiskt besök. Sidorna som testades var Aftonbladet, SvD, DN och Expressen.
Tillåt mig förklara, De blå staplarna är den faktiska mängden i megabyte som laddas hem varje gång du besöker sidan (visst – cache finns, men vi förbiser det för ett ögonblick). De röda staplarna är den faktiska mängden som datan tar på disken väl hemma (det finns olika komprimeringstyper).
Varje sida testades med och utan FlashBlock på. Främst eftersom flash-annonser kan skjuta upp datan i höjden och om jag skulle betala för antalet MB så skulle dem vara de första att åka.
Vi kan börja med vad som inte var förvånande, Aftonbladet leder stort. Dess datamängd är lika stor utan flashannonser som tvåan DN är med flash-annonser (!).
Det andra som förvånande är hur mycket DN.se ändå tar i bandbredd. Webbsidan känns snabbare på grund av svarstiden än till exempel Expressen även att skillnaden i storlek är ganska stor.
Stora applåder går ändå till SvD, vilket tar hem denna strid stort i alla avseende. Endast cirka 200 Kb skiljer mellan flash på och av, vilket är stora pluspoäng hos de som inte har så bra datorer, och känns ytterst trevlig att navigera på.
Vi kan leka med siffrorna lite till, Turkiet är en populär semesterort för svenskar men tydligen inte för mobiloperatörerna. Tre tar 120:-/MB för att surfa vilket skulle betyda att Aftonbladet kostar 403:- per sida som visas. Då får du inte heller läsa någon artikel utan då får du nog lägga till det dubbla. SvD kostar enbart 183:- vilket ger dig en artikel “gratis” per Aftonbladet-sida.
Om man sitter på mobilt bredband utomlands som kostar över 20:-/MB och behöver kolla senaste nytt? Då skulle jag nog inte använda någon av dem alls eftersom SVT Text finns och enbart tar cirka 17.4KB (24:- per sida i Turkiet).
Andra tester som skulle vilja göras är svarstid, externa anrop (jag noterade att flera av sidorna anropar http://sidan… och http://www.sidan… vilket strular till det lite) och storlek under längre tid.
Större version om du klickar på bilden.
Snälla! Gör om! Jag vill inte fixa koden! Jag gör ny istället, snälla …
Olika tester sker just nu på cynatic.org inför att jag ska lägga in ett nytt tema. Jag såg och kände att webbsidan har blivit otroligt slö det senaste så jag har helt enkelt skurit ner på anropen – både till databasen, externa anrop och tagit bort vissa bilder från sidomenyn.
Ska utvärdera detta tills jag lanserar version 150 av denna siten.
Stå ut så ordnar det sig snart!
En liten snabb uppföljning på mitt inlägg om the_post_thumbnail() där jag skrev lite om grunderna i den nya funktionen.
Problemet som finns är om man utvecklar ett tema så finns det ingen chans att veta vad en användare definierar som storlek i sina inställningar. Det finns två sätt att komma ifrån detta, antingen använder du get_option(); där du kan hämta thumbnail_size_w, thumbnail_size_h, medium_size_w, medium_size_h, thumbnail_crop med mera och läsa av och manipulera det som användaren definierat.
Eller så punktmarkerar du en egen storlek och kommer bort från problemet med att användaren troligtvis gör fel i sina inställningar.
Vad du gör är att i functions.php är att du skapar din egna bild-dimension för just miniatyrer. Detta är enkelt och gör att du har större kontroll på bilderna, du kan ange flera olika bildstorlekar som passar in exakt vart du vill ha dem och du slipper problem med användardefinierade storlekar.
add_image_size( namn, width, height, crop);
Översättning:
add_image_size( 'min-egna-bild', 650, 250, true );
Vad som kommer hända är att du kan, istället för att använda thumbnail/medium/large i funktionen the_post_thumbnail(), kan använda min_egna_bild istället.
Det enda problemet detta ger är att användaren måste mata in en tillräckligt stor bild för att täcka ytan av denna bilden, det vill säga större än 650×250. Men – du får bättre kontroll och ett bättre flöde i ditt tema.
Wordpress släpptes för en stund sedan i version 2.9 och med släppet följde en efterlängtad funktion med för de som utvecklar teman, nämligen the_post_thumbnail(). Wordpress Codex är dock ganska sena med en bra Wiki-artikel på ämnet så jag tänkte skriva ihop en liten bas-guide till hur den nya funktionen kan användas.
Vad som inte berättas utan krävdes en del sökande för min del är att funktionen först måste aktiveras från functions.php för att fungera. Anledningen vad jag gissar på är bakåt-kompatibilitet så att funktionen inte används där det inte stöds.
add_theme_support( 'post-thumbnails' );
Lägg in raden i functions.php. Stäng dock inte filen än, vi måste också definiera storleken på miniatyr-bilderna. Detta görs med funktionen set_post_thumbnail_size(). Funktionen tar ett par argument int width, int height, bool hardcrop.
set_post_thumbnail_size( 250, 150, true );
Använder mig personligen av raden ovan, här sätts höjd och bredd till 250×150 och hardcrop till sant. Hardcrop är dock för mig ett frågetecken än så länge då det inte verkar göra till eller från det jag har testat. Dess egentligen funktion är att beskära bilden snarare än att förändra storleken på den, vilket ger fler valmöjligheter i fråga om höjd/bredd på bilderna man laddar upp än om vi bara skulle förändra dess storlek.
När du experimenterar med storlekarna så rekommenderas det att du installerar tillägget Regenerate thumbnails så du slipper editera om alla miniatyrer i varje inlägg.
För att hämta din miniatyr så måste du först definiera den i en bloggpost, efter att du sparat functions.php och går in i editorn så märker du en ny ruta som heter Post Thumbnail, definiera din miniatyr i den.
Nu är det dags att hämta bilden i vår loop. Jag rekommenderar att du kontrollerar så att inlägget har en minityr först och främst.
if ( has_post_thumbnail() ) { the_post_thumbnail(); }
Nu är det dags att utforska the_post_thumbnail(). Funktionen tar en mindre uppsjö med argument, för det första kan du definiera din miniatyr med ett namn: thumbnail, medium, large där thumbnail är standardvärdet i funktionen.
Exempel:
the_post_thumbnail(‘medium’); hämtar och skriver ut mediumstorleken av bilden.
Är du inte nöjd med standardvärdet av storleken på bilden eller behöver lägga in en css-klass? Funktionen tar även arrays med olika argument.
Ett exempel är:
the_post_thumbnail( array(300, 300), array('class' => 'min-class-ett min-class-tva') );
Som du ser så gör jag om miniatyren till en storlek av 300×300 och ger den två klass-attribut, min-klass-ett och min-klass-tva. Du kan även lägga in andra värden som rel, title, alt med mera för större kontroll.
















