<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" xml:lang="en-US">
  <id>tag:blog.shortcut.no,2005:/blogg</id>
  <link type="text/html" href="http://blog.shortcut.no" rel="alternate" />
  
  <title>Shortcut</title>
  <updated>2010-11-09T12:34:42Z</updated>
  <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/shortcut_blog" /><feedburner:info uri="shortcut_blog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>59.908889</geo:lat><geo:long>10.74405</geo:long><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="http://feedproxy.google.com/~r/shortcut_blog/~3/gQpVUdIPurA/fra-motorrommet-til-app-store" rel="alternate" />
    <title>Fra motorrommet til App Store</title>
    <content type="html">&lt;p&gt;&lt;span class="caps"&gt;I 3&lt;/span&gt; hektiske sommermåneder i 2010 lagde Shortcut en iPhone app for &lt;span class="caps"&gt;DEFA&lt;/span&gt;. I denne artikkelen belyser jeg noen erfaringer som kan være nyttig for andre som går med en app i magen. Bli med &lt;em&gt;behind the scenes&lt;/em&gt; under utviklingen av &lt;span class="caps"&gt;DEFA&lt;/span&gt; app-en!&lt;/p&gt;&lt;p&gt;Det er nå engang slik at de fleste &lt;em&gt;menn&lt;/em&gt; har et visst begrep om hva &lt;span class="caps"&gt;DEFA&lt;/span&gt; driver med; det er fordi at &lt;span class="caps"&gt;DEFA&lt;/span&gt; har lange tradisjoner med å forsyne bilmarkedet verden over med tilleggsprodukter til bil, slik som bilalarmer, sporere (trackere), motorvarmere og kupévarmere. Hos &lt;span class="caps"&gt;DEFA&lt;/span&gt; er en kald vinter en god vinter.&lt;/p&gt;


	&lt;p&gt;&lt;img src="http://shortcut.no/system/pictures/48/original/screenshot2in1.png" alt="" /&gt;&lt;/p&gt;


