Følg mig på mail!

Indtast din mail nedenunder, så får du en besked hver gang jeg skriver noget nyt!

I perioder kan jeg finde på at skrive mere end andre gange, så er du advaret ;)

torsdag den 9. juni 2011

Genkende brugeren

En del af min ide er at flytte arbejdet med indstillinger for applikationen online. Grunden er at det som regel kun er en enkelt gang det skal gøres til min app. Men for at jeg kan genkende brugeren, når han bruger min app, bliver jeg nødt til at få ham til at indtaste en oplysning i applikationen.

Derfor vil jeg gemme oplysningerne jeg får fra facebook i en database, og så samtidig genere en kode til brugeren. Tanken bag ved at gøre det her er at gøre det så nemt som muligt for brugeren. Derfor vil jeg lave en kode der er:

  • kortest mulig
  • Nemmest muligt at skrive på en android telefon.
Når man normalt generer et ID i PHP og MySQL er det en integer (normaltal), der bare stiger med 1 hver gang. Med hvis jeg nu får 10.000 brugere, eller helt utopisk 60.000 brugere, som er det tal der bruger lectio, og dermed kan få noget ud af min applikation, så skal jeg have 5 tegn. Det lyder ikke af meget, men lad os se om ikke vi kan gøre den kortere ;)

Når jeg siger det på den måde så betyder det naturligvis at det er der en løsning på. Det er ikke sikkert at alle vil mene at den er vildt relevant for 5 tegn, men lad os forestille os at jeg laver et app der er 400.000 brugere der vil have, og indtaste indstillinger på facebook. Jeg kan klemme 456.975 brugere ned i et ID på 4 tegn. Hvis jeg ville kunne jeg endda få klemt 1.679.615 ind på de 4 tegn. Og hvis jeg gik helt ud i ekstremerne kan jeg måske klemme hele 2.313.440 ned på dem. Men jeg er ret sikker på at det sidste ville volde mig lidt kompabilitetsproblemer.

Måden jeg gør det på er at bruge nogle andre talssytemer end dem vi kender. Mange kender måske 2-talssystemet, også kaldet binært (10001011101 = 1117). Dette har den modsatte effekt, da det gør tallene lange. Derfor skal jeg op i nogle talssytemer der har over 10 tegn, som vores eget har. Tag og kig lidt på den tabel jeg har lavet her, hvor jeg forklarer hvilke talsystemer jeg bruger til at lave så mange brugere på 4 tegn.
Antal brugere der kan håndteres Talsystem der er brugt Tegn der er brugt
2.313.440 39-talssystem 0-9 og A-Æ (med W)
1.679.615 36-talssystem 0-9 og A-Z (med W)
456.975 26-talssystem A-Z (med W)

I den øverste linje bruger jeg hele det danske alfabet (Hvorvidt W hører med kan man diskutere, men den er med her. ), men jeg kan ikke være sikker på at det virker. Linjen nedenunder består af numre og det engelske alfabet. Der er der ingen problemer. I den nederste bruger jeg kun bogstaverne i det engelske alfabet. Hvorfor jeg har taget den med kan du se nedenunder.

For det næste punkt er at det skal være nemmest muligt at skrive på en android mobil.
Billede fra Android Developers
Til venstre ser i et billede af hvordan tastaturet på en android mobil normalt ser ud, med mindre den bruger T9.

Som i kan se, så er det kun det engelske alfabet der er på tastaturet, og der er ingen tal. Hvis man vil skrive tal skal man på en anden "side" af tastaturet.

Min applikation skal max håndtere 60.000 brugere. Derfor er det alt nok at bruge mit 26-talsystem. Selvom dette er ved at blive et ret langt indlæg, vil jeg lige fortælle hvordan sådan et 26-talsystem fungerer. Jeg vil også smide lidt kode i selv kan snuppe.

Det jeg skal have lavet er så hvert bogstav repræsenterer et tal. Mange vil nok mene at A = 1. Men hvad skal så repræsente 0? Da jeg ikke vil bruge tal, sætter jeg A til at være 0. Dermed bliver Z til 25. Det vil sige at på den første plads kan der være værdier fra 0 - 25. Dermed skal tal nummer 2 symbolisere 26. Man kan finde ud af hvor meget "pladsen" skal symbolisere ved at tage 26x hvor x er pladsen tallet står på, minus 1.

