Branding Self Service, Part Three

Okay. So we've renamed the app and created custom imagery for it. These next few things are important for consistency and to encourage your users to adopt the Self Service app.

Okay. So we've renamed the app and created custom imagery for it. These next few things are important for consistency and to encourage your users to adopt the Self Service app.

First is getting the menu to match the name of your app. Chances are if you've only changed the name of the .app file itself you'll still see Self Service in your Mac's menu bar.



Inside of every .app's Package Contents is a file called Info.plist. This stores the information that the operating system uses to interpret that it is an application and that it is called something and does something. Lovely.



Within that Info.plist file is code that says what the application name is, and this is what the operating system uses to name the application. What we need to do is edit this Info.plist to update the name.


If you just open this file, chances are you'll see this:


 bplist00fl                 
                    !"#$%&'()-./01/2\CFBundleNameYDTSDKNameWDTXcode]CopyrightYearZDTSDKBuild_  CFBundleDevelopmentRegion_  CFBundleVersion_  BuildMachineOSBuild_  NSPrincipalClass]NSMainNibFile_  CFBundleShortVersionString_  CFBundleIconFile_  CFBundlePackageType_  CFBundleInfoDictionaryVersion_  CFBundleExecutableZDTCompiler_  CFBundleURLTypes_  CFBundleIdentifier_  DTPlatformVersion\DTXcodeBuild_  CFBundleSignature_  LSMinimumSystemVersion_  DTPlatformBuild[LSUIElement\Self ServiceZmacosx10.5T0400T2014U9L31aWEnglishQ1V10K549]NSApplicationXMainMenuS9.3_  Self Service.icnsTAPPLS6.0\Self Service_  com.apple.compilers.llvmgcc42°*—+,_  CFBundleURLName[selfservice_  com.jamfsoftware.selfserviceRPGW10M2518T????T10.5  ;HRZhsè°∑ ÿı     > S ^ q Ü ö ß ª ‘ Ê Ú ˇ   
        " $ + 9 B F Z _ c p ê í ï ß ≥ “ ’ › ‚ Á  3 Ë  


Not exactly user friendly. Fortunately there is a command you can run from the Terminal to update the display of this plist file to be XML format, making it easier to update. That command:


 plutil -convert xml1 <plistfile>  


If my application is sitting on my Desktop, and I want to run the above to convert it into user-friendly XML formatting, I would run this in terminal:


 plutil -convert xml1 /users/USERNAME/Desktop/Volusion\ App\ Store.app/Contents/Info.plist  


When I go back in and open up the plist file again, it'll be beautiful XML that is easier to read.


 <?xml version="1.0" encoding="UTF-8"?>  
 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "https://www.apple.com/DTDs/PropertyList-1.0.dtd">  
 <plist version="1.0">  
 <dict>  
      <key>BuildMachineOSBuild</key>  
      <string>10K549</string>  
      <key>CFBundleDevelopmentRegion</key>  
      <string>English</string>  
      <key>CFBundleExecutable</key>  
      <string>Self Service</string>  
      <key>CFBundleIconFile</key>  
      <string>Self Service.icns</string>  
      <key>CFBundleIdentifier</key>  
      <string>com.jamfsoftware.selfservice</string>  
      <key>CFBundleInfoDictionaryVersion</key>  
      <string>6.0</string>  
      <key>CFBundleName</key>  
      <string>Self Service</string>  
      <key>CFBundlePackageType</key>  
      <string>APPL</string>  
      <key>CFBundleShortVersionString</key>  
      <string>9.3</string>  
      <key>CFBundleSignature</key>  
      <string>????</string>  
      <key>CFBundleURLTypes</key>  
      <array>  
           <dict>  
                <key>CFBundleURLName</key>  
                <string>selfservice</string>  
           </dict>  
      </array>  
      <key>CFBundleVersion</key>  
      <string>1</string>  
      <key>CopyrightYear</key>  
      <string>2014</string>  
      <key>DTCompiler</key>  
      <string>com.apple.compilers.llvmgcc42</string>  
      <key>DTPlatformBuild</key>  
      <string>10M2518</string>  
      <key>DTPlatformVersion</key>  
      <string>PG</string>  
      <key>DTSDKBuild</key>  
      <string>9L31a</string>  
      <key>DTSDKName</key>  
      <string>macosx10.5</string>  
      <key>DTXcode</key>  
      <string>0400</string>  
      <key>DTXcodeBuild</key>  
      <string>10M2518</string>  
      <key>LSMinimumSystemVersion</key>  
      <string>10.5</string>  
      <key>LSUIElement</key>  
      <false/>  
      <key>NSMainNibFile</key>  
      <string>MainMenu</string>  
      <key>NSPrincipalClass</key>  
      <string>NSApplication</string>  
 </dict>  
 </plist>  


