Fritt fram på nett?

Brukerdeltagelse, fra problem til ressurs. – Eller hvordan gjøre leseren til din beste venn.

Det er mitt inntrykk at var debattens kjerne.

På onsdag var nettdebatt oppe til diskusjon ved informedia og et knippe særdeles kompetente mennesker var samlet inn i regi av Infomedia & Fritt Ord ved Elisabeth Eide og Helle Sjøvaag.

I panelet:
Panelet var imponerende sterkt. Mye bra folk

Panelet var imponerende sterkt. Mye bra folk.

Debatten var konstruktiv, og for meg virket det som alle var ganske enige i det meste. Det er likevel er viktig å ta debatten, da verden ikke er slik vi muligens er enige om at den bør være.

Her er notatene mine fra debatten, om noen bryr seg:

Jeg har mange tanker om hvordan dette best mulig kan implementeres, og har tidligere skrytt av hvordan db.no har gjort det. Jeg gleder meg til å komme tilbake med mer om dette temaet!

Mysteriet med CSS spesifisitet. Et spørsmål om avstand.

Jørgen skriver teknisk om CSS, jeg prøver formulere meg på en litt anderledes måte.

Denne posten er egentlig en kommentar til Mysteriet med CSS spesifisitet. Hvordan fungerer det?, men da en del av kommentaren inneholdt (html-)kode ble dette fjernet. Denne posten inneholder også det som ikke kom med i kommentaren på Jørgens side.

En lettere (på vondt og godt) forklaring er som følger:

Nærhet er alt. Nærmest er sterkest. Men det er ikke styrke, det er allsidighet du ønsker.

Elementer som ligger i HTML-dokumentet, i html-elementene (f.eks. < et element style="css:her;" />) går foran elementer som ligger i < header >. Regler som ligger i header går foran eksterne egne css-filer.

Reglene leses ovenifra, så regler som ligger i toppen av et css dokument likker «lengre vekk» enn regler som ligger i bunnen av dokumentet, da css-filen leses før html’n.

id (#) går foran klasser (.) som går foran generelle typer (h1).
IDer skal være unike (max 1 pr html-side), klasser kan brukes mange ganger, «typer» er bare et ord jeg putta inn her for html-elementer. Du treger mange av disse også :).

Det er ikke styrke men allsidighet du ønsker.

Du vil ikke ha «sterke» regler, du vil ha gjenbrukbare allsidige regler. Når du legger til mer informasjon på siden, så skal dette ikke trenge spesiell tilpassing i css.

Regler av typen #MedId div.MedKlasse h1.MedKlasse vil bare gjelde et ytterst spesielt utvalg elementer (h1-elementer av klassen .MedKlasse som ligger inne en div med klassen .MedKlasse som ligger inni et element med id=»MedId». Vi kan si at lange statments (#div #div .klasse element {/*ting:her;*/}) nøster seg nærmere elementet. Og nærmere er sterkere.

Hvis #MedId div.MedKlasse h1.MedKlasse {/**/} nøster seg nærmere det h1-elementet vi er på jakt etter enn andre stiler som ligger nærmere (f.eks. i < style >-tagg i headeren), så vinner den sterkeste reglen, den som som har nørstet seg nærmest. På denne måten kan stiler som ligger «langt unna» nøste seg nærmere ved å skrives som en sterkere (nøstet nærmere) regel.

Bare h1 {/*ting:sak;*/} vil gjelde alle h1-elementer så lenge det ikke finnes noen sterkere (nærmere) regler.

PS: !important betyr «drit i ting som kommer etter dette, dette er viktig(st)». Du kunne med andre ord bare lagt den viktigste stilen nærmer html-elementet du vil style. !important kan sees på som en magnet som trekker stilen nærmere (og forbi) andre stiler som krangler om å komme nærmest. Brukes så lite som mulig.

Som samfunnsviter og ikke naturviter, fungerer dette bilde bedre for meg. Avstand er lettere enn tall?

CSS-avluserens beste venn:

Som tidligere sakt: «bille under barken» – go get firebug.com!

iPhone uten æøå

De har gjemt knappene, for pokker, men jeg har funnet dem!
Sikkert 6 måneder etter alle andre, men dog.

Før iPhonen var lanser i Norge måtte vi bruke ikke-offisiell programvare og «installer» for å installere programmer og nytteverktøy på telefonen.

