lauantai 19. huhtikuuta 2008

Kirottu DIV

Ei antanut luonto periksi ja jättää sitä DIV ongelmaa, mistä eilen kerroin, paikoilleen. Niinpä mietin miten homman voisi helposti ratkaista. Selailin webiäkin, mutta ihan heti ei silmään sattunut suoraa ratkaisua ongelmaan. Siispä siitä tuskin on haittaa jos kerron miten ongelman ratkaisin...

Ongelma oli siis se, että kun määrittelet DIV elementille leveyden ja sen lisäksi vaikka padding, margin tai border -ominaisuuden, niin Firefox lisää nuo ominaisuuksien leveydet DIV elementin "ulkopuolelle" ja Internet Explorer laskee ne DIV elementiin sisään. Esimerkkinä siis: jos määrittelet DIV elementin jonka leveys on 200 pikseliä ja haluat, että elementin sisällä oleva teksti on 5 pikselin päässä elementin reunasta (padding 5 pikseliä) niin Firefoxilla tuon alkuperäisen DIV elementin todellinen leveys on 200 + 5 + 5 pikseliä, mutta Internet explorer pitää DIV elementin leveyden 200 pikselissä. Olen yhä sitä mieltä, että IE:n tapa käsitellä leveyttä on järkevämpi.

Minullapa oli siis DIV elementti joka oli määritelty näin (tyyli tietenkin CSS filessä, mutta esimerkissä html:n seassa).

<DIV STYLE='width:200px;padding:5px;'>tässä sitten varsinainen sisältö</DIV>


Muuten tuo oli hyvä, mutta itse elementin leveys oli itseasiassa 210 pikseliä firefoxissa. Niinpä tuon sai korjattua helposti pienellä nesting-järjestelyllä.

<DIV STYLE='width:200px;padding:none;border:none;margin:none;'>
<DIV STYLE='padding:5px;'>tässä sitten varsinainen sisältö</DIV>
</DIV>

Ja lopputuloksena tulee 200 pikseliä leveä DIV molemmilla selaimilla, sekä 5 pikselin rako tekstin ja DIV -elementin reunan välillä.

Helppoa, mutta turhaa ja turhauttavaa.

perjantai 18. huhtikuuta 2008

Helpotusta Internet Explorer testaukseen Linuxissa

Tämänpäivän temppujen seurauksena päätin taas perehtyä hieman enemmän miten saisin Internet Explorerin pyörimään Linuxissa.

Toistaiseksi ainoa "järkevä" tapa on ollut asentaa Windows virtuaalikoneeseen (innotek VirtualBox tai VMWare) mutta mielestäni tuo käyttöjärjestelmän tuoma overhead on liikaa. En minä halua ajaa Windowsia virtuaalikoneessa vain siksi että haluan testata web sivuni toimivuuden IE:llä.

Nyt ei onneksi edes tarvitse (jos on valmis rikkomaan Microsoftin IE:n asentamiseen liittyviä lakitekstejä). On muuten mielenkiintoista, että IE on ainoa valtaselaimista joissa tämmöinen ehto on ohjelman lakiteksteissä. Eli Microsoft kieltää asentamasta IE:tä muihin kuin Windows käyttöjärjestelmän omaaviin tietokoneisiin. Jos uskoisin salaliittoihin, olisi tässä helppoa nähdä yksi salaliitto. Ensin M$ ajaa IE:n suosituimmaksi selaimeksi samalla kun se niputetaan osaksi käyttöjärjestelmää. Tämänjälkeen M$ sotkee HTML standardit tuomalla omia tulkintojaan ja laajennoksiaan, minkä seurauksena liian moni sivustojentekijä haksahtaa M$ ansaan. Omien tulkintojen seurauksena joutuu sivustojen tekijät tekemään sivuistaan pahimmillaan rinnakkaisia versioita, ja parhaimmillaan testaamaan ne Firefoxin lisäksi IE:llä. Mutta IE:llä ei voi testata käyttämättä MS Windows käyttöjärjestelmää - joten jokainen lainkuuliainen webkoodari joutuu hankkimaan MS Windowsin - ainakin testikäyttöön. Onneksi web-ohjelmoijien keskuudessa tämänkaltainen lainkuuliaisuus on aika alhainen. Voi jopa olla, että tämänkaltaiset rajoitteet edesauttavat piratismia...

Ainiin... olihan minulla joku oikeakin juttu kirjoitettavana. Eli löysin ohjelman nimeltä IEs 4 Linux. Ohjelman on tehnyt tatanka.com.br. Sivuilta löytyy helpot ohjeet siitä miten IE 6 saadaan asennettua eri linux jakelupaketteihin. Alla esimerkki miten homma tehtiin Fedora 6 -pakettiin. (juu, tiedän että FC6 on jo vanha, mutta en ole saanut aikaiseksi päivittää...).
  • Avataan terminaali root -käyttöoikeuksilla ja asennetaan wine ja cabextract.
