Blue Jeans

donmontalvo
Esteemed Contributor III

Nice, so Blue Jeans distributes a DMG containing an "installer" that you double-click to have it install into ~/Applications. Rolled up sleeves and discovered they're sneaking in the PKG behind the scenes.

Spoke to the developer, not sure why they don't just provide their signed/flat PKG installer for distribution.

  1. Launch Console and clear screen.
  2. Double-click "installer" you distribute to consumers on DMG.
  3. Follow path to downloaded signed/flat deployable PKG: /var/folders/xxxxx/xxxxxxx/X/BlueJeans.1.6.153.pkg

Wow. Really? Nice PKG by the way. Flat. Signed. Um, but not too sure about its preinstall.sh script...ala Suspicious Package:

dba22ac6262341e283fff95a750d27c2

Sent Blue Jeans' support folks a link to this thread. Maybe we can shame them into providing the flat/signed PKG via direct link? Oh, and that empty preinstall.sh script? Might want to remove that. :)

Don

--
https://donmontalvo.com
55 REPLIES 55

donmontalvo
Esteemed Contributor III

Wow, so finally got a chance to look at the postinstall.sh script. Wow. Just wow.

b8a1332f706e4953941f3e1508067f0e

--
https://donmontalvo.com

bpavlov
Honored Contributor

https://jamfnation.jamfsoftware.com/discussion.html?id=14716
Doesn't sound like much has changed...

donmontalvo
Esteemed Contributor III

Wow, we were tasked with packaging/deploying the Blue Jeans Scheduler (drag n drop app; but need to suppress updates), which is pretty straight forward. Along the way we saw how incredibly convoluted the Blue Jeans app itself is distributed, and how the flat/signed PKG looks great, but includes two really bad scripts.

I wonder if Blue Jeans developers are split in two camps. One to make the PKG, and one to make the scripts.

Shows how two good teams split apart can make for one horribly designed deployment solution.

Blue Jeans should be ashamed. Oh, their dev team have been given a link to this thread.

Don

--
https://donmontalvo.com

donmontalvo
Esteemed Contributor III

We had a BlueJeans (er, almost said WebEx!) session with Nelson, Sean and a couple others at BlueJeans to discuss deployment challenges.

Their Blue Jeans Scheduler for Mac.app product is distributed on a DMG (drag-installable) which is great, following Apple guidelines.

Their Blue Jeans.app product is also drag-installable, but is not distributed on DMG because there are some requirements that lead them down the road they followed. Such as minor updates requiring write access to /Applications/Blue Jeans.app, etc. Apparently user is not disrupted if minor updates are applied behind the scenes, but this requires user having write access to the app (a bad idea in every way), and major updates are more intrusive, they explained they notify people like us when those are released (not sure how that would pan out across so many client environments and teams!).

We asked for:

  1. Breakout of defaults commands so we can suppress updates, and pre-populate server info.
  2. Lift admin rights requirements for updates by leveraging /Library/Application Support/BlueJeans/.
  3. Provide enterprise customers with either DMG drag install only, or if a PKG is required it should have sound logic to be deployable with nobody logged in to the Mac (litmus test).
  4. Never expect users to have admin rights, but don't build fragile workarounds, instead leverage the built in domains in OS X to enable management.

Number 1 on the list (defaults) would hold us over so we can deploy, while they revisit their approach.

They are going to remove the empty pre-install script, and they plan to revisit the post-install script syntax (that contains bad logic, relies on a user being logged in). Hopefully they'll move to strictly drag-install and leverage what OS X offers for sustainability/manageability.

Thankfully this is a very receptive/approachable company, the discussion was great for all parties.

Don

--
https://donmontalvo.com

davidacland
Honored Contributor II
Honored Contributor II

So they're one of "those" developers that likes to drop an Applications folder in ~. I really hate that!

Wait, they use ~ in the script?!

donmontalvo
Esteemed Contributor III

@davidacland wrote:

So they're one of "those" developers that likes to drop an Applications folder in ~. I really hate that!