Nå vi kan bruke en (litt mer) offisiell utgave av operativsystemet, men en ting jeg savnet lenge var «æøå» på tastaturet. Det hadde de gamle løsningene fikset pent, se skjermbildet fra guiden på ipod1 fra februar i år:

Se fine æøå på ihone

Dette er en «gammel» utgave av programvaren som kjørte på norske «hackede» telefoner. Legg merke til at æøå er egne knapper. Lette å se, lette å bruke.

intelligent telefon, uintelligent bruker?

Med nyere programvare forsvant æøå-knappene et et eller annet tidspunkt. Etter det har jeg latt telefonens mer eller mindre intelligente «gjett-ordet-funksjon» fylle ut æ-er ø-er og å-er for meg. Det har stort sett funket, men er irriterende med ord som «for/før» og «ol/øl», alle ord som får ulike betydning med og uten pynt på vokalen.

Men: etter et hint om at ved å holde nede «.com»-knappen (ja, det er en .com-knapp), så kan vi velge andre relevante domener (som .net, .org og .no), så testet jeg det samme på vokaler, og vips: der er øåæ gjemt under a-en og o-en.

Så: kult at jeg endelig fant disse, men hvordan i alle verden skulle jeg gjette dette?

æøå likker under a og o. Nå vet du det.

Altså: æøå ligger under a-en og o-en. Om du skulle være den andre iphone-brukeren i landet som ikke har funnet dem enda.

Sosiale nettverk, teoretisk sett

Det er en 12 timer til muntlig eksamen. CSCW, computer supported collaborative work. Eller datastøttet samarbeid, som er den litt mindre hippe norske oversettelsen. Jeg gir nå opp mer lesing, og håper denne blogposten om teoretiske perspektiver på sosiale nettverk vil, om ikke annet, kunne være et livredder om jeg skulle få panikk. Sosiale nettverk er ganske fascinerende.
Jeg har tidligere skrevet om verdien av svake bånd i sosiale nettverk. Men sterke og svake bånd er bare et teoretisk element i sosiale nettverk.

Hva er sosiale nettverk, igjen?

Jeg tyr som vanlig til ordnett

sosia´l adj. lat.
* eg. Selskapelig
* som hører til el. angår samfunnslivet, samfunnsmessig, samfunns-
* sosialt arbeid felles bet. på tiltak og metoder for å gi behandling og hjelp til underprivilegerte og sosialt utilpassede personer

og nettverk:

2 system; nett: et nettverk av veier, kanaler // et nettverk av lovbestemmelser / det sosiale nettverk de personer el. grupper man har nær kontakt med (og kan få hjelp og støtte av)
Etym.:delvis e. eng. network

På nett i dag er det muligens på sin plass med noen kategorier, det finnes nettverk i nettverket (internettet selv), i varierende grad sosiale. Det er først når mennesker trekkes inn som deltagere og innholdsprodusenter, eller på andre måter både kan kommunisere et innhold (f.eks. wikipedia) og kommunisere seg i mellom (metakommunikasjon) at vi kan snakke om et reelt sosiale nettverk på nett. Enig?

Et løst forslag til kategorier kan være noe som følger:
generelle venne-nettverk (facebook, myspace, nettby)
spesialiserte interesseområder (flickr, youtube, last.fm, ..)
”proffe” nettverk, med underliggende hensikter om å høste fruktene av relasjoner (linkedIn, affiliation programmer, ..)

Intensjonelle nettverk?

Nardi, Whittaker & Swartz (2002) pressenterte en artikkel som heter ”netWORK and their activity in intentional networks”. I denne er det flere kule poeng. I innledningen finner vi følgende sitat

” We urge that designers take account of networks and the problems they present to workers.”

Det problematiske som påpekes finnes i “intensjonelle nettverk”, nettverk som ikke blir knyttet via arbeidsgrupper satt sammen i jobbsammenheng, altså av profesjonelle årsaker, men av fri vilje. Vennskap. Kontakter. Folk som rotter seg sammen? ..uten jobbintensjoner. Det er ikke nødvendigvis satt i negativt lys fordi det skjer, mennesker er sosiale dyr, men fordi det byr på utfordringer som de som skal lage systemene. De datasystem som virkelig har gjort datamaskinen til et populært verktøy er ofte relatert til personlig (enbruker) kreativitet. Ikke samarbeid i grupper, intensjonelle eller ikke.
Det er lett å lese ”hold arbeiderne unna facebook” i sitatet. Det er nok ikke ment slik. Jeg tror Nardi & co ville digget facebook. De er der helt sikkert nå, 5 år seinere.

