Jump to content
sfsdfd

Alfred results sorting based on usage

Recommended Posts

Posted (edited)

I've used Alfred for years, and I'm a Mega Supporter - but my frustration level with Alfred's behavior is peaking, and frankly I'm on the verge of dumping it.

 

I use Alfred as a keyword-based launcher, and probably 95% of my searches are intended to invoke workflows by keyword. If I create a workflow with the letter "f," then when I enter just the letter "f" - exactly matching the workflow keyword - then I want it to launch that workflow. I want it to do that every time, and I don't want to have to look at the menu to see whether the "f" workflow is option #1 or #2 or #3, etc.

 

For the life of me, I can't get Alfred to do that.

 

Alfred's "smart" search routine frequently insists on sticking other results into first place on the menu, EVEN WHEN MY ENTRY EXACTLY MATCHES A KEYWORD. Sometimes "f" is the "f" workflow, but sometimes it's Firefox, and sometimes it's the "files" workflow instead of the "f" workflow simply because I use "files" a lot.

 

Yes, I've reset Alfred's knowledge. No, that isn't a solution, because Alfred then places the workflows LAST in the list for some absurd reason. If I deliberately enter the keyword and then deliberately select the workflow, it might learn the association...temporarily.

 

This flaky behavior has gotten worse of late. I've raised this issue before and have been told to deal with it. Unless somebody's got a solution, I'm going to start shopping for Alfred's replacement.

 

Edited by sfsdfd

Share this post


Link to post

@sfsdfd What do you have included in Alfred's Features > Default Results? Alfred works best with the default configuration of nothing selected in the Features > Default Results > Extras, then using the file search mode for file searches. This then frees up the default results for things like workflows.

 

Also, if your workflow takes an argument, there is no need to select the workflow to use or run it, just keep typing. For example, if you have a keyword 'f', type "f bananas".

 

Finally, make sure your file search keyword isn't also 'f' in the Features > File Search, as that will naturally cause confusion.

 

Cheers,

Andrew

Share this post


Link to post
Posted (edited)

First, it's not about speed: Alfred responds almost instantly, but frequently with the wrong recommendation.

 

Second, it's not about search paths. I keep my default results very slimmed-down specifically to cut down on noise in the search results. Here's my entire default results set:

 

Essentials: Applications, Preferences

Extras: None (everything unchecked; Advanced is empty)

Unintelligent: Unchecked

Search Scope: /Applications, /Library/PreferencesPane, /System/Library/PreferencesPanes, ~/Library/PreferencesPanes

Include folders in Home (excluding ~/Library): Checked

 

Fallbacks: Only show fallbacks when there are no results

 

That's it. I'm trying to bias Alfred as much as possible toward my keywords.

 

The bottom line is that Alfred is apparently too "smart" to apply the simplest, most straightforward result. I use Firefox a hundred times a day, so much that I have it mapped to the keyword "w". And yet, because I use Firefox a lot, Alfred constantly pushes it to the top of the "f" list - superseding the "f" workflow keyword.

 

Please fix this. I've been asking for this for years, and I'm just about done with it. Competing products do not seem to have this problem.

 

Edited by sfsdfd

Share this post


Link to post
1 hour ago, sfsdfd said:

Alfred constantly pushes it to the top of the "f" list - superseding the "f" workflow keyword.

 

If you type "f" (the keyword you said you used for your workflow) then a space, then start typing your keyword, Firefox will disappear and Alfred will recognise you're using that workflow's keyword.

 

As I understand it, your workflow requires an argument after the keyword, so you need to keep typing anyway, correct? Forget the top result that's visible when you type F and just confidently carry on typing the keyword you want. 

 

I assure you this works wonderfully, as that's my keyword for a folders-only file filter I use daily, so there's no need to worry about which app appears first when I type "f", which is FaceTime. My workflow takes priority as soon as I add my search term. :)

 

Cheers,
Vero

Share this post


Link to post
Posted (edited)

None of my workflows require or even permit an argument.

 

My inquiry is way simpler than all of the questions here suggest:

 

* I have a workflow with a keyword "f". No parameters.

 

* When I type "f", I don't always get the workflow with the exactly matching keyword as the first result. Sometimes it's Firefox; sometimes it's a different workflow with a keyword that starts with "f," such as "files."

 

That's it. That's the entirety of the problem I'm experiencing.

 

