torsdag 26 september 2013

Hur säkra är Tink och Qapital?

Flera tjänster som erbjuder automatisk analys av ens privatekonomi har börjat dyka upp, exempelvis Qapital och Tink. Gemensamt för dessa är att de behöver åtkomst till ens bank- och kreditkortstransaktioner, vilket de löst genom att be användarna om deras inloggningsuppgifter till bankernas mobilappar eller "förenklade inloggningar" på webben. Här hajar man förhoppningsvis till - dela med sig av användarnamn och lösenord i klartext till tredje part? Tjänsterna är dock snabba med att försäkra en om att det inte är någon fara. Tink skriver:
På Tink kan du bara se din ekonomi, varken du eller någon annan kan någonsin göra varken överföringar eller betalningar. - https://www.tink.se/sakerhet/ (2013-09-26)
Och Qapital lovar motsvarande:
För att du enkelt ska kunna organisera din ekonomi hämtar Qapital automatiskt in genomförda transaktioner från de konton du själv kopplat till tjänsten. Eftersom vi enbart hämtar in historisk information, behöver vi inte full åtkomst till dina konton. Det är därför inte ens möjligt att göra överföringar av pengar via Qapital – säkrare än så blir det inte. - https://www.qapital.se/#!omqapital/sakerhet (2013-09-26)
Detta låter ju betryggande. Om det ändå vore sant!

Problemet är att bankerna generellt bara har två olika säkerhetsnivåer för åtkomst till ens konton. Dels fullständig åtkomst via internetbanken, där man typiskt loggar in med en "bankdosa". Och dels en enklare inloggning via antingen webb eller mobilapp, där man istället använder ett lösenord.

Det är alltså den senare inloggningen som Qapital och Tink använder. Och vad kan man då göra om man har dessa uppgifter? Det är enkelt att ta reda på - bara att logga in i exempelvis bankens mobilapp och testa. Framför allt finns möjligheten att genomföra överföringar och betalningar till mottagare som man lagt till i förväg (via internetbanken och den säkrare inloggningen).

Jag är övertygad om att de här tjänsterna menar väl och är ganska säker på att de inte utnyttjar bankinloggningsuppgifterna till mer än de absolut behöver, men det är ändå bedrägligt att försöka ge intrycket att det är omöjligt att missbruka dem. Vem som helst som du lämnar ut dina inloggningsuppgifter till kan göra precis samma saker med dina pengar som du själv. Banken kan inte magiskt avgöra om det är du eller någon annan som loggar in, de ser bara att lösenordet stämmer.

Grundproblemet är att bankerna är ovilliga eller bara långsamma när det gäller att tillhandahålla kundernas data på ett vettigt sätt. Det som skulle behövas - och som jag tror skulle vara relativt enkelt att implementera - är någon form av delegerad säkerhetsmodell, enligt samma princip som när man "loggar in med Facebook" på en fristående sajt. Då skulle man som kund kunna få en överblick över vilka tredjepartstjänster man har givit tillgång till vilka bankfunktioner, och även ha möjlighet att återkalla dessa tillstånd när man så önskar.

Det är bara att hoppas att bankerna snart inser att de faktiskt bidrar till sämre säkerhet genom sin passivitet, eftersom kunderna väljer att dela ut sina inloggningsuppgifter för att få tillgång till funktioner som bankerna själva inte klarar att tillhandahålla. Tills detta händer, var restriktiv med att sprida dina inloggningsuppgifter!

måndag 26 december 2011

Dags att ändra sättet vi ser på TV

Det är ingen nyhet att vi numera ständigt bombarderas med intryck och information från alla möjliga håll. Kanske stressande och kaosartat för en del som minns då familjen samlades runt hemmets radioapparat, men de som växer upp mitt i allt detta lär sig att sålla och - framförallt - att välja. På Facebook väljer vi vilka vi vill interagera med och vilka vi hellre ignorerar. På Twitter kan vi selektivt följa just de personer och företag vi tycker är intressanta. iTunes låter oss prenumerera på podcasts och lyssna när det passar oss. Vi svarar inte reflexmässigt när telefonen ringer utan tar först ställning till om det passar att prata överhuvudtaget, sedan om vi har lust att prata med just den person som ringer.

