Arbete med slutleveransen

Just nu pågår arbete med slutleveransen, skrivande av dokumentation inför överlämning av projektet samt väntar på de sista kommentarerna om prototypen från vår produkt owner.

Det är väldigt lärorikt och roligt att se tillbaka på vad man har åstadkommit, vilken resa det har varit och vilka kunskaper man har fått med sig. Inlämning av slutleveransen är inte långt borta och sommaren hägrar runt hörnet. Nu kör vi det sista!

Uppvisning av prototyp-applikation!

Idag hade EMPARK-gruppen samt andra inblandade i projektet ett möte som vi blev inbjudna till. Representanter för de som ska stå för vissa utav sensorerna som projektet skulle använda var där för att diskutera projektet, men också för att få se våra framsteg med applikationen. Gunnar och Dino, som är de vi haft mest kontakt med angående utformningen av applikationen, uttryckte båda belåtenhet inför applikationens nuvarande form.

Applikationen var inför uppvisningen också “matad” med relevant data, så vi fick själva för första gången se den i användning med riktig data och inte den slumpade data vi har testkört den med.

Detta markerar också avslutandet av vårt projekts sista sprint innan inlämning! Vi diskuterade däremot i korthet applikationens framtid samt möjligheterna till att fortstta utvecklingen utav den även efter avslutad kurs, men inga konkreta beslut togs angående detta.

Implementering av Pinch och Pan Gestures

En av de saker som implementeras nu under sprint 4 är pinch och pan gestures, dvs att man ska kunna zooma in på en vy och flytta runt inzoomningen.

Det funkar så att man skriver de gestures som man vill att ett element skall använda (i xaml), i det här exemplet en StackLayout.

<StackLayout.GestureRecognizers>
<PanGestureRecognizer PanUpdated=”OnPanUpdated” />
<PinchGestureRecognizer PinchUpdated=”OnPinchUpdated” />
</StackLayout.GestureRecognizers>

I code-behinde skriver man sen detta för att hantera eventet.

void OnPinchUpdated (object sender, PinchGestureUpdatedEventArgs e)
{
// Vad du vill ska hända när du använder pinch
}

void OnPanUpdated (object sender, PinchGestureUpdatedEventArgs e)
{
// Vad du vill ska hända när du använder pan
}

För att kunna hantera vad som skall hände när de används osv använder man sig av GestureStatus, de finns i 4 olika varianter GesturStatus.Started, Running, Complete och Canceld.

Sprint 4 inleds!

När vi inleder sprint 4 är vi väldigt optimistiska över projektets status. De största områdena är mer eller mindre lösta, och nu kan vi ägna mycket tid åt at finslipa. Denna sprint ägnas till stor del åt att skapa en “hjälpvy” för varje primär vy i applikationen, som ska ge en snabb förklaring över vad vyn gör, hur den ska läsas, etc. Sidomenyn designas också om så att den blir snygg istället för skitful. Dag och veckovyerna fortsätter att slipas på.

Det stora problemet vi har är att vi fortfarande att en “zoom”-funktion inte ännu är implementerad, något som önskades av EMPARK-gruppen, samt att vi ännu inte fått tillgång till testdata att mata in i appen. Vi jobbar under tiden på med våran randomiserade data.

Vi konstaterar också att detta blir projektets sista sprint, och det som vi har efter dess avslutande, är det vi lämnar in. Detta för att ha tid över åt att göra det skolarbete som också måste färdigställas innan inlämning.

Sprint 3 avslutad!

Första sprinten efter delleveransen är nu avslutad. Det har varit en väldigt aktiv sprint och mycket nytt har implementerats, primärt den så kallade “relationsvyn”, nedan bifogad som bild. Detta är en viktig del av applikationen som ska visa relationen mellan dina “scores” för alla områden i jämförelse med din motorik. Det var också den enda primära vyn som inte ännu implementerats under delleveransen. Likt våra dag- och veckodiagram använder sig även den utav SkiaSharp, C#-implementationen utav grafikbiblioteket “Skia”, utvecklat av Google.

I övrigt gjordes vissa “under huven”-ändringar i våran databas rörande var och hur främmande nycklar lagras, den så kallade “chart pagen” togs bort ur navigationsflödet efter önskemål från produktägaren, samt så kodade vi klart snabbmenyn på huvudsidan. Små ändringar kring hur applikationen ritas ut gjordes också för att fungera bättre på varierande skärmstorlekar, sam fortsatt arbete på de två stora Skiasharpvyerna, nämligen dag- och veckovyn.

