Build your own Watson Workspace Linux Client

Watson Workspace Clients are only available for Windows and Mac OS. I’m a 100% Linux user on my devices and I use a Windows virtual machine only if I can’t avoid it. To communicate with colleagues, IBM and DNUG I need to use Watson Workplace, opening the web view is possible, but then I need to search the right tab or forget to open it. Since some weeks there is Zoom (Web / Video meetings) integrated with Watson Workspace too.

Watson Workspace clients are based on Electron. I’m not a big fan of Electron clients, most of them are big and need tons of system resources. There is enough written about advantages and disadvantages, so I just leave it that way.

The last time I used Rambox and configured for Smartcloud, some Slack spaces and Watson Workplace, but I wasn’t completely satisfied. I’m a member of around 12 Slack spaces, so I switched back to the native Slack client and uninstalled Rambox. I just wanted something to use Watson Workplace outside of my browsers. One reason is the single sign-on feature within the IBM web pages. I use several IBM IDs to download software, use Smartcloud Connections or Developerworks. So an always logged in WW and the very sticky cookies around these services are a pain.

Today I found a new way!

I read about nativefier in my news feed and just wanted to try using it.

The project is based on Node.js and uses npm for installation. Node.js has lots of dependencies and I don’t want to have all that tools on my working machine. So I cloned the repository and build the docker image.

git clone https://github.com/jiahaog/nativefier.git
cd nativefier
docker build -t local/nativefier .

Now I can build everything from that docker container.

I downloaded a Watson logo and put it on the path where I want to build the client.

cd ~
mkdir -p ~/tools/watsonworkplace
cp Downloads/ww-logo.png ~/tools/watsonworkplace
cd ~/tools

Build the application

docker run --rm \
  -v $(pwd)/watsonworkspace:/target \
  local/nativefier \
  --icon /target/ww-logo.png \
  --name "Watson Workspace" \
  https://login.workspace.ibm.com/ \
  /target/

Short explanation of that command:

docker run --rm local/nativefier

Start docker, run a container based on image local/nativefier and delete (–rm) the container after the run.

-v $(pwd)/watsonworkspace:/target

This maps a volume from local path /watsonworkspace and maps within the container to /target.

--icon /target/www-logo.png --name "Watson Workspace"

Adds an icon to the program and adds the name Watson Workspace.

https://login.workspace.ibm.com/

Is the login URL of Watson Workspace. When you log in there and restart the client, you’re still logged on.

After running the container you find a new directory with ~/tools/watsonworkspace and you can start your personal build Electron client with ~/tools/watsonworkspace/watson-workspace-linux-x64/watson-workspace. I created an autostart entry to start it each time I log in, or you can add it to the menu or desktop. The best thing about nativefier is, it works on Mac OS and Windows too. So you can add every URL you want to have a separate login or browser window.

Zoom on Linux

Within the Workspace client, I can start a meeting (when I have a pro account) and I can open it directly with Zoom (which is available for Linux too). So it’s not integrated into my Workspace client, but it opens without prompting in a Zoom client window. Great stuff!

One Reply to “Build your own Watson Workspace Linux Client”

  1. Hello
    you can start a meeting with the freemium version in one to one direct message. No need to get a “Plus” version that is indeed required to start meeting in a workspace.
    Goot try and let us know your results.
    Pierre

Leave a Reply

Your email address will not be published. Required fields are marked *

*
= 3 + 6