Sunday, April 22, 2012

app-cm-nightlies update

A lot have been downloading my simple cyanogenmod changelog application, it was deployed to market in about 2 days when someone sends an email asking if i could add x device to the list.

Given the nature of cm-nightlies.appspot.com i couldn't pull the device list directly from the site and had to hardcode and distribute a static list of devices with the application, later i discovered that the whole site's source code was available at github. Nice, i just added the functionality my self.

tonky pulled my merge request and i just updated the application to automatically refresh devices as they are added by the cyanogenmod community, Cool :)

Thursday, April 19, 2012

Historien om en kop kaffe

Sørme om ikke Statoil har opdateret deres app, så den ikke længere gemmer antallet af købte kopper kaffe direkte i telefonen, men i stedet gemmer et unikt device id. 


Gad vide hvor de fik den ide fra? ;)

Deres gamle backedUpPreferences.xml:


Deres nye backedUpPreferences.xml:

Tuesday, March 27, 2012

Get your curiosity satisfied with cyanogenmod changelog

Wanting to learn about the Actionbar and compatibility with older versions of android, i've made a simple changelog viewing app for cyanogenmod.


The motivation is pretty simple: Finding my self perioticly refreshing the cm-nightlies.appspot.com page looking for exciting changes - i thought it could be cool to have this in my pocket :)

Its available in Google Play (former Android market) and the source code is available at github.

P.S. I'll be happy to receive a pull request with a nice launcher icon - i'm not that into graphics :)

Monday, January 23, 2012

Monitor your dropbox folder changes with GeekTool and PHP

I daily use Dropbox to share files with my friends and customers and with a lot of folders shared it can become quite distracting to have growl popping up every 2 seconds.

On the other hand its often nice see what people are actually doing with your files, and with the excellent GeekTool for OSX its posible to embed this information on your desktop, like this:


The script is written in php which i think is available on the Mac out of the box (I certainly dont remember installing it my self).

The script is available here - you need to edit the file and put your dropbox event feed in the $feedUrl variable and your ready to go :)

Tuesday, December 6, 2011

Tak for kaffe ... Statoil

Statoil har lagt en reklame app ud i market. Egentlig synes jeg den virker ganske gennemarbejdet, specielt hvis man sammenligner den med andre apps der ikke rigtig har andet formål end at reklamere for brands.

Kaffekortet
Men en sjov feature appen har er dette her klippekort.

 

Tanken er naturligvis at man skal trykke på en kop og give telefonen til personalet man handler med, for så at unlocke en kop af gangen - indtil man har købt 10 kopper kaffe.

Koden til at unlocke en kop kan man af gode grunde ikke vide, app'en spørger en statoil server ude i verden efter om det man har indtastet er korrekt og den svare selvfølgelig ugyldig kode, med mindre man er statoil ekspedient ... formentlig :)


Det er jo i bund og grund som det skal være, og man tænker ved sig selv - endelig nogen som har lavet det som det bør være - Men nææh nej! :)

Af en eller anden grund har udviklerne af app'en valgt at lade tælleren ligge ude på telefonen, hvilket betyder at snydere i praksis bare kan sætte et 10 tal ind i en xml fil - og så tror applikationen ellers blindt på denne tæller.

Hvis man tager et hurtigt kig ned i mappen /data/data/statoil.denmark/shared_prefs finder man 2 xml filer, som formentlig oprettes via androids Shared Preferences API.

backedUpPreferences.xml indeholder tælleren - så kan den ellers bare skiftes ud med adb push og en tilsvarende fil med tæller med en værdi efter ejet ønske. Dette kræver dog at telefonen er rooted, eller at man som jeg selv - blot leger med applikationerne i android emulatoren.

Og wupti - en gratis kop kaffe:

Nu får jeg nok selv svært ved at forklare en eventuel Statoil ekspedient at den er go nok og at jeg altid har min android emulator med mig når jeg handler kaffe, men ikke destomindre vil jeg da synes det er en halv problematisk implementering for Statoil.

Ud fra deres navngivning af filen backedUpPreferences.xml antager jeg at det er fordi at de ønsker at tage backup til folks google konti med android frameworket, men jeg kan ikke forstå hvorfor de ikke bare tager backup af den unikke device key de alligevel genere og gemmer i GLOBAL_PREFERENCES.xml og så ligger tælleren i en database hos dem selv sammen med deviceid'et. Og så selvfølgelig kun ligger +1 til når der angives en korrekt kontrol kode samt at applikationen så spørger deres "Mobile Application Backend" om hvormange kopper der er købt, i stedet for at stole blindt på en lokal tæller.

Skulle brugeren midste sin telefon og købe en ny - burde den unikke nøgle blive restored når han installere applikationen igen.

Update 19. 04. 2012 Se Historien om en kop kaffe

Wednesday, November 16, 2011

Endnu mere Danske bank API

Michael fra wmp har også lagt et simpelt library ud til danske bank, denne gang i .NET med ca samme funktionalitet som mit eget php library, så der er noget for en hver smag for folk der gerne vil snakke direkte med banken :)

Selv er jeg ved at rode med en widget som viser de seneste 4-5 transaktioner så man kan have den på sin main screen, og i den forbindelse er det første spade stik taget til et android library tilgængeligt på github.

Det er enkelt at bruge:

Men det er frygteligt at tænke på - android library'et indtil vidre fylder ~480 linjer kode, mens php klassen tidligere nævnt kun fylder 88 linjer kode. Kanske jeg skal have læst op på java og android platformen  :)

Monday, November 14, 2011

Danske Banks udokumenterede smartphone API

Halløj

Nu hvor jeg har fået sat min android emulator op så jeg kan læse krypteret ssl trafik mellem emulatorens applikationer og internettet, har jeg været ved at rode med Danske Banks Mobilbank app for at hitte ud af hvordan den snakker med banken, så jeg selv kan snakke med banken! Jubii.

Grundene til det er mange, men mest af alt lysten til at lære hvordan de har lavet kommunikationen også tilfredsstille personlige krav som f.eks:

  1. At have adgang til mine egne bank data, og gøre med dem hvad jeg vil.
  2. Lave et vækkeur der donere penge når man sover over
  3. Android widgets der viser ens balance eller måske 3-4 sidste transaktioner.
  4. Dashboard widgets med balance og transaktioner.
  5. Lave et stort led display til lejligheden der viser fælleskontoens balance - Så man let kan finde ud af om man skal gå ud og spise eller lave noget selv, desværre er de halv dyre, så det ender nok med at blive et meget lille lcd display :)
Der er flere tools der tilbyder at lave mitm attacks, wireshark, fiddler (desværre kun til windows) og så vidre, jeg har dog fundet Charles web proxy meget let at gå til specielt på mac'en, men hvis der er tale om andet end http(s) trafik er wireshark formentlig at fortrække. 


Oven over ses et pr screenshots af hvordan det forgår, man starter først Charles op og enabler SSL proxying, starter sin emulator med parameteren -http-proxy fra dokumentationen og derefter sender den alt tcp trafik igennem charles. 

Efter at ha luret lidt på hvordan den snakker med banken, lavede jeg mit eget lille terminal app som en slags proof of concept ... ting.

Appen er implementeret i php og skulle kunne køre direkte fra en hver Mac. (Eller andet grej med PHP 5.3 eller højere).
Kildekoden findes her: mobilbank.php og DanskeBank.php

Lad mig endelig høre om spændende brug af api'et :)