Som jag ser det går vi allt mer från att bara svälja det vi matas med till att själva göra aktiva val. Så varför har inte TV utvecklats mer? Digital-TV var en omfattande omställning, men för de flesta handlade det mest om att behöva köpa ny utrustning för att sedan fortsätta titta som tidigare. Nyheter på ettan klockan 1930, arga snickaren på femman lite senare, film på fyran efter det. Visst, hårddiskinspelning och playtjänster ger oss lite mer frihet och valmöjlighet, men vilket syfte fyller egentligen TV-kanalerna år 2012?

Jag menar inte att det som produceras är dåligt. Jag vill fortfarande ha public service, nyheter och sportkrönikor. Men plattformen vi använder för att konsumera innehållet tycker jag känns hopplöst föråldrad, en rest av de tekniska begränsningar som tidigare bestämt vad som är möjligt och inte. Och i vissa fall tillför kanalerna ingenting alls förutom att vara just en...kanal...för produktionsbolagen.

Vad jag skulle vilja se är en AppStore för TV-program. En gemensam publiceringsplattform eller marknadsplats där olika innehållsproducenter kan tillgängliggöra och, om de vill, kapitalisera på sina verk. SVT kanske lägger upp ett (skattefinansierat?) public service-programutbud, TV4 säljer Idol 2012 för 15 kr per avsnitt eller 100 kr för hela säsongen. Hockeyligan tillhandahåller alla elitseriematcher live. Blondinbella kan publicera veckans modesvep och universiteten kan lägga upp föreläsningar åt studenter och andra vetgiriga.

Vi konsumenter kan plocka precis de programserier, avsnitt och livesändningar som vi är intresserade av eller välja något färdigt paket. Vi tittar när det passar oss, har alltid möjlighet att gå tillbaka och se program vi köpt tidigare och behöver inte betala för hela kanaler när det bara är en viss serie vi egentligen vill åt. Kanske kan vi i varje givet tillfälle bestämma om vi kan tänka oss reklamavbrott då och då eller om vi hellre lägger en slant på att få titta oavbrutet utan distraktioner.

Det finns ingen teknisk anledning till att det inte ser ut så här redan. Jag är övertygad om att det finns ett intresse från både slutkundernas och exempelvis annonsörernas sida. Så varför är det ingen som tar steget?

måndag 3 oktober 2011

Introducerar Gymdags.nu

De stora gymkedjorna är bra på många saker, men IT-relaterade tjänster hör tyvärr inte till dessa. Jag har länge tyckt att bokningssystem och klasscheman varit omständliga att hantera och överblicka, vilket känns som en onödigt frustration i vardagen.

Som ett försök att lösa några av dessa problem har jag byggt ihop Gymdags, en gratistjänst som gör det lätt att sätta ihop ett eget klasschema som sedan är tillgängligt via en enkel webbadress. Den aktuella versionen är ganska rudimentär, men innehåller några smidiga funktioner:
  • Klasscheman för SATS, WorldClass, Balance och Friskis & Svettis (Stockholm).
  • Möjlighet att se klasser från flera olika gym i samma schema.
  • Möjlighet att inkludera endast de specifika klasstyper man är intresserad av.
  • Kort webbadress till schemat som är lätt att komma ihåg.
  • Utskriftsvänligt schema.
  • Möjlighet att få sitt schema i iCalendar-format, vilket innebär att man alltid kan ha det aktuella schemat tillgängligt i sin smartphone, Microsoft Outlook, Apple iCal, Google-kalendern med flera.
Testa gärna! Och om du har frågor eller kommentarer är du varmt välkommen att skriva till Gymdags på Twitter eller via e-post.

onsdag 6 juli 2011

Experimenterande med Knockout, jQuery och ASP.NET MVC 3

Webbaserade användargränssnitt med den typ av funktionalitet som användare är vana vid och förväntar sig kan vara kluriga att bygga, och det är lätt att man efter ett tag sitter med en soppa av funktioner, event handlers, markup och styles som är gravt jobbig att vidareutveckla och underhålla. Då kan det vara en bra idé att testa något ramverk eller bibliotek som är framtaget för att styra upp strukturen i applikationen och koppla isär de olika teknikerna som måste ingå.

