Vi glömde visst förra veckans inlägg
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
Byeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee!
Inga mer error i SVN
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
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
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
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 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
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
"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
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
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
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 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 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.