Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

zachiedoo

macrumors regular
Original poster
Nov 3, 2022
162
91
S QC
So I bought an app for tracking food intake according to a very specific type of meal plan. It's perfect in every way except one: it doesn't save entries. How hard would it be to fix this? How hard is it to learn to code? Where would I start? the app in question is "food Servings" by A. Solis.
 

Starfia

macrumors 6502a
Apr 11, 2011
945
658
"How hard would it be to fix this? How hard is it to learn to code?"

Two very different questions.

To answer the second question first: coding is something that could (and I think, should) be taught in early grade school. Like learning music, math or languages, anyone can learn, anyone can gain the ability to achieve something appreciable even as a beginner, and just about anyone can develop increasingly advanced skill.

To answer the first question: apps on the App Store are packaged and delivered in a way that allows for modification or tampering by anyone other than the developer. (By contrast, some software is "open source" or "free software," meaning that the intent is for the code to be inspected, changed, and used in others' projects as they please. There's a world of such software available, but apps on the App Store generally fall outside this category.)

What can you do?

If you like this app enough to keep using it, you can try to contact the developer and request the feature you want. Some developers are listening for feedback and are willing to consider and act on it. That's the only reasonable hope of using this app with that feature.

You could also compare and shop for similar apps, of course.

If you're actually interested in coding and the task at hand isn't too complex, and you also own a Mac, and you're willing to put in the time, you could try to build your own app. (If you're a true beginner and you want the app on your iPhone, there's a fair amount involved and it will take as much learning as a beginner's class would, but it's possible. In the era of SwiftUI, it's easier to build a simple iPhone app than it was when I started out.)
 
  • Like
Reactions: Slix

zachiedoo

macrumors regular
Original poster
Nov 3, 2022
162
91
S QC
apps on the App Store are packaged and delivered in a way that allows for modification or tampering by anyone other than the developer. I am assuming that this is a typo and you meant to say 'does not allow'

I have already tried contacting the developer, as have many before me, with no responses on the forum where that happens. So, likely not going to happen.

The problem is this app is designed to track food portions according to the Diabetic Exchange programme, something I have not found in other apps I have looked at.

So I guess I am left with trying to build an app. It's not that complex (I don't think, but not knowing coding...) Under the DE programme, you are allowed X number of portions of various categories of foods. I want a way to keep track of how many portions/half-portions of foods consumed in the categories in a way that doesn't hide what you've already consumed (I tried using Reminders, but it wasn't effective as portions disappear as they're 'consumed')

So, where would I start? It doesn't have to be an iPhone/iPad app, I could use my MBP no problem.

ETA: I've just done a quick search. There's LOTS out there, so many different languages. My head is spinning.🤯
 
Last edited:

philosopherdog

macrumors 6502a
Dec 29, 2008
737
517
the first thing is to learn how to use google. google your questions. this forum isn't really an appropriate place to ask these kinds of questions. but i will say that starting to code to solve a problem you have is a great motivation. but in the end programming is in some ways easy and in others extremely complicated.
 

Basic75

macrumors 68000
May 17, 2011
1,957
2,287
Europe
If you want to develop for Apple devices then Swift is the programming language of choice.

How hard it is to learn coding depends on many things including your enthusiasm and your available time, but also on your propensity.

Just like with other activities some people seem to have it more "in their blood" than others.
 
  • Like
Reactions: zachiedoo

MBAir2010

macrumors 603
May 30, 2018
6,433
5,920
there

zachiedoo

Code as far as <tr>____</tr>?
I knew all that fun dreamweaver type for a web design firm,
until "they" made everything CCS and my brian never accepted that form of design.
so I can't code anymore, just manipulate photos.

to answer the question is up to actual the person who need to learn a skill.
and this forum is perfect to ask questions th internet can't pinpoint.
 
  • Like
Reactions: zachiedoo

chrfr

macrumors G5
Jul 11, 2009
13,520
7,047
So I guess I am left with trying to build an app. It's not that complex (I don't think, but not knowing coding...)
It is that complex. Creating a complete iOS app from scratch, especially with zero knowledge of programming, is an extremely complex process.
Unfortunately, the model of selling apps for $0.99 has given people the wrong impression.
 