Knockout är just ett sådant litet ramverk (gratis + open source) implementerat i Javascript. I princip går det ut på att man modellerar de beteenden och funktioner som ska stödjas av användargränssnittet, utan att blanda in något grafiskt. Detta resulterar i en "view model" i form av en eller flera Javascriptklasser. Sedan designar man själva "vyn" i HTML och kopplar ihop den med sin view model genom deklarativa databindningar. Om användaren klickar på en knapp, fyller i ett textfält eller liknande så uppdateras view model-instansen automatiskt i bakgrunden, utan att man behöver fånga några events eller liknande. 

Jag har använt Knockout i ett par jobbuppdrag, och min erfarenhet har varit mycket positiv. Det är mycket lätt att komma igång med, så jag rekommenderar varmt den som är det minsta nyfiken att ta en titt på den officiella webbsajten eller kanske läsa blogginlägget jag skrev igår.

tisdag 14 december 2010

Fyra molntjänster för den frilansande IT-konsulten

Efter att ha arbetat ett par år som oberoende IT-konsult inom .NET-utveckling har jag testat flera olika stödapplikationer och -tjänster för både mitt dagliga arbete och den oundvikliga administrationen. Här tänkte jag dela med mig av några tips som kan vara intressanta för den som föredrar att hålla sin verktygslåda lätt och smidig genom att utnyttja "molnet".

Google Apps
Google erbjuder webbaserad e-post, kalender, dokumenthantering och mycket mer till ett väldigt överkomligt pris - nämligen gratis. Vill man ha tillgång till lite mer avancerade inställningar kan man köpa premiumversionen vilket kostar 50 USD (cirka 350 kr) per år. Värt att nämna är att e-posttjänsten (Gmail) är riktigt snabb och smidig - lätt den bästa webbmail jag använt. Kalendern är också klockren, och det fungerar fint att skicka mötesinbjudningar till kunder och partners som använder exempelvis Microsoft Exchange/Outlook.

En faktor som skiljer Google Apps från Googles "vanliga" tjänster för privatpersoner är att man alltid utgår från ett eget domännamn. Ett sådant kostar omkring en hundralapp per år och kopplas enkelt ihop med Google Apps-kontot i registreringsprocessen. Det är också fullt möjligt att exempelvis ha en webbsida hos ett webbhotell men e-posten hos Google; man måste inte samla allt på ett ställe.

Google Apps-tjänsterna är som sagt webbaserade vilket innebär att man kommer åt dem över nätet med hjälp av webbläsaren. Däremot finns det "offlinestöd" i moderna webbläsare som Google Chrome vilket låter en jobba utan internetanslutning, vilket kan vara smidigt om man exempelvis jobbar "i fält" utan 3G-täckning och behöver kolla upp kontaktuppgifter eller liknande.

Harvest
När man jobbar som konsult är det förstås helt centralt att hålla reda på den tid man lägger på olika kunder och projekt. Till en början klarar man sig bra med ett kalkylblad (exempelvis via Google Docs), men allt eftersom antalet kunder växer får man lägga allt mer tid på tråkig (och onödig) administration om man inte har ett ordentligt systemstöd.

Efter ungefär ett år av frilansande började jag söka efter någon form av onlinetjänst för time-tracking och fastnade till slut för Harvest. För 12 USD (cirka 85 kr) per månad får man tillgång till ett överskådligt, smidigt och snabbt webbgränssnitt där man kan lägga upp kunder, projekt och uppgiftskategorier. Systemet är enkelt att använda men samtidigt kraftfullt - det är exempelvis fullt möjligt att tillämpa olika timtaxor per kund, projekt eller uppgiftstyp. Man kan registrera tid antingen i efterhand eller låta virtuella "tidtagarur" hålla reda på den i realtid.

Förutom att räkna timmar sköter man enkelt sin fakturering via Harvest. Fakturorna kan antingen laddas ner i PDF-format, skrivas ut, e-postas eller betalas direkt över internet vilket öppnar för många betalningsmöjligheter för kunderna. Självklart kan man anpassa hur fakturorna ska se ut, använda svensk valuta och liknande. Fungerar grymt bra.

När man väl har testat att använda ett "riktigt" system för hantering av tid och fakturering kommer man ha mycket svårt att gå tillbaka till kalkylblad och klipp-och-klistrande i dokumentmallar. Kostnaden motiveras enkelt med besparingen man gör på minskad administration. Att all data lagras "i molnet" är en fördel i och med att man inte behöver ta något eget ansvar för säkerhetskopiering eller liknande.

