Vi glömde visst förra veckans inlägg

Projektet har fortsatt gå bra. Vi har hunnit med de uppgifter vi satt upp i sprinterna samt dessutom ofta ett flertal av de extrauppgifter som vi lagt till. Vi har i nuläget hunnit med att upprätta kommunikation och omvandlingar mellan de olika delarna. Det vi fortfarande inte kan göra är att arbeta direkt mot STEP eftersom det fortfarand inte går att anropa STEP's web-API't. Detta gör dock inget eftersom vi i nuläget använder oss av dumydata. Poängen är att vi omvandlar en STEP-XML till gränssnitt i Android. Förutom det så kan vår mjukvara hämta ärendetyp-XML och omvandla till ärendetyper som visas i telefonen. Vi har dessutom en lösning på hur vi ska kunna läsa ut data från det genererade GUI't på ett enkelt sätt. Det är i skrivandets stund inte implementerat men vi kanske hinner peta in det innan slutinlämning. När det är gjort så borde inte vara speciellt svårt att skicka tillbaka ifyllt ärende till vår web service. Där är det dock stop i nuläget eftersom vi ännu inte vet hur MicroData vill att XML-dokumentet ska se ut som deras API ska ta emot.

Vårt val av att använda Json för dataöverföring har visat sig vara bra. Prestandan i mjukvaran är vad vi hitills kan konstatera väldigt bra. Att hämta datan från vår web service till att gränssnittet har ritats ut tar inte mer än en knapp sekund vilket kan jämföras med en webb-plats som ofta tar relativt lång tid att rendera i en telefon. Vi räknar med att det kommer ta lite längre tid när det gäller mer normala ärenden med kanske 50-60 index. Dumydatan vi utgår ifrån har inte mer än 9 index totalt.

Den senaste veckan har vi jobbat parallellt med utveckling och dokumentation. Vi är i slutfasen av dokumentering och ska försöka hinna med att slipa lite på det grafiska gränssnittet så det ser lite snyggare ut innan vi lämnar in.

Veckans sprintmöte

Vi är nu klara med veckans sprintmöte och kan konstatera att denna sprint också gick bra. Vi hann göra det mesta vi tänkt oss och dessutom en hel del extrauppgifter. Kommande sprint kommer vi fokusera runt sammansättning av hela projektet, fortsätta med upprättandet av kommunikation och omvandling av data. Vi har nu en SVN-server som snurrar på mitt sovrumsgolv, vilket känns mycket bra. Nu tar vi helg och käkar mat.

Byeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee!

Inga mer error i SVN

Vi har äntligen lyckats använda oss av subversion. Efter många tester mot sparky så gav vi upp och installerade en egen server. Då fungerade det mer eller mindre direkt. Så nu är det lätt att vara efterklok och inse att vi borde ha gjort det redan från början. Nu återstår bara det andra problemet. Vart ska vi ställa servern och på vilken dator ska vi ha den. Just nu är servern på Johannas dator men den sitter i sin tur på ett mobilt bredband när vi är på Microdata. Detta mobila bredband har inte en "riktig" IP-adress. Men enligt supporten på telenor så kan de fixa problemet för en extrakostnad per månad... dåligt. Istället får vi fiska fram en dator som kan stå hemma hos någon av oss och snurra med både web server och SVN. Detta kan ju tyckas lite onödigt nu när projektet snart ska lämnas in, men förhoppningsvis så ska projektet fortskrida även efter inlämning. I vilket fall som helst så ska vi sätta ihop projektdelarna till ett enda projekt så fort vi hunnit slipa upp koden på vissa delar av projektet. Så nästa vecka ska vi nog kunna testa hur det känns att versionshantera på riktigt.

Vi har börjat skriva på vår numera väldigt okonstlade webservice. Jsonparsing på denna är sedan tidigare skrivet men det ska implementeras i själva servicen. I nuläget kommer vi inte bry oss om säker anslutning, det kommer att ske i ett senare skede. Vi kan vilket fall som helst i nuläget inte koppla vår kod till Microdatas web-API eftersom det inte är färdigskrivet. Vi har dock diskuterat XML-strukturen som ska komma från den och kan börja förbereda för vår XML-parsning på vår web-service.

