Jump to content

Missing last word randomly for adding reminders


Recommended Posts

@deanishe, I don't know if this is exactly the case with @dpyy's workflow, but I won't get to the conclusion that the problem is only with the workflow... I mean, I've experienced the same situation with workflows that needed to parse the user input and took some time to do it. I know it's best to make your workflow as fast as possible, but sometimes there is some processing happening that needs a little more time to accomplish than a simpler workflow and that we can't get around. For that, there's some "Run behaviour" that can help to reduce latency (ex: Terminate previous script), but even with that, the problem is that Alfred doesn't wait when we press enter for the latest Run to return. So it executes the workflow with a partially written query instead of the full one. So, I would say this is a bug and @Andrew, wouldn't it be preferable for Alfred to wait for the latest script to finished when there's one running while we pressed Enter ? This way, we would get the returned output that uses the full query when we typed it fast and knew what we wanted without needing to wait for the full output of the workflow to appear in Alfred's items.

 

Here is a workflow to show you (just a simple sleep command to delay the output): https://nofile.io/f/dyVRF1PX30M/SlowWorkflowOutQuery.alfredworkflow

 

Just write something fast and rapidly it Enter and see the output in the notification. If you press Enter before Alfred received the latest Script Filter output, then you will send a partial query.

Link to comment

@GuiB: You're not wrong, but I think you're jumping the gun somewhat, imo.

 

First things first: @dpyy needs to clarify what exactly is going wrong.

 

16 minutes ago, GuiB said:

If you press Enter before Alfred received the latest Script Filter output, then you will send a partial query.

 

True enough. But that's not an issue with Alfred: That's entirely down to the user not paying attention to what's going on.

 

It comes up time and time again, the latest example being the "why can't Alfred treat CTRL+M as plain, old M" feature request.

 

The bottom line is that Alfred is never going to be able to "fix" all the problems caused by users mashing keys with no regard to Alfred's actual state. As such, it behoves users to, you know, actually pay some attention to what they're doing.

 

Link to comment

@deanishe, fair enough!

 

I thought that since Alfred is used to rapidly launch things, then I thought that it should make sure to launch the right thing. But, yes, what should be the right thing to do could depend on the situation and is questionable... Launch the action as soon as possible to make it as fast as possible or wait and make sure to launch the latest run action to be sure to have the complete action even if it's a little longer to activate.

 

I get you that we should pay attention to Alfred output to make sure we run the right thing and that it's not possible to fix all problems. Now I'm questioning myself about what is best between the two way. But for sure, the best thing is to try to make your script as fast as possible so there's no problem of this sort ;)

Link to comment
14 minutes ago, GuiB said:

Launch the action as soon as possible to make it as fast as possible or wait and make sure to launch the latest run action to be sure to have the complete action even if it's a little longer to activate.

 

This is the heart of the matter, tbh. Alfred (i.e. @Andrew) prizes performance above all else. Alfred kicks off all relevant searches in parallel, and as such any chance of deterministic behaviour goes out of the window unless you wait until they've all finished, as there's no telling how long subsytem X will take vs subsystem Y on any given invocation. That's simply out of Alfred's control.

 

This is compounded by the fact that if you select the wrong result a couple of times, Alfred will remember your choice, thus making it more likely that you'll make the same "mistake" again in the future.

 

As long as you're entering a query into Alfred, you can't just blindly mash ↩ and reasonably expect to always get the result you want.

 

This applies much more so to workflows, where, in many cases, the variance between runs can be measured in tenths of a second, rather than thousandths or hundredths of a second, as is generally the case with Alfred's built-ins.

 

There are ways to mitigate the problem, such as the "wait till modifier is released" method, but fundamentally, the Right Way is to actually pay a bit of attention to what's going on.

 

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...