Can I program an app with minimal coding skills?

I have had an idea for an iPad app that would be just for my personal use. I would like to write a program of it just to play around with, but my programming experience is limited to Basic, HyperCard etc. with all the hype around programming environments like Swift and AI’s that can write code, I would like to give it a try. Since my code involves the iPad and Apple Pencil, I have not found the Swift module that addresses this interface, but after going through the first module, do not need to learn about the concept of coding and would like to jump to the part where I can program, try it out, adjust the program, and repeat.

Is there a programming environment that would make this easier for me? I downloaded Xcode to my Mac and really don’t want to learn a bunch of code that does not support my project, so I am not really sure where and how to start.

This is an area where AI can be helpful. There are a few “how to use AI to write iPad/iPhone apps” articles on the net. Arguably the most popular AI tool for that purpose is Cursor, but there certainly are others.

I’m not sure what to suggest but I’ll warn you: if you’ve only written stuff in Basic, Swift will be a gigantic learning experience and SwiftUI even more so. I’ve written thousands of lines of C and Swift was quite an effort to get to grips with (enjoyable, as it’s a rather lovely language, but hard work). You could look at something like Xojo.

3 Likes

YES! But the only reason I know that is that I watched @ace present to the Naples Macintosh Users Group on “The Practical Uses of AI” here this past week.

He demonstrated a simple stopwatch app he wrote using AI and his excitement about writing programs using AI even got me interested.

He’ll likely comment here and take this topic further.

Have fun! :smile:

1 Like

I’m an amateur iOS developer, and I’d agree with both the comments that AI is becoming very useful in generating working Swift/SwiftUI code, and that it’s also a very different programming paradigm (especially at the UI level) than HyperTalk and Basic. Even if you can get decent code out of AI, I’d think you’d still need to be able to understand it at least at a basic level in order to fully make use of it.

If you’re willing to make even a minimum commitment to learning Swift/SwiftUI, then I would wholeheartedly recommend the excellent resources from Paul Hudson at Hacking With Swift. He has lots of free stuff there, as well as paid content if you decide to go deeper.

Yes, I’m using @cngarrison’s Beyond Better to write my stopwatch app, currently codenamed FreezeFrame (it takes timestamped pictures of finishers to help me with questions when our finish line results get confusing).

What’s cool about Beyond Better is that it sits between you and an AI model, often Claude, and because it’s a Mac app, it can do things like modify files on your drive. That enables it to create code that you build and run from Xcode without you having to do anything. I talk to Beyond Better and when it finishes writing the code I’ve asked for, I switch to Xcode and press Command-R to replace the code on my iPhone and run the new version for testing. My understanding with Cursor is that you’d need to copy and paste the code into Xcode, which works (I did that with ChatGPT before Beyond Better) but gets tedious fast.

1 Like

Although I have never used “AI” for help in programming, I don’t think it will be a substitute for a pretty thorough knowledge of the programming language you plan to use. Right now, that is Swift (or Swift UI). Fortunately, there are numerous online resources for learning the language, which in my opinion is considerably more difficult than C (or Basic). Frankly, I never got the hang of Optionals and found that the type rigidity of the language made for more verbose code, though it arguably made the code “safer”.

On macOS or iOS, learning the language is not enough. Since the programming is “object-oriented”, one needs to learn the numerous foundations and the details of all of the “methods” used in your program. I found this very difficult, though most of my apps used somewhat obscure things like graphing and 3D graphics which are not touched on in most how-to books on programming. All in all, I found it a very frustrating experience (though I probably don’t have a great aptitude for programming which I think suits people who would be good lawyers more than good physicists).

I somehow can’t imagine that using AI without an appreciation of the programming details would be very useful (but, as I said, I have never tried it).

I can say with assurance that it is. I know no Swift, and yet I’ve built an app that, while not polished or fully capable of everything I want it to do yet, is essentially functional.

3 Likes

It depends a bit on scope, I think.

If you are talking about writing a well-defined, limited-purpose app with a relatively small number of features, AI-based code generation often is able to do the job. In that case, it’s more important for the “author” to be able to iterate through enough clearly stated AI prompts than it is for the author to have detailed knowledge about software languages or architecture.