MisterSavage

macrumors 601
Nov 10, 2018
4,639
5,487
It is that complex. Creating a complete iOS app from scratch, especially with zero knowledge of programming, is an extremely complex process.
This x1000. I'd encourage anyone interested to try app development but go in thinking it's not that complex and you're in for a rude awakening.

Some sources that have a good amount of free content off the top of my head on YouTube: Hacking With Swift, Coding With Chris, Sean Allen, Big Mountain Studios.
 
  • Like
Reactions: zachiedoo

casperes1996

macrumors 604
Jan 26, 2014
7,434
5,578
Horsens, Denmark
If you want to learn programming and you just also think it could be neat to use it to make this app; Do it. If you purely want this app to exist and have no real interest in programming aside from that; Forget about it.

As an analogy; Take some easy song and imagine learning how to play it on guitar. It's an easy song so it's not too bad. The 4 standard chords, nothing special. If you've never played guitar before, just getting the basic chord shapes right can take quite some time though. But you get there in the end. You record your cover, playing all the right chords, and... It doesn't sound professional at all. Your strumming isn't quite the right tempo, your singing voice is just a bit off, your fretting of one chord made it buzz a little and the way you processed the signal chain came out unfavourably and your inputs even peaked several times.
Even doing something basic can reveal the differences between a master and a novice.

And to just accomplish this task; Would an Excel/Numbers spreadsheet potentially be a solution instead if you're not feeling up for programming?

If you do have an interest in learning programming more generally as well, I greatly encourage it and will offer any help you could want
I recommend starting with Swift and SwiftUI if Apple platforms is your primary target
 
  • Like
Reactions: asdex and Basic75

zachiedoo

macrumors regular
Original poster
Nov 3, 2022
162
91
S QC
It is that complex. Creating a complete iOS app from scratch, especially with zero knowledge of programming, is an extremely complex process.
Unfortunately, the model of selling apps for $0.99 has given people the wrong impression.
What I meant is, the end product I want is not that complex. I didn't mean that coding it wouldn't be.
 

zachiedoo

macrumors regular
Original poster
Nov 3, 2022
162
91
S QC
If you want to learn programming and you just also think it could be neat to use it to make this app; Do it. If you purely want this app to exist and have no real interest in programming aside from that; Forget about it.

As an analogy; Take some easy song and imagine learning how to play it on guitar. It's an easy song so it's not too bad. The 4 standard chords, nothing special. If you've never played guitar before, just getting the basic chord shapes right can take quite some time though. But you get there in the end. You record your cover, playing all the right chords, and... It doesn't sound professional at all. Your strumming isn't quite the right tempo, your singing voice is just a bit off, your fretting of one chord made it buzz a little and the way you processed the signal chain came out unfavourably and your inputs even peaked several times.
Even doing something basic can reveal the differences between a master and a novice.

And to just accomplish this task; Would an Excel/Numbers spreadsheet potentially be a solution instead if you're not feeling up for programming?

If you do have an interest in learning programming more generally as well, I greatly encourage it and will offer any help you could want
I recommend starting with Swift and SwiftUI if Apple platforms is your primary target
The only use I have for Windows is a Bootcamp partition so I can play a couple games that are Windows-only. Everything else in this house is Apple. Well, except for an Amazon Fire tablet, but that's another story. I'm retired and will have lots of time to learn programming once we finish renovations that are currently underway.

Do I think I'm up to the intellectual challenge of learning programming? I was always quite strong in math and science, so yes, I do.

For me, the internet is a library that is always open. And I love to learn.
 

casperes1996

macrumors 604
Jan 26, 2014
7,434
5,578
Horsens, Denmark
The only use I have for Windows is a Bootcamp partition so I can play a couple games that are Windows-only. Everything else in this house is Apple. Well, except for an Amazon Fire tablet, but that's another story. I'm retired and will have lots of time to learn programming once we finish renovations that are currently underway.

