Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Let the app run without Screen Recording permission, in degraded mode #1082

Open
lwouis opened this issue Aug 20, 2021 · 38 comments
Open

Let the app run without Screen Recording permission, in degraded mode #1082

lwouis opened this issue Aug 20, 2021 · 38 comments
Labels
enhancement New feature or request niche Nice idea, but not enough demand for it rude A user has shown a lack of politeness or social skills

Comments

@lwouis
Copy link
Owner

lwouis commented Aug 20, 2021

Originally posted by @alber70g in #1081 (comment)

Showing only app names... like at this point what's the improvement over the built-in app switcher?

Multiple reasons:

  1. on a managed laptop it's not possible to use the app
  2. you can still switch windows instead of apps, what you cannot with the built-in switcher
  3. built in switcher cannot customize for switching between apps on different spaces, where AltTab can ("Show window from" option)
  4. built in switcher doesn't account for hidden tabs and making them visible (AltTab does that, e.g. Microsoft Teams doesn't activate the window with the built in switcher, so AltTab is a huge plus)
@lwouis
Copy link
Owner Author

lwouis commented Aug 20, 2021

A big concern I have with having this degraded is the impact on the onboarding/permission story. I spent a lot of time on the permissions story. I'm very happy with the current state. I think it's better than a few big name commercial mac apps.

image

This window blocks access to AltTab. You have to make both section go green. It's kind of gratifying/gamified that way. It goes green in real-time cause I'm listening to the status (no public API for this; was hard to achieve). Furthermore, if the user later remove one of the permissions while the app is running, it will detect it, and quit and come back to show this guard window.

With a possible degraded version without Screen Recording, I worry how to communicate the right way. Users have very limited attention span these days, and tend to click without reading. Today this is ok because the window is blocking them until they check the right boxes. Tomorrow with this feature, they could get in the app, and think the app is broken because "there are no thumbnails of windows like on the website's screenshots!". We also probably would want to provide a way to bring the permission window at any point so the user can find the instructions again and confirm "Ok so the permission I need to enable thumbnail is... Screen Recording ok got it". Without that, they may not know which one is required. They may even not know they are running in degraded mode after a while, or if they skimmed through the permission window the first time. We probably want to show some little orange dot next to AltTab icon in the menubar and/or some orange icon next to some text in the preferences that says "You're running in degraded mode. You can see window titles and screenshots by granting the app more permissions (italic text is a button to open the permission window)"

I keep mentioning "orange" things because I guess on the screenshot above, we would show the Screen Recording section as orange, or yellow? To signify that it's not great but possible. We would probably want to add a confirmation prompt if the user wants to pursue without it "Are you sure you don't want to grant Screen Recording permission? Without it, the app will not...".

Another way I was thinking about would be more visuals. Next to Screen Recording would be 2 screenshots of AltTab. One with titles and thumbnails, one without. That way the user quickly sees the 2 options. We could also show this for Accessibility with some visual to indicate focusing a window is possible, or it is not.

@lwouis lwouis added the enhancement New feature or request label Aug 20, 2021
@alber70g
Copy link

alber70g commented Aug 23, 2021

To make the user extra aware of the features that he's missing out on when not enabling Screen Recording, a second window could open that verifies that the user really does want to not enable Screen Recording.

  1. A button can be added that says: "I do not want to enable Screen Recording"
  2. A second window opens with the text
    I acknowledge that disabling Screen Recording
    • disables previews in the app-switcher
    • disables window titles in the app-switcher
      Confirm-button and Back-button

This way you prevent accidents, and you inform the user about the consequences. Furthermore the preference window could have an yellow banner with the text: "Running with limited functionality as Screen Recording-permission is disabled"

I keep mentioning "orange" things because I guess on the screenshot above, we would show the Screen Recording section as orange, or yellow?

I would keep it red. It signals significant degraded experience when not enabled

@ggedde
Copy link

ggedde commented Sep 29, 2021

Agreed!
I spent a lot of time trying to use this without that permission enabled. I tried disabling it after I turned off Thumbnails and Titles, but that doesn't work and it still requires that permission even if you are not using it.

I do not need Thumbnails or Titles and having this permission enabled is a HUGE security issue. If someone hacks your app they can get access to all kinds of sensitive content.

  • Not to mention this could be a violation of GDPR, HIPAA, and many others.
    I would strongly recommend that this gets resolved as soon as possible.
    I really think that security should be the default, so I would recommend that this is disabled and that Thumbnails and Titles are disabled by default, then when a user turns on one of those features, then the request for that permission is asked.

