Posts

For most of the GTD (Get(ting) Things Done) mastery student, there is a constant research of better “todo” app or tool. I’ve been in this for a very long time and used many apps. Desktop, mobile, command line, cloud, API… You name it, I’ve probably used it for some time.

At the end, I found myself staying very plainly managing my todos without needing a lot of features. In fact, I needed not to worry about the features of the apps I used. This especially become an issue as I’m OCD (obsessed about “order” and tidy) and a little bit ADD (regularly distracted). When you have a todo app that looks ugly and you need to use their features in order to clean things up, it eats up your time aside of actually focusing on your todos.

Methods and apps

There are also a million apps (I wrote 4 of them for myself) does a combination of “todo” management and a specific type of method. Like pomodoro, or kanban or whatever is out there. This gets more dangerous because the method is actually completely independent from what the todo is, where it lives and how it lives. It can be written on a paper list. For instance, if you do pomodoro, the best way to do it actually use a kitchen timer. Literally, use that old school timer to perform your pomodoros. Otherwise, I almost always find it time consuming to think that things will be more connected and automated when you have a todo app that does the pomodoro. So you can click to a todo and a button to do pomodoro of that item. It sounds good but it’s opposite in practice.

Plain formats works best

For long time, I used cloud based (to sync between my devices) tools. I used evernote, then quip, then trello at some point, then few more. But I found it, the simplest when I can simply copy paste stuff to move around. Because you’ll be consistently re-prioritizing your todo list, editing, adding, removing, marking things done. It’s just how the process of GTD works. That’s why you need a method that is the most convenient and requires less adaptation and portability between platforms and environment. There are few fancy stuff you may want to have like:

A programmable interface (API/CLI) – for instance to have your top 3 todos for the day appears on a screen somewhere. Or query the last completed tasks.

Color coding or highlighting at least to distinct what’s done and what’s not done. Ideally, when you’re done with stuff, it should disappear from your screen but in some cases, you want to see them at least until the end of your day to be able to review.

Todo.txt

After many years trying different things, I came across with the todo.txt format. It’s a very low level and with few simple rules to give you the freedom to use whatever tool you want, wherever you want with having additional capabilities with community implementations on CLI, cloud, mobile etc…

todo.txt format is so simple that is explained in one annotation below:

To be honest, I don’t use almost any of these things except the “done” marker. So for me, it’s as simple as todos are either not done or done. That’s it. What I want to do manually is always re-ordered them and have separators (which I simply use 3-5 dash characters “——” as an extra line).

