Reimagining Collaboration by Phil Simon

This is a book about collaboration in the new era of Zoom, Teams, Slack and other such tools – not that they are completely new, but the pandemic and enforced remote working caused a huge boom in usage and some permanent changes in the way people work together. Author Phil Simon is a US specialist in business communications, and associated with the Agile methodology of software development – quite appropriate for this book, since collaboration is at the heart of Agile.

There are a few themes here. Simon believes that organisations need strong collaboration in order to thrive, and personally I think that is spot on. He spends some time distinguishing between collaboration and other related but different things like communication (a pre-requisite but insufficient on its own), or co-operation which can be a passive relationship; people can co-operate without actually collaborating.

Despite all the this, the main topic of the part 1 of this book, I am not sure that Simon ever nails what collaboration really is, at least not in this book. He has a go at it and there are many examples given of what it is not, but it remains, in my mind, a bit elusive. I did like his metric of organizational health: “The ability to rally around a common vision, execute effectively, and create a culture of innovation.”

Simon does show a good understanding of the human factor in productivity. He talks about managers versus makers, and how managers feel the need to communicate often with many people, while makers need to reduce distraction and focus on a task; I am not sure if he had software development in mind but this is a good description of what developers need.

Part 2 then gets to the heart of the book: better collaboration through technology. The key concept Simon uses is what he calls a “collaboration hub,” meaning any of a number of tools which form a central internet-connected space where users can interact with one another. This includes what the author calls the big three, Slack, Teams and Zoom, as well as other applications such as Expensify or Canva.  

The author is a user of Slack and of Google Docs and while he shows a commendable neutrality in the sense that he considers other tools such as Teams equally effective, adding that “It’s fair to call the similarities around today’s internal collaboration hubs remarkable,” his greater depth of knowledge of the tools he mainly uses does show. There is really much more about Slack than about Teams, and that is something to be aware of. Teams users can still benefit from the book but less so than Slack users.

There is a big theme here though which is that the author considers email, especially internal email, a blocker to collaboration. He gives reasons, including that inboxes tend to die when an individual leaves the company; that email is gaffe-prone since a careless email, or a careless reply-all, cannot be unsent; and that emailing attachments like spreadsheets leads to multiple forks of the same data. In fact, toward the end of the book Simon remarks that “Effective, long-term collaboration cannot take place via email. Period.” He also recommends ditching internal email completely.

While I have some sympathy with this view, I think it is overdone. I reminded myself that one of the most successful collaborative projects of all time, the Linux kernel, is based on email lists. 

Still, Simon is quite correct, a collaboration tool with channels for team members has lots of advantages over email, gathering all the communications in one spam-free place and making search much easier.

Part three of the book is called “moving from theory to practice” and contains lots of discussion about how organizations can move towards using collaboration hubs and what can go wrong. Then part four peeks into the future and envisages smarter collaboration hubs which use AI to book meetings for us, automatically transcribes meetings and sends automatic alerts to Slack channels.

There is plenty of wisdom though I could have done with more on practical questions about how to get the most from Slack or Teams. How many channels or Teams should you have? When should you have a video conference versus a message chat? Should we have our collaboration hubs always open or sign out sometimes? Who should be able to create a channel, or should anyone? And what more advanced or intricate features of the products are worthwhile?

I enjoyed Simon’s willingness to be blunt at times, as well as some amusing reflections like “In my consulting days, I often saw project managers call meetings essentially because they were bored.”

Towards the end of the book we also get this: “Just because the discussion or task takes place in a hub doesn’t mean that it’s truly collaborative.” I agree. What then is the magic that enables an organization to be collaborative? In the end it is corporate culture rather than tools that matter most. I think the author recognizes that, but after reading the book, I am still not clear about the best way to get to the collaborative culture to which we should aspire.

Thanks to Netgalley for an electronic review copy of this title

Web page memory usage: how much is too much?

I have a web application that loads names into a picklist and the question came up: how many names would be too much for the web page to handle? What about 5,000 names, for example?

Modern web browsers have a memory snapshot built in. Just press F12 and there it is. So I fired up my application with over 5,000 names loaded into an array and displayed in a scrolling div. 2.5 MB.

Then I visited Facebook. Logged in, the page reported over 78 MB.

image

Google’s clean-looking home page? Not logged in, 11.2 MB.

image

Twitter? Logged in, 83 MB.

image

This was enough for me to stop worrying about the memory impact of 5,000 names in my web application. With our casual acceptance of multi-MB web pages it is easy to forget that the complete works of Shakespeare in plain text is 5.5 MB and compresses to less than half of that.