@lwouis I agree that your permission screen IS THE BEST I have ever seen and your assumptions for showing degraded mode would work fine I think. I still think having it off by default would be best for security, but I know your concern was users may think it is broken without those features, so I would recommend that you show more screenshots without thumbnails and titles and then show them with thumbnails and titles, but add a Notice next to it saying "In order to show thumbnails and titles you will need to grant permissions for Screen Recording, etc" So I think it is just how you present it and that could address your concern. In the end, do what you think is best, but I do think it is very important to allow some way to use it without that permission enabled.

Thanks.

@justinnoel
Copy link

I would really love to see the app be able to run without the screen recording option as well.

I like some of @ggedde's suggestions above. Maybe just show the permission is suggested by default. Then, a Continue button in this loader screen. If the user still doesn't turn on the permission, show a notice (one time only), that they will lose the thumbnails and titles feature.

Perhaps at the very least, once a user goes to AltTab Preferences and disables thumbnails and titles ( I did this by setting font size to 0), then the app will run without the permission requirement.

@lwouis I'd be happy to donate $50 for this plus two other features. These 2 issues are the only things holding me back from giving up on Command Tab Plus.

• Show only 1 app in the switcher no matter how many windows are open
• Place a hotkey like "A", "B", "C", etc at the bottom right of each app/window that will let me just press that key to activate that app. Command Tab Plus does this with numbers, but that doesn't work well with lots of apps in the switcher.

Screenshot of macOS app switcher using Command Tab Plus. Each app has a number selector for quick switching.

I'd be happy to open separate issues for each of these.

@lwouis
Copy link
Owner Author

lwouis commented Oct 14, 2021

@justinnoel there are already tickets for the 2 extra features you listed:

@sterafix
Copy link

I would as well love to be able to use AltTab without giving access to screen recording. I don't like giving permissions like this if it's not absolutely essential. I don't really need the preview of the windows, icons would be more than sufficient.

@unixb0y
Copy link

unixb0y commented Feb 28, 2022

Is there anything new about this? On some machines, the permission can't be granted and it would be cool to still use the program.

@lwouis
Copy link
Owner Author

lwouis commented May 25, 2022

@unixb0y i think @alber70g drafted a nice UX to deal with this degraded mode. Now it's about someone taking the time to implement it. This UX has a lot of new UI and ramifications in the app so it's quite a large scope.

@ADTC
Copy link

ADTC commented Feb 10, 2023

Hey, I suggest just adding a button on bottom left corner of the permissions blocker called "Run in Degraded Mode..." and this shows a dialog with a text box, with this label above: "[explanation, yada yada...] \n\n Please type in degraded to confirm.". The OK button is disabled until the correct keyword is typed.

This is a technique some apps and websites use for very serious actions. GitHub uses this for deleting a repository - you have to type in or paste the full repository name. People can still blindly click checkboxes if it gets them through, but typing is an exercise that requires some thinking.

For stronger protection, disable pasting in the text box. Typing with a keyboard input of any kind must be mandatory.

PS: I'm assuming if one of the permissions is successfully granted, it can still be used to enhance the experience.

@mijorus
Copy link

mijorus commented Apr 21, 2023

I'm interested in this feature too.

There is no need IMHO to show thumbnails in the app switcher.

@ADTC
Copy link

ADTC commented Apr 21, 2023

It depends on how you use it. I ended up disabling the thumbnails myself. I now choose between Alt-Tab, Mission Control and App Expose as I work - whichever is most convenient. Only the latter two shows thumbnails.

@theodopolopodous
Copy link

Would be very happy to have this feature

The main feature I use is hiding minimised apps from the CMD-Tab menu. So any way to turn off the screen recording would be appreciated

(esp as I was recently hacked and very cautious now. Not that I think it was through this app, but any unnecessary monitoring and recording might get ruled out)

@mestradev
Copy link

I agree, there should be the option to run the app without screen recording permissions. I never use thumbnails either.

@h4x0rlol
Copy link

Very interested in this feature too

@lwouis
Copy link
Owner Author

lwouis commented Dec 21, 2023

@ADTC please read the discussions in this thread. These topics have been addressed multiple times.

It's not really necessary for capturing titles, right?

It is. That's why we say it is in the Permissions Window. Without Screen Recording permissions, we can't grab the titles of windows.