Shortcut ble kontaktet av &lt;span class="caps"&gt;DEFA&lt;/span&gt; i slutten av april 2010 med en briljant idé: &lt;span class="caps"&gt;DEFA&lt;/span&gt; ønsket å 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ør nå &amp;#8211; at en app med nevnte funksjonalitet vil kunne øke bruksverdien av DEFAs bilprodukter dramatisk. Må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åneder til deadline!&lt;/h4&gt;


	&lt;p&gt;Den opplagte arenaen for å 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="caps"&gt;DEFA&lt;/span&gt; app-en gikk, var denne messen følgelig fattige 4 måneder unna.&lt;/p&gt;


	&lt;p&gt;Heldigvis hadde &lt;span class="caps"&gt;DEFA&lt;/span&gt; gjort mye godt fotarbeid før vi ble kontaktet. De mest fremtredende skjermbildene i app-en var stort sett ferdig designet. Nå gjenstod å vekke skjermbildene til liv ved å forestå navigering mellom skjermbildene, legge inn kommunikasjon med &lt;span class="caps"&gt;DEFA&lt;/span&gt; sine servere, og håndtere alle tilstandene man kan komme opp, eksempelvis med ustabilt nettverk.&lt;/p&gt;


	&lt;p&gt;Mai ble preget av hektisk møtevirksomhet. Det gjaldt for &lt;span class="caps"&gt;DEFA&lt;/span&gt; å få formidlet hvorledes man ønsket at brukeropplevelsen skulle være, og hvilke prioriteringer man la til grunn. Det gjaldt for Shortcut å få 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øter hvor de involverte fikk snakket med hverandre, sett hverandre i hvitøyet og ledd litt sammen, sendte &lt;span class="caps"&gt;DEFA&lt;/span&gt; over Photoshop-filer til våre utviklere. Jobben med å ta det grafiske uttrykket fra tegnebrettet til XCode kunne begynne.&lt;/p&gt;


	&lt;p&gt;Shortcut ønsker svært gjerne å være ansvarlig for utformingen av design og brukeropplevelse, men slik ble det ikke i dette prosjektet, Work hadde allerede gjort den før/for oss.&lt;/p&gt;


	&lt;h4&gt;(Quite) a Few Good Men&lt;/h4&gt;


	&lt;p&gt;Siden man aldri må snakke om problemer, så ble det en &lt;em&gt;utfordring&lt;/em&gt; at team-medlemmene var spredt over halve Norge. &lt;span class="caps"&gt;DEFA&lt;/span&gt; hadde en prosjektleder for &lt;span class="caps"&gt;GUI&lt;/span&gt; i Sandvika, Shortcut hadde sine folk og lokaler i Oslo sentrum, DEFAs &lt;span class="caps"&gt;API&lt;/span&gt;-utviklere befant seg i Trondheim og DEFAs egen merkevarebygger, Work AS, holdt til på Majorstua i Oslo. I tillegg satt DEFAs to produktsjefer (for hhv. WarmUp og Security også 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år 2 mennesker skal kommunisere med hverandre. I et prosjekt med et halvt dusin mennesker er e-post uegnet. Dette først og fremst fordi man risikerer at informasjon og ressursfiler fortapes i innboksen til team-medlemmer. Her er noen flere grunner til å se etter andre kommunikasjonsformer:
	&lt;ul&gt;
	&lt;li&gt;E-postkommunikasjon støtter ikke tråder (eller gjør det i beste fall dårlig). Dette gjør at meldingene kan stå uten en kontekst som vil hjelpe leseren til å gi den mening.&lt;/li&gt;
		&lt;li&gt;Det er krevende for prosjektleder og andre å vite hvilke &lt;del&gt;problemer&lt;/del&gt; utfordringer øvrige team-medlemmer befatter seg med,&lt;/li&gt;
		&lt;li&gt;Etterhvert som prosjektet skrider frem, blir det vanskelig å vite hvilken grad av gyldighet historiske e-poster med respektive vedlegg har.  &lt;/li&gt;
		&lt;li&gt;E-post gjør prosjektet sårbart fordi backtracking grunnet uforutsett fravæ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øy. &lt;span class="caps"&gt;I DEFA&lt;/span&gt;-prosjektet benyttet vi det web-basert verktøyet Basecamp, som med fokus på kommunikasjon mellom mennesker stå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 å tilby brukeren av app-en informasjon og funksjonalitet fordi vi &lt;em&gt;kan&lt;/em&gt;. Det er fort gjort å glemme å spørre seg &amp;#8220;-kan dette skrelles bort, i brukervennlighetens navn?&amp;#8221; Et eksempel fra &lt;span class="caps"&gt;DEFA&lt;/span&gt;-prosjektet var årsaken til en bilalarm: Det er nemlig slik at opphavet til en bilalarm kan stamme fra en glassknusesensor, et akselerometer, en dø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="caps"&gt;DEFA&lt;/span&gt; app-en velger vi istedet å fokusere på kjernefunksjonaliteten.&lt;/p&gt;


	&lt;h4&gt;Automechanika med et skrik&lt;/h4&gt;


	&lt;pre&gt;&lt;code&gt;&lt;img src="http://shortcut.no/system/pictures/47/original/messbilde_c.png" alt="" /&gt;&lt;/code&gt;&lt;/pre&gt;


Gjennom sommermånedene jobbet vi mye fra våre respektive arbeidsplasser, noe som fungerte bra ettersom vi;
	&lt;ul&gt;
	&lt;li&gt;hadde hatt tilstrekkelig face-time den fø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="http://shortcut.no/system/pictures/51/original/kake.png" alt="" /&gt;&lt;/code&gt;&lt;/pre&gt;


	&lt;p&gt;App-en ble bygget stein for stein, og alle de features vi ø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 å se hvordan app-en vil bli mottatt når den blir kommersielt tilgjengelig i Appstore en eller annen gang i 2011. For å snakke for meg selv så havner denne høyt oppe på &lt;em&gt;&amp;#8220;må ha det, bare må ha det&amp;#8221;&lt;/em&gt;-listen. For meg handler det om kontroll: Tenk å kunne ligge i sengen og få bekreftet at bilen står der den burde stå. Og tenk å kunne justere tidspunktet for når bilen skal være varm dagen etterpå. Og tenk å vite at dersom en skurk stikker av med bilen min &amp;#8211; så får jeg push melding om det! Fantastisk! ...Selv om sistnevnte opplevelse kanskje ikke er fullt så fantastisk.&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://defa.com/happycar/"&gt;Les mer her&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/gQpVUdIPurA" height="1" width="1"/&gt;</content>
    <author>
      <name>Marius Bjønness</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2010/11/9/fra-motorrommet-til-app-store</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/Zfeen1-eSI8/defa-jam" rel="alternate" />
    <title>Med bilen i lomma</title>
    <content type="html">&lt;p&gt;På Automechanika-messen i Frankfurt i September presenterte den norske industrikjempen &lt;span class="caps"&gt;DEFA&lt;/span&gt; den nye iPhone-appen &lt;span class="caps"&gt;DEFA&lt;/span&gt; Link.&lt;/p&gt;&lt;p&gt;&lt;span class="caps"&gt;DEFA&lt;/span&gt; Link skal lanseres i 2011 og er DEFAs første satsing på bruk av smarttelefoner til å 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="http://work.no"&gt;&lt;span class="caps"&gt;WORK&lt;/span&gt;&lt;/a&gt; og &lt;span class="caps"&gt;DEFA&lt;/span&gt;. Shortcut har bidratt med programmering og gjennomføring av selve iPhone-appen.&lt;/p&gt;


	&lt;p&gt;&lt;img src="http://shortcut.no/system/pictures/36/original/Link_Main.jpg" alt="" /&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ålet.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Bilvarme&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;Motor- og kupévarme kan settes opp på lik måte som man bruker vekkeklokkefunksjonaliteten på iPhone. For eksempel kan man stille inn slik at bilen (både motor og kupé) er varmet opp til kl 7 på hverdager og kl 9 på 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å hvor man har parkert bilen, eller om bilen har blitt tauet vekk eller stjålet, kan man bruke sporingssystemet for å få 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å appens infopanel kan man lese av ute- og innetemperatur rundt bilen, sjekke om man har husket å plugge inn strømkabel for bilvarme, og lese av batterispenning.&lt;/p&gt;


	&lt;p&gt;Les mer om konseptet på &lt;a href="http://defa.com/happycar"&gt;DEFAs websider&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/Zfeen1-eSI8" height="1" width="1"/&gt;</content>
    <author>
      <name>August Zaitzow Flatby</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2010/10/18/defa-jam</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/3eUK2h_A-uU/trafikanten-pa-iphone-setter-spor" rel="alternate" />
    <title>Trafikanten på iPhone setter spor</title>
    <content type="html">&lt;p&gt;Trafikanten på iPhone genererer nesten like mange oppslag mot sanntidssystemet til Trafikanten som alle andre plattformer til sammen.&lt;/p&gt;&lt;p style="float:left"&gt;&lt;img src="http://shortcut.no/system/pictures/35/resized/trafikanten_bruksstatistikk.jpg" alt="" /&gt;&lt;/p&gt;


	&lt;p&gt;Trafikanten Labs &lt;a href="http://goo.gl/By4n"&gt;har offentliggjort trafikktall for sanntidsoppslag&lt;/a&gt; som bekrefter noe vi lenge har trodd, nemlig at Trafikanten på iPhone ikke bare er en applikasjon som er &lt;em&gt;lastet ned&lt;/em&gt; av svært mange brukere, men at det også er en applikasjon som &lt;em&gt;brukes&lt;/em&gt; av svært mange brukere.&lt;/p&gt;


	&lt;p&gt;Av alle oppslag som gjøres mot sanntidssystemet til Trafikanten utgjør oppslag fra &lt;a href="http://itunes.com/app/trafikanten"&gt;Trafikanten på 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="http://m.trafikanten.no/"&gt;mobilsidene til Trafikanten&lt;/a&gt; og &lt;a href="http://trafikanten.no/"&gt;nettsidene til Trafikanten&lt;/a&gt; &lt;strong&gt;til sammen&lt;/strong&gt;.&lt;/p&gt;


	&lt;p&gt;Trafikanten på iPhone var Shortcuts første iPhone-applikasjon, og den ble til fordi den var noe av det vi selv ønsket oss aller mest da vi fikk hver vår iPhone. Vi gleder oss over at så mange har nytte av appen, og gratulerer Trafikanten med en knallsuksess!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/3eUK2h_A-uU" height="1" width="1"/&gt;</content>
    <author>
      <name>Marius Mårnes Mathiesen</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2010/5/4/trafikanten-pa-iphone-setter-spor</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/p4xmWejOqrQ/shortcut-flytter" rel="alternate" />
    <title>Shortcut flytter</title>
    <content type="html">&lt;p&gt;Idag har vi flyttet fra Rådhusgaten. Våre nye lokaler ligger i Nedre Slottsgate 13. Ovenfor Steen &amp;#38; Strøm. Rett ved Karl Johan.&lt;/p&gt;&lt;p&gt;Etter to hyggelige år med vekst i Rådhusgaten, trengte vi større plass. Og nå har vi endelig funnet det nye &lt;em&gt;Shortcut HQ&lt;/em&gt;. Fra idag sitter vi i &lt;a href="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"&gt;Nedre Slottsgate 13&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;Vi sees!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/p4xmWejOqrQ" height="1" width="1"/&gt;</content>
    <author>
      <name>John Eivind Hallén</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2010/3/1/shortcut-flytter</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/fgr3JTgGqic/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øttes tirsdag forrige uke for å snakke om det de gjør best. Men i tillegg til å snakke om seg selv, nevnte flere den fallgruven som finnes når man lager dårlige apper. En ren reklame-app. Og flere eksempler ble vist. Det ble sagt at en slik app virker mot sin hensikt, og ødelegger for merkevaren. Stemmer det?&lt;/p&gt;&lt;p&gt;Jeg holdt et innlegg på &lt;a href="http://www.scandinavianfutures.no/"&gt;Scandinavian Futures 2010&lt;/a&gt; i januar. Der snakket jeg litt generelt om iPhone og nevnte (som jeg alltid gjør) at det finnes to typer apper: Time Killers (underholdning) og Time Savers (nyttige). Men denne gangen nevnte jeg også en tredje type applikasjon, som jeg valgte å kalle Ad-Apps. Appvertising er et annet begrep som brukes.&lt;/p&gt;


	&lt;p&gt;&lt;img class="alignnone size-full wp-image-4546" title="adapps" src="http://stammen.no/wp-content/uploads/2010/02/adapps1.png" alt="adapps" width="400" height="196" /&gt;
&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Killers and Savers&lt;/b&gt;&lt;br /&gt;
Jeg ønsket å gjøre oppmerksom på forskjellen på 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øse på hva en slik app burde være. Og følgelig ble vi for dyre. For å illustrere hva jeg opplever som «ikke godt nok» med Ad Apps viste jeg også noen skjermbilder. bla. fra iDeli:&lt;/p&gt;


	&lt;p&gt;&lt;img class="alignnone size-full wp-image-4576" title="ideli" src="http://stammen.no/wp-content/uploads/2010/02/ideli1.png" alt="ideli" width="400" height="400" /&gt;&lt;/p&gt;


	&lt;p&gt;Deli de Luca har en flott logo, som gjør seg godt som app-ikon. Men utformingen og funksjonaliteten videre er ikke like heldig. Hovedfunksjonaliteten i appen er bonger. Bongen jeg har fått her er «&lt;em&gt;Vis i kassen og få en kaffe, te, kakao e.l. for kun kr 5,-&lt;/em&gt;» Bongen gjelder én gang. En uke senere kan man få en ny bong. Idet bongen brukes, og man går videre blir man presentert et reklame-board. Jeg ble eksponert for et gutteblad og et jenteblad som selges på 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ørt at denne appen er en suksess som Deli er fornøyd med. Men personlig har jeg vanskelig for å tro at folk vil benytte skrivebordsplass på iPhonen sin til dette. Og enda mindre at man husker eller gidder å dra opp disse app-bongene i lengden. Men kanskje er det slik at alt som skjer på iPhone idag er spennende og gøy. Uansett. Og det føles kanskje kult å flashe iPhonen sin i kassa? Men nyttig er den ikke, og heller ikke særlig underholdende.&lt;/p&gt;


	&lt;p&gt;For ett år siden skrev jeg &lt;a href="http://shortcut.no/blogg/2009/2/11/er-reklame-pa-iphone-ok"&gt;en artikkel om reklame på iPhone&lt;/a&gt;, etter å ha vært på Westerdals reklameskole og snakket om apper. Det jeg lærte av reklamestudentene var at de ønsket å lage funksjonelle, nyttige apper. Ikke dårlige. Det kunne virke som om de var like kravstore som når de tenker ut den nyeste, mest spennende, innovative måten å formidle et (salgs-)budskap. De ville gi iPhone-brukeren den samme kvaliteten. Designet skulle være godt, men opplevelsen og funksjonaliteten var helt avgjørende for om appen var verd å produsere.
&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Mot sin hensikt!&lt;/b&gt;&lt;br /&gt;
På&lt;a href="http://shortcut.no/seminar/iphone"&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ære å lage en dårlig applikasjon. Mange ønsker å lage iPhone-apper for å «være på» enda en kommunikasjonsflate. Og det er klart det er gøy å sette firmalogoen sin inn i et applikasjonsikon. Og enda mer tilfredsstillende å 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 å ha glede av appen. Ikke bare én gang, men igjen og igjen. Og iPhone-brukere er flinke til å kjenne igjen halvveis-produkter. De ser når det er tatt dårlige, billige beslutninger på 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 å la være?
&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Velg kvalitet (eller la være)!&lt;/b&gt;&lt;br /&gt;
Idag hørte jeg på nyhetene at &lt;a href="http://www.aftenposten.no/okonomi/innland/article3517257.ece"&gt;Odd Reitan kan love oss billigere mat&lt;/a&gt;. Dette takket være egenproduksjonen dagligvarehandelen har begynt med, som First Price ol. Det er trist at vi ønsker å konkurrere på pris. Jeg skulle virkelig ø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år til, stolt av kundetilfredsheten, stolt av kvaliteten, ikke begynn å kompromisse på iPhone. Det merkes. Har ikke ditt selskap anledning til å levere noe fullgodt til iPhone, kan det virkelig være bedre å vente med det prosjektet. Bruk heller tiden og kreftene på å tenke ut hvor fantastisk appen skal bli når den først kommer. All PR er kanskje god PR, men alle brukeropplevelser er ikke gode opplevelser. Og noen bør vi være foruten.&lt;/p&gt;


	&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Når du lager en app, spør deg selv:&lt;/b&gt;&lt;br /&gt;
• Kommer jeg til å bruke denne appen?
• Ønsker jeg meg dette?
• Kommer jeg til å stolt vise den frem?
• Er denne appen awesome?
Hvis svaret er nei på ubehagelig mange av de spørsmålene, bør du kanskje revurdere innholdet i appen?&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/fgr3JTgGqic" height="1" width="1"/&gt;</content>
    <author>
      <name>John Eivind Hallén</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2010/2/15/er-all-iphone-oppmerksomhet-god-oppmerksomhet</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/Xd3I7WMDvUo/iphone-i-norge" rel="alternate" />
    <title>iPhone i Norge</title>
    <content type="html">&lt;p&gt;Det er halvannet år siden iPhone kom til Norge og App Store ble lansert. På tide med et seminar.&lt;/p&gt;&lt;p&gt;Idag finnes det ikke noe samlende fagmiljø for iPhone-utviklere i Norge. Vi i Shortcut tror det er uheldig, både for oss utviklere og for kvaliteten på appene som lages. Derfor har vi tatt initiativet til «iPhone i Norge», et seminar om den norske iPhone-bransjens erfaringer så langt. Og vi har vært så heldige å få 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å The Mini Bottle Gallery (Kirkegata 10, 0152).&lt;/p&gt;


	&lt;p&gt;Se program og meld deg på her: &lt;a href="http://shortcut.no/seminar/iphone"&gt;«iPhone i Norge»&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/Xd3I7WMDvUo" height="1" width="1"/&gt;</content>
    <author>
      <name>John Eivind Hallén</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2010/1/22/iphone-i-norge</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/QnDakuS2B4A/ikoner-en-for-alle-alle-for-en" rel="alternate" />
    <title>Ikoner - Én for alle, alle for én</title>
    <content type="html">&lt;p&gt;For et halvannet år siden var jeg overbevist om at det var i nettleseren softwareutvikling kom til å være mest spennende. Googles og 37Signals&amp;#8217; produkter var allerede noe jeg var avhengig av. Og jeg ønsket sterkt å være med å lage slike webapplikasjoner. Enda mer ønsket jeg å tegne ikonene deres.&lt;/p&gt;&lt;p&gt;Å tegne et ikon er vanskelig og tidkrevende, og ofte resulterer det i mange ideer og skisser som hadde passet perfekt til en større samling. En ikon-suite. Ihvertfall har det vært min erfaring. Og det er klart, lager man en spesiell effekt, boks eller manér på et ikon, kan det lett overfø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øse og noen enkle konsepter til webapplikasjoner sommeren 2008. Mye halvferdig hobbyprosjekter som aldri så dagens lys. Og det er sikkert like greit. Men blant disse app-ideene, fant jeg nylig skisser på 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="alignnone size-full wp-image-4397" title="ikonskisser-08" src="http://stammen.no/wp-content/uploads/2010/01/ikonskisser-08.png" alt="ikonskisser-08" width="400" height="455" /&gt;&lt;/p&gt;


	&lt;p&gt;Jeg skal ikke si så mye om disse ikonene. Ikke annet enn at bussen øverst i midten, har i ettertid blitt til Trafikanten-ikonet på vår &lt;a href="http://itunes.apple.com/no/app/trafikanten/"&gt;iPhone-applikasjon&lt;/a&gt;. På den tiden hadde vi en alternativ reiseplanlegger til &lt;a href="http://www.trafikanten.no/"&gt;Trafikanten.no&lt;/a&gt;. En annen ting som er artig for meg, er at jeg har fått levd ut kubedrømmen med logoen til &lt;a href="http://gitorious.org/"&gt;vå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="http://office.microsoft.com/"&gt;Microsoft Office&lt;/a&gt;-ikonene:&lt;/p&gt;


	&lt;p&gt;&lt;img class="alignnone size-full wp-image-4399" title="icons_office" src="http://stammen.no/wp-content/uploads/2010/01/icons_office.png" alt="icons_office" width="400" height="189" /&gt;&lt;/p&gt;


	&lt;p&gt;De har endret seg mye gjennom tidene, men noen nøkkelelementer har blitt værende: W-en i Word, kakediagrammet i PowerPoint, Access-nøkkelen osv. Og kanskje enda viktigere, de har beholdt fargene sine. Word &lt;em&gt;er&lt;/em&gt; blått. Adobe har ikke vært like standhaftig med sine ikoner:&lt;/p&gt;


	&lt;p&gt;&lt;img class="alignnone size-full wp-image-4400" title="icons_adobe" src="http://stammen.no/wp-content/uploads/2010/01/icons_adobe.png" alt="icons_adobe" width="400" height="318" /&gt;&lt;/p&gt;


	&lt;p&gt;Her er de siste ti årenes utvikling. Fra de gode gamle foto-/kunstlignende ikonene, innom de svevende gladhippie-illustrasjonene til deres &lt;em&gt;Det Periodiske system&lt;/em&gt;-inspirerte ikoner av idag. Det eneste de har klart å holde på gjennom utviklingen er fargepaletten. &lt;em&gt;Nesten&lt;/em&gt;. Men Adobe har vært flinke til å lage ikoner som henger veldig godt sammen i en pakke, hver gang. De samme rammene, effektene, fargeintensiteten og detaljnivå. Vi ser at de hører sammen. (Det florerer også med hjemmelagde, flotte alternativer &amp;#8211; &lt;a href="http://themetoday.com/2009/graphics/35-best-adobe-doc-icons-set-for-designers/"&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å den enhetlige oppgaven, kan det virke som:&lt;/p&gt;


	&lt;p&gt;&lt;img class="alignnone size-full wp-image-4401" title="icons_iwork" src="http://stammen.no/wp-content/uploads/2010/01/icons_iwork.png" alt="icons_iwork" width="400" height="107" /&gt;&lt;/p&gt;


	&lt;p&gt;Deres «Office»-pakke &lt;a href="http://www.apple.com/iwork/"&gt;iWork&lt;/a&gt;, ser noe sprikende ut. Og det samme er det med iLife-pakken, ingen rød tråd verken i navn, farge, ramme eller substans. For selv om de er fine sånn som de ser ut, ville det ikke kostet mye å legge på en bakgrunnsfarge eller lignende. Så ville vi skjønt at det var iWork, og de kunne enkelt levere nye produkter til deres suite. Se bare på hvordan &lt;a href="http://37signals.com/"&gt;37Signals&lt;/a&gt; har fikset det:&lt;/p&gt;


	&lt;p&gt;&lt;img class="alignnone size-full wp-image-4402" title="icons_37signals" src="http://stammen.no/wp-content/uploads/2010/01/icons_37signals.png" alt="icons_37signals" width="400" height="96" /&gt;&lt;/p&gt;


	&lt;p&gt;Enkelt og greit. Ikonene inni ligner ikke, men med denne landskaps-glasskulen, kan de ikke misforstå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å på. Men idag er det kanskje iPhone-ikoner som opptar meg mest. Og også på iPhone finnes det noen gode suiter med lekre ikoner. Finest er kanskje &lt;a href="http://tapbots.com/"&gt;Tapbots&lt;/a&gt; sine:&lt;/p&gt;


	&lt;p&gt;&lt;img class="alignnone size-full wp-image-4403" title="icons_tapbot" src="http://stammen.no/wp-content/uploads/2010/01/icons_tapbot.png" alt="icons_tapbot" width="400" height="135" /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;em&gt;Se så søte roboter!&lt;/em&gt; Dette er flotte greier, og designet inni applikasjonene er minst like fint. Verdt å ta en titt på. En mye enklere løsning, men like fungerende og tydelig, er å velge et par filtere og kjøre symboler gjennom det. Slik &lt;a href="http://appcubby.com/"&gt;App Cubby&lt;/a&gt; har gjort:&lt;/p&gt;


	&lt;p&gt;&lt;img class="alignnone size-full wp-image-4404" title="icons_appcubby" src="http://stammen.no/wp-content/uploads/2010/01/icons_appcubby.png" alt="icons_appcubby" width="400" height="117" /&gt;&lt;/p&gt;


	&lt;p&gt;Her er det nok ikke vanskelig å utvide med flere ikoner. Og det er vel bra? App Cubby har også skrevet om &lt;a href="http://appcubby.com/blog/files/icon_saga.html"&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;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/QnDakuS2B4A" height="1" width="1"/&gt;</content>
    <author>
      <name>John Eivind Hallén</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2010/1/11/ikoner-en-for-alle-alle-for-en</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/LoQpF-tNHMM/ett-ar-i-app-store-noen-betraktninger" rel="alternate" />
    <title>Ett år i App Store, noen betraktninger</title>
    <content type="html">&lt;p&gt;Det er nå ganske nøyaktig ett år siden jeg for første gang, var med å lansere en iPhone-app i App Store. App Store har satt en ny standard på hvordan software kan distribueres og den er med rette oppskrytt. Men i løpet av dette året har har jeg stadig oftere stilt meg spørrende til hvordan denne butikken fungerer i praksis. Jeg har hatt en snikende følelse av at App Store har gått fra å være vår beste hjelpende venn, til å bli enda en masete tulling.&lt;/p&gt;&lt;p&gt;Her blander jeg epler og pærer. Når jeg sier den er vår beste venn, tenker jeg på 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ør har det vært mulig å distribuere programmer så enkelt, så profesjonelt. Men nå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år den ovenfor en enorm utfordring: Hvordan finne appen vi ønsker? Alle appene slår hverandre ihjel med lignende ikoner og fengende navn. Selv om vi har 20 underkategorier, sorteringsmuligheter og søk, er det nesten umulig å 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="http://itunes.com/app/trafikanten"&gt;Trafikanten-appen&lt;/a&gt; jeg og mine kollegaer i Shortcut debuterte med. En app vi selv tok initiativ til ifjor høst, fordi vi selv ønsket oss denne tjenesten i lomma. Trafikanten var enig, men syntes at vi gapte over litt mye i førsteomgang. De ville fokusere på sanntid og deres kjernebrukere: Osloborgere som reiser kollektivt daglig. Et par måneder senere, for ett år siden, var appen en realitet. Og bare ti timer etter lansering var Trafikanten den mest populære gratisappen i norske App Store. Og brukerne virket fornø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 å jobbe med webløsninger oppleves særlig én ting radikalt annerledes med apper i App Store: Tilbakemeldingene. Jeg har aldri sett noen egne arbeider bli så systematisk vurdert. Dette var gøy en god stund. Mange ga fem stjerner, og mange ga én. En tydelig polarisering oppstod. Spennende.&lt;/p&gt;


	&lt;p&gt;Men idag, ett år senere, er mitt inntrykk at anmeldelsene i App Store fungerer som diskusjonsforum i sin værste form. Og at stjernegivningen ikke er særlig systematisk likevel. Folk diskuterer og krangler og mye grums kommer frem. Det har til tider vært morsomt å lese hvordan de som hater at Opplysningskontoret for kjøtt synes det er en ubrukelig app fordi den bare har kjøttretter. Men det har vel gått litt for langt når det dukker opp drapstrusler? Det er selvsagt &lt;a href="http://itunes.com/app/matprat"&gt;MatPrat-appen&lt;/a&gt; som har sørget for denne debatten. For Trafikanten sin del har den stadig økende klagestrømmen kommet av at appen bare dekker kollektivtrafikken i &lt;em&gt;Oslo&lt;/em&gt;området. Noe som stå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å et poeng. Nå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å innhold den ikke skal eller har lovet å levere. Tvert imot gjø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ø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øre selv gjør hva de kan for å manipulere ratingene ved å opprette nye brukere som gir sine egne apper toppkarakterer. Se bare på de første anmeldelsene av hver applikasjon. De gir fem stjerner samtidig som de gjentar funksjonaliteten i appen. Smart, men søplete. (Klikker man på brukernavnet bak en slik anmeldelse vil man se at det er ytterst få 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ære featuren i App Store er Topplistene. Man kan se hvilke apper som er mest populære akkurat nå. Hver kategori har også sine egne lister. Det finnes to typer av disse listene, de med gratis-apper og de som lister opp apper det koster noe å laste ned. Og rangeringer er gøy. Konkurranser er gø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ør disse listene mer eller mindre tilfeldige. En morsom og tydelig trend har vært at de fleste norske apper har hatt gleden av å pryde toppen på disse listene. Dette fordi norske brukere tester ut alt som kommer som er norsk. Men hva som blir værende på 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 å øke salg av musikk, ved å sørge for at musikk har kort levetid. Det er alltid en ny topplåt, og artistene kan alltid selge nye singler. Men slik ønsker vi vel ikke at programvareutvikling skal være?&lt;/p&gt;


	&lt;p&gt;Forrige uke kom nummersøktjenestene &lt;a href="http://itunes.apple.com/no/app/1881/id332020575?mt=8"&gt;1881&lt;/a&gt; og &lt;a href="http://itunes.apple.com/no/app/gulesiderlive/id341550089?mt=8"&gt;Gule Sider&lt;/a&gt; med hver sin app, og et par uker før det lanserte &lt;a href="http://itunes.apple.com/no/app/180-no/id336589835?mt=8"&gt;180.no&lt;/a&gt; sin. Alle har ligget øverst på lista, og blitt lastet ned av nesten samtlige iPhone-eiere i landet. Jeg lastet også ned alle, og synes de er veldig bra. Likevel kastet jeg to av dem. Jeg trenger jo ikke tre like apper? Nå har allerede disse begynt å dale på listene, naturligvis. Bør da f.eks. 1881 gjø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åre kunder og fortalte at de kunne garantere en topplisteplass innen 24 timer etter lansering. Så den gitte kunden burde heller ha valgt å jobbe med denne leverandøren. Har listene blitt så viktige? Er det bedre å klare å manipulere nedlastingstallene enn å lage den best mulige appen? Jeg synes ikke det. Men samtidig ser jeg viktigheten av å synes i App Store. Og det er nesten bare gjennom de listene man blir synlig.&lt;/p&gt;


	&lt;p&gt;Jeg håper iPhone-app-produksjonen aldri flater helt ut og blir like uinteressant som reklameverdenen. Men nå føler jeg at vi er på vei dit, og at noen aktører virkelig drar i den retningen. Og deler av App Store hjelper heller ikke til.&lt;/p&gt;


	&lt;p&gt;Selv skulle jeg ønske at App Store viste hvilke apper som &lt;em&gt;faktisk&lt;/em&gt; ble liggende på telefonene våre og antall ganger de &lt;em&gt;faktisk&lt;/em&gt; ble startet. Noe slikt ville sikkert vært mulig å sende til Apple når vi synkroniserer med maskinene våre. Men både Apple-motstandere og datatilsynet ville vel gått av skaftet, selv om løsningen ville blitt bedre? Kanskje er det bedre med en masete tulling av en venn?&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/LoQpF-tNHMM" height="1" width="1"/&gt;</content>
    <author>
      <name>John Eivind Hallén</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2009/12/21/ett-ar-i-app-store-noen-betraktninger</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/EZBBJOLQo0Q/adecco-job-finder-var-tredje-app" rel="alternate" />
    <title>Adecco Job Finder, vår tredje app</title>
    <content type="html">&lt;p&gt;Adecco er Norges største bemanningsselskap med over 8000 medarbeidere i jobb, over hele landet. Adecco tilbyr midlertidige og faste stillinger i norsk næringsliv og offentlig sektor. Nå er disse stillingene tilgjengelig rett i din iPhone.&lt;/p&gt;&lt;p&gt;Adeccos Job Finder er vår tredje applikasjon, og nok en gang har vi gjort vårt ytterste for å gjøre opplevelsen så smooth og elegant som mulig. Vår filosofi er at alle produkter bør være av høy kvalitet helt ut til fingerspissene. Og her har vi ikke holdt igjen på noe.&lt;/p&gt;


	&lt;p&gt;Les mer på &lt;a href="http://www.adecco.no/JobbOgKarriere/Pages/iPhone-JobFinder.aspx"&gt;Adeccos egne nettsider »&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;Last ned fra &lt;a href="http://itunes.com/app/adeccojobfinder"&gt;iTunes App Store »&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src="http://shortcut.no/system/pictures/30/original/iPhoneApp_konkurranse_NY.jpg" alt="" /&gt;
&lt;a href="http://www.adecco.no/JobbOgKarriere/Pages/vinn-en-iPhone.aspx"&gt;&lt;strong&gt;Her kan du tilogmed vinne en iPhone »&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/EZBBJOLQo0Q" height="1" width="1"/&gt;</content>
    <author>
      <name>John Eivind Hallén</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2009/12/15/adecco-job-finder-var-tredje-app</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/Ss6LSWq5MFk/fremtiden-i-vare-hender-augmented-reality" rel="alternate" />
    <title>Fremtiden i våre hender: Augmented Reality</title>
    <content type="html">&lt;p&gt;I sommer var jeg vitne til augmented reality for fø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 øyne. Fremtiden var her! Jeg hadde ønsket meg noe slikt helt siden jeg så Terminator som liten. Først flere måneder etter at jeg så YouTube-klippet stilte jeg spørsmål til innholdet i denne nye utvidete virkeligheten. Viser vi bare det vi ikke trenger å vise?&lt;/p&gt;&lt;p&gt;I tilfelle du ikke vet hva augmented reality er, her er Wikipedias definisjon: «Utvidet virkelighet er en teknologi som kombinerer data fra den virkelige verden med virtuell data som blir lagt oppå virkeligheten, for eksempel ved bruk av grafikk og lyd. Man får et filter av informasjon lagt på virkeligheten.» Mao. et slags lag med ekstrainformasjon som legger seg oppå 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ølgeren Terminator 2. I musikkvideoen har Schwarzenegger-roboten i oppgave å tilintetgjøre bandets medlemmer. Se bare her:&lt;/p&gt;


	&lt;p&gt;&lt;img class="alignnone size-full wp-image-4259" title="t2_guns_1" src="http://stammen.no/wp-content/uploads/2009/12/t2_guns_1.png" alt="t2_guns_1" width="400" height="291" /&gt;&lt;/p&gt;


	&lt;p&gt;Etter litt leting finner han bandet, dataene slår fast at dette er «Target: Guns N&amp;#8217; Roses». Og vi får et lite hint om at nord er opp, sør er ned osv.&lt;/p&gt;


	&lt;p&gt;&lt;img class="alignnone size-full wp-image-4260" title="t2_guns_2" src="http://stammen.no/wp-content/uploads/2009/12/t2_guns_2.png" alt="t2_guns_2" width="400" height="291" /&gt;&lt;/p&gt;


	&lt;p&gt;Siden dette er en overmenneskelig klok informasjonskilde får vi også se at musikken spilles drøyt høyt: «Decibel overload».&lt;/p&gt;


	&lt;p&gt;&lt;img class="alignnone size-full wp-image-4261" title="t2_guns_3" src="http://stammen.no/wp-content/uploads/2009/12/t2_guns_3.png" alt="t2_guns_3" width="400" height="291" /&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?): «Target: Slash».&lt;/p&gt;


	&lt;p&gt;&lt;img class="alignnone size-full wp-image-4262" title="t2_guns_4" src="http://stammen.no/wp-content/uploads/2009/12/t2_guns_4.png" alt="t2_guns_4" width="400" height="291" /&gt;&lt;/p&gt;


	&lt;p&gt;Men da Axl Rose blir gjenkjent, ender det hele med at det ville være å kaste bort ammunisjon, å tilintetgjøre dem: «Assessment: Waste of ammo». (&lt;a href="http://www.youtube.com/watch?v=1C2dGRoaZ1A"&gt;Se musikkvideoen på 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="caps"&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å jo væ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="alignnone size-full wp-image-4264" title="london_tube_app" src="http://stammen.no/wp-content/uploads/2009/12/london_tube_app.png" alt="london_tube_app" width="400" height="268" /&gt;
Slik ser en augmented reality-iPhone-applikasjon ut.
&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Skilt oppå skilt&lt;/b&gt;&lt;br /&gt;
London-applikasjonen har enkle skilt som dukker opp og forklarer hvor du skal gå for å ta de forskjellige linjene. Kjempefin grafikk, fantastisk teknologi og imponerende fra ende til annen. Men om du har væ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å. Hvis det er&lt;em&gt; ett sted&lt;/em&gt; vi ikke trenger et datalag over synet vårt, er det nettopp der. Det gjelder forøvrig alle t-banenett, de har god informasjon. Og alle flyplasser. Vi kommer ikke til å ta opp mobiltelefonen vår hvis vi ikke finner gaten (engelsk uttale) på Gardermoen, vi ser opp et lite øyeblikk og leser nærmeste skilt.&lt;/p&gt;


	&lt;p&gt;I tillegg til t-bane-appene har en annen augmented reality-app fått endel oppmerksomhet her i landet, og det med rette. &lt;a href="http://agens.no/"&gt;Agens&lt;/a&gt; har utviklet en imponerende app for Gule Sider. Den er ikke tilgjengelig ennå, så jeg har ikke prøvd den. Men jeg har sett teaser-filmen.&lt;/p&gt;


	&lt;p&gt;&lt;img class="alignnone size-full wp-image-4257" title="gulesider" src="http://stammen.no/wp-content/uploads/2009/12/gulesider.png" alt="gulesider" width="400" height="232" /&gt;&lt;/p&gt;


	&lt;p&gt;Se på dette stillbildet, fra Youngstorget. «Her har vi 7-Eleven» sier videoen, og det er det vi kan lese på den gule boksen i applikasjonen. Men hvis du har stått utenfor en 7-Eleven, vet du godt at de er ganske godt opplyst med egne skilt. At applikasjonen også kan vise oss McDonald&amp;#8217;s, Åhléns og Posten blir like intetsigende. Dette er informasjon bybildet pøser på oss enten vi vil eller ikke, hele tiden. Jeg trenger ikke å holde opp en mobil for å se dette. (&lt;a href="http://www.youtube.com/watch?v=4jnGY6qFPxg"&gt;Se teaser-filmen på YouTube.&lt;/a&gt;)&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://www.presselite.com/iphone/londontube/"&gt;&lt;img class="alignnone size-full wp-image-4258" title="london_tube" src="http://stammen.no/wp-content/uploads/2009/12/london_tube.png" alt="london_tube" width="400" height="447" /&gt;&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;Se også hvordan forrige nevnte London-app sin produktside ser ut for &lt;a href="http://www.presselite.com/iphone/londontube/"&gt;«Your New Eye»&lt;/a&gt;. Hjelp til å finne Starbucks, Pizza Hut, Subway osv. All denne informasjonen viser appen når du er ovenfor t-banestasjonen. Ting vi ser så altfor tydelig opplyst fra før. Og det er det som skuffer meg litt. Når vi endelig har denne muligheten til å vise metadata, håper jeg vi kan bruke det til noe mer nyttig enn å gjenta skiltingen som allerede finnes. Det meste jeg har sett til nå har vært gjentagelser av skilt som allerede finnes.&lt;/p&gt;


	&lt;p&gt;Her er noen bilder fra Grønland i Oslo, tatt for flere år siden. Hvis vi skal lage en skjerm man kan holde foran øynene her, burde vel den inneholde noe annet enn det vi allerede ser?&lt;/p&gt;


	&lt;p&gt;&lt;img class="alignnone size-full wp-image-4255" title="gronland" src="http://stammen.no/wp-content/uploads/2009/12/gronland.png" alt="gronland" width="400" height="782" /&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å en stund, så plutselig leste jeg &lt;a href="http://www.digi.no/830051/reis-i-historien-med-mobilen"&gt;en artikkel på digi.no&lt;/a&gt; om hva Universitet i Oslo gjør med denne nye teknologien. Hør bare her: «Prosjektet har utviklet en applikasjon til iPhone 3GS som gjør det mulig for en bruker å se hvordan omgivelsene man beveger seg i har sett ut tidligere, eller hvordan de kan komme til å se ut i framtiden, basert på hvor i området brukeren beveger seg og i hvilken retning mobilen holdes.»&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://www.youtube.com/watch?v=Gxb19WyB3i0"&gt;&lt;img class="alignnone size-full wp-image-4256" title="inventio" src="http://stammen.no/wp-content/uploads/2009/12/inventio.png" alt="inventio" width="400" height="231" /&gt;&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;Meget spennende, og det ser også ut som en fantastisk applikasjon. I dette landskapet finnes det ingen skilting eller enkle grafiske forklaringer, men en gang i tiden lå det et vikingskip her. Og dét visste jeg ikke. Nå snakker vi! Tenk å gå rundt i Oslo og se hvordan det var før, eller hvordan det skal bli. Jeg gleder meg, og min tro på 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økete idé en kollega av meg har hatt. Kjenner du til Shazam? Det er det programmet som kan fortelle deg hvilken sang og artist du hører på. Den gjenkjenner lydene. Min kollega ønsker seg Shazam for jenter. Tenk deg at du holder opp telefonen foran noen jenter ute på byen, og mobilnummer, navn og fødselsadresse dukker opp. (Applikasjonen må selvfølgelig også kjenne igjen gutter.)&lt;/p&gt;


	&lt;p&gt;Vel, noe slikt finnes. Idag kan både de digitale kameraene vi bruker og fotoprogrammene våre, kjenne igjen ansikter. Og sammen med de andre mulighetene vi har sett på mobiltelefonene, er dette ikke til å tro.&lt;/p&gt;


	&lt;p&gt;&lt;img class="alignnone size-full wp-image-4254" title="tat_augmented_id" src="http://stammen.no/wp-content/uploads/2009/12/tat_augmented_id.png" alt="tat_augmented_id" width="400" height="323" /&gt;&lt;/p&gt;


	&lt;p&gt;(&lt;a href="http://www.youtube.com/watch?v=tb0pMeg1UN0"&gt;Se filmen om &lt;span class="caps"&gt;TAT&lt;/span&gt; augmented ID her.&lt;/a&gt;)&lt;/p&gt;


	&lt;p&gt;Så hvis dette er augmented reality anno 2009, venter jeg søvnløst på alt det spennende vi skal få se i 2010.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/Ss6LSWq5MFk" height="1" width="1"/&gt;</content>
    <author>
      <name>John Eivind Hallén</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2009/12/7/fremtiden-i-vare-hender-augmented-reality</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/H8-q-LKnMns/shortcut-selger-mobilselskap" rel="alternate" />
    <title>Shortcut selger mobilselskap</title>
    <content type="html">&lt;p&gt;Etter et kortvarig kjærlighetsforhold til Apparat AS, har vi bestemt oss for å selge selskapet videre til Aspiro.&lt;/p&gt;&lt;p&gt;På denne tiden i fjor &lt;a href="http://www.shortcut.no/blogg/2008/11/25/shortcut-kjoper-mobilselskap"&gt;kjø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 å ha tatt godt vare på Apparat i snart ett år, har vi bestemt oss for å &lt;a href="http://feed.ne.cision.com/wpyfs/00/00/00/00/00/0F/DD/C7/wkr0011.pdf"&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="http://www.aspiro.com"&gt;Aspiro&lt;/a&gt;. Aspiro er en markedsleder innen mobil, og er kanskje mest kjent for sin musikksatsing med &lt;a href="http://wimp.aspiro.com"&gt;Wimp&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/H8-q-LKnMns" height="1" width="1"/&gt;</content>
    <author>
      <name>August Zaitzow Flatby</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2009/11/24/shortcut-selger-mobilselskap</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/aoF7CVVCVjs/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år en følelse av at noe ikke stemmer når jeg tenker på hva en blogg er. Hvordan den fremstå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="http://twitter.com" target="_self"&gt;Twitter&lt;/a&gt; har jeg tenkt at slik burde en blogg fungere også. Slik burde alle blogger fungere, sammen. Og nå nå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 å være et overlegent bloggverktøy:&lt;/p&gt;


	&lt;p&gt;&lt;b&gt;• Ingen sperre på 140 tegn.&lt;/b&gt; Det er den sperren som gjør Twitter til den suksessen det har blitt. Det er på grunn av den at vi har så lett for å twitre. Men det er også den som gjør det helt umulig å skrive en blogg artikkel. Selvsagt.
&lt;b&gt;• Mulighet for bilder og video.&lt;/b&gt; Mange artikler er avhengig av bilder. Og bilder kan gjøre en hvilkensomhelst tekst lettere og lese, og mer underholdene. Skulle man blogget på Twitter, måtte det være mulig å plassere bilder og video der du ønsker.&lt;/p&gt;


	&lt;p&gt;For ordens skyld, jeg ønsker ikke å endre selve Twitter. Det er alle bloggene jeg tror kan forbedres. Og jeg mener alle blogger på hele internett. La meg punktvis gå gjennom hvordan jeg tror det ville blitt. Og hvis du er enig i at dette høres ut som en bedre løsning, kanskje vi kan prøve å få 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 å sette opp en blogg på &lt;a href="https://www.blogger.com/start" target="_self"&gt;blogger.com&lt;/a&gt;, med &lt;a href="http://wordpress.com/" target="_self"&gt;Wordpress&lt;/a&gt; eller lignende. Men det er ikke i nærheten av den lave terskelen Twitter har. Hadde publiseringsverktøyet virket som Twitter, ville veien til lansert artikkel vært mye kortere. Og mange flere ville begynt å blogge.
&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2: Innholdet&lt;/b&gt;&lt;br /&gt;
Det vi er ute etter når vi går inn på en blogg er artiklene. Og tekstene, selve innholdet, vil nok forbli uforandret. Vi kommer til å ha de samme tingene på hjertet, uavhengig av systemet rundt. På godt og ondt.
&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3: Fagmiljøene&lt;/b&gt;&lt;br /&gt;
Hva da med de større fagbloggene? Mange kjenner bedre til bloggene &lt;em&gt;&lt;a href="http://37signals.com/svn/" target="_self"&gt;Signals vs. Noise&lt;/a&gt;&lt;/em&gt; eller &lt;em&gt;&lt;a href="http://www.iallenkelhet.no/" target="_self"&gt;I all enkelhet&lt;/a&gt;&lt;/em&gt;, enn de kjenner skribentene. Svaret er lister. Nå kan de samme miljøene knytte seg sammen med en felles liste, og det er bare det navnet leserne trenger å huske for å følge hele fagmiljø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 å spørre. Men jeg ønsker meg noe lignende et album i Spotify, hvor det er musikerne/plateselskapene som bestemmer. Jeg tror skribentene bør få mer kontroll og bevissthet på hvilke lister de publiserer til. Men jeg er ikke sikker, begge deler burde kanskje være mulig?
Les &lt;a href="http://mashable.com/2009/10/15/breaking-twitter-lists-are-live/" target="_self"&gt;mer om lister på 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å bloggen. De fleste har et fengende og oppfinnsomt navn man skal like og huske. Dette forsvinner heldigvis ikke. Navnet du hadde på bloggen, blir selvfølgelig navnet på den nye lista.
Men designet er noe jeg tenker gjerne kan gå tapt, uten at det vil være et stort tap. Idag har alle blogger et unikt design, spennende fargepalett og en gjennomført logo. Det er gøy å lage logotyper, og finne på nytt design, men jeg tror ikke bloggen din skal være stedet hvor man får utløp for det.
Det er også et tankekors at alle som lager en blogg designer nok en artikkelside med fokus på lesbarehet, gode linker og korrekt html. Vi finner opp hjulet på nytt og på nytt.
(Med et åpent &lt;span class="caps"&gt;API&lt;/span&gt; er det heller ingenting i veien for at du inkluderer nettopp din bloggstream, eller liste, på din egen webside. Så kan du designe den der. Men vit at folk kommer til å 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å 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år i artikkelen. Der kan det selvfølgelig være en link til nettstedet ditt også.
&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å vanlige websider (ikke &lt;span class="caps"&gt;RSS&lt;/span&gt;-lesere). Men jeg gjetter at situasjonen er omvendt når det gjelder Twitter-poster. De fleste bruker nok en Twitter-klient fremfor twitter.com. Og slik skulle jeg ønske at det var med blogg også. At man brukte en egen bloggleser-klient for å lese artiklene.
Og, for de som vil savne designjobben som forsvant under punkt 4. Med det &lt;span class="caps"&gt;API&lt;/span&gt;-et som må ligge til grunn, har de muligheten til å designe en helt egen leser, med logo, farger, typografi og alt.
&lt;br /&gt;&lt;br /&gt;&lt;b&gt;7: Skriveverktøyet&lt;/b&gt;&lt;br /&gt;
Det fine med bloggleser-klienten jeg nettopp nevnte er at den i tillegg vil være publiseringsverktøyet. Det er helt naturlig på Twitter, og slik det burde det være med blogg også.
&lt;br /&gt;&lt;br /&gt;&lt;b&gt;8: &lt;span class="caps"&gt;SEO&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
Søkemototoptimalisering tenker jeg blir søkemotorens jobb, ikke bloggens. Bloggen skal bare produsere perfekt, semantisk &lt;span class="caps"&gt;HTML&lt;/span&gt;, med gode titler og riktig tagging, så får Google rangere etter beste evne. Og det er vel slik det egentlig skal være?
&lt;br /&gt;&lt;br /&gt;&lt;b&gt;9: Bannere &amp;#38; AdWords&lt;/b&gt;&lt;br /&gt;
Mange ønsker å tjene penger ved hjelp av annonser på bloggen sin. Det er ikke noe jeg ønsker å 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="caps"&gt;RSS&lt;/span&gt;-lesere. Vi kan abonnere på 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å smertefritt som å sette opp en Twitter-konto og begynne å twitre på en to tre?
Hvis du er enig, kom igjen, la oss lage et nytt Twitter med ubegrenset antall tegn og mulighet for å plassere bilder og video. We might be on to something here!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/aoF7CVVCVjs" height="1" width="1"/&gt;</content>
    <author>
      <name>John Eivind Hallén</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2009/11/2/la-oss-skrote-alle-blogger-og-bygge-et-helt-nytt-twitter</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/fiU6LYTd1Cg/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 å ha jobbet uker, kanskje måneder, med en iPhone-applikasjon, kan suksessen stå og falle på 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å skrivebordsikonene tilgjengelig i App Store i dag. Noen er pixelperfeksjon av høyeste kvalitet, de fleste andre er amatørmessige i sin utforming og idéløse i sitt motivvalg. I denne artikkelen skal jeg prøve å beskrive hva som gjør et godt ikon. Det trenger ikke å være perfekt, men det må vite hva det vil og hvilke oppgaver det står ovenfor.&lt;/p&gt;


	&lt;p&gt;Ikonets første oppgave er å bli sett i App Store, og gjøre brukeren interessert. Jeg har tidligere beskrevet hvordan jeg velger å installere en &lt;a href="http://www.shortcut.no/blogg/2009/2/3/fa-orden-pa-okonomien-kjop-en-iphone-app"&gt;applikasjon på grunnlag av ikonet&lt;/a&gt;, og jeg er neppe alene. Ikonet må skape en interesse på kort tid, da man fort skummer over mange samtidig.&lt;/p&gt;


	&lt;p&gt;&lt;br /&gt;
&lt;strong&gt;Vær funksjonell!&lt;/strong&gt;&lt;br /&gt;
Når ikonet først har fått seg et skrivebord å pryde, begynner den egentlige jobben. Oppgaven er å være &lt;em&gt;enkel å finne&lt;/em&gt; når brukeren ønsker det, men ellers være tilbakelent og ikke-prangende. Det er kanskje mange som tror at det er viktig å skille seg ut her også, slik at det synes godt, gir god reklame og oftere blir brukt. Men sånn er det ikke. Ikonet skal bare stå til tjeneste når eieren ønsker å finne nettopp det. Det er applikasjonen bak som vil avgjøre hvor ofte det blir brukt.&lt;/p&gt;


	&lt;p&gt;Her er endel eksempler på ikoner. Noen som fungerer godt og mange som er veldig stilige. Er det noen du synes fungerer dårlig? Noen du synes ødelegger for andre? Eller er vanskelig å finne?&lt;/p&gt;


	&lt;p&gt;&lt;img src="http://shortcut.no/system/pictures/13/original/shortcut_iphone_24_top.png" alt="" /&gt;&lt;/p&gt;


	&lt;p&gt;Noen er kanskje finere enn andre, mer spennende. Men hvilke ikoner klarer å fortelle deg hva applikasjonen handler om. Hva den gjør? &lt;em&gt;Det&lt;/em&gt; er den viktigste av alle oppgaver, er det ikke? Apple sine egne applikasjoner kan være en god rettesnor. Se på min favoritt: &lt;em&gt;Phone&lt;/em&gt;. Det skal godt gjøres å ikke forstå hva det er. Jeg ø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="http://shortcut.no/system/pictures/16/original/shortcut_iphone_6_function.png" alt="" /&gt;&lt;/p&gt;


	&lt;p&gt;Jeg har tillatt meg å ta med vårt eget Trafikanten-ikon, da jeg selv opplever dette som veldig funksjonelt i mitt daglige bruk. Dette er uegoistiske ikoner, som bare sørger for å gjøre applikasjonens funksjonalitet synlig, uten å tenke på firmabranding, designfeinschmekkeri eller artige ideer.&lt;/p&gt;


	&lt;p&gt;Det som kjennetegner disse ikonene er ett universalt, tydelig og ensfarget symbol, oppå én sterk bakgrunnsfarge. Men å 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="http://shortcut.no/system/pictures/15/original/shortcut_iphone_6_function_tries.png" alt="" /&gt;&lt;/p&gt;


	&lt;p&gt;Jeg synes de prøver litt for hardt. Tenk hvor mye lettere &lt;em&gt;Google Earth&lt;/em&gt; hadde vært å kjenne igjen, om det var vå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ønt) og vann (kanskje blått). &lt;em&gt;100 Pushups&lt;/em&gt; og &lt;em&gt;MachDice&lt;/em&gt; lider av å 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ålesymbol, ikke tre? Når det gjelder blyanttegneprogrammet &lt;em&gt;No.2&lt;/em&gt; så 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åst for alltid etter en lansering. Her er to eksempler på applikasjoner som er endret:&lt;/p&gt;


	&lt;p&gt;&lt;img src="http://shortcut.no/system/pictures/12/original/shortcut_iphone_5_redoes.png" alt="" /&gt;&lt;/p&gt;


	&lt;p&gt;Facebook sitt tredje ikon kommer sannsynligvis med &lt;a href="http://ipod1.no/artikkel/3260/snart-ny-facebook-til-iphone"&gt;neste oppdatering&lt;/a&gt;. De begynte med et ikon med to ansikter, en gutt og en jente, for nettopp å 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 å kjenne igjen. (Og det er litt sårt å innrømme, siden jeg stort sett snakker negativt om å dra inn ens logo i app-ikonet.) Tredje versjon, med F-en mot høyre, er en del av deres stadige designendringer, og vil gjøre det enda lettere å 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å spennende at de døpte seg om til Mobile News og la logoen sin inn som et pressekort i hatten. Heldigvis har de skjønt at iPhone-eierne vet at det er en mobil de holder i hå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 ø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å dem, det er nemlig ett som er helt annerledes. Ett som går sine egne veier, på bekostning av de andre, og på bekostning av iPhone-eieren selv. I hvert fall er det noen som mener det. I artikkelen &lt;a href="http://artofadambetts.com/uriconiswrong/"&gt;Your Icon is Wrong&lt;/a&gt; kan du lese og se mye klokt om hvorfor man ikke skal bryte med å være en firkant med runde hjørner.&lt;/p&gt;


	&lt;p&gt;Det er &lt;em&gt;Guitar Toolkits&lt;/em&gt; plekter som gjør det i første eksempel. Og pressehatten til AP News i siste eksempel. De har maskert ut symbolet sitt mot svart, slik at det får sin helt egne, unike form. Noe som ser veldig fint ut for seg selv, men som ødelegger helhetsopplevelsen. Verdens verste argument blir gyldig her: «Hva hvis alle skulle gjort det, det ville ikke gått.» Det ville i hvert fall ikke blitt særlig oversiktlig.&lt;/p&gt;


	&lt;p&gt;&lt;br /&gt;
&lt;strong&gt;Våre egne&lt;/strong&gt;&lt;br /&gt;
Det er alltid lett å komme med meninger om andres arbeider. Vanskeligere er det å lage noe selv. Vi i Shortcut legger alltid lista veldig høyt på våre produkter, og går gjerne flere runder før vi blir fornøyde. I tillegg har vi kunder med egne, reflekterte meninger, gode ideer og spesiell kjæ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øst.&lt;/p&gt;


	&lt;p&gt;Her kan du se et lite utdrag av skissene til våre to lanserte ikoner, &lt;a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=299318111&amp;#38;mt=8"&gt;&lt;em&gt;Trafikanten&lt;/em&gt;&lt;/a&gt; og &lt;a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=319653327&amp;#38;mt=8"&gt;&lt;em&gt;MatPrat&lt;/em&gt;&lt;/a&gt;:&lt;/p&gt;


	&lt;p&gt;&lt;img src="http://shortcut.no/system/pictures/18/original/shortcut_iphone_12_ourown.png" alt="" /&gt;&lt;/p&gt;


	&lt;p&gt;Vi ønsket både å 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øvde vi oss frem med designprofilen og endte med å beholde den røde streken fra logoen. Det har blitt et fint symbol synes jeg, og jeg håper det er noe MatPrat kan bruke i andre sammenhenger også.&lt;/p&gt;


	&lt;p&gt;Da jeg begynte arbeidet på Trafikantens ikon hadde jeg fått et ganske strengt og vanskelig krav: Trafikanten-tusenbeinet skulle med! Jeg prøvde og prøvde, men det var helt umulig å 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 å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å iPhone. Og heldigvis blir bussen væ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å da ble det et enkelt valg. (For vi kunne vel ikke valgt flere symbolder vel?) Når jeg nå står på en bussholdeplass og ser opp på lysskiltet vet jeg at vi valgte rett.&lt;/p&gt;


	&lt;p&gt;&lt;img src="http://shortcut.no/system/pictures/11/original/busskur.png" alt="" /&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ørste året iPhone var ute (i &lt;span class="caps"&gt;USA&lt;/span&gt;) fantes ikke App Store, og det var ikke mulig å 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="http://shortcut.no/system/pictures/17/original/shortcut_iphone_6_bookmarks.png" alt="" /&gt;&lt;/p&gt;


	&lt;p&gt;Derfor ser jeg ingen grunn til at ikke ethvert nettsted tar seg bryet med å lage et slikt ikon. Her er et lite knippe jeg liker godt. Legg merke til 37Signals’ &lt;em&gt;Campfire&lt;/em&gt;, de har gjort en ekstrainnsats for å blende inn sammen med Apples egne ikoner, &lt;a href="http://www.shortcut.no/blogg/2008/9/19/overrumplet-av-et-iphone-bokmerkeikon"&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ære å bli imponert over det gode håndverket som har blitt lagt ned i noen av disse ikonene. Nå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="http://shortcut.no/system/pictures/14/original/shortcut_iphone_6_top.png" alt="" /&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å hjelper vi alt vi kan.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/fiU6LYTd1Cg" height="1" width="1"/&gt;</content>
    <author>
      <name>John Eivind Hallén</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2009/7/12/hvordan-skal-iphone-ikonet-ditt-se-ut</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/XBHsDvN48ns/hvorfor-timeforing-ikke-kan-automatiseres" rel="alternate" />
    <title>Hvorfor timeføring ikke kan automatiseres</title>
    <content type="html">&lt;p&gt;De fleste utviklere jeg kjenner har på et eller annet tidspunkt laget sitt eget timeføringssystem fordi de var misfornøyd med det de er pålagt å bruke. Målet er ofte å automatisere det som ser ut til å være en meningsløs aktivitet, denne posten handler om hvorfor timeføring faktisk er en meningsfylt aktivitet.&lt;/p&gt;&lt;p&gt;Det ser ut som et brudd på &lt;span class="caps"&gt;DRY&lt;/span&gt; (Don&amp;#8217;t Repeat Yourself) å 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ære å bruke dette til å lage en (automatisk) rapport over dagens aktiviteter:&lt;/p&gt;


	&lt;pre&gt;&lt;code&gt;git log --since="8 hours ago"&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ære nok for å rapportere hva dagen handlet om?&lt;/p&gt;


	&lt;p&gt;Den enkleste delen av timeføringen er hvor mange timer man har jobbet. Formelen er omtrent slik:&lt;/p&gt;


&lt;pre&gt;
klokkeslettet når jeg går hjem
- klokkeslettet jeg kom
- dødtid/surfing/whatever
= fakturerbar tid
&lt;/pre&gt;

	&lt;p&gt;Den andre delen er å fortelle hva man har gjort. På samme måte som testene vi skriver beskriver hva programmet gjør på en bedre måten enn implementasjonen (fordi den har et annet utgangspunkt og muligens, hvis testene er veldig bra, et annet publikum) er timeføringen en oppsummering av hva dagen har handlet om.&lt;/p&gt;


	&lt;p&gt;Har du hørt den gamle historien om mannen som kom til en byggeplass i oldtidas Egypt? Han så masse mennesker som dro på digre steiner, noen sto og dirigerte, og andre satt i skyggen fra et palmetre. Mannen går bort til den første slaven han ser, og spør &amp;#8220;Hva gjør du?&amp;#8221;&lt;/p&gt;


&lt;blockquote&gt;
	&lt;p&gt;Er du dum? Ser du ikke at jeg drar på denne digre steinen?&lt;/p&gt;

&lt;/blockquote&gt;




	&lt;p&gt;Mannen var ikke helt fornøyd, og nærmet seg en annen slave med samme spørsmål.&lt;/p&gt;


&lt;blockquote&gt;
	&lt;p&gt;Jeg har fått beskjed om å flytte denne steinblokken fra den plassen der borte opp på haugen der.&lt;/p&gt;

&lt;/blockquote&gt;




	&lt;p&gt;Fortsatt ikke helt fornøyd gikk han bort til en tredje mann.&lt;/p&gt;


&lt;blockquote&gt;
	&lt;p&gt;Jeg bygger en pyramide, svarte mannen på samme spørsmål.&lt;/p&gt;

&lt;/blockquote&gt;




	&lt;p&gt;Så forskjellig kan man altså beskrive nøyaktig samme aktivitet, og likevel kommunisere helt forskjellige hensikter.&lt;/p&gt;


	&lt;p&gt;Tenk deg at når du skal beskrive hva du har brukt timene dine på (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ør meg mer bevisst på&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å på dager da jeg har knotet og ikke klart å levere så mye kode kan det tenkes at jeg har gjort noe verdifullt, denne prosessen gjør meg bevisst på dette. Og skulle det komme en dag da du har levert hundrevis av kodelinjer og likevel ikke klarer å formulere hvilken verdi dette gir, kan det tenkes at du ikke har fokusert på de riktige tingene.&lt;/p&gt;


	&lt;p&gt;Prøv det, jeg tror du vil like det!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/XBHsDvN48ns" height="1" width="1"/&gt;</content>
    <author>
      <name>Marius Mårnes Mathiesen</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2009/7/3/hvorfor-timeforing-ikke-kan-automatiseres</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/HtwUk0JK1gw/trafikanten-pa-android-noen-ord-fra-utvikleren" rel="alternate" />
    <title>Trafikanten på Android: noen ord fra utvikleren</title>
    <content type="html">&lt;p&gt;Nå som katta er sluppet ut av sekken og &lt;a href="http://shortcut.no/blogg/2009/6/24/trafikanten-android"&gt;Trafikanten for Android er sluppet&lt;/a&gt; er det vel på tide å dele mine erfaringer med utvikling for Android.&lt;/p&gt;&lt;p&gt;Siden jeg skaffet meg en dev phone like før jul har jeg i ledige stunder puslet med det nærmeste jeg kommer et &amp;#8220;Hello World&amp;#8221;-prosjekt: Trafikanten. Jeg tok utgangspunkt i Trafikanten på iPhone og hadde som mål å få noe som ligner så mye som mulig til å kjøre på min Android-telefon.&lt;/p&gt;


	&lt;p&gt;Først installerte jeg Eclipse, siden Google lager plugins som gjør Android-utvikling mye enklere enn å gjøre alt for hånd. Til å begynne med forsto jeg ikke allverden av hva som foregikk under panseret, men fant meg på 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å som å skrive tekst, er en merkelig involvert prosess, og det tok ikke lang tid før jeg savnet Textmate. Etterhvert har jeg forstått at man kan få til det samme i andre editorer som man gjør i Eclipse, de aller fleste funksjonene er dekket av verktøy som følger med Android &lt;span class="caps"&gt;SDK&lt;/span&gt;-et. Neste Android-applikasjon kommer jeg nok til å 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å telefonen. Applikasjoner kan være tilbydere (provider) av data overfor andre applikasjoner, som gjennom &lt;span class="caps"&gt;REST&lt;/span&gt;-baserte URLer få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ære en erstatning for &lt;span class="caps"&gt;SMS&lt;/span&gt;-applikasjonen dersom brukeren ønsker å heller bruke din &lt;span class="caps"&gt;SMS&lt;/span&gt;-applikasjon enn den som følger med operativsystemet.&lt;/p&gt;


	&lt;p&gt;Vi ble enige om å distribuere kildekoden til applikasjonen på Gitorious, og gjorde det igår. Det føltes da pussig å ikke skulle distribuere applikasjonen også, så jeg satte meg til og forsket på hva som skal til for å få en applikasjon på &lt;a href="http://market.android.com/"&gt;Android Market&lt;/a&gt;. Også her har Google valgt en helt annen tilnærming enn Apple: man generer sitt eget private/public keypair som man bruker til å signere applikasjonen &amp;#8211; det er altså ingen søknadsprosess til Google for å bli godkjent som utvikler. Man må 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år jeg så hadde laget og signert en versjon av applikasjonen (som tok i underkant av en halvtime, inkludert lesning av dokumentasjon) gikk jeg inn på 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="caps"&gt;SDK&lt;/span&gt;-et), og så snart dette var rettet fikk jeg beskjed om at applikasjonen nå var publisert.&lt;/p&gt;


	&lt;p&gt;&lt;img src="/system/pictures/10/original/AndroidMarket.jpg" alt="" /&gt;&lt;/p&gt;


	&lt;p&gt;Dette tok meg rett og slett på senga, jeg hadde regnet med noen dager eller uker med godkjenning før appen var tilgjengelig. I morges hadde jeg bestemt meg for å ta appen bort &amp;#8211; siden jeg ikke følte den var ferdig ennå &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 å komme med oppdateringer.&lt;/p&gt;


	&lt;p&gt;Om du har en Android-telefon skal du kunne scanne denne strekkoden for å installere Trafikanten på telefonen din:&lt;/p&gt;


	&lt;p&gt;&lt;img src="http://chart.apis.google.com/chart?cht=qr&amp;#38;chs=100x100&amp;#38;chl=market://search?q=pname:no.shortcut" alt="" /&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/HtwUk0JK1gw" height="1" width="1"/&gt;</content>
    <author>
      <name>Marius Mårnes Mathiesen</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2009/6/24/trafikanten-pa-android-noen-ord-fra-utvikleren</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/ya6GEuysjhQ/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år iPhone-app &lt;a href="http://products.shortcut.no/trafikanten"&gt;Trafikanten&lt;/a&gt; for Android.&lt;/p&gt;&lt;p&gt;Vi har en Android liggende på kontoret. Den ser ut som en uformelig gjenstand fra Forsvarets overskuddslager, men den er faktisk helt brukbar. Og spesielt nyttig er den nå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 ønsker å gjøre applikasjonen enda bedre, og derfor har vi lagt den ut som åpen kildekode på &lt;a href="http://gitorious.org/trafikanten/trafikanten-android"&gt;Gitorious&lt;/a&gt;. Der kan du lage din egen klone av applikasjonen, gjøre endringer lokalt, og deretter sende inn dine endringer som en merge request.&lt;/p&gt;


	&lt;p&gt;Kanskje ditt bidrag vil gjøre Trafikanten for Android bedre enn Trafikanten for iPhone?&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/ya6GEuysjhQ" height="1" width="1"/&gt;</content>
    <author>
      <name>August Zaitzow Flatby</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2009/6/24/trafikanten-android</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/abWlV572auU/gitorious-lopende-designoppgradering" rel="alternate" />
    <title>Gitorious' løpende designoppgradering</title>
    <content type="html">&lt;p&gt;Denne uken fikk Gitorious en tilsynelatende helt ny forside. Det er første steg på veien mot en total ansiktsløftning av vårt &lt;em&gt;open source&lt;/em&gt;-system.&lt;/p&gt;&lt;p&gt;På Gitorious&amp;#8217; egen blogg kan du lese om hvilke valg vi har tatt, og hvorfor: &lt;a href="http://blog.gitorious.org/2009/06/18/a-word-from-the-designer/"&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="http://gitorious.org/"&gt;Gitorious.org&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/abWlV572auU" height="1" width="1"/&gt;</content>
    <author>
      <name>John Eivind Hallén</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2009/6/18/gitorious-lopende-designoppgradering</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/lgE2kRv5zEY/bidra-ikke-bare-bruke" rel="alternate" />
    <title>Bidra, ikke bare bruke</title>
    <content type="html">&lt;p&gt;Fri programvare benyttes i økende grad i offentlig sektor. Men hvordan tenker det offentlige å bidra tilbake?&lt;/p&gt;&lt;p&gt;Regjeringens vedtak om økt bruk av fri programvare, altså programvare som leveres med en lisens som tilgjengeliggjør kildekoden for modifikasjoner og tilpasninger, har ført til resultater: Fornyings- og administrasjonsdepartementet &lt;a href="http://www.regjeringen.no/nb/dep/fad/pressesenter/pressemeldinger/2009/bruk-av-fri-programvare-oker-i-offentlig.html?id=561312"&gt;informerer&lt;/a&gt; om at bruken av fri programvare i offentlig sektor øker, og at 6 av 10 statlige virksomheter nå benytter fri programvare.&lt;/p&gt;


	&lt;p&gt;For å gjøre fri programvare lett tilgjengelig for offentlig sektor, har Nasjonalt kompetansesenter for fri programvare (Friprogsenteret) etablert &lt;a href="http://www.delingsbazaren.no"&gt;Delingsbazaren&lt;/a&gt;. Delingsbazaren skal stimulere til økt synliggjøring av løsninger basert på fri programvare, og da fortrinnsvis programvare som er utviklet med offentlige midler.&lt;/p&gt;


	&lt;p&gt;Delingsbazaren gjør livet enklere for potensielle brukere av fri programvare. Men Delingsbazaren gjør det ikke enklere for bidragsytere å bidra med dokumentasjon, kodeendringer, bugfikser, oversettelser og lokale tilpasninger. Og fri programvare er avhengig av massiv deltagelse fra uavhengige bidragsytere for å oppnå kvalitet som kan overgå 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 åpen kildekode består i å gjøre kildekoden lett tilgjengelig for innsyn og videre bearbeiding, samt å legge til rette for samhandling mellom forskjellige bidragsytere. Shortcut tilbyr en slik løsning med &lt;a href="http://www.gitorious.org"&gt;Gitorious&lt;/a&gt;, og på Gitorious har vi fått med oss &lt;a href="http://qt.gitorious.org"&gt;Qt Software&lt;/a&gt; som på denne måten åpner for bidrag til sine prosjekter fra eksterne bidragsytere.&lt;/p&gt;


	&lt;p&gt;Vi oppfordrer Regjeringen til å ikke bare stimulere til økt bruk av fri programvare, men også å skape en bedre delingskultur ved å fokusere på samhandling rundt fri programvare-prosjekter.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/lgE2kRv5zEY" height="1" width="1"/&gt;</content>
    <author>
      <name>August Zaitzow Flatby</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2009/5/25/bidra-ikke-bare-bruke</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/YNP_0WBvN3Q/det-er-bedre-med-ett-program-i-handa-enn-ti-pa-taket" rel="alternate" />
    <title>Det er bedre med ett program i hånda, enn ti på taket</title>
    <content type="html">&lt;p&gt;Et spørsmål vi ofte blir stilt når vi jobber med iPhone-programmer er: Hva med alle de som ikke har iPhone? Det er et godt spørsmål. Svaret er at de brukerne nå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 én av mange mobile plattformer, og iPhone-brukerne er i et stort mindretall. Hvorfor ikke lage løsninger som nå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;
– Det er veldig få 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;
–  Vel, de brukerne er det faktisk enda færre av, enn iPhone-brukere.&lt;/p&gt;


	&lt;p&gt;I slutten av mars var jeg på en konferanse i Berlin. Temaet var kollektivtrafikkinformasjon på mobile enheter og jeg var der  for å snakke om &lt;a href="http://products.shortcut.no/trafikanten"&gt;Trafikanten på iPhone&lt;/a&gt;. Deltagerne var trafikkselskaper fra hele Europa, og de hadde gjort all slags forskjellige tiltak for å nå ut til publikums mobiltelefoner. I dag har jo alle reisende muligheten til å installere applikasjoner, surfe på wap-sider eller sende og motta &lt;span class="caps"&gt;SMS&lt;/span&gt;, uansett hvor man befinner seg. Så mulighetene for å få fortalt når bussen kommer er absolutt til stede. Og løsningene finnes.&lt;/p&gt;


	&lt;p&gt;&lt;img src="/system/pictures/6/original/sbb.png" alt="" /&gt;&lt;/p&gt;


	&lt;p&gt;Sveits’ største reiseselskap &lt;a href="http://sbb.ch/"&gt;&lt;span class="caps"&gt;SBB&lt;/span&gt;&lt;/a&gt; hadde en veldig interessant plansje på dette (over). Her ser vi oversikten over de forskjellige teknologiene de har løsninger for, og bruken av dem. Og noen antagelser om bruk i fremtiden. Vi ser at det er bare et få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ø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øvd seg med å lage egen løsning for iPhone. Inntil de lanserte på iPhone hadde de en jevn vekst av brukere. Og de brukerne var fornø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å. De populære tjenestene &lt;a href="http://tegelsrud.com/trafikantenjava/"&gt;Trafikanten på mobilen&lt;/a&gt;, &lt;a href="http://www.trineseries.com/TIF.aspx"&gt;Trine i Farta&lt;/a&gt; og andre, kan ikke måle seg med bruken av iPhone-applikasjonen.&lt;/p&gt;


	&lt;p&gt;Ser vi på datatrafikken generelt er jo iPhone i en særklasse blant mobilene. Digi.no kalte iPhone for &lt;a href="http://www.digi.no/808036/iphone-blir-operatorenes-nye-melkeku"&gt;operatørenes nye melkeku&lt;/a&gt;. Flickr opplever at det &lt;a href="http://ipod1.no/artikkel/2666/iphone-er-den-mest-brukte-kameratelefonen"&gt;mobilkameraet som laster opp flest bilder er iPhone&lt;/a&gt;. De norske 1881-iPhone-tilpassede sidene viser til at &lt;a href="http://blog.fatguy.no/article/194-1881-for-iPhone-et-halvt-r-senere-En-kjempesuksess"&gt;¾ av deres mobilbrukere gjør søk på iPhone&lt;/a&gt;. På vanlig nettsurfing er det jo etterhvert ganske kjent at &lt;a href="http://jkontherun.com/2009/03/02/net-applications-mobile-browsing-statistics-iphone-66-share/"&gt;iPhone er overlegen.&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;La meg nå minne oss på at det faktisk ikke er så mange som har iPhone. De bare bruker den mer. Mye mer. Derfor disse utslagene i statistikken. Hvorfor er det slik? Hva er så spesielt med iPhone, eller eierne av den? Det skal jeg ikke gi et fyldig svar på nå. Jeg vil bare påpeke at  den er veldig lett å 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: Ønsker du å treffe &lt;em&gt;mennesker&lt;/em&gt;, er iPhone svaret. Ønsker du å treffe flest mulig &lt;em&gt;gadgets&lt;/em&gt;, kan kanskje en Java-applikasjon være en løsning? Bare vit at det du lager ikke vil bli brukt. Noe en samtale med kjæ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 å gjøre, det blir for vanskelig. Uansett hva som blir laget for hennes telefon, kommer hun aldri til å få sett det.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/YNP_0WBvN3Q" height="1" width="1"/&gt;</content>
    <author>
      <name>John Eivind Hallén</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2009/5/21/det-er-bedre-med-ett-program-i-handa-enn-ti-pa-taket</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/sQucqWWZ2YU/hvordan-musikkhoyskolen-larte-meg-a-unnga-knuste-vinduer" rel="alternate" />
    <title>Hvordan musikkhøyskolen lærte meg å unngå knuste vinduer</title>
    <content type="html">&lt;p&gt;Jeg har føttene mine godt plantet innenfor mange ulike grener. Grenene jeg bruker mest tid på er programmering og musikk. Når man driver med to helt forskjellige ting til samme tid, er det alltid gøy å oppdage fellesnevnere.&lt;/p&gt;


	&lt;p&gt;Dette er historien om hvordan musikkhøyskolelærdom gjorde meg til en bedre programmerer.&lt;/p&gt;&lt;p&gt;Noe av det mest krevende som pianiststudent på &lt;a href="http://nmh.no/"&gt;&lt;span class="caps"&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 å læ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øpet av min tid som pianostudent. Å spille raske løp opp og ned tangentene ble mer som en joggetur. Overkommelig og enkelt å forholde seg til. Å lære seg sytten sider med en betraktelig høyere prosent av blekk enn hvitt papir, derimot.. Usj.&lt;/p&gt;


	&lt;p&gt;Dette førte til at man ble nødt til å finne effektive innøvingsmetoder. Vi stod heldigvis ikke på bar bakke; innstudering var et eget fag, hvor jeg og resten av pianostudentene i mitt kull møtte opp i klasserommet for ukentlige lektyrer i notelesing og memorisering. Dette var likevel ganske generell lærdom vi fikk i disse timene, og det ble dermed opp til den enkelte av oss å finne ut hva som passet best for våre individuelle vaner, ønsker og behov.&lt;/p&gt;


	&lt;p&gt;Etter noen måneder, klok av skade, fant jeg frem til en metode som viste seg å forbli den mest effektive av dem alle. Den gikk som følger:&lt;/p&gt;


	&lt;ol&gt;
	&lt;li&gt;Lær hele stykket godt nok til å kunne spilles gjennom uten nevneverdige kriser.&lt;/li&gt;
		&lt;li&gt;Legg det bort i to-tre dager, øv på 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å ventingen, som utgjorde noen forskjell. Magien lå i vissheten om at jeg skulle ha en pause i noen dager (steg to) for å så kunne spille det like godt igjen noen dager senere (steg tre). Det førte til at jeg jobbet mye mer fokusert og grundig i steg en, og passet nøye på at alle fraser og løp og akkorder og fortendeler ble innøvd godt nok til å tå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 å noen ganger starte et prosjekt helt på 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årlig og gammel kode, gjø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 å &lt;em&gt;aldri&lt;/em&gt; starte et prosjekt helt på nytt, men heller kontinuerlig oppdatere kodebasen og holde den i god stand. Da kan man også lett ta i bruk nye teknologier, oppdatere gammel kode og gjøre endringer i det grunnleggende rammeverket i koden, akkurat som når man kaster alt starter helt på nytt, fordi man har en såpass solid og fleksibel kodebase.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Lærdommen fra musikkhøyskolen fø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 år eller to kommer til å kaste all koden man har, og starte helt på nytt, kan det føre til at man ikke bryr seg så mye om kvaliteten på koden man skriver — 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 å starte på nytt, men blir nødt til å forholde seg til den samme kodebasen hele tiden, kan det føre til at man bryr seg mer om kvaliteten på koden man skriver — man skal jo tross alt leve med den en stund.&lt;/p&gt;


	&lt;p&gt;På samme måte som vissheten om fremtidige kvaler viste seg å fungere godt når jeg innstuderte pianostykker, fungerer vissheten om at man skal leve med koden man skriver i all fremtid på samme måte. Det fører til at man jobber grundigere i nåtiden, slik at man forenkler sin egen fremtid.&lt;/p&gt;


	&lt;p&gt;Dette berører også &lt;a href="http://www.artima.com/intv/fixit.html"&gt;Broken Window-teorien&lt;/a&gt; (derav artikkelbildet). Den sier at det er betydelig forskjell på å ikke ha noen knuste vinduer i et hus, og å ha &lt;em&gt;ett&lt;/em&gt; knust vindu. Ett knust vindu fører fort til flere knuste vinduer, og da man har lett for å bli forsømmelig og tenke «ja, ja, det er jo allerede et knust vindu her, et til kan da ikke gjøre noen stor skade». Så baller det på seg.&lt;/p&gt;


	&lt;p&gt;Å vite at man i fremtiden kommer til å kaste all koden man har, er i seg selv et «broken window». Akkurat som med knuste vinduer, tenker man «Ja, ja, koden skal jo kastes uansett, så litt dårlig kode akkurat bare her kan da ikke gjøre noen stor skade».&lt;/p&gt;


	&lt;p&gt;Noen ganger er det likevel best å kaste alt man har og begynne på nytt. Hva man skal velge, er situasjonsbetinget. Jeg er likevel sikker på på at det er usunt å som en &lt;em&gt;standard&lt;/em&gt; skulle starte på nytt, da det kan føre til late programmerere. La det heller være unntaket å starte på nytt.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/sQucqWWZ2YU" height="1" width="1"/&gt;</content>
    <author>
      <name>August Lilleaas</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2009/5/18/hvordan-musikkhoyskolen-larte-meg-a-unnga-knuste-vinduer</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/gj8I8zx5nqM/gitorious-org-er-na-et-shortcut-prosjekt" rel="alternate" />
    <title>Gitorious.org er nå 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ørensen &amp;#8211; som var med å starte Shortcut &amp;#8211; har brukt fritiden sin på Gitorious er Gitorious nå et Shortcut-prosjekt. Lørdag fikk Gitorious en rekke nye features, og mandag startet Qt Software, tidligere Trolltech, publisering av sin kildekode på Gitorious.org.&lt;/p&gt;&lt;p&gt;&lt;img src="http://www.shortcut.no/system/pictures/2/original/Gitouriuous-kloss-6.png" alt="" /&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å Gitorious-bloggen&amp;#8221;, og &lt;a href="http://blog.gitorious.org/2009/05/09/weve-made-a-few-changes/"&gt;skrev igår om at Qt Software legger ut kildekoden sin på Gitorious.org&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;Trolltech ble kjøpt opp av Nokia ifjor. Deretter annonserte de at Qt ville bli tilgjengelig under &lt;a href="http://www.gnu.org/licenses/lgpl.html"&gt;&lt;span class="caps"&gt;GNU&lt;/span&gt; Lesser Public License&lt;/a&gt; &amp;#8211; som innebærer at programvare som linker til Qt ikke trenger å lisensieres med samme lisens som Qt selv. Qt Software annonserte også at de ville åpne for at eksterne utviklere kunne gi bidrag til Qt, noe som altså ble mulig fra og med igår.&lt;/p&gt;


	&lt;p&gt;Fra og med igår ble det altså mulig å komme med bidrag til kildekoden til Qt, og det tok ikke mange minuttene før de første bidragene kom inn. Mens jeg skriver dette er det kommet inn &lt;a href="http://qt.gitorious.org/qt/qt/merge_requests"&gt;13 bidrag til Qt på Gitorious&lt;/a&gt;, og det under ett døgn etter at kildekoden ble lagt ut. Vi har de siste månedene jobbet sammen med Nokia Norge for å få på plass en løsning som både er enkel for de som gir bidrag og sikrer de juridiske kravene rundt slike bidrag. The Register &lt;a href="http://www.theregister.co.uk/2009/05/11/qt_open_repository/"&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å din egen server, tilbyr Shortcut nå profesjonell hosting av Gitorious for selskaper som ønsker en tilpasset og overvåket Gitorious-installasjon for sine fri programvareprosjekter. I den forbindelsen har vi oppgradert infrastrukturen Gitorious ligger på, slik at Gitorious kan ta unna de trafikkmengdene slike kunder medfører. Vi kommer med mer informasjon om dette tilbudet snart.&lt;/p&gt;


	&lt;p&gt;Gitorious har &lt;a href="http://groups.google.com/group/gitorious/"&gt;en mailingliste&lt;/a&gt;, &lt;a href="http://blog.gitorious.org/"&gt;en blogg&lt;/a&gt; og en &lt;span class="caps"&gt;IRC&lt;/span&gt;-kanal (#gitorious på freenode). Du kan også &lt;a href="http://gitorious.org/gitorious"&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="http://labs.trolltech.com/blogs/2009/05/11/qt-public-repository-launched/"&gt;Trolltech labs&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://dot.kde.org/2009/05/11/qt-now-open-community-contributions"&gt;&lt;span class="caps"&gt;KDE&lt;/span&gt; News&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://aseigo.blogspot.com/2009/05/qt-development-opens-up.html"&gt;Aaron Seigo&amp;#8217;s blogg&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://blog.inspired.no/gitorious-free-open-source-git-project-hosting-646"&gt;Espen Antonsen om Gitorious&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://search.twitter.com/search?q=gitorious"&gt;Omtale av Gitorious på Twitter&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Vi gratulerer Nokia Norge med en vellykket lansering, og følger spent med på bidragene som kommer til Qt framover.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/gj8I8zx5nqM" height="1" width="1"/&gt;</content>
    <author>
      <name>Marius Mårnes Mathiesen</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2009/5/12/gitorious-org-er-na-et-shortcut-prosjekt</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/8MveY-6DVMg/skjorte-av-silke-bukse-av-lar" rel="alternate" />
    <title>Skjorte av silke. Bukse av lær.</title>
    <content type="html">&lt;p&gt;Vi har lagt merke til at flere nettsteder nå ønsker å tilby avgrensede områder som man kun får tilgang til mot betaling.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.prove.no/"&gt;Prøve.no&lt;/a&gt; er ett nettsted som tilbyr teoriprøver for folk som skal ta lappen. Nettstedet ønsket å finne inntektsstrømmer som kunne supplere det dalende annonsemarkedet. Dermed ble det bestemt at man skulle begynne å ta betalt for noen av teoriprøvene, og Shortcut ble forespurt om vi kunne tilby en betalingsløsning som gjorde dette så enkelt som overhodet mulig for sluttbrukere.&lt;/p&gt;


	&lt;p&gt;Tradisjonelt har man benyttet kredittkort for betaling for innhold på web, og det er forståelig, da kredittkorttransaksjoner er relativt billig (kredittkortselskapene tar fra 3-5% gebyr) og det er teknisk sett enkelt å komme i gang med kredittkortbetaling, f.eks. ved å benytte ActiveMerchant.&lt;/p&gt;


	&lt;p&gt;Problemet er at brukere ikke velvillig benytter kredittkort til betaling av småbeløp. Derimot viser det seg at brukere er langt mer velvillige til å benytte mobiltelefonen til å foreta slike betalinger via &lt;span class="caps"&gt;SMS&lt;/span&gt;.&lt;/p&gt;


	&lt;p&gt;Etter at vi kjøpte mobilselskapet Apparat har vi begynt å tilby en slik betalingsløsning på vårt kortnummer 2210. Løsningen er i utgangspunktet generisk, der sluttbrukere sender en &lt;span class="caps"&gt;SMS&lt;/span&gt; til 2210 med kodeord &lt;span class="caps"&gt;KONTANT X&lt;/span&gt; for å motta en kode pålydende X kroner. Koden kan så benyttes til å kjøpe tilgang til lukkede områder på nettsteder. Nettsteder kan kjøpe sitt eget kodeord &amp;#8212;Prøve.no har for eksempel kodordet PRØVE.&lt;/p&gt;


	&lt;blockquote&gt;
		&lt;p&gt;&lt;i&gt;Etter avgjørelsen om at vi skulle ta betalt for deler av vår tjeneste ble tatt, tok det ikke lang tid å implementere Apparats Kontant-tjeneste. Allerede neste arbeidsdag hadde vi en fungerende betalingstjeneste på våre nettsider. Responsen fra våre brukere var umiddelbart positiv. Apparats APIer er svært enkle å 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øve.no&lt;/p&gt;
	&lt;/blockquote&gt;


	&lt;p&gt;&lt;span class="caps"&gt;SMS&lt;/span&gt; har med andre ord ikke avgått med døden ennå, og markerer seg nå som en viktig alternativ inntektskilde for nettsteder som tradisjonelt livnærer seg av annonsesalg.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/8MveY-6DVMg" height="1" width="1"/&gt;</content>
    <author>
      <name>August Zaitzow Flatby</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2009/4/26/skjorte-av-silke-bukse-av-lar</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/wRFaNO_9cbA/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="http://developer.android.com/guide/developing/device.html#dev-phone-1"&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="http://booksearch.blogspot.com/2008/11/search-physical-books-with-android.html"&gt;Barcode-scanneren&lt;/a&gt;. Android kan scanne strekkoder med det innebygde kameraet. Så 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 å søke i innholdet i boka. Hvis det er et annet produkt kan du søke etter anmeldelser og priser for produktet.&lt;/li&gt;
		&lt;li&gt;Applikasjonene avsluttes ikke når du lukker dem. Istedet sørger operativsystemet for å holde oppe de sist brukte applikasjonene. Dette betyr for eksempel at du kan varsles om nye meldinger på Twitter selv om du i ø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 åpner meldings-programmet til du kan begynne å skrive en &lt;span class="caps"&gt;SMS&lt;/span&gt; går det noen ca ett sekund; etter å ha brukt iPhone i et år er dette en overraskende opplevelse.&lt;/li&gt;
		&lt;li&gt;Veldig enkelt å komme igang. Når du skrur på telefonen blir du bedt om å oppgi brukernavn og passord til Google-kontoen din eller å opprette en ny. Telefonen henter da inn kontaktene dine, mailen din og kalenderen din på et minutts tid. Du trenger ikke manuelt synkronisere med Google, det skjer automatisk.&lt;/li&gt;
		&lt;li&gt;Bra, integrert brukeropplevelse. Der det å bruke kameraet fra en applikasjon på iPhone overlater kontrollen til den brukeropplevelsen Apple har diktert, virker det som Android gir utvikleren større frihet til å tilpasse brukeropplevelsen. Når strekkodeleseren starter kameraet vises en strek i midten av bildet, og kameraet trenger ikke utløses for å gjenkjenne en strekkode. Så snart det er en strekkode i fokus gir telefonen fra seg et pip (omtrent samme lyd som i kassa på Rimi) og slår opp hva strekkoden er.&lt;/li&gt;
		&lt;li&gt;Frihet: med Android kan jeg studere og endre kildekoden, se på filsystemet, laste opp eget operativsystem. Istedet for å lese &lt;span class="caps"&gt;API&lt;/span&gt;-dokumentasjon kan jeg se på kildekoden Google selv bruker i de innebygde applikasjonene på telefonen, inkludert telefonapplikasjonen. Uten at jeg har utviklet noen Androidprogrammer selv vet jeg at på jeg så snart jeg gjør det kommer til å møte utfordringer jeg ikke klarer løse på bakgrunn av dokumentasjonen som er tilgjengelig. Ved å studere kildekoden kan jeg finne ut hvordan noe er &lt;strong&gt;implementert&lt;/strong&gt;, få vite om det er en bug i programmet og i så fall rette den. &lt;/li&gt;
		&lt;li&gt;Nettverksforbindelsene virker robuste. Det er for eksempel ikke noe problem å chatte mens man er på bussen&lt;/li&gt;
		&lt;li&gt;Intuitivt hvordan man bruker telefonen. Her har Google &amp;#8220;stjålet&amp;#8221; mye fra iPhone; som vant iPhonebruker er min første impuls når jeg skal gjøre noe å gjøre det på samme må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å tvers av programmer. Om man klikker på en link i Twitterklienten kan man trykke tilbake-knappen for å komme tilbake til Twitterklienten fra nettleseren. Jeg vet at Apple-fans vil forsvare Apples valg av bare en knapp på telefonen sin til de går i grava, jeg tilhører de som synes det er praktisk med to knapper (og et hjul) på musa og dedikerte knapper der det gir mening med dedikerte knapper. Tilbake-knappen gir mening, og det å ha en ring- og legg på-knapp gir også mening på 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 å 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ø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="caps"&gt;HTC&lt;/span&gt; &amp;#8211; har en distinkt plastikkfølelse. Den knirker litt, jeg har ikke lyst å miste den i gulvet og knappene virker litt billige. Forhåpentligvis vil andre produsenter lage Android-baserte telefoner som ikke virker like billige.&lt;/li&gt;
		&lt;li&gt;Dårlig batteritid. Det skal nok godt gjøres å få særlig mer enn 24 timers vanlig bruk ut av telefonen. &lt;span class="caps"&gt;GPS&lt;/span&gt; og 3G suger batteri.&lt;/li&gt;
		&lt;li&gt;Litt klønete å sette opp. I oppsettprosessen da telefonen skal hente kontakter og kalender kan man for eksempel ikke sette opp Wifi først. Om 3G-oppsettet som følger med telefonen ikke er riktig (det følger ikke med 3G-innstillinger for norske operatører) betyr dette at man må inn og sette opp &lt;span class="caps"&gt;APN&lt;/span&gt;-innstillinger før man få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å klikke på Menu-knappen for å åpne. Her ligger iPhone langt foran, og riktigheten av Apples valg om ikke å ha menyer blir tydelig.&lt;/li&gt;
		&lt;li&gt;Lyder/varsler: med standardoppsettet på telefonen hører jeg ikke meldingsvarselet. &lt;/li&gt;
		&lt;li&gt;Mangler norske tegn på tastaturet, må &amp;#8211; som på iPhone &amp;#8211; holde inne a en stund for å skrive en &amp;#8220;æ&amp;#8221; eller &amp;#8220;å&amp;#8221; &lt;/li&gt;
		&lt;li&gt;Nettleseren er ikke like enkel å bruke som mobile Safari, man kan for eksempel ikke dobbelklikke på et avsnitt og zoome inn til riktig zoomnivå. &lt;/li&gt;
		&lt;li&gt;&lt;span class="caps"&gt;GPS&lt;/span&gt;-en er, som på iPhone, ikke helt pålitelig. Jeg vet ikke om dette er et utslag av at &lt;span class="caps"&gt;HTC&lt;/span&gt; har spart på komponentene i telefonen eller om det er programvaren som har feil.&lt;/li&gt;
		&lt;li&gt;Har ikke &lt;a href="http://products.shortcut.no/trafikanten"&gt;Trafikanten&lt;/a&gt; på Android-telefonen ennå. Dette høres ut som selvskryt, men jeg har de siste dagene blitt klar over hvor avhengig jeg har blitt av å kunne hente opp sanntidsdata fra Trafikanten på iPhone. &lt;/li&gt;
		&lt;li&gt;Telefonen er ikke til salgs i Norge ennå. Jeg mener Android er det nest beste operativsystemet for mobiltelefoner jeg har brukt, og tror det vil bli veldig populært så snart det er mulig å få kjøpt Android-baserte telefoner i Norge.&lt;/li&gt;
	&lt;/ol&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/wRFaNO_9cbA" height="1" width="1"/&gt;</content>
    <author>
      <name>Marius Mårnes Mathiesen</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2009/3/25/10-ting-jeg-digger-med-android</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/76WUvLUeClw/det-var-en-kul-dings" rel="alternate" />
    <title>Dé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år oss til å gå med.&lt;/p&gt;&lt;p&gt;For noen år siden trodde mange at vi i framtida kom til å bruke smart-chips koblet til PCen når vi skulle signere dokumenter og betale regninger på nett. Identiteten din, i form av et digitalt sertifikat, på 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å ville være den største utfordringen &amp;#8211; nemlig å etablere rutiner, aktører og distribusjon rundt elektronisk ID &amp;#8211; er idag langt på vei løst når Bank-ID nå er tatt i bruk av de fleste bankene. Likevel må vi fortsatt fram med kodekalkulatoren fra 90- tallet, skrapelodd med engangskoder eller &lt;span class="caps"&gt;SMS&lt;/span&gt; når vi skal betale regninger i nettbanken. Hvorfor?&lt;/p&gt;


	&lt;p&gt;&lt;img src="http://support.novell.com/techcenter/articles/img/ana2000080207.gif" alt="" /&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øren jeg vet om tilbyr autentisering med Smartkortleser på PCen i Norge er Buypass, &lt;del&gt;og deres løsning fungerer bare i Windows, bare med Internet Explorer. Buypass kan muligens velge å ikke ha noe å tilby de resterende 20 prosent av sine potensielle kundene sine, dette er nok langt vanskeligere for DnB &lt;span class="caps"&gt;NOR&lt;/span&gt;.&lt;/del&gt;&lt;/p&gt;


	&lt;p&gt;Nå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 å bruke for slike tjenestene noen gang de neste ti årene.&lt;/p&gt;


	&lt;p&gt;Svenske &lt;a href="http://yubico.com/"&gt;Yubico&lt;/a&gt;, derimot, har laget en dings som skal fungere på alle PCer (eller Mac eller netbook eller hva det nå skulle være) som lar deg plugge inn et &lt;span class="caps"&gt;USB&lt;/span&gt;-tastatur. Den lille dingsen deres hekter du fast i nøkkelknippet (noe ingen av disse skrapelodd/kodekalkulatorene kan), plugger den inn i &lt;span class="caps"&gt;USB&lt;/span&gt;-pluggen på PC-en din og trykker på når du trenger et passord.&lt;/p&gt;


	&lt;p&gt;&lt;img src="http://yubico.com/img/yubikey_start.jpg" alt="" /&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år man trykker på den. Vanligvis klikker man seg inn i innloggingsfeltet på en nettside og trykker så på 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 ønsker å 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å tjenester som bruker Yubico. Dersom man ønsker seg et ekstra nivå av sikkerhet legger man på et ekstra passord som du må taste inn, for å sikre seg mot dette.&lt;/p&gt;


	&lt;p&gt;Yubico har et &lt;span class="caps"&gt;API&lt;/span&gt; med kodeeksempler i de fleste relevante språk (&lt;a href="http://code.google.com/p/ruby-yubico/"&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ø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;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/76WUvLUeClw" height="1" width="1"/&gt;</content>
    <author>
      <name>Marius Mårnes Mathiesen</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2009/3/15/det-var-en-kul-dings</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/5EcOK5rNqIg/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øre en oppgave om tilpasning av et nettsted for iPhone idag. Dette spørsmålet fikk oss til å tenke gjennom hvorfor det er såpass vanskelig å gi et estimat på hva noe slikt vil koste, derfor legger vi ut svaret vi ga her.&lt;/p&gt;&lt;p&gt;&lt;em&gt;Spørsmålet studentene stilte var i hovedtrekk hva det vil koste å lage en iPhone nettbutikk. Nettsiden skal være tilpasset iPhone, men slik vi forsto det er det snakk om å 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 å gi et seriøst svar på spørsmålet deres uten å gå nokså 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år i:&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Funksjonalitet&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;De færreste vil ha råd til å utvikle en nettbutikkløsning fra bunnen av, men måtte forholde seg til et standardprodukt man tilpasser sine behov. Det systemet man skal tilpasse vil legge mer eller mindre strenge føringer for hvordan presentasjon av varer, arbeidsflyt for bruker og selger og betalingsmekanismer fungerer. Om man ser på et produkt som &lt;a href="http://shopify.com/"&gt;Shopify&lt;/a&gt; gir disse ganske stor frihet, mens Mamuts nettbutikkløsning gir relativt liten frihet. Antakelig vil dere oppdage at systemet som velges er designet for bruk fra PC, som vil gi føringer for i hvilken grad man kan tilpasse brukeropplevelsen til iPhone.&lt;/p&gt;


	&lt;p&gt;Hvis man velger en løsning som Shopify burde det være mulig å tilrettelegge en mobil versjon som er svært forskjellig fra PC-opplevelsen; på 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 ønske &amp;#8211; legger også dette føringer for brukeropplevelsen og i hvilken grad man kan gjøre tilpasninger. Mange norske betalingsløsninger benytter seg av 3dsecure, som er et samarbeid mellom kortleverandørene (Visa, Mastercard mfl.) &amp;#8211; som i Norge betyr at den som utsteder kredittkortet sørger for å sikre at du er rettmessig eier av kortet du betaler med.&lt;/p&gt;


	&lt;p&gt;Etter at de norske bankene nå stort sett har standardisert på 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øtter java-applets). Jeg har ikke diskutert iPhone til kortbetaling med noen av de som leverer betalingsløsninger, men jeg antar at de har tanker om hvordan dette kan muliggjøres idag. Men antakelig betyr dette at man er nødt til å bruke andre alternativer; &lt;a href="http://paypal.com/"&gt;PayPal&lt;/a&gt; kan antakelig væ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å helt andre måter enn en PC. For det første bruker man fingrene til å navigere og legge inn tekst, noe som generelt betyr at man bør kreve minimalt med inntasting av informasjon. Dernest vil bruksscenariet for iPhone væ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å sin iPhone, mens PC-brukere sitter foran skjermen i timevis av gangen. Kanskje betyr dette at en netthandelsløsning for iPhone ikke er noen god ide i det hele tatt, at man heller bør forutsette at brukeren handler fra sin PC. I så fall kunne kanskje iPhone-løsningen brukes for å 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 å lage en netthandelsløsning bør man altså 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å være ganske annerledes fra PC-opplevelsen, og det er få gode eksempler på 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å trykk og web som de vil ønske å ta med til iPhone. Ettersom man har svært begrenset med plass til &amp;#8220;pynt&amp;#8221; på en iPhone-side kan man ikke bruke like mye dekor og grafiske elementer på en iPhone-side som en vanlig webside. Samtidig vil vi ikke miste gjenkjennelses-/brandingeffekten til bedriften, noe som krever at man gjør en grundig tilpasning av bedriftens visuelle uttrykk til iPhone. I arbeidet med Trafikanten brukte vi mye tid på å tilpasse Trafikantens grafiske elementer og uttrykk til iPhone: vi endte her opp med å få avgangsvisningen til å etterligne skiltene på holdeplassene, slik at brukeren umiddelbart skulle kjenne igjen innholdet i skjermbildet fra noe som var kjent for ham fra før.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Tilpasning av nettsider&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;Så, til slutt, den tekniske delen. iPhone bruker i likhet med PC-baserte nettlesere, &lt;span class="caps"&gt;HTML&lt;/span&gt;, CSS og javascript som byggeklosser. iPhone har imidlertid endel forskjeller: ingen mus (altså ingen effekter når man fører musepekeren over et område), mindre skjerm, en skjerm som kan roteres, ingen Flash og ingen java. Apple har også i sine human interface guidelines beskrevet noen best practices for hvordan webapplikasjoner bør tilpasses iPhone som de fleste bruker i større eller mindre grad. De fleste vellykkete iPhone webapplikasjoner følger idag samme mønster: man starter med en liste over innholdsgrupper der man kan drille seg nedover i innholdet til høyere og høyere detaljnivå &amp;#8211; og så tilbake opp igjen etterpå.&lt;/p&gt;


	&lt;p&gt;Når man har gjort jobben med de første punktene grundig vil selve tilpasningen av nettsidene i hovedsak bestå i å implementere brukeropplevelsen i &lt;span class="caps"&gt;HTML&lt;/span&gt;/CSS/Javascript &amp;#8211; noe som er relativt enkelt når man har gjort det før.&lt;/p&gt;


	&lt;p&gt;Som dere kanskje forstår er det derfor vanskelig å sette en pris på hva et slikt prosjekt vil koste. Det viktigste er at man ikke slurver med forarbeidet, men tar denne brukergruppen på alvor og tilbyr en løsning som er godt tilpasset situasjonen brukeren er i når han bruker løsningen. Oppsiden i det hele er at en godt tilpasset netthandelsløsning for iPhone vil ha et enormt konkurransefortrinn, og dermed kan ta markedsandeler fra konkurrentene. Der PC-baserte nettbutikker må konkurrere på marginene kan iPhone-baserte nettsteder konkurrere på kvalitet og brukerforståelse. Dette igjen bør kunne gi høyere lojalitet hos kundene.&lt;/p&gt;


	&lt;p&gt;Ta gjerne kontakt hvis dere har fler spørsmål!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/5EcOK5rNqIg" height="1" width="1"/&gt;</content>
    <author>
      <name>Marius Mårnes Mathiesen</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2009/2/18/hvordan-estimere-et-iphone-prosjekt</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/U66ivz9Fskw/rip-ie6" rel="alternate" />
    <title>RIP, IE6</title>
    <content type="html">&lt;p&gt;Finn.no &lt;a href="http://twitter.com/nerdegutt/status/1218859569"&gt;har idag lagt ut en oppfordring til brukere av Internet Explorer 6 om å oppgradere eller bytte nettleseren sin&lt;/a&gt;. Dette er et flott utspill fra Finn.no, og jeg håper både Finn.no&amp;#8217;s brukere og andre nettsteder tar oppfordringen.&lt;/p&gt;&lt;p&gt;&lt;img src="http://kunder.shortcut.no/shortcutting/finn_no_ie.jpg" alt="" /&gt;&lt;/p&gt;


	&lt;p&gt;27. august 2001 var dagen da Internet Explorer 6 så dagens lys for første gang. Jeg husker godt at jeg den gangen klødde i fingrene etter å få bruke de fantastiske nyhetene i &lt;span class="caps"&gt;IE6&lt;/span&gt;, alt fra en innebygget &lt;span class="caps"&gt;XML&lt;/span&gt;-parser til &lt;span class="caps"&gt;DHTML&lt;/span&gt; og iframes.&lt;/p&gt;


	&lt;p&gt;Nå har jeg selv aldri laget noe nettsted med glorete &amp;#8220;best viewed with…&amp;#8221;-ikoner som oppfordrer besøkende til å oppgradere nettleseren, maksimere vinduet, installere etpar plugins og kanskje justere skjermoppløsningen sin, men det var mange som la ut oppfordringer til besøkende om å oppgradere til nettopp &lt;span class="caps"&gt;IE6&lt;/span&gt; &amp;#8211; slik at utvikleren kunne få ta i bruk nyhetene &lt;span class="caps"&gt;IE6&lt;/span&gt; brakte. Paradoksalt nok er det omtrent på samme måte vi nå tar farvel med &lt;span class="caps"&gt;IE6&lt;/span&gt;, gjennom at brukerne blir bedt om å oppgradere slik at vi ikke lenger trenger å ta hensyn til denne gamle nettleseren.&lt;/p&gt;


	&lt;p&gt;Det er noe helt allmenngyldig å læ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å lenge den gamle fungerer for ham. Og denne nøkternheten til det som er nytt kan vi antakelig ha god nytte av å ta med oss, samtidig som vi skal være forsiktig med å sette opp for mange stengsler for de som besøker oss; stiller vi for strenge krav går de nok bare videre.&lt;/p&gt;


	&lt;p&gt;Siden Internet Explorer 6 kom ut har det skjedd mye på webben. Fra 2001 fram til 2007 var &lt;span class="caps"&gt;IE6&lt;/span&gt; den suverent stø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ære. Idag er situasjonen en helt annen. Mozillas Firefox er den store nummer 2, og deretter en lang rekke nettlesere. Når denne situasjonen ikke er fullstendig uhåndterbar for oss som utvikler nettjenester er det fordi vi med rimelig sikkerhet kan anta at alle disse nettleserne følger samme standarder.&lt;/p&gt;


	&lt;p&gt;I en perfekt verden kunne jeg brukt én nettleser mens jeg utvikler en nettside og så vite at sidene vil se like ut i alle andre nettlesere. Og holder man seg til standardene vil dette i stor grad være tilfelle, med ett stort unntak: Internet Explorer 6. Jeg har vært på prosjekter der 1/3 av utviklingstiden har gått med til å få sidene til å se ut slik man ønsker i &lt;span class="caps"&gt;IE6&lt;/span&gt;. Opplevelsen er helt slapstick: du får noe til å fungere i &lt;span class="caps"&gt;IE6&lt;/span&gt; bare for å konstatere at det ikke lenger virker i andre nettlesere. Når du får det til å fungere i andre nettlesere slutter det å virke i &lt;span class="caps"&gt;IE6&lt;/span&gt;. Tenk hva man kunne brukt den 1/3 av prosjekttida hvis man slapp å bruke den på &lt;span class="caps"&gt;IE6&lt;/span&gt;. Internet Explorer 6 koster samfunnet milliarder med kroner hvert eneste år.&lt;/p&gt;


	&lt;p&gt;Det som gjør at andelen &lt;span class="caps"&gt;IE6&lt;/span&gt;-brukere etter at &lt;span class="caps"&gt;IE7&lt;/span&gt; har eksistert i etpar år fortsatt ikke synker raskere er trolig at mange bedrifter har standardisert på &lt;span class="caps"&gt;IE6&lt;/span&gt;, og at de ansatte selv ikke kan oppgradere nettleseren. Grunnen til at mange bedrifter tviholder på &lt;span class="caps"&gt;IE6&lt;/span&gt; er at de har utviklet/kjøpt nettløsninger som bare fungerer i &lt;span class="caps"&gt;IE6&lt;/span&gt;, og dermed ikke kan bytte. (Grunnen til at det ble utviklet løsninger som bare fungerer i &lt;span class="caps"&gt;IE6&lt;/span&gt; var alle de kule nye tingene &lt;span class="caps"&gt;IE6&lt;/span&gt; brakte med seg). Og dette virker jo som et rimelig resonnement for disse bedriftene: det vil koste dem penger å bytte/endre disse systemene, dermed vil de fortsette å bruke &lt;span class="caps"&gt;IE6&lt;/span&gt; så lenge de ikke tvinges til noe annet. Dette igjen påfører nettstedene kostnader med å støtte &lt;span class="caps"&gt;IE6&lt;/span&gt;, som bidrar til at man ikke trenger bytte.&lt;/p&gt;


	&lt;p&gt;Når Finn.no nå trolig har begynt utfasingen av sin støtte for &lt;span class="caps"&gt;IE6&lt;/span&gt; betyr dette at de som surfer fra jobben med &lt;span class="caps"&gt;IE6&lt;/span&gt; ikke lenger kan bruke Finn.no. Dette kommer til å skape press på IT-avdelingene, og blant de som utøver dette presset finner vi også beslutningstakere i bedriften. Når daglig leder ikke får søkt etter bruktbil fra jobben i lunsjpausen vil jeg anta de fleste IT-avdelinger får noe å henge fingrene i. Finn.no legger ved dette grepet problemet tilbake i det fanget der det hører hjemme, og jeg tror vi kan regne med å se andelen &lt;span class="caps"&gt;IE6&lt;/span&gt;-brukere på nettstedene vå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="caps"&gt;IE6&lt;/span&gt;.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/U66ivz9Fskw" height="1" width="1"/&gt;</content>
    <author>
      <name>Marius Mårnes Mathiesen</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2009/2/17/rip-ie6</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/31RQeb4ucYE/er-reklame-pa-iphone-ok" rel="alternate" />
    <title>Er reklame på iPhone OK?</title>
    <content type="html">&lt;p&gt;Shortcut var nylig på reklameskolen &lt;a href="http://www.westerdals.no/"&gt;Westerdals&lt;/a&gt; og snakket om hva man bør være klar over når man skal lage applikasjoner til iPhone. Mange ting er lurt å være bevisst på og vi har opparbeidet oss mye kompetanse på dette. Men hva slags applikasjoner &lt;em&gt;ønsker&lt;/em&gt; reklamestudenter å lage?&lt;/p&gt;&lt;p&gt;Rett før jul snakket vi med &lt;a href="http://www.shortcut.no/blog/2009/2/8/iphone--et-selvfolgelig-sted-for-arkitektstudenter"&gt;interaksjonsstudentene på Arkitekthøgskolen&lt;/a&gt;, som hadde et helt klart ønske om å lage innovative og funksjonelle applikasjoner. Samt noen morsomme. Nå, da jeg besøkte Westerdals, fikk jeg det samme inntrykket. Reklamestudenter ønsker seg også nyttige applikasjoner. Jeg var redd samtalen utelukkende skulle dreie seg om hvordan man best mulig kan profilere kommersielle aktører: «Hvordan lage god reklame på iPhone?»&lt;/p&gt;


	&lt;p&gt;Men er det noe å være redd for? Er det galt med reklameapplikasjoner, om de er nyttige og fungerer godt? &lt;a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=301316524&amp;#38;mt=8"&gt;Gilde kokebok&lt;/a&gt; er et godt eksempel på en nytteapp, som også gir god reklame. Den er super når jeg er fantasiløs i matbutikken. (Men litt verre er det hjemme på kjøkkenbenken, hvor ingen iPhone har adgang. Jeg søler for mye.)
&lt;br /&gt;&lt;img src="http://shortcut.no/system/pictures/19/original/coke_gilde.png" alt="" /&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;Ikke like bra er &lt;a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=302392499&amp;#38;mt=8"&gt;Coca-Colas applikasjon&lt;/a&gt;. En bruskorkinspirert løsning, som minner mest om de populæ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å hva jeg ikke ønsker meg.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Nyttig og smart&lt;/strong&gt;
Vi har blitt kontaktet av reklamebyråer, med gode ideer til løsninger for deres kunder. Jeg håper flere av de tenkte applikasjonene en gang vil se dagens lys. Ideene er nyttige og smarte, og vil absolutt være noe folk kan trenge, så da gjør det vel ingenting om de er sponset?&lt;/p&gt;


	&lt;p&gt;Kanskje er vår egen &lt;a href="http://products.shortcut.no/trafikanten"&gt;Trafikanten-applikasjon&lt;/a&gt; også 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;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/31RQeb4ucYE" height="1" width="1"/&gt;</content>
    <author>
      <name>John Eivind Hallén</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2009/2/11/er-reklame-pa-iphone-ok</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/9bWL6M0Zivk/shortcut-vokser" rel="alternate" />
    <title>Shortcut vokser</title>
    <content type="html">&lt;p&gt;Finanskrisen er for pyser. Vi ansetter i gode og dårlige tider, og nå er en ny Shortcutter på plass.&lt;/p&gt;&lt;p&gt;Ragnar Henriksen er blitt ansatt som Shortcutter № 6. Ragnar er en førsteklasses utvikler med solid erfaring innen betalingsløsninger, Ruby on Rails og iPhone-utvikling. Men først og fremst er Ragnar en sindig og hyggelig fyr med like sterke meninger om utviklingsmetodikk og brukervennlighet som oss andre. Vi ønsker Ragnar velkommen og gleder oss til å løse spennende oppgaver sammen i tiden fremover!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/9bWL6M0Zivk" height="1" width="1"/&gt;</content>
    <author>
      <name>August Zaitzow Flatby</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2009/2/9/shortcut-vokser</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/WkRXn2Pttjs/iphone-et-selvfolgelig-sted-for-arkitektstudenter" rel="alternate" />
    <title>iPhone, et selvfølgelig sted for arkitektstudenter</title>
    <content type="html">&lt;p&gt;I desember i fjor var jeg på Arkitekthøgskolen i Oslo (AHO) og snakket om iPhone-utvikling. Studentene hadde fått følgende oppgave: &lt;em&gt;«App Store har nådd 10.000 applikasjoner. Hva blir de 10.000 neste?»&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;At det er på arkitekthøgskolen man får i oppgave å tenke på hvordan et program på en mobiltelefon skal være, høres kanskje rart ut. Jeg skal prøve å forklare det slik jeg har forstått det. Om det er helt riktig forstått, vet jeg ikke, men jeg liker min forklaring.&lt;/p&gt;


	&lt;p&gt;Vi som jobber med interaksjonsdesign vet at å designe software er mer likt å designe dashbordet til en bil, enn et platecover. Det er mer likt knappene på et stereoanlegg, enn en filmplakat eller en logo. Dette fordi software skal kunne brukes i tillegg til å sees og forstås. Og derfor ligger vår design under industridesign.
&lt;br /&gt;&lt;img src="http://kunder.shortcut.no/shortcutting/industry.png" alt="" /&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å væ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, å lage en iPhone-applikasjon er mer likt å lage et hus enn en tegning.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Så hva med studentoppgavene?&lt;/strong&gt;&lt;br /&gt;Hans Gerhard Meier (lærer i interaksjonsdesign på &lt;span class="caps"&gt;AHO&lt;/span&gt;) skriver i en mail at det nå finnes noen veldig bra prototyper, etter innlevert oppgave. Så kanskje blir livene våre enklere eller morsommere fremover? Forhåpentligvis blir disse applikasjonene presentert på &lt;a href="http://www.iphonepool.com/"&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 å få realisert sine ideer. Men man kan ikke være redd for eierskapet til sin idé. Som Hans Gerhard selv sier under &lt;span class="caps"&gt;FAQ&lt;/span&gt;:
&lt;strong&gt;_«What if someone steals my idea? 
                 – If this is a concern, your at the wrong address»_&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;Det &lt;em&gt;jeg&lt;/em&gt; snakket om, da jeg besøkte Arkitekthøgskolen, var utfordringer vi i Shortcut har hatt med vår egen &lt;a href="http://products.shortcut.no/trafikanten"&gt;Trafikanten-applikasjon&lt;/a&gt;. Og hvilke muligheter vi har for videre utvikling. Om noen skulle være interessert kan hele Keynote-dokumentet &lt;a href="http://kunder.shortcut.no/shortcutting/trafikanten_presentasjon_aho.zip"&gt;lastes ned her&lt;/a&gt; (8,4 MB). (Her er &lt;a href="http://kunder.shortcut.no/shortcutting/trafikanten_presentasjon_aho.pdf"&gt;&lt;span class="caps"&gt;PDF&lt;/span&gt;&lt;/a&gt; (6,1 MB), for de som ikke har Keynote.)&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/WkRXn2Pttjs" height="1" width="1"/&gt;</content>
    <author>
      <name>John Eivind Hallén</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2009/2/8/iphone-et-selvfolgelig-sted-for-arkitektstudenter</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/yJCS-Be5P2g/fa-orden-pa-okonomien-kjop-en-iphone-app" rel="alternate" />
    <title>Få orden på økonomien, kjøp en iPhone App!</title>
    <content type="html">&lt;p&gt;For hundrede gang i mitt liv har jeg bestemt meg for å få orden på privatøkonomien min. Og med en iPhone i hånda, var første stopp på min rene sti, en ny app fra App Store: &lt;a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=287129922&amp;#38;mt=8"&gt;Pennies&lt;/a&gt;. Men tar den hensyn til småpenger?&lt;/p&gt;&lt;p&gt;Det finnes mange applikasjoner under &lt;em&gt;Finance&lt;/em&gt;-kategorien, og det nytter ikke å lese om eller teste alle, før man velger. Selv går jeg etter ikonet. Jepp, jeg har en sterk tro på at de som bryr seg om utseendet på sitt eget produkt, også bryr seg om innholdet, funksjonaliteten, stabiliteten osv.
&lt;br /&gt;&lt;img src="http://kunder.shortcut.no/shortcutting/pennies_1.png" alt="" /&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;Pennies var det første pene ikonet som vistes, og etter å ha skumlest litt om det, så jeg at det ikke bare støttet $, £ og €, men også &lt;em&gt;«some other currencies»&lt;/em&gt;. Jeg håpet på vår egen krone, lastet det ned og ble gledelig overrasket. Krona var prekonfigurert på min &lt;em&gt;norske&lt;/em&gt; iPhone. Og overraskelsen ble enda mer gledelig da budsjettene mine allerede var på minus. Jeg hadde allerede brukt penger.
&lt;br /&gt;&lt;img src="http://kunder.shortcut.no/shortcutting/pennies_2.png" alt="" /&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;Pennies hadde lagt inn at jeg i dag hadde brukt penger på programvare. Nemlig kjø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 å anbefale. Og om privatøkonomien fortsetter å være vannstyrt, ser den i hvert fall fin ut, der ute på det åpne havet&amp;#8230;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;Her er  &lt;a href="http://designbyaknife.com/pennies/"&gt;produktsiden Design by a Knife har laget&lt;/a&gt;!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/yJCS-Be5P2g" height="1" width="1"/&gt;</content>
    <author>
      <name>John Eivind Hallén</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2009/2/3/fa-orden-pa-okonomien-kjop-en-iphone-app</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/bPBJZqpNUYA/trafikanten-endelig-pa-app-store" rel="alternate" />
    <title>Trafikanten - endelig på 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="http://products.shortcut.no/trafikanten"&gt;Trafikanten på iPhone&lt;/a&gt;&lt;/p&gt;&lt;p style="float:right"&gt;&lt;img src="http://kunder.shortcut.no/shortcutting/trafikanten-departure.png" alt="" /&gt;&lt;/p&gt;


	&lt;p&gt;At vente på Apple&amp;#8217;s godkjenning er litt som at vente på nissen, bortsett fra at man ikke vet akkurat når han kommer, men igår blev Trafikanten på iPhone &lt;a href="http://products.shortcut.no/trafikanten/itms"&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årt at leve uten.&lt;/p&gt;


	&lt;p&gt;Trafikanten på iPhone versjon 1.0 er på mange må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å 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ærheten og muligheten at søke efter stasjoner. Dette er helt bevisst fra vår side og resultatet er det som finnes i versjon 1.0 er, i vår oppfattning, veldig bra. Fram for allt betyder det at vi kan få 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åper at Trafikanten er intressert i at fortsette utviklingen av Trafikanten på iPhone framover.&lt;/p&gt;


	&lt;p style="float:right"&gt;&lt;img src="http://kunder.shortcut.no/shortcutting/trafikanten-no1.png" alt="" /&gt;&lt;/p&gt;


	&lt;p&gt;Det tok mindre enn en dag førr den blev nummer 1 på toplista i den norske App Store og vi takker alle som har lagt inn anmeldelser i iTunes, sent oss mail og &lt;a href="http://search.twitter.com/search?q=trafikanten"&gt;kvittret&lt;/a&gt; om den, vi setter stor pris på alle slags tilbakemeldinger!&lt;/p&gt;


	&lt;p&gt;God jul!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/bPBJZqpNUYA" height="1" width="1"/&gt;</content>
    <author>
      <name>Johan Sørensen</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2008/12/19/trafikanten-endelig-pa-app-store</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/PVtGD_fSKPs/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="http://redclothcoderay.rubyforge.org/"&gt;Redcloth with Coderay&lt;/a&gt; utvider RedCloth med et enkelt syntaks for å legge til fargelagt kode (syntax highlighting på fagspråket) i RedCloth-dokumenter.&lt;/p&gt;&lt;p&gt;Et kort eksempel på 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="cool"&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="caps"&gt;CSS&lt;/span&gt; som ser omtrent &lt;a href="http://pastie.org/326079"&gt;slik&lt;/a&gt; ut):&lt;/p&gt;


	&lt;p&gt;&lt;img src="http://img.skitch.com/20081128-px8api79475g36g3hkgi17yn2p.png" alt="" /&gt;&lt;/p&gt;


	&lt;p&gt;Alt innholdet i &amp;lt;source&amp;gt;-taggene vil bli parset med kodefargeleggeren &lt;a href="http://rd.cycnus.de/coderay/"&gt;CodeRay&lt;/a&gt;. Den genererer en &lt;span class="caps"&gt;HTML&lt;/span&gt;-versjon av koden, med klasser du kan referere til i &lt;span class="caps"&gt;CSS&lt;/span&gt;-en din slik at du kan fargelegge  kodeeksemplene. Du kan også spesifisere hvilket språ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å &lt;a href="http://stuff.lilleaas.net/case_or_hash"&gt;denne siden&lt;/a&gt; for et eksempel på 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="http://redclothcoderay.rubyforge.org/"&gt;&lt;span class="caps"&gt;README&lt;/span&gt;-filen&lt;/a&gt; for en fullstendig guide i bruk og installasjon.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/PVtGD_fSKPs" height="1" width="1"/&gt;</content>
    <author>
      <name>August Lilleaas</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2008/11/28/rubygem-kodefargelegging-i-redcloth</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/iJcaVZ0LsOc/funksjonalitet-i-to-sekunder-pa-iphone" rel="alternate" />
    <title>Funksjonalitet i to sekunder på iPhone</title>
    <content type="html">&lt;p&gt;Under arbeidet med vår første &lt;a href="http://products.shortcut.no/trafikanten"&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øpet av de to sekundene applikasjonen åpnes.&lt;/p&gt;&lt;p&gt;En Splash Screen er skjermbildet som dukker opp når et program lastes/åpnes. Dette gjelder på datamaskinen din, Nintendo Wii-en din og på iPhone. Skal man lage en applikasjon for iPhone, skal man følgelig også lage denne velkomstskjermen. Men hvordan skal skjermen se ut?&lt;/p&gt;


	&lt;p&gt;En &lt;span class="caps"&gt;PNG&lt;/span&gt;-fil, med full iPhone-skjermstørrelse (320&amp;#215;480px) som skal hete Default, er det apple tillater/krever. Innholdet i den står vi fritt til å løse så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ør vi kom til en enighet internt. Det er nemlig to retninger man kan gå, for å lage en optimal splash screen.&lt;/p&gt;


	&lt;p&gt;Det er enklest å 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="http://shortcut.no/system/pictures/20/original/alt1_twitteriffic.png" alt="" /&gt;
&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;Iconfactory har alltid vært overlegne på design, og spesielt gode, deilige ikoner (naturligvis). Så at de ønsker å vise sin fine twitrefugl stort, er kanskje ikke overraskende. Denne fuglen er jo mer kjent som Twitter-ikon, enn Twitters eget. På denne måten får de også tydelig profilert seg selv, med navnet nederst.&lt;/p&gt;


	&lt;p&gt;&lt;em&gt;Vår kunne da se slik ut:&lt;/em&gt;
&lt;br /&gt;&lt;br /&gt;&lt;img src="http://shortcut.no/system/pictures/23/original/alt1_trafikanten.png" alt="" /&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="http://shortcut.no/system/pictures/22/original/alt2_twitterfon.png" alt="" /&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øsningen Apple selv anbefaler, og bruker på mange av sine preinstallerte applikasjoner.&lt;/p&gt;


	&lt;p&gt;&lt;em&gt;Slik ble vår versjon:&lt;/em&gt;
&lt;br /&gt;&lt;br /&gt;&lt;img src="http://shortcut.no/system/pictures/24/original/alt2_trafikanten.png" alt="" /&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år brukeren ut av Twitteriffic-fuglen? Ingenting, annet enn en bekreftelse på at programmet åpnes. Det gir faktisk en ganske god følelse å klikke på det lille applikasjonsikonet med en fugl, også kommer fuglen stort. Nesten animert.&lt;/p&gt;


	&lt;p&gt;Hva med TwitterFons lø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åten å gjøre det på.
Argumentet for: Funksjonaliteten til programmet, med knapper og faner, blir presentert så tidlig som mulig. Slik at brukeren kan forberede seg på hva hun/han ønsker å gjøre.
Argumentet mot: Å vise knapper, faner etc. som man ikke kan trykke på er i seg selv dårlig brukervennlighet. Det gir rett og slett en &lt;em&gt;broken&lt;/em&gt; følelse av å klikke på noe som ikke responderer.&lt;/p&gt;


	&lt;p&gt;En interessant artikkel det ble referert mye til under debatten var &lt;a href="http://daringfireball.net/2008/11/more_notes_on_notes"&gt;John Grubers Apple&amp;#8217;s Private &amp;#8216;Default.png&amp;#8217; Cheat&lt;/a&gt;.  Den ligger litt ned på siden, og er verdt å lese. (Den tar opp bl.a. en tredje splash screen-løsning som Apple selv kan benytte seg av. Men som er utilgjengelig for oss andre. Heldigvis, for det er ikke en særlig god lø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="http://shortcut.no/system/pictures/23/original/alt1_trafikanten.png" alt="" /&gt;
&lt;br /&gt;&lt;br /&gt;
Jeg var den hos oss som sterkest ønsket TwitterFons eksempel, med en tom applikasjon. Jeg så 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 én ting, på en helt ny plattform ingen av oss har særlig erfaring med, er nok dét det beste. Og det er jo sånn deres egne applikasjoner fungerer, så da vil opplevelsen være konsistent på brukerens iPhone.&lt;/p&gt;


	&lt;p&gt;Vi ble enige om å lage og teste begge deler, i håp om kanskje komme til en enighet når vi opplevde dette i praksis. Og det gjorde vi. Etter at jeg så hvordan overgangen fra den fargerike reklamevelkomstskjermen til ferdig installert applikasjon, opp mot den alternative overgangen, kastet jeg inn håndkle. Det fungerte rett og slett mye bedre og virket mer stabilt å ha et rent bilde, uten noe som indikerer funksjonalitet, som oppstart.&lt;/p&gt;


	&lt;p&gt;På denne måten fikk vi også vist frem Trafikantens logo med larven også. For det var det ikke plass til noe annet sted, noe jeg skal fortelle mer om i en kommende artikkel om &lt;a href="http://www.shortcut.no/blogg/2009/7/12/hvordan-skal-iphone-ikonet-ditt-se-ut"&gt;hvordan iPhone-ikonet bør se ut?&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Så Apple tok feil?&lt;/strong&gt;&lt;br /&gt;
Jeg tror ikke det. Jeg tror de har jobbet masse med måten å gjøre dette på, og kommet til en riktig konklusjon. For dem, og deres applikasjoner. I vår Trafikanten-app. ønsket vi å gjøre listen over sist besøkte stoppesteder (som er siden du kommer inn på i programmet) litt tøff, og litt designet. Så det jeg opplevde i vår interne test, var at en tom liste til en full grafisk liste, ble en like stor forandring som fra den blå 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="http://shortcut.no/system/pictures/21/original/sistbrukte_trafikanten.png" alt="" /&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øyd mark. Er det ikke?&lt;/p&gt;


	&lt;p&gt;&lt;em&gt;PS: Registrer deg på &lt;a href="http://products.shortcut.no/trafikanten"&gt;produktsiden vår&lt;/a&gt;, så får du gratis &lt;span class="caps"&gt;SMS&lt;/span&gt; rett til din iPhone når Trafikanten ligger tilgjengelig i App Store.&lt;/em&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/iJcaVZ0LsOc" height="1" width="1"/&gt;</content>
    <author>
      <name>John Eivind Hallén</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2008/11/28/funksjonalitet-i-to-sekunder-pa-iphone</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/uL7vlq7LtOk/trikk-moter-iphone-det-beste-fra-to-mobile-verdener" rel="alternate" />
    <title>Trikk møter iPhone! Det beste fra to mobile verdener!</title>
    <content type="html">&lt;p&gt;Vi i Shortcut lager gode weblø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øre Trafikantens  sanntids ruteinformasjon tilgjengelig for enda flere reisende. Vi har laget &lt;a href="http://products.shortcut.no/trafikanten"&gt;vår første iPhone-applikasjon.&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Som vi nylig skrev om &lt;a href="http://www.shortcut.no/blog/2008/11/25/shortcut-shopper"&gt;intensiverer vi vår mobilsatsing&lt;/a&gt; med Apparats mobilplatform. I tillegg til uante &lt;span class="caps"&gt;SMS&lt;/span&gt;- og &lt;span class="caps"&gt;MMS&lt;/span&gt;-muligheter, ønsker vi også å kunne tilby den gode brukeropplevelsen direkte på brukernes mobil/håndholdte. Og først ut er vi med en applikasjon skreddersydd for iPhone. Noe som også har fått &lt;a href="http://digi.no/php/art.php?id=795571"&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å den måten kan man kjapt og enkelt finne ut når neste avgang går.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Avhengig&lt;/strong&gt;&lt;br /&gt;
Selv har jeg allerede rukket å bli avhengig av Trafikanten på iPhone. Hver morgen, når jeg sitter på kaffebar og prøver å våkne, kan jeg se hvor lenge det er til neste avgang. Selv om holdeplassen er bortgjemt, rundt et hjørne.&lt;/p&gt;


	&lt;p&gt;Ennå er ikke Trafikanten på iPhone tilgjengelig i App Store. Men vi er i siste testfase nå, og regner med å kunne lansere dette produktet innen kort tid. Og gleder oss til å komme med flere smarte, enkle løsninger for iPhone og andre mobile enheter.&lt;/p&gt;


	&lt;p&gt;Les mer på &lt;a href="http://products.shortcut.no/trafikanten"&gt;produktets egen side&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/uL7vlq7LtOk" height="1" width="1"/&gt;</content>
    <author>
      <name>John Eivind Hallén</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2008/11/26/trikk-moter-iphone-det-beste-fra-to-mobile-verdener</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/VIiyZyOiZdk/shortcut-kjoper-mobilselskap" rel="alternate" />
    <title>Shortcut kjøper mobilselskap</title>
    <content type="html">&lt;p&gt;Shortcut intensiverer satsingen på mobil ved å kjøpe selskapet bak Norges smidigste mobilplattform.&lt;/p&gt;&lt;p&gt;Shortcut har akkurat kjøpt mobilplattformselskapet Apparat AS. Apparat ble startet i 2006, med ambisjon om å utvikle markedets smidigste mobilplattform i Ruby on Rails. Shortcut har som visjon å bli ledende på utvikling innen både web og mobil, og dermed var synergiene tilstede.&lt;/p&gt;


	&lt;p&gt;Vi ser nå frem til å kunne tilby kundene våre komplette løsninger både for web og mobil. Vår erfaring med mobile tjenester er at man oppnår best resultater når man har tette relasjoner med mobiloperatørene, og dette får vi gjennom vårt eierskap i Apparat, da Apparat eier kortnummer 2210 og har direkteavtaler med alle norske mobiloperatø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åde innkommende og utgående &lt;span class="caps"&gt;SMS&lt;/span&gt; og &lt;span class="caps"&gt;MMS&lt;/span&gt; i våre løsninger. Videre har vi mulighet til å lage betalingsløsninger hvor sluttbrukere kan betale for tjenester via mobilregningen. Dette gjø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="caps"&gt;USA&lt;/span&gt;. Obama benyttet mobilteknologi både for å skaffe til veie penger via mobile donasjoner, og for å spre bevissthet om valget til yngre velgere via “Bring out the vote”-kampanjer på &lt;span class="caps"&gt;SMS&lt;/span&gt;. Shortcut eier nå tilsvarende teknologi, og vi hjelper gjerne våre kunder med en ny Obama-kampanje!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/VIiyZyOiZdk" height="1" width="1"/&gt;</content>
    <author>
      <name>August Zaitzow Flatby</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2008/11/25/shortcut-kjoper-mobilselskap</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/zR2cQ7idDbc/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 økende tilhengerskare. Det har blitt så normalisert at selv de som hevder å følge &lt;a href="http://agilemanifesto.org/principles.html"&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;«Hva det betyr er: Slutt på planlegging. Slutt på dokumentasjon. Bare begynn rett på kodeskrivingen og klagingen.»&lt;/em&gt;&lt;/p&gt;


	&lt;p&gt;&lt;br /&gt;
På &lt;a href="http://smidig.no/smidig2008/"&gt;Smidig 2008-konferansen&lt;/a&gt; tidligere i høst, møtte det opp over 400 deltagere. Nesten en fordobling fra året før. Men det var først nå på tirsdag, en måned etter konferansen, jeg forstod hvor normalt det har blitt å snakke om smidig utvikling.&lt;/p&gt;


	&lt;p&gt;Jeg leste om det i VG, i tegneserieseksjonen. Det var Dilberts overordnede som innførte &lt;em&gt;agile programvareutvikling&lt;/em&gt;. Så nå kan Dilbert og hans kolleger glede seg over å slippe fossefall og spesifikasjoner. Og jeg fikk et påskudd for å vise en tegneserie i bloggen vår:&lt;/p&gt;


	&lt;p&gt;&lt;br /&gt;&lt;img src="http://kunder.shortcut.no/shortcutting/dilbert_20081118.png" alt="" /&gt;
&lt;br /&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/zR2cQ7idDbc" height="1" width="1"/&gt;</content>
    <author>
      <name>John Eivind Hallén</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2008/11/20/har-smidig-utvikling-endelig-blitt-stuerent</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/7ych3Ed4Ffo/hvor-mange-triks-kan-man-egentlig-lare-en-gammel-hund" rel="alternate" />
    <title>Hvor mange triks kan man egentlig lære en gammel hund? </title>
    <content type="html">&lt;p&gt;Det er ingen tvil om at iPhone har sørget for at horder av utviklere har lært seg teknologiene som ble utviklet i &lt;a href="http://en.wikipedia.org/wiki/NeXT"&gt;NeXT&lt;/a&gt; &amp;#8211; Cocoa og Objective-C rundt 1990. For å kunne lage programmer som kjører på iPhone må man lære seg programmeringsspråket Objective-C, og rammeverkene som finnes på iPhone ligner såpass mye på Cocoa, som Mac-programmer er laget i, at antallet utviklere av rene Mac-applikasjoner nok har økt stort det siste å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å godt, ved at de hjelper utvikleren å lage avanserte og brukervennlige applikasjoner. Det at man kan bruke dette også på iPhone gir iPhone et forsprang konkurrerende mobilplattformer vil bruke lang tid på å ta igjen. I tillegg til Ruby on Rails er det få rammeverk jeg har sett gi abstraksjoner på riktig nivå i like stor grad som Cocoa.&lt;/p&gt;


	&lt;p&gt;Mitt problem er språket.&lt;/p&gt;


	&lt;p&gt;For å utvikle programmer på iPhone bruker man altså &lt;a href="http://en.wikipedia.org/wiki/Objective-C"&gt;Objective-C&lt;/a&gt;. Objective-C er sterkt inspirert av Smalltalk, og slik sett et rendyrket objektorientert språk. Og dette er kanskje interessant: Smalltalk var det Steve Jobs så da han besøkte Xeroc &lt;span class="caps"&gt;PARC&lt;/span&gt; på syttitallet; da han oppdaget grafiske brukergrensesnitt, mus og vinduer &amp;#8211; det vi alle bruker idag. Smalltalk var også det Apples Lisa kjørte. Smalltalk hadde imidlertid et stort problem på den tida, nemlig at det var gudsjammerlig treigt på datidens maskinvare.&lt;/p&gt;


	&lt;p&gt;Objective-C, derimot, er basert på 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å mye, mye raskere og på sett og vis mer pragmatisk ved at man kan bruke C og C++-kode i Objective C-prosjektet sitt. Objective-C har noen åpenbare språklige vorter; firkantklammer og peker-asterikser reduserer lesbarheten, men dette føles på sett og vis bare herlig pragmatisk og er noe man slutter å irritere seg over etterhvert. Så også muligens med disse .h-filene man er nødt til å lage.&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://www.macresearch.org/cocoa-scientists-part-xxvii-getting-closure-objective-c"&gt;Nå har åpenbart tiden kommet for å legge til støtte for blokker i Objective-C&lt;/a&gt;. Og her begynner man å se mer av fundamentene Objective-C er bygget på enn jeg liker. Apple foreslår å bruke caret (^) for å definere blokker i C, og her snakker vi om en språklig mutant av dimensjoner:&lt;/p&gt;


&lt;pre name="code" class="c"&gt;
void EvalFuncOnGrid( float(^block)(float) ) {
    int i;
    for ( i = 0; i &amp;lt; 5 ; ++i ) {
        float x = i * 0.1;
        printf("%f %f", 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øy som kan være vanskelig å forstå. Den beste beskrivelsen jeg har hørt er at det er som å gi metodene dine en ekstra lunge. Ruby bruker kodeblokker til en rekke ting, ofte for å gi en eller annen form for transaksjonsstøtte rundt en operasjon. I funksjonelle språk er konstrukter som tilsvarer kodeblokker de mest grunnleggende byggeklossene i et hvilket som helst program. Smalltalk bruker dem i mye større grad, blant annet fordi Smalltalk mangler nøkkelord som if, else og while:&lt;/p&gt;


&lt;pre name="code" class="smalltalk"&gt;
(theEconomy isInRecession) 
   whileTrue: ['Strange' printString]
   whileFalse: ['Not so strange' printString]
&lt;/pre&gt;

	&lt;p&gt;I Smalltalk, som altså er den største inspirasjonen til Objective-C, er altså blokker helt grunnleggende; det er helt umulig å lage et Smalltalkprogram uten dem. Når Objective-C nå har klart seg i tjue år uten er det i en merkelig forkledning Apple ser ut til å introdusere dem i språket, og jeg tror det vil ta lang tid før utviklere føler seg bekvem med å bruke dem i programmene sine.&lt;/p&gt;


	&lt;p&gt;Kanskje denne hunden har lært de triksene den kan?&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/7ych3Ed4Ffo" height="1" width="1"/&gt;</content>
    <author>
      <name>Marius Mårnes Mathiesen</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2008/10/28/hvor-mange-triks-kan-man-egentlig-lare-en-gammel-hund</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/EDSmMLc4klM/overrumplet-av-et-iphone-bokmerkeikon" rel="alternate" />
    <title>Overrumplet av et iPhone-bokmerkeikon</title>
    <content type="html">&lt;p&gt;Ikonene på iPhone-skrivebordet mitt graderer jeg til tre nivåer. De viktigste får plass i docken nederst, andreplassen går til den første skrivebordsskjermen og resten ligger tilfeldig på de neste skrivebordene. Og nå nylig dukket det opp et ikon som klarte å presse seg lenger opp enn først planlagt: 37 Signals’ Campfire-ikon.&lt;/p&gt;&lt;p&gt;Etter å ha hatt iPhone i snart to måneder, har det dukket opp stadige flere ikoner på de tre-fire skrivebordene jeg har: de opprinnelige (hvorav flere jeg ønsker å 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å skrivebordet. Det var den smarte webapplikasjonen Campfire som jeg tenkte kunne være greit å ha rask tilgang til. Og jeg ble veldig overrasket da ikonet dukket opp på skjermen. Slik så det nemlig ut:&lt;/p&gt;


	&lt;p&gt;&lt;img src="http://shortcut.no/system/pictures/26/original/iphone_campfire.png" alt="" /&gt;&lt;/p&gt;


	&lt;p&gt;37 Signals hadde laget et &lt;em&gt;eget&lt;/em&gt; ikon for løsningen sin, noe som er både vanlig og fint. Det gir en god iPhone-opplevelse. Men det som hadde skjedd her var enda smartere enn som så. Ikonet deres hadde samme utforming som Apples egne kommunikasjonsprogrammer, Tekstmelding og Telefon: hvitt på grønt, uten andre effekter eller detaljer enn det iPhone-en legger til selv (refleksjon, runde hjø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="http://shortcut.no/system/pictures/25/original/campfire_icon.png" alt="" /&gt;&lt;/p&gt;


	&lt;p&gt;Og &lt;em&gt;denne&lt;/em&gt; utformingen (himmelhvelving med grønt gress og ett objektet) har alle de andre 37 Signals-produktene. Så hvorfor gjøre det annerledes på iPhone? Jeg tror de helt bevisst har kopiert utformingen til Apple av to årsaker:&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Årsak én:&lt;/strong&gt; Campfire er et chatteprogram, designet for flere brukere samtidig. f.eks. en arbeidsgruppe. (Tidligere har jeg sitert &lt;a href="http://www.shortcut.no/blog/2008/7/25/37signals--colorpicker--getting-real-og----shortcut"&gt;en samtale vi hadde i Campfire&lt;/a&gt; .) Og siden Campfire handler om kommunikasjon, er det vel smart å ligne på &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åre utviklere) kan det jo hende at det kommuniseres underbevisst.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Årsak to:&lt;/strong&gt; Hvordan unngå at et slikt snarveisikon ikke blir sortert lengst bak i køen? Én løsning kan være å gjøre det så fint og kult, at man ønsker å ha det fremme. En annen kan være å gjøre fristelsen til å plassere det nede i docken, altfor stor. Og for meg ble det &lt;em&gt;for&lt;/em&gt; fristende. Kalenderen min røyk og Campfire fikk toppnivåplass.&lt;/p&gt;


	&lt;p&gt;Så nå skulle jeg nesten ønske at mailprogrammet også var grønt, men da ville jeg kanskje gått lei?&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/EDSmMLc4klM" height="1" width="1"/&gt;</content>
    <author>
      <name>John Eivind Hallén</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2008/9/19/overrumplet-av-et-iphone-bokmerkeikon</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/4BsHvgozDac/gratulerer-yr" rel="alternate" />
    <title>Gratulerer Yr!</title>
    <content type="html">&lt;p&gt;Før snakket alle om været. Men det siste året har vi sendt hverandre linker til &lt;a href="http://www.yr.no/"&gt;yr.no&lt;/a&gt; i stedet. Ett år har gått siden yr.no ble lansert, uten brask og bram. La oss håpe at feiringen i hvert fall vil ha litt brask og litt bram. Det hadde vært velfortjent.&lt;/p&gt;&lt;p&gt;19. september 2007 ble &lt;a href="http://www.yr.no/"&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æret&lt;/em&gt;, visste vi. Men at alle også ville &lt;em&gt;surfe etter det&lt;/em&gt;, dét visste vi ikke.&lt;/p&gt;


	&lt;p&gt;Men med en så god løsning som yr.no har blitt, er ikke det rart. Det er gøy å se været de nærmeste dagene i animert form, styrt med musa. Det er praktisk å kunne sjekke været før du drar på ferie, uansett hvor i verden du drar. Egen personlig forside, mulighet til å 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="caps"&gt;NRK&lt;/span&gt; (som står bak yr.no) har i tillegg gjort en kjempegod jobb med å tilgjengeliggjøre dataene for alle som tør ta utfordringen om å lage en bedre løsning selv. De som har lyst til å lage en værtjeneste skreddersydd for sin hjemmeside, en widget, et program til sin mobiltelefon eller hva det skulle være, ønskes hjertelig velkommen. Les mer på &lt;a href="http://www.yr.no/verdata/"&gt;yr.no/verdata.&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;«Fra og med 1. september 2007 er alle norske meteorologiske data gratis for alle. Null-prispolitikken gjør at kommersielle værleverandører kan bruke ressursene på annet enn datakjøp. For ’Hvermansen’ betyr frislippet bedre værtjenester på Internett.» skriver de på 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 å bli plukket opp av oss alle&amp;#8230; Vi gleder oss til å se hva folk kan komme opp med, og vi er spente på hvordan Yr vil utvikle seg fremover. Men mest av alt er vi bare feststemte og ønsker Yr en super bursdagsfeiring!&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Grattis igjen!&lt;/strong&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/4BsHvgozDac" height="1" width="1"/&gt;</content>
    <author>
      <name>John Eivind Hallén</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2008/9/17/gratulerer-yr</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/WrThzHZo4Tg/produktplassert-sammen-med-apple" rel="alternate" />
    <title>Produktplassert sammen med Apple</title>
    <content type="html">&lt;p&gt;Den fantastiske Pixar-filmen Wall·E har fått endel pepper på grunn av produktplassering. (Selv synes jeg reklamene &lt;em&gt;før filmen&lt;/em&gt;, direkte rettet mot barn, var mye verre.) Men da jeg fikk se Shortcuts tøffe og originale logoplassering på storskjerm på Colosseum, glemte jeg alt og bare nøt robotromansen.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.dagbladet.no/kultur/2008/08/25/544709.html"&gt;&lt;em&gt;«Er denne nusselige roboten egentlig en iPod? Produktplassering på et nytt nivå.»&lt;/em&gt;&lt;/a&gt; skriver Dagbladet, både før- og etterfulgt av hele verdens presse.  Det er kanskje kritikkverdig at Apple-designeren Jonathan Ives har vært med å tegne Pixar-roboten Eve. (Begge selskap har som kjent felles eiere og interesser.) Eve ser ut som en iPhone, samtidig som Wall·E ser &lt;span class="caps"&gt;VHS&lt;/span&gt;-film på sin iPod. Men &lt;em&gt;Shortcuts&lt;/em&gt; lille produktplassering har fått stå helt uoppdaget og ukritisert. På godt og vondt.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Tøff tatovering&lt;/strong&gt;&lt;br /&gt;
Tidligere har vi vært med å &lt;a href="http://jaoo.dk/ruby-oslo-2008/sponsors/"&gt;sponse konferanser&lt;/a&gt; som omhandler vår favoritteknologi for tiden: &lt;em&gt;Ruby&lt;/em&gt; og &lt;em&gt;Ruby on Rails&lt;/em&gt;, uten å høste altfor mye oppmerksomhet. Men vi trodde virkelig det skulle bli litt blest rundt vår sponsing av Pixar-blockbusteren. Men nei. Det kan virke som om ingen har lagt merke til vår lille annonsering. Så derfor kryper vi til korset, er ærlige og innrømmer at det er vi som tatoverte Wall·E.&lt;/p&gt;


	&lt;p&gt;På begge armene kan man tydelig se våre karakteristiske Shortcut-striper. Noe både vi, Pixar-teamet og Jonathan Ives syntes kledde Wall·E godt. Og vi skal ikke se bort ifra at Eve også synes det er tø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="http://kunder.shortcut.no/shortcutting/walle_flexing.png" alt="" /&gt;&lt;br /&gt;
Wall·E flexer og viser stolt frem tatoveringen.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;
&lt;img src="http://kunder.shortcut.no/shortcutting/walle_toy.png" alt="" /&gt;&lt;br /&gt;
Slik han ser ut på kontoret vårt om dagen, like tøff.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;
&lt;img src="http://kunder.shortcut.no/shortcutting/walle_dreamer.png" alt="" /&gt;&lt;br /&gt;
Men Wall·E er og blir en drømmer og en romantiker. Og godt er det.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/WrThzHZo4Tg" height="1" width="1"/&gt;</content>
    <author>
      <name>John Eivind Hallén</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2008/9/12/produktplassert-sammen-med-apple</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/t5EAPdOP1yE/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 –sammensetning. Og det med rette. Men i dag, hvor bruken av sammensatte ord oftere er gal enn korrekt, er det blitt rom for å vise frem de få som gjør det riktig, og som gjør det godt.&lt;/p&gt;&lt;p&gt;&lt;a href="http://folk.uio.no/tfredvik/amo/"&gt;Astronomer mot orddeling&lt;/a&gt; heter en gruppe som har gjort seg bemerket med å finne slike orddelingsfeil. På siden deres kan man finne mange gode og morsomme eksempler. Og den er verdt å ta en titt på. For det gjøres mye feil. Overalt, hele tiden.&lt;/p&gt;


	&lt;p&gt;Kanskje er det mest på grunn av altfor enkle skriveprogram med altfor dårlig ordretting eller dårlige tegnsettere i dagspressen eller at det ikke finnes sekretæ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ålet er at alle skal lære seg (de svært enkle) reglene og slutte å gjøre feil, er det kanskje mer effektivt å vise eksempler på korrekt bruk? Dette tenker jeg, hver dag til og fra jobb, når jeg går jeg forbi &lt;em&gt;Servicesenter for utenlandske arbeidstakere&lt;/em&gt; som ligger på Tø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ør det helt perfekt:&lt;/p&gt;


	&lt;p&gt;&lt;img src="http://shortcut.no/system/pictures/27/original/service_no.png" alt="" /&gt;&lt;/p&gt;


	&lt;p&gt;Selvfølgelig er noe av årsaken til at vi ikke lenger klarer å sette sammen ord på norsk, all den engelsken vi leser og skriver hver dag. For vi har ikke sammensatte ord på 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ære store bokstaver i overskrifter? På norsk er det bare første bokstaven i en overskrift eller tittel (og egennavn, selvfølgelig). På engelsk er det første bokstav i hvert ord (med noen unntak, artikler ol.). Men i tillegg til orddelingene gjøres det mange, mange feil her òg.&lt;/p&gt;


	&lt;p&gt;Så hva da med dette senteret jeg går forbi? De må jo forholde seg til engelsk, siden de er for utlendinger. Og det gjør de, like feilfritt som på norsk. Man blir glad av slikt. Se bare:&lt;/p&gt;


	&lt;p&gt;&lt;img src="http://shortcut.no/system/pictures/28/original/service_eng.png" alt="" /&gt;&lt;/p&gt;


	&lt;p&gt;Lurer du noengang på hvordan det skal gjøres, se på disse to eksemplene. De er som tatt ut av en lærebok. Og husk: Disse reglene er minst like viktig for oss som jobber med web. Våre tekster vises ikke bare ett sted, én gang. De blir liggende i arkiver, sendes ut som &lt;span class="caps"&gt;RSS&lt;/span&gt;, XML-es til &lt;span class="caps"&gt;PDF&lt;/span&gt;-er, &lt;em&gt;cuttes og pastes&lt;/em&gt; inn i årsrapporter osv. osv. (Så les gjerne gjennom før du publiserer.)&lt;/p&gt;


	&lt;p&gt;Og for all del, prøv å legge merke til de som gjør det korrekt, i stedet for å 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="http://ikkepedia.org/wiki/Ord_deling"&gt;Ikkepedia om orddeling&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://korrekturavdelingen.no/K4ForbokstavStorLiten.htm"&gt;Korrekturavdelingen om stor forbokstav&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/t5EAPdOP1yE" height="1" width="1"/&gt;</content>
    <author>
      <name>John Eivind Hallén</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2008/9/11/la-oss-skryte-av-korrekte-ordsammensetninger</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/m9WPzP64nN4/kommuniser-med-http" rel="alternate" />
    <title>Kommuniser med HTTP</title>
    <content type="html">&lt;p&gt;Rails har nå endelig fått støtte for bruk av ETags for å avgjøre om innhold har endret seg eller ikke. ETags er eldgammel teknologi; som så mange ting er det først nå vi begynner å forstå hvor nyttig &lt;span class="caps"&gt;HTTP&lt;/span&gt;-standarden faktisk er.&lt;/p&gt;&lt;p&gt;ETags &lt;a href="http://en.wikipedia.org/wiki/HTTP_ETag"&gt;er en ganske enkel måte&lt;/a&gt; en &lt;span class="caps"&gt;HTTP&lt;/span&gt;-klient og &lt;span class="caps"&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="caps"&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="caps"&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 å unikt identifisere dette innholdet, som regel en sjekksum. Sammen med dataene den sender tilbake til klienten sender den denne sjekksummen som &lt;span class="caps"&gt;HTTP&lt;/span&gt;-headeren &lt;code&gt;ETag&lt;/code&gt;&lt;/li&gt;
		&lt;li&gt;&lt;span class="caps"&gt;HTTP&lt;/span&gt;-klienten &amp;#8220;husker&amp;#8221; denne sjekksummen, og sender den med tilbake til serveren neste gang den spør om samme ressurs, denne gangen som &lt;span class="caps"&gt;HTTP&lt;/span&gt;-headeren &lt;code&gt;If-None-Match&lt;/code&gt;. På denne må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="caps"&gt;HTTP&lt;/span&gt;-serveren henter ut ressursen på samme måte som før, og genererer samme sjekksum. Deretter sjekker den om sjekksummen klienten sendte er den samme som sjekksummen innholdet har nå. Hvis innholdet har endret seg sender serveren innholdet på samme måte som fø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="caps"&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="caps"&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ør ikke alltid lasten på serveren mindre. I noen tilfeller, for eksempel når man har en &lt;span class="caps"&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 å lese inn fila. I andre tilfeller må serveren faktisk hente innholdet og beregne sjekksummen på nytt, noe som gir omtrent samme belastning på serveren som før.&lt;/p&gt;


	&lt;p&gt;Imidlertid er det to andre faktorer som spiller inn: tiden det tar å transportere selve dataene tilbake over nettet og tiden det tar for klienten å tolke innholdet. Det tar tid å parse &lt;span class="caps"&gt;HTML&lt;/span&gt;, det tar tid å parse &lt;span class="caps"&gt;CSS&lt;/span&gt;, det tar tid å parse &lt;span class="caps"&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 å avgjø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="caps"&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ørste gang klienten spø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å dette tidspunktet inntil den skal hente meldinger igjen&lt;/li&gt;
		&lt;li&gt;Når klienten fem minutter seinere sjekker etter nye meldinger sender den &lt;span class="caps"&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å 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ø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 å avgjø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="caps"&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ø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øttet If-Modified-Since-headeren kunne en &lt;span class="caps"&gt;API&lt;/span&gt;-klient spurt etter nye meldinger siden et gitt tidspunkt. Serveren kunne så hatt en kolonne i sitt User-objekt som holder rede på sist en ny melding ble mottatt. Ved hjelp at en enkelt &lt;span class="caps"&gt;SQL&lt;/span&gt;-spørring kunne serveren så avgjort om den kan sende en &lt;code&gt;304 Not Modified&lt;/code&gt; eller om den må 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="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html"&gt;&lt;span class="caps"&gt;HTTP&lt;/span&gt;-spesifikasjonen&lt;/a&gt; har en egen header til dette formålet: &lt;code&gt;If-Range&lt;/code&gt;. Med &lt;code&gt;If-Range&lt;/code&gt; kan man angi både en ETag og en dato. På denne må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="http://ryandaigle.com/articles/2008/8/14/what-s-new-in-edge-rails-simpler-conditional-get-support-etags"&gt;Rails har fått støtte for ETags&lt;/a&gt;, men dette er bare begynnelsen. &lt;span class="caps"&gt;HTTP&lt;/span&gt;-spesifikasjonen ble plutselig langt mer interessant lesning enn jeg hadde tenkt meg.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/m9WPzP64nN4" height="1" width="1"/&gt;</content>
    <author>
      <name>Marius Mårnes Mathiesen</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2008/9/11/kommuniser-med-http</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/Rzm0ZUWjnzA/rails-tips-virtuelle-attributter" rel="alternate" />
    <title>Rails-tips: virtuelle attributter</title>
    <content type="html">&lt;p&gt;Noen ganger ønsker du å vise felter i et skjema som ikke direkte korresponderer med felter i databasen. Her er et tips på hvordan du kan gjøre dette på en mer elegant må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år du viser kunden websida for brukerregistrering protesterer de imidlertid på at det er to felter; det blir for mye tabbing etter deres smak. Du vurderer å migrere dataene dine til å ha et felt for name istedet for de to feltene du har, men det finnes en enklere løsning.&lt;/p&gt;


	&lt;p&gt;Først lager du to metoder i User-klassen din: en getter og en setter for navn:&lt;/p&gt;


&lt;pre name="code" class="ruby"&gt;
class User
  def name
    [first_name, last_name].join(" ")
  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 å 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="code" class="ruby"&gt;
john = User.new(:name =&amp;gt; "John Doe")
jane.update_attributes(:name =&amp;gt; "Jane Doe")
&lt;/pre&gt;

	&lt;p&gt;Grunnen til at dette fungerer er måten Rails fungerer på. For hvert nø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; "John Doe")&lt;/code&gt; vil metoden &lt;code&gt;name=&lt;/code&gt; kalles med parameteret &lt;code&gt;"John Doe"&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="code" class="ruby"&gt;
def create
  @user = User.new(params[:user])
  if @user.save
    redirect_to "/" 
  else
    render :action =&amp;gt; "new" 
  end
end
&lt;/pre&gt;

	&lt;p&gt;Hvis du har et form som ser slik ut:&lt;/p&gt;


&lt;pre name="code" class="html"&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="code" class="ruby"&gt;
  user =&amp;gt; {:name =&amp;gt; "Jon Hansen"}
&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 ønsker.&lt;/p&gt;


	&lt;p&gt;Et mer konstruert eksempel kan være om du har en User-klasse og en Mood-klasse. Hver User har et humør (Mood), som representerer et humør denne brukeren har nå; la oss si at du ønsker å kunne finne et humør (&lt;code&gt;Mood.find_by_name 'Tired'&lt;/code&gt;) og finne alle brukere som har dette humøret. Om du skriver noe som:&lt;/p&gt;


&lt;pre name="code" class="ruby"&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øtter dette. Men selv om du nå har en egen modell for alle humørene ønsker du ikke at brukeren må gå inn på en egen side for å lage nye humører, du ønsker bare at brukeren skal kunne skrive inn en tekst i et tekstfelt, og så blir det riktige humøret funnet eller opprettet:&lt;/p&gt;


&lt;pre name="code" class="ruby"&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å lage eller hente et Mood-objekt basert på en tekstverdi. Og for å la brukeren skrive inn en tekst på profilsida si for å angi humør kan du bare bruke:&lt;/p&gt;


&lt;pre name="code" class="html"&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;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/Rzm0ZUWjnzA" height="1" width="1"/&gt;</content>
    <author>
      <name>Marius Mårnes Mathiesen</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2008/7/30/rails-tips-virtuelle-attributter</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/4LT41TIkdzo/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 å laste ner tredjeparts applikasjoner via iTunes.&lt;/p&gt;


	&lt;p&gt;Desverre virker det være litt for mye guld-feber syndrom over mange av de applikasjoner som er til salgs; de tilbyr egentligen ikke noe som er værdt så veldig mye.&lt;/p&gt;&lt;p&gt;For Ruby var katalysatorn uten tvivel Rails. Vi så muligheterne Ruby gav oss, i begynnelsen på en mer indirekte måte gjennom at det hjalp oss til å bli mer produktive. Men efter en stund inser vi styrken i Ruby og det er da vi virkelig få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å&lt;/em&gt; kunne skalere inn i himmelen har fått folk til å få opp ø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 å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ådan katalysator er &lt;em&gt;muligheten&lt;/em&gt; for folk at tjene penger på den.&lt;/p&gt;


	&lt;p&gt;Akkurat nå virker det som at Cocoa på iPhonen er akkurat den teknologin, Objective-C sammen med Cocoa er &lt;a href="http://shortcut.no/blog/2008/7/4/mvc-kan-vare-sa-mangt"&gt;virkelig fine ting&lt;/a&gt;:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Kul teknologi, med mange år på nakken som gir et komplett oppsett med løsninger på domene-spesifike problemer (Cocoa)&lt;/li&gt;
		&lt;li&gt;Kul dings som gir forbrukeren &amp;#8220;vil ha&amp;#8221; fø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øsninger på problem som er relativt spesifike for &lt;span class="caps"&gt;GUI&lt;/span&gt; applikasjoner og sammen med språket Objective-C gir det samme følelsen av produktivitet som Rails gir oss. For en teknolog som mig er det nok dette som gjø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år folk til å stå tidligt opp om morgonen for at stille sig i kø utenfor butikken i håpet om at få kjøpt sig en iPhone idag, eller dele tvivelen (og rykten) med andre om hvorvitt butikken faktiskt har fått inn de på 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å dette. Men med &lt;a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewGenre?id=36&amp;#38;mt=8"&gt;iTunes App Store&lt;/a&gt; å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å 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å. Ser man i &amp;#8220;productivity&amp;#8221; seksjonen ser man ikke helt uventet minst 35 forskjellige todo-liste eller &lt;span class="caps"&gt;GTD&lt;/span&gt; applikasjoner. Grunnen til det er nok at todo-list-applikasjonen er på 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år plass der. For at ikke snakke om kjedelige twitter-klienter, dåligt lagde pusselspil, poker eller kanskje den beste av de alle: &lt;a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=284911691&amp;#38;mt=8"&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å hå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="caps"&gt;RSS&lt;/span&gt; lesere. En sån har jeg allerede. Jeg ser spesiellt på dere alle norges aviser, ikke begynn med det mest åpenbare dere kan komme på. Dra den litt lengre så at applikasjonen faktiskt drar nytte av muligheterne som gis. Jeg har all respekt for den tiden det tar å lage noe, for den er alltid større enn man tror og selvsagt skal der være plass til den lille utvikleren med den lille idéen (for de kan være like mye vært som de store), men tenk iaf efter en gang for du lager noe (og ikke minst prøver å 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ørr, men likevel: lag noe som faktiskt bruker de muligheter iPhonen gir dig som utvikler; &lt;span class="caps"&gt;GPS&lt;/span&gt;, trykkfø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;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/4LT41TIkdzo" height="1" width="1"/&gt;</content>
    <author>
      <name>Johan Sørensen</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2008/7/29/all-teknologi-trenger-en-katalysator-og-litt-guldfeber</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/dZ8k-ucvj_Y/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="http://www.37signals.com/svn/posts/1154-new-color-picker-in-basecamp"&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="http://www.37signals.com/"&gt;37Signals&lt;/a&gt; og deres metoder og produkter. Og selv om vi er plassert forskjellige steder (Råduhsgaten, ute hos kunder og én i Buenos Aires), går dialogen fritt&amp;#8230; takket være 37Signals&amp;#8217; program &lt;a href="http://www.campfirenow.com/"&gt;Campfire&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;
Så, i kjent 37Signals-stil er det gøy å dele vår synsing og dialog med dere. Kom gjerne med kommentarer nederst på 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ø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å, ja
ser ikke for meg at det var markedsfø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å å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ør vi&amp;#8221;, men jeg irriterer mig på 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øpere setter opp digre matriser der de sammenligner hva X, Y og Z kan gjø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år for
men jeg mener at gettingreal blir som en slags unnskylding når folk kommer med forslag til appene ders
&amp;#8220;no way, hallo. vi driver med getting real her, ikke noe sånt tull som at du kommer med forslag. ikke lov.&amp;#8221; 
noe
men folk svelger det med hud og hår som om det vore en salgs ultimat sanning
blir så 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 å ikke høre på forslag, opp til dem. De er ikke monopolister, man kan jo velge noe annet&amp;#8482;. Er det forresten sånn at de konsekvent ikke hører på 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å den customer service de får fra de har jeg sett
de gjør små fine apper uten tvivel
men de er så ensidige
kanskje er ingenjören i mig, men
http://www.37signals.com/svn/posts/1154-ne…
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ørt noen rykter om det er noe nytt på 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 å ha sett en så sexy colorpicker før&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;Johan&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;de ser jo så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 å polarisere brukerne: enten elsker man det de lager, eller så hater man det. I begge tilfeller greier man å 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ære sånn at &lt;em&gt;en&lt;/em&gt; måte å lykkes på er å polarisere brukerne sine &amp;#8211; og at dette passer bra hvis man er cocky av type. En annen måte er å lage noe som er så jævlig bra at folk ikke fø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øve å lage simplicitet ut fra kompleksitet
enn å lage en simpel wiki+todoliste der en liten colorpicker er det heteste på tre måneder&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;August Lilleaas&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;nåh
har hørt folk si at de kunne laget basecamp på en helg
men det er nettopp silke ting som at de bruker 3 måneder på å få småting perfekt som gjø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 å lage noe jeg mindregjø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økte å bruke Basecamp på mange prosjekter i ett år, og du vil ikke tro hvor mange ting man savner så snart man slutter å la seg sjarmere av kubjeller og forsøker å få 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 å 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å. 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å alt de sa om Basecamp og mente det passet fantastisk til våre behov (=Fatguy m/partnere og kundene våre). Så markedsføringa fikk meg helt hekta. Men så skulle det vise seg at det var ubrukelig i praksis. Man kan ikke kommentere items i todolista, det er ikke mulig å 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 å 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å morsom samtale dere har hatt&amp;#8230; Jeg har gått fra å bare mislike 37s da jeg begynte i Fatguy med Marius &amp;#38; co. og alle digget disse appene som jeg ikke klarte å skille fra hverandre. Fortsatt synes jeg det de lager ikke er stort nok til å være så 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å 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ør tenke på. Alle ut-på-tur-ryggsekk-allegori-appene interesserer meg ikke, men de er kloke mennesker.&lt;br /&gt;
Og de er jo enig med Johan, under markedsføringskap. nevner de å skrive bøker (nudge nudge) for å markedsføre seg selv&amp;#8230; Der ér det de gjør!&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;John Eivind&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;Skal vi gjøre hva de gjø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ære tydelig&amp;#8230;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/dZ8k-ucvj_Y" height="1" width="1"/&gt;</content>
    <author>
      <name>John Eivind Hallén</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2008/7/25/37signals-colorpicker-getting-real-og-shortcut</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/lp0kuG9pyx0/mvc-kan-vare-sa-mangt" rel="alternate" />
    <title>MVC kan være så mangt</title>
    <content type="html">&lt;p&gt;Som Rails-utvikler har man god erfaring med &lt;em&gt;en&lt;/em&gt; måte å gjøre &lt;span class="caps"&gt;MVC&lt;/span&gt;-programmering på. Cocoa viser oss en helt annen.&lt;/p&gt;&lt;p&gt;Cocoa, rammeverket for Mac-applikasjoner, er på samme måte som Rails basert på &lt;span class="caps"&gt;MVC&lt;/span&gt; &amp;#8211; Model View Controller. Begrepet ble lansert av &lt;a href="http://heim.ifi.uio.no/trygver/"&gt;Trygve Reenskaug&lt;/a&gt; da han besøkte Xerox &lt;span class="caps"&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="caps"&gt;MVC&lt;/span&gt; er ikke så mye en fasit for hvordan man bygger noe som et ideal eller prinsipp. Rails gjør det på sin måte, primært ved å 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øs (webserveren &amp;#8220;husker&amp;#8221; ingenting fra forespørsel til forespørsel) har controlleren typisk et tungt lass å dra på webben; den skal håndtere &lt;span class="caps"&gt;HTTP&lt;/span&gt;-headere, request-parametre, routing, styring av innholdstyper osv. I Rails er mange av disse oppgavene håndtert av selve rammeverket, men idet Rails overlater kontrollen til en controller-action du har skrevet har det allerede foregått mye i kulissene.&lt;/p&gt;


	&lt;p&gt;Hvis man sammenligner med en vanlig &lt;span class="caps"&gt;GUI&lt;/span&gt;-applikasjon er ting ganske annerledes. Her har programmet gjerne all tilstand selv, og svarer umiddelbart idet brukeren klikker på en knapp eller velger noe fra en meny. I motsetning til en webapplikasjon, der nettleseren først skal koble seg til serveren, sende over parametre, vente på svar og gjøre noe med responsen, foregår alt dette i samme prosess i en &lt;span class="caps"&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å 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å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="caps"&gt;GUI&lt;/span&gt;-et ditt. Denne kontrollen kan du gi en datakilde (data source), som er ansvarlig for å levere data til tabellen og håndtere innlegging av nye rader, sletting osv. Og her er det Cocoa virkelig skiller seg fra webutvikling. Istedet for at man så 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="code"&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 å være datakilde for en tabell vil motta. Den første meldingen spør datakilden om hvor mange rader tabellen skal inneholde, den andre spør om hvilken verdi som skal vises i en gitt kolonne i en gitt rad. Cocoa vil altså først spørre hvor mange rader tabellen skal ha, og så vise det antall rader som er synlig i grensesnittet ved å spørre etter verdier for hver kolonne i hver rad. Idet brukeren scroller nedover i tabellen vil datakilden igjen spørre etter nye rader og kolonner &amp;#8211; viewet sørger altså selv for å hente de dataene som er relevante for grensesnittet.&lt;/p&gt;


	&lt;p&gt;Det har de siste månedene blitt ganske populært å 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øye på hvordan dette løses, men en god kandidat kunne vært å bruke Cocoas tilnærming.&lt;/p&gt;


	&lt;p&gt;Igår satt jeg og fiklet litt med hvordan man lager iPhone webapplikasjoner med Dashcode, da jeg oppdaget at Apple bruker akkurat samme tilnærming når man skal lage en dynamisk liste i &lt;span class="caps"&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 å hente data, hvorpå Dashcode laget et javascript-objekt som så slik ut:&lt;/p&gt;


&lt;pre name="code" class="javascript"&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: ["Item 1", "Item 2", "Item 3"],

    // 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="label".
        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("Row "+rowIndex);
        };
    }
};
&lt;/pre&gt;

	&lt;p&gt;Her har man altså 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å en widget for websida som bruker en slags protokoll for å snakke med datakilden sin. Det er jo &amp;#8211; som eksempelkoden antyder &amp;#8211; trivielt å bruke datakilder på nettet til å drive listene, for eksempel med Ajax/XmlHttpRequest. Det virkelig interessante er å introdusere et slags controller-lag i javascript, ettersom dette er tilgjengelig mens siden kjører. Om man ønsker å oppdatere dataene i en slik liste trenger man ikke løpe gjennom alle radene på nytt, man sender istedet en melding til objektet:&lt;/p&gt;


&lt;pre name="code" class="javascript"&gt;
document.getElementById("list").object.reloadData();
&lt;/pre&gt;

	&lt;p&gt;Her har vi et &lt;span class="caps"&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;) å laste dataene på nytt. Det som da skjer er at datakilden vår vil bli sendt meldingene numberOfRows() og prepareRow() på samme måte som før.&lt;/p&gt;


	&lt;p&gt;Jeg tror vi ser omrisset av en ny generasjon webapplikasjoner der ute nå.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/lp0kuG9pyx0" height="1" width="1"/&gt;</content>
    <author>
      <name>Marius Mårnes Mathiesen</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2008/7/4/mvc-kan-vare-sa-mangt</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/CLh6jpi0CkA/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="http://developer.apple.com/"&gt;&lt;span class="caps"&gt;WWDC 2008&lt;/span&gt;&lt;/a&gt; som pågår i disse dager, har Apple sluppet en utviklingsutgave av favorittnettleseren sin: Safari 4, som har ihvertfall én ny funksjon jeg digger.&lt;/p&gt;&lt;p&gt;Det er ikke lenge siden jeg ble &lt;a href="http://www.shortcut.no/blog/2008/3/7/tick_icon_for_your_fluid_app"&gt;henrykt over Fluid&lt;/a&gt; og hva det kunne gjøre med tjenester jeg (altfor) ofte bruker på nettet. Nå ser det ut til at Apple har stjålet ideen deres. (Eller kjø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år man velger det, lager Safari det nye «programmet» automatisk. &lt;span class="caps"&gt;HTML&lt;/span&gt;-tittelen foreslå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å. Ganske fint. Og skulle du ønske et annet ikon, bare bytt ut med vanlig copy-paste.&lt;/p&gt;


	&lt;p&gt;Så 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å hva skjer nå?&lt;/strong&gt;&lt;br /&gt;
En ting som er mer interessant enn genererte ikoner, er hvordan web- og desktopapplikasjoner nå smelter mer og mer sammen. Hva vil egentlig skje med nettleseren nå som funksjonene vi bruker blir egne program og nyhetene vi leser kommer i egne &lt;span class="caps"&gt;RSS&lt;/span&gt;-lesere?&lt;/p&gt;


	&lt;p&gt;Hva med mail? Mange har gått tilbake til nettmail, ikke bare Gmail, men også supre nye løsninger som f.eks. nydelige &lt;a href="http://www.zenbe.com/"&gt;Zenbe&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;YouTube-filmene er vel bedre å se i &lt;a href="http://www.getmiro.com/"&gt;Miro&lt;/a&gt; enn på YouTube?&lt;/p&gt;


	&lt;p&gt;Office-pakka? Trenger vi den når vi har &lt;a href="http://docs.google.com/"&gt;Google Docs&lt;/a&gt;?&lt;/p&gt;


	&lt;p&gt;Ikke rart Microsoft er skuffa over å &lt;a href="http://www.theregister.co.uk/2008/06/12/yahoo_microsoft_talks_teminated/"&gt;ikke få kloa i Yahoo&lt;/a&gt;. &lt;em&gt;exe-fil&lt;/em&gt;-produsentene går kanskje en tøffere tid i mø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 å bli dagens helt for å ha laget egen nettleser bare for Facebook. Skikkelig meta, eller hva? &lt;em&gt;«Endelig kan jeg surfe rundt på nettet, uten å lukke Facebook»&lt;/em&gt;&lt;/p&gt;


	&lt;p&gt;:-D&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/CLh6jpi0CkA" height="1" width="1"/&gt;</content>
    <author>
      <name>John Eivind Hallén</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2008/6/12/save-webpage-as-web-application</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/WsQu_IsqhjI/standardoppsett-pa-rails" rel="alternate" />
    <title>Standardoppsett på Rails</title>
    <content type="html">&lt;p&gt;Ikke bruk Rails-kommandoen når du starter en ny Rails-app. Lag ditt eget standardoppsett og versjonskontroller det, slik at du kan hente ned denne Rails-appen når du starter et nytt prosjekt. Det sparer deg for mye tid og repetisjon i forhold til å 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år jeg starter et nytt Rails-prosjekt. Personlig får jeg omtrent 1x fantastisk, revolusjonerende web 2.0-idé i uken, og da er det praktisk å slippe å skrive autentisering, hente ned jQuery, lage en &lt;tt&gt;settings.yml&lt;/tt&gt;, mailer for «glemt passord», 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å 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="http://gitorious.org/projects/leethals-default-rails"&gt;et forslag til hvordan et slikt standardoppsett kan se ut&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/WsQu_IsqhjI" height="1" width="1"/&gt;</content>
    <author>
      <name>August Lilleaas</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2008/6/6/standardoppsett-pa-rails</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/9ovNzpC_o84/uloselige-problemer" rel="alternate" />
    <title>Uløselige problemer?</title>
    <content type="html">&lt;p&gt;Stilt overfor noen oppgaver og problemstillinger (og datamodeller og algoritmer) kan man nesten fysisk føle sin egen hjernes begrensninger. Så snart man begynner å få tak på den ene enden av problemet, har man mistet grepet på den andre enden.&lt;/p&gt;&lt;p&gt;Jeg jobber for tiden på et prosjekt med datamodeller av hinsides kompleksitet. Stilt overfor oppgavene i prosjektet alene, er kompleksiteten på grensen av hva jeg greier å få mental oversikt over. Følgene av denne manglende oversikten er lav produktivitet, og motvillighet mot å gjøre dyptgripende endringer i koden.&lt;/p&gt;


	&lt;p&gt;Heldigvis har jeg hatt muligheten til å jobbe med parprogrammering på prosjektet sammen med arkitekten bak systemet. Dette gjør at kompleksiteten smyger seg ned på et forståelig nivå. På dette nivået blir problemene lettere å angripe, og vi får løst oppgavene (og refaktorert datamodellen!) i raskt tempo. Parprogrammering er i dette tilfelle effektivt fordi kompleksiteten er for stor til å passe inn i én persons hode, men passer fint i hodene til to personer.&lt;/p&gt;


	&lt;p&gt;Kunsten er altså å dra kompleksiteten ned til ett overkommelig nivå, hvilket øker både arbeidsgleden og produktiviteten. Da begynner det å nærme seg kollektiv intelligens, hvor man vil være i stand til å kollektivt forstå og løse problemer som er for komplekse til å løses av én eller 100 personer, men plutselig blir overkommelig når 101 personer blir satt på oppgaven.&lt;/p&gt;


	&lt;p&gt;Noen eksempler på bruk av kollektiv intelligens til å løse oppgaver – selv om skillet mellom kollektiv intelligens og god gammeldags dugnad kan være litt uklart:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Dell bruker en form for kollektiv brainstorming og rangering av ideer til å komme opp med nye produktideer på &lt;a href="http://www.dellideastorm.com/"&gt;Dell Ideastorm&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href="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"&gt;Google Translate&lt;/a&gt; lar brukere forbedre kvaliteten på oversettelsene: &lt;em&gt;Suggest a better translation for ”we do not have a slurvete job”&lt;/em&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://recaptcha.net/"&gt;reCAPTCHA&lt;/a&gt; er et prosjekt som bruker ord som ikke er lesbare med dagens &lt;span class="caps"&gt;OCR&lt;/span&gt;-programvare som tradisjonell &lt;span class="caps"&gt;CAPTCHA&lt;/span&gt;-input på websider. Dermed bidrar man som sluttbruker til å kvalitetssikre digitalisering av bøker uten at man nødvendigvis trenger å være klar over nytten i det man gjør.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://worldwithoutoil.org/"&gt;World Without Oil&lt;/a&gt; Et &lt;span class="caps"&gt;ARG&lt;/span&gt; (alternative reality game) som forsøker å benytte spillernes kollektive intelligens til å løse en tenkt miljøkrise.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Hvis man kan kombinerer kollektiv intelligens med flashmob-aktig teknologi (broadcast &lt;span class="caps"&gt;SMS&lt;/span&gt;, for eksempel) burde det kunne oppstå interessante muligheter. &lt;a href="http://www.bt.no/lokalt/bergen/article570735.ece"&gt;Rask og intelligens respons&lt;/a&gt; i krisesituasjoner, for eksempel?&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/9ovNzpC_o84" height="1" width="1"/&gt;</content>
    <author>
      <name>August Zaitzow Flatby</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2008/5/27/uloselige-problemer</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/_bTKk2kQcWw/nettverk" rel="alternate" />
    <title>Nettverk</title>
    <content type="html">&lt;p&gt;Vi i Shortcut har en &lt;a href="http://gitorious.org/projects/couchobject"&gt;hang mot alternativer til relasjonsdatabaser&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Det er mange gode grunner til å væ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å å håndheve struktur på dataene sine. Dette betyr at man må fortelle databasen nø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 å ønske å dyrke datamodellen min mer som en kjø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øtte for innebygd logikk (views, triggere, lagrete prosedyrer), og språket man snakker med mot relasjonsdatabasen heter &lt;span class="caps"&gt;SQL&lt;/span&gt;. Innenfor objektorientert utvikling har man objekter, klasser og metoder. Når man de seinere årene har fått ganske gode verktøy for å representere objekter i en relasjonsdatabase har dette mindre å gjøre med relasjonsdatabasens fortreffelighet enn dens utbredelse. &lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;Stø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å den kolonnen ligge i databaseskjemaet, punktum. Om man tar en kikk på en gjennomsnittlig databasedump fra et noen år gammelt system vil man oppdage at hver tabell plutselig har fått mange flere kolonner enn man opprinnelig tenkte. Dette er fordi skiftende behov har ført til at man må holde følge. Kanskje var det en kundegruppe som &lt;em&gt;måtte&lt;/em&gt; ha et ekstra felt i databasen, så dukket det plutselig opp i databaseskjemaet uten at noen av de andre kundene trenger det. Dermed vil man se at det blir vanskeligere å vanskeligere å lese noen slags logikk ut fra databaseskjemaet, særlig når bare en av hundre rader har en verdi i en gitt kolonne.&lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;Støtte for nettverksorienterte data&lt;/strong&gt;. Om du har jobbet med en relasjonsdatbase noen gang: tenk deg følgende scenario. Du har laget et sosialt nettsted (gjesp), der brukerne angir andre brukere som sine venner. Tenk så 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 å vedde på at du kommer opp med en &lt;span class="caps"&gt;SQL&lt;/span&gt;-setning som får deg til å føle deg skikkelig macho.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Tenk deg så 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å å følge disse relasjonene mellom objektene og ga deg et språk for å uttrykke hvordan X og Y er forbundet.&lt;/p&gt;


	&lt;p&gt;Våre venner i Java-verden har laget &lt;a href="http://dist.neo4j.org/neo-technology-introduction.pdf"&gt;en slik database&lt;/a&gt;, som er orientert rundt en nettverksfilosofi. Og &lt;a href="http://jira.codehaus.org/browse/JRUBY-2496"&gt;etter å ha dummet meg skikkelig ut&lt;/a&gt; har jeg fått det til å spille sånn noenlunde i &lt;a href="http://jruby.org/"&gt;JRuby&lt;/a&gt;.&lt;/p&gt;


&lt;pre class="ruby" name="code"&gt;
class FriendshipTest &amp;lt; Test::Unit::TestCase
  def test_basic_friendships
    Person.transaction do
      neo = Person.new(:first_name =&amp;gt; "Neo")
      assert_equal("Neo", neo.first_name)
      morpheus = Person.new(:first_name =&amp;gt; "Morpheus")
      assert !neo.knows?(morpheus)
      neo.meets(morpheus)
      assert neo.knows?(morpheus)
    end
  end
end  
&lt;/pre&gt;

	&lt;p&gt;Testene kjører, og dataene lagres i Neo4j-databasen. Grunnen til at jeg bare viser fram testkoden her er at jeg skrev den først, og implementasjonen derfor neppe vil imponere noen ennå. 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 å fungere i Jruby. Nå har jeg aldri vært spesielt glad i Java, men jeg merker at allerede etter en liten time med hacking i Ruby begynner et &lt;span class="caps"&gt;API&lt;/span&gt; å 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="java" name="code"&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øles det mer Ruby-aktig å gjøre noe mer ActiveRecord-lignende i Ruby:&lt;/p&gt;


&lt;pre class="ruby" name="code"&gt;
class Person
  def self.transaction
    @@neo = EmbeddedNeo.new("test")
    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år man noe som ser ut som en transaksjon inn i Ruby-klassen sin:&lt;/p&gt;


&lt;pre class="ruby" name="code"&gt;
Person.transaction do
  me = Person.new
end
&lt;/pre&gt;

	&lt;p&gt;Har en sterk følelse av at dette ikke er siste gang vi skriver om Neo4j her&amp;#8230;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/_bTKk2kQcWw" height="1" width="1"/&gt;</content>
    <author>
      <name>Marius Mårnes Mathiesen</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2008/5/8/nettverk</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/j7tgZgrbV7o/diskuter-nrks-maldokument-pa-nett" rel="alternate" />
    <title>Diskuter NRKs måldokument på nett</title>
    <content type="html">&lt;p&gt;&lt;span class="caps"&gt;NRK&lt;/span&gt; ser ut til å 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="http://nrkbeta.no/bittorrent/"&gt;la NRKBeta ut samtlige episoder av Lars Monsen-serien på Bittorrent&lt;/a&gt;, deretter annonserte de &lt;a href="http://nrkbeta.no/the-nrkbeta-doctrine/"&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å har de åpnet for &lt;a href="http://nrkbeta.no/bli-med-og-formulere-nrks-maldokument/"&gt;diskusjon om NRKs måldokument på nett&lt;/a&gt;, der de blant annet spør om det bør stå i måldokumentet at alt NRKs innhold skal distribueres ukryptert og i åpne formater. Det er forfriskende og utfordrende å se denne formen for demokrati, der man involverer kundene sine (som i NRKs tilfelle også er eierne) i målformulering og utforming av kringkastingspolitikken. Demokrati og medvirkning har kanskje virket gammeldags og irrelevant i en tid der alt handler om lønnsomhet, &lt;span class="caps"&gt;NRK&lt;/span&gt; tar her en helt ny vri.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/j7tgZgrbV7o" height="1" width="1"/&gt;</content>
    <author>
      <name>Marius Mårnes Mathiesen</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2008/4/15/diskuter-nrks-maldokument-pa-nett</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/8lcF7_XPWYU/getting-things-done-og-selve-livet" rel="alternate" />
    <title>'Getting Things Done' og selve livet...</title>
    <content type="html">&lt;p&gt;Overalt oppstår det situasjoner hvor ting ikke blir gjort fordi noen har lovet å gjøre det. Dette har jeg erfart både på jobb, i organisasjoner og blandt venner. Og så fant jeg plutselig den teksten som pushet meg til handling som ung&amp;#8230;&lt;/p&gt;&lt;p&gt;Jeg tror vi ønsker altfor godt, og overvurderer oss selv. Jeg vet ihvertfall at dette gjelder meg: Jeg svarer alltid ja når noen trenger hjelp til noe jeg tenker tar kort tid. Og oppgaven i seg selv tar gjerne kort tid, men å få 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å altfor kjente) bok &lt;a href="http://en.wikipedia.org/wiki/Getting_Things_Done"&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ørelsen av det man skal ha gjort. Målet er å ikke bruke opp tiden på planlegging, men de faktiske oppgavene. Og den boka har hjulpet mange langt på vei, og blitt en velfortjent &lt;em&gt;Must Read&lt;/em&gt;. (Selv om jeg har erfart at boka har ført til mye prat og lite handling mange steder.)&lt;/p&gt;


	&lt;p&gt;&lt;em&gt;Men jeg har også brukt en annen tekst for å få 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ådriver for å få gjort ting på 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år gjennomført.&lt;/strong&gt; Og fortsatt, den dag idag, opplever jeg den teksten som en større pådriver, enn et smart og gjennomtenkt prosjektstyreverktøy.&lt;/p&gt;


	&lt;p&gt;Prø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ø&lt;br /&gt;
men dine håp&lt;br /&gt;
skal dø, din glede&lt;br /&gt;
dine behov&lt;br /&gt;
skal dø, dine ønsker, krav&lt;br /&gt;
dø 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ært mer,&lt;br /&gt;
det lever&lt;br /&gt;
men&lt;br /&gt;
det du ønsker&lt;br /&gt;
skal dø, dine håp skal dø&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ø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, «Samlede dikt», &lt;a href="http://www.gyldendal.no/"&gt;Gyldendal norsk forlag&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/8lcF7_XPWYU" height="1" width="1"/&gt;</content>
    <author>
      <name>John Eivind Hallén</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2008/4/8/getting-things-done-og-selve-livet</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/JokgpGatzQI/gratulerer-tinde" rel="alternate" />
    <title>Gratulerer, Tinde!</title>
    <content type="html">&lt;p&gt;&lt;a href="http://tinde.no/"&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="http://tinde.no/"&gt;Tinde&lt;/a&gt; har på 3 måneder blitt skrevet helt om til å bruke Ruby on Rails og søkemotoren til Fast. Shortcut har jobbet med prosjektet siden like etter jul, og er stolt for å ha vært med på å bygge landets største nettsted skrevet i Rails på knappe nitti dager. Med sine circa 100.000 unike brukere i uka peker Tinde nese til de som påstår at Rails ikke skalerer.&lt;/p&gt;


	&lt;p&gt;Når nå den eksisterende løsningen er flyttet over på ny teknologisk plattform står lanseringen av nye tjenester for døra. I de kommende månedene vil Tinde lansere nye tjenester, og sikter spesielt på å koble redaksjonelt innhold fra Edda-konsernets medier med rubrikkannonser på Tinde. Vi gleder oss til å jobbe videre med Tinde, og gratulerer med vellykket lansering!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/JokgpGatzQI" height="1" width="1"/&gt;</content>
    <author>
      <name>Marius Mårnes Mathiesen</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2008/4/7/gratulerer-tinde</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/EZP2ZdqlODs/husker-du-den-forste-rubyfools" rel="alternate" />
    <title>Husker du den første RubyFools?</title>
    <content type="html">&lt;p&gt;I det internasjonale Rubymiljøet er det noen ganske få som stadig vekk trekker fram den første RubyConf, som ble arrangert i 2002. Ifølge &lt;a href="http://pragdave.blogs.pragprog.com/"&gt;Dave Thomas&lt;/a&gt; blir skrytet fra disse få utvalgte verre og verre jo større Rubymiljøet blir. Ifølge Dave, som var der, var det fire deltakere og en hund til stede, så ekslusivt var det.&lt;/p&gt;&lt;p&gt;Nåtidens Rubyconf selges ut på noen få timer, og RailsConf trekker tusenvis av deltakere hvert år. Der kan oldtimerne høste ære og berømmelse for at de var så tidlig ute. Om noen få dager går historiens første &lt;a href="http://jaoo.dk/ruby-oslo/conference/"&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 å investere i framtidig ære og berømmelse; antakelig vil neste års konferanse trekke minst dobbelt så mange deltakere.&lt;/p&gt;


	&lt;p&gt;Konferansen går av stabelen på Chateau Neuf torsdag og fredag neste uke, og det er fortsatt ledige plasser. Om du ikke har meldt deg på ennå er det ingen grunn til å vente; hvis du er student &lt;a href="http://irb.no/-/bulletin/show/52882_gratis-deltagelse-for-studenter-paa-rubyfools-oslo"&gt;kan du tilogmed få gratis adgang&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;Ses neste uke!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/EZP2ZdqlODs" height="1" width="1"/&gt;</content>
    <author>
      <name>Marius Mårnes Mathiesen</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2008/3/29/husker-du-den-forste-rubyfools</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/FkVrDPsOKSs/hvor-lenge-skal-webben-lide-av-darlige-nettlesere" rel="alternate" />
    <title>Hvor lenge skal webben lide av dårlige nettlesere?</title>
    <content type="html">&lt;p&gt;Med Firefox 3 like rundt hjørnet og Safari 3.1 ute idag kan man lure på hvor relevant Internet Explorer er. Noen kalde fakta og en aldri så liten oppfordring følger&amp;#8230;.&lt;/p&gt;&lt;p&gt;Apple &lt;a href="http://www.apple.com/safari/"&gt;slapp Safari 3.1&lt;/a&gt; idag; Safari 3.1 har støtte for en god del av det som er foreslått i &lt;span class="caps"&gt;HTML 5&lt;/span&gt;, en innebygget database og mye annet snacks.  Firefox 3 er nå i beta, og ser ut til å være en kjapp og sexy nettleser.&lt;/p&gt;


	&lt;p&gt;Vi som lager nettsider legger imidlertid strenge føringer på oss selv som gjør at vi ikke bruker disse fete nyhetene fra nettleserne; hovedgrunnen er Internet Explorer. Internet Explorer 8 kan kanskje komme til å bli riktig bra, &lt;span class="caps"&gt;IE7&lt;/span&gt; er ikke så aller verst, men i en slags masochistisk selvdisiplin tilpasser vi fortsatt nettsidene våre til Internet Explorer 6, som kom ut sånn circa i juratida. Denne velmente selvdisiplinen gjør at de fleste nettsider på innsiden ser ut som ukegammel spaghetti, et sammensurium av Araldit og duct-tape &amp;#8211; &lt;em&gt;hacks&lt;/em&gt; på dataspråket &amp;#8211; for å fungere i programmer vi alle skulle ønske ikke lenger fantes. For alle som faktisk bruker en moderne nettleser må dette føles omtrent som å kjøre en Lamborghini på norske veier, det er rett og slett liten vits.&lt;/p&gt;


	&lt;p&gt;Bloggen du leser nå 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="http://sjappa.butikkenmin.no/"&gt;Vålerenga-sjappa på nett&lt;/a&gt; &amp;#8211; har en mer typisk må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 å flokke seg rundt en hå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="caps"&gt;AIR&lt;/span&gt; og etterhver også 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ørre og større grad er basert på kvalitetskode, samtidig som vi fortsatt har et innslag av konkurranse i og med at det finnes flere aktører. Microsoft og Opera er idag de store unntakene i at de vedlikeholder sine egne, proprietære (i betydningen lukket kildekode) nettlesermotorer. Opera har en rimelig god track record på å følge standarder, mens Microsoft &amp;#8211; uansett hvor mye de prøver det motsatte &amp;#8211; ender opp med spesialtilfeller. Og her står vi overfor et høna-eller-egget-dilemma: så lenge vi fortsetter å lage nettsider som fungerer i IE trenger ikke brukerne våre å oppgradere til en skikkelig nettleser, og dermed er vi med på å forlenge problemet.&lt;/p&gt;


	&lt;p&gt;Jeg tror løsningen ligger i å lage lø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="http://kunder.shortcut.no/shortcutting/awesome_safari_css_features.html"&gt;et kjapt eksempel på en de nye &lt;span class="caps"&gt;CSS&lt;/span&gt;-egenskapene i Webkit/Safari for etpar dager siden&lt;/a&gt; &amp;#8211; en slik løsning vil være &lt;em&gt;leselig&lt;/em&gt; i Internet Explorer, men brukeropplevelsen vil være langt rikere med en moderne nettleser. Om vi omfavner slike praksiser er min påstand at brukerne vil kappes om å laste ned en ny nettleser så snart de ser hvor kul webben er for &amp;#8220;alle de andre&amp;#8221;. Om elementene på en nettside i din nettleser har harde, firkantete hjørner uten skygge og visuelle effekter; og du så ser at kollegaen får pene, runde hjørner med skygger, glasseffekter og diskrete animasjoner vil de tidsnok laste ned en annen nettleser. Der man tidligere ble møtt med &amp;#8220;Denne nettsiden fungerer best i xxx&amp;#8221;, som oppfordret brukerne til å laste ned en annen nettleser, bør vi heller satse på sex appeal; la brukerne selv finne ut av hva de går glipp av.&lt;/p&gt;


	&lt;p&gt;Hvordan tror &lt;strong&gt;du&lt;/strong&gt; nettlesermarkedet ser ut om et år?&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Oppdatering&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;TechCrunch &lt;a href="http://www.techcrunch.com/2008/03/25/save-the-developers-stop-using-internet-explorer-6/"&gt;ser ut til å ha plukket opp denne artikkelen&lt;/a&gt; &amp;#8211; :-) &amp;#8211;  og oppfordrer nettbrukere til å slutte å støtte Internet Explorer 6. De linker til &lt;a href="http://www.savethedevelopers.org/"&gt;Save the developers&lt;/a&gt; og peker på etpar fine knapper man kan bruke på nettsidene sine:&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://getfirefox.com/"&gt;&lt;img src="http://www.savethedevelopers.org/images/safari.gif" alt="Safari"/&gt;&lt;/a&gt;
&lt;a href="http://www.apple.com/safari/download/"&gt;&lt;img src="http://www.savethedevelopers.org/images/firefox.gif" alt="Firefox"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/FkVrDPsOKSs" height="1" width="1"/&gt;</content>
    <author>
      <name>Marius Mårnes Mathiesen</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2008/3/19/hvor-lenge-skal-webben-lide-av-darlige-nettlesere</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/oqlgGuQO8gk/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="code" class="ruby"&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="code" class="ruby"&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="code" class="ruby"&gt;
Kernel.module_eval do
  alias_method :old_puts, :puts
  def puts(something)
    raise "WARNING: #{self.class.to_s} tried to call puts with the message #{something}" 
  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;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/oqlgGuQO8gk" height="1" width="1"/&gt;</content>
    <author>
      <name>Marius Mårnes Mathiesen</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2008/3/13/a-bit-verbose-are-we</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/sWp1ZFBOflk/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="http://www.fluidapp.com/"&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="http://www.tickspot.com/"&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="http://www.themolehill.com/"&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="http://kunder.shortcut.no/shortcutting/tick-logo-for-fluid.png"&gt;Tick Icon&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;Enjoy!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/sWp1ZFBOflk" height="1" width="1"/&gt;</content>
    <author>
      <name>John Eivind Hallén</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2008/3/7/tick-icon-for-your-fluid-app</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/R5LcH4cvSSo/15-push-ups-for-a-fa-registrere-et-selskap" rel="alternate" />
    <title>15 push ups, for å få 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å, nemlig Brønnø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ørste og beste nettjenester. Men nei, det var så overraskende vanskelig at det bare ble moro, nesten.&lt;/p&gt;


	&lt;p&gt;Som interaksjonsdesigner tenker jeg at det er en drøm og lage en løsning hvor brukeren vet akkurat hva som skal gjøres og hvor. Det viste seg at det bare var ett skjema som skulle fylles ut og sendes inn. Det var det hele. Så oppgaven til Brønnøysundregistrene var å 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å www.brreg.no er det en godt synlig og forstå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å registreringssiden står linken &amp;#8216;Registrering av ny enhet/foretak&amp;#8217; ø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å 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å Br.Reg. men på en side som heter &amp;#8216;Altinn&amp;#8217;. Den har jeg jo hørt om. Den skal væ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ønner stort av. I tillegg ser jeg to små menyer i hø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ønner med en gang at &amp;#8216;Registrere foretaket&amp;#8217; er gruppen for meg. Under den gruppen blir linken &amp;#8216;Hva gjør jeg for å bli registrert i Foretaksregisteret?&amp;#8217; det beste valget. Tror jeg. &lt;strong&gt;&lt;em&gt;Ikke lenger trygg på 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 «Registreringen i Foretaksregisteret gjøres på Samordnet registermelding». Og etter kort leting finner jeg to linker i en høyremeny: &amp;#8216;Samordnet registermelding (i Altinn)&amp;#8217; og &amp;#8216;Samordnet registermelding (Varianter for nedlasting)&amp;#8217;. Jeg velger Altinn, selvfølgelig, det skal jo være bra og effektivt og elektronisk. &lt;strong&gt;&lt;em&gt;Spent nå!&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 å skumme, for den ø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å dette tiende steget kommer jeg til endel valg for å få logget inn i Altinn. De spør om jeg har smartkort, &lt;span class="caps"&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 å gå bakover i nettleseren. &lt;strong&gt;&lt;em&gt;Hmm, få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å er jeg spent, og etterhvert litt utå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 ønsker meg velkommen. Jeg styrer vekk fra alt uaktuelt: Mva, D-nummer, styreendringer osv. To valg stå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å forrige side, så jeg går inn på hovedblanketten. &lt;strong&gt;&lt;em&gt;Nå sitter jeg og smiler og gleder meg til å 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 øverste er &amp;#8216;Last ned blankett&amp;#8217;. Bra! &lt;strong&gt;&lt;em&gt;Er jeg på 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å en side som forteller at dette er i &lt;span class="caps"&gt;PDF&lt;/span&gt;-format&amp;#8230; eller MS Word-format lenger ned. Jeg velger &lt;span class="caps"&gt;PDF&lt;/span&gt; hovedblankett på bokmå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="caps"&gt;BINGO&lt;/span&gt;! Jeg fant den! Et flott &lt;span class="caps"&gt;PDF&lt;/span&gt;-skjema som lar seg fylle ut og printe direkte fra nettleseren min. Det har også 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å? Takk for tålmodigheten dere har hatt som har lest dette. For meg var det godt å få skrevet det. En konklusjon må vel være at brukertesting er viktig for alle nettsteder, også de som ikke har direkte, kommersielle konkurrenter. Jeg tør tippe på at de mottar mange telefoner der oppe i Brønnøysund som en følge av disse sidene.&lt;/p&gt;


	&lt;p&gt;Så mitt enkle, velmenende råd til Br.Reg.: Putt en link til den &lt;span class="caps"&gt;PDF&lt;/span&gt;-en allerede på steg 2, der jeg valgte at jeg skulle registrere et foretak. Og ring oss om dere ønsker flere forbedringer.&lt;/p&gt;


	&lt;p&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;PS: Plateselskapet jeg startet heter forresten «Fin jobb», og det er noe jeg synes jeg har som kan bruke tid på å skrive alt dette. Ha en god dag!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/R5LcH4cvSSo" height="1" width="1"/&gt;</content>
    <author>
      <name>John Eivind Hallén</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2008/3/6/15-push-ups-for-a-fa-registrere-et-selskap</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/00UROEJqx9I/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å sjelden som en humoristisk vri på feilmeldinger om at nettleseren din ikke støttes i tjenestene deres.&lt;/p&gt;&lt;p&gt;Om du for eksempel skulle driste deg til å bruke &lt;a href="http://docs.google.com/"&gt;Google Documents&lt;/a&gt; med &lt;a href="http://webkit.org/"&gt;Webkit&lt;/a&gt; får du opp en humoristisk melding:&lt;/p&gt;


&lt;blockquote&gt;
	&lt;p&gt;Hvis du holder på å fikse problemer med en 
	bestemt nettleser og kunne tenke deg å omgå 
	denne kontrollen, er det bare å legge til 
	&amp;#38;webleserok=true på slutten av nettadressen 
	Google Dokumenter. 
	Merk at det er et brudd på intergalaktisk lov 
	å bruke denne parameteren under falske forutsetninger, 
	så ikke la oss ta deg på fersk gjerning. 
	Og det kommer faktisk ikke til å fungere særlig bra.&lt;/p&gt;

&lt;/blockquote&gt;




	&lt;p&gt;Det var noe annet enn å forsøke påtvinge brukerne en nettleser de ikke er interessert i.&lt;/p&gt;


	&lt;p&gt;(Selv om det ser ut til å funke aldeles utmerket å bruke Google Docs med Webkit).&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/00UROEJqx9I" height="1" width="1"/&gt;</content>
    <author>
      <name>Marius Mårnes Mathiesen</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2008/3/1/your-browser-is-not-supported</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/LmDS4zxcZ0w/jo-flere-feil-jo-bedre-losning" rel="alternate" />
    <title>Jo flere feil, jo bedre løsning</title>
    <content type="html">&lt;p&gt;I Shortcut er vi ikke redde for å gjøre feil, selv om vi gir råd, skriver kode og alt skal fungere. Vi er redde for å &lt;em&gt;ikke&lt;/em&gt; gjøre feil. Og heldigvis er vi ikke alene om å ha det slik&amp;#8230;&lt;/p&gt;&lt;p&gt;Etter å ha sett flere &lt;a href="http://www.ted.com/index.php/"&gt;&lt;span class="caps"&gt;TED&lt;/span&gt;-foredrag&lt;/a&gt; i tilfeldig, tilsendt pr. mail, rekkefølge, har jeg begynt å gå systematisk gjennom dem. De er utrolig inspirerende og bra. Og jeg merker at jeg blir hekta på samme måte som da jeg pløyet meg gjennom samtlige Sopranos-episoder. Etter én, var det alltid tid til en til. Jeg anbefaler virkelig alle å ta turen innom &lt;span class="caps"&gt;TED&lt;/span&gt; for litt faglig (uansett fag) og menneskelig inspirasjon.&lt;/p&gt;


	&lt;p&gt;Min favoritt nå er kreativitetseksperten Ken Robbins’ &lt;a href="http://www.ted.com/index.php/talks/view/id/66"&gt;«Do schools kill creativity?»&lt;/a&gt;. Og ett av hans flere gode poeng, er tanken om hvordan strukturert skolegang bryter ned kreativitet. Men før jeg gjentar hans forklaring på 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ølgelig har ikke hele bransjen kun én metode, men for meg som kom utenifra kunne det virke sånn.) Metoden var som følger. De uttalte sine ikke-gjennomtenke tanker, ustanselig og uten hemninger. De snakket uten å filtrere vekk det de syntes var dumt. Uten en gang å 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émyldringen. Tilslutt hadde man så mange ideer, at noen måtte nødvendigvis være gode. Da var det bare å plukke.&lt;/p&gt;


	&lt;p&gt;Det er vår redsel for å si noe feil, for å dumme oss ut, som hindrer oss i å komme med alle ideene, før vi kan plukke ut de gode. Vi vil tenke gjennom først, forsikre oss om at det er smart, før vi tør delta i en samtale. Vi tør ikke si noe feil. Noe som ender med at man deltar altfor sjeldent. Og hvorfor er vi sånn? Ken Robbins’ svar er skolesystemet. Gjennom en lang skolegang blir feil slått ned på, gang på gang. Hele skolesystemet hyller det ene riktige svaret, selv om alle som jobber med kreativitet vet man må feile for å være kreativ. Og feile igjen.&lt;/p&gt;


	&lt;p&gt;Vi ønsker å være kreative i Shortcut. Vi ønsker å lage løsninger folk ikke har tenkt på. Vi ønsker å løse ting på en ny måte, en stadig bedre måte. Så da må man også ønske å feile, på veien dit. Men hvordan kan en teknologibedrift ønske å feile? Hvordan kan utviklere ønske å feile? Må ikke kode til enhver tid være feilfri? Skal ikke våre rådgivere gi gode råd, ikke gale råd? (Bare legg til de retoriske spørsmålene du måtte ha.)&lt;/p&gt;


	&lt;p&gt;Ved å innse at produktene vi lager til stadighet er under utvikling, kan vi få til å feile oss frem til gode løsninger. Vi lager ikke kode, for aldri å endre på den. Vi lager ikke design, for aldri å endre på den. Vi jobber systematisk mot den ideen vi har om hva vår løsning skal kunne gjøre. Vi fikser de viktigste oppgavene først. Så prøver vi ut andre ting, alternative ting. Forandrer litt her og forandrer litt der. Noen ting beholder vi, andre ting var nyttige feil på veien. De kaster vi.&lt;/p&gt;


	&lt;p&gt;Men tar ikke dette ekstra lang tid? Blir ikke dette svært dyrt?
Nei, takket være den moderne teknologien og arbeidsmetodene vi bruker, blir ”feilene” bare endel av prosessen, uten å 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øsning. Da har vi et nyttig verktøy hvor vi kan prøve og feile, og jobbe oss stadig nærmere det resultatet vi ønsker. Og ved å hele tiden å gjøre små oppdateringer, kan vi sømløst rette opp feil og fjerne ting, eller beholde ting og komme et steg videre. På den måten maner vi frem produktet slik vi vil ha det, med alle gode ideer ivaretatt.&lt;/p&gt;


	&lt;p&gt;Men før vi gjør noen fler feil, ikke glem å høre og se Ken Robbins’ &lt;a href="http://www.ted.com/index.php/talks/view/id/66"&gt;«Do schools kill creativity?»&lt;/a&gt;. Han har også andre gode poeng.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/LmDS4zxcZ0w" height="1" width="1"/&gt;</content>
    <author>
      <name>John Eivind Hallén</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2008/2/18/jo-flere-feil-jo-bedre-losning</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/_VhwYMedGUE/rest-hvilken-vakker-ting" rel="alternate" />
    <title>REST, hvilken vakker ting</title>
    <content type="html">&lt;p&gt;Jeg jobber for tida på mitt så langt største Railsprosjekt. Her har jeg merket noe som ser ut til å være en trend: når etablerte aktører vurderer Rails faller ofte ActiveRecord bort som alternativ i fø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år, ut av boksen av to hovedelementer: ActiveRecord, som håndterer forretningsobjektene dine slik de er representert i en relasjonsdatabase, og et rammeverk for det å lage webapplikasjoner. De fleste eksemplene på bruk av Rails er så enkle og tiltalende nettopp fordi de lener seg så hardt på 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å er en Rails-applikasjon er dette &amp;#8220;plug&amp;#8217;n&amp;#8217;play&amp;#8221;, hvis ikke må det gjøres litt jobb. Jeg mistenker at mange som vurderer Rails resonnerer omtrent så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å vi gjøre masse om på det eksterne systemet, slik at ActiveResource kan fungere uten tilpasninger&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Om det så 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 å avskrive Rails eller å glemme alle prinsipper om bra håndverk og parse &lt;span class="caps"&gt;XML&lt;/span&gt;-strukturer i controllere og whatnot. Det er det ingen grunn til!&lt;/p&gt;


	&lt;p&gt;På prosjektet jeg jobber nå ligger foreløpig alle modellene våre &amp;#8220;utenfor vår kontroll&amp;#8221;, det vil si at eneste grensesnittet vi har mot dem er en &lt;span class="caps"&gt;REST&lt;/span&gt;-basert webservice. Disse ligner ikke på ActiveResource i det hele tatt, og det gjør ingenting. Vi bare begynte å skrive klientkode som om disse eksterne modellene var førsteklasses ActiveRecord-lignende objekter.&lt;/p&gt;


&lt;pre name="code" class="ruby"&gt;
me = Person.find("marius")
all_people = Person.find(:limit =&amp;gt; 22)
&lt;/pre&gt;

	&lt;p&gt;Jeg tenkte ikke på hvordan jeg skulle implementere dette &lt;em&gt;i det hele tatt&lt;/em&gt; på dette stadiet, jeg bare skrev den klientkoden (som en enhetstest, såklart) som jeg ønsket å bruke om verden var et perfekt sted. Etter min erfaring er dette den eneste måten å få et &lt;span class="caps"&gt;API&lt;/span&gt;/DSL man orker å leve med i lengen: man er nødt til å skille det å designe seg et domenespråk fra det å implementere det. I dette tilfellet valgte jeg å få noe som lignet veldig på ActiveRecord/ActiveResource; først og fremst fordi noen her har tenkt på masse problemstillinger for meg, dernest fordi de andre elementene i Rails-applikasjonen min (Controllere og Views) blir mest mulig lik Rails og jeg slipper å tenke.&lt;/p&gt;


	&lt;p&gt;Deretter, når jeg hadde bygget meg et språk gjennom de testene jeg hadde laget satt jeg lykkelig og utslitt med et titalls tester som feiler. Da er det på tide å gå 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="caps"&gt;REST&lt;/span&gt;-tjenesten vi skal forholde oss til, og de fortalte blant annet om &lt;span class="caps"&gt;XML&lt;/span&gt;-formatet de brukte når man prøvde å aksessere en ressurs som ikke fantes. Igjen var det noen som hadde tenkt for oss, måten Rails&amp;#8217; &lt;span class="caps"&gt;REST&lt;/span&gt;-tjenester forteller at en ressurs ikke finnes på er å returnere &lt;span class="caps"&gt;HTTP&lt;/span&gt; statuskode 404 (not found). Det gir ingen mening å skulle parse &lt;span class="caps"&gt;XML&lt;/span&gt; for en ressurs som ikke finnes.&lt;/p&gt;


	&lt;p&gt;Dette er en oppfordring til å være litt ambisiøs når du ikke kan lene deg på Rails. Som Railsutvikler har vi et fantastisk verktøy tilgjengelig: det samme verktøyet som Rails-teamet bruker når de lager Rails &amp;#8211; Ruby. Ruby er kraftige greier, bruk det!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/_VhwYMedGUE" height="1" width="1"/&gt;</content>
    <author>
      <name>Marius Mårnes Mathiesen</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2008/1/18/rest-hvilken-vakker-ting</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/xQpEeBhQxyo/na-kan-du-folge-bloggen-var-pa-twitter" rel="alternate" />
    <title>Nå kan du følge bloggen vår på Twitter</title>
    <content type="html">&lt;p&gt;har fått både oppmerksomhet og pepper i det siste, sist etter at de gikk ned under Macworld her om dagen. Vi har nå laget oss en bot som du kan følge for å få oppdateringer fra bloggen vår inn i Twitteren din.&lt;/p&gt;&lt;p&gt;I første omgang har vi lagt inn funksjonalitet for at &lt;a href="http://twitter.com/shortcut_blog"&gt;Twitter-boten vår&lt;/a&gt; sier fra hver gang noen poster kommentarer på blogginnlegg. Det kan neppe være lenge til også nye artikler annonseres.&lt;/p&gt;


	&lt;p&gt;For å motta oppdateringer fra boten vår går du inn på &lt;a href="http://twitter.com/shortcut_blog"&gt;profilen hennes&lt;/a&gt; og trykker på &amp;#8220;Follow&amp;#8221;-knappen. Du må selvsagt ha en Twitter-konto for at dette skal fungere.&lt;/p&gt;


	&lt;p&gt;Så lover vi å si fra &amp;#8211; via Twitter såklart &amp;#8211; så snart noe nytt er på plass.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/xQpEeBhQxyo" height="1" width="1"/&gt;</content>
    <author>
      <name>Marius Mårnes Mathiesen</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2008/1/17/na-kan-du-folge-bloggen-var-pa-twitter</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/76i8yj96ziA/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øre på web er jo dette tross alt en teknologiblogg. Vi har idag gjort litt om på URLene her på nettstedet.&lt;/p&gt;&lt;p&gt;For å score sånn noenlunde på søkbarhet er ett av kriteriene at URLen gjenspeiler innholdet i artikkelen. Når man bygger en blogg i Rails fra grunnen av, slik vi har gjort med denne bloggen, er minste motstands vei å bruke den unike ID&amp;#8217;en til en artikkel som basis for URLen til den. Fram til nå nettopp var adressene til artikler på denne bloggen nettopp slik: &lt;pre&gt;http://shortcut.no/posts/1&lt;/pre&gt;&lt;/p&gt;


	&lt;p&gt;Nå er det antakelig mindre interessant for deg som leser denne bloggen hvilken ID databasen vår tildeler artiklene i bloggen. Det som kanskje &lt;em&gt;er&lt;/em&gt; av betydning er tittelen på artikkelen og når artikkelen ble skrevet. En veldig vanlig måte å gjøre dette på er å bruke &lt;a href="http://en.wikipedia.org/wiki/Permalink"&gt;Permalinker&lt;/a&gt;, der bå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="code" class="ruby"&gt;
class Post &amp;lt; ActiveRecord::Base
  before_create :create_permalink
end
&lt;/pre&gt;

	&lt;p&gt;Dette filteret gjør noen helt enkle operasjoner:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Først erstattes alle norske tegn (æ, Æ, ø, Ø, å, Å) med tilsvarende internasjonale tegn (a, o og a)&lt;/li&gt;
		&lt;li&gt;Deretter gjøres permalinken til små 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="code" class="ruby"&gt;
class PostTest &amp;lt; ActiveSupport::TestCase
  def test_permalinks
    post = @user.posts.new(
      :title =&amp;gt; "Godt nyttår fra Østerdalen 123")
    assert post.save
    assert_equal(
      "godt_nyttar_fra_osterdalen_123", 
      post.permalink)
  end
end
&lt;/pre&gt;

	&lt;p&gt;Vi har valgt å ikke kreve at permalinkene skal være unike, dette ville hindret oss fra å skrive to artikler med samme tittel. Istedet bruker vi routingen i Rails til å sørge for at vi henter riktig artikkel. Linkene til artikler genereres i en helper, slik:&lt;/p&gt;


&lt;pre name="code" class="ruby"&gt;
def permalink_to(post, label)
  link_to(label, permalink_url(post))
end

def permalink_url(post)
  url_for(
    :controller =&amp;gt; "/posts", 
    :action =&amp;gt; "show_permalink", 
    :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 å skille dette ut i to metoder kan vi både bruke helperen til å generere en permalink-link som kan brukes for seg selv og en link_to-lignende syntaks. Helperen sørger for å sende med parametre for år, må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="code" class="ruby"&gt;
  map.permalink '/posts/:year/:month/:day/:permalink', :controller =&amp;gt; "posts", :action =&amp;gt; "show_permalink" 
&lt;/pre&gt;

	&lt;p&gt;Datoen havner nå 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år.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/76i8yj96ziA" height="1" width="1"/&gt;</content>
    <author>
      <name>Marius Mårnes Mathiesen</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2008/1/8/penere-adresser</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/TNZN21P1eKo/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å hvordan du kan bruke dette til å få til ganske avanserte ting i Rails-programmet ditt.&lt;/p&gt;&lt;p&gt;I &lt;a href="http://api.rubyonrails.org/classes/ActiveRecord/Aggregations/ClassMethods.html#M001344"&gt;dokumentasjonen for composed_of&lt;/a&gt; stå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å bruker &lt;code&gt;has_one :address&lt;/code&gt; for å koble personen med adressen.&lt;/p&gt;


	&lt;p&gt;En annen løsning er å 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år av en gateadresse og et postnummer. Dette kan man kode slik i Rails:&lt;/p&gt;


&lt;pre class="ruby" name="code"&gt;
class Person &amp;lt; ActiveRecord::Base
  composed_of :address, :class_name =&amp;gt; "Address", 
    :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 å manipulere disse feltene direkte:&lt;/p&gt;


&lt;pre class="ruby" name="code"&gt;
me = Person.find_by_name("marius")
me.address = Address.new("Nonnegata 21","0656")
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å. La oss si at du ønsker å også kunne hente ut poststed til en norsk adresse. La oss sette opp fø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æ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 å få dette til lager vi en egen ActiveRecord-klasse (med en tilhørende tabell) for poststeder (Zip). Vi kan laste ned en fil som inneholder alle norske postnummer og -steder fra &lt;a href="http://epab.posten.no/Norsk/Nedlasting/NedlastingMeny.htm"&gt;Posten&lt;/a&gt; og så lage en &lt;a href="http://pastie.caboo.se/134915"&gt;Rake-task som bruker denne fila til å oppdatere zips-tabellen&lt;/a&gt;. Du har da en Zip-klasse som kan se omtrent sånn ut:&lt;/p&gt;


&lt;pre class="ruby" name="code"&gt;
class Zip &amp;lt; ActiveRecord::Base
  validates_uniqueness_of :number
end
&lt;/pre&gt;

	&lt;p&gt;Om du så 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="ruby" name="code"&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="ruby" name="code"&gt;
me = Person.find_by_name("marius")
me.address = Address.new("Nonnegata 21","0656")
me.address.postal_place  =&amp;gt; # OSLO
&lt;/pre&gt;

	&lt;p&gt;Vi sukrer pillen litt til ved å la deg få en snasen måte å representere adresser på i viewet ditt:&lt;/p&gt;


&lt;pre class="ruby" name="code"&gt;
class Address &amp;lt; ActiveRecord::Base
  def to_s
    "#{street}, #{postal_code} #{postal_place}" 
  end
end
&lt;/pre&gt;

	&lt;p&gt;Så vil du kunne skrive ut en adresse i viewet ditt på den mest naturlige måten:&lt;/p&gt;


&lt;pre class="ruby" name="code"&gt;
me = Person.find_by_name("marius")
me.address = Address.new("Nonnegata 21","0656")
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åtte ha en gyldig adresse for å kunne lagres. Her skal vi rett og slett basere oss på duck-typingen som ligger i Ruby. Vi skal først bruke &lt;code&gt;validates_associated&lt;/code&gt; metoden for å si at en &lt;code&gt;Person&lt;/code&gt; skal validere sin tilhørende &lt;code&gt;Address&lt;/code&gt;:&lt;/p&gt;


&lt;pre class="ruby" name="code"&gt;
class Person &amp;lt; ActiveRecord::Base
  validates_associated :address
end
&lt;/pre&gt;

	&lt;p&gt;Det har ikke noe å 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å det tilhørende &lt;code&gt;Address&lt;/code&gt;-objektet. Dette kan vi implementere slik:&lt;/p&gt;


&lt;pre class="ruby" name="code"&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ørget for at en &lt;code&gt;Person&lt;/code&gt; bare er gyldig dersom dens tilhørende &lt;code&gt;Address&lt;/code&gt; er gyldig også.&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 å lagre penger i databasen på en fornuftig måte ved å bruke et eget &lt;code&gt;Money&lt;/code&gt;-objekt.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/TNZN21P1eKo" height="1" width="1"/&gt;</content>
    <author>
      <name>Marius Mårnes Mathiesen</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2008/1/4/magi-i-rails-med-composed_of</feedburner:origLink></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="http://feedproxy.google.com/~r/shortcut_blog/~3/k5p6f0gxFQg/ny-blogg" rel="alternate" />
    <title>Ny blogg</title>
    <content type="html">&lt;p&gt;Den &lt;em&gt;vanskelige&lt;/em&gt; første posten, hva skal man skrive om?&lt;/p&gt;&lt;p&gt;Vi, altså John Eivind Hallén og Marius Mårnes Mathiesen, sluttet i &lt;a href="http://fatguy.no/"&gt;Fatguy&lt;/a&gt; i begynnelsen av desember, og er nå midt oppe i prosessen med å starte med ganske blanke ark.&lt;/p&gt;


	&lt;p&gt;Denne bloggen vil inneholde små og store drypp om de tingene vi er opptatt av, kort oppsummert som design og utvikling. Og for at det ikke skal være helt tomt: dette er aller første post her på bloggen vår.&lt;/p&gt;


	&lt;p&gt;Om det er noe som ikke funker (RSS-feed, kommentarer), noe du misliker eller du bare vil ønske oss velkommen: legg gjerne igjen en kommentar nedenfor!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/shortcut_blog/~4/k5p6f0gxFQg" height="1" width="1"/&gt;</content>
    <author>
      <name>Marius Mårnes Mathiesen</name>
    </author>
  <feedburner:origLink>http://blog.shortcut.no/blogg/2008/1/4/ny-blogg</feedburner:origLink></entry>
</feed>

