Webutvikling

Gjennom hele karriæren har jeg vært mer webutvikler enn noe annet. Her kan du lese alle artiklene mine som først og fremst har noe med webutvikling å gjøre.

Internet Explorer 8

ie8.jpgHvis du er litt treig (evt. ikke nerd) så har du kanskje ikke fått med deg at Internet Explorer 8 er sluppet i beta. På MSDN Live i Bergen i dag holdt Anders Nordås et foredrag om dette nye vindunderet – her er noen høydepunkt.

Anders tok oss med på en syretripp gjennom browsernes historie, som ender med IE8, som endelig er en browser fra Microsoft som støtter standardene! Det har vi ventet lenge på, og er en kjempefin nyhet. Fra nå av skal vi kunne kode websider med ett sett med javascript og ett sett med CSS, og så fungerer det likt i IE8, FF, Opera, Safari osv. Knallbra, velkommen i det gode selskapet, IE.

Eneste skåret i gleden er at enkelte av våre kunder selvsagt fortsatt kommer til å bruke både IE7 og IE6, og at vi derfor må fortsette å teste alt vi lager på disse :(

Videre fortalte Anders om bl.a. disse nye featurene:

I IE7 og FF2 fikk man search providers, og det er jo kult, men nå har man tatt det minst tre hakk videre: IE8 Accelerators er en kul ting som man som leverandør kan benytte for å øke brukerens opplevelse.., det samme er web slices. Begge deler kan man også benytte i FireFox (med extensions), så man utvikler ikke utelukkende for IE om man benytter disse nyvinningene.

Det er derimot ikke tilfelle om man ønsker å benytte seg av AJAX utvidelsene i IE8, som f.eks:

  • cross domain requests
  • cross document messaging
  • ajax navigation (mulighet for god “back” funksjonalitet vha et nytt onHashChange event)
  • ajax dom storage (superman cookies – dette er et forslag fra W3C, men ikke implementert i andre browsere enda)
  • connectivity events (events og properties for å informere/sjekke om man er online/offline)

Her innfører man altså igjen IE spesifik kode og muligheter, og det var jo det vi ville unngå, var det ikke? Skal de da aldri lære?

Det som derimot så veldig bra ut var den innebygde JavaScript debuggeren og verktøyet for å inspisere og modifisere DOM’en, CSS’en o.l. Spesielt debugging av JavaScript har aldri fungert helt bra – det nermeste man kommer er en plug-in i FireFox som er sånn passe. I IE8 får man full debuggings-opplevelse tilsvarende Visual Studio, og dette bør være insentiv nok for webutviklere til å installere betaen med en eneste gang.

Men det aller mest imponerende var vel egentlig at Anders Nordås klarte å forelese i en hel time om noe så skjedelig som IE8 – og faktisk gjøre det både morsomt og spennende. To tomler opp til deg!

Fußball Manager versjon 2.0

Fußball Manager, en web app jeg har laget for å holde oversikt over spilte fussball (eller foosball) kamper, har nå vært “i produksjon” i Contiki R&D i ca 10 måneder. Vi bestemte oss for å avslutte 2007/2008 sesongen i dag, og Øystein ble den verdige vinneren. På mandag sletter vi all historikk og starter med blanke ark.

I den forbindelse ville jeg forbedre verktøyet litt, så i kveld har jeg utviklet Fußball Manager versjon 2.0. Utvidelsen er en liga-modul. Man kan legge til registrerte spillere i en liga, bestemme hvor mange kamper den skal bestå av – og så genererer manageren alle kampene.

fuss_league1.jpg

Når man så spiller og registrerer kamper så kan man velge (om man har blitt enige om det på forhånd) å også registrere den som en gjeldende liga-kamp. På bildet under kan du se hvordan liga-oversikten ser ut.

fuss_league2.jpg

Så i tillegg til å konkurere om den beste ratingen som tidligere kan man altså nå også konkurrere om en liga-plassering. Jeg håper dette blir godt mottatt på mandag.

Les tidligere artikler om Fußball Manager her og her.

Charts on demand fra Google

Google lanserte i går nok en kul “dings” – Google Chart. Nå er det veldig kjapt å greit å publisere grafer på web, uten at man har tilgang til noen spesiell chart kontroll. Med Google Chart kan man nemlig med en link som f.eks.:

http://chart.apis.google.com/chart?
cht=p3
&chd=s:GHBGB
&chs=300×100
&chl=Sover|På jobb|I bilen|Ser på TV|Spiser

få google til å produsere en graf som ser slik ut:

Kult? Bildet over produseres altså av Google hver gang noen ser på denne siden. De støtter line charts, scatter plots, bar charts, venn diagrammer og pie charts som vist her. Er du interessert tar du turen til Google Chart API. Ta en titt på eksemplene, mulighetene er store.

Produktet startet orginalt som et 20% prosjekt. Google’s ansatte har nemlig anledning til å bruke 20% av arbeidstiden sin på å utvikle “hva de selv vil”, og ofte resulterer det i nyttige ting som dette her. Et spennende konsept spør du meg..

Fußball Manager, nå med statistikk

Fußball Manager, en liten web app jeg lagde for et par måneder siden, har slått bra an på jobben, og det er gøy å følge med på deltagernes utvikling.

Og ettersom det har blitt registret en god del kamper så ble det klart at jeg måtte tilgjengeligjøre noe mer statistikk. Nå kan man analysere alle kamper mellom to angitte deltagere, for å se hvor mange kamper man har tapt/vunnet mot én bestemt motstander, og om man har tjent noe rating på det. Man får også opp trendgrafer som viser utviklingen i poeng over tid.

fussmann_v3_stats.jpg

Som dere kan se av bildet har ikke Øystein eller Halvard tjent noen poeng på å spille mot hverandre totalt sett, men Øystein har likevel vunnet flest kamper, og er i best form ifølge trendgrafen.

Ideen til de såkalte SparkLines-grafene fikk jeg fra Igor Krupitskys kodeeksempel på Codeproject. Mer om sparklines på WikiPedia.

Ikoner og webgrafikk

Før i tiden hadde jeg et ganske så stort bibliotek liggende med diverse ikoner og annen grafikk som jeg hadde samlet fra ulike steder, og som jeg brukte på diverse webprosjekter jeg holdt på med. Og jeg har dem sikkert enda på en eller annen backup disk.

Problemet var alltid at det ikke er bra å kombinere grafikk i ulike stiler, og at det alltid var et eller annet jeg skulle ha representert som det ikke fantes noe ikon for. Men for en stund siden oppdaget jeg som så mange andre Silk fra famfamfam.com, et ganske så komplett, enkelt og anvendelig sett med 700 ikoner i 16×16 format, og da sluttet jeg å lete.

Famfamfam.com har også et sett med mini-ikoner, og et sett med 247 av verdens flagg, som av og til kan være greit å ha – alt er helt gratis, og du kan bruke dem til hva du vil.

Men i dag ble jeg anbefalt et annet sett som kalles Crystal Clear. Det var litt mere fansy, men ikke så komplett. Det som derimot var spennende var at jeg gjennom det oppdaget (eller rettere sagt gjenoppdaget) Wikimedia Commons – en samling med fritt tilgjengelig media som fotos, diagrammer, animasjoner, musikk, ikoner m.m. Dette er en så verdifull ressurs for webutviklere og andre at jeg straks følte behove for å blogge om det, om ikke annet enn for å sørge for at jeg ikke glemmer denne ressursen igjen.

icons_crystal.jpg icons_mini.jpg

icons_silk.jpg icons_ex.jpg

Fußball Manager

I anledning vårt nye fussball bord fikk jeg lyst til å lage et lite verktøy for å rangere spillerne på jobben. Jeg fant et enkelt poeng-system på www.foosball.no, og i løpet av en ettermiddag pluss litt til lagde jeg en liten web app som lar deg registrere spillere og kamper (single og doble).

fussmann1.jpg

Hver spiller får en score som justeres etterhvert som han spiller kamper. Vinner man mot en spiller som er bedre enn seg får man en større boost enn om man vinner over en med lavere score – omtrent som i ELO rating systemet i sjakk, bare endel forenklet.

Og som man skal i slike hobbyprosjekt så fikk jeg testet ut eller trent litt på flere ting; jeg var flink å lage enhetstester og bruke TDD, jeg fikk prøvd noen nye AJAX teknikker, og for en gangs skyld var jeg konsekvent og brukte kun TABLE elementer for å liste data, ikke til selve designet.

fussmann2.jpg

Lagring av data gjorde jeg veldig enkelt – spillerne med spillerdata samt en audit log over alle registreringer og poengjusteringer lagres i to XML filer. Er du interessert i dette verktøyet, enten for å bruke det selv eller for å ta en titt på kildenkoden, så er det bare å si fra så sender jeg en kopi.

fussmann3.jpg

Nå blir det veldig spennende å se hvordan ratingen på jobben utvikler seg. Det nye spillebordet er uvandt for alle sammen, så foreløpig er det velig jevnt. Vi har også lest oss litt opp på det internasjonale regelverket, noe som har ført til at spinning av stengene er ut – enkelte tok det svært tungt :)