netWORK

Så den någet spesielle skrivemåten av netWORK. WORK med store bokstaver? Er ikke nettverking lett? Er det arbeid?
Nardi et al dissekerer termen, og deler det opp i 3 mindre deler.

  • Bygging av nettverk (finne nye kontakter)
  • vedlikeholde nettverk (som i stor grad handler om å vise omsorg og pleie)
  • aktivering (som handler om å gjenfinne relasjoner, huske kompissens bursdag/kona sitt navn/sende vedkommende relevante ting, som billetter til fotballkampen, en artikkel av interesse, osv.)
    Her gelder det også å huske folks egenskaper, slik at de kan hankes inn i jobbsammenhenger, riktig mann på rett sted, via de ”riktige” kanalene. Dette kjenner kanskje noen igjen fra jobbsøker-prosessen? Å kjenne riktige mennesker skal visstnok være lurt.
    Vi bloggere lenker til hverandre, gir hverandre trackbacks. Dette er en slags form for aktivering, selv om den ikke er eksplisitt alltid. Dette kan selvsagt også være en av de to foregående aktivitetene, litt etter som.

Altså, her er det lett å se at de ”proffe” nettverkene, i alle fall, kan bestå av arbeid. Jeg misstenket at i den grad nettverking skal fungere optimalt, bør dette ”arbeidet” gjøres med den største glede og selvfølgelighet.
Nevnte eksempel med jobbsøking trekker også fram et nytt teoretisk begrep ”rethoric of visual”. Poenget her er muligens det motsatte av hva termen høres ut som, netWORKing er stort sett ikke synlig. I alle fall ikke for alle. I den grad et informasjonssystem skal vise dette, må det bygges støtte for slikt. En eventlogg, en facebook-wall, en recent-activity (flickr) eller statuser (facebook, twitter).
Her kommer også en gammel travhest i HCI/interaksjonsdesign inn: awareness. Hvordan ser du hvem/hva/hvor som foregår i et digitalt miljø. Nå, i går, og i morgen. Og hvordan plasseres du, og dine relasjoner og handlinger inni dette.
Et ytterligere poeng, som alltid gjelder i alle informasjonssystem, er affordance. Hvordan vet du hvordan du gjør de handlinger som skaper relasjonene, rent teknisk. ”Add eiriks to your nettwork”-knapp.

NetWORK – hva gjør det?

I følge Nardi mfl. Så løser netWORKingen to poroblemer i arbeidslivet. Det gir individer resurser (finne arbeidskraft, folk med riktige egenskaper) og publisitet & rekruttering. Det er ikke irrelevant å snakke om selvpromotering i en slik sammenheng. Å dra på en pressentasjon der men ikke regner med å få jobben, kan anses som en verdifull relasjon, i den gran du f.eks. har en knakende god presentasjon eller pitch for et prosjekt som kan realiseres på et seinere tidspunkt.
Disse sosiale nettverkene, om i digital form eller ikke, eksisterer sammen med flere andre typer grupperinger i omgivelsene våre hele tiden. Noen er konstruerte, som arbeidsgrupper, andre er mer tilfeldige i forhold til tid/sted som ”knotworking” (Engeström 1999) og andre igjen er resultater av overordnede sosiale eller systemetiske forhold. Eksempler kan være folk som bor i samme gate som deg, henger i samme baren, deler kantine eller er av samme etniske/religiøse/kulturelle bakgrunn.

I forholde til cscw (som det nå bare er 10,5 time til eksamen i for meg) så er det et paradoks at fundamentet for analyse av cscw ligger på gruppenivå, mens på individnivå skjer det mye som faller utenfor slike analyser. netWORKing skjer, i følge Nardi, på individnivå. Det er vi nok enige i, eller ville det ikke ha vært personer i nettverkene bare grupper.

Rethoric of forced naming.