Just because you can do something, does not mean you should. Smaller is better and faster, and software bloat of various kinds is responsible for many performance issues.

There are trade-offs though both in time and in performance. Maybe it is better to load just a few names, and retrieve more from the server when needed. It is easy to test such things. Nevertheless, I found it useful to get some perspective on the memory usage of modern web sites.

Windows Subsystem for Linux 2 will not start: a possible fix

I find that Windows Subsystem for Linux (WSL) sometimes fails to start after rebooting Windows 11. Once it is up and running it is fine.

Symptoms are that WSL fails to open and the wsl command hangs. VS Code, if set to open in WSL, fails to open the folder.

Rather than rebooting, you can also try the steps here. It is a matter of finding the process id for LxssManager:

tasklist /svc /fi “imagename eq svchost.exe”

then using End Process Tree in the Task Manager Details view for that process ID to terminate it. It will then restart automatically or you can use the wsl command as usual.

Using an M1 Mac after a lifetime of mainly Windows

So I got an M1 MacBook Pro back in April and it is time for a quick brain dump on my experience. I am not travelling as much as I did pre-lockdown, so although I got the Mac as a replacement for an ancient Windows laptop it gets used at home too. My usual desktop PC is a few years old but a decent spec gaming PC withCore i7-7700 3.6 GHz, 16GB RAM and Nvidia RTX 2060 GPU. I have been happy with it; but I do find myself thinking “why not just use the MacBook” when needing to fire up a computer, a subconscious preference that bears examination. Most of my work is writing, web browsing and coding.

I do not particularly prefer the macOS UI to that of Windows. It is more consistent because Apple managed iOS vs macOS sensibly whereas Microsoft made a hash of Windows desktop vs Windows CE vs Windows Phone vs Windows 8 and has now settled on a thing called WinUI but scratch the surface of Windows and you still find UI that has not changed for decades.

I digress though. I do not mind the Windows UI, I am used to it. What I do mind though is annoyances like the always-broken Windows search, and the way certain actions cause lengthy pauses that make me wonder what my PC is doing. In my case, sorting a large directory in Windows Explorer takes an age. Another little issue is that creating a new folder works fine, but renaming it causes a long pause. There also seem to be some focus issues. I create a new folder, I rename it and press Enter. Eventually it renames, but half the time the focus mysteriously switches to a different folder.

I realise that these problems do not occur with a new install of Windows and that I could pop out and buy a Surface laptop and it would be fine. For a bit. Windows, it seems to me, still suffers from the cruft problem beautifully described by Verity Stob 20 years ago. I do not think Macs are completely immune (I had a Mac Mini where I upgraded the OS once too often and it crawled) but does seem to me more resistant.

There is another thing that I like about the MacBook. You close the lid and it sleeps. You open the lid minutes, hours or days later, and it wakes. This has never worked well for me on Windows, though it is meant to do the same. I can believe that it is hard to implement, but when it works it is a huge benefit.

There is also the unwanted advertising that has crept into the Windows UI especially since Windows 11. Working on the MacBook I do notice its absence; I can better focus on what I want to do.

From a developer perspective, the performance of the M1 Pro is a delight. I work mostly in Visual Studio Code on both platforms; even on Windows I have come to prefer VS Code for most types of work. There is also the fact that Unix-like operating systems have won in server and web applications, so there is less friction there.

Launchpad: reminiscent of the Windows 8 Start screen?

Microsoft came up with a great application launcher in the Windows 95 Start menu – and improved it until it reached its peak in Windows 7. I also like the Windows 8 full-screen version. Windows 10 and 11 are not so good though. You get inadvertent web searches, as well as the problem of apps that you search for not appearing for strange reasons. The Mac Launchpad, which reminds me of the Windows 8 full-screen Start menu, seems to work well. You type what you want and all the matches appear.

What do I miss when not using Windows? It is mainly a matter of working out new ways to do certain tasks. I do miss Hyper-V and WSL (Windows Subsystem for Linux) though I have had success with UTM for running both Windows and Ubuntu on the Mac. The integration of WSL with the desktop OS is great though. Microsoft Office still works best on Windows though not to the extent of a few years back. There is no Paint or Notepad, and favourites like Notepad++ do not run natively, but Preview works for cropping images and alternatives to Windows utilities exist.

Sometimes you are pushed towards the command line which is not a bad thing. No WinSCP for example, so use scp instead, and do some helper scripts for common tasks. You end up saving time. (I realise you can script WinSCP as well). And no need for Putty; just type ssh or script the command line you need.

I do expect though to use Windows less in future, and for me that is a big change.