Som projektet ser ut nu så kommer vi mer eller mindre hinna med att få merparten av de olika delarna som ska samarbeta att fungera inför inlämning. Sen så kommer all implementering av stöd för alla tänkbara omständigheter få göras efter hand. Förhoppningsvis så kommer vi kanske hinna med att skapa grunderna i valideringen. Men de runt 17 datatyperna som ska kunna hanteras kommer inte kunna hanteras, förutom de mest grundläggande så som string och int. Men vi får se hur det utvecklar sig.

Första veckan som faktiskt fungerat bra

Idag har vi gått igenom hur vårt nya arbetssätt fungerar. Den fungerar över förväntan. Det har varit mindre stress, vi har fått våra uppgifter gjorda och projektet känns äntligen som det går framåt med inte allt för långsam fart. Visserligen har vi vid detta lag äntligen en överblick på både teknik och projektet i sig. Vilket fall som helst så känns det bra. Vi har dessutom fått bättre och bättre kontakt med Microdatapersonalen vilket också hjälper till. Denna vecka har vi fokuserat på att omvandla data i flera led. Vi har dock fortfarande ett led kvar och det är XML till och från microdatas web API. Här finns dock ett litet problem, deras API är i nuläget inte färdigskrivet vilket gör att vi i praktiken inte kommer kunna hämta och skicka vad vi vill innan inlämning av projektet. Detta är egentligen inget problem, vi kommer istället skicka "dummydata". Vilket passar bra för inlämning dessutom, tror inte det skulle vara speciellt bra att låta utomstående komma åt STEP. Inte för att det egentligen spelar någon roll eftersom det konto man i såna fall skulle komma åt är min och Johannas lilla sandlåda i STEP.

Vi har dessutom satt upp en ny sprint för nästa vecka och den kommer bestå i att samla ihop projektdelarna, se till att all dataomvandling fungerar, få igång Johannas PHP web service mot Android, få igång någon form av versionshantering (oavsett om det blir manuellt, på sparky eller någon annan stans). Sen kommer vi sitta i en del möten med Patrik på Microdata och komma överens om hur XML-datan ska se ut som kommer att skickas. Efter nästa vecka bör vi ha fullständig överblick på de typer av information vi kommer behöva kunna hantera i vårt projekt. I alla fall vad som behövs de närmaste veckorna. Så länge Microdata anställer oss i sommar så kommer projektet fortskrida ett tag till, vilket betyder mer typer av information, men det är inget vi behöver ta hänsyn till för tillfället.

I vår projektplan så skrev vi att projektgruppen ska göra något roligt tillsammans varje vecka. Denna vecka ska vi äta revbenspjäll, dricka öl och spamma ur oss slogans till Microdata. Den som kommer på den bästa slogan vinner biobiljetter, så vi får göra ett försök i alla fall. Så vill du vara med och ha chansen att vinna en biobiljett så hitta på en slogan och lämna den som kommentar. Microdata håller på med dokumentarkivering och ärendehantering.

Lycka till alla våra tre läsare.

Omplanering igen

Efter förre veckas delleverans så har vi bestämt att omplanera vissa saker. Vi har har haft problem med att tidsplanera vårt arbete och har ändrat vår sprint-planering till att bli veckobaserad. Vi hoppas på att detta ska fungera bättre då det ger oss en bättre överblick. Nuvarande planering som vi satt ihop känns bättre än tidigare planeringar så vi kanske han hålla detta lite bättre. Vi har dessutom ändrat vårt fokus när det gäller vilka uppgifter som ska utföras. Vi planerar att få de övergripande delarna att fungera istället för att försöka göra klart detaljer. Vi kommer dessutom i nuläget att skippa alla bitar som inte står som "must" i kravspecen. Detta kommer att göra att vi snabbare får fram en fungerande mjukvara. Sen så ska kraven implementeras efterhand. Med andra ord så kommer vi bygga ett skelett som vi sedan implementerar muskler på.

Oj, va mycket dokumentation