I love this format is because I use it in a few different tools on my platforms. Wasn’t super happy with the desktop solutions, so I forked and enhanced a simple code editor written on electron/nodejs. Added a few capabilities and adjusted the color schema to my liking and open sourced published it (You can find, download and contribute to it here: https://github.com/mfyz/todox).

On mobile, it’s not that easy to have a custom code editor without getting my hands dirty with a lot of native coding which I felt lazy. Also, another point that I had to figure out was the sync between my devices. I live on apple ecosystem so I simply used iCloud drive of the text editor app I use on my iOS devices (Textastic).

Texastic supports textmate and sublime bundles (including custom syntax support and themes). I installed a sublime text implementation of todo.txt format and had color coding which all I needed on my mobile devices. Most of the time my activity on my mobile devices are simply adding new stuff to the list or mark them done.

Sometimes we need to take a screenshot of a long content mostly from scrolling applications. Most common example of this is full-length web page screenshot. There are chrome extensions we can use for taking full-length website screenshot. But there is not an easy way to take screenshot from other apps like native desktop apps or email content from mail clients.

XNip Screen Capture Tool

We can use Xnip Screen Capture tool that has all of the common screen capture software features and a feature We can use for taking long content screenshots called “Scrolling screenshot”

It’s is a freeware with upgrade ($2/yr subscription) but works perfectly for this purpose without the upgrade (it leaves watermark that can be cropped easily if needed).

I firmly believe screen-less or no screen time is a necessary concept for digital dwellers. Screen-less / No screen is very much like sabbatical practice where you don’t interact with technology as much, or to be more specific don’t interact with screens.

Let’s deconstruct this little bit.

Working with screens

I’m an internet worker which is my job to produce stuff for people to consume on their technological devices. It’s my job to think, create and bend the rules with computing and make technology smarter. Most of my day goes into research, write, plan, manage and do all of these on computer. Usually spend like 12-15 hours on screens.

There are so many occupations not centered around creating technology but using technology to create. By nature many jobs are very similar to mine, spending almost all the time behind screens while working.

Couch potato with screen

But there are a good chunk of humanity just “watching”. Probably majority of the people spending time on screens is just consuming. It’s a natural transition from non-interactive television era to screen time. Kevin Kelly has a great definition for this and he calls it “screening” not watching, not reading… We just scroll endlessly.

Too much screen time, too many screens to look at

Not just having A screen, we have screens everywhere. Phones, tablets, computers, tv screens for constant information for some jobs (like stock tickers, performance dashboards etc..) and finally wearables. We carry multiple screens with us all the fucking time…

Not a surprise everybody is ADD now

I’ve been doing reads on many different topics related with technology’s impact. Recently how screens affect little children since I have two little babies now, more curious on this topic these days.

What I see as a consistent pattern, mostly conclusions on these reads is screens are bad for certain period of childhood causing loss on attention span, making our brains more distracted. I understand the reasoning that our brain is designed to “see” stuff in graceful progression. Especially movements we expect from nature is not suddenly disappearing or suddenly appearing stuff. Sudden movements is “danger” signal for brain. We produce minimal stress hormones when stuff happens fast because naturally fast movements trigger us to “escape” from danger by it’s biological nature. The fast moving images and flashing visuals that makes brain to jump between things is essentially damaging. This sounds so familiar – think a random tv program 🙂

It’s growing number of kids, people have ADD (attention deficit disorder).

Keep it cool, keep it under control

Best way to cope with this is to have regular “stops” from screens. It’s just plain straightforward plan. Don’t look at screens, don’t use your gadgets for a while. To me once a week for a day is just perfect. Maybe once in every 6 months or once a year it can be weeklong stop. It’s not new concept guys! We call this just weekend and holidays 🙂

Cool it down a little…

Getting lazy with technology

Not interacting with screens or more broad with technology completely for a day is also about breaking the pattern of technology supported laziness where we lost the connection and need for retention of basic information like directions or shopping list.

When I first did no screen, without realizing, I got into a situation that I booked a yoga class the day before for Saturday and when the class time came, I realized I never knew the address of the studio I went twice. It was a little scary that I didn’t know this information, I managed to go out and try few different streets until I remember the correct street. Following week, I started to note the directions of the places I wanted to spend my day.

Getting creative with no screen time

A lot of good came out of no screen days:

read much more,

workout in many different ways, running, yoga, biking, hiking,

farmers market, vintage shop, random exploration of my neighborhood,

having less serious plans and schedule for Saturdays,

catching up with friends more,

meditating,

writing, life planning

It’s been over a year now and it became part of my weekly routine.

Exceptions

I have few exceptions that I don’t practice no screen Saturdays, when I travel, when I have a deadline that shit really happened and it’s very important (I try to keep this 2-3 times a year max, otherwise there is always important stuff). I only interact screens very very briefly (not longer than a minute or two) to open music, I also keep “kindle” out of “screen” category because you can’t do much other than reading.

Wanted to give you a short information about browser automation. You visualize a desktop app when a “browser” comes to minds right? All browsers use an engine to render web pages on our screen. And these engines can actually work without rendering pages in the UI. All they need is to render the elements in memory. From there, it can allow us to interact with rendered pages programmatically without displaying the rendered page on our screens. There are browsers only works in this mode and they are called “headless” browsers. Means they have no UI. This browsers are meaningless for general consumers but it comes very handy to developer and testing community. Many companies build their testing and QA process utilizing these headless browser, do execute their UI flows with browser automation scripts. For instance, headless browser can be programmed to run and simulate the following user experience flow:

Load http://example.com web page,

Wait until page is completely rendered including javascript and css,

Fill “Fatih” to the field called “Name”,

Click to the button called “Send”,

Wait 5 seconds,

Take screenshot and save as JPEG

This can be very useful when doing regression tests.

Event utilizing screenshots with headless browsers will be very useful. There are many companies doing screenshot comparison for high level understanding changes done visually based on any given iteration on the code. This process simply takes and keeps versions of each page and in every release, it takes a new one with latest version and compares the pixels (and colors) to the previous version to determine a percentage for the change it detects. Then you can set some report and process to make sure you track of big changes to detect if a tiny css change blew a page you usually don’t test manually. It becomes very meaningful when you think about a web page with 100 different pages.

Are there any headless browsers I can use?

The well known headless browsers; the one named “Phantom” (and phantomjs) that is big on nodejs community. There is also headless chrome which is based on chromium.

I have a fun way to track people goes to space and I want to share that with you on this post 🙂

I love using “If This Then That” (IFTTT) and have been using it for years. It’s a brilliant service. For first-timers, I can summarize it as “Internet Robot”. What it does is, connects two internet services (or smart devices) in scenario basis consists of two parts: “event → action”. So it takes an “action” when an “event” happens.

Some generic samples of how to use IFTTT;

When I post a photo to facebook → Save to dropbox

When there is a new entry in RSS → Send me an email

When weather is rainy → Tweet “take umbrella”

Almost all popular services are available in IFTTT.Each service has their own set of events and actions.

Tracking Space Activities

I use IFTTT for many different ways, mostly work related scenarios but I have some fun use cases. One of the most fun thing I do with IFTTT is to use NASA’s events about space activity (when there is a new launch with astronauts going into space), I send a message to my slack channel named “space”. This way I see astronauts went to space and often I check their wikipedia page, their achievements etc…

I want to talk about a tool we use and how to leverage it for better collaboration on pretty much anything involves multiple people. But first, I encourage to read my thoughts on writing and reading at //mfyz.com/written-communication-king if you haven’t done so.

I started using Quip pretty early on when they came out and loved it from start. Love the simplicity and giving real-time collaboration features and mostly mobile-friendliness of it. Compared to Google Docs, it feels much more lightweight.

For personal use cases, I used to use Evernote for note taking purposes and keep my notes on cloud and keep them synced between my devices and computer. Quickly after starting using Quip, I moved all my notes from Evernote and iCloud Notes to Quip. I document my personal information, my plans, new ideas, my book notes, to-do lists and mfyz.com stuff from todos, bug tracking to articles to write. I even write these blog posts on Quip first, then finalize before I move them to my blog. After publishing, I move them to a folder like “Published” or “Archive”.

At our team, we use quip daily basis and I use quip maybe as much as I use my email client or maybe even web browser. I often edit 10-15 docs in quip a day as mix of personal and business docs.

We use Quip at our team for following reasons primarily;

Transparency – we believe in creating a culture of transparency, where our team has full visibility into all aspects of our work.

Quip allows us to see (in real-time) what people are working on.

Quip’s history allows us to see the conversations and evolution of our thinking, not just the finished product.

Here are few tips that we collected as the team and try to implement on our Quip settings.

Turn notifications off apart from @mentions to reduce the noise – most of us don’t need to know everything that is happening in quip in real-time.

Fine tune your notifications for documents and folders that you are an active contributor or reviewer of.

We use Quip with it’s “team” version which we pay very minimal cost monthly but there is almost zero reason you need to pay as the team. Their team functionality is free and it’s not very different than sharing a folder to a group of contacts.

Other than my team, I have smaller teams for my other initiatives and a family folder with my wife that are not designed as “team” they are just well organized single folders that are shared with team members.

Writing represents pretty much the biggest leap in human history. We started to make great things after we started documenting our wisdom and make it portable. Anything was written is made for communication even if it means communicating by yourself. People write, scribble to solidify their ideas, thoughts and there is no better format than written or drawn materials.

It requires a skill to write. And writing is definitely an amazing skill set that requires time, patience and practice to develop. A lot of people writing blogs which is a great way of sharpening this skill and one of the primary reasons I keep my blog open for years.

When it comes down to communicating with multiple people, written communication thrives. In many real-time communications, speaking, listening, discussing (etc), we listen/watch/read and “interpret” more than understanding things at that second. And in a lot of cases, people misunderstand things. A lot of details can be lost because of the immediacy of the communication. Writing and reading provide the best version to both sides. It allows communicator to materialize their ideas in plain form and it gives enough time to the writer to think, rethink, make errors and fix them on writers own pace. Same stuff happens on “receiver”s side. All of us take stuff differently and there is no better format than a written message, document etc…

This speed thing and difference is a very underestimated thing about how each one of us functions. Some of us think very deep and it takes time, some of us are very fast processors but may oversee things and miss stuff. It’s all normal, it’s what makes each one of us, us. But when it comes to two people communicating, it can cause errors.

Personally Writing

As I mentioned above, writing is a beautiful way to shape your thoughts. A way to make floating half-baked ideas to become complete or easy to follow. All writing stories has to be connected well in between of each sub-stories or sub-thoughts. So writing gives very creative ways to connect the dots. Therefore it makes you think better, thinks more connected and almost always makes you speak better because you train your brain to think that way. It rewrites your brain for that way of thinking. I see great benefits of writing stuff down even if I will temporarily collect them somewhere.

I use note taking apps on my digital devices, carry Moleskine notebooks on my backpack all the time. When you need to write stuff down, you need to have materials to do so.

Repeating same point above, writing speed is always slower than how fast we think. Some people (like me) thinks fast and because of we don’t have enough practice to speak, we mix our thoughts when we try to speak (without enough training) as we think. Because our thoughts fly fast, we try to speak fast and screw up sometimes 🙂 Writing gives perfect sight of slowly building sentences and progress on a topic in order, it builds the great skill to how to organize thoughts.

Bonus, if writing in a foreign language it gives the best way to practice vocabulary. Also, there are millions of tools on computers, mobile devices that correct and highlights misspelled words, even grammatical errors that trains you slowly. If you type same error 5 times, you start to fix it and it will be gone very soon. So, when learning a new language. I encourage you to write stuff in that new language.

Writing in Business and in Teams

Written communication is one of the essential elements of running a business. This is a skill that every professional has to master. This becomes vital especially if you are a manager or an executive of a business. Is the extreme side of this example, we can think about legal matters. In the legal world, there is nothing other than written evidence and explanations. In some cases, we write anything happened between two parties in “contracts”s. Of course, legal writings has its own category and maybe a boring example but it magnifies the importance of this in business.

On the less legally binding but still important matters like business decisions, business plans etc, written documents are the best way to inherit any information that needs to be implemented in the business.

Written artifacts in business and team communication also brings consistency of the communication. If you are trying to build systematically designed process around communication, the consistency can be varied a lot depending on the leader. Agreeing on a format and treating that like a template is the best way to bring consistency of repetitive tasks. I’ll write more on this later in specific cases.

Another reason of written docs use in running a business is the scalability and mobility of the information. What I mean by the mobility of information is how easy to move a know-how from an individual or a group of individuals to another. Let’s say you trained someone to be a killer project manager or marketing person. How much of know how can be moved to another person? Does it require the same amount of training? How much of that information can be documented and requires a new trainee to read an learn early on? Or when implementing a business process change to 10 different people in different teams, how easy to train multiple designers at once? At the end of the day, written documents become the guidelines, archives and historical artifacts of the business.

The last point on writing communication in business; if you are an open and transparent team, written communication is a must because of availability and accessibility of written communication is unmatched. Especially, digitally communicating teams are already halfway there. Having slack to talk, quip or google docs like tools to document and trello like project management tools are already very easy to search, scan, monitor, track progress of anything written.

This is a short explanation of a feature I really like about github and now it’s imitated in bitbucket. Essentially allows you to host a static site under your account.

It doesn’t support anything back-end but you can use grunt, gulp like automators to create a content management system that compiles whole site to static files then serve it up with this trick.

Very simple steps to do this. My username is “mfyz” in bitbucket and bitbucket allows 1 static website hosting per account. If you create a new repository called: “mfyz.bitbucket.io” and throw an index.html file, you can access the static website from “http://mfyz.bitbucket.io” address. Bitbucket will serve anything static including css, javascript files as well as binaries like images.

When becoming parent, first thing you get into is the feeding and changing cycle of the baby(ies). It’s tiring but optimizable cycle since the whole thing is pretty standard in the beginning.

And keeping track of feeding and pooping activities becomes very important especially in early days. You need to feel comfortable that your baby is growing. Best way to know how they are doing well is to track how much they eat around the clock and how many times they pee and poop. It’s a weird thing to track when you think about it but it’s actually very natural and best way to think the only sensors you have about your baby in early days.

You’ll most likely to have multiple people looking after your babies and it’s inevitable to do shifts on feeding and changing duty and it gets really easy to lose track of how much they are consistently eating or pooping. Most parents take notes on paper, or keep track of it in some ways. The tech parents 🙂 will obviously use some form of digital tracking and there are many many apps does this. I’m looking this in an experimental mind and thinking, how this becomes a seamless process.

Last year, when I was trying to hack amazon “dash” buttons, I found this engineer dad, hacked dash buttons for exactly this purpose. Basically, he had 2 buttons for his baby that when the baby poops, tapping to one when the baby pees, he taps to the other one which is pinged to an IFTTT hook to log the timestamp of the activity in a google spreadsheet. Connecting the dots between these services literally takes 5 minutes if you guys are familiar with them.

My challenge was having 2 babies and my early “monitoring” task that I was assigned from the pediatrician was to track of how much babies ate in every 3hr cycle. So I had to log how many milliliters babies ate. I also needed to see last 3-4 times to make sure I balance out if one baby ate less last time, so she gets more attention this time. Having 2 babies at home definitely, requires 3 people’s attention. We also share the day to take some of the feeding hours to be done by one person. I usually take nights and when it’s my turn, I don’t have anybody up to ask what they ate last time. Same thing for my wife and my mother in law when they wake up and I go to bed and it’s time to feed the babies.

I created a solution to stick one of the old tablets to the wall and create a mini-app to log and see the last 4-5 feed logs. So everytime someone feeds the babies, they simply click 2-3 times to log exact amount for each baby.

I wanted to write a react js app to practice react a native little bit more and also have native animations but I found myself losing in “perfect” routing and modulation of the UI which I dropped and wrote a web app in half an hour. I pretty much created a front-end only app that triggers webhooks and implements some proxy APIs to public services to pull some more helpful information for our home life (like clock, weather, brief forecast, a background slideshow of black/white photos from Flickr). Here is how the tablet screens look like. Of course, I’m using a full-screen web view wrapper app to display these in a more kiosk-like way.

Then I let bitbucket to host it without worrying about deployment, hosting etc…

Who has a spare tablet?

Well, we’re trashing more tech gadgets than ever. You may have an old android tablet or iPad or you may not. There are 2 super cheap ways to do this.

Amazon kindle fire tablets are getting bought-from-china level of low costs and Amazon keeps having sales to boost to uses of kindle fire tablets. Having Kindle fire tablet 7 is often as low as $35 to own one. To be honest, it can’t get cheaper than this.

Another way is to look on eBay to get a used one for a low cost but I can’t imagine if it will be cheaper than getting brand new kindle fire tablet. Maybe the last option can be looking at cheap android tablets that go cheaper (on aliexpress).

Tablet on the wall, Ough?

Sticking a tablet on the wall is not my way of doing this. So I hacked an IKEA frame to embed tablet screen with a black canvas cardboard and hide the tablet.

I was very skeptical about styluses for many years, especially over a screen. Closest thing was Wacom’s Cintiq and that was a giant monitor. The reason that styluses weren’t compelling is because they were laggy and never felt great to draw on screen.

Even with Apple pencil, it is still not great. But very very close. I owned pretty much all iPad models and versions from the very first release (I got a limited edition back then). And I’ve used Apple Pencil from it’s first debut but wasn’t convinced and also rejected the new gadget because it wasn’t Steve Jobs way. But I can totally understand it’s value from the educational standpoint – not art (at least not yet). The first release wasn’t necessarily laggy but you can definitely feel it’s tech side of it. There is only one thing you’re looking at a pencil, and that is the feeling has to be real because you’re dragging a pointer on a virtual paper.

With the latest iPad Pro 10” version, with screen refresh rate going much faster, now you can definitely feel it’s very very close. With the software support and not being paranoid about hand touching screen while writing or drawing, it definitely gets very close to the real thing. Unfortunately I’m still seeing many of the drawing and note taking apps are having the lag it had from 60 refresh rate old screen. I don’t know why it still has that.

Notability is the one app that I’m feeling very comfortable to draw and create stuff with it. My use cases are still a lot of ideation, super low fidelity wireframing, some planning work. I love the output feels truely non-techy creation but it is in fact a digital creation.

Sometimes we udnerestimate the value of not having boundaries when we think. Even including the requirement of typing our ideas or words on a keyboard being a restriction to our mind. I started this back-transformation with using more and more moleskines than taking notes on my phone.

I like Notability app because it’s very simple and plain app with few extra features that I like. You can link your dropbox, google drive accounts to backup all notes in PDF format that becomes very handy when you want to draw some stuff and open in your computer very quickly.