For å bli flink i noe må man ofte utvikle et språk, en evne til å sette ord på ting. I fotografi er det f.eks. hensiktsmessig å drille på å finne ord på hvorfor du synes et bilde er bra OG dårlig. Mange teoretiske rammeverk inneholder samme grunnstruktur.
En norm for omtale av akademiske tekster ved infomedia ser ut til å være å krittisere dem, altså å trekke fram både gode og dårlige egenskaper ved dem. Så hva skal jeg si om ”netWORK and their activity in intentional networks” av Nardi, Whittaker & Swartz ?

  • fint å dele netWORK opp i noe mindre, det må til for å gjøre dette programmerbart.
  • Det er ironisk at netWORKing er visuelt skjult, da det meste som medieres av datamaskiner i sosiale nettverk er relevent just fordi det er synlig. Uten venner av dine venner ville ikke facebook og linkedIn vært særlig nyttig.
  • Ingen konstruktiv løsning til gruppe/individ-problemet. Om CSCW skal være preget av konstruktiv forskning (foreslå forbedringer ved å faktisk implementere og teste. Lage nye analysemetoder), ville det om ikke annet være fint med noen eksempler på hvordan et system kan bedre støtte individets muligheter. Her kan dog groupware walkthrough (Pinelle & Gutwin 2002) trekkes fram, likeledes designing in cooperation; cooperation in design (Kyng 1991).
    Noen ville nok også foreslått aktivitetsteori. Jeg ville ikke det.

Bille under barken

Jobber du med html/CSS/javascript eller med noen av disse i kombinasjon med et serverside scriptspråk? Da er det en genial plugin du MÅ ha til firefox. En plugin som gjør firefox til den nettleseren som blir uunværlig i ditt arbeid; firebug.

Go getfirebug.com

GetFireBug.com

Hva gjør den?

Med firebug kan du debugge (eller ”avsluse”, som det så pent heter på universitets geek lingo) din kode, for å få enda bedre oversikt over hva som skjer når nettleseren tygger koden din. Vi begynner med det som synes best; CSS.

Flotters.

1. overskriften rendret i normal visning, 2 html-koden for samme overskrift, 3 css-kode som styrer utseende for slike html-elementer

Først klikket jeg på ”inspekt” i firebug-vinduet (1), så på overskriften ”Latin på Upihl” fra forrige post. I vinduet nede til venstre får jeg da opp html’n for denne siden (2) i et tre-utsnitt, med fokus på noden overskriften består av, en <a inni en <h2> inni en div, osv. I vinudet nede til høyre ser vi CSS koden som styrer utseende for denne typen overskrifter (3), rangert etter styrke. Stiler over er skrevet over (svakere stiler) vises med gjennomstreket tekst.

Du kan traversere alle nodene i html-koden, fra <html> og ned til minste barn av barn av barn…, og dermed finne alle noder du har skrevet CSSkode for. Om så noe CSS ikke skulle fungere som forventet; kan du alltids se om stilen blir overskrevet, eller ikke prares pga skrivefeil eller likende.
Det finnes også et layout-view, som viser hvor mye plass de ulike elementene tar, med hele boks-modellen visuallisert. TRouBLe med (top, right, bottom, left) rekke følgen på margin, padding, border, osv er ikke lenger en mare.

inspect med firbugg, nice

Om bare denne modellen hadde vært implementert likt i alle nettlesere..

Et par ting til; lastetid & javascript

En gang i blant begynner kanskje siden din å laste litt treigt, og som vi lærte av Jakob Nielsen for mange år siden; det er ikke bra. Da kan ”net”-tabben være noe å se på. Den viser deg, on-the-fly, hva som lastes i hvilken rekkefølge, hvor lang tid det tar, og hvor mange bytes. Nice.

Lastetid i firebug

Lastetid visuellisert. 1 NET-tabben, 2 antall KB, 3 total lastetid.

Hvordan vet du hvilke variabler og verdier som som sendes asynkront i nye fancy javascriptbaserte webapplikasjoner? Som bruker er jo ikke dette interresant, men når du utvikler er dette veldig nyttig, særlig når hodebunnen begynner å bli sår og tynnslitt.

POSTvariabler i firebug

POST[«manPat»] er alltid tidlig ute.

Console’n forteller meg her at verdien (value) ”Dette er kule saker” og id’n 60 blir sendt til et php-script under stavelin.com/hemmelig/script.php som POST. Det er veldig greit å få presentert i klartekst når det begynner å bli lenge siden forrige kaffekopp.

Du kan gjøre mye mer med firebug, så last ned og finn ut hva som passer din arbeidsmåte best. For meg har firebug gjort at firefox ikke blir byttet ut med noen andre nettlesere som førstevalg med det første. Det finnes konkurrenter til andre nettlesere, men ingen som er så slicke som firebug. Go get.