Vi sitter och dokumenterar för fullt för tillfället. Hoppas dock att de vi gör inte blir för mycket. Vi är för tillfället uppe i runt 10 sidor med text och diagram (till detta kommer kravspecifikationen, projektplanen och givetvis all kodkommentering). Problemet är att det fortfarande finns en del att skriva. Förutom all text så kommer vi lägga in diverse bilder på STEP och vår mjukvara med förklarande text. Samtidigt är vi lite rädda för att det inte ska framgå exakt vad vi gjort och vad vi håller på med. Vad jag syftar till är delar av det vi håller på med som är svårt att dokumentera, eftersom det handlar om diskussioner och idéer på hur vissa typer av problem ska eller kan lösas. Dessa idéer har i nuläget ingen fast form vilket gör att det är svårt att konkretisera dem utan att faktiskt bestämma sig för exakt hur delar ska fungera och se ut. För att inte kasta för mycket papper på opponentgrupp och examinatorer så har vi valt att inte förklara allt i minsta detalj och utelämna vissa aspekter av funktionaliteten och design. Som ett exempel så kommer vi antagligen inte nämna kända buggar eller hur våra komponenter för validering kommer att se ut. Det blir lite för mycket.

Nu till något annat. Igår var vi ute på Brasseriet och käkade oxfilé. Microdata firade nya stora kontrakt. Det var ett bra tillfälle att lära känna personalen.

En av de anställda på Microdata driver en paintballanläggning extravagant. 500 personer samtidigt i en gammal gruva. Samt ett tredje team i from av zombies. När vi pratar om zombies så handlar det om frivilliga som kommer till anläggningen för att skrämma folk. De är givetvis sminkade eller bär zombiemasker. Låter kul kul :)

http://www.batalj.se/default.asp?sc=galleri&typ=bilder&folder=Banorna&folder2=Str%E5ssa


Resultat av dagens sprintmöte

Idag har vi gått igenom hur det går för oss i nuvarande sprint. Det var inte mycket som vi kunde bocka av som färdigt. Våra sprintmål inför inför inlämning är lite oklara de med. Vi ska dock försöka få till det om det går. Det som främst är ett problem är att sätta ihop våra projektdelar till en helhet. Detta beror på att vi fortfarande kan använda SVN. Alla tester vi gjort hittills har resulterat i ett eller annat fel. Allt beroende på automatgenerarad data från eclipse, tror vi. Vi ha i nuläget dock försökt plocka enbart projektet och struntat i metadatan från eclipse. Detta i sig verkar fungera, men vi får error på endel andra sätt och vi vet inte alls varför. Vi har förmodligen i nuläget lagt totalt runt 10 timmar på att få SVN att fungera i praktiken för oss. Om man skickar och tar emot från en enda dator så är det inga problem, men när man är två utvecklare så uppstår det underliga problem. Vad vi kan se så borde det inte vara några problem så vi är nära på att ge upp SVN och helt köra krångelvägen med att manuellt fixa alla delar. Detta kommer dock ta väldigt mycket extra tid... men som läget ser ut så kan vi inte annat göra.
Det finns dock en möjlighet att det är sparky eller en av våra laptops som bråkar, så det kanske är värt att göra några försök till innan vi helt ger upp.

Nu är det dock dags att avsluta för denna vecka och ta helgledigt.

En välbehövlig uppdatering

Vi har haft fullt upp med en massa annat än att skriva på denna blogg senaste tiden, men nu tar jag en paus och skriver lite.

Vi siter för tillfället på Microdata och jobbar. Som vanligt så ändrar vi ständigt vår fokus på hur mjukvaran ska byggas. I grund och botten är det detsamma. Vi har dock fått lite mer info från Microdata samt större förståelse för detta komplexa system. De riktigt goda nyheterna är att vi förstått projektet lite fel. Vissa saker som vi trodde att appen ska kunna göra ska den inte kunna göra. Det har tagit ner stressnivån en aning. En annan trevlig detalj är att det är mycket trevligt här på Microdata, alla känns trevliga och företaget har en helt egen maskot i form av hunden Zacke som springer mellan alla kontoren i jakt på någon att leka med.

Vi har rent visuellt löst hur vi ska representera tabeller i appen och alla verkar nöjda med den lösningen. Dock är det inte helt trivialt att lösa vilket i praktiken betyder att vi måste revidera vår productbacklog igen. Men som vi nämnt flera gånger tidigare, är man inte familjär med språk och API:er så blir det mycket trial and error samt svårt att förutse hur lång tid något tar och hur man eventuellt kan lösa det. Vi har dock hittat sätt att göra det på, men det kommer säkerligen krävas ett flertal dagar att få det att fungera. Det som bekymrar lite nu är vad vi egentligen ska lämna in vid delinlämning. Vi har sprintmål som gäller just delinlämningen och de målen kanske vi får revidera. Vi får se. Handledningsmötet är ju på måndag så då kan vi nog få någon klarhet i det.