Yea, bad app design, flawed approach. Their team (4 were on the Blue Jeans session) admitted needing to get up to speed on Mac software distribution. I applaud them for being honest. Even while I lambast them a bit here on this forum (I provided the link).

They're a smart team, I'm sure they'll get up to speed fast. They're just not aware of Apple guidelines. Yet.

Wait, they use ~ in the script?!

Ya...did you see their beautiful pre-install script? :)

They seemed genuinely eager to get aligned with Apple's best practices. Fingers crossed they deliver.

Don

--
https://donmontalvo.com

donmontalvo
Esteemed Contributor III

Um...hmmm....I'll ask the Blue Jeans developer to have another look at this thread... :)

ed831880df114760b1786ad5c84d4d67

--
https://donmontalvo.com

tnielsen
Valued Contributor

Applying for freelance work at blueJeans....

KyleGDG
New Contributor

Hey Guys, any new news since you started communicating with BlueJeans? We are considering switching to them from WebEx but I certainly don't want to be facing app deployment problems.

donmontalvo
Esteemed Contributor III

@KyleGDG they're working on the new version, not sure when we can expect the fixes/improvements. I'll let them know to revisit this thread.

@tnielsen bro, give them a call, you never know. :)

--
https://donmontalvo.com

sean
Valued Contributor

autopkg!

Maybe we'll get to the point where companies provide their own recipes rather than relying on the community to make them! If I were developing software, I'd probably be keen to provide our own recipes to make it as easy as possible to get the software to the end users.

donmontalvo
Esteemed Contributor III

Not sure the problems we identified can be fixed with AutoPKG. The developer has to change how their software works.

BlueJeans responded. They are aware but no ETA for changes.

--
https://donmontalvo.com

sean
Valued Contributor

Understand that. It was more the point that if you have to redevelop, then redevelop with simplified installation in mind. Look at how installs are done and use that as a base to provide an easy solution.

If it easily ties in with autopkg, then that would suggest you are on the right tracks!

donmontalvo
Esteemed Contributor III

Yes makes perfect sense. BlueJeans is a very responsive, approachable company. Hopefully they'll engage the JAMF Nation community. There is so much for them to gain.

@pbowden (Microsoft dev over on Slack) is a good example of how en engagement can help enhance a product, the community's perception, etc.

--
https://donmontalvo.com

adish
New Contributor

Hey guys, I am one of the developers at Blue Jeans.
@donmontalvo Thanks for all your great feedback. We are trying to incorporate it in our product. We have already cleaned up the pre and post install scripts in the pkg. We are still prioritizing the other feedback you provided. Enterprise app deployment is becoming very critical use case for us and we will be making progress in this area soon.
@KyleGDG Try us out! We will be certain to resolve any issues you face.

adish
New Contributor

Hey guys, I am one of the developers at Blue Jeans.
@donmontalvo Thanks for all your great feedback. We are trying to incorporate it in our product. We have already cleaned up the pre and post install scripts in the pkg. We are still prioritizing the other feedback you provided. Enterprise app deployment is becoming very critical use case for us and we will be making progress in this area soon.
@KyleGDG Try us out! We will be certain to resolve any issues you face.

KyleGDG
New Contributor

Thanks @donmontalvo May I ask how you are deploying despite these challenges? Were you able to find a method that works? Guessing until its fixed that the BlueJeans.app needs to reside in the ~/Applications/ folder, Blue Jeans Scheduler for Mac.app can reside in /Applications/ then do you also need Blue Jeans Launcher.app in /Applications/? Any other browser configs or ways you successfully got the Blue Jeans.app to run in the /Applications/?

Our users all have limited accounts on their macs and are bound to AD.

@adish Any chance you can provide a time frame for how long it might take you guys to complete the planned changes?

Thanks everyone!

donmontalvo
Esteemed Contributor III

@KyleGDG default location for now. That causes an inventory and management nightmare though but it's the only option right now.

@adish please don't forget the Blue Jeans Scheduler login items issue where each launch adds another login item to the user's list.

