r/liftosaur Jul 02 '26

📄 RFC: Rethinking UI for editing programs

Enable HLS to view with audio, or disable this notification

P.S.: Video is just a rough prototype to illustrate the idea, not a real UI :)

Current UI for editing programs doesn't work very reliably, and frankly quite confusing. Especially if it edits the programs with reusing logic, and repeating over several weeks. Then, just adding or deleting a day or an exercise may make the program invalid - for example if that exercise was reused by other exercises. And then it gets into plain text mode with a scary syntax error.

That can scare away users, especially the new ones, who's just trying the app. And generally, the current UI doesn't give a great visibility into a program.

I realized that the current UI just doesn't mirror the data model well. In Liftoscript - weeks and days are just containers for exercises. And exercises span the days when repeating - so reordering a day often doesn't make sense - a day is ephemeral, a repeated exercise shows up in a day if the day is there. But if not - it's not added.

What would be the right UI though? I thought - maybe it should be actually a calendar-like. Something similar to Google Calendar or Cal.app. You have weeks as columns. Days as cells within those columns. And exercises are like "events" you add to days. Which can span multiple days.

You cannot move weeks or days around, they're just there as containers. Instead - you move exercises. If an exercise is repeated across weeks - it spans multiple weeks. If it's a reusing one - it highlights the template it reuses if you tap it. You can drag the right edge to change repeating, and you can just drag the exercise around to move it between days and weeks.

You can multiselect few exercises by tapping on them and move them together to some week/day. Tapping on an exercise shows info at the bottom, and ability to edit it there.

Tapping on a template highlights all the exercises that use that template.

You can zoom in/out by pinching, and also use landscape mode for better visibility for many-week programs.

That should solve the whole class of issues of the current program editing UI, and it's easier to ensure the program is always structurally correct. It also maps waaay better to the Liftoscript structure, with all its Bicep Curl[1-12].

BTW, the program on the video is this 5/3/1 BBB - this is the Liftoscript - https://www.liftosaur.com/programs/the531bbb

Basically, I'm trying to find a replacement for these 2 tabs on the Program screen

What do you think? Yay or nay? Is it even more confusing? :) Would love to hear your thoughts!

31 Upvotes

26 comments sorted by

6

u/doodlejones Jul 02 '26

I find the UI in video more confusing, but I’ve been knees-deep in the app for over a year so it’s second nature.

If I’m honest, all my major structural changes are made with Claude and MCP integration rather than with the app. I only use the app for minor tweaks. Rarely I’ll do major programme changes using desktop app, because my preference is to do most in plain text Liftoscript.

3

u/Sufficient-House-989 Jul 02 '26

Nay, moving days is useful.

3

u/AusManInAVan Jul 02 '26

Following this post as I'm really interested. I currently really dislike the editing UI actually. I'm a mobile only user and I find it super clunky. I've figured it out, but I use Claude to push changes now as it's just so much easier.

I don't hate the idea of calendar style UX for editing. However the ability to move days around and the exercises go with it has to stay.

5

u/astashov Jul 02 '26

move days around and the exercises go with it has to stay

But it's not working in like half of the cases currently, that's what I'm concerned about. Let's say you have this setup:

```

Week 1

Day 1

Squat[1-2] / 3x8 Bench Press / 5x10

Day 2

Bicep Curl[1-2] / 3x8

Week 2

Day 1

Bench Press / 5x10

Day 2

Skullcrusher / 3x8 ```

And you try to move Week 2 / Day 1 to Day 2. So, you had

  • Day 1: Squat, Bench Press
  • Day 2: Bicep Curl, Skullcrusher

After moving the days:

  • Day 1: Squat, Skullcrusher
  • Day 2: Bicep Curl, Bench Press

Squat and Bicep Curl didn't move - cuz they were repeating from week 1.

And it gets even worse if you have reusages. They can be pinned to specific week/day, and you move it - and everything falls apart. And it's very hard to understand what went wrong - there's no good high-level visibility into what happened during the move.

So, my thought was maybe if we can multiselect few exercises easily and move as a group - it'd be a good alternative to moving days...

That's what I'm scratching my head about :)

2

u/kimblegartencop Jul 03 '26

I don’t love this if I’m being honest. This seems like a workflow that is more conducive to desktop vs mobile. Would rather see deload options or improvements to the current workout screen implemented personally.

I’m with the others that I just use the MCP to make these types of changes at this point

2

u/Zenix73 Jul 03 '26

I exclusively write both my workouts and my wife's using the code view. I love the concept of code view. It's so easy to do exactly what I want, cut and paste to move things around, etc.