Johanna sitter för stunden och läser på sig om PHP så att hon kan bygga en enkel web service. Det är ett av våra sprintmål. Vi har kommit överens med Microdata hur datan egentligen ska skickas och de håller på att sätta ihop en XML-struktur med alla eventuella fall som kan hända i deras system. Sen ska vi anpassa vår web service efter den XML:n. Sen gäller det bara att parsa om deras XML-struktur till vår objektstruktur. Sen är tanken att det objektet ska skickas till Android för att generera gränssnittet.

Vi får se om vi vid inlämning egentligen har något vettigt att visa förutom modeller, beskrivande text samt högar av olika java och xml-filer med kod. I nuvarande form så går projektet givetvis kompilera men mycket av koden ligger i olika projekttester. Frågan är om vi ska försöka sätta ihop något för inlämning, men samtidigt så skulle det bli väldigt mycket arbete mer eller mindre i onödan (för projektet som helhet). Är nog bättre att lämna in gränssnittsskisser.

Nu är det dock dags att åka hem och laga lite mat.

ps. vi har 600mbit lina här på microdata... google har aldrig gått så snabbt!! ds.

Lite nyheter

Idag har vi skrivit en enda kodrad, men vi har gjort en hel del andra nödvändiga saker. Vi har upprättat en ny sprintbacklogg och denna gång lagt upp det lite annorlunda mot förra gången. Vi hoppas att det nya sättet blir bättre. Johanna sitter i skrivandets stund och skriver våra backlogg-tasks på post-it lappar. Ska förhoppningsvis ge oss lite bättre överblick på saker och ting.

En glad nyhet är att Johanna fått sin nya dator och håller för fullt på att installera allt som behövs på den.

Tråkig nyhet är att jag (Andreas) var hos sjukgymnast idag och fick reda på att mina ryggmuskler inte mår sådär jättebra. Vet inte för tillfället hur mycket det kommer påverka projektet på lång sikt, men för tillfället så påverkar min rygg projektet negativt eftersom det gör ont och jag känner mig obekväm. Som det verkar på sjukgymnasten så kommer jag få gå dit lite regelbundet på undersökning och uppföljning. Det som är bra i det hela är att jag förhoppningsvis kommer ha en mycket bra ryggmuskulatur efter att rehabiliteringen är över. Har fått instruktioner om att jag inte ska sitta still vid datorn hela tiden, måste upp och röra på mig samt göra övningar för ryggen en gång i timmen när jag sitter i statiska ställningar.

Projektmässigt har vi bestämt vad som ska göras innan delinlämning (eller i alla fall vad vi siktar på att hinna med). Vi har bestämt oss för att ta en titt på KSoap2. Om vi förstått KSoap2 rätt så ska vi kunna skicka rena klassobjekt vilket rent praktiskt betyder att vi inte behöver krångla med att omvandla XML till objekt som vi kan använda oss av. Att slippa XML-omvandlingen besparar oss säkert minst 1 vecka i utvecklingstid. Dessutom blir koden enklare och arkitekturen mer överskådlig. Detta är dock under förutsättning att det finns någon form av listobjekt som både PHP-delen och Java-delen förstår.

Efter att ha undersökt hur första sprinten gick så kan vi konstatera att vi var halvt ute och cyklade. Häften av det som stod i loggen är gjort men vi har samtidigt lagt mängder med tid på helt andra saker än vad som stod. Så rent tidsmässigt stämde ingenting, dessutom var våra tidsuppskattningar helt felaktiga. Nästan allt tog längre tid än beräknat. Vi har tagit till oss detta och kommer i fortsättningen dels lägga till nya tasks i backloggen när de uppkommer samt att beräkna för att en uppgift tar lite längre tid än vad vi trodde innan. Idealiskt så vill man att backloggen ska stämma när man gör det, men eftersom vi faktiskt inte vet exakt vad som kommer att behöva göras för att X ska fungera så får vi lägga till uppgifter i efterhand. Vi ser dessutom projektet annorlunda nu och räknar med det som behöver göras för utbildningen i projektberäkningen.

Orus IT

Så är jag äntligen färdig med någon som jag inte förväntade att jag skulle spendera många timmar med. Insåg idag att det var dags att emigrera från min gamla mail på ORU till den nya Gmailen. Detta visste jag att jag skulle vara tvungen att göra. Vad jag inte visste var att det inte skulle finnas någon form av verktyg för att flytta mina mail från min gamla inkorg till min nya. Eller för att citera IT-avdelning:

"Det finns flera olika verktyg och metoder för migrering av e-post som fungerar mer eller mindre bra ute på nätet. Vi ger inga rekommendationer kring detta..."

Tack så mycket för det!!

Fanatiskt med människor som mer eller mindre säger... "Du, det finns sätt att göra detta enkelt på, men vi tänker inte berätta varken hur eller vad mjukvarorna heter som kan användas. Mwuhahahahahahhaah"

Så vad gör man då? Jo, man spenderar flera timmar med att vidarebefordra mail från ett konto till ett annat. För en student som läst säg 1-2 år så tar inte detta speciellt lång tid eftersom blackboard används primärt numera. Men för någon som läst ett par år innan blackboard började används regelbundet (på de kurser vi läst) så har man en jobbigt stor hög med information i sin mail.

Hoppas verkligen att det inte kommer vara några problem att skicka vidare informationen från Gmail till någon annat konto den dag jag inte läser vid Universitet längre.

Nu är det gjort i alla fall, men på bekostnad av projekttid. Får dock erkänna att jag känner mig mindre stressad nu. Speciellt med tanke på att alla de dagar jag lagt på vissa svårare saker som faktiskt har löst sig för tillfället.

Johanna har suttit med samma sak som jag idag... fixat med mail. Men lite progress har även skett på projektet. Vi har skapat ett skelett för hur vi vill att XML-formatet som ska användas via vår blivande web service ska se ut. Vi har även tänkt ha några flytande attribut (som inte kommer användas i Android, kommer bara skickas med så att web servicen ger specialbehandling till viss information) som ska kunna användas vi senare tillfälle utifall det kommer ske förändringar. Med den typen av flytande attribut så är förhoppningen att koden inte ska behöva skrivas om för android vid vissa typer av uppdateringar i STEP. Vet inte om det framgår hur det ska kunna användas utan att rita lite diagram. Men tanken är i alla fall att det ska vara bra vid eventuella förändringar i huvudsystemet. Problemet som Microdata sitter med är att de inte har någon kompetens inom Android. Så när vi lämnar dom så har de ingen som kan förvalta det vi byggt. Så det underlättar för dom om vi lägger till denna typen av garderingar så att Klientuppdateringar inte ska behöva ske lika ofta.
Samtidigt kanske denna typ av strategi är dålig från vår sida. Det är på sätt och vis bättre om de är beroende av oss så att vi kan ta ut vansinniga pengar på att uppdatera vår kod [galet skratt]. Fast detta går emot våra principer. Ska man göra något ska det göras ordentligt och fungerande för kunden (kunden i detta fall borde vara Microdata). Vi får väll se om denna princip är något man kommer hålla fast vid i sin yrkeskarriär. Men att tänka åt andra hållet skapar stora problem för både användare och företag. Det finns gott om företag som försöker nagla fast sina kunder till företagets produkter. Helt förståelig strategi eftersom poängen med företag för det mesta är att tjäna pengar. Detta beteende är dock stagnerande och kan på lång sikt sammanfattas med följande vält valt ord:

dåligt

Vilket fall som helst så är jag för tillfället väldigt nyfiken på hur navigeringen vi skrivit fungerar i praktiken. Innan vi kan testa detta så måste vi skriva klasser som kan ta emot informationen som vi skickar in från XML. Detta betyder att vi med andra ord börjar tidigare än väntat med den delen. Vi ska egentligen inte göra det förrän om ett par veckor. Men som ovan utvecklare är man dum och undermåligt när det gäller att se helheten och kunna tidsplanera efter det. Johanna kommer dock fortsätta skriva på gränssnittet. Finna massor med småsaker som måste skrivas in för att helheten ska fungera.

En mycket trevlig upptäckt är att, vad man än gör när det gäller det visuella i android, så ser det man gjort ut ungefär 3 gånger bättre när det väl hamnar i en telefon. Vet inte varför, men trevligt är det.

Det som är skönt är att arbetsron där vi sitter för tillfället är fantastisk. Min granne har nämligen fått för sig att alla tycker om Rihanna och liknande. Samme person har dessutom fått för sig att öron tål hur högt ljudtryck som helst och att det är bra att ha jättehög volym på sin stereo och dessutom öppna fönstret. Det tycker jag också...