V2 a.k.a. Web Killer

Jeg kom akkurat over dette i kommentarfeltet i bloggen til en Microsoft-dude:

I agree Microsoft is world-changing for business. Believe me that is just small stuff compared to whats coming. Oh, you didn’t know. If you really want to see a the technology that will change everthing (the world), check out V2 at www.webkiller.net.

Surprise, You’re not in Kansas anymore Dorothy – -

Disse folkene må enten

  • forsøke å lure penger av folk
  • være verdens dårligste markedsførere
  • ha sett The Matrix én gang for mye, og er stokk dumme idioter!

Se www.webkiller.net og The Manhatten Project. Venter i spenning på første release av V2 :)

ASP.NET patch for kompileringsproblemer

Jeg har tidligere blogget om et problem med batch-kompilering i ASP.NET 2.0. ScottGu kan i dag melde at de (Microsoft) nå endelig har laget en Hotfix for problemet.

Problemer med batch-kompilering i asp.net 2.0

Jeg har hatt litt problemer med mine ASP.NET 2.0 prosjekter i det siste. Fra tid til annen dukker følgende melding opp i browseren:

Could not load file or assembly ‘App_Web_xxxxxxxx, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null’ or one of its dependencies. The system cannot find the file specified.

Det viser seg at jeg ikke er alene. På asp.net forumet har man f.eks. diskutert problemet siden april 2006, men man er ikke kommet noe nærmere en løsning. Microsoft har laget en patch som de sier kan fikse problemet (les deres issue-beskrivelse her), men vil ikke la deg laste den ned uten at du kontakter dem med en supportsak. De sier dessuten at du ikke må installere patchen hvis du ikke har opplevd problemet.., skummelt!