yum -y install wine*
yum -y install cabextract
  • kirjaudutaan pois root -tunnuksilta ja asennetaan IEs 4 Linux normaaleilla käyttäjätunnuksilla
wget http://www.tatanka.com.br/ies4linux/downloads/ies4linux-latest.targ.gz
tar zxvt ies4linux-latest.tar.gz
cd ies4linux-*
./ies4linux
HUOM: yllä wget ja web osoite tulevat samalle riville terminaalissa. Ne rivittyvät blogissa omille riveilleen taittoteknisistä syistä.

Ja siinä se, sitten vain asennusikkunan ohjeita noudattaen valitaan mikä tai mitkä versiot asennetaan ja laitetaanko käynnistysikoni työpöydälle tai/vai/ja käynnistysvalikkoon.

DIV elementit, firefox ja internet explorer

Olen tunnetusti huono ihminen mitä tulee sivujen suunnitteluun. Teen koodin puhtaasti linux ympäristössä, ja koska minulla on Windows käytössä vain töissä, jää IE:llä testaaminen usein retuperälleen. Niinpä tälläkin kertaa.

Olen viimeaikoinen hieronut tuota palkkatieto.net palvelua uuteen kuosiin. Sivuille on lisätty uusia toiminnallisuuksia ja, kuten arvata saattaa, on ulkoasu taas kerran muutettu. Taas voi vain sanoa, että uusi on varmaan paras ikinä. Syyllistyin taas perisyntiini, ja suunnittelin sivuista pääosin mustan-harmaan-valkoiset. Se on minulle tuttua ja turvallista - värisokea kun olen.

Sitten itse ongelmaan, jäin tänään kotiin tekemään töitä. Siitä johtuen oli hieman enemmän aikaa, joten ehdin katsomaan miltä tuo palkkatieto näyttää IE:llä katsottuna... Ja huonoltahan se näytti. Navigaatio oli ihan kuralla ja sivuelementit hyppivät vähän minne sattuu. Mistä näin, aloin miettimään? Ongelmahan oli tietenkin se, että olin nykytyyliin tehnyt sivujen asettelut DIV -elementtiä käyttäen. (Taisin aiheesta jossain välissä jo muutaman sanan kirjoittaa). DIV -elementti on ihan mukava ja kätevä. Kun hommasta pääsee liikkeelle, voi sillä korvata taulukot aika pienellä vaivalla. Ja etuna pitäisi olla nopeampi renderöinti selaimissa. Tiedä siitä sitten, mutta näin olen nyt jokatapauksessa tehnyt.

Ongelmaksi syntyikin se, miten eri selaimet käsittelevät DIV elementtiä ja siihen liitettyjä padding, margin ja border -ominaisuuksia. Siinä missä FireFox on sitä mieltä, että DIV elementin koon lisäksi määritellyt padding, margin ja border -ominaisuudet lisätään elementin kokoon, käsittelee Internet explorer elementin niin, että kyseiset arvot lasketaan DIV -objektin sisään.

Eli, jos määrittelet DIV elementille leveyden 200 pikseliä ja lisäksi padding -arvoksi 10 pikseliä, näyttää Firefox kyseisen DIV elementin 220 pikseliä leveänä, mutta Internet Explorer näyttää sen 200 pikseliä leveänä. Enpä tiedä kumpi on oikeassa standardin mukaan (jos standardi ottaa tähän mitään kantaa), mutta IE:n tapa käsitellä tuntuu johdonmukaisemmalta ja helpommalta hallita.

Oli totuus mikä oli, niin koodaajan pitää siis huomioida miten eri selaimet soveltavat padding, margin ja border -ominaisuudet eri objekteihin. Tämän voi kiertää aika helposti HTML+CSS tempuilla, mutta minä en tässä vaiheessa ole viitsinyt siihen hommaan ruveta. Niinpä sivustoni näyttää nyt IE:llä rumemmalta kuin Firefoxilla. Pienten korjailujen jälkeen sain sen kuitenkin taas käytettävään kuntoon myös IE:llä.

Loppukaneetiksi mainitaan vielä se, että firefox hyväksyy CSS:ssä määritetyn border-bottom:1px; mutta IE vaatii, että tuo määritetään border-bottom-width:1px; Onneksi jälkimmäinen toimii myös Firefoxilla.

sunnuntai 6. huhtikuuta 2008

Uusien vierailijoiden arvoitus

Taisinpa löytää syyn siihen, miksi pääsiäisen jälkeen tuli yhtäkkiä reilusti uusia vierailijoita. Kuten muutama viikko sitten kirjoitin, heti pääsiäisen jälkeen mutteri.com:iin ilmestyi jopa 50% enemmän kävijöitä kuin normaalisti. En löytänyt tähän oikeastaan mitään selitystä, paitsi että kävijämäärät olivat kasvaneet juuri hakukoneiden kautta tulevassa liikenteessä.