--
https://donmontalvo.com

adish
New Contributor

@KyleGDG @donmontalvo - The latest pkg will install the Blue Jeans.app in /Applications and the app will run successfully from /Applications. No browser config is required.
- The Blue Jeans Launcher.app is a helper app we use to download and install the app. For individual users we use the Blue Jeans Launcher.app for a friendlier experience. For admin deploys, the .pkg is ready with the fixes suggest by Don.
- The concern with limited user accounts is receiving the smaller patch updates to the app. We are trying to fix this by leveraging /Library/Application Support/BlueJeans/, as suggested by Don. This is a bit tricky based on our framework and hence it is requiring more time.
- We have gotten mixed feedback on the major app updates, some admins want to roll out the updates and some want their users to be able to do it. We have a way to disable updates for an enterprise and then the admins can roll out the updates in a timely manner.
- We will also look into the Blue Jeans Scheduler login items issue soon.

donmontalvo
Esteemed Contributor III

@adish sorry for the delayed response, just coming up for air. Thanks for being responsive to the JAMF community. These are most welcome changes, to a solution that is picking up quite a bit of momentum in enterprise.

--
https://donmontalvo.com

adish
New Contributor

@donmontalvo The patch updates by leveraging /Library/Application Support/BlueJeans/ will be releasing in our next version in April 2016, so no issues for users with limited accounts :)

KyleGDG
New Contributor

That's great news @adish. Looking forward to that. Have the issues been addressed with the Blue Jeans Scheduler.app? Namely that editing events in the app defaults to a different time zone and changes your meeting time? Also, multiple copies of the app appearing in startup items as indicated in @donmontalvo 's screenshot above?

Another thing I am keenly waiting for is when BlueJeans begins to report the correct software version number when selecting "get info" on the app. The JSS relies on this figure being accurate so we know when people should be getting updates.

adish
New Contributor

@KyleGDG The issues you mentioned are currently being worked on. Unfortunately, I cannot commit to a date but will provide an update as soon as I have one.

donmontalvo
Esteemed Contributor III

@adish The version info should be a simple tweak of the Info.plist file in the application bundle:

For Blue Jeans Scheduler for Mac.app:

$ defaults read /Applications/Blue Jeans Scheduler for Mac.app/Contents/Info.plist CFBundleShortVersionString
1.0.204
$ defaults read /Applications/Blue Jeans Scheduler for Mac.app/Contents/Info.plist CFBundleVersion
1.0.204

For Blue Jeans.app:

$ defaults read /Users/jdoe/Applications/Blue Jeans.app/Contents/Info.plist CFBundleShortVersionString
1.6.153
$ defaults read /Users/jdoe/Applications/Blue Jeans.app/Contents/Info.plist CFBundleVersion
0.1

But yes, it does look like there is some strangeness to the version information, particularly the Blue Jeans.app application bundle. Notice the difference between CFBundleShortVersionString and CFBundleVersion strings for the app.

As @KyleGDG mentioned, we can't scope policies if we can't get accurate/reliable version information. :)

Don

--
https://donmontalvo.com

adish
New Contributor

@donmontalvo Thanks. This is helpful.

sean
Valued Contributor

@donmontalvo

That may depend on how you want to do your versioning.

$ defaults read /Applications/Adobe Illustrator CS5.1/Adobe Illustrator.app/Contents/Info.plist CFBundleVersion
15.1.0
$ defaults read /Applications/Adobe Illustrator CS5.1/Adobe Illustrator.app/Contents/Info.plist CFBundleShortVersionString
39

Not that we've ever suggested to Adobe that they do strange things with their version numbering system ;)

donmontalvo
Esteemed Contributor III

@sean oy vey, don't even get me started on Adobe...haha...

$ defaults read /Applications/Adobe Illustrator CC 2015/Adobe Illustrator.app/Contents/Info.plist CFBundleVersion
19.1.0
$ defaults read /Applications/Adobe Illustrator CC 2015/Adobe Illustrator.app/Contents/Info.plist CFBundleShortVersionString
19.1.0

