BlueJeans also runs a webserver when installed on macOS
support.bluejeans.com
support.bluejeans.com
It's a general purpose personal computer. Not some device you sold me which exists for the purpose of solely connecting to your app.
Let's treat automobiles the same way you'd like us to treat computers. I go to a Shell station to fill up with gas. They have custom nozzles, and I have to drill a hole and weld on a special fitting to get gas. Two days later I go to BP and fill up again. They have proprietary nozzles that don't work with Shell fittings. So I drill another hole and weld on another fitting. 6 months and 40 gas stations later my car barely moves because it's a tragic mess of holes and ugly shit welded all over it. Why? Well I might want to stop at a Shell station in the future.
F* that and any company who operates this way.
launchctl remove com.bluejeansnet.BlueJeansHelper rm ~/Library/LaunchAgents/com.bluejeansnet.BlueJeansHelper.plist
Then delete the app from /Applications
> This is a workaround to a change introduced in Safari 12 that requires a user to confirm that they want to start the Zoom client prior to joining every meeting. The local web server enables users to avoid this extra click before joining every meeting. We feel that this is a legitimate solution to a poor user experience problem, enabling our users to have faster, one-click-to-join meetings. We are not alone among video conferencing providers in implementing this solution.
Presumably they're both doing the janky web server solution for the same reason. Either way, I'm not sold, that browser behavior exists for for a reason.
[1]: https://blog.zoom.us/wordpress/2019/07/08/response-to-video-...
This totally breaks Apple's Developer Terms right?
As someone who has had to develop and maintain a similar web-to-desktop bridge I can tell you that this one issue was responsible for around 90% of my company’s total support requests, despite only being a small feature in a optional addon in one of our main products.
For businesses just trying to keep their customers happy, this particular one click is a very real problem.
I can absolutely symphetize with people trying to come up with workarounds.
I've come to understand how features like these get built, but I've also come to understand that people that use software are a lot more resilient and savvy than we think.
If 90% of your support tickets are about getting through a standard double-confirm, patio11 would probably recommend increasing your pricing to limit your paying customers to a pool that probably won't have much more trouble with that.
The people who end up calling support often aren't the ones paying the bill, for starters. That's definitely the case for Bluejeans and Zoom.
It also doesn't matter if you make a great FAQ page. Majority of dissatisfied people will never see it. Majorly because they won't call support but instead complain and grumble locally, the second biggest portion because once sent towards FAQ by support.... They won't follow it.
Only the tiny sliver of most dedicated will follow up long enough to reach the FAQ.
We’re talking software engineering phd can’t complete it without hand-holding hard (true story!)
So normal users definitely don’t understand nor manage to navigate the dialogs presented by the browser to produce a “successful” outcome.
In the past we used this mechanism to “automatically” provide configuration-data a desktop component, so that it could call back to our application. And our users just didn’t manage to configure it.
In the name of security, browsers made one path so hard to use, without considering what people would then develop instead.
And here we are now. Oops!
Unless you already know what to do it’s fairly unintuitive.
Most users don’t even know the difference between a single click and a double click.
Expecting them to even know what an external protocol is, or why it should be launched at all is completely unreasonable.
A sibling reply posted the link.
https://developer.apple.com/terms/apple-developer-agreement/...
If you want to distribute an unsigned app and guide users into bypassing Gatekeeper for it, by all means, do so... but that's not what's happening in this case, nor is it particularly common due to the intentional hoops they make you (or more accurately, every single prospective user of your app) jump through.
For those who don't want to (or cannot, due to the nature of their application) use the Mac App Store to distribute software, the requirements will only continue to get more specific until (to the extent possible) all executable code and resources are notarized and signed with an identity.
<Insert Perry the Cynic rant about unsigned code - "What the hell is wrong with you!?">
But my point still stands. Today on July 9th 2019 you are not forced to be part of the developer program to distribute apps on the Mac. Despite all of the pollyanish the sky is falling type that has been going on for over a decade.
- If you're not using .NET, the CLR doesn't affect you, and although Microsoft has done well with ,NET, I wouldn't necessarily expect Apple to make Redmond's job easier.
- Java is much the same boat, and is perhaps in even worse shape as it used to be included by default in macOS releases but now isn't.
Read: security nightmare.
- From 10.16 on, scripting languages also aren't included by default. This seems less adversarial than the situation with Java, but for things like Homebrew, it's a stumbling block they will need to overcome.
https://discourse.brew.sh/t/mac-os-deprecating-system-script...
Are you predicting that Apple will disallow all scripting language runtimes and all VM based development environments? So if these same predictions have been wrong for over a decade - and still aren’t happening with 10.13, exactly when will this happen?
As far as Apple not including (outdated) versions of various scripting languages or Java - neither does Microsoft. That hasn’t been a major impediment to adoption.
I have NO TROUBLE imagining that Apple will continue to tighten the screws on this, enforcing signing through Developer TOS and requiring MAS apps to pay for distribution certs.
Direct download isn't going away, not after all the work that's gone into securing it, but if you think you can sell an app off your own site without giving Apple some identifiable info about who you are and what your code does, prepare to be disappointed.
Runtimes won't be disallowed, just that you (the user) are responsible for installing them and keeping things updated.
Oh, and for record, my reference to "Perry the Cynic" is no accident...he literally invented how code signing works.
https://weblog.rogueamoeba.com/2008/03/07/code-signing-and-y...
https://red-sweater.com/blog/514/development-phase-code-sign...
http://patft.uspto.gov/netacgi/nph-Parser?Sect2=PTO1&Sect2=H...
http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&Sect2=H...
And citing the patent office isn’t helping either. Every company patents everything they can.
Direct download isn't going away, not after all the work that's gone into securing it, but if you think you can sell an app off your own site without giving Apple some identifiable info about who you are and what your code does, prepare to be disappointed.
Well today you can. As you have been able to do since the info-Mac archives since before the World Wide Web existed. So unless you can bring back some proof from either your time machine or visiting some other world in the multiverse, I would rather talks about facts as they exist today.
And code signing still won’t stop you from being able to run code that runs on top of a VM or scripting languages without them being signed and you won’t have to do the ctrl-click bypass.
Why is it wrong for Apple not to bundle extra runtimes (scripting/JVM) software that increases the attack surface? Should they also start back bundling Flash?
Watch WWDC 2019 Session 701, you'll learn something.
https://developer.apple.com/videos/play/wwdc2019/701/
> And code signing still won’t stop you from being able to run code that runs on top of a VM or scripting languages without them being signed and you won’t have to do the ctrl-click bypass.
It is easy to do this? No, in many cases I'd expect it to be a serious P.I.T.A, but it's unquestionably the right move going forward.
https://mjtsai.com/blog/2019/06/17/notarizing-command-line-t...
Apple has announced that is changing very soon[0] and you attacking everyone who already knows this as 'conspiracy theorists' is kind of insulting.
0: https://developer.apple.com/documentation/security/notarizin... - "Beginning in macOS 10.15, notarization is required by default for all software".
You can only have software notarized as a member of the developer program.
https://www.google.com/amp/s/eclecticlight.co/2019/06/07/not...
Catalina still runs apps which haven’t been notarized or even signed, including those built after 1 June 2019. But you may find them more complex to run, and they don’t of course benefit from any of new security protection unless they’re signed and hardened.
Apps distributed over the Internet, like, you know, the ones we're talking about, must be notarized according to your own source.
Is difficult to understand? In Catalina just like in the current OS, there is a built in method for the end user to bypass code signing for any app. The user can choose to run unsigned third party code.
The article states that code you create doesn’t have to be signed and you don’t have to go through the “complex” process to run it.
Third party code forces you to go through the “complex” task of ctrl clucking.
It'll largely refuse to run ("App can't be opened because it is from an unidentified developer") if it's not signed via Gatekeeper, though.
There's a procedure to bypass that, but it's hardly user-friendly. https://support.apple.com/kb/ph25088?locale=en_US
This isn’t unique to these two. Dropbox does some ungodly things when installed on the Mac....
Signed, Unamused CISO
They were likened to California Prop 65 warnings: so prolific as to be ignored, and arguably causing more harm than good, because just as apparently since EVERYTHING causes cancer one can't make decisions about avoiding things that actually do, so to does EVERYTHING trigger a UAC popup and so who gives a fuck, one more thing to quickly ignore and click through.
And we wonder why Microsoft sucks so bad at securing Windows.
These days you mostly see the prompt when you're installing or updating an app, which makes a lot of sense.
What I mean is, this is Microsoft's fault so far as users got in the habit of running in admin in the first place, but I doubt you would've been able to do better given where Microsoft was with its software ecosystem going into Vista.
As a sister comment mentions, it's akin to warning the user whenever they run a command under su/sudo.
99% of software world these days fits this description, sadly.
Have you tried using them?
Then you would know they don’t do that for a good reason. I answered a similar question in the zoom thread:
There’s a reason literally no big companies are using this tech anymore, when they used to do so 10 years ago.
Go on. I’ll be here to say “I told you so”.
I'm not sure if I know of any big companies that surreptitiously run a local web-server to save users a click whom haven't received flak for it.
I'm not advocating running a local web-server. That's bad.
What I'm saying is that none of the big actors are using custom protocols anymore even though lots of them used to, because browser security policies have rendered them useless for regular end-user interaction.
They have all found other approaches instead. (Some bad, like here. Others better, like the solutions I chose instead).
> Launch the BlueJeans desktop application into a meeting without prompting the user with confusing browser dialogs. This allows meetings to launch quickly on one click without requiring any additional user interaction. It also prevents the user from making a wrong decision on a browser dialog which might permanently lock them out of launching meetings.
Technical Stuff
To view this site, enable cookies in your browser.
Command-shift-N to open a new private browsing link.
Paste. Return.
Idiots. Why is all that necessary? The page should work first time, and gracefully degrade if you won't accept their cookies.
(To clarify, I am suggesting that making an FAQ page that won't display static text without cookies enabled is idiotic. I am not saying that the person I'm replying to is an idiot, or that people who won't grant cookies to random web pages are idiots. Just the opposite.)
> Determine if the BlueJeans desktop application is already installed. This allows us to offer a new installation or launch the existing app based on the user's machine.
If the "Detector" is installed, but the desktop app is not the user removed the BlueJeans app at some point because they didn't want it. How is silently installing it again against the user's prior wishes a reasonable behaviour?
That being said, this is still a crappy way to do this. Installing a server is not the solution to this. Browsers need to do a better job of dealing with this and that would get rid of the root issue but, in the interim, these developers need to figure out a better way than installing web servers on everyone's machine. Otherwise, everyone's computer ends up with 10000 of these stupid little single-purpose applications that are always running.
>"Your browser isn't supported
This browser won't play nicely with some features on this site. For the best experience, update your browser to the latest version, or switch to another browser."
What on earth is that supposed to mean? Update to what browser? (Using Firefox on Android, latest version)
It is a great security feature at best. It tells me that a website I visited is about to launch something on my computer. A website launching an app on my machine scares me more than any pop up.
/Library/Application Support/Logitech/com.logitech.vc.LogiVCCoreService/LogiVCCoreService.app/Contents/MacOS/LogiVCCoreService
To test if the BlueJeans server is running:
lsof -i :18171> This allows us to offer a new installation or launch the existing app based on the user's machine.
These all sound like problems that can be solved by fixing the interface itself and by polling for a desktop client connection.
A lot of desktop applications do this. The Spotify client used to do it to enable play/pause controls from any webpage. Dropbox also definitely used the same method for single sign on, maybe still does, I don't use it anymore.
I like that when I remove an app installed via App Store on Mac, I know it’s actually gone. It seems like this was part of the thing that people couldn’t stand about Windows — spyware coming along for the ride that is not removed when you delete the main app.
Macs are general purpose computers and it would be absolutely inappropriate for Apple to try to prevent users from running software on them.
At least the Bluejeans people have this page. The Zoom people did the same thing (possibly worse), but it was undocumented.
I guess I'm losing touch with the user-hostile "innovations" coming out of the valley.
The "log out" part is because the webserver will presumably continue running in memory after deleting the app until you force it to quit. It's possible that it watches for the app to be thrown away, but I don't have any way of testing that right now.