Guidance Getting Started - A Golf League App

Now retired, my career was developing end user software (MRP's), hence, familiar with DB based solutions.

I have been using Excel to manage a golf league and getting tired of all the steps involved. Part of tasks list - updating player status, putting together weekly teams and creating Teams sheet and scorecards. Weekly Results. (Not a complete list)

Wondering if writing an app will make life easier in the long run, plus, some day I will need to pass the coordinating to someone else. It would be easier for them to learn an app versus all the steps in Excel.

Questions... Do I develop using Swift (and deal with finding future replacement with a Mac), or do I develop using a cross platform (MacOS/IOS and that other familiar GUI OS?

Where do I begin? Where are resources for learning?

Any suggestions or recommendations are welcome.

Answered by DTS Engineer in 905634022
MAYBE automating as many tasks as possible.

Good luck!

But don’t let that stop you from playing with Swift in other environments. For example, I recently discovered the Cadova project [1] and I’m having all sorts of fun using it to create 3D printed artefacts (-:

Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

[1] https://github.com/tomasf/Cadova

I have a couple of big picture points for you to consider. The first is about your reason for doing this. If your goal is primarily to have fun while you make something, let that guide your technology choice. For example, there might be good reasons to implement this as a website (see below) but if you’re not enamoured with web development and really want to make a native app then… yeah… that’s what you should do.

OTOH, if you want to ship and maintain a product then it makes more sense to follow a technology path that’s appropriate for that product, even if it’s less to your taste.

Second, the one up-front decision to make is whether this program needs to share data between multiple users. If it does then you’ll need some sort of server technology. It might be possible to use an existing service — in the Apple ecosystem that’d be CloudKit — but that comes with its own set of constraints. If those constraints don’t work for you then you’ll end up needing to build your own server. And if you have to do that anyway then… well… maybe you could build this as a website rather than an app.

OTOH, if you intend for this to only be a single user thing then there’s nothing stopping you from shipping it as an app.

Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

What Quinn said, plus

Wondering if writing an app will make life easier in the long run, plus, some day I will need to pass the coordinating to someone else. It would be easier for them to learn an app versus all the steps in Excel.

It depends on the complexity of the app, but, by experience, reworking on a sophisticated Excel sheet written by someone else is really tricky and error prone.

So, if your application is a little bit sophisticated, Excel is not the way to go (IMHO). In addition, native app will let you add features that cannot be implemented in Excel.

An app appears well adapted and SwiftUI would probably make it pretty easy to develop.

 

Do I develop using Swift (and deal with finding future replacement with a Mac)

What is your concern with Mac ?

BTW, SwiftUI makes it easy to be cross platforms (Mac, iOS, iPadOS…)

Don't forget to close the thread once you have made your mind.

DTS Engineer.. Thank You! I appreciate your spending some time and giving me feedback.

This will be single user. (Phew - no server issues. (ha ha)

This is intended for our use. One day I will retire from organizing the group and pass the torch, and that person may not be computer savvy. You should see my documentation of all the steps taken using the Excel solution. Most others would balk and feel overwhelmed just seeing them. Hence, an app solution to pass to the next person. BTW... I loved developing solutions - figuring out the algorithms and creating code.

An app versus website... Can I do a native app that contains everything, nothing else is needed for the database aspect. To be clear, there would be an app and a (database) file. Same question if it is website based. I did not write web based code for my job, although I did dabble with PHP at one time.

Thanks again, Ed A

Claude31... Thank you for feedback.

I was given an Excel file with some "tasks" in place. BUT! I have enhanced it and am very familiar with the formulas and procedures. I created documentation for all the steps on every task - they would overwhelm someone else just looking at them, unless that person was "tech savvy".

Yes, the Excel is limited. I have to do numerous manual steps to complete tasks.

Personally, no concerns about the Mac. The concern is finding a replacement when I pass the organizer job to someone else - they would have to have a Mac, versus Windows. I am tempted to use Swift, easiest for me, but the above is the concern.

Thanks again, Ed

New to this forum.

What is the purpose of "Accept this answer"? When should I click it?

What is the purpose of "Accept this answer"? When should I click it?

It’s mostly just a social thing. I talk about it in tip 12 of Quinn’s Top Ten DevForums Tips.

One day I will retire from organizing the group and pass the torch

Fair enough. That raises two questions:

  • Will your successor be able to use your solution?
  • Will your solution keep working in the long term?

And there’s a bit of a balance to be struck. Your spreadsheet solution may not be easy to use, but you can be reasonably sure it’ll keep working. OTOH, the app you create will have a really nice UI, but someone has to maintain it. Apple strives to keep existing apps running, but only up to a point.

For example, we’re in the process of transitioning from Intel to Apple silicon on Mac, and we’ve announced that macOS 27 will be the last version of macOS with general-purpose Rosetta support. If, back in the day, you had created a Mac app for this task, you’d have to rebuild it for Apple silicon. That’s not a hard task, but it relies on you being around to do it (or your league finding someone else).

So, yeah, trade offs (-:

Regardless of what you choose to do, I strongly advise that you build a way to get the data out of your solution (so, export to CSV or something like that). So no matter what happens in the future, your league can at least access its historical data (-:


If you decide to create an app, Apple has a bunch of resources available to help. A good place to start is the ‘pathway’ docs for your target platform. For example, macOS Pathway.

If you want to get started with Swift, you can find a bunch of info on the Swift website. Given that you have programming experience in other languages, it’s reasonable to jump straight in to The Swift Programming Language doc.

There’s also a world of third-party resources available. I’m not really the right person to talk about those, so I’m hoping that others chime in.

Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Quinn "The Eskimo!"...

Thank you so much for the excellent points!

Your spreadsheet solution may not be easy to use, but you can be reasonably sure it’ll keep working. OTOH, the app you create will have a really nice UI, but someone has to maintain it. Apple strives to keep existing apps running, but only up to a point.

This just pushed the needle towards remaining in Excel and MAYBE automating as many tasks as possible. A long time ago I was using Macros and VBA, then there was the era when "viral macros" took off and I stopped using the macro functionality. I need to consider implementing them.

I appreciate this feedback. It really raises a good consideration.

EdA

Accepted Answer
MAYBE automating as many tasks as possible.

Good luck!

But don’t let that stop you from playing with Swift in other environments. For example, I recently discovered the Cadova project [1] and I’m having all sorts of fun using it to create 3D printed artefacts (-:

Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

[1] https://github.com/tomasf/Cadova

DTS Engineer & Claude31 -

Thank you for your sharing your time, effort, and knowledge in this discussion. I appreciate it.

I decided to forego creating an app and instead use Excel's Scripting functionality, at this time, to take this solution to the next level (time saving). Your input really helped, pointing out perspectives I had not considered.

This has been a fun exercise, reminding me of my working days. Those up front discussions about enhancing information system solutions.

That said, I have run an NFL pool for over two decades. Excel based, with some features/side pools, not found in other pools. Since it is my own and there are no plans to pass it on to someone else when I decide to end it, I am thinking about developing an app, using Swift. For the joy of programming again.

I love my Apple products, since 1984 (if you catch my point).

Wishing both of you the best!

What additional steps do I now perform to indicate my question has been answered? Any other suggested action I should take?

What additional steps do I now perform to indicate my question has been answered? Any other suggested action I should take?

You've marked the correct answer, and thumbed up other answers, that's perfect.

 

I love my Apple products, since 1984 (if you catch my point).

1984 only ? That's pretty recent 😉. I started in 79 on Apple ][.

Guidance Getting Started - A Golf League App
 
 
Q