<?xml version="1.0" encoding="UTF-8"?>
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom">
  <id>tag:blog.shortcut.no,2005:/blogg</id>
  <link type="text/html" href="http://blog.shortcut.no" rel="alternate"/>
  <link type="application/atom+xml" href="http://blog.shortcut.no/blogg.atom" rel="self"/>
  <title>Shortcut</title>
  <updated>2010-11-09T12:34:42Z</updated>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/125</id>
    <published>2010-11-09T08:38:39Z</published>
    <updated>2010-11-22T14:29:47Z</updated>
    <link type="text/html" href="/blogg/2010/11/9/fra-motorrommet-til-app-store" rel="alternate"/>
    <title>Fra motorrommet til App Store</title>
    <content type="html">&lt;p&gt;&lt;span class=&quot;caps&quot;&gt;I 3&lt;/span&gt; hektiske sommerm&#229;neder i 2010 lagde Shortcut en iPhone app for &lt;span class=&quot;caps&quot;&gt;DEFA&lt;/span&gt;. I denne artikkelen belyser jeg noen erfaringer som kan v&#230;re nyttig for andre som g&#229;r med en app i magen. Bli med &lt;em&gt;behind the scenes&lt;/em&gt; under utviklingen av &lt;span class=&quot;caps&quot;&gt;DEFA&lt;/span&gt; app-en!&lt;/p&gt;&lt;p&gt;Det er n&#229; engang slik at de fleste &lt;em&gt;menn&lt;/em&gt; har et visst begrep om hva &lt;span class=&quot;caps&quot;&gt;DEFA&lt;/span&gt; driver med; det er fordi at &lt;span class=&quot;caps&quot;&gt;DEFA&lt;/span&gt; har lange tradisjoner med &#229; forsyne bilmarkedet verden over med tilleggsprodukter til bil, slik som bilalarmer, sporere (trackere), motorvarmere og kup&#233;varmere. Hos &lt;span class=&quot;caps&quot;&gt;DEFA&lt;/span&gt; er en kald vinter en god vinter.&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;http://shortcut.no/system/pictures/48/original/screenshot2in1.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


Shortcut ble kontaktet av &lt;span class=&quot;caps&quot;&gt;DEFA&lt;/span&gt; i slutten av april 2010 med en briljant id&#233;: &lt;span class=&quot;caps&quot;&gt;DEFA&lt;/span&gt; &#248;nsket &#229; lage en app som kunne:
	&lt;ul&gt;
	&lt;li&gt;Motta bilalarmer som pushmeldinger&lt;/li&gt;
		&lt;li&gt;Gi brukeren full kontroll over motoroppvarmingen &lt;/li&gt;
		&lt;li&gt;Fortelle brukeren hvor bilen til enhver tid befinner seg&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Vi mente da &amp;#8211; som vi gj&#248;r n&#229; &amp;#8211; at en app med nevnte funksjonalitet vil kunne &#248;ke bruksverdien av DEFAs bilprodukter dramatisk. M&#229;let var at denne iPhone app-en skulle representere akkurat det intuitive brukergrensesnittet som DEFAs bilprodukter fortjener.&lt;/p&gt;


	&lt;h4&gt;4 m&#229;neder til deadline!&lt;/h4&gt;


	&lt;p&gt;Den opplagte arenaen for &#229; vise frem en slik nyhet for automotive-industrien var Automechanika 2010, en messe som ble avholdt i Frankfurt i september. Da startskuddet for utviklingen av &lt;span class=&quot;caps&quot;&gt;DEFA&lt;/span&gt; app-en gikk, var denne messen f&#248;lgelig fattige 4 m&#229;neder unna.&lt;/p&gt;


	&lt;p&gt;Heldigvis hadde &lt;span class=&quot;caps&quot;&gt;DEFA&lt;/span&gt; gjort mye godt fotarbeid f&#248;r vi ble kontaktet. De mest fremtredende skjermbildene i app-en var stort sett ferdig designet. N&#229; gjenstod &#229; vekke skjermbildene til liv ved &#229; forest&#229; navigering mellom skjermbildene, legge inn kommunikasjon med &lt;span class=&quot;caps&quot;&gt;DEFA&lt;/span&gt; sine servere, og h&#229;ndtere alle tilstandene man kan komme opp, eksempelvis med ustabilt nettverk.&lt;/p&gt;


	&lt;p&gt;Mai ble preget av hektisk m&#248;tevirksomhet. Det gjaldt for &lt;span class=&quot;caps&quot;&gt;DEFA&lt;/span&gt; &#229; f&#229; formidlet hvorledes man &#248;nsket at brukeropplevelsen skulle v&#230;re, og hvilke prioriteringer man la til grunn. Det gjaldt for Shortcut &#229; f&#229; bidra med sin kompetanse innen interaksjonsdesign. En (multi)touch plattform er noe ganske annet en web.&lt;/p&gt;


	&lt;p&gt;Etter noen innledende avklaringsm&#248;ter hvor de involverte fikk snakket med hverandre, sett hverandre i hvit&#248;yet og ledd litt sammen, sendte &lt;span class=&quot;caps&quot;&gt;DEFA&lt;/span&gt; over Photoshop-filer til v&#229;re utviklere. Jobben med &#229; ta det grafiske uttrykket fra tegnebrettet til XCode kunne begynne.&lt;/p&gt;


	&lt;p&gt;Shortcut &#248;nsker sv&#230;rt gjerne &#229; v&#230;re ansvarlig for utformingen av design og brukeropplevelse, men slik ble det ikke i dette prosjektet, Work hadde allerede gjort den f&#248;r/for oss.&lt;/p&gt;


	&lt;h4&gt;(Quite) a Few Good Men&lt;/h4&gt;


	&lt;p&gt;Siden man aldri m&#229; snakke om problemer, s&#229; ble det en &lt;em&gt;utfordring&lt;/em&gt; at team-medlemmene var spredt over halve Norge. &lt;span class=&quot;caps&quot;&gt;DEFA&lt;/span&gt; hadde en prosjektleder for &lt;span class=&quot;caps&quot;&gt;GUI&lt;/span&gt; i Sandvika, Shortcut hadde sine folk og lokaler i Oslo sentrum, DEFAs &lt;span class=&quot;caps&quot;&gt;API&lt;/span&gt;-utviklere befant seg i Trondheim og DEFAs egen merkevarebygger, Work AS, holdt til p&#229; Majorstua i Oslo. I tillegg satt DEFAs to produktsjefer (for hhv. WarmUp og Security ogs&#229; i Sandvika) I et slikt landskap blir kommunikasjon et probl- jeg mener en utfordring. Basecamp to the rescue!&lt;/p&gt;


	&lt;h4&gt;Basecamp&lt;/h4&gt;


E-post er et aldeles glitrende kommunikasjonsmiddel&amp;#8230;n&#229;r 2 mennesker skal kommunisere med hverandre. I et prosjekt med et halvt dusin mennesker er e-post uegnet. Dette f&#248;rst og fremst fordi man risikerer at informasjon og ressursfiler fortapes i innboksen til team-medlemmer. Her er noen flere grunner til &#229; se etter andre kommunikasjonsformer:
	&lt;ul&gt;
	&lt;li&gt;E-postkommunikasjon st&#248;tter ikke tr&#229;der (eller gj&#248;r det i beste fall d&#229;rlig). Dette gj&#248;r at meldingene kan st&#229; uten en kontekst som vil hjelpe leseren til &#229; gi den mening.&lt;/li&gt;
		&lt;li&gt;Det er krevende for prosjektleder og andre &#229; vite hvilke &lt;del&gt;problemer&lt;/del&gt; utfordringer &#248;vrige team-medlemmer befatter seg med,&lt;/li&gt;
		&lt;li&gt;Etterhvert som prosjektet skrider frem, blir det vanskelig &#229; vite hvilken grad av gyldighet historiske e-poster med respektive vedlegg har.  &lt;/li&gt;
		&lt;li&gt;E-post gj&#248;r prosjektet s&#229;rbart fordi backtracking grunnet uforutsett frav&#230;r blir vrient &amp;#8230; og i noen tilfeller ulovlig.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Veien, lyset og livet er et prosjektstyringsverkt&#248;y. &lt;span class=&quot;caps&quot;&gt;I DEFA&lt;/span&gt;-prosjektet benyttet vi det web-basert verkt&#248;yet Basecamp, som med fokus p&#229; kommunikasjon mellom mennesker st&#229;r i skarp kontrast til eksempelvis Microsoft Projects.&lt;/p&gt;


	&lt;h4&gt;Less is more!&lt;/h4&gt;


	&lt;p&gt;Det er ofte fristende &#229; tilby brukeren av app-en informasjon og funksjonalitet fordi vi &lt;em&gt;kan&lt;/em&gt;. Det er fort gjort &#229; glemme &#229; sp&#248;rre seg &amp;#8220;-kan dette skrelles bort, i brukervennlighetens navn?&amp;#8221; Et eksempel fra &lt;span class=&quot;caps&quot;&gt;DEFA&lt;/span&gt;-prosjektet var &#229;rsaken til en bilalarm: Det er nemlig slik at opphavet til en bilalarm kan stamme fra en glassknusesensor, et akselerometer, en d&#248;rsensor eller en bevegelsessensor. Dette &lt;em&gt;kan&lt;/em&gt; vi vise brukeren. Men er det interessant? Konklusjonen vi kom til er at det ikke er verken interessant eller relevant, og i &lt;span class=&quot;caps&quot;&gt;DEFA&lt;/span&gt; app-en velger vi istedet &#229; fokusere p&#229; kjernefunksjonaliteten.&lt;/p&gt;


	&lt;h4&gt;Automechanika med et skrik&lt;/h4&gt;


	&lt;pre&gt;&lt;code&gt;&lt;img src=&quot;http://shortcut.no/system/pictures/47/original/messbilde_c.png&quot; alt=&quot;&quot; /&gt;&lt;/code&gt;&lt;/pre&gt;


Gjennom sommerm&#229;nedene jobbet vi mye fra v&#229;re respektive arbeidsplasser, noe som fungerte bra ettersom vi;
	&lt;ul&gt;
	&lt;li&gt;hadde hatt tilstrekkelig face-time den f&#248;rste tiden av prosjektet&lt;/li&gt;
		&lt;li&gt;alle brukte Basecamp flittig&lt;/li&gt;
	&lt;/ul&gt;


	&lt;pre&gt;&lt;code&gt;&lt;img src=&quot;http://shortcut.no/system/pictures/51/original/kake.png&quot; alt=&quot;&quot; /&gt;&lt;/code&gt;&lt;/pre&gt;


	&lt;p&gt;App-en ble bygget stein for stein, og alle de features vi &#248;nsket oss i beta-versjonen (Automechanika-versjonen), ble klare.&lt;/p&gt;


	&lt;h4&gt;Veien videre&lt;/h4&gt;


	&lt;p&gt;Det skal bli spennende &#229; se hvordan app-en vil bli mottatt n&#229;r den blir kommersielt tilgjengelig i Appstore en eller annen gang i 2011. For &#229; snakke for meg selv s&#229; havner denne h&#248;yt oppe p&#229; &lt;em&gt;&amp;#8220;m&#229; ha det, bare m&#229; ha det&amp;#8221;&lt;/em&gt;-listen. For meg handler det om kontroll: Tenk &#229; kunne ligge i sengen og f&#229; bekreftet at bilen st&#229;r der den burde st&#229;. Og tenk &#229; kunne justere tidspunktet for n&#229;r bilen skal v&#230;re varm dagen etterp&#229;. Og tenk &#229; vite at dersom en skurk stikker av med bilen min &amp;#8211; s&#229; f&#229;r jeg push melding om det! Fantastisk! ...Selv om sistnevnte opplevelse kanskje ikke er fullt s&#229; fantastisk.&lt;/p&gt;


	&lt;p&gt;&lt;a href=&quot;http://defa.com/happycar/&quot;&gt;Les mer her&lt;/a&gt;&lt;/p&gt;</content>
    <author>
      <name>Marius Bj&#248;nness</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/123</id>
    <published>2010-10-14T10:55:05Z</published>
    <updated>2010-10-18T20:29:49Z</updated>
    <link type="text/html" href="/blogg/2010/10/18/defa-jam" rel="alternate"/>
    <title>Med bilen i lomma</title>
    <content type="html">&lt;p&gt;P&#229; Automechanika-messen i Frankfurt i September presenterte den norske industrikjempen &lt;span class=&quot;caps&quot;&gt;DEFA&lt;/span&gt; den nye iPhone-appen &lt;span class=&quot;caps&quot;&gt;DEFA&lt;/span&gt; Link.&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;caps&quot;&gt;DEFA&lt;/span&gt; Link skal lanseres i 2011 og er DEFAs f&#248;rste satsing p&#229; bruk av smarttelefoner til &#229; fjernstyre forskjellige komponenter i DEFAs bilalarmer, bilvarme og sporingssystemer.&lt;/p&gt;


	&lt;p&gt;Ide, konsept og brukgergrensesnitt er utviklet av &lt;a href=&quot;http://work.no&quot;&gt;&lt;span class=&quot;caps&quot;&gt;WORK&lt;/span&gt;&lt;/a&gt; og &lt;span class=&quot;caps&quot;&gt;DEFA&lt;/span&gt;. Shortcut har bidratt med programmering og gjennomf&#248;ring av selve iPhone-appen.&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;http://shortcut.no/system/pictures/36/original/Link_Main.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Bilalarm&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;Fra iPhone-appen kan man kontrollere bilalarmen, og man kan til og med motta varsling i tilfelle innbrudd eller dersom bilen blir stj&#229;let.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Bilvarme&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;Motor- og kup&#233;varme kan settes opp p&#229; lik m&#229;te som man bruker vekkeklokkefunksjonaliteten p&#229; iPhone. For eksempel kan man stille inn slik at bilen (b&#229;de motor og kup&#233;) er varmet opp til kl 7 p&#229; hverdager og kl 9 p&#229; helgedager.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Sporingssystemer&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;Hvis man er usikker p&#229; hvor man har parkert bilen, eller om bilen har blitt tauet vekk eller stj&#229;let, kan man bruke sporingssystemet for &#229; f&#229; opp et kart der man kan se hvor bilen befinner seg.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Infopanel&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;P&#229; appens infopanel kan man lese av ute- og innetemperatur rundt bilen, sjekke om man har husket &#229; plugge inn str&#248;mkabel for bilvarme, og lese av batterispenning.&lt;/p&gt;


	&lt;p&gt;Les mer om konseptet p&#229; &lt;a href=&quot;http://defa.com/happycar&quot;&gt;DEFAs websider&lt;/a&gt;&lt;/p&gt;</content>
    <author>
      <name>August Zaitzow Flatby</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/117</id>
    <published>2010-05-04T10:15:01Z</published>
    <updated>2011-02-18T08:10:14Z</updated>
    <link type="text/html" href="/blogg/2010/5/4/trafikanten-pa-iphone-setter-spor" rel="alternate"/>
    <title>Trafikanten p&#229; iPhone setter spor</title>
    <content type="html">&lt;p&gt;Trafikanten p&#229; iPhone genererer nesten like mange oppslag mot sanntidssystemet til Trafikanten som alle andre plattformer til sammen.&lt;/p&gt;&lt;p style=&quot;float:left&quot;&gt;&lt;img src=&quot;http://shortcut.no/system/pictures/35/resized/trafikanten_bruksstatistikk.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;Trafikanten Labs &lt;a href=&quot;http://goo.gl/By4n&quot;&gt;har offentliggjort trafikktall for sanntidsoppslag&lt;/a&gt; som bekrefter noe vi lenge har trodd, nemlig at Trafikanten p&#229; iPhone ikke bare er en applikasjon som er &lt;em&gt;lastet ned&lt;/em&gt; av sv&#230;rt mange brukere, men at det ogs&#229; er en applikasjon som &lt;em&gt;brukes&lt;/em&gt; av sv&#230;rt mange brukere.&lt;/p&gt;


	&lt;p&gt;Av alle oppslag som gj&#248;res mot sanntidssystemet til Trafikanten utgj&#248;r oppslag fra &lt;a href=&quot;http://itunes.com/app/trafikanten&quot;&gt;Trafikanten p&#229; iPhone&lt;/a&gt; &lt;strong&gt;47 prosent&lt;/strong&gt; av trafikken. Vi snakker her ikke om iPhone-applikasjonen i forhold til andre mobilplattformer, men iPhone-applikasjonen i forhold til andre mobilplattformer, &lt;a href=&quot;http://m.trafikanten.no/&quot;&gt;mobilsidene til Trafikanten&lt;/a&gt; og &lt;a href=&quot;http://trafikanten.no/&quot;&gt;nettsidene til Trafikanten&lt;/a&gt; &lt;strong&gt;til sammen&lt;/strong&gt;.&lt;/p&gt;


	&lt;p&gt;Trafikanten p&#229; iPhone var Shortcuts f&#248;rste iPhone-applikasjon, og den ble til fordi den var noe av det vi selv &#248;nsket oss aller mest da vi fikk hver v&#229;r iPhone. Vi gleder oss over at s&#229; mange har nytte av appen, og gratulerer Trafikanten med en knallsuksess!&lt;/p&gt;</content>
    <author>
      <name>Marius M&#229;rnes Mathiesen</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/114</id>
    <published>2010-03-01T09:57:56Z</published>
    <updated>2010-03-01T10:06:22Z</updated>
    <link type="text/html" href="/blogg/2010/3/1/shortcut-flytter" rel="alternate"/>
    <title>Shortcut flytter</title>
    <content type="html">&lt;p&gt;Idag har vi flyttet fra R&#229;dhusgaten. V&#229;re nye lokaler ligger i Nedre Slottsgate 13. Ovenfor Steen &amp;#38; Str&#248;m. Rett ved Karl Johan.&lt;/p&gt;&lt;p&gt;Etter to hyggelige &#229;r med vekst i R&#229;dhusgaten, trengte vi st&#248;rre plass. Og n&#229; har vi endelig funnet det nye &lt;em&gt;Shortcut HQ&lt;/em&gt;. Fra idag sitter vi i &lt;a href=&quot;http://maps.google.com/maps?f=q&amp;#38;source=s_q&amp;#38;hl=en&amp;#38;q=Nedre+Slottsgate+13,+0157+Oslo,+Norway&amp;#38;sll=37.0625,-95.677068&amp;#38;sspn=61.282355,135.615234&amp;#38;ie=UTF8&amp;#38;cd=1&amp;#38;geocode=FbwvkgMdFOujAA&amp;#38;split=0&amp;#38;hq=&amp;#38;hnear=Nedre+Slottsgate+13,+0157+Oslo,+Norway&amp;#38;ll=59.912122,10.742548&amp;#38;spn=0.004819,0.016555&amp;#38;z=17&amp;#38;iwloc=A&quot;&gt;Nedre Slottsgate 13&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;Vi sees!&lt;/p&gt;</content>
    <author>
      <name>John Eivind Hall&#233;n</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/118</id>
    <published>2010-09-08T10:29:28Z</published>
    <updated>2010-09-09T11:38:10Z</updated>
    <link type="text/html" href="/blogg/2010/2/15/er-all-iphone-oppmerksomhet-god-oppmerksomhet" rel="alternate"/>
    <title>Er all iPhone-oppmerksomhet god oppmerksomhet?</title>
    <content type="html">&lt;p&gt;Flere av de dyktigste, norske iPhone-utviklerne m&#248;ttes tirsdag forrige uke for &#229; snakke om det de gj&#248;r best. Men i tillegg til &#229; snakke om seg selv, nevnte flere den fallgruven som finnes n&#229;r man lager d&#229;rlige apper. En ren reklame-app. Og flere eksempler ble vist. Det ble sagt at en slik app virker mot sin hensikt, og &#248;delegger for merkevaren. Stemmer det?&lt;/p&gt;&lt;p&gt;Jeg holdt et innlegg p&#229; &lt;a href=&quot;http://www.scandinavianfutures.no/&quot;&gt;Scandinavian Futures 2010&lt;/a&gt; i januar. Der snakket jeg litt generelt om iPhone og nevnte (som jeg alltid gj&#248;r) at det finnes to typer apper: Time Killers (underholdning) og Time Savers (nyttige). Men denne gangen nevnte jeg ogs&#229; en tredje type applikasjon, som jeg valgte &#229; kalle Ad-Apps. Appvertising er et annet begrep som brukes.&lt;/p&gt;


	&lt;p&gt;&lt;img class=&quot;alignnone size-full wp-image-4546&quot; title=&quot;adapps&quot; src=&quot;http://stammen.no/wp-content/uploads/2010/02/adapps1.png&quot; alt=&quot;adapps&quot; width=&quot;400&quot; height=&quot;196&quot; /&gt;
&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Killers and Savers&lt;/b&gt;&lt;br /&gt;
Jeg &#248;nsket &#229; gj&#248;re oppmerksom p&#229; forskjellen p&#229; kvalitets-apper og billige reklame-apper. Dette behovet kom kanskje fra at det stod feilaktig i Scandinavian Futures-programmet at Shortcut og jeg hadde laget iDeli-appen. Det har vi ikke gjort.&lt;/p&gt;


	&lt;p&gt;Riktignok var vi i dialog om den for en god stund siden, men vi var for ambisi&#248;se p&#229; hva en slik app burde v&#230;re. Og f&#248;lgelig ble vi for dyre. For &#229; illustrere hva jeg opplever som &#171;ikke godt nok&#187; med Ad Apps viste jeg ogs&#229; noen skjermbilder. bla. fra iDeli:&lt;/p&gt;


	&lt;p&gt;&lt;img class=&quot;alignnone size-full wp-image-4576&quot; title=&quot;ideli&quot; src=&quot;http://stammen.no/wp-content/uploads/2010/02/ideli1.png&quot; alt=&quot;ideli&quot; width=&quot;400&quot; height=&quot;400&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;Deli de Luca har en flott logo, som gj&#248;r seg godt som app-ikon. Men utformingen og funksjonaliteten videre er ikke like heldig. Hovedfunksjonaliteten i appen er bonger. Bongen jeg har f&#229;tt her er &#171;&lt;em&gt;Vis i kassen og f&#229; en kaffe, te, kakao e.l. for kun kr 5,-&lt;/em&gt;&#187;&#160;Bongen gjelder &#233;n gang. En uke senere kan man f&#229; en ny bong. Idet bongen brukes, og man g&#229;r videre blir man presentert et reklame-board. Jeg ble eksponert for et gutteblad og et jenteblad som selges p&#229; Deli de Luca.
&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Verken nyttig eller underholdende&lt;/b&gt;&lt;br /&gt;
Jeg har h&#248;rt at denne appen er en suksess som Deli er forn&#248;yd med. Men personlig har jeg vanskelig for &#229; tro at folk vil benytte skrivebordsplass p&#229; iPhonen sin til dette. Og enda mindre at man husker eller gidder &#229; dra opp disse app-bongene i lengden. Men kanskje er det slik at alt som skjer p&#229; iPhone idag er spennende og g&#248;y. Uansett. Og det f&#248;les kanskje kult &#229; flashe iPhonen sin i kassa? Men nyttig er den ikke, og heller ikke s&#230;rlig underholdende.&lt;/p&gt;


	&lt;p&gt;For ett &#229;r siden skrev jeg &lt;a href=&quot;http://shortcut.no/blogg/2009/2/11/er-reklame-pa-iphone-ok&quot;&gt;en artikkel om reklame p&#229; iPhone&lt;/a&gt;, etter &#229; ha v&#230;rt p&#229; Westerdals reklameskole og snakket om apper. Det jeg l&#230;rte av reklamestudentene var at de &#248;nsket &#229; lage funksjonelle, nyttige apper. Ikke d&#229;rlige. Det kunne virke som om de var like kravstore som n&#229;r de tenker ut den nyeste, mest spennende, innovative m&#229;ten &#229; formidle et (salgs-)budskap. De ville gi iPhone-brukeren den samme kvaliteten. Designet skulle v&#230;re godt, men opplevelsen og funksjonaliteten var helt avgj&#248;rende for om appen var verd &#229; produsere.
&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Mot sin hensikt!&lt;/b&gt;&lt;br /&gt;
P&#229;&lt;a href=&quot;http://shortcut.no/seminar/iphone&quot;&gt; &lt;em&gt;iPhone i Norge&lt;/em&gt;-seminaret forrige uke &lt;/a&gt;ble det gjentatt flere ganger hvor galt det kan v&#230;re &#229; lage en d&#229;rlig applikasjon. Mange &#248;nsker &#229; lage iPhone-apper for &#229; &#171;v&#230;re p&#229;&#187; enda en kommunikasjonsflate. Og det er klart det er g&#248;y &#229; sette firmalogoen sin inn i et applikasjonsikon. Og enda mer tilfredsstillende &#229; se selskapet i iTunes Store senere. Men ikke glem at det ikke stopper der.&lt;/p&gt;


	&lt;p&gt;Brukerne som laster ned og installerer din applikasjon forventer &#229; ha glede av appen. Ikke bare &#233;n gang, men igjen og igjen. Og iPhone-brukere er flinke til &#229; kjenne igjen halvveis-produkter. De ser n&#229;r det er tatt d&#229;rlige, billige beslutninger p&#229; bekostning av funksjonalitet og brukeropplevelse. De oppfatter at appen ikke lever opp til merkevaren, men tvert imot trekker den ned. Og da er det vel bedre &#229; la v&#230;re?
&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Velg kvalitet (eller la v&#230;re)!&lt;/b&gt;&lt;br /&gt;
Idag h&#248;rte jeg p&#229; nyhetene at &lt;a href=&quot;http://www.aftenposten.no/okonomi/innland/article3517257.ece&quot;&gt;Odd Reitan kan love oss billigere mat&lt;/a&gt;. Dette takket v&#230;re egenproduksjonen dagligvarehandelen har begynt med, som First Price ol. Det er trist at vi &#248;nsker &#229; konkurrere p&#229; pris. Jeg skulle virkelig &#248;nske at Reitan heller kunne love oss bedre kvalitet og bredere utvalg. Kommet med noe nytt. Overasket oss.&lt;/p&gt;


	&lt;p&gt;Hvis du er stolt av produktet til selskapet ditt, stolt av hva dere f&#229;r til, stolt av kundetilfredsheten, stolt av kvaliteten, ikke begynn &#229; kompromisse p&#229; iPhone. Det merkes. Har ikke ditt selskap anledning til &#229; levere noe fullgodt til iPhone, kan det virkelig v&#230;re bedre &#229; vente med det prosjektet. Bruk heller tiden og kreftene p&#229; &#229; tenke ut hvor fantastisk appen skal bli n&#229;r den f&#248;rst kommer. All PR er kanskje god PR, men alle brukeropplevelser er ikke gode opplevelser. Og noen b&#248;r vi v&#230;re foruten.&lt;/p&gt;


	&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;N&#229;r du lager en app, sp&#248;r deg selv:&lt;/b&gt;&lt;br /&gt;
&#8226; Kommer jeg til &#229; bruke denne appen?
&#8226; &#216;nsker jeg meg dette?
&#8226; Kommer jeg til &#229; stolt vise den frem?
&#8226; Er denne appen awesome?
Hvis svaret er nei p&#229; ubehagelig mange av de sp&#248;rsm&#229;lene, b&#248;r du kanskje revurdere innholdet i appen?&lt;/p&gt;</content>
    <author>
      <name>John Eivind Hall&#233;n</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/113</id>
    <published>2010-01-20T14:05:24Z</published>
    <updated>2010-01-22T11:45:33Z</updated>
    <link type="text/html" href="/blogg/2010/1/22/iphone-i-norge" rel="alternate"/>
    <title>iPhone i Norge</title>
    <content type="html">&lt;p&gt;Det er halvannet &#229;r siden iPhone kom til Norge og App Store ble lansert. P&#229; tide med et seminar.&lt;/p&gt;&lt;p&gt;Idag finnes det ikke noe samlende fagmilj&#248; for iPhone-utviklere i Norge. Vi i Shortcut tror det er uheldig, b&#229;de for oss utviklere og for kvaliteten p&#229; appene som lages. Derfor har vi tatt initiativet til &#171;iPhone i Norge&#187;, et seminar om den norske iPhone-bransjens erfaringer s&#229; langt. Og vi har v&#230;rt s&#229; heldige &#229; f&#229; med oss noen av de dyktigste iPhone-utviklerne i Norge.&lt;/p&gt;


	&lt;p&gt;Seminaret holdes tirsdag 9. februar, 09:00-12:00 p&#229; The Mini Bottle Gallery (Kirkegata 10, 0152).&lt;/p&gt;


	&lt;p&gt;Se program og meld deg p&#229; her: &lt;a href=&quot;http://shortcut.no/seminar/iphone&quot;&gt;&#171;iPhone i Norge&#187;&lt;/a&gt;&lt;/p&gt;</content>
    <author>
      <name>John Eivind Hall&#233;n</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/120</id>
    <published>2010-09-10T12:57:34Z</published>
    <updated>2010-09-10T13:21:02Z</updated>
    <link type="text/html" href="/blogg/2010/1/11/ikoner-en-for-alle-alle-for-en" rel="alternate"/>
    <title>Ikoner - &#201;n for alle, alle for &#233;n</title>
    <content type="html">&lt;p&gt;For et halvannet &#229;r siden var jeg overbevist om at det var i nettleseren softwareutvikling kom til &#229; v&#230;re mest spennende. Googles og 37Signals&amp;#8217; produkter var allerede noe jeg var avhengig av. Og jeg &#248;nsket sterkt &#229; v&#230;re med &#229; lage slike webapplikasjoner. Enda mer &#248;nsket jeg &#229; tegne ikonene deres.&lt;/p&gt;&lt;p&gt;&#197; tegne et ikon er vanskelig og tidkrevende, og ofte resulterer det i mange ideer og skisser som hadde passet perfekt til en st&#248;rre samling. En ikon-suite. Ihvertfall har det v&#230;rt min erfaring. Og det er klart, lager man en spesiell effekt, boks eller man&#233;r p&#229; et ikon, kan det lett overf&#248;res til flere. Og vips, er man mer produktiv og ideene kommer tydeligere frem.&lt;/p&gt;


	&lt;p&gt;I Shortcut hadde vi noen gode, noen l&#248;se og noen enkle konsepter til webapplikasjoner sommeren 2008. Mye halvferdig hobbyprosjekter som aldri s&#229; dagens lys. Og det er sikkert like greit. Men blant disse app-ideene, fant jeg nylig skisser p&#229; ikoner vi kanskje skulle jobbe videre med. Jeg tenkte da at alt kunne formes om til en kube, og at innenfor en slik klossete ramme ville den visuelle sammenhengen bli tydelig nok. Her er de skissene:&lt;/p&gt;


	&lt;p&gt;&lt;img class=&quot;alignnone size-full wp-image-4397&quot; title=&quot;ikonskisser-08&quot; src=&quot;http://stammen.no/wp-content/uploads/2010/01/ikonskisser-08.png&quot; alt=&quot;ikonskisser-08&quot; width=&quot;400&quot; height=&quot;455&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;Jeg skal ikke si s&#229; mye om disse ikonene. Ikke annet enn at bussen &#248;verst i midten, har i ettertid blitt til Trafikanten-ikonet p&#229; v&#229;r &lt;a href=&quot;http://itunes.apple.com/no/app/trafikanten/&quot;&gt;iPhone-applikasjon&lt;/a&gt;. P&#229; den tiden hadde vi en alternativ reiseplanlegger til &lt;a href=&quot;http://www.trafikanten.no/&quot;&gt;Trafikanten.no&lt;/a&gt;. En annen ting som er artig for meg, er at jeg har f&#229;tt levd ut kubedr&#248;mmen med logoen til &lt;a href=&quot;http://gitorious.org/&quot;&gt;v&#229;r eksisterende web-applikasjon Gitorious&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;Den mest kjente ikon-suiten idag, og gjennom tidene, er vel &lt;a href=&quot;http://office.microsoft.com/&quot;&gt;Microsoft Office&lt;/a&gt;-ikonene:&lt;/p&gt;


	&lt;p&gt;&lt;img class=&quot;alignnone size-full wp-image-4399&quot; title=&quot;icons_office&quot; src=&quot;http://stammen.no/wp-content/uploads/2010/01/icons_office.png&quot; alt=&quot;icons_office&quot; width=&quot;400&quot; height=&quot;189&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;De har endret seg mye gjennom tidene, men noen n&#248;kkelelementer har blitt v&#230;rende: W-en i Word, kakediagrammet i PowerPoint, Access-n&#248;kkelen osv. Og kanskje enda viktigere, de har beholdt fargene sine. Word &lt;em&gt;er&lt;/em&gt; bl&#229;tt. Adobe har ikke v&#230;rt like standhaftig med sine ikoner:&lt;/p&gt;


	&lt;p&gt;&lt;img class=&quot;alignnone size-full wp-image-4400&quot; title=&quot;icons_adobe&quot; src=&quot;http://stammen.no/wp-content/uploads/2010/01/icons_adobe.png&quot; alt=&quot;icons_adobe&quot; width=&quot;400&quot; height=&quot;318&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;Her er de siste ti &#229;renes utvikling. Fra de gode gamle foto-/kunstlignende ikonene, innom de svevende gladhippie-illustrasjonene til deres&#160;&lt;em&gt;Det Periodiske system&lt;/em&gt;-inspirerte ikoner av idag. Det eneste de har klart &#229; holde p&#229; gjennom utviklingen er fargepaletten. &lt;em&gt;Nesten&lt;/em&gt;. Men Adobe har v&#230;rt flinke til &#229; lage ikoner som henger veldig godt sammen i en pakke, hver gang. De samme rammene, effektene, fargeintensiteten og detaljniv&#229;. Vi ser at de h&#248;rer sammen. (Det florerer ogs&#229; med hjemmelagde, flotte alternativer &amp;#8211; &lt;a href=&quot;http://themetoday.com/2009/graphics/35-best-adobe-doc-icons-set-for-designers/&quot;&gt;35 Best Adobe Doc Icons set for Designers&lt;/a&gt; &amp;#8211; og det er kanskje ikke rart, Adobe-suiten er jo design-suiten.)&lt;/p&gt;


	&lt;p&gt;Design-giganten Apple, tar lettere p&#229; den enhetlige oppgaven, kan det virke som:&lt;/p&gt;


	&lt;p&gt;&lt;img class=&quot;alignnone size-full wp-image-4401&quot; title=&quot;icons_iwork&quot; src=&quot;http://stammen.no/wp-content/uploads/2010/01/icons_iwork.png&quot; alt=&quot;icons_iwork&quot; width=&quot;400&quot; height=&quot;107&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;Deres &#171;Office&#187;-pakke &lt;a href=&quot;http://www.apple.com/iwork/&quot;&gt;iWork&lt;/a&gt;, ser noe sprikende ut. Og det samme er det med iLife-pakken, ingen r&#248;d tr&#229;d verken i navn, farge, ramme eller substans. For selv om de er fine s&#229;nn som de ser ut, ville det ikke kostet mye &#229; legge p&#229; en bakgrunnsfarge eller lignende. S&#229; ville vi skj&#248;nt at det var iWork, og de kunne enkelt levere nye produkter til deres suite. Se bare p&#229; hvordan &lt;a href=&quot;http://37signals.com/&quot;&gt;37Signals&lt;/a&gt; har fikset det:&lt;/p&gt;


	&lt;p&gt;&lt;img class=&quot;alignnone size-full wp-image-4402&quot; title=&quot;icons_37signals&quot; src=&quot;http://stammen.no/wp-content/uploads/2010/01/icons_37signals.png&quot; alt=&quot;icons_37signals&quot; width=&quot;400&quot; height=&quot;96&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;Enkelt og greit. Ikonene inni ligner ikke, men med denne landskaps-glasskulen, kan de ikke misforst&#229;s. De &lt;em&gt;er&lt;/em&gt; 37Signals. Og dette er jo flotte webapplikasjoner, og de som inspirerte meg i utgangspunktet til mine skisser vi s&#229; p&#229;. Men idag er det kanskje iPhone-ikoner som opptar meg mest. Og ogs&#229; p&#229; iPhone finnes det noen gode suiter med lekre ikoner. Finest er kanskje&#160;&lt;a href=&quot;http://tapbots.com/&quot;&gt;Tapbots&lt;/a&gt; sine:&lt;/p&gt;


	&lt;p&gt;&lt;img class=&quot;alignnone size-full wp-image-4403&quot; title=&quot;icons_tapbot&quot; src=&quot;http://stammen.no/wp-content/uploads/2010/01/icons_tapbot.png&quot; alt=&quot;icons_tapbot&quot; width=&quot;400&quot; height=&quot;135&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;em&gt;Se s&#229; s&#248;te roboter!&lt;/em&gt; Dette er flotte greier, og designet inni applikasjonene er minst like fint. Verdt &#229; ta en titt p&#229;. En mye enklere l&#248;sning, men like fungerende og tydelig, er &#229; velge et par filtere og kj&#248;re symboler gjennom det. Slik &lt;a href=&quot;http://appcubby.com/&quot;&gt;App Cubby&lt;/a&gt; har gjort:&lt;/p&gt;


	&lt;p&gt;&lt;img class=&quot;alignnone size-full wp-image-4404&quot; title=&quot;icons_appcubby&quot; src=&quot;http://stammen.no/wp-content/uploads/2010/01/icons_appcubby.png&quot; alt=&quot;icons_appcubby&quot; width=&quot;400&quot; height=&quot;117&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;Her er det nok ikke vanskelig &#229; utvide med flere ikoner. Og det er vel bra? App Cubby har ogs&#229; skrevet om &lt;a href=&quot;http://appcubby.com/blog/files/icon_saga.html&quot;&gt;hvordan de kom frem til dette&lt;/a&gt;, for de som er interessert.&lt;/p&gt;


	&lt;p&gt;Vet du om noen ikonsamlinger du synes er fine? Legg gjerne igjen en kommentar med en link.&lt;/p&gt;</content>
    <author>
      <name>John Eivind Hall&#233;n</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/119</id>
    <published>2010-09-09T10:36:54Z</published>
    <updated>2010-09-09T11:38:19Z</updated>
    <link type="text/html" href="/blogg/2009/12/21/ett-ar-i-app-store-noen-betraktninger" rel="alternate"/>
    <title>Ett &#229;r i App Store, noen betraktninger</title>
    <content type="html">&lt;p&gt;Det er n&#229; ganske n&#248;yaktig ett &#229;r siden jeg for f&#248;rste gang, var med &#229; lansere en iPhone-app i App Store. App Store har satt en ny standard p&#229; hvordan software kan distribueres og den er med rette oppskrytt. Men i l&#248;pet av dette &#229;ret har har jeg stadig oftere stilt meg sp&#248;rrende til hvordan denne butikken fungerer i praksis. Jeg har hatt en snikende f&#248;lelse av at App Store har g&#229;tt fra &#229; v&#230;re v&#229;r beste hjelpende venn, til &#229; bli enda en masete tulling.&lt;/p&gt;&lt;p&gt;Her blander jeg epler og p&#230;rer. N&#229;r jeg sier den er v&#229;r beste venn, tenker jeg p&#229; backenden. Det geniale systemet hvor alle utviklere kan registrere seg og lansere produkter. Produkter som blir tilgjengelige for millioner av brukere over hele verden. Aldri f&#248;r har det v&#230;rt mulig &#229; distribuere programmer s&#229; enkelt, s&#229; profesjonelt. Men n&#229;r jeg snakker om en masete tulling, har jeg frontenden og dets innhold i tankene.&lt;/p&gt;


	&lt;p&gt;Nylig fikk App Store en designoppdatering, noe som gjorde det enda penere, og som fremstiller appene enda mer attraktivt. Og App Store er pent. Men med over 100 000 apper st&#229;r den ovenfor en enorm utfordring: Hvordan finne appen vi &#248;nsker? Alle appene sl&#229;r hverandre ihjel med lignende ikoner og fengende navn. Selv om vi har 20 underkategorier, sorteringsmuligheter og s&#248;k, er det nesten umulig &#229; finne frem. Men det finnes to hjelpende hender: Brukeranmeldelser og topp-lister. Og det er disse jeg har problemer med.
&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Brukeranmeldelser&lt;/b&gt;&lt;br /&gt;
Det var &lt;a href=&quot;http://itunes.com/app/trafikanten&quot;&gt;Trafikanten-appen&lt;/a&gt; jeg og mine kollegaer i Shortcut debuterte med. En app vi selv tok initiativ til ifjor h&#248;st, fordi vi selv &#248;nsket oss denne tjenesten i lomma. Trafikanten var enig, men syntes at vi gapte over litt mye i f&#248;rsteomgang. De ville fokusere p&#229; sanntid og deres kjernebrukere: Osloborgere som reiser kollektivt daglig. Et par m&#229;neder senere, for ett &#229;r siden, var appen en realitet. Og bare ti timer etter lansering var Trafikanten den mest popul&#230;re gratisappen i norske App Store. Og brukerne virket forn&#248;yd. I begynnelsen hadde appen fire og en halv (av fem mulige) stjerner i gjennomsnitt.&lt;/p&gt;


	&lt;p&gt;For meg som er vant til &#229; jobbe med webl&#248;sninger oppleves s&#230;rlig &#233;n ting radikalt annerledes med apper i App Store: Tilbakemeldingene. Jeg har aldri sett noen egne arbeider bli s&#229; systematisk vurdert. Dette var g&#248;y en god stund. Mange ga fem stjerner, og mange ga &#233;n. En tydelig polarisering oppstod. Spennende.&lt;/p&gt;


	&lt;p&gt;Men idag, ett &#229;r senere, er mitt inntrykk at anmeldelsene i App Store fungerer som diskusjonsforum i sin v&#230;rste form. Og at stjernegivningen ikke er s&#230;rlig systematisk likevel. Folk diskuterer og krangler og mye grums kommer frem. Det har til tider v&#230;rt morsomt &#229; lese hvordan de som hater at Opplysningskontoret for kj&#248;tt synes det er en ubrukelig app fordi den bare har kj&#248;ttretter. Men det har vel g&#229;tt litt for langt n&#229;r det dukker opp drapstrusler? Det er selvsagt &lt;a href=&quot;http://itunes.com/app/matprat&quot;&gt;MatPrat-appen&lt;/a&gt; som har s&#248;rget for denne debatten. For Trafikanten sin del har den stadig &#248;kende klagestr&#248;mmen kommet av at appen bare dekker kollektivtrafikken i &lt;em&gt;Oslo&lt;/em&gt;omr&#229;det. Noe som st&#229;r tydelig i beskrivelsen i App Store. Likevel florerer det av bunnkarakterer fordi den ikke dekker busser i andre byer.&lt;/p&gt;


	&lt;p&gt;Dette virker kanskje sutrete, men jeg har ogs&#229; et poeng. N&#229;r Trafikanten fungerer ypperlig for de som bor i Oslo, er det ikke hjelpsomt at den har en veldig lav score, som skyldes mangel p&#229; innhold den ikke skal eller har lovet &#229; levere. Tvert imot gj&#248;r det sitt til at ratingen blir ubrukelig. At debatten i anmeldelsene er en salig blanding av Svisj (NRK) og Holmgang (TV2) sine seer-SMS, gj&#248;r det heller ikke bedre. (Bare det at anmeldelsene blir brukt som som debattforum er jo i seg selv et tankekors.)&lt;/p&gt;


	&lt;p&gt;En annen ting er at app-leverand&#248;re selv gj&#248;r hva de kan for &#229; manipulere ratingene ved &#229; opprette nye brukere som gir sine egne apper toppkarakterer. Se bare p&#229; de f&#248;rste anmeldelsene av hver applikasjon. De gir fem stjerner samtidig som de gjentar funksjonaliteten i appen. Smart, men s&#248;plete. (Klikker man p&#229; brukernavnet bak en slik anmeldelse vil man se at det er ytterst f&#229; apper de har anmeldt, og at alle har toppkarakter.)
&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Topplistene&lt;/b&gt;&lt;br /&gt;
Kanskje den mest popul&#230;re featuren i App Store er Topplistene. Man kan se hvilke apper som er mest popul&#230;re akkurat n&#229;. Hver kategori har ogs&#229; sine egne lister. Det finnes to typer av disse listene, de med gratis-apper og de som lister opp apper det koster noe &#229; laste ned. Og rangeringer er g&#248;y. Konkurranser er g&#248;y. Hvem er best? Hvilken app er mest brukt?&lt;/p&gt;


	&lt;p&gt;Men det er ikke &lt;em&gt;bruk&lt;/em&gt; lista gjenspeiler, det er nedlastinger. Og dette gj&#248;r disse listene mer eller mindre tilfeldige. En morsom og tydelig trend har v&#230;rt at de fleste norske apper har hatt gleden av &#229; pryde toppen p&#229; disse listene. Dette fordi norske brukere tester ut alt som kommer som er norsk. Men hva som blir v&#230;rende p&#229; iPhonen sier lista ingenting om.&lt;/p&gt;


	&lt;p&gt;App Store-listene har samme syklus som platelistene. Men VG-lista er konstruert for &#229; &#248;ke salg av musikk, ved &#229; s&#248;rge for at musikk har kort levetid. Det er alltid en ny toppl&#229;t, og artistene kan alltid selge nye singler. Men slik &#248;nsker vi vel ikke at programvareutvikling skal v&#230;re?&lt;/p&gt;


	&lt;p&gt;Forrige uke kom nummers&#248;ktjenestene &lt;a href=&quot;http://itunes.apple.com/no/app/1881/id332020575?mt=8&quot;&gt;1881&lt;/a&gt; og &lt;a href=&quot;http://itunes.apple.com/no/app/gulesiderlive/id341550089?mt=8&quot;&gt;Gule Sider&lt;/a&gt; med hver sin app, og et par uker f&#248;r det lanserte &lt;a href=&quot;http://itunes.apple.com/no/app/180-no/id336589835?mt=8&quot;&gt;180.no&lt;/a&gt; sin. Alle har ligget &#248;verst p&#229; lista, og blitt lastet ned av nesten samtlige iPhone-eiere i landet. Jeg lastet ogs&#229; ned alle, og synes de er veldig bra. Likevel kastet jeg to av dem. Jeg trenger jo ikke tre like apper? N&#229; har allerede disse begynt &#229; dale p&#229; listene, naturligvis. B&#248;r da f.eks. 1881 gj&#248;re som Rihanna og lage en ny singel, en ny app, slik at de topper lista igjen? Neppe.&lt;/p&gt;


	&lt;p&gt;Med et prosjekt vi jobbet med skjedde noe spesielt, en konkurrent av Shortcut tok kontakt med en av v&#229;re kunder og fortalte at de kunne garantere en topplisteplass innen 24 timer etter lansering. S&#229; den gitte kunden burde heller ha valgt &#229; jobbe med denne leverand&#248;ren. Har listene blitt s&#229; viktige? Er det bedre &#229; klare &#229; manipulere nedlastingstallene enn &#229; lage den best mulige appen? Jeg synes ikke det. Men samtidig ser jeg viktigheten av &#229; synes i App Store. Og det er nesten bare gjennom de listene man blir synlig.&lt;/p&gt;


	&lt;p&gt;Jeg h&#229;per iPhone-app-produksjonen aldri flater helt ut og blir like uinteressant som reklameverdenen. Men n&#229; f&#248;ler jeg at vi er p&#229; vei dit, og at noen akt&#248;rer virkelig drar i den retningen. Og deler av App Store hjelper heller ikke til.&lt;/p&gt;


	&lt;p&gt;Selv skulle jeg &#248;nske at App Store viste hvilke apper som &lt;em&gt;faktisk&lt;/em&gt; ble liggende p&#229; telefonene v&#229;re og antall ganger de &lt;em&gt;faktisk&lt;/em&gt; ble startet. Noe slikt ville sikkert v&#230;rt mulig &#229; sende til Apple n&#229;r vi synkroniserer med maskinene v&#229;re. Men b&#229;de Apple-motstandere og datatilsynet ville vel g&#229;tt av skaftet, selv om l&#248;sningen ville blitt bedre? Kanskje er det bedre med en masete tulling av en venn?&lt;/p&gt;</content>
    <author>
      <name>John Eivind Hall&#233;n</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/111</id>
    <published>2009-12-15T12:09:49Z</published>
    <updated>2010-01-20T15:21:23Z</updated>
    <link type="text/html" href="/blogg/2009/12/15/adecco-job-finder-var-tredje-app" rel="alternate"/>
    <title>Adecco Job Finder, v&#229;r tredje app</title>
    <content type="html">&lt;p&gt;Adecco er Norges st&#248;rste bemanningsselskap med over 8000 medarbeidere i jobb, over hele landet. Adecco tilbyr midlertidige og faste stillinger i norsk n&#230;ringsliv og offentlig sektor. N&#229; er disse stillingene tilgjengelig rett i din iPhone.&lt;/p&gt;&lt;p&gt;Adeccos Job Finder er v&#229;r tredje applikasjon, og nok en gang har vi gjort v&#229;rt ytterste for &#229; gj&#248;re opplevelsen s&#229; smooth og elegant som mulig. V&#229;r filosofi er at alle produkter b&#248;r v&#230;re av h&#248;y kvalitet helt ut til fingerspissene. Og her har vi ikke holdt igjen p&#229; noe.&lt;/p&gt;


	&lt;p&gt;Les mer p&#229; &lt;a href=&quot;http://www.adecco.no/JobbOgKarriere/Pages/iPhone-JobFinder.aspx&quot;&gt;Adeccos egne nettsider &#187;&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;Last ned fra &lt;a href=&quot;http://itunes.com/app/adeccojobfinder&quot;&gt;iTunes App Store &#187;&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;http://shortcut.no/system/pictures/30/original/iPhoneApp_konkurranse_NY.jpg&quot; alt=&quot;&quot; /&gt;
&lt;a href=&quot;http://www.adecco.no/JobbOgKarriere/Pages/vinn-en-iPhone.aspx&quot;&gt;&lt;strong&gt;Her kan du tilogmed vinne en iPhone &#187;&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;</content>
    <author>
      <name>John Eivind Hall&#233;n</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/121</id>
    <published>2010-09-10T13:00:02Z</published>
    <updated>2010-09-10T13:21:06Z</updated>
    <link type="text/html" href="/blogg/2009/12/7/fremtiden-i-vare-hender-augmented-reality" rel="alternate"/>
    <title>Fremtiden i v&#229;re hender: Augmented Reality</title>
    <content type="html">&lt;p&gt;I sommer var jeg vitne til augmented reality for f&#248;rste gang. Det var et YouTube-klipp av en iPhone-applikasjon som finner frem i Londons t-bane-stasjoner. Jeg kunne nesten ikke tro mine egne &#248;yne. Fremtiden var her! Jeg hadde &#248;nsket meg noe slikt helt siden jeg s&#229; Terminator som liten. F&#248;rst flere m&#229;neder etter at jeg s&#229; YouTube-klippet stilte jeg sp&#248;rsm&#229;l til innholdet i denne nye utvidete virkeligheten. Viser vi bare det vi ikke trenger &#229; vise?&lt;/p&gt;&lt;p&gt;I tilfelle du ikke vet hva augmented reality er, her er Wikipedias definisjon: &#171;Utvidet virkelighet er en teknologi som kombinerer data fra den virkelige verden med virtuell data som blir lagt opp&#229; virkeligheten, for eksempel ved bruk av grafikk og lyd. Man f&#229;r et filter av informasjon lagt p&#229; virkeligheten.&#187; Mao. et slags lag med ekstrainformasjon som legger seg opp&#229; det vi normalt ser.
&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Target: Terminator&lt;/b&gt;&lt;br /&gt;
For meg er det selveste Terminator som har lagt lista for denne ekstrainformasjonen, noe jeg synes best illustreres med bilder fra Guns N&amp;#8217; Roses&amp;#8217; musikkvideo fra oppf&#248;lgeren Terminator 2. I musikkvideoen har Schwarzenegger-roboten i oppgave &#229; tilintetgj&#248;re bandets medlemmer. Se bare her:&lt;/p&gt;


	&lt;p&gt;&lt;img class=&quot;alignnone size-full wp-image-4259&quot; title=&quot;t2_guns_1&quot; src=&quot;http://stammen.no/wp-content/uploads/2009/12/t2_guns_1.png&quot; alt=&quot;t2_guns_1&quot; width=&quot;400&quot; height=&quot;291&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;Etter litt leting finner han bandet, dataene sl&#229;r fast at dette er &#171;Target: Guns N&amp;#8217; Roses&#187;. Og vi f&#229;r et lite hint om at nord er opp, s&#248;r er ned osv.&lt;/p&gt;


	&lt;p&gt;&lt;img class=&quot;alignnone size-full wp-image-4260&quot; title=&quot;t2_guns_2&quot; src=&quot;http://stammen.no/wp-content/uploads/2009/12/t2_guns_2.png&quot; alt=&quot;t2_guns_2&quot; width=&quot;400&quot; height=&quot;291&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;Siden dette er en overmenneskelig klok informasjonskilde f&#229;r vi ogs&#229; se at musikken spilles dr&#248;yt h&#248;yt: &#171;Decibel overload&#187;.&lt;/p&gt;


	&lt;p&gt;&lt;img class=&quot;alignnone size-full wp-image-4261&quot; title=&quot;t2_guns_3&quot; src=&quot;http://stammen.no/wp-content/uploads/2009/12/t2_guns_3.png&quot; alt=&quot;t2_guns_3&quot; width=&quot;400&quot; height=&quot;291&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;Etter konserten, mot slutten av musikkvideoen, finner Terminator bandet backstage, og alle medlemmene blir gjenkjent og presentert ved navn (og mye annen fuzzy data?): &#171;Target: Slash&#187;.&lt;/p&gt;


	&lt;p&gt;&lt;img class=&quot;alignnone size-full wp-image-4262&quot; title=&quot;t2_guns_4&quot; src=&quot;http://stammen.no/wp-content/uploads/2009/12/t2_guns_4.png&quot; alt=&quot;t2_guns_4&quot; width=&quot;400&quot; height=&quot;291&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;Men da Axl Rose blir gjenkjent, ender det hele med at det ville v&#230;re &#229; kaste bort ammunisjon, &#229; tilintetgj&#248;re dem: &#171;Assessment: Waste of ammo&#187;. (&lt;a href=&quot;http://www.youtube.com/watch?v=1C2dGRoaZ1A&quot;&gt;Se musikkvideoen p&#229; YouTube: You Could Be Mine.&lt;/a&gt;) Og det er slik vi vil ha det. Nyttig data som tegner opp grafikk, gir oss statistikk, navngir personer, kommer med konklusjoner, forteller &lt;span class=&quot;caps&quot;&gt;GPS&lt;/span&gt;-posisjoner og viser oss masse annet vi &lt;em&gt;ikke visste&lt;/em&gt;. Og det er det som er poenget, dataene m&#229; jo v&#230;re noe vi &lt;em&gt;ikke &lt;/em&gt;vet, som vi &lt;em&gt;ikke &lt;/em&gt;kan se.&lt;/p&gt;


	&lt;p&gt;&lt;img class=&quot;alignnone size-full wp-image-4264&quot; title=&quot;london_tube_app&quot; src=&quot;http://stammen.no/wp-content/uploads/2009/12/london_tube_app.png&quot; alt=&quot;london_tube_app&quot; width=&quot;400&quot; height=&quot;268&quot; /&gt;
Slik ser en augmented reality-iPhone-applikasjon ut.
&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Skilt opp&#229; skilt&lt;/b&gt;&lt;br /&gt;
London-applikasjonen har enkle skilt som dukker opp og forklarer hvor du skal g&#229; for &#229; ta de forskjellige linjene. Kjempefin grafikk, fantastisk teknologi og imponerende fra ende til annen. Men om du har v&#230;rt i London og tatt undergrunnen, vet du godt at det er et av det best informerte stedene som finnes. Enkle, selvforklarende og fargerike skilt henger overalt og forteller deg nettopp hvor du skal g&#229;. Hvis det er&lt;em&gt; ett sted&lt;/em&gt; vi ikke trenger et datalag over synet v&#229;rt, er det nettopp der. Det gjelder for&#248;vrig alle t-banenett, de har god informasjon. Og alle flyplasser. Vi kommer ikke til &#229; ta opp mobiltelefonen v&#229;r hvis vi ikke finner gaten (engelsk uttale) p&#229; Gardermoen, vi ser opp et lite &#248;yeblikk og leser n&#230;rmeste skilt.&lt;/p&gt;


	&lt;p&gt;I tillegg til t-bane-appene har en annen augmented reality-app f&#229;tt endel oppmerksomhet her i landet, og det med rette. &lt;a href=&quot;http://agens.no/&quot;&gt;Agens&lt;/a&gt; har utviklet en imponerende app for Gule Sider. Den er ikke tilgjengelig enn&#229;, s&#229; jeg har ikke pr&#248;vd den. Men jeg har sett teaser-filmen.&lt;/p&gt;


	&lt;p&gt;&lt;img class=&quot;alignnone size-full wp-image-4257&quot; title=&quot;gulesider&quot; src=&quot;http://stammen.no/wp-content/uploads/2009/12/gulesider.png&quot; alt=&quot;gulesider&quot; width=&quot;400&quot; height=&quot;232&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;Se p&#229; dette stillbildet, fra Youngstorget. &#171;Her har vi 7-Eleven&#187; sier videoen, og det er det vi kan lese p&#229; den gule boksen i applikasjonen. Men hvis du har st&#229;tt utenfor en 7-Eleven, vet du godt at de er ganske godt opplyst med egne skilt. At applikasjonen ogs&#229; kan vise oss McDonald&amp;#8217;s, &#197;hl&#233;ns og Posten blir like intetsigende. Dette er informasjon bybildet p&#248;ser p&#229; oss enten vi vil eller ikke, hele tiden. Jeg trenger ikke &#229; holde opp en mobil for &#229; se dette. (&lt;a href=&quot;http://www.youtube.com/watch?v=4jnGY6qFPxg&quot;&gt;Se teaser-filmen p&#229; YouTube.&lt;/a&gt;)&lt;/p&gt;


	&lt;p&gt;&lt;a href=&quot;http://www.presselite.com/iphone/londontube/&quot;&gt;&lt;img class=&quot;alignnone size-full wp-image-4258&quot; title=&quot;london_tube&quot; src=&quot;http://stammen.no/wp-content/uploads/2009/12/london_tube.png&quot; alt=&quot;london_tube&quot; width=&quot;400&quot; height=&quot;447&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;Se ogs&#229; hvordan forrige nevnte London-app sin produktside ser ut for &lt;a href=&quot;http://www.presselite.com/iphone/londontube/&quot;&gt;&#171;Your New Eye&#187;&lt;/a&gt;.&#160;Hjelp til &#229; finne Starbucks, Pizza Hut, Subway osv. All denne informasjonen viser appen n&#229;r du er ovenfor t-banestasjonen. Ting vi ser s&#229; altfor tydelig opplyst fra f&#248;r. Og det er det som skuffer meg litt. N&#229;r vi endelig har denne muligheten til &#229; vise metadata, h&#229;per jeg vi kan bruke det til noe mer nyttig enn &#229; gjenta skiltingen som allerede finnes. Det meste jeg har sett til n&#229; har v&#230;rt gjentagelser av skilt som allerede finnes.&lt;/p&gt;


	&lt;p&gt;Her er noen bilder fra Gr&#248;nland i Oslo, tatt for flere &#229;r siden. Hvis vi skal lage en skjerm man kan holde foran &#248;ynene her, burde vel den inneholde noe annet enn det vi allerede ser?&lt;/p&gt;


	&lt;p&gt;&lt;img class=&quot;alignnone size-full wp-image-4255&quot; title=&quot;gronland&quot; src=&quot;http://stammen.no/wp-content/uploads/2009/12/gronland.png&quot; alt=&quot;gronland&quot; width=&quot;400&quot; height=&quot;782&quot; /&gt;
&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Historien viser vei&lt;/b&gt;&lt;br /&gt;
Alt dette er tanker jeg har grunnet p&#229; en stund, s&#229; plutselig leste jeg &lt;a href=&quot;http://www.digi.no/830051/reis-i-historien-med-mobilen&quot;&gt;en artikkel p&#229; digi.no&lt;/a&gt; om hva Universitet i Oslo gj&#248;r med denne nye teknologien. H&#248;r bare her: &#171;Prosjektet har utviklet en applikasjon til iPhone 3GS som gj&#248;r det mulig for en bruker &#229; se hvordan omgivelsene man beveger seg i har sett ut tidligere, eller hvordan de kan komme til &#229; se ut i framtiden, basert p&#229; hvor i omr&#229;det brukeren beveger seg og i hvilken retning mobilen holdes.&#187;&lt;/p&gt;


	&lt;p&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=Gxb19WyB3i0&quot;&gt;&lt;img class=&quot;alignnone size-full wp-image-4256&quot; title=&quot;inventio&quot; src=&quot;http://stammen.no/wp-content/uploads/2009/12/inventio.png&quot; alt=&quot;inventio&quot; width=&quot;400&quot; height=&quot;231&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;Meget spennende, og det ser ogs&#229; ut som en fantastisk applikasjon. I dette landskapet finnes det ingen skilting eller enkle grafiske forklaringer, men en gang i tiden l&#229; det et vikingskip her. Og d&#233;t visste jeg ikke. N&#229; snakker vi! Tenk &#229; g&#229; rundt i Oslo og se hvordan det var f&#248;r, eller hvordan det skal bli. Jeg gleder meg, og min tro p&#229; at fremtiden er her allerede idag har kommet tilbake.
&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Shazam&lt;/b&gt;&lt;br /&gt;
La meg nevne en sp&#248;kete id&#233; en kollega av meg har hatt. Kjenner du til Shazam? Det er det programmet som kan fortelle deg hvilken sang og artist du h&#248;rer p&#229;. Den gjenkjenner lydene. Min kollega &#248;nsker seg Shazam for jenter. Tenk deg at du holder opp telefonen foran noen jenter ute p&#229; byen, og mobilnummer, navn og f&#248;dselsadresse dukker opp. (Applikasjonen m&#229; selvf&#248;lgelig ogs&#229; kjenne igjen gutter.)&lt;/p&gt;


	&lt;p&gt;Vel, noe slikt finnes. Idag kan b&#229;de de digitale kameraene vi bruker og fotoprogrammene v&#229;re, kjenne igjen ansikter. Og sammen med de andre mulighetene vi har sett p&#229; mobiltelefonene, er dette ikke til &#229; tro.&lt;/p&gt;


	&lt;p&gt;&lt;img class=&quot;alignnone size-full wp-image-4254&quot; title=&quot;tat_augmented_id&quot; src=&quot;http://stammen.no/wp-content/uploads/2009/12/tat_augmented_id.png&quot; alt=&quot;tat_augmented_id&quot; width=&quot;400&quot; height=&quot;323&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;(&lt;a href=&quot;http://www.youtube.com/watch?v=tb0pMeg1UN0&quot;&gt;Se filmen om &lt;span class=&quot;caps&quot;&gt;TAT&lt;/span&gt; augmented ID her.&lt;/a&gt;)&lt;/p&gt;


	&lt;p&gt;S&#229; hvis dette er augmented reality anno 2009, venter jeg s&#248;vnl&#248;st p&#229; alt det spennende vi skal f&#229; se i 2010.&lt;/p&gt;</content>
    <author>
      <name>John Eivind Hall&#233;n</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/110</id>
    <published>2009-11-24T16:13:42Z</published>
    <updated>2009-11-24T16:55:11Z</updated>
    <link type="text/html" href="/blogg/2009/11/24/shortcut-selger-mobilselskap" rel="alternate"/>
    <title>Shortcut selger mobilselskap</title>
    <content type="html">&lt;p&gt;Etter et kortvarig kj&#230;rlighetsforhold til Apparat AS, har vi bestemt oss for &#229; selge selskapet videre til Aspiro.&lt;/p&gt;&lt;p&gt;P&#229; denne tiden i fjor &lt;a href=&quot;http://www.shortcut.no/blogg/2008/11/25/shortcut-kjoper-mobilselskap&quot;&gt;kj&#248;pte&lt;/a&gt; vi det vesle teknologiselskapet Apparat. Kjerneteknologien i Apparat var en smidig mobilplattform implementert i Ruby on Rails.&lt;/p&gt;


	&lt;p&gt;Etter &#229; ha tatt godt vare p&#229; Apparat i snart ett &#229;r, har vi bestemt oss for &#229; &lt;a href=&quot;http://feed.ne.cision.com/wpyfs/00/00/00/00/00/0F/DD/C7/wkr0011.pdf&quot;&gt;selge&lt;/a&gt; det videre til noen som kan vie selskapet og kundene enda mer oppmerksomhet.&lt;/p&gt;


	&lt;p&gt;Den nye eieren er &lt;a href=&quot;http://www.aspiro.com&quot;&gt;Aspiro&lt;/a&gt;. Aspiro er en markedsleder innen mobil, og er kanskje mest kjent for sin musikksatsing med &lt;a href=&quot;http://wimp.aspiro.com&quot;&gt;Wimp&lt;/a&gt;.&lt;/p&gt;</content>
    <author>
      <name>August Zaitzow Flatby</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/122</id>
    <published>2010-09-10T13:14:12Z</published>
    <updated>2010-09-12T18:34:37Z</updated>
    <link type="text/html" href="/blogg/2009/11/2/la-oss-skrote-alle-blogger-og-bygge-et-helt-nytt-twitter" rel="alternate"/>
    <title>La oss skrote alle blogger og bygge et helt nytt Twitter</title>
    <content type="html">&lt;p&gt;Jeg f&#229;r en f&#248;lelse av at noe ikke stemmer n&#229;r jeg tenker p&#229; hva en blogg er. Hvordan den fremst&#229;r, hvordan jeg leser den og alt arbeidet som ligger bak. Det virker veldig omfattende og overdrevent. Og det er Twitter sin skyld at jeg tenker dette.&lt;/p&gt;&lt;p&gt;Etter at jeg ble komfortabel med &lt;a href=&quot;http://twitter.com&quot; target=&quot;_self&quot;&gt;Twitter&lt;/a&gt; har jeg tenkt at slik burde en blogg fungere ogs&#229;. Slik burde alle blogger fungere, sammen. Og n&#229; n&#229;r Twitter har kommet med lister i tillegg, er jeg ikke tvil: Noen burde samle alle blogger i ett felles Twitter-lignende system. Twitter er bare to features unna &#229; v&#230;re et overlegent bloggverkt&#248;y:&lt;/p&gt;


	&lt;p&gt;&lt;b&gt;&#8226; Ingen sperre p&#229; 140 tegn.&lt;/b&gt; Det er den sperren som gj&#248;r Twitter til den suksessen det har blitt. Det er p&#229; grunn av den at vi har s&#229; lett for &#229; twitre. Men det er ogs&#229; den som gj&#248;r det helt umulig &#229; skrive en blogg artikkel. Selvsagt.
&lt;b&gt;&#8226; Mulighet for bilder og video.&lt;/b&gt; Mange artikler er avhengig av bilder. Og bilder kan gj&#248;re en hvilkensomhelst tekst lettere og lese, og mer underholdene. Skulle man blogget p&#229; Twitter, m&#229;tte det v&#230;re mulig &#229; plassere bilder og video der du &#248;nsker.&lt;/p&gt;


	&lt;p&gt;For ordens skyld, jeg &#248;nsker ikke &#229; endre selve Twitter. Det er alle bloggene jeg tror kan forbedres. Og jeg mener alle blogger p&#229; hele internett. La meg punktvis g&#229; gjennom hvordan jeg tror det ville blitt. Og hvis du er enig i at dette h&#248;res ut som en bedre l&#248;sning, kanskje vi kan pr&#248;ve &#229; f&#229; til noe sammen?
&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1: Tilgjengelighet&lt;/b&gt;&lt;br /&gt;
Idag er det ganske lett &#229; sette opp en blogg p&#229; &lt;a href=&quot;https://www.blogger.com/start&quot; target=&quot;_self&quot;&gt;blogger.com&lt;/a&gt;, med &lt;a href=&quot;http://wordpress.com/&quot; target=&quot;_self&quot;&gt;Wordpress&lt;/a&gt; eller lignende. Men det er ikke i n&#230;rheten av den lave terskelen Twitter har. Hadde publiseringsverkt&#248;yet virket som Twitter, ville veien til lansert artikkel v&#230;rt mye kortere. Og mange flere ville begynt &#229; blogge.
&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2: Innholdet&lt;/b&gt;&lt;br /&gt;
Det vi er ute etter n&#229;r vi g&#229;r inn p&#229; en blogg er artiklene. Og tekstene, selve innholdet, vil nok forbli uforandret. Vi kommer til &#229; ha de samme tingene p&#229; hjertet, uavhengig av systemet rundt. P&#229; godt og ondt.
&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3: Fagmilj&#248;ene&lt;/b&gt;&lt;br /&gt;
Hva da med de st&#248;rre fagbloggene? Mange kjenner bedre til bloggene &lt;em&gt;&lt;a href=&quot;http://37signals.com/svn/&quot; target=&quot;_self&quot;&gt;Signals vs. Noise&lt;/a&gt;&lt;/em&gt; eller &lt;em&gt;&lt;a href=&quot;http://www.iallenkelhet.no/&quot; target=&quot;_self&quot;&gt;I all enkelhet&lt;/a&gt;&lt;/em&gt;, enn de kjenner skribentene. Svaret er lister. N&#229; kan de samme milj&#248;ene knytte seg sammen med en felles liste, og det er bare det navnet leserne trenger &#229; huske for &#229; f&#248;lge hele fagmilj&#248;et.
Listene er ypperlig til dette, bortsett fra en ting. Idag fungerer Twitter-listene ganske likt spillelistene i Spotify. Brukerne kan fritt navngi, legge til personer og dele dem med andre. Uten &#229; sp&#248;rre. Men jeg &#248;nsker meg noe lignende et album i Spotify, hvor det er musikerne/plateselskapene som bestemmer. Jeg tror skribentene b&#248;r f&#229; mer kontroll og bevissthet p&#229; hvilke lister de publiserer til. Men jeg er ikke sikker, begge deler burde kanskje v&#230;re mulig?
Les &lt;a href=&quot;http://mashable.com/2009/10/15/breaking-twitter-lists-are-live/&quot; target=&quot;_self&quot;&gt;mer om lister p&#229; Mashable&lt;/a&gt;.
&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4: Egen identitet&lt;/b&gt;&lt;br /&gt;
Kanskje den viktigste delen av din bloggidentitet er navnet p&#229; bloggen. De fleste har et fengende og oppfinnsomt navn man skal like og huske. Dette forsvinner heldigvis ikke. Navnet du hadde p&#229; bloggen, blir selvf&#248;lgelig navnet p&#229; den nye lista.
Men designet er noe jeg tenker gjerne kan g&#229; tapt, uten at det vil v&#230;re et stort tap. Idag har alle blogger et unikt design, spennende fargepalett og en gjennomf&#248;rt logo. Det er g&#248;y &#229; lage logotyper, og finne p&#229; nytt design, men jeg tror ikke bloggen din skal v&#230;re stedet hvor man f&#229;r utl&#248;p for det.
Det er ogs&#229; et tankekors at alle som lager en blogg designer nok en artikkelside med fokus p&#229; lesbarehet, gode linker og korrekt html. Vi finner opp hjulet p&#229; nytt og p&#229; nytt.
(Med et &#229;pent &lt;span class=&quot;caps&quot;&gt;API&lt;/span&gt; er det heller ingenting i veien for at du inkluderer nettopp din bloggstream, eller liste, p&#229; din egen webside. S&#229; kan du designe den der. Men vit at folk kommer til &#229; lese den et annet sted uansett.)
&lt;br /&gt;&lt;br /&gt;&lt;b&gt;5: Konteksten&lt;/b&gt;&lt;br /&gt;
Hva med de andre linkene man har p&#229; en side? Om oss, forsiden og kontakt? De er ikke av direkte interesse. Twitter har vist oss at en mini-bio fungerer mer enn godt om man trenger vite mer enn det som st&#229;r i artikkelen. Der kan det selvf&#248;lgelig v&#230;re en link til nettstedet ditt ogs&#229;.
&lt;br /&gt;&lt;br /&gt;&lt;b&gt;6: Bloggleseren&lt;/b&gt;&lt;br /&gt;
Idag er det fortsatt mange som leser blogger p&#229; vanlige websider (ikke &lt;span class=&quot;caps&quot;&gt;RSS&lt;/span&gt;-lesere). Men jeg gjetter at situasjonen er omvendt n&#229;r det gjelder Twitter-poster. De fleste bruker nok en Twitter-klient fremfor twitter.com. Og slik skulle jeg &#248;nske at det var med blogg ogs&#229;. At man brukte en egen bloggleser-klient for &#229; lese artiklene.
Og, for de som vil savne designjobben som forsvant under punkt 4. Med det &lt;span class=&quot;caps&quot;&gt;API&lt;/span&gt;-et som m&#229; ligge til grunn, har de muligheten til &#229; designe en helt egen leser, med logo, farger, typografi og alt.
&lt;br /&gt;&lt;br /&gt;&lt;b&gt;7: Skriveverkt&#248;yet&lt;/b&gt;&lt;br /&gt;
Det fine med bloggleser-klienten jeg nettopp nevnte er at den i tillegg vil v&#230;re publiseringsverkt&#248;yet. Det er helt naturlig p&#229; Twitter, og slik det burde det v&#230;re med blogg ogs&#229;.
&lt;br /&gt;&lt;br /&gt;&lt;b&gt;8: &lt;span class=&quot;caps&quot;&gt;SEO&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
S&#248;kemototoptimalisering tenker jeg blir s&#248;kemotorens jobb, ikke bloggens. Bloggen skal bare produsere perfekt, semantisk &lt;span class=&quot;caps&quot;&gt;HTML&lt;/span&gt;, med gode titler og riktig tagging, s&#229; f&#229;r Google rangere etter beste evne. Og det er vel slik det egentlig skal v&#230;re?
&lt;br /&gt;&lt;br /&gt;&lt;b&gt;9: Bannere &amp;#38; AdWords&lt;/b&gt;&lt;br /&gt;
Mange &#248;nsker &#229; tjene penger ved hjelp av annonser p&#229; bloggen sin. Det er ikke noe jeg &#248;nsker &#229; ta hensyn til. Men de kan jo ha sin egen webside med masse bannere og streame sin egen blogg (som jeg nevnte i punkt 4). Eller de kan lage sin blogg-klient (fra punkt 6), og fylle den med reklame.
&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Er du enig?&lt;/b&gt;&lt;br /&gt;
Det fungerer veldig bra idag med &lt;span class=&quot;caps&quot;&gt;RSS&lt;/span&gt;-lesere. Vi kan abonnere p&#229; hva vi vil, ha favoritter, slette abonnement og samle i mapper. Og vi kan lage spennende artikler og nyskapende bloggdesign med Wordpress. Men det er vel langtfra s&#229; smertefritt som &#229; sette opp en Twitter-konto og begynne &#229; twitre p&#229; en to tre?
Hvis du er enig, kom igjen, la oss lage et nytt Twitter med ubegrenset antall tegn og mulighet for &#229; plassere bilder og video. We might be on to something here!&lt;/p&gt;</content>
    <author>
      <name>John Eivind Hall&#233;n</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/109</id>
    <published>2009-07-12T14:50:09Z</published>
    <updated>2010-01-19T11:43:36Z</updated>
    <link type="text/html" href="/blogg/2009/7/12/hvordan-skal-iphone-ikonet-ditt-se-ut" rel="alternate"/>
    <title>Hvordan skal iPhone-ikonet ditt se ut?</title>
    <content type="html">&lt;p&gt;Etter &#229; ha jobbet uker, kanskje m&#229;neder, med en iPhone-applikasjon, kan suksessen st&#229; og falle p&#229; hvordan man designer det 57&amp;#215;57 pixelstore ikonet. Virkelig? Jepp. Urettferdig? Kanskje. Enkelt? Ikke i det hele tatt.&lt;/p&gt;&lt;p&gt;Det finnes over 50 000 av disse sm&#229; skrivebordsikonene tilgjengelig i App Store i dag. Noen er pixelperfeksjon av h&#248;yeste kvalitet, de fleste andre er amat&#248;rmessige i sin utforming og id&#233;l&#248;se i sitt motivvalg. I denne artikkelen skal jeg pr&#248;ve &#229; beskrive hva som gj&#248;r et godt ikon. Det trenger ikke &#229; v&#230;re perfekt, men det m&#229; vite hva det vil og hvilke oppgaver det st&#229;r ovenfor.&lt;/p&gt;


	&lt;p&gt;Ikonets f&#248;rste oppgave er &#229; bli sett i App Store, og gj&#248;re brukeren interessert. Jeg har tidligere beskrevet hvordan jeg velger &#229; installere en &lt;a href=&quot;http://www.shortcut.no/blogg/2009/2/3/fa-orden-pa-okonomien-kjop-en-iphone-app&quot;&gt;applikasjon p&#229; grunnlag av ikonet&lt;/a&gt;, og jeg er neppe alene. Ikonet m&#229; skape en interesse p&#229; kort tid, da man fort skummer over mange samtidig.&lt;/p&gt;


	&lt;p&gt;&lt;br /&gt;
&lt;strong&gt;V&#230;r funksjonell!&lt;/strong&gt;&lt;br /&gt;
N&#229;r ikonet f&#248;rst har f&#229;tt seg et skrivebord &#229; pryde, begynner den egentlige jobben. Oppgaven er &#229; v&#230;re &lt;em&gt;enkel &#229; finne&lt;/em&gt; n&#229;r brukeren &#248;nsker det, men ellers v&#230;re tilbakelent og ikke-prangende. Det er kanskje mange som tror at det er viktig &#229; skille seg ut her ogs&#229;, slik at det synes godt, gir god reklame og oftere blir brukt. Men s&#229;nn er det ikke. Ikonet skal bare st&#229; til tjeneste n&#229;r eieren &#248;nsker &#229; finne nettopp det. Det er applikasjonen bak som vil avgj&#248;re hvor ofte det blir brukt.&lt;/p&gt;


	&lt;p&gt;Her er endel eksempler p&#229; ikoner. Noen som fungerer godt og mange som er veldig stilige. Er det noen du synes fungerer d&#229;rlig? Noen du synes &#248;delegger for andre? Eller er vanskelig &#229; finne?&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;http://shortcut.no/system/pictures/13/original/shortcut_iphone_24_top.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;Noen er kanskje finere enn andre, mer spennende. Men hvilke ikoner klarer &#229; fortelle deg hva applikasjonen handler om. Hva den gj&#248;r? &lt;em&gt;Det&lt;/em&gt; er den viktigste av alle oppgaver, er det ikke? Apple sine egne applikasjoner kan v&#230;re en god rettesnor. Se p&#229; min favoritt: &lt;em&gt;Phone&lt;/em&gt;. Det skal godt gj&#248;res &#229; ikke forst&#229; hva det er. Jeg &#248;nsker at ikonene vi i Shortcut lager blir like intuitive. Her er noen eksempler jeg synes er gode:&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;http://shortcut.no/system/pictures/16/original/shortcut_iphone_6_function.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;Jeg har tillatt meg &#229; ta med v&#229;rt eget Trafikanten-ikon, da jeg selv opplever dette som veldig funksjonelt i mitt daglige bruk. Dette er uegoistiske ikoner, som bare s&#248;rger for &#229; gj&#248;re applikasjonens funksjonalitet synlig, uten &#229; tenke p&#229; firmabranding, designfeinschmekkeri eller artige ideer.&lt;/p&gt;


	&lt;p&gt;Det som kjennetegner disse ikonene er ett universalt, tydelig og ensfarget symbol, opp&#229; &#233;n sterk bakgrunnsfarge. Men &#229; lage slike er ikke like enkelt som man skulle tro. Her er noen eksempler jeg synes har et forbedringspotensiale.&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;http://shortcut.no/system/pictures/15/original/shortcut_iphone_6_function_tries.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;Jeg synes de pr&#248;ver litt for hardt. Tenk hvor mye lettere &lt;em&gt;Google Earth&lt;/em&gt; hadde v&#230;rt &#229; kjenne igjen, om det var v&#229;r gjenkjennelige jordklode. Eller om &lt;em&gt;Countries&lt;/em&gt; ikke hadde hatt et politisk kart, men tydelig skilt mellom land (kanskje gr&#248;nt) og vann (kanskje bl&#229;tt). &lt;em&gt;100 Pushups&lt;/em&gt; og &lt;em&gt;MachDice&lt;/em&gt; lider av &#229; skulle ha applikasjonsnavnet med i ikonet. Og &lt;em&gt;Units&lt;/em&gt; kunne kanskje valgt ut &lt;em&gt;ett&lt;/em&gt; m&#229;lesymbol, ikke tre? N&#229;r det gjelder blyanttegneprogrammet &lt;em&gt;No.2&lt;/em&gt; s&#229; er det kanskje jeg som er for streng? Det er jo kjempefint, men jeg skulle gjerne sett en versjon med sterkere kontrast mellom trestrukturene.&lt;/p&gt;


	&lt;p&gt;&lt;br /&gt;
&lt;strong&gt;Bedre &lt;em&gt;er&lt;/em&gt; bedre&lt;/strong&gt;&lt;br /&gt;
Heldigvis kan man alltid forbedre ikonet sitt. Man er ikke l&#229;st for alltid etter en lansering. Her er to eksempler p&#229; applikasjoner som er endret:&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;http://shortcut.no/system/pictures/12/original/shortcut_iphone_5_redoes.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;Facebook sitt tredje ikon kommer sannsynligvis med &lt;a href=&quot;http://ipod1.no/artikkel/3260/snart-ny-facebook-til-iphone&quot;&gt;neste oppdatering&lt;/a&gt;. De begynte med et ikon med to ansikter, en gutt og en jente, for nettopp &#229; illustrere hva de var. Smart. Dessverre konkurrerte det med kontaktlisteprogrammet el., vil jeg tro. De endret det i hvert fall til F-en i logoen sin. Noe som for meg hjalp. Det ble lettere &#229; kjenne igjen. (Og det er litt s&#229;rt &#229; innr&#248;mme, siden jeg stort sett snakker negativt om &#229; dra inn ens logo i app-ikonet.) Tredje versjon, med F-en mot h&#248;yre, er en del av deres stadige designendringer, og vil gj&#248;re det enda lettere &#229; kjenne igjen for Facebooks mange daglige brukere.&lt;/p&gt;


	&lt;p&gt;AP News var tidlig ute med sin applikasjon, og syntes nok dette var s&#229; spennende at de d&#248;pte seg om til Mobile News og la logoen sin inn som et pressekort i hatten. Heldigvis har de skj&#248;nt at iPhone-eierne vet at det er en mobil de holder i h&#229;nden. Og at det er AP-logoen de ser etter ikke en cowboylignende hatt.&lt;/p&gt;


	&lt;p&gt;&lt;br /&gt;
&lt;strong&gt;Ikke &#248;delegg for andre!&lt;/strong&gt;&lt;br /&gt;
La du merke til det ene ikonet som skilte seg mest ut i det store bildet innledningsvis? Scroll gjerne opp og ta en ny titt p&#229; dem, det er nemlig ett som er helt annerledes. Ett som g&#229;r sine egne veier, p&#229; bekostning av de andre, og p&#229; bekostning av iPhone-eieren selv. I hvert fall er det noen som mener det. I artikkelen &lt;a href=&quot;http://artofadambetts.com/uriconiswrong/&quot;&gt;Your Icon is Wrong&lt;/a&gt; kan du lese og se mye klokt om hvorfor man ikke skal bryte med &#229; v&#230;re en firkant med runde hj&#248;rner.&lt;/p&gt;


	&lt;p&gt;Det er &lt;em&gt;Guitar Toolkits&lt;/em&gt; plekter som gj&#248;r det i f&#248;rste eksempel. Og pressehatten til AP News i siste eksempel. De har maskert ut symbolet sitt mot svart, slik at det f&#229;r sin helt egne, unike form. Noe som ser veldig fint ut for seg selv, men som &#248;delegger helhetsopplevelsen. Verdens verste argument blir gyldig her: &#171;Hva hvis alle skulle gjort det, det ville ikke g&#229;tt.&#187; Det ville i hvert fall ikke blitt s&#230;rlig oversiktlig.&lt;/p&gt;


	&lt;p&gt;&lt;br /&gt;
&lt;strong&gt;V&#229;re egne&lt;/strong&gt;&lt;br /&gt;
Det er alltid lett &#229; komme med meninger om andres arbeider. Vanskeligere er det &#229; lage noe selv. Vi i Shortcut legger alltid lista veldig h&#248;yt p&#229; v&#229;re produkter, og g&#229;r gjerne flere runder f&#248;r vi blir forn&#248;yde. I tillegg har vi kunder med egne, reflekterte meninger, gode ideer og spesiell kj&#230;rlighet til sin designprofil. Det kan fort bli mange kokker bak et lite ikon, men heldigvis ender det alltid godt, bare man tar oppgaven seri&#248;st.&lt;/p&gt;


	&lt;p&gt;Her kan du se et lite utdrag av skissene til v&#229;re to lanserte ikoner, &lt;a href=&quot;http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=299318111&amp;#38;mt=8&quot;&gt;&lt;em&gt;Trafikanten&lt;/em&gt;&lt;/a&gt; og &lt;a href=&quot;http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=319653327&amp;#38;mt=8&quot;&gt;&lt;em&gt;MatPrat&lt;/em&gt;&lt;/a&gt;:&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;http://shortcut.no/system/pictures/18/original/shortcut_iphone_12_ourown.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;Vi &#248;nsket b&#229;de &#229; ha med profilen til MatPrat og et symbol som viste at dette handlet om mat. Og etter noen runder ble vi enige om det kjente &lt;em&gt;kniv og gaffel&lt;/em&gt;-symbolet. Deretter pr&#248;vde vi oss frem med designprofilen og endte med &#229; beholde den r&#248;de streken fra logoen. Det har blitt et fint symbol synes jeg, og jeg h&#229;per det er noe MatPrat kan bruke i andre sammenhenger ogs&#229;.&lt;/p&gt;


	&lt;p&gt;Da jeg begynte arbeidet p&#229; Trafikantens ikon hadde jeg f&#229;tt et ganske strengt og vanskelig krav: Trafikanten-tusenbeinet skulle med! Jeg pr&#248;vde og pr&#248;vde, men det var helt umulig &#229; ha et fargerikt tusenbein samtidig som det skulle se nyttig og informativt ut. Det skulle &lt;em&gt;ikke&lt;/em&gt; ligne et pekespill for barn under fire &#229;r.&lt;/p&gt;


	&lt;p&gt;Senest for bare noen dager siden blusset den diskusjonen opp igjen hos teamet som jobber med Trafikanten p&#229; iPhone. Og heldigvis blir bussen v&#230;rende.&lt;/p&gt;


	&lt;p&gt;Hvorfor buss? Jeg skulle gjerne hatt en trikk. Jeg synes trikk er litt mer spesielt og &lt;em&gt;litt&lt;/em&gt; stiligere. Men over 90% av stoppestedene Trafikanten dekker er busstopp. S&#229; da ble det et enkelt valg. (For vi kunne vel ikke valgt flere symbolder vel?) N&#229;r jeg n&#229; st&#229;r p&#229; en bussholdeplass og ser opp p&#229; lysskiltet vet jeg at vi valgte rett.&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;http://shortcut.no/system/pictures/11/original/busskur.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;br /&gt;
&lt;strong&gt;Ikke bare for applikasjoner&lt;/strong&gt;&lt;br /&gt;
Det f&#248;rste &#229;ret iPhone var ute (i &lt;span class=&quot;caps&quot;&gt;USA&lt;/span&gt;) fantes ikke App Store, og det var ikke mulig &#229; skrive egne applikasjoner for iPhone. Man kunne bare lage nettapplikasjoner, kompliserte nettsider. Men man kunne lage &lt;em&gt;like fine ikoner&lt;/em&gt; som bokmerker til nettstedene. Og fortsatt er det slik.&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;http://shortcut.no/system/pictures/17/original/shortcut_iphone_6_bookmarks.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;Derfor ser jeg ingen grunn til at ikke ethvert nettsted tar seg bryet med &#229; lage et slikt ikon. Her er et lite knippe jeg liker godt. Legg merke til 37Signals&#8217; &lt;em&gt;Campfire&lt;/em&gt;, de har gjort en ekstrainnsats for &#229; blende inn sammen med Apples egne ikoner, &lt;a href=&quot;http://www.shortcut.no/blogg/2008/9/19/overrumplet-av-et-iphone-bokmerkeikon&quot;&gt;noe jeg har skrevet om tidligere&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;&lt;br /&gt;
&lt;strong&gt;Mine favoritter&lt;/strong&gt;&lt;br /&gt;
Som designer som sitter dagevis med pixeljusteringer kan jeg ikke la v&#230;re &#229; bli imponert over det gode h&#229;ndverket som har blitt lagt ned i noen av disse ikonene. N&#229;r jeg ikke tar hensyn til funksjonalitet, eller applikasjonen eller avsenderen eller noe annet enn de 57&amp;#215;57 pixlene, er dette mine favoritter:&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;http://shortcut.no/system/pictures/14/original/shortcut_iphone_6_top.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;Har du noen du liker, legg gjerne inn en link i kommentarfeltet under. Og trenger du hjelp med ditt ikon, ta kontakt s&#229; hjelper vi alt vi kan.&lt;/p&gt;</content>
    <author>
      <name>John Eivind Hall&#233;n</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/108</id>
    <published>2009-07-03T13:58:47Z</published>
    <updated>2010-05-07T10:37:23Z</updated>
    <link type="text/html" href="/blogg/2009/7/3/hvorfor-timeforing-ikke-kan-automatiseres" rel="alternate"/>
    <title>Hvorfor timef&#248;ring ikke kan automatiseres</title>
    <content type="html">&lt;p&gt;De fleste utviklere jeg kjenner har p&#229; et eller annet tidspunkt laget sitt eget timef&#248;ringssystem fordi de var misforn&#248;yd med det de er p&#229;lagt &#229; bruke. M&#229;let er ofte &#229; automatisere det som ser ut til &#229; v&#230;re en meningsl&#248;s aktivitet, denne posten handler om hvorfor timef&#248;ring faktisk er en meningsfylt aktivitet.&lt;/p&gt;&lt;p&gt;Det ser ut som et brudd p&#229; &lt;span class=&quot;caps&quot;&gt;DRY&lt;/span&gt; (Don&amp;#8217;t Repeat Yourself) &#229; skulle fortelle hva man har gjort flere ganger. For eksempel oppsummerer jeg endringer jeg har gjort i koden gjennom versjonskontrollsystemet. En ide kunne dermed v&#230;re &#229; bruke dette til &#229; lage en (automatisk) rapport over dagens aktiviteter:&lt;/p&gt;


	&lt;pre&gt;&lt;code&gt;git log --since=&quot;8 hours ago&quot;&lt;/code&gt;&lt;/pre&gt;


	&lt;p&gt;vil lage en helt kosher liste over features jeg har laget idag, hvorfor skulle ikke dette v&#230;re nok for &#229; rapportere hva dagen handlet om?&lt;/p&gt;


	&lt;p&gt;Den enkleste delen av timef&#248;ringen er hvor mange timer man har jobbet. Formelen er omtrent slik:&lt;/p&gt;


&lt;pre&gt;
klokkeslettet n&#229;r jeg g&#229;r hjem
- klokkeslettet jeg kom
- d&#248;dtid/surfing/whatever
= fakturerbar tid
&lt;/pre&gt;

	&lt;p&gt;Den andre delen er &#229; fortelle hva man har gjort. P&#229; samme m&#229;te som testene vi skriver beskriver hva programmet gj&#248;r p&#229; en bedre m&#229;ten enn implementasjonen (fordi den har et annet utgangspunkt og muligens, hvis testene er veldig bra, et annet publikum) er timef&#248;ringen en oppsummering av hva dagen har handlet om.&lt;/p&gt;


	&lt;p&gt;Har du h&#248;rt den gamle historien om mannen som kom til en byggeplass i oldtidas Egypt? Han s&#229; masse mennesker som dro p&#229; digre steiner, noen sto og dirigerte, og andre satt i skyggen fra et palmetre. Mannen g&#229;r bort til den f&#248;rste slaven han ser, og sp&#248;r &amp;#8220;Hva gj&#248;r du?&amp;#8221;&lt;/p&gt;


&lt;blockquote&gt;
	&lt;p&gt;Er du dum? Ser du ikke at jeg drar p&#229; denne digre steinen?&lt;/p&gt;

&lt;/blockquote&gt;




	&lt;p&gt;Mannen var ikke helt forn&#248;yd, og n&#230;rmet seg en annen slave med samme sp&#248;rsm&#229;l.&lt;/p&gt;


&lt;blockquote&gt;
	&lt;p&gt;Jeg har f&#229;tt beskjed om &#229; flytte denne steinblokken fra den plassen der borte opp p&#229; haugen der.&lt;/p&gt;

&lt;/blockquote&gt;




	&lt;p&gt;Fortsatt ikke helt forn&#248;yd gikk han bort til en tredje mann.&lt;/p&gt;


&lt;blockquote&gt;
	&lt;p&gt;Jeg bygger en pyramide, svarte mannen p&#229; samme sp&#248;rsm&#229;l.&lt;/p&gt;

&lt;/blockquote&gt;




	&lt;p&gt;S&#229; forskjellig kan man alts&#229; beskrive n&#248;yaktig samme aktivitet, og likevel kommunisere helt forskjellige hensikter.&lt;/p&gt;


	&lt;p&gt;Tenk deg at n&#229;r du skal beskrive hva du har brukt timene dine p&#229; (som noen antakelig betaler dyrt fort), at du skal oppsummere hvilken verdi du har levert idag.&lt;/p&gt;


	&lt;p&gt;Istedet for en liste av typen:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Added new checkbox in signup form&lt;/li&gt;
		&lt;li&gt;Refactored authentication logic&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;kan samme aktiviteter oppsummeres som:&lt;/p&gt;


	&lt;p&gt;Made it possible for users to log in with the same username/password that they use in the legacy system.&lt;/p&gt;


	&lt;p&gt;Den siste formuleringen forteller ikke bare hva du har gjort, men hvilken betydning dette har. For kunden som skal bla opp for timene dine vil dette helt sikkert oppleves som mer verdifullt enn en liste med kodeendringer. Samtidig er min opplevelse at denne prosessen gj&#248;r meg mer bevisst p&#229;&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;betydningen av det jeg har gjort&lt;/li&gt;
		&lt;li&gt;retningen prosjektet tar&lt;/li&gt;
		&lt;li&gt;verdien jeg leverer&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Ogs&#229; p&#229; dager da jeg har knotet og ikke klart &#229; levere s&#229; mye kode kan det tenkes at jeg har gjort noe verdifullt, denne prosessen gj&#248;r meg bevisst p&#229; dette. Og skulle det komme en dag da du har levert hundrevis av kodelinjer og likevel ikke klarer &#229; formulere hvilken verdi dette gir, kan det tenkes at du ikke har fokusert p&#229; de riktige tingene.&lt;/p&gt;


	&lt;p&gt;Pr&#248;v det, jeg tror du vil like det!&lt;/p&gt;</content>
    <author>
      <name>Marius M&#229;rnes Mathiesen</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/107</id>
    <published>2009-06-24T11:58:08Z</published>
    <updated>2010-02-10T09:19:53Z</updated>
    <link type="text/html" href="/blogg/2009/6/24/trafikanten-pa-android-noen-ord-fra-utvikleren" rel="alternate"/>
    <title>Trafikanten p&#229; Android: noen ord fra utvikleren</title>
    <content type="html">&lt;p&gt;N&#229; som katta er sluppet ut av sekken og &lt;a href=&quot;http://shortcut.no/blogg/2009/6/24/trafikanten-android&quot;&gt;Trafikanten for Android er sluppet&lt;/a&gt; er det vel p&#229; tide &#229; dele mine erfaringer med utvikling for Android.&lt;/p&gt;&lt;p&gt;Siden jeg skaffet meg en dev phone like f&#248;r jul har jeg i ledige stunder puslet med det n&#230;rmeste jeg kommer et &amp;#8220;Hello World&amp;#8221;-prosjekt: Trafikanten. Jeg tok utgangspunkt i Trafikanten p&#229; iPhone og hadde som m&#229;l &#229; f&#229; noe som ligner s&#229; mye som mulig til &#229; kj&#248;re p&#229; min Android-telefon.&lt;/p&gt;


	&lt;p&gt;F&#248;rst installerte jeg Eclipse, siden Google lager plugins som gj&#248;r Android-utvikling mye enklere enn &#229; gj&#248;re alt for h&#229;nd. Til &#229; begynne med forsto jeg ikke allverden av hva som foregikk under panseret, men fant meg p&#229; sett og vis til rette i Eclipse &amp;#8211; selv om det sammenlignet med XCode er et monster. De helt grunnleggende funksjonene i Eclipse, s&#229; som &#229; skrive tekst, er en merkelig involvert prosess, og det tok ikke lang tid f&#248;r jeg savnet Textmate. Etterhvert har jeg forst&#229;tt at man kan f&#229; til det samme i andre editorer som man gj&#248;r i Eclipse, de aller fleste funksjonene er dekket av verkt&#248;y som f&#248;lger med Android &lt;span class=&quot;caps&quot;&gt;SDK&lt;/span&gt;-et. Neste Android-applikasjon kommer jeg nok til &#229; utvikle i Emacs, og bygge meg en Rakefile som automatiserer bygging, debugging, signering og slikt.&lt;/p&gt;


	&lt;p&gt;Gjensynet med java var ikke den beste delen av opplevelsen, men rammeverkene fra Google er veldig bra. Spesielt er arkitekturen i Android gjennomtenkt og bygget for at man enkelt kan lage mashups som trekker funksjonalitet fra andre applikasjoner p&#229; telefonen. Applikasjoner kan v&#230;re tilbydere (provider) av data overfor andre applikasjoner, som gjennom &lt;span class=&quot;caps&quot;&gt;REST&lt;/span&gt;-baserte URLer f&#229;r tilgang til data fra din applikasjon. Android legger heller ingen begrensninger for hvor dypt ned i operativsystemet man dukker; din applikasjon kan gjerne v&#230;re en erstatning for &lt;span class=&quot;caps&quot;&gt;SMS&lt;/span&gt;-applikasjonen dersom brukeren &#248;nsker &#229; heller bruke din &lt;span class=&quot;caps&quot;&gt;SMS&lt;/span&gt;-applikasjon enn den som f&#248;lger med operativsystemet.&lt;/p&gt;


	&lt;p&gt;Vi ble enige om &#229; distribuere kildekoden til applikasjonen p&#229; Gitorious, og gjorde det ig&#229;r. Det f&#248;ltes da pussig &#229; ikke skulle distribuere applikasjonen ogs&#229;, s&#229; jeg satte meg til og forsket p&#229; hva som skal til for &#229; f&#229; en applikasjon p&#229; &lt;a href=&quot;http://market.android.com/&quot;&gt;Android Market&lt;/a&gt;. Ogs&#229; her har Google valgt en helt annen tiln&#230;rming enn Apple: man generer sitt eget private/public keypair som man bruker til &#229; signere applikasjonen &amp;#8211; det er alts&#229; ingen s&#248;knadsprosess til Google for &#229; bli godkjent som utvikler. Man m&#229; riktignok registrere seg &amp;#8211; noe som koster 25 dollar &amp;#8211; men hele denne prosessen er automatisert.&lt;/p&gt;


	&lt;p&gt;N&#229;r jeg s&#229; hadde laget og signert en versjon av applikasjonen (som tok i underkant av en halvtime, inkludert lesning av dokumentasjon) gikk jeg inn p&#229; Android Market og bladde meg fram til .apk-fila jeg hadde laget og signert. Nettsida ga umiddelbart informasjon om at jeg trengte etpar ekstra tagger i manifest-fila mi (som angir miniumsversjon av &lt;span class=&quot;caps&quot;&gt;SDK&lt;/span&gt;-et), og s&#229; snart dette var rettet fikk jeg beskjed om at applikasjonen n&#229; var publisert.&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;/system/pictures/10/original/AndroidMarket.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;Dette tok meg rett og slett p&#229; senga, jeg hadde regnet med noen dager eller uker med godkjenning f&#248;r appen var tilgjengelig. I morges hadde jeg bestemt meg for &#229; ta appen bort &amp;#8211; siden jeg ikke f&#248;lte den var ferdig enn&#229; &amp;#8211; men kunne se at et femtitalls brukere allerede hadde installert applikasjonen. Jeg la derfor heller inn beskjed om at appen ikke er ferdig, og lovet &#229; komme med oppdateringer.&lt;/p&gt;


	&lt;p&gt;Om du har en Android-telefon skal du kunne scanne denne strekkoden for &#229; installere Trafikanten p&#229; telefonen din:&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;http://chart.apis.google.com/chart?cht=qr&amp;#38;chs=100x100&amp;#38;chl=market://search?q=pname:no.shortcut&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</content>
    <author>
      <name>Marius M&#229;rnes Mathiesen</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/106</id>
    <published>2009-06-24T09:11:12Z</published>
    <updated>2010-01-11T14:52:50Z</updated>
    <link type="text/html" href="/blogg/2009/6/24/trafikanten-android" rel="alternate"/>
    <title>Trafikanten for Android?</title>
    <content type="html">&lt;p&gt;Som en gave, nei, en hyllest til alle Android-entusiaster i Norge har Marius laget en versjon av v&#229;r iPhone-app &lt;a href=&quot;http://products.shortcut.no/trafikanten&quot;&gt;Trafikanten&lt;/a&gt; for Android.&lt;/p&gt;&lt;p&gt;Vi har en Android liggende p&#229; kontoret. Den ser ut som en uformelig gjenstand fra Forsvarets overskuddslager, men den er faktisk helt brukbar. Og spesielt nyttig er den n&#229;r man installerer &lt;em&gt;Trafikanten for Android&lt;/em&gt;.&lt;/p&gt;


	&lt;p&gt;Vi tar gjerne imot bidrag fra utviklere som &#248;nsker &#229; gj&#248;re applikasjonen enda bedre, og derfor har vi lagt den ut som &#229;pen kildekode p&#229; &lt;a href=&quot;http://gitorious.org/trafikanten/trafikanten-android&quot;&gt;Gitorious&lt;/a&gt;. Der kan du lage din egen klone av applikasjonen, gj&#248;re endringer lokalt, og deretter sende inn dine endringer som en merge request.&lt;/p&gt;


	&lt;p&gt;Kanskje ditt bidrag vil gj&#248;re Trafikanten for Android bedre enn Trafikanten for iPhone?&lt;/p&gt;</content>
    <author>
      <name>August Zaitzow Flatby</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/105</id>
    <published>2009-06-18T13:20:33Z</published>
    <updated>2009-06-19T09:23:49Z</updated>
    <link type="text/html" href="/blogg/2009/6/18/gitorious-lopende-designoppgradering" rel="alternate"/>
    <title>Gitorious' l&#248;pende designoppgradering</title>
    <content type="html">&lt;p&gt;Denne uken fikk Gitorious en tilsynelatende helt ny forside. Det er f&#248;rste steg p&#229; veien mot en total ansiktsl&#248;ftning av v&#229;rt &lt;em&gt;open source&lt;/em&gt;-system.&lt;/p&gt;&lt;p&gt;P&#229; Gitorious&amp;#8217; egen blogg kan du lese om hvilke valg vi har tatt, og hvorfor: &lt;a href=&quot;http://blog.gitorious.org/2009/06/18/a-word-from-the-designer/&quot;&gt;A word from the designer&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;Og her kan du se den nye forsiden: &lt;a href=&quot;http://gitorious.org/&quot;&gt;Gitorious.org&lt;/a&gt;&lt;/p&gt;</content>
    <author>
      <name>John Eivind Hall&#233;n</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/103</id>
    <published>2009-05-25T12:17:47Z</published>
    <updated>2009-05-25T13:43:33Z</updated>
    <link type="text/html" href="/blogg/2009/5/25/bidra-ikke-bare-bruke" rel="alternate"/>
    <title>Bidra, ikke bare bruke</title>
    <content type="html">&lt;p&gt;Fri programvare benyttes i &#248;kende grad i offentlig sektor. Men hvordan tenker det offentlige &#229; bidra tilbake?&lt;/p&gt;&lt;p&gt;Regjeringens vedtak om &#248;kt bruk av fri programvare, alts&#229; programvare som leveres med en lisens som tilgjengeliggj&#248;r kildekoden for modifikasjoner og tilpasninger, har f&#248;rt til resultater: Fornyings- og administrasjonsdepartementet &lt;a href=&quot;http://www.regjeringen.no/nb/dep/fad/pressesenter/pressemeldinger/2009/bruk-av-fri-programvare-oker-i-offentlig.html?id=561312&quot;&gt;informerer&lt;/a&gt; om at bruken av fri programvare i offentlig sektor &#248;ker, og at 6 av 10 statlige virksomheter n&#229; benytter fri programvare.&lt;/p&gt;


	&lt;p&gt;For &#229; gj&#248;re fri programvare lett tilgjengelig for offentlig sektor, har Nasjonalt kompetansesenter for fri programvare (Friprogsenteret) etablert &lt;a href=&quot;http://www.delingsbazaren.no&quot;&gt;Delingsbazaren&lt;/a&gt;. Delingsbazaren skal stimulere til &#248;kt synliggj&#248;ring av l&#248;sninger basert p&#229; fri programvare, og da fortrinnsvis programvare som er utviklet med offentlige midler.&lt;/p&gt;


	&lt;p&gt;Delingsbazaren gj&#248;r livet enklere for potensielle brukere av fri programvare. Men Delingsbazaren gj&#248;r det ikke enklere for bidragsytere &#229; bidra med dokumentasjon, kodeendringer, bugfikser, oversettelser og lokale tilpasninger. Og fri programvare er avhengig av massiv deltagelse fra uavhengige bidragsytere for &#229; oppn&#229; kvalitet som kan overg&#229; kommersiell programvare.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Gitorious&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;Utfordringen for initiativtageren i prosjekter med &#229;pen kildekode best&#229;r i &#229; gj&#248;re kildekoden lett tilgjengelig for innsyn og videre bearbeiding, samt &#229; legge til rette for samhandling mellom forskjellige bidragsytere. Shortcut tilbyr en slik l&#248;sning med &lt;a href=&quot;http://www.gitorious.org&quot;&gt;Gitorious&lt;/a&gt;, og p&#229; Gitorious har vi f&#229;tt med oss &lt;a href=&quot;http://qt.gitorious.org&quot;&gt;Qt Software&lt;/a&gt; som p&#229; denne m&#229;ten &#229;pner for bidrag til sine prosjekter fra eksterne bidragsytere.&lt;/p&gt;


	&lt;p&gt;Vi oppfordrer Regjeringen til &#229; ikke bare stimulere til &#248;kt bruk av fri programvare, men ogs&#229; &#229; skape en bedre delingskultur ved &#229; fokusere p&#229; samhandling rundt fri programvare-prosjekter.&lt;/p&gt;</content>
    <author>
      <name>August Zaitzow Flatby</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/101</id>
    <published>2009-05-21T17:54:05Z</published>
    <updated>2009-10-27T14:41:19Z</updated>
    <link type="text/html" href="/blogg/2009/5/21/det-er-bedre-med-ett-program-i-handa-enn-ti-pa-taket" rel="alternate"/>
    <title>Det er bedre med ett program i h&#229;nda, enn ti p&#229; taket</title>
    <content type="html">&lt;p&gt;Et sp&#248;rsm&#229;l vi ofte blir stilt n&#229;r vi jobber med iPhone-programmer er: Hva med alle de som ikke har iPhone? Det er et godt sp&#248;rsm&#229;l. Svaret er at de brukerne n&#229;r vi ikke uansett. De &lt;em&gt;bruker&lt;/em&gt; ikke mobilen sin.&lt;/p&gt;&lt;p&gt;Apples iPhone er bare &#233;n av mange mobile plattformer, og iPhone-brukerne er i et stort mindretall. Hvorfor ikke lage l&#248;sninger som n&#229;r flesteparten?&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Hva med &lt;em&gt;Mobile Java&lt;/em&gt;-applikasjoner som de aller fleste kan installere?&lt;/strong&gt;&lt;br /&gt;
&#8211; Det er veldig f&#229; som faktisk ville gjort det.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Men hva da med &lt;em&gt;Symbian&lt;/em&gt;, &lt;em&gt;Android&lt;/em&gt; eller &lt;em&gt;Windows Mobile&lt;/em&gt;?&lt;/strong&gt;&lt;br /&gt;
&#8211;  Vel, de brukerne er det faktisk enda f&#230;rre av, enn iPhone-brukere.&lt;/p&gt;


	&lt;p&gt;I slutten av mars var jeg p&#229; en konferanse i Berlin. Temaet var kollektivtrafikkinformasjon p&#229; mobile enheter og jeg var der  for &#229; snakke om &lt;a href=&quot;http://products.shortcut.no/trafikanten&quot;&gt;Trafikanten p&#229; iPhone&lt;/a&gt;. Deltagerne var trafikkselskaper fra hele Europa, og de hadde gjort all slags forskjellige tiltak for &#229; n&#229; ut til publikums mobiltelefoner. I dag har jo alle reisende muligheten til &#229; installere applikasjoner, surfe p&#229; wap-sider eller sende og motta &lt;span class=&quot;caps&quot;&gt;SMS&lt;/span&gt;, uansett hvor man befinner seg. S&#229; mulighetene for &#229; f&#229; fortalt n&#229;r bussen kommer er absolutt til stede. Og l&#248;sningene finnes.&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;/system/pictures/6/original/sbb.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;Sveits&#8217; st&#248;rste reiseselskap &lt;a href=&quot;http://sbb.ch/&quot;&gt;&lt;span class=&quot;caps&quot;&gt;SBB&lt;/span&gt;&lt;/a&gt; hadde en veldig interessant plansje p&#229; dette (over). Her ser vi oversikten over de forskjellige teknologiene de har l&#248;sninger for, og bruken av dem. Og noen antagelser om bruk i fremtiden. Vi ser at det er bare et f&#229;tall som har iPhone, mot mengdene som har andre mobiltelefoner med Java-muligheter. Likevel er det flere som laster ned informasjon gjennom deres iPhone-applikasjon. Og deres analyse sier at det er iPhone-bruken som vil vokse, ikke bruken av de andre l&#248;sningene.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Samme visa hver gang&lt;/strong&gt;&lt;br /&gt;
Lignende erfaring hadde alle selskapene som hadde pr&#248;vd seg med &#229; lage egen l&#248;sning for iPhone. Inntil de lanserte p&#229; iPhone hadde de en jevn vekst av brukere. Og de brukerne var forn&#248;yd. Men etter lansering av et iPhone-produkt kunne ikke dataene sammenlignes. iPhone-bruken stod i taket fra dag en, langt, langt over en sms-, eller java-applikasjonsbruk. Og det samme tyder tallene til Trafikanten her i Oslo p&#229;. De popul&#230;re tjenestene &lt;a href=&quot;http://tegelsrud.com/trafikantenjava/&quot;&gt;Trafikanten p&#229; mobilen&lt;/a&gt;, &lt;a href=&quot;http://www.trineseries.com/TIF.aspx&quot;&gt;Trine i Farta&lt;/a&gt; og andre, kan ikke m&#229;le seg med bruken av iPhone-applikasjonen.&lt;/p&gt;


	&lt;p&gt;Ser vi p&#229; datatrafikken generelt er jo iPhone i en s&#230;rklasse blant mobilene. Digi.no kalte iPhone for &lt;a href=&quot;http://www.digi.no/808036/iphone-blir-operatorenes-nye-melkeku&quot;&gt;operat&#248;renes nye melkeku&lt;/a&gt;. Flickr opplever at det &lt;a href=&quot;http://ipod1.no/artikkel/2666/iphone-er-den-mest-brukte-kameratelefonen&quot;&gt;mobilkameraet som laster opp flest bilder er iPhone&lt;/a&gt;. De norske 1881-iPhone-tilpassede sidene viser til at &lt;a href=&quot;http://blog.fatguy.no/article/194-1881-for-iPhone-et-halvt-r-senere-En-kjempesuksess&quot;&gt;&#190; av deres mobilbrukere gj&#248;r s&#248;k p&#229; iPhone&lt;/a&gt;. P&#229; vanlig nettsurfing er det jo etterhvert ganske kjent at &lt;a href=&quot;http://jkontherun.com/2009/03/02/net-applications-mobile-browsing-statistics-iphone-66-share/&quot;&gt;iPhone er overlegen.&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;La meg n&#229; minne oss p&#229; at det faktisk ikke er s&#229; mange som har iPhone. De bare bruker den mer. Mye mer. Derfor disse utslagene i statistikken. Hvorfor er det slik? Hva er s&#229; spesielt med iPhone, eller eierne av den? Det skal jeg ikke gi et fyldig svar p&#229; n&#229;. Jeg vil bare p&#229;peke at  den er veldig lett &#229; bruke og at programmene ser elegante og fine ut.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Konklusjon&lt;/strong&gt;&lt;br /&gt;
Min konklusjon blir derfor dette: &#216;nsker du &#229; treffe &lt;em&gt;mennesker&lt;/em&gt;, er iPhone svaret. &#216;nsker du &#229; treffe flest mulig &lt;em&gt;gadgets&lt;/em&gt;, kan kanskje en Java-applikasjon v&#230;re en l&#248;sning? Bare vit at det du lager ikke vil bli brukt. Noe en samtale med kj&#230;resten min bekreftet nylig. Hun misunner meg Trafikanten-applikasjonen stadig vekk, selv om hun har en Sony Ericsson hvor hun kan installere noe tilsvarende. Men det kommer hun aldri til &#229; gj&#248;re, det blir for vanskelig. Uansett hva som blir laget for hennes telefon, kommer hun aldri til &#229; f&#229; sett det.&lt;/p&gt;</content>
    <author>
      <name>John Eivind Hall&#233;n</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/100</id>
    <published>2009-05-18T14:36:04Z</published>
    <updated>2009-07-28T00:02:59Z</updated>
    <link type="text/html" href="/blogg/2009/5/18/hvordan-musikkhoyskolen-larte-meg-a-unnga-knuste-vinduer" rel="alternate"/>
    <title>Hvordan musikkh&#248;yskolen l&#230;rte meg &#229; unng&#229; knuste vinduer</title>
    <content type="html">&lt;p&gt;Jeg har f&#248;ttene mine godt plantet innenfor mange ulike grener. Grenene jeg bruker mest tid p&#229; er programmering og musikk. N&#229;r man driver med to helt forskjellige ting til samme tid, er det alltid g&#248;y &#229; oppdage fellesnevnere.&lt;/p&gt;


	&lt;p&gt;Dette er historien om hvordan musikkh&#248;yskolel&#230;rdom gjorde meg til en bedre programmerer.&lt;/p&gt;&lt;p&gt;Noe av det mest krevende som pianiststudent p&#229; &lt;a href=&quot;http://nmh.no/&quot;&gt;&lt;span class=&quot;caps&quot;&gt;NMH&lt;/span&gt;&lt;/a&gt; var innstuderingen. Man skulle tro at fingergymnastikken var det vanskeligste. Likevel, den mentale utholdenheten man trengte for &#229; l&#230;re seg side etter side fulle av noter var av en annen verden, og noe av det mest krevende jeg ble utsatt for i l&#248;pet av min tid som pianostudent. &#197; spille raske l&#248;p opp og ned tangentene ble mer som en joggetur. Overkommelig og enkelt &#229; forholde seg til. &#197; l&#230;re seg sytten sider med en betraktelig h&#248;yere prosent av blekk enn hvitt papir, derimot.. Usj.&lt;/p&gt;


	&lt;p&gt;Dette f&#248;rte til at man ble n&#248;dt til &#229; finne effektive inn&#248;vingsmetoder. Vi stod heldigvis ikke p&#229; bar bakke; innstudering var et eget fag, hvor jeg og resten av pianostudentene i mitt kull m&#248;tte opp i klasserommet for ukentlige lektyrer i notelesing og memorisering. Dette var likevel ganske generell l&#230;rdom vi fikk i disse timene, og det ble dermed opp til den enkelte av oss &#229; finne ut hva som passet best for v&#229;re individuelle vaner, &#248;nsker og behov.&lt;/p&gt;


	&lt;p&gt;Etter noen m&#229;neder, klok av skade, fant jeg frem til en metode som viste seg &#229; forbli den mest effektive av dem alle. Den gikk som f&#248;lger:&lt;/p&gt;


	&lt;ol&gt;
	&lt;li&gt;L&#230;r hele stykket godt nok til &#229; kunne spilles gjennom uten nevneverdige kriser.&lt;/li&gt;
		&lt;li&gt;Legg det bort i to-tre dager, &#248;v p&#229; noe annet i dette tidsrommet.&lt;/li&gt;
		&lt;li&gt;Plukk opp stykket igjen, spill det like godt som det ble spilt i steg en.&lt;/li&gt;
	&lt;/ol&gt;


	&lt;p&gt;Det interessante er at det var ikke steg to i seg selv, alts&#229; ventingen, som utgjorde noen forskjell. Magien l&#229; i vissheten om at jeg skulle ha en pause i noen dager (steg to) for &#229; s&#229; kunne spille det like godt igjen noen dager senere (steg tre). Det f&#248;rte til at jeg jobbet mye mer fokusert og grundig i steg en, og passet n&#248;ye p&#229; at alle fraser og l&#248;p og akkorder og fortendeler ble inn&#248;vd godt nok til &#229; t&#229;le disse to-tre dagene med tid borte fra stykket.&lt;/p&gt;


	&lt;p&gt;Jeg har nylig oppdaget en sammenheng mellom denne innstuderingsteknikken og programmering.&lt;/p&gt;


	&lt;p&gt;En programmerer mener stort sett ekslusivt en av disse to tingene:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;strong&gt;Programmerer A&lt;/strong&gt;: Det er lurt &#229; noen ganger starte et prosjekt helt p&#229; nytt, og fjerne all koden man allerede har, slik at man kan begynne med blanke ark. Da kan man ta i bruk de nyeste teknologiene, bli kvitt d&#229;rlig og gammel kode, gj&#248;re endringer i det grunnleggende rammeverket i koden o.l.&lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;Programmerer B&lt;/strong&gt;: Det er lurt &#229; &lt;em&gt;aldri&lt;/em&gt; starte et prosjekt helt p&#229; nytt, men heller kontinuerlig oppdatere kodebasen og holde den i god stand. Da kan man ogs&#229; lett ta i bruk nye teknologier, oppdatere gammel kode og gj&#248;re endringer i det grunnleggende rammeverket i koden, akkurat som n&#229;r man kaster alt starter helt p&#229; nytt, fordi man har en s&#229;pass solid og fleksibel kodebase.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;L&#230;rdommen fra musikkh&#248;yskolen f&#248;rer til at jeg holder med &lt;em&gt;Programmerer B&lt;/em&gt;.&lt;/p&gt;


	&lt;p&gt;Hvis man som &lt;em&gt;Programmerer A&lt;/em&gt; vet at man om et &#229;r eller to kommer til &#229; kaste all koden man har, og starte helt p&#229; nytt, kan det f&#248;re til at man ikke bryr seg s&#229; mye om kvaliteten p&#229; koden man skriver &#8212; den skal jo uansett kastes en eller annen gang i fremtiden.&lt;/p&gt;


	&lt;p&gt;Hvis man derimot er &lt;em&gt;Programmerer B&lt;/em&gt;, og vet at man gifter seg med all koden man skriver, og aldri kommer til &#229; starte p&#229; nytt, men blir n&#248;dt til &#229; forholde seg til den samme kodebasen hele tiden, kan det f&#248;re til at man bryr seg mer om kvaliteten p&#229; koden man skriver &#8212; man skal jo tross alt leve med den en stund.&lt;/p&gt;


	&lt;p&gt;P&#229; samme m&#229;te som vissheten om fremtidige kvaler viste seg &#229; fungere godt n&#229;r jeg innstuderte pianostykker, fungerer vissheten om at man skal leve med koden man skriver i all fremtid p&#229; samme m&#229;te. Det f&#248;rer til at man jobber grundigere i n&#229;tiden, slik at man forenkler sin egen fremtid.&lt;/p&gt;


	&lt;p&gt;Dette ber&#248;rer ogs&#229; &lt;a href=&quot;http://www.artima.com/intv/fixit.html&quot;&gt;Broken Window-teorien&lt;/a&gt; (derav artikkelbildet). Den sier at det er betydelig forskjell p&#229; &#229; ikke ha noen knuste vinduer i et hus, og &#229; ha &lt;em&gt;ett&lt;/em&gt; knust vindu. Ett knust vindu f&#248;rer fort til flere knuste vinduer, og da man har lett for &#229; bli fors&#248;mmelig og tenke &#171;ja, ja, det er jo allerede et knust vindu her, et til kan da ikke gj&#248;re noen stor skade&#187;. S&#229; baller det p&#229; seg.&lt;/p&gt;


	&lt;p&gt;&#197; vite at man i fremtiden kommer til &#229; kaste all koden man har, er i seg selv et &#171;broken window&#187;. Akkurat som med knuste vinduer, tenker man &#171;Ja, ja, koden skal jo kastes uansett, s&#229; litt d&#229;rlig kode akkurat bare her kan da ikke gj&#248;re noen stor skade&#187;.&lt;/p&gt;


	&lt;p&gt;Noen ganger er det likevel best &#229; kaste alt man har og begynne p&#229; nytt. Hva man skal velge, er situasjonsbetinget. Jeg er likevel sikker p&#229; p&#229; at det er usunt &#229; som en &lt;em&gt;standard&lt;/em&gt; skulle starte p&#229; nytt, da det kan f&#248;re til late programmerere. La det heller v&#230;re unntaket &#229; starte p&#229; nytt.&lt;/p&gt;</content>
    <author>
      <name>August Lilleaas</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/99</id>
    <published>2009-05-12T09:11:12Z</published>
    <updated>2009-05-12T13:15:53Z</updated>
    <link type="text/html" href="/blogg/2009/5/12/gitorious-org-er-na-et-shortcut-prosjekt" rel="alternate"/>
    <title>Gitorious.org er n&#229; et Shortcut-prosjekt</title>
    <content type="html">&lt;p&gt;Gitorious.org ble startet som et nettsted for open source-prosjekter i 2007 av Johan. Etter at Johan S&#248;rensen &amp;#8211; som var med &#229; starte Shortcut &amp;#8211; har brukt fritiden sin p&#229; Gitorious er Gitorious n&#229; et Shortcut-prosjekt. L&#248;rdag fikk Gitorious en rekke nye features, og mandag startet Qt Software, tidligere Trolltech, publisering av sin kildekode p&#229; Gitorious.org.&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;http://www.shortcut.no/system/pictures/2/original/Gitouriuous-kloss-6.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;Johan har allerede blogget om &amp;#8220;endringene i Gitorious p&#229; Gitorious-bloggen&amp;#8221;, og &lt;a href=&quot;http://blog.gitorious.org/2009/05/09/weve-made-a-few-changes/&quot;&gt;skrev ig&#229;r om at Qt Software legger ut kildekoden sin p&#229; Gitorious.org&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;Trolltech ble kj&#248;pt opp av Nokia ifjor. Deretter annonserte de at Qt ville bli tilgjengelig under &lt;a href=&quot;http://www.gnu.org/licenses/lgpl.html&quot;&gt;&lt;span class=&quot;caps&quot;&gt;GNU&lt;/span&gt; Lesser Public License&lt;/a&gt; &amp;#8211; som inneb&#230;rer at programvare som linker til Qt ikke trenger &#229; lisensieres med samme lisens som Qt selv. Qt Software annonserte ogs&#229; at de ville &#229;pne for at eksterne utviklere kunne gi bidrag til Qt, noe som alts&#229; ble mulig fra og med ig&#229;r.&lt;/p&gt;


	&lt;p&gt;Fra og med ig&#229;r ble det alts&#229; mulig &#229; komme med bidrag til kildekoden til Qt, og det tok ikke mange minuttene f&#248;r de f&#248;rste bidragene kom inn. Mens jeg skriver dette er det kommet inn &lt;a href=&quot;http://qt.gitorious.org/qt/qt/merge_requests&quot;&gt;13 bidrag til Qt p&#229; Gitorious&lt;/a&gt;, og det under ett d&#248;gn etter at kildekoden ble lagt ut. Vi har de siste m&#229;nedene jobbet sammen med Nokia Norge for &#229; f&#229; p&#229; plass en l&#248;sning som b&#229;de er enkel for de som gir bidrag og sikrer de juridiske kravene rundt slike bidrag. The Register &lt;a href=&quot;http://www.theregister.co.uk/2009/05/11/qt_open_repository/&quot;&gt;skriver om hvordan Nokia dropper papirarbeidet rundt bidrag til Qt&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;Selv om Gitorious selv fortsatt er 100% fri programvare, og kan installeres p&#229; din egen server, tilbyr Shortcut n&#229; profesjonell hosting av Gitorious for selskaper som &#248;nsker en tilpasset og overv&#229;ket Gitorious-installasjon for sine fri programvareprosjekter. I den forbindelsen har vi oppgradert infrastrukturen Gitorious ligger p&#229;, slik at Gitorious kan ta unna de trafikkmengdene slike kunder medf&#248;rer. Vi kommer med mer informasjon om dette tilbudet snart.&lt;/p&gt;


	&lt;p&gt;Gitorious har &lt;a href=&quot;http://groups.google.com/group/gitorious/&quot;&gt;en mailingliste&lt;/a&gt;, &lt;a href=&quot;http://blog.gitorious.org/&quot;&gt;en blogg&lt;/a&gt; og en &lt;span class=&quot;caps&quot;&gt;IRC&lt;/span&gt;-kanal (#gitorious p&#229; freenode). Du kan ogs&#229; &lt;a href=&quot;http://gitorious.org/gitorious&quot;&gt;laste ned kildekoden til Gitorious&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;Noen omtaler av relanseringen Gitorious:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://labs.trolltech.com/blogs/2009/05/11/qt-public-repository-launched/&quot;&gt;Trolltech labs&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;http://dot.kde.org/2009/05/11/qt-now-open-community-contributions&quot;&gt;&lt;span class=&quot;caps&quot;&gt;KDE&lt;/span&gt; News&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;http://aseigo.blogspot.com/2009/05/qt-development-opens-up.html&quot;&gt;Aaron Seigo&amp;#8217;s blogg&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;http://blog.inspired.no/gitorious-free-open-source-git-project-hosting-646&quot;&gt;Espen Antonsen om Gitorious&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;http://search.twitter.com/search?q=gitorious&quot;&gt;Omtale av Gitorious p&#229; Twitter&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Vi gratulerer Nokia Norge med en vellykket lansering, og f&#248;lger spent med p&#229; bidragene som kommer til Qt framover.&lt;/p&gt;</content>
    <author>
      <name>Marius M&#229;rnes Mathiesen</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/98</id>
    <published>2009-04-26T12:17:16Z</published>
    <updated>2009-05-09T08:58:38Z</updated>
    <link type="text/html" href="/blogg/2009/4/26/skjorte-av-silke-bukse-av-lar" rel="alternate"/>
    <title>Skjorte av silke. Bukse av l&#230;r.</title>
    <content type="html">&lt;p&gt;Vi har lagt merke til at flere nettsteder n&#229; &#248;nsker &#229; tilby avgrensede omr&#229;der som man kun f&#229;r tilgang til mot betaling.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.prove.no/&quot;&gt;Pr&#248;ve.no&lt;/a&gt; er ett nettsted som tilbyr teoripr&#248;ver for folk som skal ta lappen. Nettstedet &#248;nsket &#229; finne inntektsstr&#248;mmer som kunne supplere det dalende annonsemarkedet. Dermed ble det bestemt at man skulle begynne &#229; ta betalt for noen av teoripr&#248;vene, og Shortcut ble forespurt om vi kunne tilby en betalingsl&#248;sning som gjorde dette s&#229; enkelt som overhodet mulig for sluttbrukere.&lt;/p&gt;


	&lt;p&gt;Tradisjonelt har man benyttet kredittkort for betaling for innhold p&#229; web, og det er forst&#229;elig, da kredittkorttransaksjoner er relativt billig (kredittkortselskapene tar fra 3-5% gebyr) og det er teknisk sett enkelt &#229; komme i gang med kredittkortbetaling, f.eks. ved &#229; benytte ActiveMerchant.&lt;/p&gt;


	&lt;p&gt;Problemet er at brukere ikke velvillig benytter kredittkort til betaling av sm&#229;bel&#248;p. Derimot viser det seg at brukere er langt mer velvillige til &#229; benytte mobiltelefonen til &#229; foreta slike betalinger via &lt;span class=&quot;caps&quot;&gt;SMS&lt;/span&gt;.&lt;/p&gt;


	&lt;p&gt;Etter at vi kj&#248;pte mobilselskapet Apparat har vi begynt &#229; tilby en slik betalingsl&#248;sning p&#229; v&#229;rt kortnummer 2210. L&#248;sningen er i utgangspunktet generisk, der sluttbrukere sender en &lt;span class=&quot;caps&quot;&gt;SMS&lt;/span&gt; til 2210 med kodeord &lt;span class=&quot;caps&quot;&gt;KONTANT X&lt;/span&gt; for &#229; motta en kode p&#229;lydende X kroner. Koden kan s&#229; benyttes til &#229; kj&#248;pe tilgang til lukkede omr&#229;der p&#229; nettsteder. Nettsteder kan kj&#248;pe sitt eget kodeord &amp;#8212;Pr&#248;ve.no har for eksempel kodordet PR&#216;VE.&lt;/p&gt;


	&lt;blockquote&gt;
		&lt;p&gt;&lt;i&gt;Etter avgj&#248;relsen om at vi skulle ta betalt for deler av v&#229;r tjeneste ble tatt, tok det ikke lang tid &#229; implementere Apparats Kontant-tjeneste. Allerede neste arbeidsdag hadde vi en fungerende betalingstjeneste p&#229; v&#229;re nettsider. Responsen fra v&#229;re brukere var umiddelbart positiv. Apparats APIer er sv&#230;rt enkle &#229; jobbe med, og kan anbefales til alle.&lt;/i&gt;&lt;/p&gt;
	&lt;/blockquote&gt;


	&lt;blockquote&gt;
		&lt;p&gt;Vegard Andreas Larsen
Utviklingssjef for Pr&#248;ve.no&lt;/p&gt;
	&lt;/blockquote&gt;


	&lt;p&gt;&lt;span class=&quot;caps&quot;&gt;SMS&lt;/span&gt; har med andre ord ikke avg&#229;tt med d&#248;den enn&#229;, og markerer seg n&#229; som en viktig alternativ inntektskilde for nettsteder som tradisjonelt livn&#230;rer seg av annonsesalg.&lt;/p&gt;</content>
    <author>
      <name>August Zaitzow Flatby</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/97</id>
    <published>2009-03-25T08:52:28Z</published>
    <updated>2009-03-25T09:00:35Z</updated>
    <link type="text/html" href="/blogg/2009/3/25/10-ting-jeg-digger-med-android" rel="alternate"/>
    <title>10 ting jeg digger med Android</title>
    <content type="html">&lt;p&gt;Jeg skaffet meg nylig en &lt;a href=&quot;http://developer.android.com/guide/developing/device.html#dev-phone-1&quot;&gt;Android Dev Phone&lt;/a&gt;, en mobiltelefon for utviklere med Googles frie operativsystem Android. Etter noen dagers bruk kan erfaringene mine oppsummeres med to lister.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;10 ting jeg digger med Android&lt;/strong&gt;&lt;/p&gt;


	&lt;ol&gt;
	&lt;li&gt;&lt;a href=&quot;http://booksearch.blogspot.com/2008/11/search-physical-books-with-android.html&quot;&gt;Barcode-scanneren&lt;/a&gt;. Android kan scanne strekkoder med det innebygde kameraet. S&#229; snart du har en strekkode i fokus gjenkjenner Android denne. Hvis det er strekkoden til en bok du har scannet kan du bruke Googles book search for &#229; s&#248;ke i innholdet i boka. Hvis det er et annet produkt kan du s&#248;ke etter anmeldelser og priser for produktet.&lt;/li&gt;
		&lt;li&gt;Applikasjonene avsluttes ikke n&#229;r du lukker dem. Istedet s&#248;rger operativsystemet for &#229; holde oppe de sist brukte applikasjonene. Dette betyr for eksempel at du kan varsles om nye meldinger p&#229; Twitter selv om du i &#248;yeblikket bruker et annet program.&lt;/li&gt;
		&lt;li&gt;Veldig, veldig kjapp. Overraskende nok er denne telefonen &lt;strong&gt;mye&lt;/strong&gt; raskere enn iPhone. Fra du &#229;pner meldings-programmet til du kan begynne &#229; skrive en &lt;span class=&quot;caps&quot;&gt;SMS&lt;/span&gt; g&#229;r det noen ca ett sekund; etter &#229; ha brukt iPhone i et &#229;r er dette en overraskende opplevelse.&lt;/li&gt;
		&lt;li&gt;Veldig enkelt &#229; komme igang. N&#229;r du skrur p&#229; telefonen blir du bedt om &#229; oppgi brukernavn og passord til Google-kontoen din eller &#229; opprette en ny. Telefonen henter da inn kontaktene dine, mailen din og kalenderen din p&#229; et minutts tid. Du trenger ikke manuelt synkronisere med Google, det skjer automatisk.&lt;/li&gt;
		&lt;li&gt;Bra, integrert brukeropplevelse. Der det &#229; bruke kameraet fra en applikasjon p&#229; iPhone overlater kontrollen til den brukeropplevelsen Apple har diktert, virker det som Android gir utvikleren st&#248;rre frihet til &#229; tilpasse brukeropplevelsen. N&#229;r strekkodeleseren starter kameraet vises en strek i midten av bildet, og kameraet trenger ikke utl&#248;ses for &#229; gjenkjenne en strekkode. S&#229; snart det er en strekkode i fokus gir telefonen fra seg et pip (omtrent samme lyd som i kassa p&#229; Rimi) og sl&#229;r opp hva strekkoden er.&lt;/li&gt;
		&lt;li&gt;Frihet: med Android kan jeg studere og endre kildekoden, se p&#229; filsystemet, laste opp eget operativsystem. Istedet for &#229; lese &lt;span class=&quot;caps&quot;&gt;API&lt;/span&gt;-dokumentasjon kan jeg se p&#229; kildekoden Google selv bruker i de innebygde applikasjonene p&#229; telefonen, inkludert telefonapplikasjonen. Uten at jeg har utviklet noen Androidprogrammer selv vet jeg at p&#229; jeg s&#229; snart jeg gj&#248;r det kommer til &#229; m&#248;te utfordringer jeg ikke klarer l&#248;se p&#229; bakgrunn av dokumentasjonen som er tilgjengelig. Ved &#229; studere kildekoden kan jeg finne ut hvordan noe er &lt;strong&gt;implementert&lt;/strong&gt;, f&#229; vite om det er en bug i programmet og i s&#229; fall rette den. &lt;/li&gt;
		&lt;li&gt;Nettverksforbindelsene virker robuste. Det er for eksempel ikke noe problem &#229; chatte mens man er p&#229; bussen&lt;/li&gt;
		&lt;li&gt;Intuitivt hvordan man bruker telefonen. Her har Google &amp;#8220;stj&#229;let&amp;#8221; mye fra iPhone; som vant iPhonebruker er min f&#248;rste impuls n&#229;r jeg skal gj&#248;re noe &#229; gj&#248;re det p&#229; samme m&#229;te som jeg er vant til fra iPhone. Min erfaring er at dette som regel er akkurat slik det skal fungere.&lt;/li&gt;
		&lt;li&gt;Tilbake-knappen som tar deg tilbake p&#229; tvers av programmer. Om man klikker p&#229; en link i Twitterklienten kan man trykke tilbake-knappen for &#229; komme tilbake til Twitterklienten fra nettleseren. Jeg vet at Apple-fans vil forsvare Apples valg av bare en knapp p&#229; telefonen sin til de g&#229;r i grava, jeg tilh&#248;rer de som synes det er praktisk med to knapper (og et hjul) p&#229; musa og dedikerte knapper der det gir mening med dedikerte knapper. Tilbake-knappen gir mening, og det &#229; ha en ring- og legg p&#229;-knapp gir ogs&#229; mening p&#229; en telefon.&lt;/li&gt;
		&lt;li&gt;Programmer kan bruke funksjonalitet som ligger i andre programmer. Om ett program gir Twitter-funksjonalitet kan et annet program bruke denne funksjonaliteten uten &#229; sende brukeren inn i dette programmet.&lt;/li&gt;
	&lt;/ol&gt;


	&lt;p&gt;&lt;strong&gt;10 ting jeg ikke liker med Android&lt;/strong&gt;&lt;/p&gt;


	&lt;ol&gt;
	&lt;li&gt;Hardwaren f&#248;les billig. Ettersom Android er et operativsystem er dette egentlig ikke kritkk av Android, men telefonen jeg har &amp;#8211; som er produsert av &lt;span class=&quot;caps&quot;&gt;HTC&lt;/span&gt; &amp;#8211; har en distinkt plastikkf&#248;lelse. Den knirker litt, jeg har ikke lyst &#229; miste den i gulvet og knappene virker litt billige. Forh&#229;pentligvis vil andre produsenter lage Android-baserte telefoner som ikke virker like billige.&lt;/li&gt;
		&lt;li&gt;D&#229;rlig batteritid. Det skal nok godt gj&#248;res &#229; f&#229; s&#230;rlig mer enn 24 timers vanlig bruk ut av telefonen. &lt;span class=&quot;caps&quot;&gt;GPS&lt;/span&gt; og 3G suger batteri.&lt;/li&gt;
		&lt;li&gt;Litt kl&#248;nete &#229; sette opp. I oppsettprosessen da telefonen skal hente kontakter og kalender kan man for eksempel ikke sette opp Wifi f&#248;rst. Om 3G-oppsettet som f&#248;lger med telefonen ikke er riktig (det f&#248;lger ikke med 3G-innstillinger for norske operat&#248;rer) betyr dette at man m&#229; inn og sette opp &lt;span class=&quot;caps&quot;&gt;APN&lt;/span&gt;-innstillinger f&#248;r man f&#229;r brukt telefonen.&lt;/li&gt;
		&lt;li&gt;Menyer og navigering. Android har alle programmene i en &amp;#8220;mappe&amp;#8221; som etterhvert blir ganske lang. Mange handlinger er skjult i en meny som man m&#229; klikke p&#229; Menu-knappen for &#229; &#229;pne. Her ligger iPhone langt foran, og riktigheten av Apples valg om ikke &#229; ha menyer blir tydelig.&lt;/li&gt;
		&lt;li&gt;Lyder/varsler: med standardoppsettet p&#229; telefonen h&#248;rer jeg ikke meldingsvarselet. &lt;/li&gt;
		&lt;li&gt;Mangler norske tegn p&#229; tastaturet, m&#229; &amp;#8211; som p&#229; iPhone &amp;#8211; holde inne a en stund for &#229; skrive en &amp;#8220;&#230;&amp;#8221; eller &amp;#8220;&#229;&amp;#8221; &lt;/li&gt;
		&lt;li&gt;Nettleseren er ikke like enkel &#229; bruke som mobile Safari, man kan for eksempel ikke dobbelklikke p&#229; et avsnitt og zoome inn til riktig zoomniv&#229;. &lt;/li&gt;
		&lt;li&gt;&lt;span class=&quot;caps&quot;&gt;GPS&lt;/span&gt;-en er, som p&#229; iPhone, ikke helt p&#229;litelig. Jeg vet ikke om dette er et utslag av at &lt;span class=&quot;caps&quot;&gt;HTC&lt;/span&gt; har spart p&#229; komponentene i telefonen eller om det er programvaren som har feil.&lt;/li&gt;
		&lt;li&gt;Har ikke &lt;a href=&quot;http://products.shortcut.no/trafikanten&quot;&gt;Trafikanten&lt;/a&gt; p&#229; Android-telefonen enn&#229;. Dette h&#248;res ut som selvskryt, men jeg har de siste dagene blitt klar over hvor avhengig jeg har blitt av &#229; kunne hente opp sanntidsdata fra Trafikanten p&#229; iPhone. &lt;/li&gt;
		&lt;li&gt;Telefonen er ikke til salgs i Norge enn&#229;. Jeg mener Android er det nest beste operativsystemet for mobiltelefoner jeg har brukt, og tror det vil bli veldig popul&#230;rt s&#229; snart det er mulig &#229; f&#229; kj&#248;pt Android-baserte telefoner i Norge.&lt;/li&gt;
	&lt;/ol&gt;</content>
    <author>
      <name>Marius M&#229;rnes Mathiesen</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/96</id>
    <published>2009-03-15T07:55:14Z</published>
    <updated>2009-03-16T11:49:56Z</updated>
    <link type="text/html" href="/blogg/2009/3/15/det-var-en-kul-dings" rel="alternate"/>
    <title>D&#233;t var en kul dings!</title>
    <content type="html">&lt;p&gt;Svenske Yubico har laget en liten dings som kanskje kan erstatte disse &amp;#8220;kalkulatorene&amp;#8221; nettbanker og andre f&#229;r oss til &#229; g&#229; med.&lt;/p&gt;&lt;p&gt;For noen &#229;r siden trodde mange at vi i framtida kom til &#229; bruke smart-chips koblet til PCen n&#229;r vi skulle signere dokumenter og betale regninger p&#229; nett. Identiteten din, i form av et digitalt sertifikat, p&#229; en liten chip du fikk tilgang til fra PC-en din.&lt;/p&gt;


	&lt;p&gt;Det &amp;#8220;alle&amp;#8221; var sikre p&#229; ville v&#230;re den st&#248;rste utfordringen &amp;#8211; nemlig &#229; etablere rutiner, akt&#248;rer og distribusjon rundt elektronisk ID &amp;#8211; er idag langt p&#229; vei l&#248;st n&#229;r Bank-ID n&#229; er tatt i bruk av de fleste bankene. Likevel m&#229; vi fortsatt fram med kodekalkulatoren fra 90- tallet, skrapelodd med engangskoder eller &lt;span class=&quot;caps&quot;&gt;SMS&lt;/span&gt; n&#229;r vi skal betale regninger i nettbanken. Hvorfor?&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;http://support.novell.com/techcenter/articles/img/ana2000080207.gif&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;Det store problemet med smartkortlesere er at kundene til en gjennomsnittlig bank bruker forskjellige operativsystemer og nettlesere, og forskjellige versjoner av dem. Den eneste akt&#248;ren jeg vet om tilbyr autentisering med Smartkortleser p&#229; PCen i Norge er Buypass, &lt;del&gt;og deres l&#248;sning fungerer bare i Windows, bare med Internet Explorer. Buypass kan muligens velge &#229; ikke ha noe &#229; tilby de resterende 20 prosent av sine potensielle kundene sine, dette er nok langt vanskeligere for DnB &lt;span class=&quot;caps&quot;&gt;NOR&lt;/span&gt;.&lt;/del&gt;&lt;/p&gt;


	&lt;p&gt;N&#229;r ingen i 2009 har levert en robust, kryssplattform smartkort-teknologi, tror jeg vi kan regne med at det ikke er smartkort vi kommer til &#229; bruke for slike tjenestene noen gang de neste ti &#229;rene.&lt;/p&gt;


	&lt;p&gt;Svenske &lt;a href=&quot;http://yubico.com/&quot;&gt;Yubico&lt;/a&gt;, derimot, har laget en dings som skal fungere p&#229; alle PCer (eller Mac eller netbook eller hva det n&#229; skulle v&#230;re) som lar deg plugge inn et &lt;span class=&quot;caps&quot;&gt;USB&lt;/span&gt;-tastatur. Den lille dingsen deres hekter du fast i n&#248;kkelknippet (noe ingen av disse skrapelodd/kodekalkulatorene kan), plugger den inn i &lt;span class=&quot;caps&quot;&gt;USB&lt;/span&gt;-pluggen p&#229; PC-en din og trykker p&#229; n&#229;r du trenger et passord.&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;http://yubico.com/img/yubikey_start.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;Ettersom Yubikey er et tastatur skriver det &amp;#8211; akkurat som et tastatur &amp;#8211; ut en serie tegn n&#229;r man trykker p&#229; den. Vanligvis klikker man seg inn i innloggingsfeltet p&#229; en nettside og trykker s&#229; p&#229; Yubikey-en sin. Den skriver da ut 20-30 tegn som inneholder en identifikasjon av deg (strengt tatt seg selv) pluss et engangspassord. Serveren som &#248;nsker &#229; autentisere deg sender dette inn til Yubicos servere, som forteller bekrefter at koden faktisk stammer fra Yubikey-en. Som kodekalkulatoren til nettbankene er engangspassordet bare gyldig en liten stund.&lt;/p&gt;


	&lt;p&gt;Dette i seg selv betyr jo at dersom noen stjeler Yubicoen din kan de logge seg inn p&#229; tjenester som bruker Yubico. Dersom man &#248;nsker seg et ekstra niv&#229; av sikkerhet legger man p&#229; et ekstra passord som du m&#229; taste inn, for &#229; sikre seg mot dette.&lt;/p&gt;


	&lt;p&gt;Yubico har et &lt;span class=&quot;caps&quot;&gt;API&lt;/span&gt; med kodeeksempler i de fleste relevante spr&#229;k (&lt;a href=&quot;http://code.google.com/p/ruby-yubico/&quot;&gt;Ruby inkludert&lt;/a&gt;) og SDKet deres er open source. Hver Yubikey koster fra 25 dollar og nedover (10 dollar hvis du kj&#248;per mer enn 5.000).&lt;/p&gt;


	&lt;p&gt;Hvem var det som sa at man ikke kunne kombinere sikkerhet og brukervennlighet?&lt;/p&gt;</content>
    <author>
      <name>Marius M&#229;rnes Mathiesen</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/95</id>
    <published>2009-02-18T14:09:20Z</published>
    <updated>2010-02-19T10:04:11Z</updated>
    <link type="text/html" href="/blogg/2009/2/18/hvordan-estimere-et-iphone-prosjekt" rel="alternate"/>
    <title>Hvordan estimere et iPhone-prosjekt?</title>
    <content type="html">&lt;p&gt;Vi fikk en mail fra noen studenter som skal gj&#248;re en oppgave om tilpasning av et nettsted for iPhone idag. Dette sp&#248;rsm&#229;let fikk oss til &#229; tenke gjennom hvorfor det er s&#229;pass vanskelig &#229; gi et estimat p&#229; hva noe slikt vil koste, derfor legger vi ut svaret vi ga her.&lt;/p&gt;&lt;p&gt;&lt;em&gt;Sp&#248;rsm&#229;let studentene stilte var i hovedtrekk hva det vil koste &#229; lage en iPhone nettbutikk. Nettsiden skal v&#230;re tilpasset iPhone, men slik vi forsto det er det snakk om &#229; tilpasse en eksisterende nettbutikk til iPhone. Her er svaret vi ga:&lt;/em&gt;&lt;/p&gt;


	&lt;p&gt;Dessverre er det nok ikke mulig &#229; gi et seri&#248;st svar p&#229; sp&#248;rsm&#229;let deres uten &#229; g&#229; noks&#229; dypt inn i problemstillingen. Men jeg kan si noe om hvordan vi vurderer omfanget av et slikt prosjekt, og litt om hva de forskjellige oppgavene best&#229;r i:&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Funksjonalitet&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;De f&#230;rreste vil ha r&#229;d til &#229; utvikle en nettbutikkl&#248;sning fra bunnen av, men m&#229;tte forholde seg til et standardprodukt man tilpasser sine behov. Det systemet man skal tilpasse vil legge mer eller mindre strenge f&#248;ringer for hvordan presentasjon av varer, arbeidsflyt for bruker og selger og betalingsmekanismer fungerer. Om man ser p&#229; et produkt som &lt;a href=&quot;http://shopify.com/&quot;&gt;Shopify&lt;/a&gt; gir disse ganske stor frihet, mens Mamuts nettbutikkl&#248;sning gir relativt liten frihet. Antakelig vil dere oppdage at systemet som velges er designet for bruk fra PC, som vil gi f&#248;ringer for i hvilken grad man kan tilpasse brukeropplevelsen til iPhone.&lt;/p&gt;


	&lt;p&gt;Hvis man velger en l&#248;sning som Shopify burde det v&#230;re mulig &#229; tilrettelegge en mobil versjon som er sv&#230;rt forskjellig fra PC-opplevelsen; p&#229; den annen side betyr dette at en mindre del av koden er ferdiglaget &amp;#8211; som igjen betyr mer arbeid.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Betaling&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;Dersom man skal ha betaling med kredittkort &amp;#8211; noe dere helt sikkert vil &#248;nske &amp;#8211; legger ogs&#229; dette f&#248;ringer for brukeropplevelsen og i hvilken grad man kan gj&#248;re tilpasninger. Mange norske betalingsl&#248;sninger benytter seg av 3dsecure, som er et samarbeid mellom kortleverand&#248;rene (Visa, Mastercard mfl.) &amp;#8211; som i Norge betyr at den som utsteder kredittkortet s&#248;rger for &#229; sikre at du er rettmessig eier av kortet du betaler med.&lt;/p&gt;


	&lt;p&gt;Etter at de norske bankene n&#229; stort sett har standardisert p&#229; BankID for denne prosessen, og BankID bruker en java-applet, betyr dette kort og godt at iPhone ikke vil fungere med 3dsecure (siden den ikke st&#248;tter java-applets). Jeg har ikke diskutert iPhone til kortbetaling med noen av de som leverer betalingsl&#248;sninger, men jeg antar at de har tanker om hvordan dette kan muliggj&#248;res idag. Men antakelig betyr dette at man er n&#248;dt til &#229; bruke andre alternativer; &lt;a href=&quot;http://paypal.com/&quot;&gt;PayPal&lt;/a&gt; kan antakelig v&#230;re et alternativ her.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Interaksjonsdesign&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;Folk bruker iPhone p&#229; helt andre m&#229;ter enn en PC. For det f&#248;rste bruker man fingrene til &#229; navigere og legge inn tekst, noe som generelt betyr at man b&#248;r kreve minimalt med inntasting av informasjon. Dernest vil bruksscenariet for iPhone v&#230;re forskjellig fra PC: de fleste iPhone-brukere setter av alt fra et halvt minutt til etpar minutter til en &amp;#8220;sesjon&amp;#8221; p&#229; sin iPhone, mens PC-brukere sitter foran skjermen i timevis av gangen. Kanskje betyr dette at en netthandelsl&#248;sning for iPhone ikke er noen god ide i det hele tatt, at man heller b&#248;r forutsette at brukeren handler fra sin PC. I s&#229; fall kunne kanskje iPhone-l&#248;sningen brukes for &#229; spore pakken sin &amp;#8211; som er et bruksscenario som passer bedre i en iPhone-kontekst.&lt;/p&gt;


	&lt;p&gt;Om man velger &#229; lage en netthandelsl&#248;sning b&#248;r man alts&#229; bruke en god del tid med papir og blyant og skissere hvordan man kan tilpasse brukeropplevelsen til iPhone; det som er helt sikkert er at dette m&#229; v&#230;re ganske annerledes fra PC-opplevelsen, og det er f&#229; gode eksempler p&#229; nettbutikker for iPhone.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Visuelt design&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;De fleste bedirfter har et eksisterende visuelt uttrykk de bruker p&#229; trykk og web som de vil &#248;nske &#229; ta med til iPhone. Ettersom man har sv&#230;rt begrenset med plass til &amp;#8220;pynt&amp;#8221; p&#229; en iPhone-side kan man ikke bruke like mye dekor og grafiske elementer p&#229; en iPhone-side som en vanlig webside. Samtidig vil vi ikke miste gjenkjennelses-/brandingeffekten til bedriften, noe som krever at man gj&#248;r en grundig tilpasning av bedriftens visuelle uttrykk til iPhone. I arbeidet med Trafikanten brukte vi mye tid p&#229; &#229; tilpasse Trafikantens grafiske elementer og uttrykk til iPhone: vi endte her opp med &#229; f&#229; avgangsvisningen til &#229; etterligne skiltene p&#229; holdeplassene, slik at brukeren umiddelbart skulle kjenne igjen innholdet i skjermbildet fra noe som var kjent for ham fra f&#248;r.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Tilpasning av nettsider&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;S&#229;, til slutt, den tekniske delen. iPhone bruker i likhet med PC-baserte nettlesere, &lt;span class=&quot;caps&quot;&gt;HTML&lt;/span&gt;, CSS og javascript som byggeklosser. iPhone har imidlertid endel forskjeller: ingen mus (alts&#229; ingen effekter n&#229;r man f&#248;rer musepekeren over et omr&#229;de), mindre skjerm, en skjerm som kan roteres, ingen Flash og ingen java. Apple har ogs&#229; i sine human interface guidelines beskrevet noen best practices for hvordan webapplikasjoner b&#248;r tilpasses iPhone som de fleste bruker i st&#248;rre eller mindre grad. De fleste vellykkete iPhone webapplikasjoner f&#248;lger idag samme m&#248;nster: man starter med en liste over innholdsgrupper der man kan drille seg nedover i innholdet til h&#248;yere og h&#248;yere detaljniv&#229; &amp;#8211; og s&#229; tilbake opp igjen etterp&#229;.&lt;/p&gt;


	&lt;p&gt;N&#229;r man har gjort jobben med de f&#248;rste punktene grundig vil selve tilpasningen av nettsidene i hovedsak best&#229; i &#229; implementere brukeropplevelsen i &lt;span class=&quot;caps&quot;&gt;HTML&lt;/span&gt;/CSS/Javascript &amp;#8211; noe som er relativt enkelt n&#229;r man har gjort det f&#248;r.&lt;/p&gt;


	&lt;p&gt;Som dere kanskje forst&#229;r er det derfor vanskelig &#229; sette en pris p&#229; hva et slikt prosjekt vil koste. Det viktigste er at man ikke slurver med forarbeidet, men tar denne brukergruppen p&#229; alvor og tilbyr en l&#248;sning som er godt tilpasset situasjonen brukeren er i n&#229;r han bruker l&#248;sningen. Oppsiden i det hele er at en godt tilpasset netthandelsl&#248;sning for iPhone vil ha et enormt konkurransefortrinn, og dermed kan ta markedsandeler fra konkurrentene. Der PC-baserte nettbutikker m&#229; konkurrere p&#229; marginene kan iPhone-baserte nettsteder konkurrere p&#229; kvalitet og brukerforst&#229;else. Dette igjen b&#248;r kunne gi h&#248;yere lojalitet hos kundene.&lt;/p&gt;


	&lt;p&gt;Ta gjerne kontakt hvis dere har fler sp&#248;rsm&#229;l!&lt;/p&gt;</content>
    <author>
      <name>Marius M&#229;rnes Mathiesen</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/94</id>
    <published>2009-02-17T19:10:25Z</published>
    <updated>2009-02-17T19:11:03Z</updated>
    <link type="text/html" href="/blogg/2009/2/17/rip-ie6" rel="alternate"/>
    <title>RIP, IE6</title>
    <content type="html">&lt;p&gt;Finn.no &lt;a href=&quot;http://twitter.com/nerdegutt/status/1218859569&quot;&gt;har idag lagt ut en oppfordring til brukere av Internet Explorer 6 om &#229; oppgradere eller bytte nettleseren sin&lt;/a&gt;. Dette er et flott utspill fra Finn.no, og jeg h&#229;per b&#229;de Finn.no&amp;#8217;s brukere og andre nettsteder tar oppfordringen.&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;http://kunder.shortcut.no/shortcutting/finn_no_ie.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;27. august 2001 var dagen da Internet Explorer 6 s&#229; dagens lys for f&#248;rste gang. Jeg husker godt at jeg den gangen kl&#248;dde i fingrene etter &#229; f&#229; bruke de fantastiske nyhetene i &lt;span class=&quot;caps&quot;&gt;IE6&lt;/span&gt;, alt fra en innebygget &lt;span class=&quot;caps&quot;&gt;XML&lt;/span&gt;-parser til &lt;span class=&quot;caps&quot;&gt;DHTML&lt;/span&gt; og iframes.&lt;/p&gt;


	&lt;p&gt;N&#229; har jeg selv aldri laget noe nettsted med glorete &amp;#8220;best viewed with&#8230;&amp;#8221;-ikoner som oppfordrer bes&#248;kende til &#229; oppgradere nettleseren, maksimere vinduet, installere etpar plugins og kanskje justere skjermoppl&#248;sningen sin, men det var mange som la ut oppfordringer til bes&#248;kende om &#229; oppgradere til nettopp &lt;span class=&quot;caps&quot;&gt;IE6&lt;/span&gt; &amp;#8211; slik at utvikleren kunne f&#229; ta i bruk nyhetene &lt;span class=&quot;caps&quot;&gt;IE6&lt;/span&gt; brakte. Paradoksalt nok er det omtrent p&#229; samme m&#229;te vi n&#229; tar farvel med &lt;span class=&quot;caps&quot;&gt;IE6&lt;/span&gt;, gjennom at brukerne blir bedt om &#229; oppgradere slik at vi ikke lenger trenger &#229; ta hensyn til denne gamle nettleseren.&lt;/p&gt;


	&lt;p&gt;Det er noe helt allmenngyldig &#229; l&#230;re fra dette, nemlig at ny teknologi alltid er mer spennende enn gammel teknologi, spesielt for oss som er opptatt av teknologi. Det er trolig mindre sannsynlig at bestefar bytter ut nettleseren sin s&#229; lenge den gamle fungerer for ham. Og denne n&#248;kternheten til det som er nytt kan vi antakelig ha god nytte av &#229; ta med oss, samtidig som vi skal v&#230;re forsiktig med &#229; sette opp for mange stengsler for de som bes&#248;ker oss; stiller vi for strenge krav g&#229;r de nok bare videre.&lt;/p&gt;


	&lt;p&gt;Siden Internet Explorer 6 kom ut har det skjedd mye p&#229; webben. Fra 2001 fram til 2007 var &lt;span class=&quot;caps&quot;&gt;IE6&lt;/span&gt; den suverent st&#248;rste nettleseren, i 2002-2003 hadde de forskjellige IE-versjonene opptil 95% markedsandel. Denne markedssituasjonen innebar at det i stor grad var Microsoft som definerte hva en nettleser skulle v&#230;re. Idag er situasjonen en helt annen. Mozillas Firefox er den store nummer 2, og deretter en lang rekke nettlesere. N&#229;r denne situasjonen ikke er fullstendig uh&#229;ndterbar for oss som utvikler nettjenester er det fordi vi med rimelig sikkerhet kan anta at alle disse nettleserne f&#248;lger samme standarder.&lt;/p&gt;


	&lt;p&gt;I en perfekt verden kunne jeg brukt &#233;n nettleser mens jeg utvikler en nettside og s&#229; vite at sidene vil se like ut i alle andre nettlesere. Og holder man seg til standardene vil dette i stor grad v&#230;re tilfelle, med ett stort unntak: Internet Explorer 6. Jeg har v&#230;rt p&#229; prosjekter der 1/3 av utviklingstiden har g&#229;tt med til &#229; f&#229; sidene til &#229; se ut slik man &#248;nsker i &lt;span class=&quot;caps&quot;&gt;IE6&lt;/span&gt;. Opplevelsen er helt slapstick: du f&#229;r noe til &#229; fungere i &lt;span class=&quot;caps&quot;&gt;IE6&lt;/span&gt; bare for &#229; konstatere at det ikke lenger virker i andre nettlesere. N&#229;r du f&#229;r det til &#229; fungere i andre nettlesere slutter det &#229; virke i &lt;span class=&quot;caps&quot;&gt;IE6&lt;/span&gt;. Tenk hva man kunne brukt den 1/3 av prosjekttida hvis man slapp &#229; bruke den p&#229; &lt;span class=&quot;caps&quot;&gt;IE6&lt;/span&gt;. Internet Explorer 6 koster samfunnet milliarder med kroner hvert eneste &#229;r.&lt;/p&gt;


	&lt;p&gt;Det som gj&#248;r at andelen &lt;span class=&quot;caps&quot;&gt;IE6&lt;/span&gt;-brukere etter at &lt;span class=&quot;caps&quot;&gt;IE7&lt;/span&gt; har eksistert i etpar &#229;r fortsatt ikke synker raskere er trolig at mange bedrifter har standardisert p&#229; &lt;span class=&quot;caps&quot;&gt;IE6&lt;/span&gt;, og at de ansatte selv ikke kan oppgradere nettleseren. Grunnen til at mange bedrifter tviholder p&#229; &lt;span class=&quot;caps&quot;&gt;IE6&lt;/span&gt; er at de har utviklet/kj&#248;pt nettl&#248;sninger som bare fungerer i &lt;span class=&quot;caps&quot;&gt;IE6&lt;/span&gt;, og dermed ikke kan bytte. (Grunnen til at det ble utviklet l&#248;sninger som bare fungerer i &lt;span class=&quot;caps&quot;&gt;IE6&lt;/span&gt; var alle de kule nye tingene &lt;span class=&quot;caps&quot;&gt;IE6&lt;/span&gt; brakte med seg). Og dette virker jo som et rimelig resonnement for disse bedriftene: det vil koste dem penger &#229; bytte/endre disse systemene, dermed vil de fortsette &#229; bruke &lt;span class=&quot;caps&quot;&gt;IE6&lt;/span&gt; s&#229; lenge de ikke tvinges til noe annet. Dette igjen p&#229;f&#248;rer nettstedene kostnader med &#229; st&#248;tte &lt;span class=&quot;caps&quot;&gt;IE6&lt;/span&gt;, som bidrar til at man ikke trenger bytte.&lt;/p&gt;


	&lt;p&gt;N&#229;r Finn.no n&#229; trolig har begynt utfasingen av sin st&#248;tte for &lt;span class=&quot;caps&quot;&gt;IE6&lt;/span&gt; betyr dette at de som surfer fra jobben med &lt;span class=&quot;caps&quot;&gt;IE6&lt;/span&gt; ikke lenger kan bruke Finn.no. Dette kommer til &#229; skape press p&#229; IT-avdelingene, og blant de som ut&#248;ver dette presset finner vi ogs&#229; beslutningstakere i bedriften. N&#229;r daglig leder ikke f&#229;r s&#248;kt etter bruktbil fra jobben i lunsjpausen vil jeg anta de fleste IT-avdelinger f&#229;r noe &#229; henge fingrene i. Finn.no legger ved dette grepet problemet tilbake i det fanget der det h&#248;rer hjemme, og jeg tror vi kan regne med &#229; se andelen &lt;span class=&quot;caps&quot;&gt;IE6&lt;/span&gt;-brukere p&#229; nettstedene v&#229;re synke drastisk de neste ukene. Er det ett nettsted alle bruker fra jobben er det Finn.no.&lt;/p&gt;


	&lt;p&gt;Hvil i fred, &lt;span class=&quot;caps&quot;&gt;IE6&lt;/span&gt;.&lt;/p&gt;</content>
    <author>
      <name>Marius M&#229;rnes Mathiesen</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/93</id>
    <published>2009-02-11T10:35:05Z</published>
    <updated>2009-09-25T08:15:05Z</updated>
    <link type="text/html" href="/blogg/2009/2/11/er-reklame-pa-iphone-ok" rel="alternate"/>
    <title>Er reklame p&#229; iPhone OK?</title>
    <content type="html">&lt;p&gt;Shortcut var nylig p&#229; reklameskolen &lt;a href=&quot;http://www.westerdals.no/&quot;&gt;Westerdals&lt;/a&gt; og snakket om hva man b&#248;r v&#230;re klar over n&#229;r man skal lage applikasjoner til iPhone. Mange ting er lurt &#229; v&#230;re bevisst p&#229; og vi har opparbeidet oss mye kompetanse p&#229; dette. Men hva slags applikasjoner &lt;em&gt;&#248;nsker&lt;/em&gt; reklamestudenter &#229; lage?&lt;/p&gt;&lt;p&gt;Rett f&#248;r jul snakket vi med &lt;a href=&quot;http://www.shortcut.no/blog/2009/2/8/iphone--et-selvfolgelig-sted-for-arkitektstudenter&quot;&gt;interaksjonsstudentene p&#229; Arkitekth&#248;gskolen&lt;/a&gt;, som hadde et helt klart &#248;nske om &#229; lage innovative og funksjonelle applikasjoner. Samt noen morsomme. N&#229;, da jeg bes&#248;kte Westerdals, fikk jeg det samme inntrykket. Reklamestudenter &#248;nsker seg ogs&#229; nyttige applikasjoner. Jeg var redd samtalen utelukkende skulle dreie seg om hvordan man best mulig kan profilere kommersielle akt&#248;rer: &#171;Hvordan lage god reklame p&#229; iPhone?&#187;&lt;/p&gt;


	&lt;p&gt;Men er det noe &#229; v&#230;re redd for? Er det galt med reklameapplikasjoner, om de er nyttige og fungerer godt? &lt;a href=&quot;http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=301316524&amp;#38;mt=8&quot;&gt;Gilde kokebok&lt;/a&gt; er et godt eksempel p&#229; en nytteapp, som ogs&#229; gir god reklame. Den er super n&#229;r jeg er fantasil&#248;s i matbutikken. (Men litt verre er det hjemme p&#229; kj&#248;kkenbenken, hvor ingen iPhone har adgang. Jeg s&#248;ler for mye.)
&lt;br /&gt;&lt;img src=&quot;http://shortcut.no/system/pictures/19/original/coke_gilde.png&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;Ikke like bra er &lt;a href=&quot;http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=302392499&amp;#38;mt=8&quot;&gt;Coca-Colas applikasjon&lt;/a&gt;. En bruskorkinspirert l&#248;sning, som minner mest om de popul&#230;re amerikanske &lt;em&gt;8 Ball&lt;/em&gt;-ene. Kanskje er den morsom for noen, men for meg er den et eksempel p&#229; hva jeg ikke &#248;nsker meg.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Nyttig og smart&lt;/strong&gt;
Vi har blitt kontaktet av reklamebyr&#229;er, med gode ideer til l&#248;sninger for deres kunder. Jeg h&#229;per flere av de tenkte applikasjonene en gang vil se dagens lys. Ideene er nyttige og smarte, og vil absolutt v&#230;re noe folk kan trenge, s&#229; da gj&#248;r det vel ingenting om de er sponset?&lt;/p&gt;


	&lt;p&gt;Kanskje er v&#229;r egen &lt;a href=&quot;http://products.shortcut.no/trafikanten&quot;&gt;Trafikanten-applikasjon&lt;/a&gt; ogs&#229; en slik reklame-app? Ikke vet jeg, jeg vet bare at mange tusen kollektivreisende i Oslo benytter seg av den hver eneste dag.&lt;/p&gt;</content>
    <author>
      <name>John Eivind Hall&#233;n</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/92</id>
    <published>2009-02-09T16:48:56Z</published>
    <updated>2009-02-09T16:53:43Z</updated>
    <link type="text/html" href="/blogg/2009/2/9/shortcut-vokser" rel="alternate"/>
    <title>Shortcut vokser</title>
    <content type="html">&lt;p&gt;Finanskrisen er for pyser. Vi ansetter i gode og d&#229;rlige tider, og n&#229; er en ny Shortcutter p&#229; plass.&lt;/p&gt;&lt;p&gt;Ragnar Henriksen er blitt ansatt som Shortcutter &#8470; 6. Ragnar er en f&#248;rsteklasses utvikler med solid erfaring innen betalingsl&#248;sninger, Ruby on Rails og iPhone-utvikling. Men f&#248;rst og fremst er Ragnar en sindig og hyggelig fyr med like sterke meninger om utviklingsmetodikk og brukervennlighet som oss andre. Vi &#248;nsker Ragnar velkommen og gleder oss til &#229; l&#248;se spennende oppgaver sammen i tiden fremover!&lt;/p&gt;</content>
    <author>
      <name>August Zaitzow Flatby</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/91</id>
    <published>2009-02-08T16:47:21Z</published>
    <updated>2009-02-08T18:28:22Z</updated>
    <link type="text/html" href="/blogg/2009/2/8/iphone-et-selvfolgelig-sted-for-arkitektstudenter" rel="alternate"/>
    <title>iPhone, et selvf&#248;lgelig sted for arkitektstudenter</title>
    <content type="html">&lt;p&gt;I desember i fjor var jeg p&#229; Arkitekth&#248;gskolen i Oslo (AHO) og snakket om iPhone-utvikling. Studentene hadde f&#229;tt f&#248;lgende oppgave: &lt;em&gt;&#171;App Store har n&#229;dd 10.000 applikasjoner. Hva blir de 10.000 neste?&#187;&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;At det er p&#229; arkitekth&#248;gskolen man f&#229;r i oppgave &#229; tenke p&#229; hvordan et program p&#229; en mobiltelefon skal v&#230;re, h&#248;res kanskje rart ut. Jeg skal pr&#248;ve &#229; forklare det slik jeg har forst&#229;tt det. Om det er helt riktig forst&#229;tt, vet jeg ikke, men jeg liker min forklaring.&lt;/p&gt;


	&lt;p&gt;Vi som jobber med interaksjonsdesign vet at &#229; designe software er mer likt &#229; designe dashbordet til en bil, enn et platecover. Det er mer likt knappene p&#229; et stereoanlegg, enn en filmplakat eller en logo. Dette fordi software skal kunne brukes i tillegg til &#229; sees og forst&#229;s. Og derfor ligger v&#229;r design under industridesign.
&lt;br /&gt;&lt;img src=&quot;http://kunder.shortcut.no/shortcutting/industry.png&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;Det er industridesignere som lager &lt;em&gt;ting&lt;/em&gt;, fysiske ting: Biler, mp3-spillere eller romdrakter. Og ingenting er vel mer fysisk, og m&#229; v&#230;re mer funksjonelt, enn produktene arkitektene lager? Eneboliger, sykehus, parkanlegg, leilighetskomplekser osv. Derfor ligger &lt;em&gt;ting&lt;/em&gt;-utdannelsen (industridesign) under arkitektur og &lt;em&gt;pek-og-klikk&lt;/em&gt;-utdannelsen (interaksjonsdesign) under den igjen.&lt;/p&gt;


	&lt;p&gt;Med andre ord kan man argumentere for at, &#229; lage en iPhone-applikasjon er mer likt &#229; lage et hus enn en tegning.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;S&#229; hva med studentoppgavene?&lt;/strong&gt;&lt;br /&gt;Hans Gerhard Meier (l&#230;rer i interaksjonsdesign p&#229; &lt;span class=&quot;caps&quot;&gt;AHO&lt;/span&gt;) skriver i en mail at det n&#229; finnes noen veldig bra prototyper, etter innlevert oppgave. S&#229; kanskje blir livene v&#229;re enklere eller morsommere fremover? Forh&#229;pentligvis blir disse applikasjonene presentert p&#229; &lt;a href=&quot;http://www.iphonepool.com/&quot;&gt;iPhonePool&lt;/a&gt;, et potensielt spennende sted Hans Gerhard nylig har lansert.&lt;/p&gt;


	&lt;p&gt;Det er et sted hvor vi alle kan laste opp ideer til nye iPhone-applikasjoner. Noe av poenget er at designere og utviklere skal kunne finne den kompetansen de mangler, for &#229; f&#229; realisert sine ideer. Men man kan ikke v&#230;re redd for eierskapet til sin id&#233;. Som Hans Gerhard selv sier under &lt;span class=&quot;caps&quot;&gt;FAQ&lt;/span&gt;:
&lt;strong&gt;_&#171;What if someone steals my idea?&#8232;
                 &#8211; If this is a concern, your at the wrong address&#187;_&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;Det &lt;em&gt;jeg&lt;/em&gt; snakket om, da jeg bes&#248;kte Arkitekth&#248;gskolen, var utfordringer vi i Shortcut har hatt med v&#229;r egen &lt;a href=&quot;http://products.shortcut.no/trafikanten&quot;&gt;Trafikanten-applikasjon&lt;/a&gt;. Og hvilke muligheter vi har for videre utvikling. Om noen skulle v&#230;re interessert kan hele Keynote-dokumentet &lt;a href=&quot;http://kunder.shortcut.no/shortcutting/trafikanten_presentasjon_aho.zip&quot;&gt;lastes ned her&lt;/a&gt; (8,4 MB). (Her er &lt;a href=&quot;http://kunder.shortcut.no/shortcutting/trafikanten_presentasjon_aho.pdf&quot;&gt;&lt;span class=&quot;caps&quot;&gt;PDF&lt;/span&gt;&lt;/a&gt; (6,1 MB), for de som ikke har Keynote.)&lt;/p&gt;</content>
    <author>
      <name>John Eivind Hall&#233;n</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/90</id>
    <published>2009-02-03T08:12:12Z</published>
    <updated>2009-02-03T08:24:45Z</updated>
    <link type="text/html" href="/blogg/2009/2/3/fa-orden-pa-okonomien-kjop-en-iphone-app" rel="alternate"/>
    <title>F&#229; orden p&#229; &#248;konomien, kj&#248;p en iPhone App!</title>
    <content type="html">&lt;p&gt;For hundrede gang i mitt liv har jeg bestemt meg for &#229; f&#229; orden p&#229; privat&#248;konomien min. Og med en iPhone i h&#229;nda, var f&#248;rste stopp p&#229; min rene sti, en ny app fra App Store: &lt;a href=&quot;http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=287129922&amp;#38;mt=8&quot;&gt;Pennies&lt;/a&gt;. Men tar den hensyn til sm&#229;penger?&lt;/p&gt;&lt;p&gt;Det finnes mange applikasjoner under &lt;em&gt;Finance&lt;/em&gt;-kategorien, og det nytter ikke &#229; lese om eller teste alle, f&#248;r man velger. Selv g&#229;r jeg etter ikonet. Jepp, jeg har en sterk tro p&#229; at de som bryr seg om utseendet p&#229; sitt eget produkt, ogs&#229; bryr seg om innholdet, funksjonaliteten, stabiliteten osv.
&lt;br /&gt;&lt;img src=&quot;http://kunder.shortcut.no/shortcutting/pennies_1.png&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;Pennies var det f&#248;rste pene ikonet som vistes, og etter &#229; ha skumlest litt om det, s&#229; jeg at det ikke bare st&#248;ttet $, &#163; og &#8364;, men ogs&#229; &lt;em&gt;&#171;some other currencies&#187;&lt;/em&gt;. Jeg h&#229;pet p&#229; v&#229;r egen krone, lastet det ned og ble gledelig overrasket. Krona var prekonfigurert p&#229; min &lt;em&gt;norske&lt;/em&gt; iPhone. Og overraskelsen ble enda mer gledelig da budsjettene mine allerede var p&#229; minus. Jeg hadde allerede brukt penger.
&lt;br /&gt;&lt;img src=&quot;http://kunder.shortcut.no/shortcutting/pennies_2.png&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;Pennies hadde lagt inn at jeg i dag hadde brukt penger p&#229; programvare. Nemlig kj&#248;pt Pennies. Smart, hva? Ikke like smart var det at utgiften var satt til 2,99 kr. mens programmet vitterlig kostet 17 kr. Men hvem teller? Ikke jeg, det er derfor jeg trenger et program som Pennies.&lt;/p&gt;


	&lt;p&gt;Uansett, etter en times bruk er denne appen absolutt &#229; anbefale. Og om privat&#248;konomien fortsetter &#229; v&#230;re vannstyrt, ser den i hvert fall fin ut, der ute p&#229; det &#229;pne havet&amp;#8230;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;Her er  &lt;a href=&quot;http://designbyaknife.com/pennies/&quot;&gt;produktsiden Design by a Knife har laget&lt;/a&gt;!&lt;/p&gt;</content>
    <author>
      <name>John Eivind Hall&#233;n</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/89</id>
    <published>2008-12-19T08:41:28Z</published>
    <updated>2010-03-10T09:49:07Z</updated>
    <link type="text/html" href="/blogg/2008/12/19/trafikanten-endelig-pa-app-store" rel="alternate"/>
    <title>Trafikanten - endelig p&#229; App Store!</title>
    <content type="html">&lt;p&gt;Fra alle oss i Shortcut, til alle dere som reiser kollektivt i Oslo: &lt;a href=&quot;http://products.shortcut.no/trafikanten&quot;&gt;Trafikanten p&#229; iPhone&lt;/a&gt;&lt;/p&gt;&lt;p style=&quot;float:right&quot;&gt;&lt;img src=&quot;http://kunder.shortcut.no/shortcutting/trafikanten-departure.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;At vente p&#229; Apple&amp;#8217;s godkjenning er litt som at vente p&#229; nissen, bortsett fra at man ikke vet akkurat n&#229;r han kommer, men ig&#229;r blev Trafikanten p&#229; iPhone &lt;a href=&quot;http://products.shortcut.no/trafikanten/itms&quot;&gt;lagt ut i App Store&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;Vi har selv brukt den veldig mye i praksis under utviklingen av den, og den er for min del en av de mest brukte applikasjonerne, som jeg skulle ha sv&#229;rt at leve uten.&lt;/p&gt;


	&lt;p&gt;Trafikanten p&#229; iPhone versjon 1.0 er p&#229; mange m&#229;ter det kom fram til som det absolut minimale vi trengte for at ha en brukbar applikasjon. At finne utav hvad som er &amp;#8220;minimum&amp;#8221; er langt fra det enkleste og det er noe vi har brukt en del tid p&#229; at finne utav.&lt;/p&gt;


	&lt;p&gt;Den har ingen innebyggt rutetabell, ingen tog-tider, ingen kart-visning og ingen reiseplanlegger. Men, den har sanntidtids-data rett i din iPhone, liste over sist brukte stasjoner, stasjoner i n&#230;rheten og muligheten at s&#248;ke efter stasjoner. Dette er helt bevisst fra v&#229;r side og resultatet er det som finnes i versjon 1.0 er, i v&#229;r oppfattning, veldig bra. Fram for allt betyder det at vi kan f&#229; ut en brukbar applikasjon mye raskere enn om hadde haft med fler features i version 1.0.&lt;/p&gt;


	&lt;p&gt;Vi h&#229;per at Trafikanten er intressert i at fortsette utviklingen av Trafikanten p&#229; iPhone framover.&lt;/p&gt;


	&lt;p style=&quot;float:right&quot;&gt;&lt;img src=&quot;http://kunder.shortcut.no/shortcutting/trafikanten-no1.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;Det tok mindre enn en dag f&#248;rr den blev nummer 1 p&#229; toplista i den norske App Store og vi takker alle som har lagt inn anmeldelser i iTunes, sent oss mail og &lt;a href=&quot;http://search.twitter.com/search?q=trafikanten&quot;&gt;kvittret&lt;/a&gt; om den, vi setter stor pris p&#229; alle slags tilbakemeldinger!&lt;/p&gt;


	&lt;p&gt;God jul!&lt;/p&gt;</content>
    <author>
      <name>Johan S&#248;rensen</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/88</id>
    <published>2008-11-28T13:15:41Z</published>
    <updated>2008-11-28T13:53:18Z</updated>
    <link type="text/html" href="/blogg/2008/11/28/rubygem-kodefargelegging-i-redcloth" rel="alternate"/>
    <title>Rubygem: Kodefargelegging i RedCloth</title>
    <content type="html">&lt;p&gt;Den flunkende nye Rubygemmen &lt;a href=&quot;http://redclothcoderay.rubyforge.org/&quot;&gt;Redcloth with Coderay&lt;/a&gt; utvider RedCloth med et enkelt syntaks for &#229; legge til fargelagt kode (syntax highlighting p&#229; fagspr&#229;ket) i RedCloth-dokumenter.&lt;/p&gt;&lt;p&gt;Et kort eksempel p&#229; hvordan denne brukes:&lt;/p&gt;


&lt;pre&gt;Dette er litt *tekst*. Helt vanlig RedCloth. 
Dessuten, &amp;lt;source&gt;@ruby_rocks = true&amp;lt;/source&gt;! Litt
mere kode:

&amp;lt;source:html&gt;
&amp;lt;p class=&quot;cool&quot;&gt;Dette er HTML!&amp;lt;/p&gt;
&amp;lt;/source&gt;
&lt;/pre&gt;

	&lt;p&gt;Det vil se omtrent slik ut (gitt at du har en &lt;span class=&quot;caps&quot;&gt;CSS&lt;/span&gt; som ser omtrent &lt;a href=&quot;http://pastie.org/326079&quot;&gt;slik&lt;/a&gt; ut):&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;http://img.skitch.com/20081128-px8api79475g36g3hkgi17yn2p.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;Alt innholdet i &amp;lt;source&amp;gt;-taggene vil bli parset med kodefargeleggeren &lt;a href=&quot;http://rd.cycnus.de/coderay/&quot;&gt;CodeRay&lt;/a&gt;. Den genererer en &lt;span class=&quot;caps&quot;&gt;HTML&lt;/span&gt;-versjon av koden, med klasser du kan referere til i &lt;span class=&quot;caps&quot;&gt;CSS&lt;/span&gt;-en din slik at du kan fargelegge  kodeeksemplene. Du kan ogs&#229; spesifisere hvilket spr&#229;k koden du vil fargelegge er, f.eks &lt;code&gt;&amp;lt;source:html&gt;&lt;/code&gt;&lt;/p&gt;


	&lt;p&gt;Ta en titt p&#229; &lt;a href=&quot;http://stuff.lilleaas.net/case_or_hash&quot;&gt;denne siden&lt;/a&gt; for et eksempel p&#229; ferdig stylet kode.&lt;/p&gt;


	&lt;p&gt;Installer gemmen med &lt;tt&gt;gem install redclothcoderay&lt;/tt&gt;. Referer til &lt;a href=&quot;http://redclothcoderay.rubyforge.org/&quot;&gt;&lt;span class=&quot;caps&quot;&gt;README&lt;/span&gt;-filen&lt;/a&gt; for en fullstendig guide i bruk og installasjon.&lt;/p&gt;</content>
    <author>
      <name>August Lilleaas</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/87</id>
    <published>2008-11-28T11:41:38Z</published>
    <updated>2009-09-25T08:27:41Z</updated>
    <link type="text/html" href="/blogg/2008/11/28/funksjonalitet-i-to-sekunder-pa-iphone" rel="alternate"/>
    <title>Funksjonalitet i to sekunder p&#229; iPhone</title>
    <content type="html">&lt;p&gt;Under arbeidet med v&#229;r f&#248;rste &lt;a href=&quot;http://products.shortcut.no/trafikanten&quot;&gt;iPhone-applikasjon &lt;em&gt;Trafikanten&lt;/em&gt;&lt;/a&gt;, dukket det opp flere spennende diskusjoner. En av dem handlet om hva som er mest brukervennlig i l&#248;pet av de to sekundene applikasjonen &#229;pnes.&lt;/p&gt;&lt;p&gt;En Splash Screen er skjermbildet som dukker opp n&#229;r et program lastes/&#229;pnes. Dette gjelder p&#229; datamaskinen din, Nintendo Wii-en din og p&#229; iPhone. Skal man lage en applikasjon for iPhone, skal man f&#248;lgelig ogs&#229; lage denne velkomstskjermen. Men hvordan skal skjermen se ut?&lt;/p&gt;


	&lt;p&gt;En &lt;span class=&quot;caps&quot;&gt;PNG&lt;/span&gt;-fil, med full iPhone-skjermst&#248;rrelse (320&amp;#215;480px) som skal hete Default, er det apple tillater/krever. Innholdet i den st&#229;r vi fritt til &#229; l&#248;se s&#229;nn som vi vil. Og vi i Shortcut vil jo alltid det vi tror er best for brukeren. Men i denne saken tok det lang tid f&#248;r vi kom til en enighet internt. Det er nemlig to retninger man kan g&#229;, for &#229; lage en optimal splash screen.&lt;/p&gt;


	&lt;p&gt;Det er enklest &#229; forklare dette med bilder. To ganske like program er Twitter-klientene TwitterFon og Twitteriffic. De har valgt hver sin retning.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Twitteriffic: Den fine, fargerike velkomsthilsenen&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;http://shortcut.no/system/pictures/20/original/alt1_twitteriffic.png&quot; alt=&quot;&quot; /&gt;
&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;Iconfactory har alltid v&#230;rt overlegne p&#229; design, og spesielt gode, deilige ikoner (naturligvis). S&#229; at de &#248;nsker &#229; vise sin fine twitrefugl stort, er kanskje ikke overraskende. Denne fuglen er jo mer kjent som Twitter-ikon, enn Twitters eget. P&#229; denne m&#229;ten f&#229;r de ogs&#229; tydelig profilert seg selv, med navnet nederst.&lt;/p&gt;


	&lt;p&gt;&lt;em&gt;V&#229;r kunne da se slik ut:&lt;/em&gt;
&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://shortcut.no/system/pictures/23/original/alt1_trafikanten.png&quot; alt=&quot;&quot; /&gt;
&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;TwitterFon: Den som later som om den er selve programmet&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;&lt;br /&gt;&lt;img src=&quot;http://shortcut.no/system/pictures/22/original/alt2_twitterfon.png&quot; alt=&quot;&quot; /&gt;
&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;Kazuho Okuis oppstartsbilde ser helt annerledes ut. Her er det ingen logo, ingen fine bilder, ikke noe produsentnavn. Ingenting. Bare et bilde av slik applikasjonen ser ut, tom for innhold. Dette er den l&#248;sningen Apple selv anbefaler, og bruker p&#229; mange av sine preinstallerte applikasjoner.&lt;/p&gt;


	&lt;p&gt;&lt;em&gt;Slik ble v&#229;r versjon:&lt;/em&gt;
&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://shortcut.no/system/pictures/24/original/alt2_trafikanten.png&quot; alt=&quot;&quot; /&gt;
&lt;br /&gt;
&lt;em&gt;Merk: I henhold til Apples anbefaling, har vi ikke tatt med menynavnene nederst, i motsetning til Kazuho Okuis.&lt;/em&gt;&lt;/p&gt;


	&lt;p&gt;&lt;br /&gt;&lt;strong&gt;Hva er best?&lt;/strong&gt;&lt;br /&gt;
Hva f&#229;r brukeren ut av Twitteriffic-fuglen? Ingenting, annet enn en bekreftelse p&#229; at programmet &#229;pnes. Det gir faktisk en ganske god f&#248;lelse &#229; klikke p&#229; det lille applikasjonsikonet med en fugl, ogs&#229; kommer fuglen stort. Nesten animert.&lt;/p&gt;


	&lt;p&gt;Hva med TwitterFons l&#248;sning? Gir den en god opplevelse? Her var det vi, brukerekspertene i Shortcut, var uenige. To sterke meninger duellerte i dagevis for og imot denne m&#229;ten &#229; gj&#248;re det p&#229;.
Argumentet for: Funksjonaliteten til programmet, med knapper og faner, blir presentert s&#229; tidlig som mulig. Slik at brukeren kan forberede seg p&#229; hva hun/han &#248;nsker &#229; gj&#248;re.
Argumentet mot: &#197; vise knapper, faner etc. som man ikke kan trykke p&#229; er i seg selv d&#229;rlig brukervennlighet. Det gir rett og slett en &lt;em&gt;broken&lt;/em&gt; f&#248;lelse av &#229; klikke p&#229; noe som ikke responderer.&lt;/p&gt;


	&lt;p&gt;En interessant artikkel det ble referert mye til under debatten var &lt;a href=&quot;http://daringfireball.net/2008/11/more_notes_on_notes&quot;&gt;John Grubers Apple&amp;#8217;s Private &amp;#8216;Default.png&amp;#8217; Cheat&lt;/a&gt;.  Den ligger litt ned p&#229; siden, og er verdt &#229; lese. (Den tar opp bl.a. en tredje splash screen-l&#248;sning som Apple selv kan benytte seg av. Men som er utilgjengelig for oss andre. Heldigvis, for det er ikke en s&#230;rlig god l&#248;sning.)&lt;/p&gt;


	&lt;p&gt;&lt;br /&gt;&lt;strong&gt;Og vinneren ble&amp;#8230;&lt;/strong&gt;
&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://shortcut.no/system/pictures/23/original/alt1_trafikanten.png&quot; alt=&quot;&quot; /&gt;
&lt;br /&gt;&lt;br /&gt;
Jeg var den hos oss som sterkest &#248;nsket TwitterFons eksempel, med en tom applikasjon. Jeg s&#229; ikke noe problem med inaktive knapper i to sekunder og jeg mente at &lt;em&gt;The Apple Way is The Best Way&lt;/em&gt;. Anbefaler Apple &#233;n ting, p&#229; en helt ny plattform ingen av oss har s&#230;rlig erfaring med, er nok d&#233;t det beste. Og det er jo s&#229;nn deres egne applikasjoner fungerer, s&#229; da vil opplevelsen v&#230;re konsistent p&#229; brukerens iPhone.&lt;/p&gt;


	&lt;p&gt;Vi ble enige om &#229; lage og teste begge deler, i h&#229;p om kanskje komme til en enighet n&#229;r vi opplevde dette i praksis. Og det gjorde vi. Etter at jeg s&#229; hvordan overgangen fra den fargerike reklamevelkomstskjermen til ferdig installert applikasjon, opp mot den alternative overgangen, kastet jeg inn h&#229;ndkle. Det fungerte rett og slett mye bedre og virket mer stabilt &#229; ha et rent bilde, uten noe som indikerer funksjonalitet, som oppstart.&lt;/p&gt;


	&lt;p&gt;P&#229; denne m&#229;ten fikk vi ogs&#229; vist frem Trafikantens logo med larven ogs&#229;. For det var det ikke plass til noe annet sted, noe jeg skal fortelle mer om i en kommende artikkel om &lt;a href=&quot;http://www.shortcut.no/blogg/2009/7/12/hvordan-skal-iphone-ikonet-ditt-se-ut&quot;&gt;hvordan iPhone-ikonet b&#248;r se ut?&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;S&#229; Apple tok feil?&lt;/strong&gt;&lt;br /&gt;
Jeg tror ikke det. Jeg tror de har jobbet masse med m&#229;ten &#229; gj&#248;re dette p&#229;, og kommet til en riktig konklusjon. For dem, og deres applikasjoner. I v&#229;r Trafikanten-app. &#248;nsket vi &#229; gj&#248;re listen over sist bes&#248;kte stoppesteder (som er siden du kommer inn p&#229; i programmet) litt t&#248;ff, og litt designet. S&#229; det jeg opplevde i v&#229;r interne test, var at en tom liste til en full grafisk liste, ble en like stor forandring som fra den bl&#229; Trafikanten-larven. Og da mistet den sitt hovedargument om en myk oppstart.&lt;/p&gt;


	&lt;p&gt;&lt;em&gt;Slik ser den siden ut:&lt;/em&gt;
&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://shortcut.no/system/pictures/21/original/sistbrukte_trafikanten.png&quot; alt=&quot;&quot; /&gt;
&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;Hvis noen har andre meninger og/eller erfaringer, kommenter gjerne under. Dette er jo fortsatt ganske upl&#248;yd mark. Er det ikke?&lt;/p&gt;


	&lt;p&gt;&lt;em&gt;PS: Registrer deg p&#229; &lt;a href=&quot;http://products.shortcut.no/trafikanten&quot;&gt;produktsiden v&#229;r&lt;/a&gt;, s&#229; f&#229;r du gratis &lt;span class=&quot;caps&quot;&gt;SMS&lt;/span&gt; rett til din iPhone n&#229;r Trafikanten ligger tilgjengelig i App Store.&lt;/em&gt;&lt;/p&gt;</content>
    <author>
      <name>John Eivind Hall&#233;n</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/86</id>
    <published>2008-11-26T11:41:06Z</published>
    <updated>2009-05-28T10:27:26Z</updated>
    <link type="text/html" href="/blogg/2008/11/26/trikk-moter-iphone-det-beste-fra-to-mobile-verdener" rel="alternate"/>
    <title>Trikk m&#248;ter iPhone! Det beste fra to mobile verdener!</title>
    <content type="html">&lt;p&gt;Vi i Shortcut lager gode webl&#248;sninger. Og det er vi stolte av. Men vi lager mer enn det. I det siste har vi jobbet med et produkt som vil gj&#248;re Trafikantens  sanntids ruteinformasjon tilgjengelig for enda flere reisende. Vi har laget &lt;a href=&quot;http://products.shortcut.no/trafikanten&quot;&gt;v&#229;r f&#248;rste iPhone-applikasjon.&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Som vi nylig skrev om &lt;a href=&quot;http://www.shortcut.no/blog/2008/11/25/shortcut-shopper&quot;&gt;intensiverer vi v&#229;r mobilsatsing&lt;/a&gt; med Apparats mobilplatform. I tillegg til uante &lt;span class=&quot;caps&quot;&gt;SMS&lt;/span&gt;- og &lt;span class=&quot;caps&quot;&gt;MMS&lt;/span&gt;-muligheter, &#248;nsker vi ogs&#229; &#229; kunne tilby den gode brukeropplevelsen direkte p&#229; brukernes mobil/h&#229;ndholdte. Og f&#248;rst ut er vi med en applikasjon skreddersydd for iPhone. Noe som ogs&#229; har f&#229;tt &lt;a href=&quot;http://digi.no/php/art.php?id=795571&quot;&gt;litt mediedekning.&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;Trafikantens iPhone-applikasjon henter informasjon om hvor brukeren befinner seg (GPS er jo som kjent innebygd i iPhone), og kombinerer det med sanntidsinformasjonen til hver enkelt avgang. P&#229; den m&#229;ten kan man kjapt og enkelt finne ut n&#229;r neste avgang g&#229;r.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Avhengig&lt;/strong&gt;&lt;br /&gt;
Selv har jeg allerede rukket &#229; bli avhengig av Trafikanten p&#229; iPhone. Hver morgen, n&#229;r jeg sitter p&#229; kaffebar og pr&#248;ver &#229; v&#229;kne, kan jeg se hvor lenge det er til neste avgang. Selv om holdeplassen er bortgjemt, rundt et hj&#248;rne.&lt;/p&gt;


	&lt;p&gt;Enn&#229; er ikke Trafikanten p&#229; iPhone tilgjengelig i App Store. Men vi er i siste testfase n&#229;, og regner med &#229; kunne lansere dette produktet innen kort tid. Og gleder oss til &#229; komme med flere smarte, enkle l&#248;sninger for iPhone og andre mobile enheter.&lt;/p&gt;


	&lt;p&gt;Les mer p&#229; &lt;a href=&quot;http://products.shortcut.no/trafikanten&quot;&gt;produktets egen side&lt;/a&gt;.&lt;/p&gt;</content>
    <author>
      <name>John Eivind Hall&#233;n</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/85</id>
    <published>2008-11-25T10:48:15Z</published>
    <updated>2008-11-28T09:31:38Z</updated>
    <link type="text/html" href="/blogg/2008/11/25/shortcut-kjoper-mobilselskap" rel="alternate"/>
    <title>Shortcut kj&#248;per mobilselskap</title>
    <content type="html">&lt;p&gt;Shortcut intensiverer satsingen p&#229; mobil ved &#229; kj&#248;pe selskapet bak Norges smidigste mobilplattform.&lt;/p&gt;&lt;p&gt;Shortcut har akkurat kj&#248;pt mobilplattformselskapet Apparat AS. Apparat ble startet i 2006, med ambisjon om &#229; utvikle markedets smidigste mobilplattform i Ruby on Rails. Shortcut har som visjon &#229; bli ledende p&#229; utvikling innen b&#229;de web og mobil, og dermed var synergiene tilstede.&lt;/p&gt;


	&lt;p&gt;Vi ser n&#229; frem til &#229; kunne tilby kundene v&#229;re komplette l&#248;sninger b&#229;de for web og mobil. V&#229;r erfaring med mobile tjenester er at man oppn&#229;r best resultater n&#229;r man har tette relasjoner med mobiloperat&#248;rene, og dette f&#229;r vi gjennom v&#229;rt eierskap i Apparat, da Apparat eier kortnummer 2210 og har direkteavtaler med alle norske mobiloperat&#248;rer.&lt;/p&gt;


	&lt;p&gt;&lt;br/&gt;
&lt;strong&gt;Hva betyr dette for Shortcut sine kunder i dag?&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;Det betyr at vi kan integrere b&#229;de innkommende og utg&#229;ende &lt;span class=&quot;caps&quot;&gt;SMS&lt;/span&gt; og &lt;span class=&quot;caps&quot;&gt;MMS&lt;/span&gt; i v&#229;re l&#248;sninger. Videre har vi mulighet til &#229; lage betalingsl&#248;sninger hvor sluttbrukere kan betale for tjenester via mobilregningen. Dette gj&#248;r at vi kan pleie kunderelasjoner og ta betalt for tjenester med samme teknologi.&lt;/p&gt;


	&lt;p&gt;&lt;br/&gt;
&lt;strong&gt;Nye muligheter&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;Utstrakt bruk av mobil var et av Obamas fortrinn under valgkampen i &lt;span class=&quot;caps&quot;&gt;USA&lt;/span&gt;. Obama benyttet mobilteknologi b&#229;de for &#229; skaffe til veie penger via mobile donasjoner, og for &#229; spre bevissthet om valget til yngre velgere via &#8220;Bring out the vote&#8221;-kampanjer p&#229; &lt;span class=&quot;caps&quot;&gt;SMS&lt;/span&gt;. Shortcut eier n&#229; tilsvarende teknologi, og vi hjelper gjerne v&#229;re kunder med en ny Obama-kampanje!&lt;/p&gt;</content>
    <author>
      <name>August Zaitzow Flatby</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/84</id>
    <published>2008-11-20T12:30:07Z</published>
    <updated>2008-11-20T12:57:47Z</updated>
    <link type="text/html" href="/blogg/2008/11/20/har-smidig-utvikling-endelig-blitt-stuerent" rel="alternate"/>
    <title>Har smidig utvikling (endelig) blitt stuerent?</title>
    <content type="html">&lt;p&gt;Smidig utvikling (eller Agile Development) har en stadig &#248;kende tilhengerskare. Det har blitt s&#229; normalisert at selv de som hevder &#229; f&#248;lge &lt;a href=&quot;http://agilemanifesto.org/principles.html&quot;&gt;prinsippene&lt;/a&gt;, omtaler hverandre som buzzordryttere. Men hva er det &lt;em&gt;egentlig&lt;/em&gt;?&lt;/p&gt;&lt;p&gt;&lt;em&gt;&#171;Hva det betyr er: Slutt p&#229; planlegging. Slutt p&#229; dokumentasjon. Bare begynn rett p&#229; kodeskrivingen og klagingen.&#187;&lt;/em&gt;&lt;/p&gt;


	&lt;p&gt;&lt;br /&gt;
P&#229; &lt;a href=&quot;http://smidig.no/smidig2008/&quot;&gt;Smidig 2008-konferansen&lt;/a&gt; tidligere i h&#248;st, m&#248;tte det opp over 400 deltagere. Nesten en fordobling fra &#229;ret f&#248;r. Men det var f&#248;rst n&#229; p&#229; tirsdag, en m&#229;ned etter konferansen, jeg forstod hvor normalt det har blitt &#229; snakke om smidig utvikling.&lt;/p&gt;


	&lt;p&gt;Jeg leste om det i VG, i tegneserieseksjonen. Det var Dilberts overordnede som innf&#248;rte &lt;em&gt;agile programvareutvikling&lt;/em&gt;. S&#229; n&#229; kan Dilbert og hans kolleger glede seg over &#229; slippe fossefall og spesifikasjoner. Og jeg fikk et p&#229;skudd for &#229; vise en tegneserie i bloggen v&#229;r:&lt;/p&gt;


	&lt;p&gt;&lt;br /&gt;&lt;img src=&quot;http://kunder.shortcut.no/shortcutting/dilbert_20081118.png&quot; alt=&quot;&quot; /&gt;
&lt;br /&gt;&lt;/p&gt;</content>
    <author>
      <name>John Eivind Hall&#233;n</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/83</id>
    <published>2008-10-28T09:04:25Z</published>
    <updated>2008-10-28T09:04:52Z</updated>
    <link type="text/html" href="/blogg/2008/10/28/hvor-mange-triks-kan-man-egentlig-lare-en-gammel-hund" rel="alternate"/>
    <title>Hvor mange triks kan man egentlig l&#230;re en gammel hund? </title>
    <content type="html">&lt;p&gt;Det er ingen tvil om at iPhone har s&#248;rget for at horder av utviklere har l&#230;rt seg teknologiene som ble utviklet i &lt;a href=&quot;http://en.wikipedia.org/wiki/NeXT&quot;&gt;NeXT&lt;/a&gt; &amp;#8211; Cocoa og Objective-C rundt 1990. For &#229; kunne lage programmer som kj&#248;rer p&#229; iPhone m&#229; man l&#230;re seg programmeringsspr&#229;ket Objective-C, og rammeverkene som finnes p&#229; iPhone ligner s&#229;pass mye p&#229; Cocoa, som Mac-programmer er laget i, at antallet utviklere av rene Mac-applikasjoner nok har &#248;kt stort det siste &#229;ret.&lt;/p&gt;&lt;p&gt;Det er ingen tvil om at Cocoa er imponerende. Det er sjelden man ser abstraksjoner som fungerer s&#229; godt, ved at de hjelper utvikleren &#229; lage avanserte og brukervennlige applikasjoner. Det at man kan bruke dette ogs&#229; p&#229; iPhone gir iPhone et forsprang konkurrerende mobilplattformer vil bruke lang tid p&#229; &#229; ta igjen. I tillegg til Ruby on Rails er det f&#229; rammeverk jeg har sett gi abstraksjoner p&#229; riktig niv&#229; i like stor grad som Cocoa.&lt;/p&gt;


	&lt;p&gt;Mitt problem er spr&#229;ket.&lt;/p&gt;


	&lt;p&gt;For &#229; utvikle programmer p&#229; iPhone bruker man alts&#229; &lt;a href=&quot;http://en.wikipedia.org/wiki/Objective-C&quot;&gt;Objective-C&lt;/a&gt;. Objective-C er sterkt inspirert av Smalltalk, og slik sett et rendyrket objektorientert spr&#229;k. Og dette er kanskje interessant: Smalltalk var det Steve Jobs s&#229; da han bes&#248;kte Xeroc &lt;span class=&quot;caps&quot;&gt;PARC&lt;/span&gt; p&#229; syttitallet; da han oppdaget grafiske brukergrensesnitt, mus og vinduer &amp;#8211; det vi alle bruker idag. Smalltalk var ogs&#229; det Apples Lisa kj&#248;rte. Smalltalk hadde imidlertid et stort problem p&#229; den tida, nemlig at det var gudsjammerlig treigt p&#229; datidens maskinvare.&lt;/p&gt;


	&lt;p&gt;Objective-C, derimot, er basert p&#229; C; Objective-C er faktisk et supersett av C. Samtidig er Objective-C (i den det er mulig i C) tro mot objektorienteringen i Smalltalk. Men alts&#229; mye, mye raskere og p&#229; sett og vis mer pragmatisk ved at man kan bruke C og C++-kode i Objective C-prosjektet sitt. Objective-C har noen &#229;penbare spr&#229;klige vorter; firkantklammer og peker-asterikser reduserer lesbarheten, men dette f&#248;les p&#229; sett og vis bare herlig pragmatisk og er noe man slutter &#229; irritere seg over etterhvert. S&#229; ogs&#229; muligens med disse .h-filene man er n&#248;dt til &#229; lage.&lt;/p&gt;


	&lt;p&gt;&lt;a href=&quot;http://www.macresearch.org/cocoa-scientists-part-xxvii-getting-closure-objective-c&quot;&gt;N&#229; har &#229;penbart tiden kommet for &#229; legge til st&#248;tte for blokker i Objective-C&lt;/a&gt;. Og her begynner man &#229; se mer av fundamentene Objective-C er bygget p&#229; enn jeg liker. Apple foresl&#229;r &#229; bruke caret (^) for &#229; definere blokker i C, og her snakker vi om en spr&#229;klig mutant av dimensjoner:&lt;/p&gt;


&lt;pre name=&quot;code&quot; class=&quot;c&quot;&gt;
void EvalFuncOnGrid( float(^block)(float) ) {
    int i;
    for ( i = 0; i &amp;lt; 5 ; ++i ) {
        float x = i * 0.1;
        printf(&quot;%f %f&quot;, x, block(x));
    }
}

void Caller(void) {
    float forceConst = 3.445;
    EvalFuncOnGrid(^(float x){ return 0.5 * forceConst * x * x; });
}

void main(void) {
   Caller();
}
&lt;/pre&gt;

	&lt;p&gt;Blokker, eller block closures, er et kraftig verkt&#248;y som kan v&#230;re vanskelig &#229; forst&#229;. Den beste beskrivelsen jeg har h&#248;rt er at det er som &#229; gi metodene dine en ekstra lunge. Ruby bruker kodeblokker til en rekke ting, ofte for &#229; gi en eller annen form for transaksjonsst&#248;tte rundt en operasjon. I funksjonelle spr&#229;k er konstrukter som tilsvarer kodeblokker de mest grunnleggende byggeklossene i et hvilket som helst program. Smalltalk bruker dem i mye st&#248;rre grad, blant annet fordi Smalltalk mangler n&#248;kkelord som if, else og while:&lt;/p&gt;


&lt;pre name=&quot;code&quot; class=&quot;smalltalk&quot;&gt;
(theEconomy isInRecession) 
   whileTrue: ['Strange' printString]
   whileFalse: ['Not so strange' printString]
&lt;/pre&gt;

	&lt;p&gt;I Smalltalk, som alts&#229; er den st&#248;rste inspirasjonen til Objective-C, er alts&#229; blokker helt grunnleggende; det er helt umulig &#229; lage et Smalltalkprogram uten dem. N&#229;r Objective-C n&#229; har klart seg i tjue &#229;r uten er det i en merkelig forkledning Apple ser ut til &#229; introdusere dem i spr&#229;ket, og jeg tror det vil ta lang tid f&#248;r utviklere f&#248;ler seg bekvem med &#229; bruke dem i programmene sine.&lt;/p&gt;


	&lt;p&gt;Kanskje denne hunden har l&#230;rt de triksene den kan?&lt;/p&gt;</content>
    <author>
      <name>Marius M&#229;rnes Mathiesen</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/82</id>
    <published>2008-09-19T14:49:02Z</published>
    <updated>2009-09-25T10:28:29Z</updated>
    <link type="text/html" href="/blogg/2008/9/19/overrumplet-av-et-iphone-bokmerkeikon" rel="alternate"/>
    <title>Overrumplet av et iPhone-bokmerkeikon</title>
    <content type="html">&lt;p&gt;Ikonene p&#229; iPhone-skrivebordet mitt graderer jeg til tre niv&#229;er. De viktigste f&#229;r plass i docken nederst, andreplassen g&#229;r til den f&#248;rste skrivebordsskjermen og resten ligger tilfeldig p&#229; de neste skrivebordene. Og n&#229; nylig dukket det opp et ikon som klarte &#229; presse seg lenger opp enn f&#248;rst planlagt: 37 Signals&#8217; Campfire-ikon.&lt;/p&gt;&lt;p&gt;Etter &#229; ha hatt iPhone i snart to m&#229;neder, har det dukket opp stadige flere ikoner p&#229; de tre-fire skrivebordene jeg har: de opprinnelige (hvorav flere jeg &#248;nsker &#229; fjerne), alle programmene fra AppStore og bokmerker jeg har lastet ned fra Safari.&lt;/p&gt;


	&lt;p&gt;Nylig lagret jeg enda et bokmerke p&#229; skrivebordet. Det var den smarte webapplikasjonen Campfire som jeg tenkte kunne v&#230;re greit &#229; ha rask tilgang til. Og jeg ble veldig overrasket da ikonet dukket opp p&#229; skjermen. Slik s&#229; det nemlig ut:&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;http://shortcut.no/system/pictures/26/original/iphone_campfire.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;37 Signals hadde laget et &lt;em&gt;eget&lt;/em&gt; ikon for l&#248;sningen sin, noe som er b&#229;de vanlig og fint. Det gir en god iPhone-opplevelse. Men det som hadde skjedd her var enda smartere enn som s&#229;. Ikonet deres hadde samme utforming som Apples egne kommunikasjonsprogrammer, Tekstmelding og Telefon: hvitt p&#229; gr&#248;nt, uten andre effekter eller detaljer enn det iPhone-en legger til selv (refleksjon, runde hj&#248;rner etc.).&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;
&lt;strong&gt;Slik ser Campfire-ikonet ut opprinnelig:&lt;/strong&gt; &lt;br /&gt;
&lt;img src=&quot;http://shortcut.no/system/pictures/25/original/campfire_icon.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;Og &lt;em&gt;denne&lt;/em&gt; utformingen (himmelhvelving med gr&#248;nt gress og ett objektet) har alle de andre 37 Signals-produktene. S&#229; hvorfor gj&#248;re det annerledes p&#229; iPhone? Jeg tror de helt bevisst har kopiert utformingen til Apple av to &#229;rsaker:&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;&#197;rsak &#233;n:&lt;/strong&gt; Campfire er et chatteprogram, designet for flere brukere samtidig. f.eks. en arbeidsgruppe. (Tidligere har jeg sitert &lt;a href=&quot;http://www.shortcut.no/blog/2008/7/25/37signals--colorpicker--getting-real-og----shortcut&quot;&gt;en samtale vi hadde i Campfire&lt;/a&gt; .) Og siden Campfire handler om kommunikasjon, er det vel smart &#229; ligne p&#229; &lt;em&gt;andre&lt;/em&gt; programmer som handler om det samme? Og for de som ikke ser likheten (bl.a. noen av v&#229;re utviklere) kan det jo hende at det kommuniseres underbevisst.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;&#197;rsak to:&lt;/strong&gt; Hvordan unng&#229; at et slikt snarveisikon ikke blir sortert lengst bak i k&#248;en? &#201;n l&#248;sning kan v&#230;re &#229; gj&#248;re det s&#229; fint og kult, at man &#248;nsker &#229; ha det fremme. En annen kan v&#230;re &#229; gj&#248;re fristelsen til &#229; plassere det nede i docken, altfor stor. Og for meg ble det &lt;em&gt;for&lt;/em&gt; fristende. Kalenderen min r&#248;yk og Campfire fikk toppniv&#229;plass.&lt;/p&gt;


	&lt;p&gt;S&#229; n&#229; skulle jeg nesten &#248;nske at mailprogrammet ogs&#229; var gr&#248;nt, men da ville jeg kanskje g&#229;tt lei?&lt;/p&gt;</content>
    <author>
      <name>John Eivind Hall&#233;n</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/81</id>
    <published>2008-09-17T09:27:24Z</published>
    <updated>2009-05-28T10:29:30Z</updated>
    <link type="text/html" href="/blogg/2008/9/17/gratulerer-yr" rel="alternate"/>
    <title>Gratulerer Yr!</title>
    <content type="html">&lt;p&gt;F&#248;r snakket alle om v&#230;ret. Men det siste &#229;ret har vi sendt hverandre linker til &lt;a href=&quot;http://www.yr.no/&quot;&gt;yr.no&lt;/a&gt; i stedet. Ett &#229;r har g&#229;tt siden yr.no ble lansert, uten brask og bram. La oss h&#229;pe at feiringen i hvert fall vil ha litt brask og litt bram. Det hadde v&#230;rt velfortjent.&lt;/p&gt;&lt;p&gt;19. september 2007 ble &lt;a href=&quot;http://www.yr.no/&quot;&gt;yr.no&lt;/a&gt; lansert (etter noe betatid). Og sommeren 2008 passerte nettstedet en million ukentlige brukere. At alle &lt;em&gt;snakket om v&#230;ret&lt;/em&gt;, visste vi. Men at alle ogs&#229; ville &lt;em&gt;surfe etter det&lt;/em&gt;, d&#233;t visste vi ikke.&lt;/p&gt;


	&lt;p&gt;Men med en s&#229; god l&#248;sning som yr.no har blitt, er ikke det rart. Det er g&#248;y &#229; se v&#230;ret de n&#230;rmeste dagene i animert form, styrt med musa. Det er praktisk &#229; kunne sjekke v&#230;ret f&#248;r du drar p&#229; ferie, uansett hvor i verden du drar. Egen personlig forside, mulighet til &#229; hjelpe til med oppdateringer, polleninfo, relevante nyheter og fin grafikk, alt man kan tenke seg finnes der. Topp for vanlige brukere!&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Lage selv?&lt;/strong&gt;&lt;br /&gt;
Meteorologisk institutt og &lt;span class=&quot;caps&quot;&gt;NRK&lt;/span&gt; (som st&#229;r bak yr.no) har i tillegg gjort en kjempegod jobb med &#229; tilgjengeliggj&#248;re dataene for alle som t&#248;r ta utfordringen om &#229; lage en bedre l&#248;sning selv. De som har lyst til &#229; lage en v&#230;rtjeneste skreddersydd for sin hjemmeside, en widget, et program til sin mobiltelefon eller hva det skulle v&#230;re, &#248;nskes hjertelig velkommen. Les mer p&#229; &lt;a href=&quot;http://www.yr.no/verdata/&quot;&gt;yr.no/verdata.&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;&#171;Fra og med 1. september 2007 er alle norske meteorologiske data gratis for alle. Null-prispolitikken gj&#248;r at kommersielle v&#230;rleverand&#248;rer kan bruke ressursene p&#229; annet enn datakj&#248;p. For &#8217;Hvermansen&#8217; betyr frislippet bedre v&#230;rtjenester p&#229; Internett.&#187; skriver de p&#229; sine sider. Det morsomme er jo at &lt;em&gt;de selv&lt;/em&gt; har den beste tjenesten.&lt;/p&gt;


	&lt;p&gt;Men utfordringen ligger jo der, klar til &#229; bli plukket opp av oss alle&amp;#8230; Vi gleder oss til &#229; se hva folk kan komme opp med, og vi er spente p&#229; hvordan Yr vil utvikle seg fremover. Men mest av alt er vi bare feststemte og &#248;nsker Yr en super bursdagsfeiring!&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Grattis igjen!&lt;/strong&gt;&lt;/p&gt;</content>
    <author>
      <name>John Eivind Hall&#233;n</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/80</id>
    <published>2008-09-12T14:11:20Z</published>
    <updated>2008-09-12T14:21:29Z</updated>
    <link type="text/html" href="/blogg/2008/9/12/produktplassert-sammen-med-apple" rel="alternate"/>
    <title>Produktplassert sammen med Apple</title>
    <content type="html">&lt;p&gt;Den fantastiske Pixar-filmen Wall&#183;E har f&#229;tt endel pepper p&#229; grunn av produktplassering. (Selv synes jeg reklamene &lt;em&gt;f&#248;r filmen&lt;/em&gt;, direkte rettet mot barn, var mye verre.) Men da jeg fikk se Shortcuts t&#248;ffe og originale logoplassering p&#229; storskjerm p&#229; Colosseum, glemte jeg alt og bare n&#248;t robotromansen.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.dagbladet.no/kultur/2008/08/25/544709.html&quot;&gt;&lt;em&gt;&#171;Er denne nusselige roboten egentlig en iPod? Produktplassering p&#229; et nytt niv&#229;.&#187;&lt;/em&gt;&lt;/a&gt; skriver Dagbladet, b&#229;de f&#248;r- og etterfulgt av hele verdens presse.  Det er kanskje kritikkverdig at Apple-designeren Jonathan Ives har v&#230;rt med &#229; tegne Pixar-roboten Eve. (Begge selskap har som kjent felles eiere og interesser.) Eve ser ut som en iPhone, samtidig som Wall&#183;E ser &lt;span class=&quot;caps&quot;&gt;VHS&lt;/span&gt;-film p&#229; sin iPod. Men &lt;em&gt;Shortcuts&lt;/em&gt; lille produktplassering har f&#229;tt st&#229; helt uoppdaget og ukritisert. P&#229; godt og vondt.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;T&#248;ff tatovering&lt;/strong&gt;&lt;br /&gt;
Tidligere har vi v&#230;rt med &#229; &lt;a href=&quot;http://jaoo.dk/ruby-oslo-2008/sponsors/&quot;&gt;sponse konferanser&lt;/a&gt; som omhandler v&#229;r favoritteknologi for tiden: &lt;em&gt;Ruby&lt;/em&gt; og &lt;em&gt;Ruby on Rails&lt;/em&gt;, uten &#229; h&#248;ste altfor mye oppmerksomhet. Men vi trodde virkelig det skulle bli litt blest rundt v&#229;r sponsing av Pixar-blockbusteren. Men nei. Det kan virke som om ingen har lagt merke til v&#229;r lille annonsering. S&#229; derfor kryper vi til korset, er &#230;rlige og innr&#248;mmer at det er vi som tatoverte Wall&#183;E.&lt;/p&gt;


	&lt;p&gt;P&#229; begge armene kan man tydelig se v&#229;re karakteristiske Shortcut-striper. Noe b&#229;de vi, Pixar-teamet og Jonathan Ives syntes kledde Wall&#183;E godt. Og vi skal ikke se bort ifra at Eve ogs&#229; synes det er t&#248;ft med litt tatoveringer.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;For de som ikke husker hvordan tatoveringene ser ut, her er noen eksempler:&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;http://kunder.shortcut.no/shortcutting/walle_flexing.png&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
Wall&#183;E flexer og viser stolt frem tatoveringen.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;
&lt;img src=&quot;http://kunder.shortcut.no/shortcutting/walle_toy.png&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
Slik han ser ut p&#229; kontoret v&#229;rt om dagen, like t&#248;ff.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;
&lt;img src=&quot;http://kunder.shortcut.no/shortcutting/walle_dreamer.png&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
Men Wall&#183;E er og blir en dr&#248;mmer og en romantiker. Og godt er det.&lt;/p&gt;</content>
    <author>
      <name>John Eivind Hall&#233;n</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/79</id>
    <published>2008-09-11T09:46:35Z</published>
    <updated>2010-11-02T17:00:54Z</updated>
    <link type="text/html" href="/blogg/2008/9/11/la-oss-skryte-av-korrekte-ordsammensetninger" rel="alternate"/>
    <title>La oss skryte av korrekte ordsammensetninger</title>
    <content type="html">&lt;p&gt;Stort sett klager folk over feil bruk av ordeling og &#8211;sammensetning. Og det med rette. Men i dag, hvor bruken av sammensatte ord oftere er gal enn korrekt, er det blitt rom for &#229; vise frem de f&#229; som gj&#248;r det riktig, og som gj&#248;r det godt.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://folk.uio.no/tfredvik/amo/&quot;&gt;Astronomer mot orddeling&lt;/a&gt; heter en gruppe som har gjort seg bemerket med &#229; finne slike orddelingsfeil. P&#229; siden deres kan man finne mange gode og morsomme eksempler. Og den er verdt &#229; ta en titt p&#229;. For det gj&#248;res mye feil. Overalt, hele tiden.&lt;/p&gt;


	&lt;p&gt;Kanskje er det mest p&#229; grunn av altfor enkle skriveprogram med altfor d&#229;rlig ordretting eller d&#229;rlige tegnsettere i dagspressen eller at det ikke finnes sekret&#230;rer lenger eller rett og slett fordi det slurves for mye. Uansett hva grunnen er, ser vi altfor mange tegnsettingsfeil overalt.&lt;/p&gt;


	&lt;p&gt;&lt;b&gt;Gode eksempler?&lt;/b&gt;&lt;br /&gt;
Men hvis m&#229;let er at alle skal l&#230;re seg (de sv&#230;rt enkle) reglene og slutte &#229; gj&#248;re feil, er det kanskje mer effektivt &#229; vise eksempler p&#229; korrekt bruk? Dette tenker jeg, hver dag til og fra jobb, n&#229;r jeg g&#229;r jeg forbi &lt;em&gt;Servicesenter for utenlandske arbeidstakere&lt;/em&gt; som ligger p&#229; T&#248;yen i Oslo. Navnet er jo et eldorado for feil. Hva med f.eks. &lt;em&gt;Service Senter For Utenlandske Arbeids Takere&lt;/em&gt;? Noe slikt ville ikke overasket mange. Men neida, de gj&#248;r det helt perfekt:&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;http://shortcut.no/system/pictures/27/original/service_no.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;Selvf&#248;lgelig er noe av &#229;rsaken til at vi ikke lenger klarer &#229; sette sammen ord p&#229; norsk, all den engelsken vi leser og skriver hver dag. For vi har ikke sammensatte ord p&#229; engelsk. Men det er vel bare en forklaring, ikke en unnskyldning ?&lt;/p&gt;


	&lt;p&gt;&lt;b&gt;Stor eller liten bokstav&lt;/b&gt;&lt;br /&gt;
En annen ting er de store bokstavene. Hvor skal det v&#230;re store bokstaver i overskrifter? P&#229; norsk er det bare f&#248;rste bokstaven i en overskrift eller tittel (og egennavn, selvf&#248;lgelig). P&#229; engelsk er det f&#248;rste bokstav i hvert ord (med noen unntak, artikler ol.). Men i tillegg til orddelingene gj&#248;res det mange, mange feil her &#242;g.&lt;/p&gt;


	&lt;p&gt;S&#229; hva da med dette senteret jeg g&#229;r forbi? De m&#229; jo forholde seg til engelsk, siden de er for utlendinger. Og det gj&#248;r de, like feilfritt som p&#229; norsk. Man blir glad av slikt. Se bare:&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;http://shortcut.no/system/pictures/28/original/service_eng.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;Lurer du noengang p&#229; hvordan det skal gj&#248;res, se p&#229; disse to eksemplene. De er som tatt ut av en l&#230;rebok. Og husk: Disse reglene er minst like viktig for oss som jobber med web. V&#229;re tekster vises ikke bare ett sted, &#233;n gang. De blir liggende i arkiver, sendes ut som &lt;span class=&quot;caps&quot;&gt;RSS&lt;/span&gt;, XML-es til &lt;span class=&quot;caps&quot;&gt;PDF&lt;/span&gt;-er, &lt;em&gt;cuttes og pastes&lt;/em&gt; inn i &#229;rsrapporter osv. osv. (S&#229; les gjerne gjennom f&#248;r du publiserer.)&lt;/p&gt;


	&lt;p&gt;Og for all del, pr&#248;v &#229; legge merke til de som gj&#248;r det korrekt, i stedet for &#229; irritere deg over alle skrivefeil.&lt;/p&gt;


	&lt;p&gt;&lt;b&gt;Vil du lese mer:&lt;/b&gt;&lt;br /&gt;
&lt;a href=&quot;http://ikkepedia.org/wiki/Ord_deling&quot;&gt;Ikkepedia om orddeling&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://korrekturavdelingen.no/K4ForbokstavStorLiten.htm&quot;&gt;Korrekturavdelingen om stor forbokstav&lt;/a&gt;&lt;/p&gt;</content>
    <author>
      <name>John Eivind Hall&#233;n</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/78</id>
    <published>2008-09-11T08:40:41Z</published>
    <updated>2008-09-11T08:48:55Z</updated>
    <link type="text/html" href="/blogg/2008/9/11/kommuniser-med-http" rel="alternate"/>
    <title>Kommuniser med HTTP</title>
    <content type="html">&lt;p&gt;Rails har n&#229; endelig f&#229;tt st&#248;tte for bruk av ETags for &#229; avgj&#248;re om innhold har endret seg eller ikke. ETags er eldgammel teknologi; som s&#229; mange ting er det f&#248;rst n&#229; vi begynner &#229; forst&#229; hvor nyttig &lt;span class=&quot;caps&quot;&gt;HTTP&lt;/span&gt;-standarden faktisk er.&lt;/p&gt;&lt;p&gt;ETags &lt;a href=&quot;http://en.wikipedia.org/wiki/HTTP_ETag&quot;&gt;er en ganske enkel m&#229;te&lt;/a&gt; en &lt;span class=&quot;caps&quot;&gt;HTTP&lt;/span&gt;-klient og &lt;span class=&quot;caps&quot;&gt;HTTP&lt;/span&gt;-server kan gi hverandre hint om en ressurs har endret seg siden sist man brukte den eller ikke. Rent skjematisk er prosessen slik:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;span class=&quot;caps&quot;&gt;HTTP&lt;/span&gt;-klienten, for eksempel nettleseren din, ber om en ressurs &amp;#8211; for eksempel http://host.example/people&lt;/li&gt;
		&lt;li&gt;&lt;span class=&quot;caps&quot;&gt;HTTP&lt;/span&gt;-serveren henter ut denne ressursen, for eksempel fra en database eller filsystemet. Den bruker deretter en mekanisme den velger selv til &#229; unikt identifisere dette innholdet, som regel en sjekksum. Sammen med dataene den sender tilbake til klienten sender den denne sjekksummen som &lt;span class=&quot;caps&quot;&gt;HTTP&lt;/span&gt;-headeren &lt;code&gt;ETag&lt;/code&gt;&lt;/li&gt;
		&lt;li&gt;&lt;span class=&quot;caps&quot;&gt;HTTP&lt;/span&gt;-klienten &amp;#8220;husker&amp;#8221; denne sjekksummen, og sender den med tilbake til serveren neste gang den sp&#248;r om samme ressurs, denne gangen som &lt;span class=&quot;caps&quot;&gt;HTTP&lt;/span&gt;-headeren &lt;code&gt;If-None-Match&lt;/code&gt;. P&#229; denne m&#229;ten forteller klienten serveren at den bare er interessert i innholdet dersom det har endret seg siden denne sjekksummen ble laget&lt;/li&gt;
		&lt;li&gt;&lt;span class=&quot;caps&quot;&gt;HTTP&lt;/span&gt;-serveren henter ut ressursen p&#229; samme m&#229;te som f&#248;r, og genererer samme sjekksum. Deretter sjekker den om sjekksummen klienten sendte er den samme som sjekksummen innholdet har n&#229;. Hvis innholdet har endret seg sender serveren innholdet p&#229; samme m&#229;te som f&#248;r, og sender med den nye sjekksummen som &lt;code&gt;ETag&lt;/code&gt;-headeren&lt;/li&gt;
		&lt;li&gt;Hvis innholdet derimot &lt;em&gt;ikke&lt;/em&gt; har endret seg siden sist sender &lt;span class=&quot;caps&quot;&gt;HTTP&lt;/span&gt;-serveren en &lt;code&gt;304 Not Modified-header&lt;/code&gt; og ingen data i responsen. &lt;span class=&quot;caps&quot;&gt;HTTP&lt;/span&gt;-klienten vet da at innholdet den fikk sist, som den typisk har lagret i cache, fortsatt gjelder.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Denne prosessen gj&#248;r ikke alltid lasten p&#229; serveren mindre. I noen tilfeller, for eksempel n&#229;r man har en &lt;span class=&quot;caps&quot;&gt;HTTP&lt;/span&gt;-server som henter filer fra filsystemet, vil serveren kunne beregne sjekksummen med relativt lav kostnad. I eksempelet med filer kan man bruke tidspunktet fila sist ble endret, og dermed slippe &#229; lese inn fila. I andre tilfeller m&#229; serveren faktisk hente innholdet og beregne sjekksummen p&#229; nytt, noe som gir omtrent samme belastning p&#229; serveren som f&#248;r.&lt;/p&gt;


	&lt;p&gt;Imidlertid er det to andre faktorer som spiller inn: tiden det tar &#229; transportere selve dataene tilbake over nettet og tiden det tar for klienten &#229; tolke innholdet. Det tar tid &#229; parse &lt;span class=&quot;caps&quot;&gt;HTML&lt;/span&gt;, det tar tid &#229; parse &lt;span class=&quot;caps&quot;&gt;CSS&lt;/span&gt;, det tar tid &#229; parse &lt;span class=&quot;caps&quot;&gt;XML&lt;/span&gt; og javascript.&lt;/p&gt;


&lt;h2&gt;En slektning: If-modified-since&lt;/h2&gt;


	&lt;p&gt;En lignende situasjon som der man bruker ETags er der klienten selv kan angi overfor serveren kriterier som skal tilfredsstilles for &#229; avgj&#248;re om innholdet har endret seg eller ikke. Til dette kan man bruke headeren &lt;code&gt;If-modified-since&lt;/code&gt;. Om du for eksempel lager et mailsystem der klienten kan hente nye meldinger over &lt;span class=&quot;caps&quot;&gt;HTTP&lt;/span&gt; kan man tenke seg at klienten sjekker etter nye meldinger hvert femte minutt. Vi kan da tenke oss dette scenariet:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;F&#248;rste gang klienten sp&#248;r etter nye meldinger returnerer serveren alle meldinger som ligger i innboksen&lt;/li&gt;
		&lt;li&gt;Klienten &amp;#8220;husker&amp;#8221; s&#229; dette tidspunktet inntil den skal hente meldinger igjen&lt;/li&gt;
		&lt;li&gt;N&#229;r klienten fem minutter seinere sjekker etter nye meldinger sender den &lt;span class=&quot;caps&quot;&gt;HTTP&lt;/span&gt;-headeren &lt;code&gt;If-modified-since&lt;/code&gt; med tidspunkt for siste sjekk som verdi&lt;/li&gt;
		&lt;li&gt;Serveren kan da sjekke om det er kommet nye meldinger til denne brukeren siden sist. Hvis det ikke finnes nye meldinger svarer s&#229; serveren med en &lt;code&gt;304 Not Modified&lt;/code&gt;, og vi sparer igjen nettverkstrafikken og parsing av responsdataene&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;For en vanlig webapplikasjon, der klientene er vanlige nettlesere, er antakelig ETags den enkleste l&#248;sningen. En nettleser &lt;em&gt;skal&lt;/em&gt; nemlig sende med informasjon om siste ETag den fikk, og man legger dermed ansvaret for &#229; avgj&#248;re om innholdet er endret til serveren. For en applikasjon der man kan styre betingelsene fra klienten, for eksempel der klientene er et &lt;span class=&quot;caps&quot;&gt;API&lt;/span&gt;, gir imidlertid If-Modified-Since-headeren mer finkornet kontroll. Om vi skjematisk sammenligner de to modellene kan det se slik ut:&lt;/p&gt;


&lt;h2&gt;ETags&lt;/h2&gt;


	&lt;ul&gt;
	&lt;li&gt;Klienten: jeg er interessert i innholdet /people, sist jeg h&#248;rte fra deg var sjekksummen for dette innholdet &amp;#8220;abscder90&amp;#8221; &lt;/li&gt;
		&lt;li&gt;Serveren: OK, innholdet du har er fortsatt gyldig&lt;/li&gt;
	&lt;/ul&gt;


&lt;h2&gt;If-Modified-Since&lt;/h2&gt;


	&lt;ul&gt;
	&lt;li&gt;Klienten: gi meg innholdet /people bare hvis det har endret seg siden klokka sju imorges&lt;/li&gt;
		&lt;li&gt;Serveren: OK, innholdet har ikke endret seg&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Hvis vi for eksempel tenker oss at Twitter hadde st&#248;ttet If-Modified-Since-headeren kunne en &lt;span class=&quot;caps&quot;&gt;API&lt;/span&gt;-klient spurt etter nye meldinger siden et gitt tidspunkt. Serveren kunne s&#229; hatt en kolonne i sitt User-objekt som holder rede p&#229; sist en ny melding ble mottatt. Ved hjelp at en enkelt &lt;span class=&quot;caps&quot;&gt;SQL&lt;/span&gt;-sp&#248;rring kunne serveren s&#229; avgjort om den kan sende en &lt;code&gt;304 Not Modified&lt;/code&gt; eller om den m&#229; inn og hente nye meldinger fra databasen. Om man i tillegg tar denne litt lenger kunne vi tenke oss at dersom innholdet har endret seg sender serveren bare det nye innholdet tilbake. &lt;a href=&quot;http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html&quot;&gt;&lt;span class=&quot;caps&quot;&gt;HTTP&lt;/span&gt;-spesifikasjonen&lt;/a&gt; har en egen header til dette form&#229;let: &lt;code&gt;If-Range&lt;/code&gt;. Med &lt;code&gt;If-Range&lt;/code&gt; kan man angi b&#229;de en ETag og en dato. P&#229; denne m&#229;ten angir klienten at den har en delvis representasjon av innholdet, og at den bare er interessert i det som er nytt siden sist. Serveren skal da svare med &lt;code&gt;206 Partial content&lt;/code&gt; header, sammen med endringene.&lt;/p&gt;


	&lt;p&gt;Det er bra at &lt;a href=&quot;http://ryandaigle.com/articles/2008/8/14/what-s-new-in-edge-rails-simpler-conditional-get-support-etags&quot;&gt;Rails har f&#229;tt st&#248;tte for ETags&lt;/a&gt;, men dette er bare begynnelsen. &lt;span class=&quot;caps&quot;&gt;HTTP&lt;/span&gt;-spesifikasjonen ble plutselig langt mer interessant lesning enn jeg hadde tenkt meg.&lt;/p&gt;</content>
    <author>
      <name>Marius M&#229;rnes Mathiesen</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/77</id>
    <published>2008-07-30T12:34:25Z</published>
    <updated>2010-11-02T16:54:59Z</updated>
    <link type="text/html" href="/blogg/2008/7/30/rails-tips-virtuelle-attributter" rel="alternate"/>
    <title>Rails-tips: virtuelle attributter</title>
    <content type="html">&lt;p&gt;Noen ganger &#248;nsker du &#229; vise felter i et skjema som ikke direkte korresponderer med felter i databasen. Her er et tips p&#229; hvordan du kan gj&#248;re dette p&#229; en mer elegant m&#229;te.&lt;/p&gt;&lt;p&gt;La oss si at du har en modell User som har et for- og etternavn, slik at du kan sortere brukerlistene dine etter for- eller etternavn. N&#229;r du viser kunden websida for brukerregistrering protesterer de imidlertid p&#229; at det er to felter; det blir for mye tabbing etter deres smak. Du vurderer &#229; migrere dataene dine til &#229; ha et felt for name istedet for de to feltene du har, men det finnes en enklere l&#248;sning.&lt;/p&gt;


	&lt;p&gt;F&#248;rst lager du to metoder i User-klassen din: en getter og en setter for navn:&lt;/p&gt;


&lt;pre name=&quot;code&quot; class=&quot;ruby&quot;&gt;
class User
  def name
    [first_name, last_name].join(&quot; &quot;)
  end

  def name=(a_name)
    first, last = a_name.split(' ')
    self.first_name = first
    self.last_name  = last
  end
end
&lt;/pre&gt;

	&lt;p&gt;Ved &#229; lage disse to metodene ser det ut som users-tabellen din har et name-felt, men det har den ikke &amp;#8211; den har to metoder som henholdsvis setter og leser to andre felter i modellen. En ting du kanskje ikke visste er at disse metodene kan brukes i en rekke Rails-metoder, for eksempel slik:&lt;/p&gt;


&lt;pre name=&quot;code&quot; class=&quot;ruby&quot;&gt;
john = User.new(:name =&amp;gt; &quot;John Doe&quot;)
jane.update_attributes(:name =&amp;gt; &quot;Jane Doe&quot;)
&lt;/pre&gt;

	&lt;p&gt;Grunnen til at dette fungerer er m&#229;ten Rails fungerer p&#229;. For hvert n&#248;kkel/verdi-par som sendes inn til disse metodene (&lt;code&gt;new&lt;/code&gt; &lt;code&gt;build&lt;/code&gt;, &lt;code&gt;update_attributes&lt;/code&gt;) kalles metoden som ligger i symbolet med verdien som ligger i verdien. For eksempel &lt;code&gt;a_user.update_attributes(:name =&amp;gt; &quot;John Doe&quot;)&lt;/code&gt; vil metoden &lt;code&gt;name=&lt;/code&gt; kalles med parameteret &lt;code&gt;&quot;John Doe&quot;&lt;/code&gt;. Dette kan du benytte deg av. La oss si at du har en &lt;code&gt;UsersController&lt;/code&gt; med en &lt;code&gt;create&lt;/code&gt;-action som ser slik ut:&lt;/p&gt;


&lt;pre name=&quot;code&quot; class=&quot;ruby&quot;&gt;
def create
  @user = User.new(params[:user])
  if @user.save
    redirect_to &quot;/&quot; 
  else
    render :action =&amp;gt; &quot;new&quot; 
  end
end
&lt;/pre&gt;

	&lt;p&gt;Hvis du har et form som ser slik ut:&lt;/p&gt;


&lt;pre name=&quot;code&quot; class=&quot;html&quot;&gt;
&amp;lt;% form_for(@user) do |form| %&amp;gt;
&amp;lt;%= form.label :name %&amp;gt;
&amp;lt;%= form.text\_field :name %&amp;gt;
&amp;lt;%= submit_tag %&amp;gt;
&amp;lt;% end %&amp;gt;
&lt;/pre&gt;

og du fyller inn &amp;#8220;Jon Hansen&amp;#8221; i name-feltet, vil disse parametrene sendes inn til &lt;code&gt;create&lt;/code&gt;-action&amp;#8217;en din:
&lt;pre name=&quot;code&quot; class=&quot;ruby&quot;&gt;
  user =&amp;gt; {:name =&amp;gt; &quot;Jon Hansen&quot;}
&lt;/pre&gt;

	&lt;p&gt;Dermed vil dette hashet sendes inn som parameter til &lt;code&gt;User.new&lt;/code&gt;-action&amp;#8217;en i controlleren, og &lt;code&gt;first_name&lt;/code&gt; og &lt;code&gt;last_name&lt;/code&gt;-feltene vil bli satt slik du &#248;nsker.&lt;/p&gt;


	&lt;p&gt;Et mer konstruert eksempel kan v&#230;re om du har en User-klasse og en Mood-klasse. Hver User har et hum&#248;r (Mood), som representerer et hum&#248;r denne brukeren har n&#229;; la oss si at du &#248;nsker &#229; kunne finne et hum&#248;r (&lt;code&gt;Mood.find_by_name 'Tired'&lt;/code&gt;) og finne alle brukere som har dette hum&#248;ret. Om du skriver noe som:&lt;/p&gt;


&lt;pre name=&quot;code&quot; class=&quot;ruby&quot;&gt;
class User
  belongs_to :mood
end
class Mood
  has_many :users
end
&lt;/pre&gt;

	&lt;p&gt;har du en enkel datamodell som st&#248;tter dette. Men selv om du n&#229; har en egen modell for alle hum&#248;rene &#248;nsker du ikke at brukeren m&#229; g&#229; inn p&#229; en egen side for &#229; lage nye hum&#248;rer, du &#248;nsker bare at brukeren skal kunne skrive inn en tekst i et tekstfelt, og s&#229; blir det riktige hum&#248;ret funnet eller opprettet:&lt;/p&gt;


&lt;pre name=&quot;code&quot; class=&quot;ruby&quot;&gt;
class User
  belongs_to :mood
  def current_mood
    mood.name
  end

  def current_mood=(a_mood_name)
    a_mood = Mood.find_or_create_by_name(a_mood_name)
    self.mood = a_mood
  end
&lt;/pre&gt;

	&lt;p&gt;Du kan n&#229; lage eller hente et Mood-objekt basert p&#229; en tekstverdi. Og for &#229; la brukeren skrive inn en tekst p&#229; profilsida si for &#229; angi hum&#248;r kan du bare bruke:&lt;/p&gt;


&lt;pre name=&quot;code&quot; class=&quot;html&quot;&gt;
&amp;lt;% form_for(@user) do |form| %&amp;gt;
&amp;lt;%= form.label :current_mood %&amp;gt;
&amp;lt;%= form.text_field :current_mood %&amp;gt;
&amp;lt;% end %&amp;gt;
&lt;/pre&gt;

	&lt;p&gt;og du trenger ikke endre en linje i modellen din.&lt;/p&gt;</content>
    <author>
      <name>Marius M&#229;rnes Mathiesen</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/76</id>
    <published>2008-07-29T11:33:21Z</published>
    <updated>2008-07-29T13:17:52Z</updated>
    <link type="text/html" href="/blogg/2008/7/29/all-teknologi-trenger-en-katalysator-og-litt-guldfeber" rel="alternate"/>
    <title>All teknologi trenger en katalysator. Og litt guldfeber</title>
    <content type="html">&lt;p&gt;Med seneste iPhone oppdateringen ga Apple oss entligen muligheten til &#229; laste ner tredjeparts applikasjoner via iTunes.&lt;/p&gt;


	&lt;p&gt;Desverre virker det v&#230;re litt for mye guld-feber syndrom over mange av de applikasjoner som er til salgs; de tilbyr egentligen ikke noe som er v&#230;rdt s&#229; veldig mye.&lt;/p&gt;&lt;p&gt;For Ruby var katalysatorn uten tvivel Rails. Vi s&#229; muligheterne Ruby gav oss, i begynnelsen p&#229; en mer indirekte m&#229;te gjennom at det hjalp oss til &#229; bli mer produktive. Men efter en stund inser vi styrken i Ruby og det er da vi virkelig f&#229;r til kule ting.&lt;/p&gt;


	&lt;p&gt;Det samme gjelder Erlang (om enn ikke i like stor grad), web 2.0 illusjonen om at alle bare &lt;em&gt;m&#229;&lt;/em&gt; kunne skalere inn i himmelen har f&#229;tt folk til &#229; f&#229; opp &#248;ynene for Erlang med sine lettvekts-prosseser og lovord om nesten oendelig skalering.&lt;/p&gt;


	&lt;p&gt;Men den virkelige katalysatorn ligger nok i kombinasjonen teknologi som er nyttig hos forbrukeren og utvikleren som blir imponert av muligheterne selve teknologin (eller implementasjonen) gir. Men ikke minst &#229;penbaringen om at denne teknologin faktiskt kan hjelpe oss utvikle et produkt vi har haft i tankene en lengre tid. Og den endelige konsekvensen av en s&#229;dan katalysator er &lt;em&gt;muligheten&lt;/em&gt; for folk at tjene penger p&#229; den.&lt;/p&gt;


	&lt;p&gt;Akkurat n&#229; virker det som at Cocoa p&#229; iPhonen er akkurat den teknologin, Objective-C sammen med Cocoa er &lt;a href=&quot;http://shortcut.no/blog/2008/7/4/mvc-kan-vare-sa-mangt&quot;&gt;virkelig fine ting&lt;/a&gt;:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Kul teknologi, med mange &#229;r p&#229; nakken som gir et komplett oppsett med l&#248;sninger p&#229; domene-spesifike problemer (Cocoa)&lt;/li&gt;
		&lt;li&gt;Kul dings som gir forbrukeren &amp;#8220;vil ha&amp;#8221; f&#248;lelse (iPhone)&lt;/li&gt;
		&lt;li&gt;Muligheten at tjene penger fra &amp;#8220;soverommet&amp;#8221; (iTunes app store)&lt;/li&gt;
	&lt;/ul&gt;


	&lt;h4&gt;Kul teknologi&lt;/h4&gt;


	&lt;p&gt;Cocoa er et rammeverk med otrolig mange fine l&#248;sninger p&#229; problem som er relativt spesifike for &lt;span class=&quot;caps&quot;&gt;GUI&lt;/span&gt; applikasjoner og sammen med spr&#229;ket Objective-C gir det samme f&#248;lelsen av produktivitet som Rails gir oss. For en teknolog som mig er det nok dette som gj&#248;r mig mest glad.&lt;/p&gt;


	&lt;h4&gt;Kul dings&lt;/h4&gt;


	&lt;p&gt;Det er ikke mange andre produkter en en iPhone som f&#229;r folk til &#229; st&#229; tidligt opp om morgonen for at stille sig i k&#248; utenfor butikken i h&#229;pet om at f&#229; kj&#248;pt sig en iPhone idag, eller dele tvivelen (og rykten) med andre om hvorvitt butikken faktiskt har f&#229;tt inn de p&#229; lager denne dagen eller ikke.&lt;/p&gt;


	&lt;h4&gt;Muligheten for vinst&lt;/h4&gt;


	&lt;p&gt;Visserligen finnes det alltid en mulighet at ta betalt for produkter og tjenester, hele samfunnet bygger trots allt p&#229; dette. Men med &lt;a href=&quot;http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewGenre?id=36&amp;#38;mt=8&quot;&gt;iTunes App Store&lt;/a&gt; &#229;pner det faktiskt enda mer for den lille utvikleren med en bra ide som jobber fra soverommet sitt at tjene penger gjennom App Store. Vilke pris-modeller som kommer fram er derimot ganske ovisst enn s&#229; lenge, det krever ikke mye matematikk for at inse at man ska selge en del for tjene inn det som faktiskt koster at utvilke applikasjonen.&lt;/p&gt;


	&lt;p&gt;Akkurat det siste er vel ganske tydeligt i App Storen akkurat n&#229;. Ser man i &amp;#8220;productivity&amp;#8221; seksjonen ser man ikke helt uventet minst 35 forskjellige todo-liste eller &lt;span class=&quot;caps&quot;&gt;GTD&lt;/span&gt; applikasjoner. Grunnen til det er nok at todo-list-applikasjonen er p&#229; samme linje som at skrive sin egen blogg-programvare; det er den avanserte varianten av &amp;#8220;hello world&amp;#8221;.&lt;/p&gt;


	&lt;p&gt;Utvalg er flotte saker, men en liste er en liste og det er begrennset hvor mye innovasjon det f&#229;r plass der. For at ikke snakke om kjedelige twitter-klienter, d&#229;ligt lagde pusselspil, poker eller kanskje den beste av de alle: &lt;a href=&quot;http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=284911691&amp;#38;mt=8&quot;&gt;Dice&lt;/a&gt;, 6 kroner vel brukt&amp;#8212;let the &lt;strike&gt;dice&lt;/strike&gt; $$$ roll!&lt;/p&gt;


	&lt;p&gt;Poenget her er vel egentligen at om du sitter med en iPhone applikasjon i ermet, s&#229; h&#229;per jeg virkelig at den ikke er av den typen jeg har nevnt. Ikke lag en iPhone versjon av siten din som i bunn og grunn ikke er mere enn en glorifisert &lt;span class=&quot;caps&quot;&gt;RSS&lt;/span&gt; lesere. En s&#229;n har jeg allerede. Jeg ser spesiellt p&#229; dere alle norges aviser, ikke begynn med det mest &#229;penbare dere kan komme p&#229;. Dra den litt lengre s&#229; at applikasjonen faktiskt drar nytte av muligheterne som gis. Jeg har all respekt for den tiden det tar &#229; lage noe, for den er alltid st&#248;rre enn man tror og selvsagt skal der v&#230;re plass til den lille utvikleren med den lille id&#233;en (for de kan v&#230;re like mye v&#230;rt som de store), men tenk iaf efter en gang for du lager noe (og ikke minst pr&#248;ver &#229; ta betalt) for noe som allerede finnes i App Storen.&lt;/p&gt;


	&lt;p&gt;En ting er iaf sikkert, iPhone gir nye muligheter presentert i finere pakke enn vi har sett f&#248;rr, men likevel: lag noe som faktiskt bruker de muligheter iPhonen gir dig som utvikler; &lt;span class=&quot;caps&quot;&gt;GPS&lt;/span&gt;, trykkf&#248;lsom skjerm og nett. Noe som binder iPhonen &lt;em&gt;sammen&lt;/em&gt; med omverdenen, ikke bare noe som kopierer den.&lt;/p&gt;</content>
    <author>
      <name>Johan S&#248;rensen</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/75</id>
    <published>2008-07-25T11:25:54Z</published>
    <updated>2009-05-28T10:44:11Z</updated>
    <link type="text/html" href="/blogg/2008/7/25/37signals-colorpicker-getting-real-og-shortcut" rel="alternate"/>
    <title>37Signals, Colorpicker, Getting Real og... Shortcut</title>
    <content type="html">&lt;p&gt;37Signals har kommet med ny &lt;a href=&quot;http://www.37signals.com/svn/posts/1154-new-color-picker-in-basecamp&quot;&gt;color picker  i Basecamp&lt;/a&gt; nylig. Spennende for dem, og grunnlag nok for en sunn diskusjon hos oss.&lt;/p&gt;&lt;p&gt;Vi i Shortcut har alle sterke meninger om mye. Deriblant &lt;a href=&quot;http://www.37signals.com/&quot;&gt;37Signals&lt;/a&gt; og deres metoder og produkter. Og selv om vi er plassert forskjellige steder (R&#229;duhsgaten, ute hos kunder og &#233;n i Buenos Aires), g&#229;r dialogen fritt&amp;#8230; takket v&#230;re 37Signals&amp;#8217; program &lt;a href=&quot;http://www.campfirenow.com/&quot;&gt;Campfire&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;
S&#229;, i kjent 37Signals-stil er det g&#248;y &#229; dele v&#229;r synsing og dialog med dere. Kom gjerne med kommentarer nederst p&#229; siden.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;


&lt;dl&gt;
  &lt;dt&gt;
    &lt;strong&gt;Johan&lt;/strong&gt;
  &lt;/dt&gt;
  &lt;dd&gt;
    Er jeg virkelig den eneste som ser &amp;#8220;getting real&amp;#8221; som et stort markedsf&#248;rings-materiale for 37s?
  &lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;August Lilleaas&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;er vel det ogs&#229;, ja
ser ikke for meg at det var markedsf&#248;ring som var hovedmotivasjonen til boka, men
&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;Johan&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;Nei. Jeg syns bare det blir s&#229; &#229;penbart, som en salgs unnskyldning for den typen apper de lager
syns det er fint de tar et &amp;#8220;standpunkt&amp;#8221; med at &amp;#8220;dette gj&#248;r vi&amp;#8221;, men jeg irriterer mig p&#229; preikendet
&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;August Lilleaas&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;synes ikke appene deres trenger noen unnskyldning
unnskyldning for hva, egentlig?&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;Marius&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;For at det ikke er flere features antar jeg. Tradisjonelt har man jo vurdert software etter antall features (innkj&#248;pere setter opp digre matriser der de sammenligner hva X, Y og Z kan gj&#248;re) &amp;#8211; og antar at den med flest features er best.&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;Johan&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;appene deres trenger kanskje ikke noen unnskylding iom at det er det de st&#229;r for
men jeg mener at gettingreal blir som en slags unnskylding n&#229;r folk kommer med forslag til appene ders
&amp;#8220;no way, hallo. vi driver med getting real her, ikke noe s&#229;nt tull som at du kommer med forslag. ikke lov.&amp;#8221; 
noe
men folk svelger det med hud og h&#229;r som om det vore en salgs ultimat sanning
blir s&#229; lett &amp;#8220;The Church of Getting Real&amp;#8221; over det&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;August Lilleaas&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;synes det er greit &#229; ikke h&#248;re p&#229; forslag, opp til dem. De er ikke monopolister, man kan jo velge noe annet&amp;#8482;. Er det forresten s&#229;nn at de konsekvent ikke h&#248;rer p&#229; forslag fra folk?&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;Johan&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;er iaf en del som klager p&#229; den customer service de f&#229;r fra de har jeg sett
de gj&#248;r sm&#229; fine apper uten tvivel
men de er s&#229; ensidige
kanskje er ingenj&#246;ren i mig, men
http://www.37signals.com/svn/posts/1154-ne&#8230;
is that it?
er det virkelig allt som ska til for at 32 ska kommentere med &amp;#8220;wow that&amp;#8217;s amazing&amp;#8221;&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;Marius&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;Noen som har h&#248;rt noen rykter om det er noe nytt p&#229; gang fra 37s?&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;August Lilleaas&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;synes den er kjempefin jeg =)
kan ikke huske &#229; ha sett en s&#229; sexy colorpicker f&#248;r&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;Johan&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;de ser jo s&#229;n ut alle sammen?&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;August Lilleaas&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;selve colorpickeren ser vel ut som alle andre colorpickere, ja&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;August Flatby&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;Greia med 37signals er at de greier &#229; polarisere brukerne: enten elsker man det de lager, eller s&#229; hater man det. I begge tilfeller greier man &#229; skape debatt og dermed god PR.&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;Johan&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;da tror jeg hater dem ;)&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;August Flatby&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;Det viktigste er at folk ikke er likegyldige. Ref Zunes&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;Marius&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;Kan det ikke v&#230;re s&#229;nn at &lt;em&gt;en&lt;/em&gt; m&#229;te &#229; lykkes p&#229; er &#229; polarisere brukerne sine &amp;#8211; og at dette passer bra hvis man er cocky av type. En annen m&#229;te er &#229; lage noe som er s&#229; j&#230;vlig bra at folk ikke f&#248;ler det er noe alternativ &amp;#8211; la oss kalle det Google-metoden.&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;Johan&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;ja ikke sant det er jo mye mer intressant og pr&#248;ve &#229; lage simplicitet ut fra kompleksitet
enn &#229; lage en simpel wiki+todoliste der en liten colorpicker er det heteste p&#229; tre m&#229;neder&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;August Lilleaas&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;n&#229;h
har h&#248;rt folk si at de kunne laget basecamp p&#229; en helg
men det er nettopp silke ting som at de bruker 3 m&#229;neder p&#229; &#229; f&#229; sm&#229;ting perfekt som gj&#248;r basecamp til det det er&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;Johan&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;det er ikke tiden det tar &#229; lage noe jeg mindregj&#248;r, det er resultatet&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;Marius&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;Jeg fors&#248;kte &#229; bruke Basecamp p&#229; mange prosjekter i ett &#229;r, og du vil ikke tro hvor mange ting man savner s&#229; snart man slutter &#229; la seg sjarmere av kubjeller og fors&#248;ker &#229; f&#229; gjort noe&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;Johan&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;jeg har all respekt for selve prosessen &#229; lage appen, mitt poeng er at jeg synes det er ganske ointressant resultat&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;August Lilleaas&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;@marius: ja, det er vel det 37s vil ogs&#229;. De har mange brukere av basecamp som synes basecamp har alt de trenger
s/har alt de trenger/har alt som trengs/&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;Marius&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;Mitt poeng var at jeg var fullstendig solgt p&#229; alt de sa om Basecamp og mente det passet fantastisk til v&#229;re behov (=Fatguy m/partnere og kundene v&#229;re). S&#229; markedsf&#248;ringa fikk meg helt hekta. Men s&#229; skulle det vise seg at det var ubrukelig i praksis. Man kan ikke kommentere items i todolista, det er ikke mulig &#229; linke en melding til fx et writeboard eller omvendt, det funka rett og slett ikke. Resultatet vat at jeg ble sittende med en tekstliste i Textmate og vi samarbeidet ved &#229; dele et dokument i Google Docs.&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;John Eivind&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;Wow, s&#229; morsom samtale dere har hatt&amp;#8230; Jeg har g&#229;tt fra &#229; bare mislike 37s da jeg begynte i Fatguy med Marius &amp;#38; co. og alle digget disse appene som jeg ikke klarte &#229; skille fra hverandre. Fortsatt synes jeg det de lager ikke er stort nok til &#229; v&#230;re s&#229; store i kjeften som de er. Og fullstendig enig med Johan; wtf en colorpicker? Javel&amp;#8230; (Dessuten var den gml bedre for der kunne jeg legge inn fargeprofil-hex&amp;#8217;en. Skal man detalj-style individuelt, er det gjerne for matche noe som finnes, og som har hex&amp;#8217;er.)&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;John Eivind&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;Men likevel, n&#229; er jeg veldig fascinert av tankene til 37s. Jeg ble utrolig inspirert av GettingReal i ferien, og synes de sier mye smart som vi b&#248;r tenke p&#229;. Alle ut-p&#229;-tur-ryggsekk-allegori-appene interesserer meg ikke, men de er kloke mennesker.&lt;br /&gt;
Og de er jo enig med Johan, under markedsf&#248;ringskap. nevner de &#229; skrive b&#248;ker (nudge nudge) for &#229; markedsf&#248;re seg selv&amp;#8230; Der &#233;r det de gj&#248;r!&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;John Eivind&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;Skal vi gj&#248;re hva de gj&#248;r? Poste hele denne dialogen som en blogg? :-D&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;Marius&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;+1&lt;/dd&gt;
&lt;/dl&gt;

	&lt;p&gt;Ironin i at dette diskuteres via Campfire borde v&#230;re tydelig&amp;#8230;&lt;/p&gt;</content>
    <author>
      <name>John Eivind Hall&#233;n</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/73</id>
    <published>2008-07-04T07:29:19Z</published>
    <updated>2010-09-27T03:53:19Z</updated>
    <link type="text/html" href="/blogg/2008/7/4/mvc-kan-vare-sa-mangt" rel="alternate"/>
    <title>MVC kan v&#230;re s&#229; mangt</title>
    <content type="html">&lt;p&gt;Som Rails-utvikler har man god erfaring med &lt;em&gt;en&lt;/em&gt; m&#229;te &#229; gj&#248;re &lt;span class=&quot;caps&quot;&gt;MVC&lt;/span&gt;-programmering p&#229;. Cocoa viser oss en helt annen.&lt;/p&gt;&lt;p&gt;Cocoa, rammeverket for Mac-applikasjoner, er p&#229; samme m&#229;te som Rails basert p&#229; &lt;span class=&quot;caps&quot;&gt;MVC&lt;/span&gt; &amp;#8211; Model View Controller. Begrepet ble lansert av &lt;a href=&quot;http://heim.ifi.uio.no/trygver/&quot;&gt;Trygve Reenskaug&lt;/a&gt; da han bes&#248;kte Xerox &lt;span class=&quot;caps&quot;&gt;PARC&lt;/span&gt; (du vet, der Steve Jobs fikk alle de gode ideene) i 1978, Reenskaug beskriver det slik:&lt;/p&gt;


&lt;blockquote&gt;
	&lt;p&gt;I created the Model-View-Controller pattern as an obvious solution to the general problem of giving users control over their information as seen from multiple perspectives.&lt;/p&gt;

&lt;/blockquote&gt;




	&lt;p&gt;&lt;span class=&quot;caps&quot;&gt;MVC&lt;/span&gt; er ikke s&#229; mye en fasit for hvordan man bygger noe som et ideal eller prinsipp. Rails gj&#248;r det p&#229; sin m&#229;te, prim&#230;rt ved &#229; gi oss tre mapper i Railsprosjektene vi lager: &lt;strong&gt;controllers&lt;/strong&gt;, &lt;strong&gt;views&lt;/strong&gt; og &lt;strong&gt;models&lt;/strong&gt;. Ettersom webben er tilstandsl&#248;s (webserveren &amp;#8220;husker&amp;#8221; ingenting fra foresp&#248;rsel til foresp&#248;rsel) har controlleren typisk et tungt lass &#229; dra p&#229; webben; den skal h&#229;ndtere &lt;span class=&quot;caps&quot;&gt;HTTP&lt;/span&gt;-headere, request-parametre, routing, styring av innholdstyper osv. I Rails er mange av disse oppgavene h&#229;ndtert av selve rammeverket, men idet Rails overlater kontrollen til en controller-action du har skrevet har det allerede foreg&#229;tt mye i kulissene.&lt;/p&gt;


	&lt;p&gt;Hvis man sammenligner med en vanlig &lt;span class=&quot;caps&quot;&gt;GUI&lt;/span&gt;-applikasjon er ting ganske annerledes. Her har programmet gjerne all tilstand selv, og svarer umiddelbart idet brukeren klikker p&#229; en knapp eller velger noe fra en meny. I motsetning til en webapplikasjon, der nettleseren f&#248;rst skal koble seg til serveren, sende over parametre, vente p&#229; svar og gj&#248;re noe med responsen, foreg&#229;r alt dette i samme prosess i en &lt;span class=&quot;caps&quot;&gt;GUI&lt;/span&gt;-applikasjon.&lt;/p&gt;


	&lt;p&gt;I Cocoa er det en mye tettere integrasjon mellom viewene og controllerne enn p&#229; web, noe som har gitt meg ny innsikt i det egentlige forholdet mellom disse to. Veldig mye av controller-koden i en typisk Rails-applikasjon er ca 50% initialisering av tilstand og objekter, innlesing av parametre osv. I Cocoa er controlleren mer som en lydig slave for viewet. Et bra eksempel er n&#229;r du skal bruke en tabell som skal inneholde en liste med data i en Cocoa-applikasjon. Du kan da bruke en NSTableView-kontroll i &lt;span class=&quot;caps&quot;&gt;GUI&lt;/span&gt;-et ditt. Denne kontrollen kan du gi en datakilde (data source), som er ansvarlig for &#229; levere data til tabellen og h&#229;ndtere innlegging av nye rader, sletting osv. Og her er det Cocoa virkelig skiller seg fra webutvikling. Istedet for at man s&#229; forteller datakilden (eller viewet) at den skal legge inn en rad med kolonner x, y og z i tabellen er det helt omvendt i Cocoa. Tabellen vil istedet sende hovedsaklig to meldinger til viewet:&lt;/p&gt;


&lt;pre name=&quot;code&quot;&gt;
tableView:numberOfRowsInSection:
tableView:objectValueForTableColumn:row:
&lt;/pre&gt;

	&lt;p&gt;Ikke la deg skremme av at dette er Objective C, dette er bare to meldinger som et objekt som er satt til &#229; v&#230;re datakilde for en tabell vil motta. Den f&#248;rste meldingen sp&#248;r datakilden om hvor mange rader tabellen skal inneholde, den andre sp&#248;r om hvilken verdi som skal vises i en gitt kolonne i en gitt rad. Cocoa vil alts&#229; f&#248;rst sp&#248;rre hvor mange rader tabellen skal ha, og s&#229; vise det antall rader som er synlig i grensesnittet ved &#229; sp&#248;rre etter verdier for hver kolonne i hver rad. Idet brukeren scroller nedover i tabellen vil datakilden igjen sp&#248;rre etter nye rader og kolonner &amp;#8211; viewet s&#248;rger alts&#229; selv for &#229; hente de dataene som er relevante for grensesnittet.&lt;/p&gt;


	&lt;p&gt;Det har de siste m&#229;nedene blitt ganske popul&#230;rt &#229; erstatte paginerte sider (med Google-lignende linker for hver side i resultatsettet) med lister som scroller uendelig &amp;#8211; der nye data hentes idet brukeren scroller siden. Jeg har ikke sett n&#248;ye p&#229; hvordan dette l&#248;ses, men en god kandidat kunne v&#230;rt &#229; bruke Cocoas tiln&#230;rming.&lt;/p&gt;


	&lt;p&gt;Ig&#229;r satt jeg og fiklet litt med hvordan man lager iPhone webapplikasjoner med Dashcode, da jeg oppdaget at Apple bruker akkurat samme tiln&#230;rming n&#229;r man skal lage en dynamisk liste i &lt;span class=&quot;caps&quot;&gt;HTML&lt;/span&gt;/javascript for iPhone. Jeg la inn en liste-widget i GUIet og sa at denne skulle bruke en datakilde for &#229; hente data, hvorp&#229; Dashcode laget et javascript-objekt som s&#229; slik ut:&lt;/p&gt;


&lt;pre name=&quot;code&quot; class=&quot;javascript&quot;&gt;
// This object implements the dataSource methods for the list.
var listDataSource = {

    // Sample data for the content of the list. 
    // Your application may also fetch this data remotely via XMLHttpRequest.
    _rowData: [&quot;Item 1&quot;, &quot;Item 2&quot;, &quot;Item 3&quot;],

    // The List calls this method to find out how many rows should be in the list.
    numberOfRows: function() {
        return this._rowData.length;
    },

    // The List calls this method once for every row.
    prepareRow: function(rowElement, rowIndex, templateElements) {
        // templateElements contains references to all elements that have an id in the template row.
        // Ex: set the value of an element with id=&quot;label&quot;.
        if (templateElements.label) {
            templateElements.label.innerText = this._rowData[rowIndex];
        }

        // Assign a click event handler for the row.
        rowElement.onclick = function(event) {
            // Do something interesting
            alert(&quot;Row &quot;+rowIndex);
        };
    }
};
&lt;/pre&gt;

	&lt;p&gt;Her har man alts&#229; et javascript-objekt med to funksjoner der den ene skal returnere antall rader i lista og den andre skal returnere data for en rad i lista. Man har alts&#229; en widget for websida som bruker en slags protokoll for &#229; snakke med datakilden sin. Det er jo &amp;#8211; som eksempelkoden antyder &amp;#8211; trivielt &#229; bruke datakilder p&#229; nettet til &#229; drive listene, for eksempel med Ajax/XmlHttpRequest. Det virkelig interessante er &#229; introdusere et slags controller-lag i javascript, ettersom dette er tilgjengelig mens siden kj&#248;rer. Om man &#248;nsker &#229; oppdatere dataene i en slik liste trenger man ikke l&#248;pe gjennom alle radene p&#229; nytt, man sender istedet en melding til objektet:&lt;/p&gt;


&lt;pre name=&quot;code&quot; class=&quot;javascript&quot;&gt;
document.getElementById(&quot;list&quot;).object.reloadData();
&lt;/pre&gt;

	&lt;p&gt;Her har vi et &lt;span class=&quot;caps&quot;&gt;HTML&lt;/span&gt;-element som heter &lt;strong&gt;list&lt;/strong&gt;, der vi forteller datakilden (&lt;strong&gt;object&lt;/strong&gt;) &#229; laste dataene p&#229; nytt. Det som da skjer er at datakilden v&#229;r vil bli sendt meldingene numberOfRows() og prepareRow() p&#229; samme m&#229;te som f&#248;r.&lt;/p&gt;


	&lt;p&gt;Jeg tror vi ser omrisset av en ny generasjon webapplikasjoner der ute n&#229;.&lt;/p&gt;</content>
    <author>
      <name>Marius M&#229;rnes Mathiesen</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/71</id>
    <published>2008-06-12T13:00:41Z</published>
    <updated>2008-06-13T08:29:40Z</updated>
    <link type="text/html" href="/blogg/2008/6/12/save-webpage-as-web-application" rel="alternate"/>
    <title>Save webpage as Web Application</title>
    <content type="html">&lt;p&gt;I sammenheng med utviklerkonferansen &lt;a href=&quot;http://developer.apple.com/&quot;&gt;&lt;span class=&quot;caps&quot;&gt;WWDC 2008&lt;/span&gt;&lt;/a&gt; som p&#229;g&#229;r i disse dager, har Apple sluppet en utviklingsutgave av favorittnettleseren sin: Safari 4, som har ihvertfall &#233;n ny funksjon jeg digger.&lt;/p&gt;&lt;p&gt;Det er ikke lenge siden jeg ble &lt;a href=&quot;http://www.shortcut.no/blog/2008/3/7/tick_icon_for_your_fluid_app&quot;&gt;henrykt over Fluid&lt;/a&gt; og hva det kunne gj&#248;re med tjenester jeg (altfor) ofte bruker p&#229; nettet. N&#229; ser det ut til at Apple har stj&#229;let ideen deres. (Eller kj&#248;pt den? Noen som vet?).&lt;/p&gt;


	&lt;p&gt;Et nytt punkt har dukket opp i menyen deres, under File: &lt;em&gt;Save webpage as Web Application&lt;/em&gt;. Og n&#229;r man velger det, lager Safari det nye &#171;programmet&#187; automatisk. &lt;span class=&quot;caps&quot;&gt;HTML&lt;/span&gt;-tittelen foresl&#229;s som programnavn, og det plasseres i en ny mappe &lt;em&gt;&amp;#8216;Safari Web Applications&amp;#8217;&lt;/em&gt; under applications.&lt;/p&gt;


	&lt;p&gt;Ikonet (som jeg er litt for opptatt av) er en autogenerert thumb av websiden, med et lite safarikompass opp&#229;. Ganske fint. Og skulle du &#248;nske et annet ikon, bare bytt ut med vanlig copy-paste.&lt;/p&gt;


	&lt;p&gt;S&#229; hva har egentlig denne nye Safari-funksjonen som Fluid ikke har? Fint lite. Mye lettere tilgjengelighet, og litt finere ikon.&lt;/p&gt;


	&lt;p&gt;&lt;br /&gt;
&lt;strong&gt;S&#229; hva skjer n&#229;?&lt;/strong&gt;&lt;br /&gt;
En ting som er mer interessant enn genererte ikoner, er hvordan web- og desktopapplikasjoner n&#229; smelter mer og mer sammen. Hva vil egentlig skje med nettleseren n&#229; som funksjonene vi bruker blir egne program og nyhetene vi leser kommer i egne &lt;span class=&quot;caps&quot;&gt;RSS&lt;/span&gt;-lesere?&lt;/p&gt;


	&lt;p&gt;Hva med mail? Mange har g&#229;tt tilbake til nettmail, ikke bare Gmail, men ogs&#229; supre nye l&#248;sninger som f.eks. nydelige &lt;a href=&quot;http://www.zenbe.com/&quot;&gt;Zenbe&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;YouTube-filmene er vel bedre &#229; se i &lt;a href=&quot;http://www.getmiro.com/&quot;&gt;Miro&lt;/a&gt; enn p&#229; YouTube?&lt;/p&gt;


	&lt;p&gt;Office-pakka? Trenger vi den n&#229;r vi har &lt;a href=&quot;http://docs.google.com/&quot;&gt;Google Docs&lt;/a&gt;?&lt;/p&gt;


	&lt;p&gt;Ikke rart Microsoft er skuffa over &#229; &lt;a href=&quot;http://www.theregister.co.uk/2008/06/12/yahoo_microsoft_talks_teminated/&quot;&gt;ikke f&#229; kloa i Yahoo&lt;/a&gt;. &lt;em&gt;exe-fil&lt;/em&gt;-produsentene g&#229;r kanskje en t&#248;ffere tid i m&#248;te?&lt;/p&gt;


	&lt;p&gt;Jeg gleder meg til alle har laget egen desktop-versjon av Facebook. Etter en stund kommer noen til &#229; bli dagens helt for &#229; ha laget egen nettleser bare for Facebook. Skikkelig meta, eller hva? &lt;em&gt;&#171;Endelig kan jeg surfe rundt p&#229; nettet, uten &#229; lukke Facebook&#187;&lt;/em&gt;&lt;/p&gt;


	&lt;p&gt;:-D&lt;/p&gt;</content>
    <author>
      <name>John Eivind Hall&#233;n</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/69</id>
    <published>2008-06-06T08:43:42Z</published>
    <updated>2008-06-06T11:56:44Z</updated>
    <link type="text/html" href="/blogg/2008/6/6/standardoppsett-pa-rails" rel="alternate"/>
    <title>Standardoppsett p&#229; Rails</title>
    <content type="html">&lt;p&gt;Ikke bruk Rails-kommandoen n&#229;r du starter en ny Rails-app. Lag ditt eget standardoppsett og versjonskontroller det, slik at du kan hente ned denne Rails-appen n&#229;r du starter et nytt prosjekt. Det sparer deg for mye tid og repetisjon i forhold til &#229; skrive &lt;tt&gt;rails [prosjektnavn]&lt;/tt&gt; hver gang.&lt;/p&gt;&lt;p&gt;Jeg har laget mitt eget standardoppsett som jeg bruker n&#229;r jeg starter et nytt Rails-prosjekt. Personlig f&#229;r jeg omtrent 1x fantastisk, revolusjonerende web 2.0-id&#233; i uken, og da er det praktisk &#229; slippe &#229; skrive autentisering, hente ned jQuery, lage en &lt;tt&gt;settings.yml&lt;/tt&gt;, mailer for &#171;glemt passord&#187;, profilredigering, form builders etc. hver eneste gang.&lt;/p&gt;


	&lt;p&gt;Det finnes riktignok plugins for mesteparten av dette, men selv disse m&#229; lastes ned, settes opp og konfigureres. Dermed er det like greit med et standardoppsett, selv om et slikt oppsett ikke er mer enn en blank Rails-app med 3 plugins installert.&lt;/p&gt;


	&lt;p&gt;Her er &lt;a href=&quot;http://gitorious.org/projects/leethals-default-rails&quot;&gt;et forslag til hvordan et slikt standardoppsett kan se ut&lt;/a&gt;.&lt;/p&gt;</content>
    <author>
      <name>August Lilleaas</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/68</id>
    <published>2008-05-27T20:06:08Z</published>
    <updated>2008-06-06T11:08:44Z</updated>
    <link type="text/html" href="/blogg/2008/5/27/uloselige-problemer" rel="alternate"/>
    <title>Ul&#248;selige problemer?</title>
    <content type="html">&lt;p&gt;Stilt overfor noen oppgaver og problemstillinger (og datamodeller og algoritmer) kan man nesten fysisk f&#248;le sin egen hjernes begrensninger. S&#229; snart man begynner &#229; f&#229; tak p&#229; den ene enden av problemet, har man mistet grepet p&#229; den andre enden.&lt;/p&gt;&lt;p&gt;Jeg jobber for tiden p&#229; et prosjekt med datamodeller av hinsides kompleksitet. Stilt overfor oppgavene i prosjektet alene, er kompleksiteten p&#229; grensen av hva jeg greier &#229; f&#229; mental oversikt over. F&#248;lgene av denne manglende oversikten er lav produktivitet, og motvillighet mot &#229; gj&#248;re dyptgripende endringer i koden.&lt;/p&gt;


	&lt;p&gt;Heldigvis har jeg hatt muligheten til &#229; jobbe med parprogrammering p&#229; prosjektet sammen med arkitekten bak systemet. Dette gj&#248;r at kompleksiteten smyger seg ned p&#229; et forst&#229;elig niv&#229;. P&#229; dette niv&#229;et blir problemene lettere &#229; angripe, og vi f&#229;r l&#248;st oppgavene (og refaktorert datamodellen!) i raskt tempo. Parprogrammering er i dette tilfelle effektivt fordi kompleksiteten er for stor til &#229; passe inn i &#233;n persons hode, men passer fint i hodene til to personer.&lt;/p&gt;


	&lt;p&gt;Kunsten er alts&#229; &#229; dra kompleksiteten ned til ett overkommelig niv&#229;, hvilket &#248;ker b&#229;de arbeidsgleden og produktiviteten. Da begynner det &#229; n&#230;rme seg kollektiv intelligens, hvor man vil v&#230;re i stand til &#229; kollektivt forst&#229; og l&#248;se problemer som er for komplekse til &#229; l&#248;ses av &#233;n eller 100 personer, men plutselig blir overkommelig n&#229;r 101 personer blir satt p&#229; oppgaven.&lt;/p&gt;


	&lt;p&gt;Noen eksempler p&#229; bruk av kollektiv intelligens til &#229; l&#248;se oppgaver &#8211; selv om skillet mellom kollektiv intelligens og god gammeldags dugnad kan v&#230;re litt uklart:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Dell bruker en form for kollektiv brainstorming og rangering av ideer til &#229; komme opp med nye produktideer p&#229; &lt;a href=&quot;http://www.dellideastorm.com/&quot;&gt;Dell Ideastorm&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://translate.google.com/translate?u=shortcut.no&amp;#38;hl=en&amp;#38;ie=UTF8&amp;#38;sl=no&amp;#38;sl=es&amp;#38;tl=en&amp;#38;tl=en&quot;&gt;Google Translate&lt;/a&gt; lar brukere forbedre kvaliteten p&#229; oversettelsene: &lt;em&gt;Suggest a better translation for &#8221;we do not have a slurvete job&#8221;&lt;/em&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://recaptcha.net/&quot;&gt;reCAPTCHA&lt;/a&gt; er et prosjekt som bruker ord som ikke er lesbare med dagens &lt;span class=&quot;caps&quot;&gt;OCR&lt;/span&gt;-programvare som tradisjonell &lt;span class=&quot;caps&quot;&gt;CAPTCHA&lt;/span&gt;-input p&#229; websider. Dermed bidrar man som sluttbruker til &#229; kvalitetssikre digitalisering av b&#248;ker uten at man n&#248;dvendigvis trenger &#229; v&#230;re klar over nytten i det man gj&#248;r.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://worldwithoutoil.org/&quot;&gt;World Without Oil&lt;/a&gt; Et &lt;span class=&quot;caps&quot;&gt;ARG&lt;/span&gt; (alternative reality game) som fors&#248;ker &#229; benytte spillernes kollektive intelligens til &#229; l&#248;se en tenkt milj&#248;krise.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Hvis man kan kombinerer kollektiv intelligens med flashmob-aktig teknologi (broadcast &lt;span class=&quot;caps&quot;&gt;SMS&lt;/span&gt;, for eksempel) burde det kunne oppst&#229; interessante muligheter. &lt;a href=&quot;http://www.bt.no/lokalt/bergen/article570735.ece&quot;&gt;Rask og intelligens respons&lt;/a&gt; i krisesituasjoner, for eksempel?&lt;/p&gt;</content>
    <author>
      <name>August Zaitzow Flatby</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/67</id>
    <published>2008-05-08T18:00:11Z</published>
    <updated>2009-05-11T13:02:35Z</updated>
    <link type="text/html" href="/blogg/2008/5/8/nettverk" rel="alternate"/>
    <title>Nettverk</title>
    <content type="html">&lt;p&gt;Vi i Shortcut har en &lt;a href=&quot;http://gitorious.org/projects/couchobject&quot;&gt;hang mot alternativer til relasjonsdatabaser&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Det er mange gode grunner til &#229; v&#230;re glad i relasjonsdatabaser, men disse er ikke blant dem:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;strong&gt;Iterativ utvikling&lt;/strong&gt;. Relasjonsdatabasene er veldig gode p&#229; &#229; h&#229;ndheve struktur p&#229; dataene sine. Dette betyr at man m&#229; fortelle databasen n&#248;yaktig hvilke felter en tabell skal innehold og hva slags data som kan lagres i disse feltene. Innenfor iterativ/smidig utvikling har man gjerne en tendens til &#229; &#248;nske &#229; dyrke datamodellen min mer som en kj&#248;kkehage enn en romferge. Den rigide strukturen i relasjonsdatabasen kan derfor bli et irritasjonsmoment i et smidig prosjekt.&lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;Kompatibilitet med objektorientert utvikling&lt;/strong&gt;. Relasjonsdatabasens hovedkonsepter er databaser, tabeller og rader. I tillegg har de fleste databasemotorer st&#248;tte for innebygd logikk (views, triggere, lagrete prosedyrer), og spr&#229;ket man snakker med mot relasjonsdatabasen heter &lt;span class=&quot;caps&quot;&gt;SQL&lt;/span&gt;. Innenfor objektorientert utvikling har man objekter, klasser og metoder. N&#229;r man de seinere &#229;rene har f&#229;tt ganske gode verkt&#248;y for &#229; representere objekter i en relasjonsdatabase har dette mindre &#229; gj&#248;re med relasjonsdatabasens fortreffelighet enn dens utbredelse. &lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;St&#248;tte for delvis strukturerte data&lt;/strong&gt;. Som nevnt ovenfor er en av relasjonsdatabasens styrker at den har et strengt regime for hva slags type data den aksepterer. Skal en rad i en people-tabell kunne ha en first_name-kolonne m&#229; den kolonnen ligge i databaseskjemaet, punktum. Om man tar en kikk p&#229; en gjennomsnittlig databasedump fra et noen &#229;r gammelt system vil man oppdage at hver tabell plutselig har f&#229;tt mange flere kolonner enn man opprinnelig tenkte. Dette er fordi skiftende behov har f&#248;rt til at man m&#229; holde f&#248;lge. Kanskje var det en kundegruppe som &lt;em&gt;m&#229;tte&lt;/em&gt; ha et ekstra felt i databasen, s&#229; dukket det plutselig opp i databaseskjemaet uten at noen av de andre kundene trenger det. Dermed vil man se at det blir vanskeligere &#229; vanskeligere &#229; lese noen slags logikk ut fra databaseskjemaet, s&#230;rlig n&#229;r bare en av hundre rader har en verdi i en gitt kolonne.&lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;St&#248;tte for nettverksorienterte data&lt;/strong&gt;. Om du har jobbet med en relasjonsdatbase noen gang: tenk deg f&#248;lgende scenario. Du har laget et sosialt nettsted (gjesp), der brukerne angir andre brukere som sine venner. Tenk s&#229; at kunden din kommer og vil vite hvordan en bruker X er koblet sammen med en bruker Y. Sett deg gjerne ned med penn og papir; jeg er villig til &#229; vedde p&#229; at du kommer opp med en &lt;span class=&quot;caps&quot;&gt;SQL&lt;/span&gt;-setning som f&#229;r deg til &#229; f&#248;le deg skikkelig macho.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Tenk deg s&#229; at databasen du brukte var &lt;strong&gt;orientert&lt;/strong&gt; rundt relasjoner mellom objektene i systemet. At de to typen objekter som finnes i systemet var objekter og relasjoner mellom objekter. Tenk deg videre at denne databasen var skikkelig god p&#229; &#229; f&#248;lge disse relasjonene mellom objektene og ga deg et spr&#229;k for &#229; uttrykke hvordan X og Y er forbundet.&lt;/p&gt;


	&lt;p&gt;V&#229;re venner i Java-verden har laget &lt;a href=&quot;http://dist.neo4j.org/neo-technology-introduction.pdf&quot;&gt;en slik database&lt;/a&gt;, som er orientert rundt en nettverksfilosofi. Og &lt;a href=&quot;http://jira.codehaus.org/browse/JRUBY-2496&quot;&gt;etter &#229; ha dummet meg skikkelig ut&lt;/a&gt; har jeg f&#229;tt det til &#229; spille s&#229;nn noenlunde i &lt;a href=&quot;http://jruby.org/&quot;&gt;JRuby&lt;/a&gt;.&lt;/p&gt;


&lt;pre class=&quot;ruby&quot; name=&quot;code&quot;&gt;
class FriendshipTest &amp;lt; Test::Unit::TestCase
  def test_basic_friendships
    Person.transaction do
      neo = Person.new(:first_name =&amp;gt; &quot;Neo&quot;)
      assert_equal(&quot;Neo&quot;, neo.first_name)
      morpheus = Person.new(:first_name =&amp;gt; &quot;Morpheus&quot;)
      assert !neo.knows?(morpheus)
      neo.meets(morpheus)
      assert neo.knows?(morpheus)
    end
  end
end  
&lt;/pre&gt;

	&lt;p&gt;Testene kj&#248;rer, og dataene lagres i Neo4j-databasen. Grunnen til at jeg bare viser fram testkoden her er at jeg skrev den f&#248;rst, og implementasjonen derfor neppe vil imponere noen enn&#229;. Det som &lt;em&gt;er&lt;/em&gt; ganske kult er at Jruby er blitt modent nok til at man kan plukke fram et nytt og lovende javabibliotek og regne med at det kommer til &#229; fungere i Jruby. N&#229; har jeg aldri v&#230;rt spesielt glad i Java, men jeg merker at allerede etter en liten time med hacking i Ruby begynner et &lt;span class=&quot;caps&quot;&gt;API&lt;/span&gt; &#229; ta form som jeg kan like.&lt;/p&gt;


	&lt;p&gt;Der java-APIet for en transaksjon ser slik ut:&lt;/p&gt;


&lt;pre class=&quot;java&quot; name=&quot;code&quot;&gt;
Transaction tx = Transaction.begin();
try
{
   // all Neo operations that work with the node space, for example:
   // Node firstNode = neo.createNode();
   // ... etc ...
   tx.success();
}
finally
{
   tx.finish();
   neo.shutdown();
}
&lt;/pre&gt;

	&lt;p&gt;... f&#248;les det mer Ruby-aktig &#229; gj&#248;re noe mer ActiveRecord-lignende i Ruby:&lt;/p&gt;


&lt;pre class=&quot;ruby&quot; name=&quot;code&quot;&gt;
class Person
  def self.transaction
    @@neo = EmbeddedNeo.new(&quot;test&quot;)
    tx = Transaction.begin
    begin
      yield
      tx.success
    rescue Exception =&amp;gt; e
      raise e
    ensure
      tx.finish
      @@neo.shutdown
    end    
  end
end
&lt;/pre&gt;

	&lt;p&gt;Dermed f&#229;r man noe som ser ut som en transaksjon inn i Ruby-klassen sin:&lt;/p&gt;


&lt;pre class=&quot;ruby&quot; name=&quot;code&quot;&gt;
Person.transaction do
  me = Person.new
end
&lt;/pre&gt;

	&lt;p&gt;Har en sterk f&#248;lelse av at dette ikke er siste gang vi skriver om Neo4j her&amp;#8230;&lt;/p&gt;</content>
    <author>
      <name>Marius M&#229;rnes Mathiesen</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/66</id>
    <published>2008-04-15T09:56:44Z</published>
    <updated>2008-04-15T09:58:24Z</updated>
    <link type="text/html" href="/blogg/2008/4/15/diskuter-nrks-maldokument-pa-nett" rel="alternate"/>
    <title>Diskuter NRKs m&#229;ldokument p&#229; nett</title>
    <content type="html">&lt;p&gt;&lt;span class=&quot;caps&quot;&gt;NRK&lt;/span&gt; ser ut til &#229; seile opp som et av de mest interessante offentlig eide virksomhetene i dagens Norge.&lt;/p&gt;&lt;p&gt;For ikke lenge siden &lt;a href=&quot;http://nrkbeta.no/bittorrent/&quot;&gt;la NRKBeta ut samtlige episoder av Lars Monsen-serien p&#229; Bittorrent&lt;/a&gt;, deretter annonserte de &lt;a href=&quot;http://nrkbeta.no/the-nrkbeta-doctrine/&quot;&gt;NRKBeta-doktrinen&lt;/a&gt;&lt;/p&gt;


	&lt;blockquote&gt;
		&lt;p&gt;I hereby coin the NRKbeta Doctrine: The only way to control your content is to be the best provider of it.&lt;/p&gt;
	&lt;/blockquote&gt;


	&lt;p&gt;N&#229; har de &#229;pnet for &lt;a href=&quot;http://nrkbeta.no/bli-med-og-formulere-nrks-maldokument/&quot;&gt;diskusjon om NRKs m&#229;ldokument p&#229; nett&lt;/a&gt;, der de blant annet sp&#248;r om det b&#248;r st&#229; i m&#229;ldokumentet at alt NRKs innhold skal distribueres ukryptert og i &#229;pne formater. Det er forfriskende og utfordrende &#229; se denne formen for demokrati, der man involverer kundene sine (som i NRKs tilfelle ogs&#229; er eierne) i m&#229;lformulering og utforming av kringkastingspolitikken. Demokrati og medvirkning har kanskje virket gammeldags og irrelevant i en tid der alt handler om l&#248;nnsomhet, &lt;span class=&quot;caps&quot;&gt;NRK&lt;/span&gt; tar her en helt ny vri.&lt;/p&gt;</content>
    <author>
      <name>Marius M&#229;rnes Mathiesen</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/65</id>
    <published>2008-04-08T11:04:59Z</published>
    <updated>2008-04-08T12:23:37Z</updated>
    <link type="text/html" href="/blogg/2008/4/8/getting-things-done-og-selve-livet" rel="alternate"/>
    <title>'Getting Things Done' og selve livet...</title>
    <content type="html">&lt;p&gt;Overalt oppst&#229;r det situasjoner hvor ting ikke blir gjort fordi noen har lovet &#229; gj&#248;re det. Dette har jeg erfart b&#229;de p&#229; jobb, i organisasjoner og blandt venner. Og s&#229; fant jeg plutselig den teksten som pushet meg til handling som ung&amp;#8230;&lt;/p&gt;&lt;p&gt;Jeg tror vi &#248;nsker altfor godt, og overvurderer oss selv. Jeg vet ihvertfall at dette gjelder meg: Jeg svarer alltid ja n&#229;r noen trenger hjelp til noe jeg tenker tar kort tid. Og oppgaven i seg selv tar gjerne kort tid, men &#229; f&#229; satt av den tiden, &lt;em&gt;det&lt;/em&gt; tar lang tid. Og blir ofte aldri gjort.&lt;/p&gt;


	&lt;p&gt;David Allens (snart s&#229; altfor kjente) bok &lt;a href=&quot;http://en.wikipedia.org/wiki/Getting_Things_Done&quot;&gt;&lt;em&gt;&amp;#8216;Getting Things Done&amp;#8217;&lt;/em&gt;&lt;/a&gt; handler om hvordan man kan effektivisere selve utf&#248;relsen av det man skal ha gjort. M&#229;let er &#229; ikke bruke opp tiden p&#229; planlegging, men de faktiske oppgavene. Og den boka har hjulpet mange langt p&#229; vei, og blitt en velfortjent &lt;em&gt;Must Read&lt;/em&gt;. (Selv om jeg har erfart at boka har f&#248;rt til mye prat og lite handling mange steder.)&lt;/p&gt;


	&lt;p&gt;&lt;em&gt;Men jeg har ogs&#229; brukt en annen tekst for &#229; f&#229; ting gjort&amp;#8230;&lt;/em&gt;&lt;/p&gt;


	&lt;p&gt;Her om dagen leste jeg gjennom noen gamle papirer fra ungdommen, og der fant jeg igjen et dikt av Rolf Jacobsen, om selve livet: &lt;em&gt;&amp;#8216;Dine tanker, det du gjorde&amp;#8217;&lt;/em&gt;. Og da husket jeg at dette var min store p&#229;driver for &#229; f&#229; gjort ting p&#229; den tiden. For meg handler diktet om at det er handling som teller, ikke alle gode intensjoner: &lt;strong&gt;Man blir husket for det man f&#229;r gjennomf&#248;rt.&lt;/strong&gt; Og fortsatt, den dag idag, opplever jeg den teksten som en st&#248;rre p&#229;driver, enn et smart og gjennomtenkt prosjektstyreverkt&#248;y.&lt;/p&gt;


	&lt;p&gt;Pr&#248;v det! Les diktet til morgenkaffen, og se hva som skjer:&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Dine tanker, det du gjorde&amp;#8230;&lt;/strong&gt;&lt;br /&gt;
&lt;em&gt;av Rolf Jacobsen&lt;/em&gt;&lt;/p&gt;


	&lt;p&gt;Dine tanker, det du gjorde&lt;br /&gt;
skal ikke d&#248;&lt;br /&gt;
men dine h&#229;p&lt;br /&gt;
skal d&#248;, din glede&lt;br /&gt;
dine behov&lt;br /&gt;
skal d&#248;, dine &#248;nsker, krav&lt;br /&gt;
d&#248; men ikke&lt;br /&gt;
det du fikk gjort,&lt;br /&gt;
det du fikk gjort,&lt;br /&gt;
tross alt fikk&lt;br /&gt;
gjort, skammelig&lt;br /&gt;
det er lite&lt;br /&gt;
men det lever,&lt;br /&gt;
skulde v&#230;rt mer,&lt;br /&gt;
det lever&lt;br /&gt;
men&lt;br /&gt;
det du &#248;nsker&lt;br /&gt;
skal d&#248;, dine h&#229;p skal d&#248;&lt;br /&gt;
snart, men&lt;br /&gt;
det du tenkte, hva&lt;br /&gt;
tenkte du, skal leve og&lt;br /&gt;
hva gjorde du,&lt;br /&gt;
ford&#248;mt, ja hva&lt;br /&gt;
gjorde du&lt;br /&gt;
... du&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;Kilde: Jacobsen, Rolf, &#171;Samlede dikt&#187;, &lt;a href=&quot;http://www.gyldendal.no/&quot;&gt;Gyldendal norsk forlag&lt;/a&gt;&lt;/p&gt;</content>
    <author>
      <name>John Eivind Hall&#233;n</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/63</id>
    <published>2008-04-07T14:11:24Z</published>
    <updated>2008-04-07T14:20:21Z</updated>
    <link type="text/html" href="/blogg/2008/4/7/gratulerer-tinde" rel="alternate"/>
    <title>Gratulerer, Tinde!</title>
    <content type="html">&lt;p&gt;&lt;a href=&quot;http://tinde.no/&quot;&gt;Tinde.no&lt;/a&gt; ble lansert i ny drakt og med helt ny teknologi forrige uke.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://tinde.no/&quot;&gt;Tinde&lt;/a&gt; har p&#229; 3 m&#229;neder blitt skrevet helt om til &#229; bruke Ruby on Rails og s&#248;kemotoren til Fast. Shortcut har jobbet med prosjektet siden like etter jul, og er stolt for &#229; ha v&#230;rt med p&#229; &#229; bygge landets st&#248;rste nettsted skrevet i Rails p&#229; knappe nitti dager. Med sine circa 100.000 unike brukere i uka peker Tinde nese til de som p&#229;st&#229;r at Rails ikke skalerer.&lt;/p&gt;


	&lt;p&gt;N&#229;r n&#229; den eksisterende l&#248;sningen er flyttet over p&#229; ny teknologisk plattform st&#229;r lanseringen av nye tjenester for d&#248;ra. I de kommende m&#229;nedene vil Tinde lansere nye tjenester, og sikter spesielt p&#229; &#229; koble redaksjonelt innhold fra Edda-konsernets medier med rubrikkannonser p&#229; Tinde. Vi gleder oss til &#229; jobbe videre med Tinde, og gratulerer med vellykket lansering!&lt;/p&gt;</content>
    <author>
      <name>Marius M&#229;rnes Mathiesen</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/62</id>
    <published>2008-03-29T12:34:10Z</published>
    <updated>2008-04-02T16:56:29Z</updated>
    <link type="text/html" href="/blogg/2008/3/29/husker-du-den-forste-rubyfools" rel="alternate"/>
    <title>Husker du den f&#248;rste RubyFools?</title>
    <content type="html">&lt;p&gt;I det internasjonale Rubymilj&#248;et er det noen ganske f&#229; som stadig vekk trekker fram den f&#248;rste RubyConf, som ble arrangert i 2002. If&#248;lge &lt;a href=&quot;http://pragdave.blogs.pragprog.com/&quot;&gt;Dave Thomas&lt;/a&gt; blir skrytet fra disse f&#229; utvalgte verre og verre jo st&#248;rre Rubymilj&#248;et blir. If&#248;lge Dave, som var der, var det fire deltakere og en hund til stede, s&#229; ekslusivt var det.&lt;/p&gt;&lt;p&gt;N&#229;tidens Rubyconf selges ut p&#229; noen f&#229; timer, og RailsConf trekker tusenvis av deltakere hvert &#229;r. Der kan oldtimerne h&#248;ste &#230;re og ber&#248;mmelse for at de var s&#229; tidlig ute. Om noen f&#229; dager g&#229;r historiens f&#248;rste &lt;a href=&quot;http://jaoo.dk/ruby-oslo/conference/&quot;&gt;RubyFools av stabelen i Oslo&lt;/a&gt;, og store navn som nettopp Dave Thomas og Yukihiro &amp;#8220;Matz&amp;#8221; Matsumoto er blant talerne. Her har du muligheten til &#229; investere i framtidig &#230;re og ber&#248;mmelse; antakelig vil neste &#229;rs konferanse trekke minst dobbelt s&#229; mange deltakere.&lt;/p&gt;


	&lt;p&gt;Konferansen g&#229;r av stabelen p&#229; Chateau Neuf torsdag og fredag neste uke, og det er fortsatt ledige plasser. Om du ikke har meldt deg p&#229; enn&#229; er det ingen grunn til &#229; vente; hvis du er student &lt;a href=&quot;http://irb.no/-/bulletin/show/52882_gratis-deltagelse-for-studenter-paa-rubyfools-oslo&quot;&gt;kan du tilogmed f&#229; gratis adgang&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;Ses neste uke!&lt;/p&gt;</content>
    <author>
      <name>Marius M&#229;rnes Mathiesen</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/61</id>
    <published>2008-03-19T09:58:03Z</published>
    <updated>2008-03-25T18:08:14Z</updated>
    <link type="text/html" href="/blogg/2008/3/19/hvor-lenge-skal-webben-lide-av-darlige-nettlesere" rel="alternate"/>
    <title>Hvor lenge skal webben lide av d&#229;rlige nettlesere?</title>
    <content type="html">&lt;p&gt;Med Firefox 3 like rundt hj&#248;rnet og Safari 3.1 ute idag kan man lure p&#229; hvor relevant Internet Explorer er. Noen kalde fakta og en aldri s&#229; liten oppfordring f&#248;lger&amp;#8230;.&lt;/p&gt;&lt;p&gt;Apple &lt;a href=&quot;http://www.apple.com/safari/&quot;&gt;slapp Safari 3.1&lt;/a&gt; idag; Safari 3.1 har st&#248;tte for en god del av det som er foresl&#229;tt i &lt;span class=&quot;caps&quot;&gt;HTML 5&lt;/span&gt;, en innebygget database og mye annet snacks.  Firefox 3 er n&#229; i beta, og ser ut til &#229; v&#230;re en kjapp og sexy nettleser.&lt;/p&gt;


	&lt;p&gt;Vi som lager nettsider legger imidlertid strenge f&#248;ringer p&#229; oss selv som gj&#248;r at vi ikke bruker disse fete nyhetene fra nettleserne; hovedgrunnen er Internet Explorer. Internet Explorer 8 kan kanskje komme til &#229; bli riktig bra, &lt;span class=&quot;caps&quot;&gt;IE7&lt;/span&gt; er ikke s&#229; aller verst, men i en slags masochistisk selvdisiplin tilpasser vi fortsatt nettsidene v&#229;re til Internet Explorer 6, som kom ut s&#229;nn circa i juratida. Denne velmente selvdisiplinen gj&#248;r at de fleste nettsider p&#229; innsiden ser ut som ukegammel spaghetti, et sammensurium av Araldit og duct-tape &amp;#8211; &lt;em&gt;hacks&lt;/em&gt; p&#229; dataspr&#229;ket &amp;#8211; for &#229; fungere i programmer vi alle skulle &#248;nske ikke lenger fantes. For alle som faktisk bruker en moderne nettleser m&#229; dette f&#248;les omtrent som &#229; kj&#248;re en Lamborghini p&#229; norske veier, det er rett og slett liten vits.&lt;/p&gt;


	&lt;p&gt;Bloggen du leser n&#229; har en utypisk lesergruppe:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;57% av leserne bruker Safari&lt;/li&gt;
		&lt;li&gt;31% av leserne bruker Firefox&lt;/li&gt;
		&lt;li&gt;9% av leserne bruker Internet Explorer&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Et annet nettsted vi kjenner ganske godt til &amp;#8211; &lt;a href=&quot;http://sjappa.butikkenmin.no/&quot;&gt;V&#229;lerenga-sjappa p&#229; nett&lt;/a&gt; &amp;#8211; har en mer typisk m&#229;lgruppe:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;81% bruker Internet Explorer&lt;/li&gt;
		&lt;li&gt;14% bruker Firefox&lt;/li&gt;
		&lt;li&gt;2.7% bruker Safari&lt;/li&gt;
		&lt;li&gt;2.5% bruker Opera&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;En relativt ny trend i nettlesermarkedet er at det begynner &#229; flokke seg rundt en h&#229;ndfull nettleser-motorer:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Gecko brukes i Firefox, Mozilla og en haug smale nettlesere&lt;/li&gt;
		&lt;li&gt;Webkit brukes i Safari, Konqueror, iPhone/iPod touch, &lt;strike&gt;iTunes&lt;/strike&gt;, Adobe &lt;span class=&quot;caps&quot;&gt;AIR&lt;/span&gt; og etterhver ogs&#229; Epiphany&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;For oss som utvikler nettsider er dette relevant; vi ser at &amp;#8220;innmaten&amp;#8221; i nettlesere og nettleser-lignende programmer i st&#248;rre og st&#248;rre grad er basert p&#229; kvalitetskode, samtidig som vi fortsatt har et innslag av konkurranse i og med at det finnes flere akt&#248;rer. Microsoft og Opera er idag de store unntakene i at de vedlikeholder sine egne, propriet&#230;re (i betydningen lukket kildekode) nettlesermotorer. Opera har en rimelig god track record p&#229; &#229; f&#248;lge standarder, mens Microsoft &amp;#8211; uansett hvor mye de pr&#248;ver det motsatte &amp;#8211; ender opp med spesialtilfeller. Og her st&#229;r vi overfor et h&#248;na-eller-egget-dilemma: s&#229; lenge vi fortsetter &#229; lage nettsider som fungerer i IE trenger ikke brukerne v&#229;re &#229; oppgradere til en skikkelig nettleser, og dermed er vi med p&#229; &#229; forlenge problemet.&lt;/p&gt;


	&lt;p&gt;Jeg tror l&#248;sningen ligger i &#229; lage l&#248;sninger som &lt;em&gt;funker&lt;/em&gt; i Internet Explorer, men &lt;em&gt;skinner&lt;/em&gt; i andre nettlesere. Jeg satte opp &lt;a href=&quot;http://kunder.shortcut.no/shortcutting/awesome_safari_css_features.html&quot;&gt;et kjapt eksempel p&#229; en de nye &lt;span class=&quot;caps&quot;&gt;CSS&lt;/span&gt;-egenskapene i Webkit/Safari for etpar dager siden&lt;/a&gt; &amp;#8211; en slik l&#248;sning vil v&#230;re &lt;em&gt;leselig&lt;/em&gt; i Internet Explorer, men brukeropplevelsen vil v&#230;re langt rikere med en moderne nettleser. Om vi omfavner slike praksiser er min p&#229;stand at brukerne vil kappes om &#229; laste ned en ny nettleser s&#229; snart de ser hvor kul webben er for &amp;#8220;alle de andre&amp;#8221;. Om elementene p&#229; en nettside i din nettleser har harde, firkantete hj&#248;rner uten skygge og visuelle effekter; og du s&#229; ser at kollegaen f&#229;r pene, runde hj&#248;rner med skygger, glasseffekter og diskrete animasjoner vil de tidsnok laste ned en annen nettleser. Der man tidligere ble m&#248;tt med &amp;#8220;Denne nettsiden fungerer best i xxx&amp;#8221;, som oppfordret brukerne til &#229; laste ned en annen nettleser, b&#248;r vi heller satse p&#229; sex appeal; la brukerne selv finne ut av hva de g&#229;r glipp av.&lt;/p&gt;


	&lt;p&gt;Hvordan tror &lt;strong&gt;du&lt;/strong&gt; nettlesermarkedet ser ut om et &#229;r?&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Oppdatering&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;TechCrunch &lt;a href=&quot;http://www.techcrunch.com/2008/03/25/save-the-developers-stop-using-internet-explorer-6/&quot;&gt;ser ut til &#229; ha plukket opp denne artikkelen&lt;/a&gt; &amp;#8211; :-) &amp;#8211;  og oppfordrer nettbrukere til &#229; slutte &#229; st&#248;tte Internet Explorer 6. De linker til &lt;a href=&quot;http://www.savethedevelopers.org/&quot;&gt;Save the developers&lt;/a&gt; og peker p&#229; etpar fine knapper man kan bruke p&#229; nettsidene sine:&lt;/p&gt;


	&lt;p&gt;&lt;a href=&quot;http://getfirefox.com/&quot;&gt;&lt;img src=&quot;http://www.savethedevelopers.org/images/safari.gif&quot; alt=&quot;Safari&quot;/&gt;&lt;/a&gt;
&lt;a href=&quot;http://www.apple.com/safari/download/&quot;&gt;&lt;img src=&quot;http://www.savethedevelopers.org/images/firefox.gif&quot; alt=&quot;Firefox&quot;/&gt;&lt;/a&gt;&lt;/p&gt;</content>
    <author>
      <name>Marius M&#229;rnes Mathiesen</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/60</id>
    <published>2008-03-13T10:42:16Z</published>
    <updated>2010-12-23T11:41:48Z</updated>
    <link type="text/html" href="/blogg/2008/3/13/a-bit-verbose-are-we" rel="alternate"/>
    <title>A bit verbose, are we?</title>
    <content type="html">&lt;p&gt;While &amp;#8220;debugging&amp;#8221; a Rails application, developers tend to use the puts method to print debug information while developing. Although perhaps useful for the developer in mind, it makes it a lot harder for colleagues to use testing in their work as the console is cluttered with debug information.&lt;/p&gt;&lt;p&gt;Without going into whether using puts for debugging is a good practice or not, I wrote some Ruby code today that silences all this information while I&amp;#8217;m running my tests. A very simple analysis of the problem tells me that:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;I only want the output silenced when running my tests. I found it tempting to force my policy of not using puts on my peers, but strictly spoken all I wanted was my tests to run less verbosely&lt;/li&gt;
		&lt;li&gt;The reason for all this turning up in the console is the use of the method puts&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;The first point tells me that testhelper.rb is the natural place to put this functionality. This file is always loaded when you run your tests. The second point tells me that the method I should target is the puts method &amp;#8211; and the puts calls are made in ActiveRecord::Base subclasses. So my first try was to put the following into testhelper.rb:&lt;/p&gt;


&lt;pre name=&quot;code&quot; class=&quot;ruby&quot;&gt;
module ActiveRecord
  class Base
    def puts(something)
      # let's eat it
    end
  end
end
&lt;/pre&gt;

	&lt;p&gt;Running my tests, I was pleased to see about 50% of the output silently eaten by this hack. However, there was still some output sent from classes not extending ActiveRecord::Base, so I needed to be a bit more greedy. Let&amp;#8217;s put it all into a module:&lt;/p&gt;


&lt;pre name=&quot;code&quot; class=&quot;ruby&quot;&gt;
module SilentOutput
  def puts(something)
    #
  end
end
module ActiveRecord
  class Base
    include SilentOutput
  end
end
class SomeOtherClass;include SilentOutput;end
&lt;/pre&gt;

	&lt;p&gt;There! Now I can get back to work. One last issue before I let you get back to work: How do you discover which classes called the puts method, so you know which ones to include? A small trick is to put the following into your test helper file, and it will reveal other classes calling the method:&lt;/p&gt;


&lt;pre name=&quot;code&quot; class=&quot;ruby&quot;&gt;
Kernel.module_eval do
  alias_method :old_puts, :puts
  def puts(something)
    raise &quot;WARNING: #{self.class.to_s} tried to call puts with the message #{something}&quot; 
  end
end
&lt;/pre&gt;

	&lt;p&gt;These lines mix into Kernel and creates an alias to the (old) puts method &amp;#8211; in case you need it actually &lt;code&gt;puts&lt;/code&gt;-ing, and then raises an error revealing which class tried to use &lt;code&gt;puts&lt;/code&gt; to print its output. This gives you a hint of which further classes may be candidates for including your SilentOutput module.&lt;/p&gt;</content>
    <author>
      <name>Marius M&#229;rnes Mathiesen</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/59</id>
    <published>2008-03-07T13:15:42Z</published>
    <updated>2008-03-07T14:10:38Z</updated>
    <link type="text/html" href="/blogg/2008/3/7/tick-icon-for-your-fluid-app" rel="alternate"/>
    <title>Tick icon for your Fluid app</title>
    <content type="html">&lt;p&gt;I&amp;#8217;ve just started using &lt;a href=&quot;http://www.fluidapp.com/&quot;&gt;Fluid&lt;/a&gt;, a great app for making my favorite web applications work like real applications. But I couldn&amp;#8217;t find a proper icon for &lt;a href=&quot;http://www.tickspot.com/&quot;&gt;Tick&lt;/a&gt;. So I made one&amp;#8230;&lt;/p&gt;&lt;p&gt;Hope that&amp;#8217;s OK for you guys at &lt;a href=&quot;http://www.themolehill.com/&quot;&gt;Mohill&lt;/a&gt;. If it doesn&amp;#8217;t look exactly perfect, I&amp;#8217;m sorry. I&amp;#8217;d love to re-do it, with an original logo-file.&lt;/p&gt;


	&lt;p&gt;Anyways. The icon I made, you can find here: &lt;br /&gt;&lt;a href=&quot;http://kunder.shortcut.no/shortcutting/tick-logo-for-fluid.png&quot;&gt;Tick Icon&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;Enjoy!&lt;/p&gt;</content>
    <author>
      <name>John Eivind Hall&#233;n</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/58</id>
    <published>2008-03-06T15:48:42Z</published>
    <updated>2008-03-13T09:35:08Z</updated>
    <link type="text/html" href="/blogg/2008/3/6/15-push-ups-for-a-fa-registrere-et-selskap" rel="alternate"/>
    <title>15 push ups, for &#229; f&#229; registrere et selskap</title>
    <content type="html">&lt;p&gt;For en uke siden skulle jeg starte et nytt plateselskap og ble helt begeistret over opplevelsen. Jeg visste hvor jeg skulle g&#229;, nemlig Br&#248;nn&#248;ysundregisterene (brreg). Og jeg visste hva jeg skulle der.&lt;/p&gt;&lt;p&gt;Dette tenkte jeg var et veldig godt utgangspunkt for en enkel og hyggelig opplevelse, med en av statens st&#248;rste og beste nettjenester. Men nei, det var s&#229; overraskende vanskelig at det bare ble moro, nesten.&lt;/p&gt;


	&lt;p&gt;Som interaksjonsdesigner tenker jeg at det er en dr&#248;m og lage en l&#248;sning hvor brukeren vet akkurat hva som skal gj&#248;res og hvor. Det viste seg at det bare var ett skjema som skulle fylles ut og sendes inn. Det var det hele. S&#229; oppgaven til Br&#248;nn&#248;ysundregistrene var &#229; gi meg det skjemaet. Lettere sagt enn gjort. Om dere orker kan dere lese min brukeropplevelse av det her:&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Steg 1&lt;/strong&gt;&lt;br /&gt;P&#229; www.brreg.no er det en godt synlig og forst&#229;elig meny med tittelen &amp;#8216;Tjenester for&amp;#8217;, hvor jeg finner linken for &amp;#8216;Etablerere&amp;#8217;, med underpunktet &amp;#8216;Registrering&amp;#8217;. &lt;strong&gt;&lt;em&gt;Enkelt!&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Steg 2&lt;/strong&gt;&lt;br /&gt;P&#229; registreringssiden st&#229;r linken &amp;#8216;Registrering av ny enhet/foretak&amp;#8217; &#248;verst. &lt;strong&gt;&lt;em&gt;Perfekt!&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Steg 3&lt;/strong&gt;&lt;br /&gt;P&#229; denne siden ser jeg med en gang &amp;#8216;Elektronisk registrering&amp;#8217;. Topp, elektronisk er bra. &lt;strong&gt;&lt;em&gt;Akkurat hva jeg vil!&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Steg 4&lt;/strong&gt;&lt;br /&gt;Oj! Her kom det en lang tekst som jeg skumleser. Et stykke ned finner jeg &amp;#8216;Begynn registrering&amp;#8217;. &lt;strong&gt;&lt;em&gt;Ikke dumt!&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Steg 5&lt;/strong&gt;&lt;br /&gt;Plutselig er jeg ikke lenger p&#229; Br.Reg. men p&#229; en side som heter &amp;#8216;Altinn&amp;#8217;. Den har jeg jo h&#248;rt om. Den skal v&#230;re bra. Men her begynner moroa for meg. Jeg blir servert en stor meny (&amp;#8216;Aktuelle skjema og tjenester&amp;#8217;) med elleve lange tekstpunkter, som jeg ikke skj&#248;nner stort av. I tillegg ser jeg to sm&#229; menyer i h&#248;yremargen: &amp;#8216;Snarveier&amp;#8217; og &amp;#8216;Starte og drive bedrift&amp;#8217;. Den siste med menypunktet &amp;#8216;Registrering&amp;#8217;. &lt;strong&gt;&lt;em&gt;Topp, back on track!&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Steg 6&lt;/strong&gt;&lt;br /&gt;Oj og dobbelt oj! En side med mange, mange tekstlinker, alle med lang tekst. De er delt opp i fem grupper og jeg skj&#248;nner med en gang at &amp;#8216;Registrere foretaket&amp;#8217; er gruppen for meg. Under den gruppen blir linken &amp;#8216;Hva gj&#248;r jeg for &#229; bli registrert i Foretaksregisteret?&amp;#8217; det beste valget. Tror jeg. &lt;strong&gt;&lt;em&gt;Ikke lenger trygg p&#229; dette her.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Steg 7&lt;/strong&gt;&lt;br /&gt;Her er det bare en kort liten artikkel som forteller meg at &#171;Registreringen i Foretaksregisteret gj&#248;res p&#229; Samordnet registermelding&#187;. Og etter kort leting finner jeg to linker i en h&#248;yremeny: &amp;#8216;Samordnet registermelding (i Altinn)&amp;#8217; og &amp;#8216;Samordnet registermelding (Varianter for nedlasting)&amp;#8217;. Jeg velger Altinn, selvf&#248;lgelig, det skal jo v&#230;re bra og effektivt og elektronisk. &lt;strong&gt;&lt;em&gt;Spent n&#229;!&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Steg 8&lt;/strong&gt;&lt;br /&gt;Jaja, en lang artikkelside med tittelen &amp;#8216;Samordnet registermelding (BR-1010)&amp;#8217;. Jeg trenger ikke &#229; skumme, for den &#248;verste linken er &amp;#8216;Her finner du skjemaet&amp;#8217;. &lt;strong&gt;&lt;em&gt;Yes! Endelig!&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Steg 9&lt;/strong&gt;&lt;br /&gt;Ok, det var et anchor point. Jeg ble flyttet ned til et skjemaikon med tittelen &amp;#8216;Samordnet registermelding&amp;#8217;. &lt;strong&gt;&lt;em&gt;Endelig, igjen.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Steg 10&lt;/strong&gt;&lt;br /&gt;P&#229; dette tiende steget kommer jeg til endel valg for &#229; f&#229; logget inn i Altinn. De sp&#248;r om jeg har smartkort, &lt;span class=&quot;caps&quot;&gt;PIN&lt;/span&gt;-koder, engangskoder, registrerte passord og en haug med andre ting. Hvis jeg ikke har, kan jeg bestille. Jeg vil ikke bestille noe. Var det ikke et sted jeg kunne laste ned skjema? Jeg begynner &#229; g&#229; bakover i nettleseren. &lt;strong&gt;&lt;em&gt;Hmm, f&#229;r jeg til dette mon tro?&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Steg 11&lt;/strong&gt;&lt;br /&gt;Tilbake til steg syv. Denne gangen velger jeg &amp;#8216;Samordnet registermelding (Varianter for nedlasting)&amp;#8217;. &lt;strong&gt;&lt;em&gt;N&#229; er jeg spent, og etterhvert litt ut&#229;lmodig.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Steg 12&lt;/strong&gt;&lt;br /&gt;Oj, vekk fra Altinn og tilbake til Br.Reg. Ti tekstlinker &#248;nsker meg velkommen. Jeg styrer vekk fra alt uaktuelt: Mva, D-nummer, styreendringer osv. To valg st&#229;r igjen: &amp;#8216;Samordnet registermelding del 1 &amp;#8211; hovedblankett&amp;#8217; og &amp;#8216;Elektronisk registrering gjennom Altinn&amp;#8217;. Det siste valgte jeg jo bort p&#229; forrige side, s&#229; jeg g&#229;r inn p&#229; hovedblanketten. &lt;strong&gt;&lt;em&gt;N&#229; sitter jeg og smiler og gleder meg til &#229; skrive denne lange bloggposten.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Steg 13&lt;/strong&gt;&lt;br /&gt;En haug med linker igjen. Den &#248;verste er &amp;#8216;Last ned blankett&amp;#8217;. Bra! &lt;strong&gt;&lt;em&gt;Er jeg p&#229; sporet igjen?&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Steg 14&lt;/strong&gt;&lt;br /&gt;Jeg lastet ikke ned noen blankett, men kom inn p&#229; en side som forteller at dette er i &lt;span class=&quot;caps&quot;&gt;PDF&lt;/span&gt;-format&amp;#8230; eller MS Word-format lenger ned. Jeg velger &lt;span class=&quot;caps&quot;&gt;PDF&lt;/span&gt; hovedblankett p&#229; bokm&#229;l. &lt;strong&gt;&lt;em&gt;Ikke verst!&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Steg 15&lt;/strong&gt;&lt;br /&gt;&lt;span class=&quot;caps&quot;&gt;BINGO&lt;/span&gt;! Jeg fant den! Et flott &lt;span class=&quot;caps&quot;&gt;PDF&lt;/span&gt;-skjema som lar seg fylle ut og printe direkte fra nettleseren min. Det har ogs&#229; hjelpetekster der jeg trenger det. &lt;strong&gt;&lt;em&gt;Kjempebra!&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;Tja, hva skal jeg si n&#229;? Takk for t&#229;lmodigheten dere har hatt som har lest dette. For meg var det godt &#229; f&#229; skrevet det. En konklusjon m&#229; vel v&#230;re at brukertesting er viktig for alle nettsteder, ogs&#229; de som ikke har direkte, kommersielle konkurrenter. Jeg t&#248;r tippe p&#229; at de mottar mange telefoner der oppe i Br&#248;nn&#248;ysund som en f&#248;lge av disse sidene.&lt;/p&gt;


	&lt;p&gt;S&#229; mitt enkle, velmenende r&#229;d til Br.Reg.: Putt en link til den &lt;span class=&quot;caps&quot;&gt;PDF&lt;/span&gt;-en allerede p&#229; steg 2, der jeg valgte at jeg skulle registrere et foretak. Og ring oss om dere &#248;nsker flere forbedringer.&lt;/p&gt;


	&lt;p&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;PS: Plateselskapet jeg startet heter forresten &#171;Fin jobb&#187;, og det er noe jeg synes jeg har som kan bruke tid p&#229; &#229; skrive alt dette. Ha en god dag!&lt;/p&gt;</content>
    <author>
      <name>John Eivind Hall&#233;n</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/57</id>
    <published>2008-03-01T13:51:38Z</published>
    <updated>2008-03-01T13:54:46Z</updated>
    <link type="text/html" href="/blogg/2008/3/1/your-browser-is-not-supported" rel="alternate"/>
    <title>Your browser is not supported</title>
    <content type="html">&lt;p&gt;Google Documents har noe s&#229; sjelden som en humoristisk vri p&#229; feilmeldinger om at nettleseren din ikke st&#248;ttes i tjenestene deres.&lt;/p&gt;&lt;p&gt;Om du for eksempel skulle driste deg til &#229; bruke &lt;a href=&quot;http://docs.google.com/&quot;&gt;Google Documents&lt;/a&gt; med &lt;a href=&quot;http://webkit.org/&quot;&gt;Webkit&lt;/a&gt; f&#229;r du opp en humoristisk melding:&lt;/p&gt;


&lt;blockquote&gt;
	&lt;p&gt;Hvis du holder p&#229; &#229; fikse problemer med en 
	bestemt nettleser og kunne tenke deg &#229; omg&#229; 
	denne kontrollen, er det bare &#229; legge til 
	&amp;#38;webleserok=true p&#229; slutten av nettadressen 
	Google Dokumenter. 
	Merk at det er et brudd p&#229; intergalaktisk lov 
	&#229; bruke denne parameteren under falske forutsetninger, 
	s&#229; ikke la oss ta deg p&#229; fersk gjerning. 
	Og det kommer faktisk ikke til &#229; fungere s&#230;rlig bra.&lt;/p&gt;

&lt;/blockquote&gt;




	&lt;p&gt;Det var noe annet enn &#229; fors&#248;ke p&#229;tvinge brukerne en nettleser de ikke er interessert i.&lt;/p&gt;


	&lt;p&gt;(Selv om det ser ut til &#229; funke aldeles utmerket &#229; bruke Google Docs med Webkit).&lt;/p&gt;</content>
    <author>
      <name>Marius M&#229;rnes Mathiesen</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/56</id>
    <published>2008-02-18T15:58:19Z</published>
    <updated>2008-03-08T12:23:52Z</updated>
    <link type="text/html" href="/blogg/2008/2/18/jo-flere-feil-jo-bedre-losning" rel="alternate"/>
    <title>Jo flere feil, jo bedre l&#248;sning</title>
    <content type="html">&lt;p&gt;I Shortcut er vi ikke redde for &#229; gj&#248;re feil, selv om vi gir r&#229;d, skriver kode og alt skal fungere. Vi er redde for &#229; &lt;em&gt;ikke&lt;/em&gt; gj&#248;re feil. Og heldigvis er vi ikke alene om &#229; ha det slik&amp;#8230;&lt;/p&gt;&lt;p&gt;Etter &#229; ha sett flere &lt;a href=&quot;http://www.ted.com/index.php/&quot;&gt;&lt;span class=&quot;caps&quot;&gt;TED&lt;/span&gt;-foredrag&lt;/a&gt; i tilfeldig, tilsendt pr. mail, rekkef&#248;lge, har jeg begynt &#229; g&#229; systematisk gjennom dem. De er utrolig inspirerende og bra. Og jeg merker at jeg blir hekta p&#229; samme m&#229;te som da jeg pl&#248;yet meg gjennom samtlige Sopranos-episoder. Etter &#233;n, var det alltid tid til en til. Jeg anbefaler virkelig alle &#229; ta turen innom &lt;span class=&quot;caps&quot;&gt;TED&lt;/span&gt; for litt faglig (uansett fag) og menneskelig inspirasjon.&lt;/p&gt;


	&lt;p&gt;Min favoritt n&#229; er kreativitetseksperten Ken Robbins&#8217; &lt;a href=&quot;http://www.ted.com/index.php/talks/view/id/66&quot;&gt;&#171;Do schools kill creativity?&#187;&lt;/a&gt;. Og ett av hans flere gode poeng, er tanken om hvordan strukturert skolegang bryter ned kreativitet. Men f&#248;r jeg gjentar hans forklaring p&#229; hvordan dette skjer, en liten intro:&lt;/p&gt;


	&lt;p&gt;Jeg jobbet i reklamebransjen i en kort periode og ble veldig imponert over den kreative metoden deres. (Selvf&#248;lgelig har ikke hele bransjen kun &#233;n metode, men for meg som kom utenifra kunne det virke s&#229;nn.) Metoden var som f&#248;lger. De uttalte sine ikke-gjennomtenke tanker, ustanselig og uten hemninger. De snakket uten &#229; filtrere vekk det de syntes var dumt. Uten en gang &#229; vurdere om det var dumt. Slik kom de med alle assosiasjoner de hadde, til det gitte tema. Som igjen ble plukket opp av andre i id&#233;myldringen. Tilslutt hadde man s&#229; mange ideer, at noen m&#229;tte n&#248;dvendigvis v&#230;re gode. Da var det bare &#229; plukke.&lt;/p&gt;


	&lt;p&gt;Det er v&#229;r redsel for &#229; si noe feil, for &#229; dumme oss ut, som hindrer oss i &#229; komme med alle ideene, f&#248;r vi kan plukke ut de gode. Vi vil tenke gjennom f&#248;rst, forsikre oss om at det er smart, f&#248;r vi t&#248;r delta i en samtale. Vi t&#248;r ikke si noe feil. Noe som ender med at man deltar altfor sjeldent. Og hvorfor er vi s&#229;nn? Ken Robbins&#8217; svar er skolesystemet. Gjennom en lang skolegang blir feil sl&#229;tt ned p&#229;, gang p&#229; gang. Hele skolesystemet hyller det ene riktige svaret, selv om alle som jobber med kreativitet vet man m&#229; feile for &#229; v&#230;re kreativ. Og feile igjen.&lt;/p&gt;


	&lt;p&gt;Vi &#248;nsker &#229; v&#230;re kreative i Shortcut. Vi &#248;nsker &#229; lage l&#248;sninger folk ikke har tenkt p&#229;. Vi &#248;nsker &#229; l&#248;se ting p&#229; en ny m&#229;te, en stadig bedre m&#229;te. S&#229; da m&#229; man ogs&#229; &#248;nske &#229; feile, p&#229; veien dit. Men hvordan kan en teknologibedrift &#248;nske &#229; feile? Hvordan kan utviklere &#248;nske &#229; feile? M&#229; ikke kode til enhver tid v&#230;re feilfri? Skal ikke v&#229;re r&#229;dgivere gi gode r&#229;d, ikke gale r&#229;d? (Bare legg til de retoriske sp&#248;rsm&#229;lene du m&#229;tte ha.)&lt;/p&gt;


	&lt;p&gt;Ved &#229; innse at produktene vi lager til stadighet er under utvikling, kan vi f&#229; til &#229; feile oss frem til gode l&#248;sninger. Vi lager ikke kode, for aldri &#229; endre p&#229; den. Vi lager ikke design, for aldri &#229; endre p&#229; den. Vi jobber systematisk mot den ideen vi har om hva v&#229;r l&#248;sning skal kunne gj&#248;re. Vi fikser de viktigste oppgavene f&#248;rst. S&#229; pr&#248;ver vi ut andre ting, alternative ting. Forandrer litt her og forandrer litt der. Noen ting beholder vi, andre ting var nyttige feil p&#229; veien. De kaster vi.&lt;/p&gt;


	&lt;p&gt;Men tar ikke dette ekstra lang tid? Blir ikke dette sv&#230;rt dyrt?
Nei, takket v&#230;re den moderne teknologien og arbeidsmetodene vi bruker, blir &#8221;feilene&#8221; bare endel av prosessen, uten &#229; forlenge den. Med Ruby on Rails kan vi fort og enkelt lage all funksjonaliteten, og sette opp automatiske tester av alle oppgaver, til en l&#248;sning. Da har vi et nyttig verkt&#248;y hvor vi kan pr&#248;ve og feile, og jobbe oss stadig n&#230;rmere det resultatet vi &#248;nsker. Og ved &#229; hele tiden &#229; gj&#248;re sm&#229; oppdateringer, kan vi s&#248;ml&#248;st rette opp feil og fjerne ting, eller beholde ting og komme et steg videre. P&#229; den m&#229;ten maner vi frem produktet slik vi vil ha det, med alle gode ideer ivaretatt.&lt;/p&gt;


	&lt;p&gt;Men f&#248;r vi gj&#248;r noen fler feil, ikke glem &#229; h&#248;re og se Ken Robbins&#8217; &lt;a href=&quot;http://www.ted.com/index.php/talks/view/id/66&quot;&gt;&#171;Do schools kill creativity?&#187;&lt;/a&gt;. Han har ogs&#229; andre gode poeng.&lt;/p&gt;</content>
    <author>
      <name>John Eivind Hall&#233;n</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/55</id>
    <published>2008-01-18T12:54:19Z</published>
    <updated>2008-02-19T15:03:29Z</updated>
    <link type="text/html" href="/blogg/2008/1/18/rest-hvilken-vakker-ting" rel="alternate"/>
    <title>REST, hvilken vakker ting</title>
    <content type="html">&lt;p&gt;Jeg jobber for tida p&#229; mitt s&#229; langt st&#248;rste Railsprosjekt. Her har jeg merket noe som ser ut til &#229; v&#230;re en trend: n&#229;r etablerte akt&#248;rer vurderer Rails faller ofte ActiveRecord bort som alternativ i f&#248;rste omgang. Mange tror dette betyr at Rails ikke gir nok til at det er noen vits, der tror jeg de tar feil.&lt;/p&gt;&lt;p&gt;Rails best&#229;r, ut av boksen av to hovedelementer: ActiveRecord, som h&#229;ndterer forretningsobjektene dine slik de er representert i en relasjonsdatabase, og et rammeverk for det &#229; lage webapplikasjoner. De fleste eksemplene p&#229; bruk av Rails er s&#229; enkle og tiltalende nettopp fordi de lener seg s&#229; hardt p&#229; grunnfunksjonaliteten i Rails: ActiveRecord og ActionPack.&lt;/p&gt;


	&lt;p&gt;Et av de nyere tilskuddene til Rails-familien er ActiveResource, et bibliotek som lar deg bruke ressurser fra et annet system omtrent som om de fantes i din egen database. Om det andre systemet ogs&#229; er en Rails-applikasjon er dette &amp;#8220;plug&amp;#8217;n&amp;#8217;play&amp;#8221;, hvis ikke m&#229; det gj&#248;res litt jobb. Jeg mistenker at mange som vurderer Rails resonnerer omtrent s&#229;nn:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Kan vi bruke ActiveRecord? Nei&lt;/li&gt;
		&lt;li&gt;Kan vi bruke ActiveResource? Kanskje, men da m&#229; vi gj&#248;re masse om p&#229; det eksterne systemet, slik at ActiveResource kan fungere uten tilpasninger&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Om det s&#229; skulle vise seg at datastrukturen (eller noe annet) i det eksterne systemet &lt;em&gt;ikke&lt;/em&gt; er tilsvarende Rails henfaller mange enten til &#229; avskrive Rails eller &#229; glemme alle prinsipper om bra h&#229;ndverk og parse &lt;span class=&quot;caps&quot;&gt;XML&lt;/span&gt;-strukturer i controllere og whatnot. Det er det ingen grunn til!&lt;/p&gt;


	&lt;p&gt;P&#229; prosjektet jeg jobber n&#229; ligger forel&#248;pig alle modellene v&#229;re &amp;#8220;utenfor v&#229;r kontroll&amp;#8221;, det vil si at eneste grensesnittet vi har mot dem er en &lt;span class=&quot;caps&quot;&gt;REST&lt;/span&gt;-basert webservice. Disse ligner ikke p&#229; ActiveResource i det hele tatt, og det gj&#248;r ingenting. Vi bare begynte &#229; skrive klientkode som om disse eksterne modellene var f&#248;rsteklasses ActiveRecord-lignende objekter.&lt;/p&gt;


&lt;pre name=&quot;code&quot; class=&quot;ruby&quot;&gt;
me = Person.find(&quot;marius&quot;)
all_people = Person.find(:limit =&amp;gt; 22)
&lt;/pre&gt;

	&lt;p&gt;Jeg tenkte ikke p&#229; hvordan jeg skulle implementere dette &lt;em&gt;i det hele tatt&lt;/em&gt; p&#229; dette stadiet, jeg bare skrev den klientkoden (som en enhetstest, s&#229;klart) som jeg &#248;nsket &#229; bruke om verden var et perfekt sted. Etter min erfaring er dette den eneste m&#229;ten &#229; f&#229; et &lt;span class=&quot;caps&quot;&gt;API&lt;/span&gt;/DSL man orker &#229; leve med i lengen: man er n&#248;dt til &#229; skille det &#229; designe seg et domenespr&#229;k fra det &#229; implementere det. I dette tilfellet valgte jeg &#229; f&#229; noe som lignet veldig p&#229; ActiveRecord/ActiveResource; f&#248;rst og fremst fordi noen her har tenkt p&#229; masse problemstillinger for meg, dernest fordi de andre elementene i Rails-applikasjonen min (Controllere og Views) blir mest mulig lik Rails og jeg slipper &#229; tenke.&lt;/p&gt;


	&lt;p&gt;Deretter, n&#229;r jeg hadde bygget meg et spr&#229;k gjennom de testene jeg hadde laget satt jeg lykkelig og utslitt med et titalls tester som feiler. Da er det p&#229; tide &#229; g&#229; hjem, sove ut, og begynne implementasjonen neste dag.&lt;/p&gt;


	&lt;p&gt;Vi hadde en diskusjon med de som utvikler &lt;span class=&quot;caps&quot;&gt;REST&lt;/span&gt;-tjenesten vi skal forholde oss til, og de fortalte blant annet om &lt;span class=&quot;caps&quot;&gt;XML&lt;/span&gt;-formatet de brukte n&#229;r man pr&#248;vde &#229; aksessere en ressurs som ikke fantes. Igjen var det noen som hadde tenkt for oss, m&#229;ten Rails&amp;#8217; &lt;span class=&quot;caps&quot;&gt;REST&lt;/span&gt;-tjenester forteller at en ressurs ikke finnes p&#229; er &#229; returnere &lt;span class=&quot;caps&quot;&gt;HTTP&lt;/span&gt; statuskode 404 (not found). Det gir ingen mening &#229; skulle parse &lt;span class=&quot;caps&quot;&gt;XML&lt;/span&gt; for en ressurs som ikke finnes.&lt;/p&gt;


	&lt;p&gt;Dette er en oppfordring til &#229; v&#230;re litt ambisi&#248;s n&#229;r du ikke kan lene deg p&#229; Rails. Som Railsutvikler har vi et fantastisk verkt&#248;y tilgjengelig: det samme verkt&#248;yet som Rails-teamet bruker n&#229;r de lager Rails &amp;#8211; Ruby. Ruby er kraftige greier, bruk det!&lt;/p&gt;</content>
    <author>
      <name>Marius M&#229;rnes Mathiesen</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/54</id>
    <published>2008-01-17T11:11:40Z</published>
    <updated>2008-01-17T11:12:49Z</updated>
    <link type="text/html" href="/blogg/2008/1/17/na-kan-du-folge-bloggen-var-pa-twitter" rel="alternate"/>
    <title>N&#229; kan du f&#248;lge bloggen v&#229;r p&#229; Twitter</title>
    <content type="html">&lt;p&gt;har f&#229;tt b&#229;de oppmerksomhet og pepper i det siste, sist etter at de gikk ned under Macworld her om dagen. Vi har n&#229; laget oss en bot som du kan f&#248;lge for &#229; f&#229; oppdateringer fra bloggen v&#229;r inn i Twitteren din.&lt;/p&gt;&lt;p&gt;I f&#248;rste omgang har vi lagt inn funksjonalitet for at &lt;a href=&quot;http://twitter.com/shortcut_blog&quot;&gt;Twitter-boten v&#229;r&lt;/a&gt; sier fra hver gang noen poster kommentarer p&#229; blogginnlegg. Det kan neppe v&#230;re lenge til ogs&#229; nye artikler annonseres.&lt;/p&gt;


	&lt;p&gt;For &#229; motta oppdateringer fra boten v&#229;r g&#229;r du inn p&#229; &lt;a href=&quot;http://twitter.com/shortcut_blog&quot;&gt;profilen hennes&lt;/a&gt; og trykker p&#229; &amp;#8220;Follow&amp;#8221;-knappen. Du m&#229; selvsagt ha en Twitter-konto for at dette skal fungere.&lt;/p&gt;


	&lt;p&gt;S&#229; lover vi &#229; si fra &amp;#8211; via Twitter s&#229;klart &amp;#8211; s&#229; snart noe nytt er p&#229; plass.&lt;/p&gt;</content>
    <author>
      <name>Marius M&#229;rnes Mathiesen</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/53</id>
    <published>2008-01-08T14:17:37Z</published>
    <updated>2008-01-08T14:20:19Z</updated>
    <link type="text/html" href="/blogg/2008/1/8/penere-adresser" rel="alternate"/>
    <title>Penere adresser</title>
    <content type="html">&lt;p&gt;Selv om navlebeskuelse ikke er det mest tiltalende man kan gj&#248;re p&#229; web er jo dette tross alt en teknologiblogg. Vi har idag gjort litt om p&#229; URLene her p&#229; nettstedet.&lt;/p&gt;&lt;p&gt;For &#229; score s&#229;nn noenlunde p&#229; s&#248;kbarhet er ett av kriteriene at URLen gjenspeiler innholdet i artikkelen. N&#229;r man bygger en blogg i Rails fra grunnen av, slik vi har gjort med denne bloggen, er minste motstands vei &#229; bruke den unike ID&amp;#8217;en til en artikkel som basis for URLen til den. Fram til n&#229; nettopp var adressene til artikler p&#229; denne bloggen nettopp slik: &lt;pre&gt;http://shortcut.no/posts/1&lt;/pre&gt;&lt;/p&gt;


	&lt;p&gt;N&#229; er det antakelig mindre interessant for deg som leser denne bloggen hvilken ID databasen v&#229;r tildeler artiklene i bloggen. Det som kanskje &lt;em&gt;er&lt;/em&gt; av betydning er tittelen p&#229; artikkelen og n&#229;r artikkelen ble skrevet. En veldig vanlig m&#229;te &#229; gj&#248;re dette p&#229; er &#229; bruke &lt;a href=&quot;http://en.wikipedia.org/wiki/Permalink&quot;&gt;Permalinker&lt;/a&gt;, der b&#229;de dato og tittelen til artikkelen vises i URLen.&lt;/p&gt;


	&lt;p&gt;Vi har implementert permalinker i denne bloggen ved hjelp av et filter i &lt;code&gt;Post&lt;/code&gt;-klassen i bloggen, slik:&lt;/p&gt;


&lt;pre name=&quot;code&quot; class=&quot;ruby&quot;&gt;
class Post &amp;lt; ActiveRecord::Base
  before_create :create_permalink
end
&lt;/pre&gt;

	&lt;p&gt;Dette filteret gj&#248;r noen helt enkle operasjoner:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;F&#248;rst erstattes alle norske tegn (&#230;, &#198;, &#248;, &#216;, &#229;, &#197;) med tilsvarende internasjonale tegn (a, o og a)&lt;/li&gt;
		&lt;li&gt;Deretter gj&#248;res permalinken til sm&#229; bokstaver&lt;/li&gt;
		&lt;li&gt;Deretter byttes alt som ikke er internasjonale bokstaver eller tall ut med en understrek&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Resultatet av denne operasjonen lagres i kolonnen &lt;code&gt;permalink&lt;/code&gt; i databasen. Enhetstesten for permalinker ser slik ut:&lt;/p&gt;


&lt;pre name=&quot;code&quot; class=&quot;ruby&quot;&gt;
class PostTest &amp;lt; ActiveSupport::TestCase
  def test_permalinks
    post = @user.posts.new(
      :title =&amp;gt; &quot;Godt nytt&#229;r fra &#216;sterdalen 123&quot;)
    assert post.save
    assert_equal(
      &quot;godt_nyttar_fra_osterdalen_123&quot;, 
      post.permalink)
  end
end
&lt;/pre&gt;

	&lt;p&gt;Vi har valgt &#229; ikke kreve at permalinkene skal v&#230;re unike, dette ville hindret oss fra &#229; skrive to artikler med samme tittel. Istedet bruker vi routingen i Rails til &#229; s&#248;rge for at vi henter riktig artikkel. Linkene til artikler genereres i en helper, slik:&lt;/p&gt;


&lt;pre name=&quot;code&quot; class=&quot;ruby&quot;&gt;
def permalink_to(post, label)
  link_to(label, permalink_url(post))
end

def permalink_url(post)
  url_for(
    :controller =&amp;gt; &quot;/posts&quot;, 
    :action =&amp;gt; &quot;show_permalink&quot;, 
    :year =&amp;gt; post.created_at.year, 
    :month =&amp;gt; post.created_at.month, 
    :day =&amp;gt; post.created_at.day, 
    :permalink =&amp;gt; post.permalink)
end
&lt;/pre&gt;

	&lt;p&gt;Ved &#229; skille dette ut i to metoder kan vi b&#229;de bruke helperen til &#229; generere en permalink-link som kan brukes for seg selv og en link_to-lignende syntaks. Helperen s&#248;rger for &#229; sende med parametre for &#229;r, m&#229;ned og dag artikkelen ble skrevet. For at adressene skal bli formatert riktig lager vi en linje i &lt;code&gt;routes.rb&lt;/code&gt; som formaterer dette slik vi er vant med:&lt;/p&gt;


&lt;pre name=&quot;code&quot; class=&quot;ruby&quot;&gt;
  map.permalink '/posts/:year/:month/:day/:permalink', :controller =&amp;gt; &quot;posts&quot;, :action =&amp;gt; &quot;show_permalink&quot; 
&lt;/pre&gt;

	&lt;p&gt;Datoen havner n&#229; som henholdsvis &lt;code&gt;params[:year]&lt;/code&gt;, &lt;code&gt;params[:month]&lt;/code&gt;, &lt;code&gt;params[:day]&lt;/code&gt; og &lt;code&gt;params[:permalink]&lt;/code&gt; i &lt;code&gt;PostsController&lt;/code&gt;-klassen v&#229;r.&lt;/p&gt;</content>
    <author>
      <name>Marius M&#229;rnes Mathiesen</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/52</id>
    <published>2008-01-04T16:15:29Z</published>
    <updated>2009-05-11T13:04:44Z</updated>
    <link type="text/html" href="/blogg/2008/1/4/magi-i-rails-med-composed_of" rel="alternate"/>
    <title>Magi i Rails med composed_of</title>
    <content type="html">&lt;p&gt;Rails lar deg lagre sammensatte dataobjekter i en modell med metoden &lt;code&gt;composed_of&lt;/code&gt;. Denne artikkelen gir noen eksempler p&#229; hvordan du kan bruke dette til &#229; f&#229; til ganske avanserte ting i Rails-programmet ditt.&lt;/p&gt;&lt;p&gt;I &lt;a href=&quot;http://api.rubyonrails.org/classes/ActiveRecord/Aggregations/ClassMethods.html#M001344&quot;&gt;dokumentasjonen for composed_of&lt;/a&gt; st&#229;r det&lt;/p&gt;


&lt;blockquote&gt;
	&lt;p&gt;Adds reader and writer methods for manipulating a value object&lt;/p&gt;

&lt;/blockquote&gt;




	&lt;p&gt;Det helt grunnleggende tilfellet er der du har en &lt;code&gt;Person&lt;/code&gt;-klasse som har et adresseobjekt tilknyttet seg. Man kan selvsagt ha en egen &lt;code&gt;addresses&lt;/code&gt;-tabell der man lagrer adressen og s&#229; bruker &lt;code&gt;has_one :address&lt;/code&gt; for &#229; koble personen med adressen.&lt;/p&gt;


	&lt;p&gt;En annen l&#248;sning er &#229; ha et &lt;code&gt;Address&lt;/code&gt;-objekt som er en helt vanlig klasse, men som (tilfeldigvis) lagrer dataene sine i &lt;code&gt;people&lt;/code&gt;-tabellen. La oss si at en adresse best&#229;r av en gateadresse og et postnummer. Dette kan man kode slik i Rails:&lt;/p&gt;


&lt;pre class=&quot;ruby&quot; name=&quot;code&quot;&gt;
class Person &amp;lt; ActiveRecord::Base
  composed_of :address, :class_name =&amp;gt; &quot;Address&quot;, 
    :mapping =&amp;gt; [
      [:address_street, :street],
      [:address_postal_code, :postal_code]]
end

class Address
  attr_reader :postal_code, :address
  def initialize(street, postal_code)
    @street = street
    @postal_code = postal_code
  end
end
&lt;/pre&gt;

	&lt;p&gt;Det som her skjer er at to kolonner i people-tabellen din, &lt;code&gt;address_street&lt;/code&gt; og &lt;code&gt;address_postal_code&lt;/code&gt; settes sammen til et &lt;code&gt;Address&lt;/code&gt;-objekt som du bruker i Ruby-koden din istedet for &#229; manipulere disse feltene direkte:&lt;/p&gt;


&lt;pre class=&quot;ruby&quot; name=&quot;code&quot;&gt;
me = Person.find_by_name(&quot;marius&quot;)
me.address = Address.new(&quot;Nonnegata 21&quot;,&quot;0656&quot;)
me.save
&lt;/pre&gt;

	&lt;p&gt;Okay, dette virker kanskje som pirkete objektorientert idealisme, men du kan faktisk bruke dette til noe nyttig ogs&#229;. La oss si at du &#248;nsker &#229; ogs&#229; kunne hente ut poststed til en norsk adresse. La oss sette opp f&#248;lgende krav:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Address-klassen din skal ikke lagre poststedet, men hente dette fra en egen tabell i databasen&lt;/li&gt;
		&lt;li&gt;Person-objekter skal ikke v&#230;re gyldige med mindre de har et gyldig postnummer (eller riktigere: et Address-objekt med et gyldig postnummer)&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;For &#229; f&#229; dette til lager vi en egen ActiveRecord-klasse (med en tilh&#248;rende tabell) for poststeder (Zip). Vi kan laste ned en fil som inneholder alle norske postnummer og -steder fra &lt;a href=&quot;http://epab.posten.no/Norsk/Nedlasting/NedlastingMeny.htm&quot;&gt;Posten&lt;/a&gt; og s&#229; lage en &lt;a href=&quot;http://pastie.caboo.se/134915&quot;&gt;Rake-task som bruker denne fila til &#229; oppdatere zips-tabellen&lt;/a&gt;. Du har da en Zip-klasse som kan se omtrent s&#229;nn ut:&lt;/p&gt;


&lt;pre class=&quot;ruby&quot; name=&quot;code&quot;&gt;
class Zip &amp;lt; ActiveRecord::Base
  validates_uniqueness_of :number
end
&lt;/pre&gt;

	&lt;p&gt;Om du s&#229; kobler sammen &lt;code&gt;Address&lt;/code&gt; og &lt;code&gt;Zip&lt;/code&gt;-modellene dine for eksempel slik:&lt;/p&gt;


&lt;pre class=&quot;ruby&quot; name=&quot;code&quot;&gt;
class Address &amp;lt; ActiveRecord::Base
  def postal_place 
    z = Zip.find_by_number(postal_code)
    return z.place.chars
  end
end    
&lt;/pre&gt;

vil du kunne hente ut poststed for en adresse slik:
&lt;pre class=&quot;ruby&quot; name=&quot;code&quot;&gt;
me = Person.find_by_name(&quot;marius&quot;)
me.address = Address.new(&quot;Nonnegata 21&quot;,&quot;0656&quot;)
me.address.postal_place  =&amp;gt; # OSLO
&lt;/pre&gt;

	&lt;p&gt;Vi sukrer pillen litt til ved &#229; la deg f&#229; en snasen m&#229;te &#229; representere adresser p&#229; i viewet ditt:&lt;/p&gt;


&lt;pre class=&quot;ruby&quot; name=&quot;code&quot;&gt;
class Address &amp;lt; ActiveRecord::Base
  def to_s
    &quot;#{street}, #{postal_code} #{postal_place}&quot; 
  end
end
&lt;/pre&gt;

	&lt;p&gt;S&#229; vil du kunne skrive ut en adresse i viewet ditt p&#229; den mest naturlige m&#229;ten:&lt;/p&gt;


&lt;pre class=&quot;ruby&quot; name=&quot;code&quot;&gt;
me = Person.find_by_name(&quot;marius&quot;)
me.address = Address.new(&quot;Nonnegata 21&quot;,&quot;0656&quot;)
puts me.address =&amp;gt; # Nonnegata 21, 0656 Oslo
&lt;/pre&gt;

	&lt;p&gt;Men vi lovet mer: nemlig at en &lt;code&gt;Person&lt;/code&gt; m&#229;tte ha en gyldig adresse for &#229; kunne lagres. Her skal vi rett og slett basere oss p&#229; duck-typingen som ligger i Ruby. Vi skal f&#248;rst bruke &lt;code&gt;validates_associated&lt;/code&gt; metoden for &#229; si at en &lt;code&gt;Person&lt;/code&gt; skal validere sin tilh&#248;rende &lt;code&gt;Address&lt;/code&gt;:&lt;/p&gt;


&lt;pre class=&quot;ruby&quot; name=&quot;code&quot;&gt;
class Person &amp;lt; ActiveRecord::Base
  validates_associated :address
end
&lt;/pre&gt;

	&lt;p&gt;Det har ikke noe &#229; si om &lt;code&gt;Address&lt;/code&gt;-klassen ikke er en ActiveRecord-klasse, det som skjer er at metoden &lt;code&gt;valid?&lt;/code&gt; blir kalt p&#229; det tilh&#248;rende &lt;code&gt;Address&lt;/code&gt;-objektet. Dette kan vi implementere slik:&lt;/p&gt;


&lt;pre class=&quot;ruby&quot; name=&quot;code&quot;&gt;
class Address
  def valid?
    return !Zip.find_by_number(postal_code).nil?
  end
end
&lt;/pre&gt;

	&lt;p&gt;Og dermed har vi s&#248;rget for at en &lt;code&gt;Person&lt;/code&gt; bare er gyldig dersom dens tilh&#248;rende &lt;code&gt;Address&lt;/code&gt; er gyldig ogs&#229;.&lt;/p&gt;


	&lt;p&gt;Neste gang vil jeg skrive om hvordan du kan bruke &lt;code&gt;composed_of&lt;/code&gt; til &#229; lagre penger i databasen p&#229; en fornuftig m&#229;te ved &#229; bruke et eget &lt;code&gt;Money&lt;/code&gt;-objekt.&lt;/p&gt;</content>
    <author>
      <name>Marius M&#229;rnes Mathiesen</name>
    </author>
  </entry>
  <entry>
    <id>tag:blog.shortcut.no,2005:Post/51</id>
    <published>2008-01-04T11:17:32Z</published>
    <updated>2008-01-08T13:56:35Z</updated>
    <link type="text/html" href="/blogg/2008/1/4/ny-blogg" rel="alternate"/>
    <title>Ny blogg</title>
    <content type="html">&lt;p&gt;Den &lt;em&gt;vanskelige&lt;/em&gt; f&#248;rste posten, hva skal man skrive om?&lt;/p&gt;&lt;p&gt;Vi, alts&#229; John Eivind Hall&#233;n og Marius M&#229;rnes Mathiesen, sluttet i &lt;a href=&quot;http://fatguy.no/&quot;&gt;Fatguy&lt;/a&gt; i begynnelsen av desember, og er n&#229; midt oppe i prosessen med &#229; starte med ganske blanke ark.&lt;/p&gt;


	&lt;p&gt;Denne bloggen vil inneholde sm&#229; og store drypp om de tingene vi er opptatt av, kort oppsummert som design og utvikling. Og for at det ikke skal v&#230;re helt tomt: dette er aller f&#248;rste post her p&#229; bloggen v&#229;r.&lt;/p&gt;


	&lt;p&gt;Om det er noe som ikke funker (RSS-feed, kommentarer), noe du misliker eller du bare vil &#248;nske oss velkommen: legg gjerne igjen en kommentar nedenfor!&lt;/p&gt;</content>
    <author>
      <name>Marius M&#229;rnes Mathiesen</name>
    </author>
  </entry>
</feed>
