Years back, I preferred laptops over desktops for the mobility factor. However, I began to feel like there may be a subtle trade-off between mobility and productivity when it comes to laptops versus desktops. For example, when coding, I could have my IDE taking up half my screen, with code documentation on the other half. But what if I was coding a function that required me to look up several separate areas of the code documentation? Well, I would either have to:
- split the right side of my screen in half so that I could cram a 2nd documentation window on that side, allowing me to read two sections at a time.
- look up and read each area of the documentation one at a time,
The problem with #1 is that you have to shrink the each of the 2 code documentation windows down to 25% of your screen. Not only does this greatly reduce your reading area, but sometimes it doesn't even work because the website's HTML/CSS causes the text to be unreadable at that window size. Another limiting factor is that you can only have 2 documentation windows open at once, which is still somewhat limiting.
The problem with #2 comes from the "context-switching" of the human brain:
The problem with #2 comes from the "context-switching" of the human brain:
To perform a mentally challenging task, such as programming at the optimal level, one needs to reach a state of flow, where complete focus is given to one activity (source). A state of flow (also known as being in the zone) is when a person performing an activity is fully immersed in a feeling of energized focus, full involvement, and enjoyment in the process of the activity. In essence, flow is characterized by complete absorption in what one does, and a resulting loss in one's sense of space and time (source)I have come to understand that this state of flow is so crucial to productivity. When you're writing code, having to continuously stop, look up a separate part of the documentation, and then write code again can be an obstacle from reaching that state of flow. Virtual desktops can help reduce context-switching but they still don't handle it the way multiple monitors do, which provide much more potential to see everything you need to see at once. With multiple monitors, you instantly have more freedom to carry out your workflow.
Coding often involves having to check the documentation for a smaller set of key functions that are frequently used. It is very helpful to just have these open for a quick glance when you need to. Outside of those key functions tend to be many other "peripheral" functions that need to be looked up. This is my current setup and how I take these things into account.
- IDE: One horizontal screen dedicated to the IDE
- One vertical screen with 3 windows of key areas of the documentation. These windows stay constant for longer, because there are a smaller number of key functions and they're used more frequently.
- One screen with 3 windows of 3 peripheral functions in documentation. These windows change more often because there are more peripheral functions than key functions.
No comments:
Post a Comment