Tänään selailin gmailin spam laatikkoa (harvemmin luen niitä viestejä jotka automaattisesti spam:in joukkoon ajautuvat). Löysin roskapostien seasta kuitenkin vestin webinfo.fi -palvelulta. Olen joskus ilmoittanut mutteri.com:in webinfon hakemistoon. He lähestyivät minua maaliskuun lopulla sähköpostilla missä kertoivat, että olivat ohjanneet uusia kävijöitä mutteri.com:iin. Webinfo.fi oli tehnyt jotain minkä seurauksena mutteri.com oli noussut googlen hakutilastoissa sijalle yksi hakutermein: nettikirppis verkkokauppa ja myy tavarat netissä. Tämä muutos oli tehty juuri tuossa pääsiäisen jälkeen, ja viesti oli lähetetty minulle samana päivänä kun käyttäjämäärät olivat nousseet 50%.

Oli tuossa heillä tietenkin omakin koukku: googletettaessa noilla hakutermeillä tulee ensimmäiseksi osumaksi webinfo.fi:n sivu missä linkitetään mutteri.com:ia. Eli osumat eivät ole suoraan mutteri.com:iin vaan webinfon kautta. Haittaako tuo minua? Ei ainakaan tässä vaiheessa kun jokainen uusi kävijä on arvokas - riippumatta miten he mutteri.com:in löytävät.

PS: kutsu ystävä -toimintoa on taas käytetty... siitähän on tulossa varsinainen hitti, sitä on käytetty jo kuusi kertaa.

Huutokauppa kannattaa

Bongasin webistä mielenkiintoisen artikkelin huutokaupoista ja niiden tuomasta säästöstä kuluttajille. Afterdawn kirjoitti tutkimuksesta jossa vertailtiin huutokaupan huutoautomaatin ylärajahintaa toteutuneisiin kauppoihin. Näiden kahden luvun erotus oli tutkimuksessa laskettu kuluttajan säästöksi. Eli ylähintarajana pidettiin hinta minkä kuluttaja olisi ollut valmis maksamaan tuotteesta - ja näinhän se tietenkin on.

Artikkelin pointti oli, että huutokauppamuotoinen kaupankäynti hyödyttää ostajaa, mutta myyjä jää tässä tappiolle siinä mielessä, että hän ei saa aina korkeinta mahdollista hintaa minkä joku olisi valmis maksamaan. Toisaalta runsas tarjonta ja kysyntä takaa sen, että tavara liikkuu eikä sitä tarvitse varastoida pitkäksi aikaa. Eli huutokaupassa siis kaikki voittavat.

Pitää myöntää, että olen itsekin aktiivinen ebayn käyttäjä. Huuto.net:iä en käytä juuri koskaan. Ja ebayssä harvemmin osallistun huutokauppaan, vaan ostan yleensä tuolla "buy it now" hinnalla. Minä kun en jaksa odottaa ja arpoa saanko tuotteen vai en. Muistan kyllä ostaneeni myös huutamalla, ja rehellisesti sanottuna se oli erinomaisen addiktoivaa. Huusin bluetooth GPS vastaanotinta. En muistaaksen saanut sitä ensimmäisestä huudosta, mutta ebayssä kun on tuota tarjontaa osallistuin heti perää saman tuotteen toiseen huutoon ja sillä kertaa huutoni oli korkein. Sain mokkulani halvemmalla kuin olisin ollut valmis maksamaan ensimmäisessä huutokaupassa. Tärkein syy siihen, että en enää juurikaan osallistu huutoihin on, että en jaksa odottaa ja arvailla saanko tuotteen vai en. Huutaminen vie aikaa, kun jostain syytä sisäinen ääni pakottaa seuraamaan huutokauppaa reaaliajassa. Niinpä sitä päätyy istumaan ruudun ääressä jännittämässä voittaako huutokaupan vai ei.

Leikin GPS moduulilla muutaman kuukauden ja pistin sen myyntiin huuto.net:iin. Ostajakin löytyi, mutta tämä kaveri ei jostain syytä ollut lukenut ilmoitustani tarkkaan. Sanoin, että myyn moduulin vain postin välityksellä, nouto ei ollut mahdollista [en ollut halukas sovittamaan omia aikataulujani jonkun toisen ihmisen aikatauluihin ja sopimaan noutoa]. Niinpä kauppoja ei syntynyt. Myin moduulin muutama viikko myöhemmin uutisryhmien myynti-ilmoitus palstan kautta omakustannushintaan.

Mitä tästä opin?
  1. Ebay:ssä on todella hyvä tarjonta melkein mistä vain
  2. Huuto.net:issä pyörii sekalaista asiakasta, joista osa huutaa vain huvikseen ja osa ei usko ilmoitustekstiä
  3. Uutisryhmät (ja kirpputorit) ovat aika hyvä tapa myydä tarpeetonta tavaraa.