Computers Are Not Designed for Productivity
app.getflowmeter.com
app.getflowmeter.com
(if you're not familiar with tiling window managers, they're window managers in which windows are arranged automatically to a) fully occupy the screen and b) never overlap. They're extremely customizable, but typically you'll have a vertical half of your screen with a main app, and the other half with all the other apps "stacked", with keyboard shortcuts to toggle between them and adjust various parameters (e.g. split orientation). You typically also get virtual desktops. The whole thing is fully keyboard driven (on my Xmonad, cmd + shift + enter opens a new terminal, and cmd + shift + c kills the currently selected window), and once you get used to it it's a usability dream).
On it, I have 2 graphical applications installed: a terminal emulator, because that's where I do all my work (and can launch other minor applications, such as a PDF viewer, if needed), and surf, a tab-less/control-less/URL field-less browser that you launch by typing `surf <url>`.
People make fun of me for this weird archaic setup, but it's the most productive machine I've ever used. Tiling window managers don't get in the way, and make it painful obvious when you have non work stuff open. surf forces me to not fuck around with 15000 irrelevant tabs open. It sounds like it would be a terribly crippled experience, but in practice it does not impede my workflow at all - it keeps me focused. It's gotten to the point that when I hear colleagues who complain about all their open tabs and how screwed they would be if their Chrome crashes, I feel like they come from another planet.
I don't like the whole "have some discipline" argument. Humans are notoriously bad at discipline- environment plays as much of a role as self control (try surrounding the most hardcore fitness nut by candy 24/7 and see how long they last). The point of our tools is that they should enable us to be who we want to be.
Spectacle's default keybindings conflict with (override) Chrome's primary next-tab/previous-tab keys, but there's an alternate command+shift+[ or ] binding for those actions in Chrome.
https://www.irradiatedsoftware.com/store/index.php?app=SizeU...
Using the gesture to hold two fullscreen windows visibly at once but not relying on tiling or overlapping is surprisingly useful and productive.
On top of that, I use shortcat to add keyboard shortcuts for all (ahem, most) GUI interaction.
Spectacle and ShiftIt are two alternatives I later heard about, but haven't yet tried, so please let me know if you try them out and find a clear advantage to either (besides price).
[0] - https://addons.mozilla.org/en-US/firefox/addon/save-to-read/
> I don't like the whole "have some discipline" argument. Humans are notoriously bad at discipline- environment plays as much of a role as self control (try surrounding the most hardcore fitness nut by candy 24/7 and see how long they last). The point of our tools is that they should enable us to be who we want to be.
Yes! I've come to the same conclusion myself. One thing that many people who complain about people's lack of self discipline nowadays is that it is most probably objectively harder to stay disciplined in the modern age then it was before. For a long time this was true for things like junk food, but most recently it's true for computers and the procrastination that they encourage. It probably isn't we who have gotten less disciplined - it is our environment that demands more discipline of us. And since computers are too-damn-convenient to be without, we need to make them help us stay on track rather than allowing them to drain our self-discipline energy (if there is such a thing. It feels like it is.)
I use i3 (tiling manager - I find it the easiest to config) and vim, and similar key bindings across both.
I get how it can seem like a lot of trouble for some people, but it's so worth it when you can edit code and move around your environment at basically the speed of thought.
Some would argue that typing / windows-switching speed is not the bottleneck in development, but for me it's not about performance (I'm a rather bad typist), but about reducing mental overhead and minimizing "mental disrupts". One-second distractions of reaching for my mouse, then moving the pointer to the task bar, etc... just add up to a lot of overhead (try reading a dense article while taking one-second breaks to look away from the page after every sentence. Comprehension plummets).
I remember looking for solutions to power for awesome (which is otherwise awesome) and finding chains of solutions depending on debian releases, including gaps.
I'll try again come spring, I'm sure.
As it happens, I am right now using i3 4.7.2, installed last night from linuxmint's repositories. I'm trying to use just i3, along with whatever i3's package recommended.
So far so good. But it didn't sleep last night, the screen just blanked. At least it's Saturday. :)
FWIW, I use ratpoison on Ubuntu on my laptop, and used ratpoison on Debian on my work desktop at my last position.
Notifications could be deferred while the user is actively typing. When the user goes idle, deferred notifications can be displayed. This becomes more important as more "push" features are crammed into browsers and apps.
Namely I'm trying to watch a movie and screen goes black after 30 minutes (yes I know how to configure this, just an example).
No Windows, I don't want to update Java (yet again) when I'm playing a fullscreened video game.
This isn’t correct, actually. There is the Do Not Disturb mode in OS X that disables any non-essential notifications and alerts. It can be toggled manually for one day, or according to user-set daily start and end times.
Of course, even though the API exists, apps use it differently and somewhat inconsistently: for example, Apple’s native FaceTime will not distract you in DND mode, but Skype will if someone calls you.
Point being, there is an example of such API that tells any app that asks whether is now a good time to interrupt the user. (Not to argue that actually inferring what you do and avoiding distracting and stealing focus in the middle of typing, as in your example, would take it to another level.)
It all boils down to one thing: have a single conscious intention when doing something. This takes practice, but eventually you can do it for anything and everything. I've found this can even make routines like brushing your teeth very enjoyable and meaningful (see here: http://www.fastcompany.com/3036363/how-to-be-a-success-at-ev...)
Also, there is a clear rebounding shift towards desktop computers being serious work tools, as opposed to consumption devices, which is what mobiles and tablets are for. This is undoubtedly a trend that is already happening, and I think that OS and software designers need to respect that. It is an unfair, deadly sabotage to mobilify desktops while upsetting the highly focused workflows of programmers, graphic designers, architects, writers, business managers, video editors, students and academic researchers just to pander to a generation of ADHD social network addicts (I'm looking at you Windows 8).
As for people arguing that you simply need self-control and discipline, they are kidding themselves. Focus and concentration are extremely delicate things to create and preserve, and it is a designers responsibility to make products easier for their intended purpose, not simply demand "self control" from their users.
We should begin to consider mindfulness as a skill, just like coding itself. A muscle that needs to be worked and flexed and honed with deliberate practice.
Your OS, and the apps on your computer, can be designed with focus and cognitive ease in mind, but it does not change the fact that a few actions away is a Stargate to another world. So, aside from a few grab-bag complaints (though legitimate) about operating systems, programmers and designers have little more to do. Apps are only going to get better designed, and minimalism and cleanliness have come to characterize modern app design.
>I don't think the problem is OS design.
>a few actions away is a Stargate to another world.
Maybe we should design the OS so that "the stargate" is a whole lot of actions away.
"Why does it take an extra unnecessary step to launch an app!? You're telling me this is for my own psychological good?!"
I suppose this goes to classical arguments about the role of government in banning drugs or mandating seat belts. The state doesn't think you are responsible enough, so they create an external structure (fines / criminal penalty) to make you do good for yourself.
Others would say that a sad restriction has been placed upon them because the rest of the population cannot regulate themselves to the satisfaction of the state. It can also be argued that now people rely on external pressure or structure to behave well rather than setting up their own internal structure.
I know I periodically drop
0.0.0.0 news.ycombinator.com
0.0.0.0 reddit.com
in my /etc/hosts file.I also added a "don't let me switch from this window until I ask to be able to switch from this window" setting in my WM.
It doesn't have to be imposed externally to be helpful.
People often look at me like I'm crazy when I tell them this. I haven't quite figured out why.
If I need to look up some personal thing in the middle of the day, I reach for my phone. If I find I've been reaching for my phone too much that day, I get up and put it on the other side of the room. Now every would-be distraction requires me to physically move my entire body.
Ctrl+Shift+N -> "new" -> select auto complete to hacker news -> enter.
This place can suck my whole day away, and because I'm a web developer and work in the browser constantly, there's no easy way to dodge it.
I can do things like blocking dns lookups or browser extensions but then I outsmart myself.
Are you going to code on your typewriter? I wrote code without a computer when I got into computing because I didn't have the money to buy one, I would write basic C code on paper. What a mess. Computers make us productivity, but you the user must decide on your work flow.
Computers are general problem solving machines, if you want to play game and watch cat pics all day, then it's your choice. If you want to work then you can. The guy on typewriter outside might do no work, instead he might stare at hot chicks or count cars or strike up a conversation with someone that comes along.
Productivity is not just a function of tool but also a function of self, and self control. I saw someone that mentioned self control and got downvoted, but they are correct. It's mostly about how productive you decide to become, there is no shortcut. If you are not motivated, and you are locked up in a room with nothing but a typewriter, you will not write tons of book. You will just sleep and cry and beg them to let you out of that room, you might even smash the typewriter. Someone like me, I might have more fun taking it apart and trying to put it together, anything but write a book.
Computers don't do anything without computer Programmers. It is the user which makes things 'productive', where 'productive' is entirely up to the users' free will to decide to use the computer to do something.
A full-screen app at the checkout window is quite productive. This is still a computer. Its just that the Programmer has done the job of making the user attracted to the device, for the purposes of doing some job. Its the same with massive open-ended cornucopia-style operating systems that give you all the power in the world, and a bundled card game.
Either way, no matter what, its the user which makes productivity occur.
Most of the issues can be solved with:
- A tiling window manager such as xmonad.
- Using virtual desktops/separate windows in addition to tabs
- Discipline.
Hell, have a "work" user and a "fun" user and completely switch profiles. The tools are available. It takes some minor out-of-the-box thinking and discipline.Seriously though, I seem to have so little. I'm seemingly distracted by every neutrino floating through me nevermind things that actually interact with me, gah! ...
alias lock definekey top C-f readkey locked
alias unlock definekey top C-f readkey root
bind grave lock
newkmap locked
definekey locked f meta
definekey locked a time
definekey locked grave unlock
definekey locked backslash readkey musicNot all jobs are the same. When I'm writing, I block everything out but the writing prompt, occasionally backing out to open up character/location/backstory notes. When I'm writing a bash or python script, I do much the same. Full screen my terminal, open up vi, and don't leave it until I'm done or have other matters to attend to. And the same with when I'm learning something - I have my study materials, and that's it. (Though, I'm weird and still prefer physical books for learning stuff, so I might not have a computer near me at all, despite "pleasure" reading being almost 100% done on my kindle)
But most of the time I'm on the job, I am not sitting there with singular focus on one window. I'm not a professional author or developer. Multitasking - whether or not humans are good at it - makes up a huge portion of my day to day time. I have the general projects I have to work on, but I'm also an escalation point - I have to keep an eye on IRC and see if anyone needs me, or has questions about anything. I have to keep my eye on my email for similar reasons. I have to be signed in to our other office communication systems that other departments use in case they need to get ahold of me, or connect me with a customer. etc etc etc. For me, being productive much of the time precisely means I need to be bouncing my focus all over the place and be juggling multiple things at once.
I get the overall point, and agree with it for many cases, but there are plenty of jobs out there where having a lot of different information feeds presented to you at once is part of how you attain productivity.
I do resonate with the idea that some people have a bad interaction with current computers. Just like some people may have biologies that will interact badly, despite a general array of interventions or strategies, in the face of easily accessible drugs like alcohol and cigarettes.
But it would be a shame to remove bars and liquor just because some people cannot control themselves. Some humans will always be led off the summit due to their unseated spirits, but let us not flatten mountains for their sake.
Hopefully there will be an elegant software solution that satisfies everyone ("Google / Siri, focus mode on!"; "Okay, I have suspended distractions until I see evidence that your job is done."), but until then, computers are designed as an open invitation to another world, but maybe you only wanted spreadsheets.
Of course, this only works out well when you can prune down the number of emails you get. Unsubscribe from everything you can.
Unfortunately, searching for and then reading something written by a new stranger every 5 minutes is a severe disruption to a focused workflow.
For me, this means learning advanced language features ahead of time (light bedtime reading by Josh Bloch, for example) and keeping a browser open with nothing open except a local copy of the API docs. Another example would be finding one good (physical) book to use as a language reference and keeping it next to the computer.
It's pretty clearly still early on in its development, but I've been enjoying pretty substantial productivity gains from using it.
PROMPT_COMMAND isn't exactly this, but it can be useful in a similar way.
Plan9 is built around being productive.
but "it hasn't even got a web browser" won the argument
Of course there are probably plenty of people for whom being told this kind of thing is itself a stimulus that can help to modify their behaviour, but I worry there's another class of people (or even just people in specific contexts) to whom being told to exercise self control is not much different to telling someone with depression to cheer up. Potentially well meaning, but fundamentally the wrong way to approach things.
(To relate to this specific article, I don't see why it shouldn't be a very reasonable point that popular window managers etc may really not be optimised for productivity - not necessarily for you, but for some significant number of people. It's easy to say 'oh they can just change it then', but maybe most of them will never think about it or even realise it's possible unless the issue becomes publicised more widely.)
Put the unfittest, unhealthiest person you know in a house with crazy healthy and fit people for a few months, and you'll notice drastic changes in their habits and behaviors. The opposite is true - put a healthy person in a house where their roommates eat pizzas and watch TV all the time, and they'll quickly get to their level.
On one hand it's depressing (if all your friends and family follow the same patterns you'll have a hard time breaking out of it), but on the other hand it's empowering: you can modify your environment to encourage healthier habits (if all you have in your fridge is healthy food, you won't be snacking on Cheesy Poofs when you're hungry at 4pm).
>> get a productivity tracking tool [link]
We have managed to come far with regards to assisting people with modern computers. Now computers need to start assisting people more when it comes to discipline and focus. I think unassisted self-discipline is impractical. It might have worked in the past, but not in the Information Age. We aren't lazy and undisciplined if we allow ourselves to rely on the computer for helping us stay focused, like blocking certain websites during work hours - we are simply saving ourselves the energy that we would otherwise have to expend in order to resist all the temptation that a vanilla modern computer throws at us. An expense that a typewriter of yore never had to even worry about. Do we let the computers control us, or do we let the computer help us control ourselves?
You can't control the fact that grocery stores sell candy and sweets at the checkout, but you can control the focus and discipline that your personal computer affords you.
I was wondering if it would be possible to download (and update at regular intervals) websites which I can then use in my browser even when I'm offline. Something like downloading Wikipedia and perhaps all of Stackoverflow. If that works, I could get a lot of useful information even if I'm working in a location with no Internet/bad Internet connection. Or maybe I'm even sitting in my cubicle and purposely disconnect the Internet to stay more focused! (The problem then would be that I've grown too accustomed to streaming music through Spotify...)