En anna sak vi spenderat endel tid med idag är att hitta en ny vettig dator till Johanna och har hittan, vad vi tror, är en riktigt bra dator till ett vettigt pris. Om allt går som det ska så kommer den dyka upp senast måndag (kanske tillochmed i morgon fredag, enligt orderstatus så har de redan skickat den). Sen blir utvecklingen betydligt trevligaren för Johannas del. Den nya datorn kommer ha liknande prestanda som min stationära eller kanske till och med bättre när det gäller androidutveckling.

Dagens uppdatering

Hej hopp och lycka. Nu är endel av problemen av stor irriterande grad lösta. Sitter för tillfället och ska sammanfläta två olika testprojekt. Det är inte helt oproblematiskt. Måste få SVN att funka för detta är varken produktivt eller tidseffektivt att sprida ut koden på flera olika håll. Vi får helt enkelt ta oss tid för att undersöka hur SVN kan användas tillsammans med Eclipse. För det måste gå, annars hade det inte varit speciellt många som använder Eclipse.

Som läget ser ut nu så har vi som tidigare nämnt fungerande pricknavigering (inte rent tekniskt, men visuellt) och vi har löst en underlig bugg som har med vyflyttning att göra. För Johanna går det också framåt, för varje gång jag tittar på hennes skärm så har det ploppat upp nya saker och funktioner i gränssnittet. Tror hon sitter med skrivning av inställningar till internt lagringsutrymme. Vi har inte riktigt bestämt hur dessa filer ska sparas. Vi vet inte vad det finns för typ av parsninsverktyg för tillfället. Faktum är att en ini-fil nog vore det bästa i detta läget... så länge vi hittar någon vettig ini-parsningverktyg. I annat fall blir det nog XML.

Nu tillbaka till sammansättning av två olika projekt.

Liten uppdatering

Vi har inte hunnit att göra det vi tänkt att göra föregående vecka. Vi har haft förvånande stora problem med till synes enkla saker. De till synes enkla sakerna har dock visat sig vara värre att hantera än vad vi väntat oss. Efter många timmars läsande på internet så kan vi konstatera att vi inte är de enda som har problem med att skapa dynamiska gränssnitt i android. Gränssnitt i android är bra frid och fröjd så länge man nöjer sig med förinställda "View" som helst statiskt deklareras i XML. Eftersom det inte på något sätt är en möjlighet för oss att skapa statiska gränssnitt så kommer vi tyvärr få utöka tiden för GUI-Design. Dock har vi kommit en bit på vägen och lärt oss mängder om vad som går och vad som inte går att göra (vilket är bra för fortsatt arbete). Som läget är nu så är åtminstone det som jag (Andreas) hållit på med för tillfället på lösningsvägen. Vad det handlar om är en prickbaserad navigering. Att få ut dessa prickar på en vettigt sätt har tagit cirka 4 gånger längre tid än väntat. Och det enda jag har för tillfället är enkelt fungerande sätt att pricknavigera. Har testat minst 5 olika tillvägagångssätt och hamnat i återvändsgränd efter återvändsgränd. Som läget ser ut nu så beräknas utseendet på pricknavigeringen utifrån körenhetens dpi. Själva prickarna är ett arv på klassen "FrameLayout" som har diverse metoder kopplade till sig. Dessa objekt som sedan kopplas till "onClickListners" som tar fram rätt vy. Vad som inte är gjort är skönhetsdetaljer så som padding och färger. Det kommer förmodligen behövas fylla på med fler metoder för att manipulera objekten på ett vettigt sätt, men det ska inte behöva vara speciellt krångligt att lägga till i efterhand (dock trode vi ju att detta som nyss är gjort inte skulle vara speciellt krångligt det heller...)

Det har gått framåt för Johanna, hon har skapat en klocka som INTE är tung för processorn och hon har funderat på eventuella problem som klockan kommer kunna skapa. Som läget ser ut just nu vet vi inte om de problem hon funderat på någonsin kommer att uppstå. Och om de uppstår så kommer det enbart hända under följande förutsättning:
1. Enheten har inte startats om på runt 48 dagar.
2. Man är inloggad.
3. Systemvariabeln som håller koll på hur länge telefonen varit igång når sitt slut och börjar om från början.