Flere som har forsøkt patchen sier også at problemet ikke ble borte.

Problemet er relatert til kompilering (les om kompileringsmoduser i asp.net 2.0 her), og dukker av og til opp når man har endret en eller annen user control – sansynligvis i kombinasjon med bruk av master pages, hvor sidene, user controllene og master pagen batch-kompileres inn i én assembly.

Og når den først har oppstått er feilen vanskelig å bli kvitt – man må tvinge en rekompilering, og rådene for hvordan man skal gjøre det er mange, men etter min erfaring må man kombinere flere av dem for å få det til. Og det som virket i går fungerer ikke nødvendigvis i dag. Det som fungerte for meg på fredag var å editere master page’n, og samtidig starte en ny bruker session, så jeg kommer til å prøve det neste gang.

Det som er mer skummelt er at det blir rapportert at dette også skjer på produksjonsservere.., med debug=false, og uten at det er foretatt endringer i kode. Det virker på meg som om Microsoft her har en bug de absolutt burde sette mere krutt inn på for å fikse.., dette har nå tatt veldig lang tid, og Microsofts representant på forumet har blitt veldig stille. Hans siste uttalelse kom i juni, og lød:

“Regarding a download of the fix, we don’t ever provide fixes at this stage for public download. (..) Once we go through enough testing, it will be available for download, likely in a SP.”

Det har enda ikke skjedd.

Tar jobben min alvorlig

Jeg har vært mye opptatt med webdesign for tiden (forsøker å gi en unnskyldning for lite posting i det siste), og da forsøker jeg selvsagt å lage den optimale brukeropplevelsen; det skal være enkelt, raskt og smertefritt å bruke mine webløsninger.

Dette fokuserer jeg på først og fremst for å få fornøyde kunder, men jeg har aldri tenkt på at jeg bidrar til folks generelle helse. Denne artikkelen på digi.no presiserer derimot at bra webdesign også er viktig for å unngå høyt blodtrykk, svette og vredesutbrudd.

webdesign.gif

Orginal plassering av komma i den ingressen der forresten…


Alf Kåre Lefdal: Distributed Podcast er også ganske interessant. De tar opp tema som fx. ...

Stian: +1 for 6er til This Developer's Life! Min definitive favoritt. Jeg trengte også...

Torbjørn: Takk for flere tips, Vegard. Deep Fried Bytes ligger på oversikten min fra 2009...

Vegar: Og glemte helt ios: Nsbrief og ideveloper live. Har du hørt på deep fried byt...

Vegar: Mye kjekt her. TDL, hanselminutes og .net rocks ligger i en klasse for seg. Suv...

Torbjørn: Helt enig, arkivet til Software Engineering Radio er en gullgruve om man vet hva...

Einar W. Høst: Jeg synes at det kuleste med se-radio er backloggen av intervjuer... det er noen...

arnab: fantastisk :)...

Olav: Glimrende blogg ! Modellen av hjernens arbeid passer ikke bare på nyskaping: ...

Torbjørn: Ja, flydesign trekkes ofte frem som et eksempel på dette fenomenet. Design av b...

 Hold deg oppdatert

Søk i bloggen

Ferske innlegg

  • NodeJS vs. ASP.NET
  • Pulten min..
  • No ifs and buts
  • Community-fiskebolle på ROOTS 2012
  • Kategorier

  • .net ninja (37)
  • Bøker (18)
  • Diverse prosjekter (37)
  • DSL (10)
  • Erlang (10)
  • F# (5)
  • Hardware (1)
  • Jobb (78)
  • Julekalender (51)
  • kjempekjekt.com (23)
  • LISP/Clojure (34)
  • NDC (4)
  • NNUG / community (63)
  • O/RM & databaser (10)
  • Off topic (118)
  • OO-design/clean code (31)
  • Podcasts (15)
  • Polyglot (82)
  • Ruby (29)
  • Silverlight / RIA (3)
  • Software/verktøy (20)
  • Softwareutvikling (24)
  • Testing / TDD (30)
  • the contiki strip (13)
  • User experience (3)
  • WCF (3)
  • Webutvikling (34)
  • WPF (9)
  • WTF (13)
  • Last ned Wallpaper

    Programmeringsbloggens tøffe skrivebordsbakgrunn med snippets fra ulike språk laster du ned her!

    Abonner via epost

    Om du vil kan du få alle nye blogposter tilsendt til din epost. Abonner nå, det er kjempeenkelt!

    Meta