Thursday, December 11, 2014

Designing part 1 (Initial start)

Before we start coding it is important to make it clear to our selfs what we are gonna build. A common mistake a lot of programmers make is that they jump right into the code without even knowing exactly what they want to build. They know the basic functionality of their idea, but they haven't given a thought about the rest of the app. What if you come across something later on? What if, while you're coding, you realise you could've done it in a different way and add more functionality.



Building an app requires attention to detail, thorough thought and strict rules. You need to think ahead so that when something goes wrong, you can anticipate in time.
If you jump into the sea without knowing how to swim, you'll drown. - Madeup Fromemythumb
So let's think about how to swim -or in this case, how to design our app-. And by designing i'm not talking about visual designing. I'm talking about functionality design; making it clear what we want and how we want it. Think of it like blueprints.

First let me tell you about my idea.

I'm Muslim myself (elhamdülillah) and something I encounter a lot in my near presence, is that when Muslims go shopping they need to check the ingredients-list on the back of the product for ingredients they are not allowed to consume. Most of the time it's pretty obvious, like pork meat. But there are these things called E-numbers. These numbers are predefined and show a generic way of an ingredient. For example, E300 stands for Ascorbice acid (Vitamine C). Not everyone knows what these E-numbers stand for and as there are a lot of E-numbers forbidden for Muslims, some aid would be helpfull. That's where my app comes in.

There are a lot of ways to help people with their shopping. One decision that was import for me to make was that the app should be easy to use. I want a large audience and this would mean that even old nanny's should be able to use the app.

And what's easier than taking a picture and telling you directly if you can eat it or not? Just take a picture of the ingredients list and by OCR the app is able to tell you if an ingrendient is blacklisted or not.

Now, the Muslims are a large enough public to aim for, but why not take it bigger? The functionality is there, so why not define several profiles besides Muslims? Exactly, why not.

So the app should have profiles like Muslims, Vegetarians, Lactose-intorelant, Sugar disease patients, etc.

And why stop there. Heck, let people customise their own profiles. Add ingredients (keywords) to your profile.

But what more can we add? Like I said, we need to think of all the functionality so we don't have to add it later and recode everything.

A list with all the ingredients so you can look it up? Check.

A local supermarket searcher? Why not. Check.

I think that's enough for an app. Let's get to the visual designing!

Welcome!

Hi people of the internet I'm currently developing an app for school and while it's not my first, I still find it a lot harder than I expected. I come across a lot of third party libraries, new API's, new best-practice models and better code in general in contrast to my previous experience with iOS. So I thought; Why not share this with others? A lot of problems I encounter are applicable to most developers and if I could help others that would help raise the quality of apps for everyone :D So in this blog I will share everything I come up against in my wild adventure of creating a diet-aid app (not gonna explain my app any further, you'll find out for yourself when you follow the blog :)). Without further ado, enjoy my blog!