Apple bundled a lot into that new Screen Recording permissions. It's necessary from small things like window titles up to large things like literally recording the entire screen at 60ps. So AltTab gets shown in purple like we are recording the screen, when in fact we are sending a few calls to grab a few screenshots of windows, and asking for their title.

Apple design is a bit all-or-nothing, and users get scared when the purple UI shows up. The only thing we can do is offer this Degraded Mode, which will have anonymous windows, without title nor screenshot; just the app names. To me it seems useless, but a few people have said they would use it like this.

I'm open to it, that's why this ticket is still open, however we need to work on the UX, as has been discussed many times. See my concerns and a first draft of the UX.

@webuniverseio
Copy link

With https://wiki.keyboardmaestro.com/manual/Window_Switcher (part of keyboard maestro), which does not have a screen recording permission, I checked that it captures titles and icons in the same way as alttab in "hide thumbnails" mode.

I'm sure that others find screen recording permission scary at first, especially when they start using this app (or for reasons like that thread about Sonoma purple screen sharing icon). Another alternative to using something like little snitch (pretty cool tool, thanks for mentioning it!) is to review source code and compile yourself.

Anyway thank you so much for alttab, it is a life saver.

@raayu83
Copy link

raayu83 commented Jan 6, 2024

By the way, https://contexts.co also supports Window Titles and Icons without Screen Recording permission.

@lwouis
Copy link
Owner Author

lwouis commented Jan 8, 2024

@raayu83 I think they may be getting the titles from another API than us. We use the accessibility APIs. It's better for us for these reasons. I think they may be using the CG APIs. These have downsides.

We may move to using CG for the specific case of this Degraded Mode. However, it would create all sorts of problem, as discussed in the links above, as well as this one. The titles from the CG and AX APIs are sometimes different, and AX is more accurate. In other words, the titles would sometimes be incorrect if we did that.

The general issue with this ticket is that there is little demand for this Degraded Mode. It's quite a niche feature. Yet it's a lot of work to draft the spec for it, and even more to implement it. As a reminder, #1179.

I'm hoping that someone will step up and share a nice spec, then share a PR 🙏

@spirosag
Copy link

spirosag commented Feb 1, 2024

@lwouis I didn't know how much I rely on alt-tab until I moved to a managed mac for work. Totally understandable that this would need a lot of effort. Do you have any alternatives to suggest for us that can't give extra permissions due to restrictions?

@jdaln
Copy link

jdaln commented May 16, 2024

Also looking forward to this feature

This was referenced Jun 29, 2024
@RaLtYwor
Copy link

RaLtYwor commented Jul 3, 2024

I was about to try this app, but the fact that from the very beginning, there was no way to use it without mandatory screen sharing, and also the fact that at least three years after the request for this functionality, it still hasn't been added, is quite concerning.

I absolutely don't need previews of my apps nor their titles, just their icons, basically the same as the default alt-tab on MacOS, but without some apps. The fact that despite this, I'm forced to share my screen makes this app useless for me. I'm immediately deleting it and certainly won't be able to recommend it to anyone for use 👎

@sterafix
Copy link

sterafix commented Jul 3, 2024

[...] it still hasn't been added, is quite concerning.

This is a free-to-use open-source app. You are welcome to add features that you are missing instead of complaining that a free app doesn't fulfill all your needs.

@lwouis
Copy link
Owner Author

lwouis commented Jul 3, 2024

@RaLtYwor

I'm immediately deleting it and certainly won't be able to recommend it to anyone for use 👎

This reads like a customer complaining about a purchase. This project is volonteer work.

Your behavior is akin to walking into a dog shelter and complaining to the people there. Volonteers that decide to come and work on this project on their weekends and evenings, asking nothing in return. Showing up there as a new face. No one knows you. You haven't contributed anything so far. And complaining right away to the volonteers there.

Please consider that other people have their own lives. Not everything revolves around you. Not everyone thinks it's a problem to have screen sharing permission required to display thumbnails and window titles. Not everyone needs to hear that you're not perfectly happy with this app you downloaded for free.

I'm not talking about providing constructive criticism instead of complaining for others to do the work for you. I'm talking about being polite. Maybe nicely ask first, see if you can get traction with other people here. Look for workarounds. Finally, it would be very reasonable to conclude that this app is not perfect for you, and moving on quietly. You can refrain from sharing your inner dialog.

@ADTC
Copy link

ADTC commented Jul 4, 2024