Hvis i ikke forstår min, ret kringlede, forklaring af et 26-talssystem, er du velkommen til at skrive i kommentarerne :)

Det blev et langt indlæg, måske bliver det næste kortere. Måske ikke...
Kenneth Rasmussen

onsdag den 8. juni 2011

Tjekke om brugeren er fan

Der blev jeg bange. Troede lige jeg skulle til at have tilladelse alligevel for at tjekke om en bruger var fan af min side. Heldigvis var det ikke sådan. Jeg prøvede en funktion der hele tiden meldte fejl, men til sidst fandt jeg frem til den her:
Stack Overflow - isFan. Det virker (y)

Der kommer måske lidt mere fra mig i dag, men det er ikke sikkert, da jeg skal på arbejde her kl. 15:00.
Kenneth Rasmussen

Eventyret om Bruger ID

I aftes og i nat, og igen i dag har jeg rodet med at få fat i brugeren ID. Først ville jeg bruge FBML, men da facebook er ved at fase det ud har jeg valgt at finde en anden løsning - for jeg gider ikke lave det om om 2 måneder. Ægte dovenskab er at gøre tingene ordentligt første gang!

Hvordan kan jeg så få fat i brugeren ID? Jeg har google en hel del på det her, men de fleste har været løsninger hvor FBML har været brugt på den ene eller anden måde. Nogle sider siger endda "Det kan man ikke" (Frit fortolket). Jeg var ved at miste modet da jeg kom med en ny ide. Hvad hvis nu jeg laver den som en applikation, der skal bruges som et faneblad på min side?. Ideen synes jeg jo er god nok, men der er det minus at jeg skal bruge brugerens tilladelse. I hvert fald i følge Facebook. Jeg brugte deres PHP API, og efter deres eksempel fik jeg fremtryllet noget der virkede, hvis jeg bad brugeren om tilladelse. Hvis det ikke kan blive anderledes, må jeg jo leve med det.

Men som mange af jer nok ved, så tæller hvert klik i en registringsprocess. Så jeg gav ikke sådan lige op. Lige nu sidder jeg og skal ind til kemi-eksamen om 5 minutter, og de sidste 1½ time har jeg arbejdet på en løsning. Løsningen var dog ret ligetil, og burde slet ikke tage 5 minutter. Jeg kan ganske enkelt bare lade være med at tjekke for brugerens tilladelse, fordi brugerens ID er offentlig! Såre simpelt! Så derfor har jeg nu fået fat i brugerens ID, uden at bede ham om tilladelse!

Som en fodnote vil jeg sige, at jeg synes ikke at dette på nogen måde skader sikkerheden omkring facebook, da jeg ikke kan hente det indhold brugeren har sat til privat, uden hans tilladelse. Altså kan jeg ikke se mere end andre kan hvis de går ind på hans profil.

Men nu vil jeg fokusere på min kemi eksamen. Jeg skriver igen senere. 
Kenneth Rasmussen

tirsdag den 7. juni 2011

Velkommen til

Hej, og velkommen til min nye blog.

Bloggen her har et enkelt formål, nemlig at andre kan følge med i hvordan det går med min Android Applikation, og dens udbredelse via facebook.

Det lyder måske ikke som nogen synderlig stor begivenhed, eller et særligt godt emne at skrive en blog om. Men grunden til at jeg alligevel har valgt det, er at der ikke kommer nogen hjemmeside til Applikationen, og samtidig bliver den heller ikke distribueret i Android Market. Derfor er den lidt speciel.

Udover det er det også planen at brugeren skal indtaste sine oplysninger via facebook, og så bare skal indtaste et ID nummer på sin mobil.

Der vil løbende komme statistiker, testimonials og hvad jeg nu ellers lige kommer på. 

Jeg håber at i glæder jer til at læse med, jeg glæder mig i hvert fald til at skrive om hvordan det går.

Over and Out:
Kenneth Rasmussen