Do I think I'm up to the intellectual challenge of learning programming? I was always quite strong in math and science, so yes, I do.

For me, the internet is a library that is always open. And I love to learn.
Then give it a go I say.

I've written on many posts here on these developer forums in the past about good resources to start with. Can look back on those for further information I might miss here if you want.

But for now I'll have a few recommendations to start off with.

1) Hacking With Swift - already mentioned in this thread. It's a website and book series and it's phenomenal. The man behind it, Paul Hudson also has a YouTube channel under his name. He uploads infrequently but the existing content is a treasure trove with anything from semi-short digestible videos taking you from the basics and up, to long form videos where he codes up an app from scratch in a livestream form easy to follow along with.
He's also got an app on the App Store aimed at learners called Swift Unwrapped with easy challenges and gamification of learning.

2) On the subject of apps, there's Apple's own Swift Playgrounds which has Learn To Code interactive "books" in it. In my opinion it can be a tad slow, perhaps owing to its child-friendly "Everyone Can Code" philosophy, but on the other hand this may just be because I'm looking at it as an already experienced programmer and it could be perfect for newcomers to the field. Give it a go.

3) Start simple projects. You already have a conceptually simple project you want to build towards, but start even simpler and do something yourself. Watching videos, reading books and such is all good, but you have to remember to walk away after you learn and try and use it yourself without following a tutorial. Forget about full apps, make a program that prints to the Terminal the answer to some math problems when given input values or something like that, but think of something yourself and do it. Don't be afraid to Google along the way, but don't just follow a guide. Google individual steps, not the whole process.

4) As you get the hang of the basics, the language syntax and basic semantics, try learning a bit about data structures and algorithms. Trees, arrays, dictionaries, sets, stacks - their strengths and weaknesses. Binary searching, quicksort, O-notation. By no means essential stuff, but if you want to develop a good foundational understanding all of this helps and will allow you to more easily scale up to bigger projects down the road.
Also try and learn design patterns for code and code architecture.

And perhaps most importantly, 5) talk to people. If you teach yourself without ever talking to anyone about what you learn and the code you're writing, you can get stuck, go down wrong paths, misunderstand things that make it harder on you later on, be missing something essential, etc. Upload code snippets and ask if there are comments on ways to make it better or if it seems like you're on the right path given a level of learning so far, etc.
As I do with everyone, as time permits I also offer to read through anything you want, help out where I can, etc. My Discord, email and PMs here are all open (find contact details on my website: https://www.theparallelthread.com/about.html)

And remember as you learn, that even if you're learning Swift, the point is not to learn Swift. It is to learn programming. If you do it right, you'll pick up on the foundational ideas and concepts and most of that will be universally applicable across almost all languages.
 

Starfia

macrumors 6502a
Apr 11, 2011
945
658
apps on the App Store are packaged and delivered in a way that allows for modification or tampering by anyone other than the developer. I am assuming that this is a typo and you meant to say 'does not allow'
(Well assumed. Best typo ever!)
 
  • Haha
Reactions: zachiedoo

zachiedoo

macrumors regular
Original poster
Nov 3, 2022
162
91
S QC
Then give it a go I say.

I've written on many posts here on these developer forums in the past about good resources to start with. Can look back on those for further information I might miss here if you want.

But for now I'll have a few recommendations to start off with.

1) Hacking With Swift - already mentioned in this thread. It's a website and book series and it's phenomenal. The man behind it, Paul Hudson also has a YouTube channel under his name. He uploads infrequently but the existing content is a treasure trove with anything from semi-short digestible videos taking you from the basics and up, to long form videos where he codes up an app from scratch in a livestream form easy to follow along with.
He's also got an app on the App Store aimed at learners called Swift Unwrapped with easy challenges and gamification of learning.

2) On the subject of apps, there's Apple's own Swift Playgrounds which has Learn To Code interactive "books" in it. In my opinion it can be a tad slow, perhaps owing to its child-friendly "Everyone Can Code" philosophy, but on the other hand this may just be because I'm looking at it as an already experienced programmer and it could be perfect for newcomers to the field. Give it a go.