relationsvy.png

Att förhindra att dubbelklick på en sida genererar två sidor

Att dubbelklick genererar två sidor är ett problem vi har upptäckt att appen har så efter lite googlande hittade vi en lösning på detta. Då det är ett oönskat beteende med tanke på målgruppen för applikationen är det viktigt att hitta en bra lösning. I prism använder man något som heter ObservesCanExecute() som raisar CanExecuteChanged eventet. Så för att förhindra att det genereras två sidor vid dubbelklick implementerades detta i combination med en property kallad CanNavigate. Nedan följer ett exempel på detta.

private bool _canNavigate = true;
public bool CanNavigate
{
get { return _canNavigate; }
set { SetProperty(ref _canNavigate, value); }
}

I konstruktorn på den vyn där det ska användas skriver man

NavigateToMainPageCommand = new DelegateCommand(NavigateToMainPage).ObservesCanExecute(() => CanNavigate);

I metoden för navigering skriver man

public async void NavigateToMainPage()
{
CanNavigate = false;
await NavigationService.GoBackToRootAsync();
CanNavigate = true;
}

 

Sprint Retrospective

Idag har vi haft vårt första sprint retrospective. Nu när allt flyter på och vi löst de största stoppklossarna för projektets framfart och arbetet nu flyter på passade det bra att ha ett nu när vi börjat en ny sprint.

Vi gick igenom en del saker som var bra och dåliga samt även vad vi gjort och tänkt göra för att göra de saker som var dåliga bättre. Vissa saker som var bra var saker vi jobbat på för att väga upp det som fungerade sämre i början av projektet.

cof

Det var väldigt informativt och en viktig del i planeringen av det fortsätta arbetet, såväl inom gruppen som hur vi jobbar.

Sprint 3 inleds

Efter det Kanban-aktiga flödet beskrivet i vår delleverans, har vi fattat beslutet att vi nu ska, som ursprungligen planerat, börja arbeta i sprintar “igen”. En kan argumenera att detta tekniskt sett är sprint 1, men då både sprint 1 och 2 redan existerar i vår backlog, valde vi att fortsätta med den numreringen. Trots att vi knappast jobbat “sprintigt” med dessa två föregående iterationer, så är de work items vi tilldelat dem faktiskt avslutade.

Beslutet att återgå till det arbetssättet tog vi för att lättare kunna “timeboxa” vårt arbete, och känna att vi jobbar mot ett (strukturerat, diskuterat och planerat) mål, och inte bara vilt plockar PBIs ur vår katalog och kör såsom lusten faller på. Förhoppningen är att det också ska hjälpa oss att fokusera på att bli klara i tid.

Det stora under denna “första” sprint blir införandet av den s.k. “relationsvyn”. Vad det är får ni se senare!

Möte med EMPARK-gruppen

Vi har nu för första gången mött två andra ansikten i EMPARK-projektet, nämligen Ella Kolkowska samt Gunnar Klein. Vi hade möte med dem tillsammans med våran product owner (Mevludin Memedi) och diskuterade projektets status och framtid. Vi fick även chansen att visa vad vi hittills presterat, “briefa” dem lite om projektets struktur, samt hur arbetet gått, osv.

Vi har tillsammans med dem bestämt oss för att, i enlighet med vad vi bestämde angående delleveransen, primärt fokusera på att göra projektet presentabelt innan fredagen den 13e april, då delleveransen skall lämnas in. Detta kommer i praktiken innebära att vårat primära fokus kommer att ligga på design utav applikationens front end.  Anledningen till att vi fattar detta beslut är baserat i idén om att vi prioriterar främst att göra en för användarna testbar app, och att den bakomliggande tekniken är i ett tillräckligt färdigt tillstånd för att visa upp exempeldata som går att använda vid en presentation/testning utav applikationens gränssnitt.

 

Planering inför delleveranshandledning

Idag har vi gått igenom vad som implementerades i fredags då några i gruppen var sjuka samt planerat inför delleveranshandledningen imorgon (tisdag). Vi har bestämt vad vi skall lägga fokus på och försöka bli klara med till delleveransen samt vad vi skall skicka in för saker till Jenny och sett över dokumenten som finns tillgängliga för delleveransen på bb.