Början av en ny version av Matkalkyl

Jag heter Fredrik och driver sajten Matkalkyl.se som fritidssysselsättning och ett enmansprojekt. Sajten skapades 2009 som en web-sida där besökare kan registrera ett konto och därefter beräkna antal gram av protein, kolhydrater och fett i maten. Fokus var att göra en minimalistisk och effektiv applikation som inte kräver något annat än ett alias och lösenord för inloggning. Sajten utvecklades sporadiskt under några års tid.

Den gamla versionen av Matkalkyl som lanserades först år 2009, anpassad för stationär dator.

Utvecklingen av Matkalkyl avslutades år 2013 och därefter har sidan legat kvar i oförändrat skick fram till idag. Matkalkyl skapades för att användas med stationära datorer och gick snabbt ur tiden då mobiltelefoner blev alltmer populära. Dock används den gamla versionen av Matkalkyl än idag av ca. 50-100 personer varje dag. 100 användare per dag har varit genomsnitt sedan sajten startade. Matkalkyl har en relativt liten men stadig användarbas.

Design-filosofin bakom Matkalkyl är 100% fokus på den kost-relaterade uppgiften och att skala bort allt som är onödigt. Min tanke är att när Matkalkyl ska inspirera fokus hos den som använder det, genom att erbjuda ultra-effektiv och hyper-fokuserad funktionalitet. Vad som gjorde Matkalkyl unikt i mina ögon var dess kompromisslösa fokus på ett effektivt användargränssnitt som känns snabbt och smidigt, samt en layout som fokuserar helt på huvuduppgiften - att beräkna kosten samt tillhandahålla kringliggande funktionalitet.

Jag hade inga planer på att förnya Matkalkyl, men nu har jag tagit upp projektet eftersom tiderna förändras och det ligger rätt i tiden för mig personligen. Min motivation grundas i att programmering är en av mina fritidssysselsättningar. Det känns också givande att göra en version av Matkalkyl som är bättre än den ursprungliga som till stor del var en improvisation. Den gamla versionen av lider av brister och strukturella problem vilket gör den svår att underhålla och uppdatera. Den nya versionen rätar ut allt sådant, och använder ordentliga lösningar för exempelvis databas och karaktärs-kodning.

För den nya versionen av Matkalkyl börjar jag med att skapa ett generellt grundsystem som jag bygger Matkalkyl på. Därtill har jag andra projekt jag avser bygga på samma grundsystem. Exempelvis är den här artikeln du läser just nu publicerad på ett bloggsystem jag utvecklade, och det bloggsystemet bygger på samma grundsystem som kommer användas för Matkalkyl och diverse andra projekt. Grundsystemet är i stort sett klart och nu avser jag börja utveckla den nya versionen av Matkalkyl.

Den nya Matkalkyl kommer inte vara någon vanlig iPhone-app eller Android-app. Istället kommer den programmeras som en webbsida som är anpassad för mobiltelefoner. Jag upptäckte att det går utmärkt att göra webbsidor som fungerar lika bra som vanliga mobilappar. Det finns också webbläsare för mobil som är anpassade för att öppna sajten i fullskärm för att ge full app-känsla (exempelvis Hermit). Jag gjorde ett sådant projekt för privat bruk i somras varav jag såg att upplägget fungerar mycket bra. Fördelen med att göra programmet som en webbsida är att den kommer fungera på alla enheter som har modern webbläsare (Android, iPhone, Windows etc.). Sajten byggs med Javascript, PHP, CSS och HTML. Detta är beprövad teknologi som inte går ur tiden.

Matkalkyl - progression

Uppskattning av progression av beta-version av den nya versionen av Matkalkyl.

Grundsystemet - progression

Denna stapel reflekterar progressionen av grundsystemet som kommer användas för Matkalkyl. När ett sådant system är på plats går det smidigt att utveckla den specifika applikationen. Med ett bra grundsystem blir utvecklingen mer stadig.

Innehåll: Core framework to structure a lot of things. Database interface. Correctly handling character encoding. URI handler. Features to aid development. Full language-switching support for site interface. Timezone handler. Handlign form-data (http method). Validation - seamless validation of form data and failure/success handler. General administration tools. Solid Ajax data transfer that ensures right order and no loss between server and client. Markdown for articles. Templating system for PHP and HTML. Cache system (caching templates). Minifier for CSS, Javascript and HTML - to reduce amount of data sent to client. Blog - the blog system for updates and news. User - user accounts, authentification & authorization (register and login). Cookies - persistent login cookie (remember login at next visit). HTTPS - ensuring HTTPS (basic security to not send data unencrypted over internet). Server configuration - what surrounds a given site. Version tracker - keeps track of when modules are updated and manages their version numbers. 

417 views
written
modified

19 comments

Sort:
Oldest
Newest
Longest
Shortest
Loading comments...
Load time
Total 0.075704 seconds
Database 0.048613 seconds