I highlighted the part we're interested in updating, which is


  <key>CFBundleName</key>   
    <string>Self Service</string>   

Here, I would change Self Service to be the name I want my app to be, so Volusion App Store (or whatever). Hit save, and then next time you open the customized Self Service app you'll see the name you want in the menu bar:



It's not perfect, as the drop down menu for the app will still say Self Service. But I've found most users tend to just Command-Q out of applications anyway. We've enrolled most of our Mac Fleet (well, they've enrolled themselves) and haven't heard any confusion or complaints about this yet. But going to this extra step for consistency between the menu bar and the app title goes a long way with users. Trust me.

So this brings me to the concept of enrollment. So we're a SaaS company, and we let all users act as administrators on their own machines. We're fine with that. The main draw for us to use Casper was to maintain an inventory (hardware and software) on all machines, manage license use, and keep track of software updates. As a result, their use experience is changing very little; we're not creating many configuration policies or other things that will police their use of their machine. So to encourage users to adopt the system, I tailored the enrollment page as an invitation rather than an enrollment. I did this in the language of my emails and enrollment invitation outreach as well.



When a Mac user goes to the enrollment link, I want them to see that they are joining something. Joining makes it seem voluntary and to their benefit. Enrollment makes it sound like they are signing their computer away to big brother. They kind of are, but mostly aren't. We just want to know their machine is out there and in good shape. Their use won't change much.

These simple updates are done in the JSS. Head to Computers > Computer Management > User-Initiated Enrollment. In there, upload a company logo. Then name the page something user-friendly. For me, having them join a Volusion Mac Network provided a sense of inclusion and community.


When I sent out the initial enrollment invitation to users through the JSS, I tailored the message to them. I also sold it to them as getting the Volusion App Store, as that is going to be the difference they see.

Hello Mac users!

We're very happy to announce the Volusion App Store! It will provide apps, utilities, printer configurations, and more for Mac users with a click of a button.

To get the app, please use the link below. Sign in with your AD credentials.
%@

This service will be used to distribute software based on procurement requests, updates, and more. As such, it will be important for all Mac users to enroll. Please enroll by EOB MM DD, YYYY.

For more information on the installation process, you can check out this guide on Volusion's HelpDesk Sharepoint site: [link]

If you have any questions please let me know, and if you need any assistance with installing please send in a HelpDesk ticket.

I folded in a few key items that would let them know it was tailored to their user experience here at Volusion:

  1. I required LDAP login. Users are familiar with their AD login for their machines, printing, wireless, and other services. Having them log in with their AD credentials reinforces that it is tailored to Volusion users.
  2. I provided a date to enroll by. This showed them that this was a serious request. I also gave a few days to facilitate people that are slow to adopt or may be out of the office part of the week.
  3. I made an installation guide with screenshots available on Sharepoint. Sharepoint was rolled out when we moved to Microsoft's Exchange service at the end of last year. They'd be familiar with this, and a guide showing what the enrollment experience is like reinforces that it is a company-specific service and that it has been tested out ahead of time.
  4. I encouraged them to send in a ticket if it's not working. That way I'll know what issues users are running in to and try to hedge them off with others. It also shows that my outreach works.
  5. Probably the most important thing: I had the enrollment invitation show it coming from my email address, with my name, and I included my signature after the message. I wanted it to look less like an automated message and more like a personal invitation.
The strategy has worked so far. Out of about 100 Mac users, over 70 have enrolled themselves. I haven't touched any machines for manual enrollment yet. That's a pretty good adoption rate. Naturally there are people I'll have to approach, but it's not a significantly large number considering the size of the Mac fleet.

At this point you'll want to jump right into creating software packages and preparing imaging. The imaging thing is something I haven't quite wrapped my head around yet, but I'm getting there. Our main concern was getting our pre-existing fleet enrolled. Once that happens, we can focus on new machines.

I hope my guides for this process have been useful to people out there. Feel free to use the Contact page to send me questions you might have.

Cheers!


Did you find this post useful? Leave me a tip!
💖

Write a comment