I detta fall kommer klockan räkna jättefel... tror vi. Vi har lite svårt för att testa detta praktiskt.

I det stora hela så ligger Johanna lite bättre till än mig, men är efter hon med.

Det stora problem som vi VET att vi har kvar är "Tabell navigation". Detta kan potentiellt skapa stor huvudvärk. Vi får se.

För övrigt så är det för tillfället en hel hög med mindre detaljer som måste implementeras för att få ett fungerande gränssnitt. Det som inte är gjort är att koppla samman det vi suttit och byggt för tillfället. Vi kan egentligen inte bygga ihop det hela förrän efter vi skrivit delar av vår web service. Det som är skönt är dock att vi inte ska behöva bekymra oss för förändringar i gränssnittet eftersom vi försökt skiva så stora delar som möjligt i XML. Det är bara att gå in i XML-filen och ändra det som behöver ändras. Den stora delen som är kvar gränssnittsmässigt är att rita ut de komponenter som vi kommer få från webservices. Men det är ett problem vi inte behöver bry oss om på några veckor.

Något vi borde ha gjort vid detta laget men inte gjort är att börja arbeta via SVN. Vi har installerat och kopplat in oss på SVN-servern. Vi har samtidigt upptäckt vissa problem som vi måste lösa. Eclipse öser ut mängder med metadata. Denna metadata vill vi inte behöva ta hänsyn till... och vi hoppas vi kan slippa det på något sätt. Vi har dock inte gjort det än eftersom vi prioriterat andra saker. Att lösa det problemet tar säker en dag. Eller så kanske vi har tur och någon vänlig själ som skrivit en tutorial när det gäller Eclipse och SVN.

Vi har upptäckt att tiden går ungefär 3 gånger snabbare när man sitter med detta projektet. Man hinner inte mer än att börja innan dagen är slut. Dåligt.

Det går frammåt, men väldigt långsamt

Detta blir mer och mer frustrerande, vi kommer frammåt och löser problem. Det tar bara mycket längre tid än beräknat. Vi har nu fått till en liknande funktionallitet som på Androids Homescreen. Problemet är bara att det hela beter sig apa. Hela vyn hoppar hejvillt till höger och vänster. Jag har mina misstankar vad som är problemet men jag vet inte hur det ska kunna lösas. Vi tänker inte lägga mer tid på den detaljen för sekunden utan fokuserar på andra problem för tillfället. För hoppningsvis så kommer vi har något större förståelse för vissa detaljer för att lättare kunna lösa detta problem senare. Nu fokuserar jag på att skapa en vyöverblick. Det går inte heller så smidigt som jag hoppats på. Satt hela dagen igår och testa olika möjligheter och har i alla fall kommit någonstans. Tyvärr så finns det inget inbyggt för att göra detta enkelt vilket gör att jag tänker skapa en egen widget som gör det som vi vill åstakomma. Det som känns riktigt  jobbigt i det hela är att vi måste ha något fungerande att visa upp dels för microdata, dels för delredovisningen. Det leder en således till att fundera över hur man ska prioritera sin tid. Ska vi prioritera att göra det vi gör snyggt (bra skriven kod, bra tekniska lösningar) och minimera risken för någon form av refactoring, eller ska vi skynda frammåt och se till att skapa funktionallitet i ett hemskt och oanvändbart gränssnitt (ur slutkundsperspektiv)? Det vi inte alls räknat med är att vi skulle få så stora problem med att göra gränssnittet användbart. Vi viste att det skulle behövas tid men vi märker redan nu att det näst intill tar för mycket tid. Vi är helt enkelt inte tillräckligt erfarna för att få det att flyta på.

Vilket fall som helt så är det viktigt att vi fokuserar på att lösa delproblemen. Blir för mycket att se helheten för tillfället. Idag ska jag lösa hur man skapar en prick som kan storleksförändras, färgförändras och som har en siffra i sig. Med andra ord samma sak som jag gjorde igår. Ska testa att skapa det hela i java, har lite mer kontroll över det hela där. Men första måste jag lösa hur jag kan lägga in en "android:shape" i en "imageview". Fick det inte att fungera igår... den vägrar synas. Min shape fungar dock bra som bakgrundsbild i valfri widget, men inte i en "imageview".