I am super happy with this app. One of the few apps that I consider essential in macOS for productivity features that Apple has refused to bake into the OS (or couldn't, due to patents). Thank you for giving this away for free. ❤️

@RaLtYwor
Copy link

RaLtYwor commented Jul 4, 2024

@lwouis ah yes, of course, how could I forget that nobody is allowed to voice their negative opinion or concerns about OSS. Since this ticket has been sitting here for 3 years, and all it has is "oh gee, I'm so happy about this user story that forces the user to enable screen sharing that I don't want to do anything towards 'degraded mode'", then all the dissatisfied people just need to shut up. Well, thank you for your behavior, just one more reason to never touch any software released by you.

@lwouis
Copy link
Owner Author

lwouis commented Jul 4, 2024

You're allowed to voice your negative opinions. You did it, didn't you? No one is censoring you.

My message above was to make you aware that it's not considered appropriate to go to a volunteers project and start criticizing people working there, as a newcomer. I'm sharing social norms with you, as you seem unaware of how your actions are perceived. It is useful, in general, to be careful and polite in society. If everyone is too self-centered, society is not a nice place.

@justinnoel
Copy link

This conversation has led me to donate once again to this great project.

I've tried (and paid for) several others and this OSS project wins hands down.

Yes, I would prefer to not allow screen recording, but the app is perfect otherwise.

Thanks so much for it @lwouis!

@sterafix
Copy link

sterafix commented Jul 4, 2024

@RaLtYwor it's also your tone and your choice of words that's the problem here, at least for me. It's like going to one of these guys who are making huge soap bubbles in the city center to entertain kids and telling him, that his soap bubbles are ugly as hell and no one should be looking at / enjoying them.

I myself also dislike that one can't use the app without granting screen sharing permissions! That's a privacy no-go for me (not 100% sure if that's justified though, but that's another topic). So: I, 3y ago, added a comment to this issue in which I stated my opinions in a friendly way (constructive criticism). Then, I subscribed to it and since then I am waiting and hoping that this issue would be solved eventually, such that I can use the app. However, @lwouis would need to change his opinion on the importance of the user onboarding/permission story for this. I think that the chance of this happening is at its lowest if you are being rude and unfriendly.

@FalconFour
Copy link

However, @lwouis would need to change his opinion on the importance of the user onboarding/permission story for this.

And that's exactly why we're here. I, too, am following along this conversation with the hopes that maybe something will knock some sense into the developer and stop requiring this permission with no degradation path. I'm stuck using a lesser, paid app (Contexts) that hasn't been updated in ages and has bugs with new MacOS (hijacking desktop-switches, e.g. when an app goes full-screen)... but at least it doesn't want to constantly record my screen.

People freaking-out in arms about Microsoft Recall, which is a gigantic company exposed to gargantuan amounts of legal trouble for that feature, but yet AltTab gets a pass because it's doing effectively the same thing as a small-time app? Hm. People are funny.

I think the anger is justified, specifically because the dev denies it's a problem.

@lwouis
Copy link
Owner Author

lwouis commented Jul 4, 2024

@FalconFour

maybe something will knock some sense into the developer

the dev denies it's a problem.

This is wrong. I'm in support of adding this feature.

I scrolled up to see my previous messages to try and understand how you got the wrong idea. After reading, I don't understand how you read it and thought that i'm opposing it.

The only reason this ticket is still not implemented already is that there is a lot of work to spec and implement it. Please see the pinned ticket #1179 to understand why tickets are not being implemented quickly these days.

@webuniverseio
Copy link

This conversation has led me to donate as well. Alt-tab is definitely essential for me.
I reviewed the code since it is open source and compiled a local version for privacy reasons, and as it was suggested earlier, for those extra paranoid (count me in), there is Little Snitch, which is amazing at blocking and monitoring all unwanted traffic from any program.

@ADTC
Copy link

ADTC commented Jul 5, 2024

@lwouis just lock this unproductive thread. For what it's worth, when I have thumbnails turned off and I only have icons and titles, I don't see any purple icon indicating that screen recording is happening. That's good enough for me, given the difficulty of implementing this.

I'm not sure how it grabs titles without triggering the purple icon though since you said that grabbing titles needs screen recording permission. Based on your previous comments, I believe it uses an API that's only exposed via screen recording permission but doesn't actually require you to record the screen.

This was referenced Aug 7, 2024
@lwouis lwouis added the rude A user has shown a lack of politeness or social skills label Aug 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request niche Nice idea, but not enough demand for it rude A user has shown a lack of politeness or social skills
Projects
None yet
Development

No branches or pull requests