My Capstone project for Launch your first App

I’m just starting the nitty-gritty part of the LYFA course. Chris talks of four hurdles, he should say 5, the fifth being this whole new world of this Forum, and a Journal Entry. Frankly I don’t find this particular environment intuitive or particularly user friendly, but here I am and with your help, whoever you may be, I’ll make a success of it.

I also couldn’t see any reason not to use the pro forma intro, so here it is below:

Cheers, Brian

"Hey everyone, my name is Brian and this is the beginning of my capstone project for the Launch Your First App program.

My background is in IT (started 1969, hence the name ITDinosaur) and I’ve been learning iOS for 6 months.

Ultimately, my goal for learning iOS development is a) amuse myself b) help some mates with an app, and c) maybe make a dollar to augment my pension!

I’m looking forward to updating this project log as I progress to completing my capstone project!"

July 28, 2024
Not knowing any better and not finding any help regarding the use of this forum, I’ll just keep extending this entry until I’m told not to…

Ok, so I sat and started my list of apps, a relatively easy exercise:

  1. Childs game 1.
  2. Childs game 2,
  3. Childs game 3.
  4. Language list
  5. Event Recorder
  6. Stay safe
  7. Keywords

All deliberately coded names of course. They mean something to me, so that’s all that is required. In listing them, I become immediately aware of my total inadequacy to create any except the language list and the event recorder, even then there is going have to be a ton more serious study and practice to get the right skills to make them, and make them useful.

Skills I don’t have and haven’t seen anywhere in CWC

Event recorder.
allowing user to input an image, by file upload, by using camera or download from web
creating a file, text or otherwise,
Access to upload file to other computer such as a MAC
accessing the building in functions of a device, a iPad in particular, such as Print

Language list
This might be easier, I probably have covered everything required, but you have to be based on a local words database, at least to start with

Keywords
One of the major shortcomings of a iPad is its total inability to use keywords with photos. Why? I have no idea, but I assume it could be done it would have been, but then again this is Apple-land and the obvious isn’t always the way…

Kids games
What is the use of a kids game without some interactive graphics? Not a subject covered by CWC (or so I am currently aware) so I’m on my own here.

Staysafe
I’d need access to iPhone functionality such as camera and I will need to be able to present dynamic, user controlled view. Have ni tea if hats even possible…

So, that explains that then, one cannot just keep editing an entry. What I could do yesterday I cannot do today. So I will try putting replies in to my own journal, which doesn’t really make it a journal does it?

Watched the Figma video again (Databases, lesson 2) and it made more sense had the first time. Spend an hour fiddling about trying to make a design. Gave up. “They” make it look so easy, but it’s not, it’s 10x harder than learning how to code. I think i’ll go back to paper and pencil.

If you add another entry whether that be a reply to a previous post or just a reply then it certainly does function as a blog or Journal.

Ok Thanks Chris, just having a ‘moment’.

So, I set up a menu page, not using menu thing as it’s useless if it can’t be forced to be ‘open’ . then I wrote a settings view which I’m happy with, but have no idea if it’s ‘clever’ or ‘clumsy’. it uses AppStorage for the two values

next on my to-do list was to create a Start Event view. the idea was that you enter a name for the new event, and then the event as such starts and you go on to running the event…

but I ran into confusion as to what I wanted to do and how I would do it… so I wrote this in the top comments field of my view


What do i want to do here?
first thought, enter a new event name, press go, change to run even screen

do i show list of previous event names? and allow one to pick
sore in array with unique id and date, created or started

when i say ‘go’ do i mena now, on the day, or do i mean just set up the event name for later use

perhaps i set the name, start the event and leave open until stopped. what do i care if it runs for days or weeks? Im only savig data with a transaction, no tranactions no data saved

do i store as appStorage or use a databse?

might use appstorage for this item, woulnt expect more than one or two entries

and then there is the question of mvvm or just vanilla?
or do i try and learn something about protocoldriven code?


I can see the point of MVVM, even if it more logically should be M VM V, and have used it several time, with varying degrees of success. I have read a lot about mvvm and it has many detractors. I’ve even read a few diatribes about using protocol driven frameworks or something. I can sort of see the point but seems even more complicated and obscure than mvvm. so I want be using it anytime soon

and I can’t see how to use mvvm with AppStorage, they just seem totally opposed to each other

anyhow, I’ve decided how and what to do in y little app, so enough for now

Been away for a while. Had to shut down my app development stuff, something just had to give!

Took me a while to get started again. Reviewed the last half a dozen lessons to see what the heck I was doing… OK, so I didn’t do the full design thing, I’m making it up as I go. I find Figma to be a PITA and would rather scribble on a piece of paper…

I know it’s wrong, but I’ll design it after its done. Its ok for the experienced ones to say “do the design first” but then, they know how to code, they know what works and what doesn’t and they know heaps of stuff us newbies just don’t know and possibly never will if we don’t get at least one app finished by ourselves in whatever way we can!

Toyed with the idea of going back to Python…

But no, here I am, and I’ll just have o make some sort of a go of it.
Cheers, Brian

1 Like

Ok OK so I’ve taken a critical eye to what I have doe so far. It would be easy dismiss it as rubbish, but when I look into it, I’m quietly impressed by what I’ve done. So what does a critical eye see?

  1. Reinstating the on-boarding screen show s that it’s just a help file, basically a step by step as to how to run the app. Probably to really appropriate. I’ll have to rethink the whole on-boarding sequence. I think I stared with a welcome screen and had a separate help screen, which would be the norm but somewhere along the line they morphed into each other. I’ll fix that by going back to the original ‘plan’. Do I have a plan? No not really, just a vague idea to build something that seems to fit the ‘norm’ as far as apps go.OMG, have they become that main-stream that there is no longer any room for original thought?

Moving on…

  1. I have a Setting page that is pretty robust, but not complete, so that’s Ok at least.

  2. The main event page. Is rubbish. Actually it doest really exist because what I have - Start a new event, belongs n that Settings page. What I think I might have had in mind was to go from the onboarding thing to a menu pick: Run Event, Close Event and Help

  3. Run an Event: first thing, check see if there is an Event-in-progress. If there is, give an option: Return to current event or Start new event.

4A Return to Event-in-progress returns to the yet to be written Event Page and pick up where it was last stopped / stalled / whatever

4B Start a new event : Create an Event Name , set prices, close previous event file if open, open a new file based on the new name and parameters and pass control to the Event Page

Rewind a few steps: The overall premise of this app was to allow the user to track sales at an event, the culmination of which was to produce a report, or 2. One would be a Summary of Sales,Total # of Item A, Total # of Item B, Total $$ of A, B and Total.
The other would be a full detailed list of every transaction for the Auditor. So where does the fit in?

  1. Into Close Event. Double check you want to stop, if OK then produce the reports and offer them up for download? Do I keep them on the device for all time? I have a Reset button in the Setting, but that just clears the Event names and current Price settings. Do I want to dump all records to date? Perhaps that should be in the help file: “To clear all history, remove and reinstall the app”, or would just a simple delete history button do the job? Speaking of History…

  2. Maybe that main menu should have a History selection? From there one could review the past event, print the saved files or maybe even delete all History.

Having reviewed the Lesson for Start your own app, I can see now that need to back up and scratch out those wire frames, decide what can go into an MVP and what needs to go into the future offerings. A POV that a newbie can only come to after making a (or several?) start and writing some code to see what is what.

Oh well, back to the old drawing board!
Cheers, Brian