Thursday, March 19, 2009

Några av mina favoriter (i en javascriptbaserad embed)


Den här javascriptcontrollern använder vi på Club Shoppinggatan när medlemmar snabbt ska komma åt sina favoriter, och det som visas ovan är några av mina egna favoritprodukter på Shoppinggatan.
Jag är riktigt nöjd med koden, så här ser det tex ut när vi anropar och skapar favoritscrollern:


var ps = new PScroller('divname');
var width=100;
ps.add('<img src="path to image">',width);
ps.start();



Vi använder oss av prototype och scriptaculous för att underlätta vårt scriptande. Prototype.js gör mycket av standardprogrammeringen enkel och crossplatform och är stabil - tex är dess Ajaxfunktionalitet otroligt lättarbetad.
Scriptaculous har funktionalitet för animering, scrollbars drag and drop samt mycket annat. Rekommenderas för den javascriptintresserade.
Annars är JQuery ett hett tips för den som skapar javascriptintensiva webbsidor, och det är ett bibliotek som vinner allt större mark samt har licensfördelar och relativt tung backning.

På Shoppinggatan använder vi oss av javascript i så stor utsträckning som möjligt. Tyvärr finns det fortfarande många områden där Javascript går bet; Animationer är inte helt enkla att få mjuka, man kan inte rotera bilder osv. Men då kör vi istället med Flash.

Wednesday, March 18, 2009

Våra bilder bor i molnet - och de stormtrivs

Nu har vi äntligen flyttat över alla våra bilder till Amazon Simple Storage / Cloudfront. Flytten gick relativt enkelt, 24 timmar från start till målgång inkl anpassning av Amazons mjukvara.
Resultatet är ännu så länge otroligt lovande - belastningen på vår egen server går ner samtidigt som Cloudfront presterar mycket bättre än vår VPS - det är tidsvinster över hela linjen. När en användare laddar exempelvis en produktsida kommer numera samtliga thumbs upp omedelbart. En stor förbättring för användaren.

Det finns dessutom andra fördelar med att lägga bilder på Amazon. Om vi behöver ändra på bilderna, säg tex ändra storlek på thumbs, så kör vi bara ändringskoden på en extra instans på EC2 och slipper extra belastning på driftsservern. Vi behöver inte heller köpa paket med extra megabyte lagringsutrymme, utan kan ladda upp statiskt material och betala för det utrymme vi faktiskt använder. Och när vi kör igång våra utländska sajter så ligger bilderna redan på en stor, internationell CDN (Se också vad Yahoo skriver om CDN)

Rent praktiskt så använde vi oss av Amazon-biblioteket från Tarzan som är ett PHP-bibliotek. Det är föredömligt enkelt att installera och använda. Att Tarzan dessutom stödjer multicurl gav oss en genomsnittlig laddningstid på 0,03s/fil.

Vi har för övrigt bestämt oss för att lägga hela vårt projekt på Amazon - ett längre driftsstopp hos vår leverantör var det som fällde det slutgiltiga avgörandet. Men det är tyvärr inget som vi åstadkommer på 24 timmar - Vi måste läsa in oss på Amazon lite till innan vi genomför den förändringen.

Thursday, March 5, 2009