Blue Jeans is picking up a lot of steam, good to see they're serious about aligning with best practices on Mac.

--
https://donmontalvo.com

adish
New Contributor

Hey all,
We would love to have a Mac system admin work with us as a consultant to make sure we are following the best practices for packaging and deploying the Blue Jeans App. Please let me know if you or someone you know is interested. Also, let me know if this should be posted in a separate thread for more visibility?

kilodelta
New Contributor III

@adish I work for a Mac IT consulting firm that is literally 3 blocks from your SF office - we can help with this. Send us an email (support@mann.com) and we can go from there.

mrnickmcspadden
New Contributor

@adish: Feel free to contact me about this. We are heavy users of this at Facebook and would love to have a discussion about best deployment practices.

donmontalvo
Esteemed Contributor III

Kudos to @adish and BlueJeans for reaching out to the Mac community, so this tool can align with Apple's best practices. Our client is a very heavy user of the product, so this is awesome!

Don

--
https://donmontalvo.com

adish
New Contributor

@mrnickmcspadden What is your email address to get in touch regarding this?
@kilodelta I will checkout your Mac IT consulting firm

My email is adish@bluejeansnet.com.

SeanA
Contributor III

@adish Any updates?

donmontalvo
Esteemed Contributor III

Hi @adish, we are getting pressure to deploy BlueJeans.app and Blue Jeans Scheduler for Mac.app.

Any idea when we can expect the new(er) versions to be released?

We tested Blue Jeans Scheduler for Mac 1.0.205 and it seems to have resolved the multiple-login items issue.

We also got an update prompt for BlueJeans.app in Safari when invoked, and hitting "Update" button in browser updated from 1.6.53 to 1.15.49 without being prompted for admin rights, of course, because it is (currently) installed in ~/Applications.

PS, my colleague is twisting our arm to ask you guys to please make up your minds...is your product BlueJeans or Blue Jeans? :)

Don

--
https://donmontalvo.com

adish
New Contributor

@donmontalvo We will have a newer version in early September. I will let you know once it is released.
Regarding BlueJeans versus Blue Jeans, the new official name is BlueJeans. We have rebranded marketing and other communication but the products are still getting rebranded and they will all be consistent soon.

adish
New Contributor

@SeanA Can you please elaborate on which items you would like an update?

donmontalvo
Esteemed Contributor III

Hi @adish and @SeanA, we confirmed /Applications/Blue Jeans Launcher.app behaves as described.

User gets prompted to update Blue Jeans and the update is to ~/Applications/Blue Jeans.app.

Before:

$ defaults read /Users/<username>/Applications/Blue Jeans.app/Contents/Info.plist CFBundleShortVersionString
1.15.49

6d73caf01c0642da9de25d861851d670
a6990d3ed1e24ac2b47e91ee781eeab5
839e5d6f934747b8887e9594c8bc3528

After:

$ defaults read /Users/<username>/Applications/Blue Jeans.app/Contents/Info.plist CFBundleShortVersionString
1.17.35

So we simply have to deploy /Applications/Blue Jeans Launcher.app and the rest happens at the user level, without user needing admin rights.

Thanks,
Don

--
https://donmontalvo.com

KyleGDG
New Contributor

Hey @donmontalvo ,

Thanks for your work on this. I setup a script to remove the Blue Jeans.app that was already in the /Applications folder, then replace it with the Blue Jeans Launcher, then once complete, launch the bluejeans launcher to complete the installation of the app. Problem is, the open script works fine in self-service, but doesn't work at all when the policy is set to recurring. Have I done something basic incorrectly?

Thanks!

!/bin/bash

/usr/bin/open /Applications/Blue Jeans Launcher.app

Running script Open BlueJeans Launcher...
Script exit code: 1
Script result: LSOpenURLsWithRole() failed with error -10810 for the file /Applications/Blue Jeans Launcher.app.

donmontalvo
Esteemed Contributor III

@KyleGDG can you re-post your script using the ">_" code formatting function?

--
https://donmontalvo.com