This is occurring because Alfred is presenting all of the items with tokens or keywords that match the query (partially, wholly, whatever), and insisting on sorting them by some kind of usage criteria: total hits, frequency, recency, etc. I don't want any of that. I simply want it to present, first and always, the workflow with the keyword that most fully matches the query.

 

Perhaps this means that workflows should be treated differently than other types of search items: files, applications, preferences, etc. The rest can be sorted by frequency, that's perfectly fine - but Alfred should always present, first, workflows with keywords that at least partly matches the query. Even if they haven't been accessed recently, or frequently, etc. This distinction is simply a reflection of the deliberateness of the user's action in choosing to assign a keyword to a workflow, which is (a) much more direct and explicit than inferences based on usage, and (b) behavior that is fully within the user's control.

Edited by sfsdfd

Share this post


Link to post

@sfsdfd Alfred will latch your usage - I have done a super simple test and within one attempt, Alfred now shows this for keyword 's':

 

Screen Shot 2018-06-13 at 23.30.53.png

 

This will now remain latched at the top until I choose to latch something else to the keyword 's' by selecting a different result a few times.

 

3 hours ago, sfsdfd said:

but Alfred should always present, first, workflows with keywords that at least partly matches the query

 

This simply wouldn't work. What if, in your case, you had a workflow with keyword 'f' but you actually wanted to launch Firefox? Alfred HAS to use knowledge to present the most relevant result otherwise you'd wonder why (or complain that) Firefox wasn't matching at the top. This is how Alfred has always worked, and will continue to work into the future.

 

The latching option allows you to choose between hard latching the specified keyword to a result extremely quickly (and re-latching if you change your mind), or if you disable this option, it will be based on your overall usage over a rolling month or so.

 

If you want to run a workflow without having to look at the Alfred box and result order, and you don't require an argument, why not just assign it to a hotkey instead like alt+cmd+f?

Share this post


Link to post

@sfsdfd, actually I think @Vero idea to add a space could work great for you. I actually do that sometimes when I want to access a workflow that is a little down the list. In short, if your workflows doesn't use any argument, then it doesn't matter if you start to write as if you wanted to give one, like doing "f" + <space> (or any character after the "f"; could be "f/"). The idea is to put your Keyword object to "Argument Optional" so that you can access it just by writing the "f" character or if you give an argument. With that, you can untick the "with space" checkbox so that you can write anything right after the Keyword. The great thing about that, is when you write "f" + another character, then Alfred will filter the list, but keep your Workflow Keyword. "f" + a space is a good fit and you should get your workflow at the top of your list or try with a special character if it's better for you.

 

I know it's not like having to press only one key, but try it and see if it works for you!

 

Share this post


Link to post
On 6/14/2018 at 12:46 AM, Andrew said:

This will now remain latched at the top until I choose to latch something else to the keyword 's' by selecting a different result a few times.

 

Doesn’t work for me. Alfred seems very reluctant to rank workflow results above built-in results.

Share this post


Link to post

@deanishe is the item you're trying set to no argument? Also, do you have latching setup or not in Advanced?

 

It's worth remembering that under the hood, everything is essentially a workflow, and Alfred doesn't treat built in results any differently to user workflows. When there is no knowledge, Alfred will default to a small handful of built-in annotated system workflows (i.e. features > default results), then user workflows, then all other built-in features, which are also workflows.

 

If Alfred is reluctant to rank one of your workflows above built-in results, can I get a concrete example of that in your case @deanishe? This may help me work out why it's working as expected for me, but reluctant for you.

Share this post


Link to post
7 hours ago, Andrew said:

can I get a concrete example of that in your case

 

It's not that Alfred isn't working, it's that the rankings are off.

 

image.png.7a98d1d4a77957720d1c1a50f23408d5.png

 

I have literally never run that Star Wars game. I probably wouldn't even remember I had it if Alfred didn't keep showing it as the no.1 or 2 result when I'm trying to open an SSH connection.

 

It's such a crap match and it pops up all the time in the ssh results :( 

 

If Alfred isn't prioritising its own results, then I guess it's a more fundamental issue with Alfred's ranking algo.

Share this post


Link to post
Posted (edited)

I didn't know mac had games. 😮

Edited by nikivi

Share this post


Link to post
23 minutes ago, nikivi said:

I didn't know mac had games. 😮

 