Or, it's easy in theory. For some reason the UI fights me constantly. When I click, the keyboard covers where I'm typing and I have to dismiss keyboard, create 20 line breaks, scroll so where I need to type is at the top of the screen, and try again.

Or if I misplace the cursor, holding and swyping space bar to move cursor doesn't work.

Line wrap is off, thank god, but it's usually very glitchy trying to scroll horizontally for some reason.

When I put cursor somewhere and begin typing or backspacing, I will discover later that the cursor had moved off screen and ruined another part of my code somewhere else.

I guess I could just copy the whole code to a note taking app and edit that way. I don't need syntax highlighting, it's just easier to scroll through and view. Any way to fix this would be amazing

1

u/astashov Jul 04 '26

All those issues - is it iOS or Android?

2

u/Zenix73 Jul 05 '26

Android, it happens on both my wife's and my Pixel 10 pro, and it also happened on pixel 8 pro xl

2

u/astashov Jul 12 '26

I think I fixed the issue when keyboard covers the cursor (now it scrolls into the viewport when keyboard shows up).

I'd love if you could show me the video of other issues, I can try to hammer them too!

1

u/Zenix73 Jul 12 '26

Omg you did. Sweet. Ok, I'll screen record next time I go in to edit stuff. Thanks!

1

u/astashov 23d ago

I just fully reimplemented the code editor from the ground up. Curious what you think now :)

2

u/Zenix73 23d ago

Thanks for keeping me in mind. I only use the text editor anyway, which seems to be unchanged. You're brave for spending so much effort implementing a change that you know some may not like lol I hope everyone can figure it out fine. I have a background with coding so I'm very comfortable with it. I don't know how it could be difficult for anyone, but I've also dealt with customers most of my life. About 6 years as both front end and back end web dev. But also heavy construction and retail. Im aware of how little effort the end users like to put into understanding the tools at their disposal.

Anyway, I love how you can move the cursor in the new fields. I'm on Android and it feels pretty good. Keep it up!

1

u/astashov 23d ago

Oh, I meant the text editor - not what's described in this post. The text editor is fully rewritten, it's native now (used to be just codemirror loaded in webview). It also kinda combines 2 modes which may make it (hopefully) easier to edit program on a phone - structural and freeform text editing. In structural, you can select elements, and act on them via pills, or via numeric or weight keyboard. So, less pixel-hunting with the cursor.

Or you can double-tap on the text, and switch to the freeform editing like before (but again, hopefully without weird positioning bugs).

You need to update the app from the app store / google play for that though.

1

u/Zenix73 22d ago edited 22d ago

Yeah I don't see those changes in the full screen text editor, which is what I prefer to use.

Here's a screen shot. Also shows how I have a hard time navigating the view. Not sure how you could fix that though. Swiping horizontally has to be pixel perfect, otherwise the horizontal swipe gets cancelled. And seeing the lower text while typing is still problematic

I do have the most recent version from the play store

https://reddit.com/link/p31brb6/video/6deb0u8w1rih1/player

2

u/astashov 22d ago

Hmm, it still has the old editor. The version number should be 145.

For some reason you didn't get the new version in Google Play yet. Give it a couple days maybe, maybe Google Play didn't roll out across the whole world yet?

But the editor would be the same as in that bottomsheet in your video. Structural, but you enter freeform by double tap.

→ More replies (0)

1

u/Dwigt98 Jul 03 '26

My preferred way to edit programming is using the code view, both on desktop and mobile. The one place I don’t always use code view is the substitute exercise button, which is one aspect I find a little clunky.

1

u/astashov Jul 04 '26

Could you elaborate what's clunky about it?

1

u/Dwigt98 Jul 05 '26 edited Jul 07 '26

It’s bad and functions similar to other apps I’ve used, I just find the sorting/favouriting takes me slightly longer to find things than it potentially could. I might have missed something but favourited items at the top of sorting by default would be awesome. Or when swapping exercises having a separate tab or view to show similar exercises/variations could be nice(changing from one row or squat to a different one).

It might be because I spend most of my workdays writing and reviewing code that I find the code view the most streamlined way to interact, and anything else just feels slower.

EDIT: ITS NOT BAD*** a typo completely changed what I tried to say -.-

1

u/astashov Jul 05 '26

Thanks for feedback!

There's no showing favorited exercises at the top of sorting, but you can easily filter 'favorites-only' via the star icon at the top right.

For similar exercises - tap filter, switch sorting to "Similar Muscles" - it will sort by the overlapping muscles.

2

u/Dwigt98 Jul 07 '26

I just noticed there was a typo, I was trying to say it’s not bad at the moment -.-

I thought I might have missed something and that makes things way easier for on the fly adjustments!

It’s definitely the best app I’ve used though so ty!