Quality of life features

batsking

New member
(x post from the subreddit)
I think android automations are really awesome, and I have a lot of them, but I really hate making them.

While all the apps, especially MacroDroid are full of features, the actual act of programming is always painful for me.

Maybe it's not fair. I'm a programmer by trade, and text editors and ides had decades to evolve by the people who love to be lazy.

Touch screens are relatively new, and are much less efficient than kb and mouse. Since textual programming is practically impossible, we have to use visual programming which is again underdeveloped and basically requires anyone to start from scratch.

With that being said, I think Macrodroid (and other apps, have much much room to grow in the ux field before we talk about integration and features.

Here are my pain points, of course as a programmer I know how hard it is to actually implement new features, this is just something to think about.

Undo/Redo
Oops I accidentally deleted a block with lots of config What can I do? Well, if I haven't saved yet I can discard my changes and maybe save it at the cost of my other work. That's not great.

Undo and redo should be a base feature to every program that encourages you to experiment. It saves time and saves code 2.

Version control
Like undo/redo, but for everything.
Every programmer today uses it. being able to travel through history, branch, see when what happened and why.

We have backups, which I guess are better than nothing but just aren't enough.

I'll go a step further and say that since macrodroid programs, even huge ones, are so relatively small in size that literally every change should be a "commit" (in addition to normal named commits). Full history in all directions

Long press is useless
Long pressing should be quick edit. or entering selection mode, or have it be configurable. instead it opens the help menu, which is maybe useful for beginners,but since the input grammer is touch or hold touch, it's just wasteful and inefficient. I find myself holding it excepting it to do something, but it never does.
someone mentioned slide menus, like in email apps, and yeah this is perfect

multiple selection
not much to say here. hate doing things one at a time. let us select multiple blocks and delete or move or anything them as one

expressions
In macrodroid you have magics to insert to replace variables and you have some operations you can do, but it could be much more.

Doing simple ops in text, like a ternary operator, combining string operations, etc can save so many blocks that are annoying to use one at a time

This is something that automate does pretty well: https://llamalab.com/automate/doc/expression.html

I think it should be taken further, and have a small embedded language for those things. similar to how mustache or jinja templates are

so many clicks
want to edit an if? well press it scroll to configure press the inner block scroll to configure again finally

having to go through all of the menus every time you edit something it's just friction

text editing
I said that programming textually on a phone is not good. that's still true. but often it's so much easier to tweak a small thing with a text editor.

Ideally we will have a documented format to work with, but even if not, just letting us do it behind an advanced flag or something could help. right now its doing a back up, editing, and restoring.

that's what I have for now I'll probably make a similar post for automate soon tasker is beyond help IMO

I wish there was an android automaton thing where I feel like the app helps me rather than hinders me

I was thinking about node red maybe, but the interface is unusable on mobile so I'll have to develop a responsive theme or something

Share your thoughts
 

Jacob L

Moderator (Lawsonator)
You know macros are written in JSON don't you, which can be edited with text editor.

Copying multiple lines can be done if you surround them in a loop and copy the loop
 

Endercraft

Moderator (& bug finder :D)
Undo/Redo
Oops I accidentally deleted a block with lots of config What can I do? Well, if I haven't saved yet I can discard my changes and maybe save it at the cost of my other work. That's not great.

Undo and redo should be a base feature to every program that encourages you to experiment. It saves time and saves code 2.
I agree so much with that. Working on a macro without saving and accidentally deleting a very long dictionary/array condition for example is so painful. Then I have the choice of either losing everything if I had saved it before or just making the condition again which may take time depending on the complexity.
text editing
I said that programming textually on a phone is not good. that's still true. but often it's so much easier to tweak a small thing with a text editor.

Ideally we will have a documented format to work with, but even if not, just letting us do it behind an advanced flag or something could help. right now its doing a back up, editing, and restoring.
It would be great to just have a built in (hidden) JSON editor to edit a macro in real time. Making it hidden and only available with a specific combination too of input else who knows how users might destroy their macro in the weirdest random way.
 

MacroDroidDev

Administrator
Staff member
These are all valid points. I'm not going to comment individually but I will add various suggestions to my TODO list (no promises or timescales). I'm not ever going to support direct text editing because the effort of supporting this is not something I can ever hope to take on.
 

e.t.l

Member
text editing
I said that programming textually on a phone is not good. that's still true. but often it's so much easier to tweak a small thing with a text edito
It would be great to just have a built in (hidden) JSON editor to edit a macro in real time

I'm not ever going to support direct text editing because the effort of supporting this is not something I can ever hope to take on

The challenge of supporting text editing is a fair point, as is the desire to have it in the first place.

This is just a thought, as I haven't looked into implementing it at all, but if the current way of manually editing a macro is to export it, open in an editor, and import/restore the updated version.. And if the main complaint about that is that it's a cumbersome, repetitive process... Wouldn't it be possible to automate it? With a macro? Create a button that, when you're viewing a macro, exports that macro and launches an editor for it? And then have an appropriate trigger to import back the updated version? Seems doable...
 

MacroDroidDev

Administrator
Staff member
It's definitely possible to do many things with regards to improving textual editing, but I think the main point I am trying to make with regards to this is a more high level one. If I start providing features that encourage this/make it easier to do then I am inviting and encouraging users to do this. If I go down this path I have to be fully committed to supporting this long term. This is what I cannot do, my support load is already more than I can really handle (but I muddle by) adding more complicated questions/debugging issue requirements on top of what I already have may drive me to insanity. :p
 

e.t.l

Member
It's definitely possible to do many things with regards to improving textual editing, but I think the main point I am trying to make with regards to this is a more high level one. If I start providing features that encourage this/make it easier to do then I am inviting and encouraging users to do this. If I go down this path I have to be fully committed to supporting this long term. This is what I cannot do, my support load is already more than I can really handle (but I muddle by) adding more complicated questions/debugging issue requirements on top of what I already have may drive me to insanity. :p
Yes, I totally agree! I think I was unclear in my last post, and I apologize. I was suggesting that we users create a macro to streamline the text-editing import/export workflow. That way it wouldn't put any more work on you.
 
Top