Of course, if you want to build complex apps that can scale in any of a number of ways, then knowledge of languages, architecture, and programming techniques remains a necessity. This is especially if you plan to support other users or address mission critical operations. That said, I fully expect AI to be able to take on more complex tasks as time marches on.

In a sense, we are moving “up the stack” again. The critical skill is becoming the ability to define and articulate requirements, not necessarily writing the code.

1 Like

This is key for all programming and something most beginners struggle with. It’s easy to have a vague idea of what you want, but hard to break that down into specifics.

One other tip would be whether or not you want to learn programming. If you’re just wanting this one simple app with a limited feature set (like it sounds Adam is developing), then AI could be great solution. If you’re wanting to do more things in the future, investing in learning a language like Xojo or Swift is worth it. You can use AI to teach yourself, though there are also plenty of online resources to help you learn.

1 Like

With some extra configuration (for the “run command” tool) you can have Beyond Better drive Xcode automatically.

Also, Cursor is not as good as BBEdit. Having an AI assistant that worked in-step with BBEdit was one of the initial driving forces behind Beyond Better. It’s not a coincidence that Beyond Better is also known as BB. :wink:

Many of you may have heard of “vibe coding”, and also that it’s not the same as production quality code. That’s where Beyond Better shines - in the right hands it can produce production quality code, but for everyone else it can produce code that is “good enough” - IOW, substantially better than vibe coding.

The key is shifting from task focussed thinking to “thinking in objectives”.

Being able to clearly state your objectives means BB can produce the desired results more effectively.

I completely agree with that.

And yes, as AI models improve, their capabilities continue to “move up the stack”. At first they were just auto-complete assistants. Then they were able to write a “complete feature”. Now they are able to handle substantial code refactors.

One thing that AI (& Beyond Better) is particularly good at is writing test cases. So if your coding project includes a good set of tests written by the AI, then the AI can ensure code it writes passes all of those tests, and your product is much closer to production quality. BB can automatically run the tests, feed back the results to the AI, and work in a tight loop - it’s quite effective.

I do agree though, for mission critical operations, having a deep understanding of the full tech stack is still important; AI isn’t there yet.

That’s a task that Beyond Better is particularly good at. Beyond Better was designed as a “project assistant”, of which coding is just one type of project. BB is helpful with research projects, marketing, creative, and more. Any project which has multiple “data sources” that you need the AI to work with directly is a good candidate for BB.

Breaking down a project into specifics is an example of BB being a good “project assistant”. It’s very common to use BB for creating planning templates, as a starting point before working on the actual project.

2 Likes

Looks like I’m going to need to investigate Beyond Better!

For the first time in a decades-long career spent at the interface between science and technology, I am finding it a bit uncomfortable to keep up with the pace of new tools and methods. Maybe I need to find a new place in “the stack”. I guess that’s a different topic for a different day.

1 Like

Point taken. I think that my programs were a bit complicated - designing complicated optical systems and simulating somewhat complex instruments in the area of laser frequency multiplication using an optical cavity. I was being a bit self-centered - I am sure that less complex programs would benefit from AI. Even with simple cases, it always helps to know a bit about programming to optimize the code and deal with bugs.

It would be nice if AI develops to the point where it can take on complex programming tasks and produce optimum and bug-free code. It would make the technology somewhat less fraught than it is now.

I’ve written a fair bit in XOJO and it’s free to start. I’ve never used it for iPad or iPhone - I’ve had no need - but it can do it.

If you use ChatGPT and ask specific, clear questions, it can get you a long way towards a working app. It’s not perfect, and can give wrong answers, but you can normally post the error codes and it will work its way towards a solution. I wish it had been around 20 years ago when I started,

1 Like

I would like to develop an “app” for the iPad to alert me when my solar/Tesla system export to the grid exceeds a selected value (using aTeslaAPI). But how can it be installed on the iPad if it is not in the App Store?

You can sign up for a free developer account which requires that you don’t use the App Store. I have one which I have used for years for MacOS and iOS development for personal use. I don’t remember the exact steps but it wasn’t particularly hard and is done on Apple’s developer website. The app can be loaded onto your device using Xcode.

1 Like

:+1:
Thank you. I will look into it.

I agree completely.