It won't much longer. Apple has tried putting comedy video cards in Macs, and now they're going to scrap OpenGL for some proprietary nonsense :( 

Share this post


Link to post
On 6/13/2018 at 6:46 PM, Andrew said:

This simply wouldn't work. What if, in your case, you had a workflow with keyword 'f' but you actually wanted to launch Firefox? Alfred HAS to use knowledge to present the most relevant result otherwise you'd wonder why (or complain that) Firefox wasn't matching at the top. This is how Alfred has always worked, and will continue to work into the future.

 

I will argue that if you have DELIBERATELY assigned the shortcut "f" to a workflow, then Alfred should not DELIBERATELY ignore your decision in order to present a result that is a less accurate match simply because it is more frequent.

 

And the basis for my argument is simple: EXPLICIT BEHAVIOR SHOULD ALWAYS SUPERSEDE INFERRED BEHAVIOR.

 

Doing the opposite takes control away from the user, and is ultimately disrespectful of the user's expressed instructions. And if the user doesn't like the results of the user's explicit choices, the user is free to change them to achieve a different result.

 

On the other hand, if the user doesn't like what is being INFERRED about his or her behavior, the user must change the upstream behavior in order to change the device inferences. In the best-case scenario, this is merely irritating; in the worst-case scenario, this is IMPOSSIBLE if the user doesn't understand the inference.

 

To bring this full circle: I use Firefox 100 times a day, and the "f" keyword maybe 10 times a day. There is only way to force Alfred not to present Firefox as the first result: DUMP FIREFOX. I would have to switch to a browser that does not begin with the letter "f" in order to make Alfred not "infer" the wrong guess when I type "f". Do you understand how extremely frustrating this is? Insulting, even?

 

But since you reject these principles, we will part ways from here. I will look for a competing product that more fully respects my choices as a user.

 

 

 

Share this post


Link to post

Dude just hit command-2 or command-3 or whatever it is a couple of times and Alfred will start putting your result at the top.  Or make the effort to type an extra letter and use a two character keyword for your workflows.  I’ve been using Alfred since v. 0.9 with several hundred keywords in workflows, custom searches etc. and have never experienced this issue, but all my keywords are 2-3 characters.

Share this post


Link to post

@sfsdfd why don't you use "f" to access your workflow and "fi" to access Firefox ? (or do the opposite since you said that you are accessing Firefox 100 times a day and your files workflow 10 times: I mean, use "f" for firefox and "fi" for your files workflow)

 

If you always use the same keyword for a workflow, then it would always be at the top. If you add an extra character, then Alfred would put at the top the most used item when you input this keyword... I've been using this to switch between "Firefox" and Firefox Developer Edition", by using "fire" for "Firefox Developer Edition" and "firef" for "Firefox". This is using more characters than simply "f" and "fi", but should do the same and I've been accessing both applications without problems and could use it without even looking at all the listed items since they are always at the top (first position)

 

Honestly, yes it could be great to always have the workflow at the top, but what would happen if for one or some specific actions you would prefer to have the opposite? You would be stuck with your predefined order and without more controls (but if you change how it is ordered, but that would change for everything and you will have the same problem again...). I think the way it is at the moment by putting the most accessed item at the top based on the user query is more useful since we can control more precisely what we want to be activated when we write a specific keyword and by more precisely I mean to be able to specify without discrediting any category that we always want a specific workflow at the top or a specific application based on a specific keyword even if both item have the same character sequence.

Share this post


Link to post
4 hours ago, sfsdfd said:

I will argue that if you have DELIBERATELY assigned the shortcut "f" to a workflow, then Alfred should not DELIBERATELY ignore your decision in order to present a result that is a less accurate match simply because it is more frequent.

 

It doesn't ignore your decision. It respects your choice of result for the keyword "f".

 

Alfred can't read your mind, and you appear to be sending it very mixed signals.

 

You can't have two top results for a single query. Change your workflow keyword or use "fi" or "ff" to launch Firefox.

Share this post


Link to post

@sfsdfd Not sure if this solution will work for you but I have been using Alfred for 2+ years now and at this point I have ~ 0 workflows I call from keyword triggers. I call everything with Karabiner and custom modifier keys which is deterministic and I know fully well what I will see if I press a key. 

 

So far it has been working wonderfully well for me. 😊

Edited by nikivi

Share this post


Link to post

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
×