Jungle Disk
När man har en egen firma och jobbar med IT kommer man oundvikligen att samla på sig en hel del filer som man behöver ha på ett säkert ställe. Detta ställer krav på en vettig rutin för säkerhetskopiering, och det finns många olika strategier man skulle kunna tänka sig för att lösa detta. Jag har valt att göra det enkelt för mig och använder därför en molnbaserad backuptjänst, Jungle Disk.

Jungle Disk består av en klientprogramvara man installerar på de datorer som ska omfattas av säkerhetskopieringen (fungerar på Linux, Mac och Windows) plus själva lagringstjänsten som man egentligen aldrig behöver bry sig om - alla ens filer sparas på en (eller troligen flera) servrar någonstans i världen och man betalar bara för det utrymme man använder. Säkerhetskopieringen sker automatiskt i bakgrunden enligt ett schema man själv definierar.

Jungle Disk erbjuder flera olika paketlösningar med något olika funktionsuppsättningar. Jag använder det de kallar "Desktop Edition" eftersom det innehåller möjlighet att synka filer mellan datorer. Denna lösning har en månadsavgift på 3 USD + 0,15 USD per Gb lagringsutrymme (första 5 Gb gratis). I mitt fall brukar räkningen landa på några tior.

Synkfunktionen är värd att nämna för sig eftersom den är så smidig: man ställer helt enkelt in vilka mappar som ska hållas synkroniserade mellan datorerna, sedan sköter programvaran resten. Så fort en fil skapas, ändras eller tas bort uppdateras avbilden i molnet och propageras ut till alla berörda datorer. I praktiken innebär det att jag kan skapa ett dokument på min stationära dator, skriva några rader, spara, stänga av, åka ut till en kund, öppna min bärbara och direkt fortsätta jobba där jag slutade. Datorerna behöver inte vara igång samtidigt vilket jag tycker är en stor fördel. Funktionen liknar den populära tjänsten Dropbox, med skillnaden att har större kontroll över vilka mappar som ska synkas och kan synka olika strukturer på olika datorer.

Förutom genom klientprogramvaran även kan komma åt sina filer från en (gratis) iPhone-applikation samt via webben. Det är möjligt att lagra filerna i krypterad form och man kan välja om man vill använda Rackspace eller Amazon S3 som lagringsleverantör.

Kiln On Demand
När man jobbar med mjukvaruutveckling är det viktigt att använda någon form av versionshantering för all den källkod man skriver. Är man konsult tillhandahåller ibland kunden sådana system, men då så inte är fallet behöver man en egen lösning (detta rekommenderas starkt även för hobbyprogrammeraren). Det finns mängder av versionshanteringssystem men det jag fastnat för är Mercurial.

Mercurial (eller HG som det ofta förkortas) är ett så kallat distribuerat versionshanteringssystem, vilket skiljer sig från sin centrala motsvarighet genom att det erbjuder versionshantering både på varje klient (arbetsdator) och (om man vill) på en server. Man kan alltså ladda ner en arbetskopia från servern, jobba på den under en tid med fullt stöd för att brancha, rulla tillbaka och committa lokalt för att sedan till slut merga sina ändringar med huvudgrenen.

Mercurial är gratis programvara och man kan ladda ner och hantera sin egen installation om man vill, men jag har valt att även här satsa på en molnbaserad tjänst: Kiln On Demand. Detta är en lite extra "kryddad" version av Mercurial med särskilt anpassade klientverktyg och ett fint webbgränssnitt som tillhandahålls av det amerikanska företaget Fog Creek Software. Tjänsten finansieras av en månadsavgift, men det finns en student/startup/testversion för team upp till två personer som är helt kostnadsfri.

Fördelen med en molntjänst för versionshantering är att källkoden blir tillgänglig för alla ens datorer oavsett om man sitter ute hos en kund eller hemma, man behöver inte bekymra sig för säkerhetskopiering och man kan välja att ha olika arbetsversioner på respektive dator om man så vill. Plus att man slipper drifta en egen server eller lägga tid på att konfigurera själva systemet - det bara funkar.

Det finns en mängd gratiskomponenter som underlättar arbete med Mercurial/Kiln, bland annat en schysst Windowsklient och ett lika schysst Visual Studio-plugin.