3) Start simple projects. You already have a conceptually simple project you want to build towards, but start even simpler and do something yourself. Watching videos, reading books and such is all good, but you have to remember to walk away after you learn and try and use it yourself without following a tutorial. Forget about full apps, make a program that prints to the Terminal the answer to some math problems when given input values or something like that, but think of something yourself and do it. Don't be afraid to Google along the way, but don't just follow a guide. Google individual steps, not the whole process.

4) As you get the hang of the basics, the language syntax and basic semantics, try learning a bit about data structures and algorithms. Trees, arrays, dictionaries, sets, stacks - their strengths and weaknesses. Binary searching, quicksort, O-notation. By no means essential stuff, but if you want to develop a good foundational understanding all of this helps and will allow you to more easily scale up to bigger projects down the road.
Also try and learn design patterns for code and code architecture.

And perhaps most importantly, 5) talk to people. If you teach yourself without ever talking to anyone about what you learn and the code you're writing, you can get stuck, go down wrong paths, misunderstand things that make it harder on you later on, be missing something essential, etc. Upload code snippets and ask if there are comments on ways to make it better or if it seems like you're on the right path given a level of learning so far, etc.
As I do with everyone, as time permits I also offer to read through anything you want, help out where I can, etc. My Discord, email and PMs here are all open (find contact details on my website: https://www.theparallelthread.com/about.html)

And remember as you learn, that even if you're learning Swift, the point is not to learn Swift. It is to learn programming. If you do it right, you'll pick up on the foundational ideas and concepts and most of that will be universally applicable across almost all languages.
Thank you VERY much for all of this. Exploring something new, when you don't know where to start, is always easier with some guidance from time to time.
 

MisterSavage

macrumors 601
Nov 10, 2018
4,639
5,487
The previously mentioned Swift Playgrounds is a fantastic way to learn new concepts by just playing around with them to see how they work and what result they spit out.
 

Nygaard

macrumors member
Dec 7, 2022
47
20
Houston
And to just accomplish this task; Would an Excel/Numbers spreadsheet potentially be a solution instead if you're not feeling up for programming?
I also recommend using a spreadsheet to start with – technically, it is a form of programming. Looking at the screenshots for the app, a spreadsheet program should do what you want.

That being said, writing a dedicated application to do what want also isn't that difficult: it's just a list of items. Like any skill, programming takes time to learn how to do properly, but if you can instruct a human how to make a cake, then you can instruct a computer.

However, the real challenge, and where much of the (unnecessary) complexity, is getting the "guts" of your simple program to properly interact with the operating system. You have to use such and such frameworks, use these programming methodologies, and, when things (inevitably) don't work as intended, figure out where in these layers upon layers of garbage the actual problem is.

It's much easier to ease into programming from a higher-level environment (like Numbers) which bypasses this superfluous stuff. Plus, it immediately allows you to solve your problem, which is tracking food intake.
 
  • Like
Reactions: zachiedoo

zachiedoo

macrumors regular
Original poster
Nov 3, 2022
162
91
S QC
I also recommend using a spreadsheet to start with – technically, it is a form of programming. Looking at the screenshots for the app, a spreadsheet program should do what you want.

That being said, writing a dedicated application to do what want also isn't that difficult: it's just a list of items. Like any skill, programming takes time to learn how to do properly, but if you can instruct a human how to make a cake, then you can instruct a computer.

However, the real challenge, and where much of the (unnecessary) complexity, is getting the "guts" of your simple program to properly interact with the operating system. You have to use such and such frameworks, use these programming methodologies, and, when things (inevitably) don't work as intended, figure out where in these layers upon layers of garbage the actual problem is.

It's much easier to ease into programming from a higher-level environment (like Numbers) which bypasses this superfluous stuff. Plus, it immediately allows you to solve your problem, which is tracking food intake.
Thanks. I have found an interim measure via a website. I think, though, when I have the time, I will try my hand at programming: it'll be challenging, it will keep my mind active, I will have a goal to work towards. In the meantime, I will fiddle with Numbers, as you suggested, as a first step.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.