Johanna håller för tillfället på med vår skelettsktruktur för projeket som vi sedan ska arbeta utfrån via SVN. Sen ska hon fixa en räknare som visa hur lång tid det tar innan du loggas ut. Räknaren får inte dra en massa processorkraft för att den vill ritas ut gång på gång och vi kommer behöva använda den på många ställen. Det betyder att den förslagsvis blir en egen klass som bara behöver instansieras för att fungera. Det är bra att vi tänker på denna typen av detaljer för att inte behöva lägga ytterligare tid senare. Det är dock också en delaktig orsak till att det känns som vi rör oss så långsamt eftersom vi vill att det ska vara användbart från första början. Hur göra? Hur göra?

Märker tydligt att jag önskar att Informatik innehåller en kurs i mjukvaruarkitektur. RUP-kursen snubblade in på detta men inte speciellt mycket. Samtidigt vet jag inte riktigt vilken kurs man kan kasta ut eller förkorta för att få in något liknande. Vi har för tillfället ingen mall att gå på utan prövar oss mest fram, vilket tar tid och energi det med.

Tänk om

Det som är väldigt frustreande med att börja med ett nytt API (och språk för den delen) är att man ibland hamnar i återvändsgränder och får börja om från början. I förra inlägget så rörde sig saker åt både höger och vänster. Det gör de forfarande men inte riktigt med önskat beteende. Jag använde i det fallet en "ViewFlipper" och kontrollerade var fingret trycktes ned och sen släpptes upp för att beräkna fram åt vilket håll vyn skulle skrolla. Vi vill att gränssnittet ska röra sig efter fingret, liknande Androids desktop. Detta är tydligen svårare än väntat. Efter mycket sökande på google så är det hittils bästa tipset att rota igenom androids "workspace.java" som bygger upp just desktopen. Hittade den filen och den bestod av 1000 rader kod som jag inte alls känner för att avstätta en dag till att gå igenom. Så vad gör man? Jo, nu har jag börjat bygga denna del från scratch. Hitills har jag slängt ut ett antal "LinearLayout" som ligger på rad efter varandra. Deras bredd är lika bred som enehten de körs på. Det enda jag behöver göra nu är att flytta dem i relation med varandra och helt enkelt härma beteendet som androids desktop kör. Jag hoppas dock att jag inte får några problem med att lägga på vettiga animationer (som det ser ut nu får jag skapa dynamiska animationer som genereras beroende på situation). Ett annat problem som skulle kunna uppstå med den nuvarande modellen är att vertical-scrollning skulle kunna ställa till problem. Men vi får se. Det sista problemet är att vi rent teoretiskt ritar ut allt innehåll på skärmen, även fast det inte syns. Det skulle kunna skapa prestandaproblem, beroende på hur android hanterar för tillfället icke synliga komponenter.

Det känns lite sugit att behöva lägga så mycket tid på ett trivialt problem som sidoscroll, men utan väl fungerande användargränssnitt så kommer slutprodukten inte bli använd av slutkund och Microdata inte tjäna ett enda extra öre på denna app. Sammtidigt så tycker man att det borde finnas något lätt och smidigt sätt att göra just det jag är ute efter. Om någon som läser detta råkar känna till ett enkelt sätt att göra detta på får ni gärna lämna en kommentar.

Det rör sig, både åt vänster och höger!

Vi har idag fixat endel med papperarbete. Det finns nu en första product backlogg. Som det ser ut just nu så går vi en liten egen väg med det hela. Vi kör relativt korta sprintar och sätter upp en backlogg för varje kortare sprint. Längden på sprinterna kommer nog variera. Vi har uppdaterat det övergripande schemat och skrivit om den del detaljer i projektplaneringen. Rent projektmässigt har det hänt lite saker också.
Vi kan nu animera övergången mellan olika vyer, vilket är kritiskt ur användarsynpunkt. Det är dock forfarande endel ganska stora problem med tekniken i navigeringen som måste lösas. Vi har diskuterat dessa problem och hittat en teoretiskt lösning... vi får se hur omständiga dessa lösningar dock blir att implementera.

Nu tar vi dock helg och äter glass och kakor istället. Jag gillar dock inte kakor och har ingen glass, så jag får väl helt enkelt bara ta helg.

P.S. Johanna gillar kakor... D.S.

P.P.S. Om du vill ge kakor till Johanna så lämna namn och telefonnummer som kommentar nedan, så kanske du blir kontaktad och dina kakor uppätna D.D.S.

Om

Min profilbild

RSS 2.0