James Koole

Many-time marathoner living in Toronto, Canada. Ottawa Marathon Team Awesome team member in 2015 and 2016. Scotiabank Toronto Waterfront Marathon Digital Champion in 2016.

Roadmap vs. Roadtrip

A recent episode of Under the Radar with Marco Arment and David Smith got me thinking some more about planning for the 2020 year as a Product Manager and how to approach that when you have different challenges.

We’re really short on resources at the moment for various reasons, and that has a significant impact on my ability to plan out the year. We also depend a lot on teams across other areas in the bigger company which means I have little or no control over when (and even if) related blocker work gets done that allows us to do our work.

Sounds awesome, right? It’s not.

A lot of PMs and companies have a roadmap for the next few months and probably as long as a year or more. I can’t think that way as there’s no real solid ??? that we can get on a journey and get there thanks to the various challenges outlined above.

So instead of a roadmap, I’ve come to think in terms of a road trip. The difference is that a road trip is more of a general idea of where we’d like to head, than a real defined plan of where we are going.

When you embark on a road trip, you might have a theme or themes that guide you to what the whole point of it might be. Perhaps you plan to camp in various State Parks in NY and PA, visiting gorges and glens and other natural wonders.

The theme of that road trip is one of seeing nature’s wonders, specifically those around rivers. You might have a side theme of “small town America” and perhaps even something like a plan to hit tourist traps like scenic caves or other tacky “wonders” as you see them.

With a road map, you tend to stick to highways an have a path from A to B. With a road trip, the plan is less defined, but over the course of the next few months or a year, you know generally where you’d like to go and what you’d like to see.

As a PM, that means we might have themes like “better serve our large customers” or “add tools to make managing DNS easier” or “reduce support costs with better inline help”.

Throughout the year you can be opportunistic and tackle some things that relate to each theme as they come up. Just like in a road trip, you might be “freestyling” a bit here and there. Perhaps you get the resources to do a specific task for a week or three and you can jump on it and get it (or part of it) done.

Maybe a series of small bits of work can be bundled over time to equal one big piece.

The key is to have a big picture in mind, to be flexible and agile, and to always know how each bit of work that you get done can fit into the bigger set of goals to keep things moving forward.

On Outrage Culture

It’s really, really out of control. Social media and smartphones plus a 24 hour news cycle that needs to manufacture breaking news to hold viewer attention (to keep the ad dollars rolling in) is the cause. Opt out. Seriously.

“This is the current pitch of outrage culture, where voicing an opinion someone says she sees as a threat qualifies you for instant annihilation, no questions asked. Why ask questions, when it’s more expedient, maybe more kickass, to turn anything you might disagree with into an emergency?”

Nancy Rommelmann

De-Centralizing DNS

The internet is not supposed to have single points of failure or massive companies that control vast swaths of pages, or websites.

I’ve been actively de-centralizing my online presences of late and the last step was to leave Cloudflare and spread my DNS around a couple of different places. Obviously, a bunch of my sites rely on Hover’s DNS since I work there, and my domains are managed there. But not all of them use Hover. In a couple of cases, it’s easier to use a different provider.

The reason I don’t like Cloudflare is that it’s clear they are attempting to use their size (and the fact they offer a free service) to try and become a dominant DNS provider. Basically, the Facebook or Google of DNS. Not good.

They control way too much and have far too much access to data about sites people visit. Better to rely on DNS providers that are solely interested in offering DNS services vs. trying to profit from data gathering.

Opting Out Update

It’s a long process, but pulling away from so-called “social media” platforms and moving to posting content on domains and sites I own has been going well. Part of this move has included moving away from ad-supported, privacy-hostile services entirely (where possible).

I started by deleting much of the content I had put on these services over the years. 50,000 tweets, thousands and thousands of Facebook posts, pics and updates, and many hundreds and hundreds of Instagram photos.

GDPR-related emails about privacy (sic) policy updates provided a nice reminder of some other services I had signed up for over the years and I deleted dozens of accounts over the past few weeks.

Instagram’s new content exporter combined with Micro.blog’s importer was a nice surprise that allowed me to bring over the last couple of years of Instagram photos to my own blog.

For Facebook, I used various scripts and some tedious manual work to delete everything I’d ever posted to that service. I also untagged myself from photos and posts that “friends” had tagged me on. Did I get everything? Probably not…so eventually I’ll need to fully delete my account. So far I’ve just deactivated it.

Since deactivating Facebook a few weeks ago, I’ve noticed the following:

  1. I’m using iMessage or SMS to talk to friends far more often. And they reply. It’s lovely.
  2. I don’t miss anything about Facebook except seeing pics posted by friends at events we were both at. I solved this by asking them to iMessage or SMS me any pics instead.

I plan to keep my Twitter account around, along with Tweetbot (as long as it still works). The same goes for Instagram and the Instagram app on my iPhone.

Both Twitter and Instagram are handy for tracking things like breaking news, transit disruptions or to get information on events I am attending (like the Vancouver Marathon). It’s unfortunate that Twitter became the de facto way to do one-to-many communications over the years. A decentralized, open standard like RSS would have been so much better.

I mostly wish that our local transit service (Toronto Transit Commission) provided service distruptions and updates via RSS. They have RSS updates for planned disruptions and changes, but not the more useful “live” updates. On my iPhone, the Transit app does a nice job of passing these along through notifications.

For following news or blogs, I’ve returned to RSS and I’m using Feedwrangler and Unread on iSO and Reeder on macOS. News is tough because it’s not well curated – I get literally all the stories from my local newspaper instead of having top stories, or some sort of categorization. Perhaps there’s a solution for that out there.

More to come…


Open Web FTW!

The power of open APIs and standards means that my Instagram photos that used to be locked up in that service are now being uploaded to my own blog. Thanks to Manton Reece at Micro.blog for building the awesome tool that takes an Instagram export and easily uploads it to a WordPress blog.

GDPR was the reason Instagram was forced to make a way to export data from their service and I’m sure they though it would be funny to give users a zip file with a bunch of JSON data and the photos. Big mistake! They might as well have given open access to the API since that’s what this ZIP file basically provides.

I’m super happy to have my photos here now, posted with the original caption and properly time and date stamped.


Optimize for Time Spent

I saw Paul Ford speak in 2014 at XOXO Fest in Portland and it was most excellent. This piece he wrote about time really resonated with me when I read it this morning. Thanks to @jamesshelley for sharing it on micro.blog today.

In everything we do at Hover at a product level, we’re really trying to optimize for time spent. What’s the least amount of time we can take from our customers and get them on their way?

Every second that a customer is spending trying to get their domain setup, or dealing with a DNS outage, or trying to get a password reset or even finding a good domain name is a second they aren’t spending doing the stuff that really matters to them.

If we’re a speed bump in the road that prevents someone from getting their business up and running today, or painting a great picture, or putting a new roof on someone’s house, then we’re not doing our jobs well enough.

But I’ve wasted enough of your time…

p.s. You can also watch that XOXO talk on Youtube if you have 18 minutes and 54 seconds of time to spare. I have no idea how many heartbeats that is for you, but for me that’s about 850.

Getting Back to an Independent Web

This is the second iteration of a post I’ve been working on that might eventually live on the blog at Hover. Comments and feedback are welcome!

I first got on the internet back in 1994. Back then it was a far different world than the one we live in today. To get online, I first grabbed a copy of The Computer Paper and flipped to the backpage where there were listings from dozens and dozens of dial-up internet service providers (ISPs) in the Toronto area.

I picked one from the list, called them up and got an account. $19.95/month for 28.8kbps dial-up. About a week later a floppy disk showed up in the mail (seriously) with the software I needed to get my Windows 3.1 computer online.

Within a couple of years I started maintaining my own website. I hand-coded it using Netscape Composer (downloaded from TUCOWS) and it was all hosted at http://www.interlog.com/~jkoole which was the little bit of space dial-up providers often gave each user. That URL no longer works because Interlog is long gone, but a little piece of that site lives on through to the present day in the form of a list of links to sites I visit regularly that’s part of my current little hand-coded personal website.

A place to call my own

Sometime around 1997, I decided I needed to have my own place online. I had switched to use a wonderful new technology called the cable modem that was offered by our cable provider Rogers. I went from 33.6kbps dial-up to speeds of 1Mb/s on Rogers Wave. Incredible! But my website at my dial-up provider was now gone since I cancelled my service with them and I needed to put it somewhere else.

This was my very first lesson in data portability. Of course, since my site was just a bunch of static HTML files, it wasn’t hard to move it from one host to another. But the URL change meant that I had lost all the equity I’d built up as many of my friends and family had been using my little portal as their homepage too.

So I did some research (online, of course) and registered my very first domain name – jameskoole.ca. I signed up for hosting from a small provider out in New Brunswick, Canada who ran a hosting business out of his home using a server at a colocation facility. My awesome website was back online and this time I wasn’t just renting a space online. Having my own domain name meant I was in control from now on.

Over the years I continued to work on my website. I posted updates about my life and started uploading my vacation photos to share with friends using gallery software. Then the blogging craze started and I moved first to Movable Type and then in 2003 I switched to a cool, open source content management system called WordPress (version 0.7) which is what I still use today (no, not version 0.7). Over that time, I used many different web hosts depending on my needs and budget. Switching around was easy because I could just dump out my content and move it to the new host, re-point the DNS and it all just worked.

Things like blogrolls, comments and trackbacks came along and allowed bloggers and content creators like me to interlink to each other in small (and large) networks. I made friends, shared opinions and read what others had to say. It was fun and it all worked nicely.

And then came Facebook.

Trust us! We’ve got you covered

Don’t bother getting your own domain name and building your own site, they said. Get on Facebook, find your friends and start posting, they said. We’ll take care of the rest, they said. Photos? Upload them to us. Events? We can help with that. Groups? Check. And it’s all free! Yeah, you’ll see some ads, but they’ll be relevant to you. So they are good ads!

Find-us-on-Facebook-signBusinesses went all in too. TV ads and billboards started showing Facebook URLs instead of domain names. Facebook stickers started appearing on storefront windows.

Facebook was everywhere and everyone was getting on Facebook.

We all got lazy

Fast forward to the present day, and we’re starting to see some of the horribly negative consequences of putting our content and effort into ad-supported services run by tech giants.

We’ve lost control of our data, our privacy and maybe even our society. Facebook has collected so much data about us that we can’t even comprehend it anymore. Based on Mr. Zuckerberg’s testimony in front of US Senate and Congressional Committees recently it seems obvious that even Facebook itself doesn’t have a good handle on what they are doing and the monster they’ve created.

It’s our own fault, really. The truth is that we all got lazy and complacent. Facebook, Twitter, Flickr, Google, Blogger and others came along and recognized an opportunity. They gave us easy solutions to getting online and we took them up on their offers.

But our usage and reliance on these services came with consequences that we failed to consider when we abandoned the “good old ways” of the early internet. We scoffed at those early pioneers who told us we would be better off using the open standards they had created.

It used to be important to own our content and ensure it was portable. Then Facebook and Twitter came along and promised to make it all so easy. The only downside was we no longer fully controlled our own content, and we used their domain names and drove traffic to their sites. Sure, you can always download your data and…well…you can look at it? Sort of?

On top of all of that, we were also forced to “trade” every single bit of data about ourselves that these services could take from us including everything we did, read and looked at away from their services.

It’s time we go back to the good old days

The time has come to take back the web and go back to how things used to work. It’s really not all that complicated and lots of people have already been doing this for many years.

All the tools exist. Here’s what you do:

  1. Get a domain name and a website to forms the core identity for each person who wants to create and share online. Maybe that’s a WordPress blog, or a Micro.blog site, a Squarespace site, a Ghost blog, a hand-coded website hosted on GitHub or even served up locally from your own computer. But be careful what you pick! Make sure whatever service you choose has true data portability and offers the ability to host at your own domain and not theirs. Pro-tip: if it’s ad-supported and “free” then it’s likely not going to be a good choice.
  2. Use syndication to enable sharing and discover-ability. Once you are up and publishing, there’s no reason you can’t syndicate it to other places. Really Simple Syndication (RSS) is the answer. It has existed for a long, long time and works really well. There are lots of clients around still and pretty much every decent content management system (CMS) generates standard RSS feeds.
  3. Use comments and trackbacks to interconnect and facilitate discussion. Remember comments? That’s what we used to do before Twitter and Facebook came along. If you read a blog post and want to comment, do it. If you have a lot to say, write a post of your own and link back to the original. Keep a list of the other sites and blogs you like and read on your website so others can discover them too.

My efforts to take back the web

Here’s what I’m doing to make this a reality. Many others are also either making the switch back to an independent internet, or never stopped doing it this way.

I publish everything on my own site and domain name first. I use WordPress.com for this because they offer true portability and a system I’m very familiar with at a low cost, but there are a ton of good content management systems that would work fine. As long as there is an RSS feed, you are good to go.

I can post short “status updates” that are basically tweets, or longer posts and even photos and videos. I can use the web to post, or a number of different apps on my mobile phone or tablet that can post to WordPress using their open standards. I can make pages that act as my resume or profile and I can link out to any other places online that I want to.

Most of the time I post first on my own website and then the magic all happens. Remember that owning and controlling your content at your own domain doesn’t mean you have to stop using other services. You own and control it!

In my case, I’ve stopped posting to Twitter, Facebook and Instagram because I don’t think the privacy trade off is in line with the limited value they provide, but if you have audiences or friends there, then tools exist to continue to post out to those services. The key is to include links back to your site at your domain, and to avoid driving traffic to a domain you don’t own or control.

This is referred to as Publish (on) Own Site, Syndicate Everywhere (POSSE) and there are a number of great ways to accomplish this. A neat little service I use called Micro.blog does a great job syndicating your posts out to a good list of services including Facebook and Twitter. Instagram is trickier because they are the least open of the major social networks, but it’s possible to syndicate using OwnYourGram if you must use their service. IFTTT can also take an RSS feed and push out posts to other services fairly easily.

The IndieWeb is alive and well

As you might expect, there are tons of people who are working to create and share the tools that make all this possible for the average person. And it all starts with a domain name.

At Hover, where I work, we’re big fans of a open and independent web and we’ve built smart tools into Hover that help you connect your domain name to whatever service you want. If you change your mind about whatever tool you use, it’s easy to switch and keep your content at your own domain forever. And even if you change your mind about Hover, getting your auth code and transferring your domain to another registrar is simple.

Once you have a domain name, you need a way to get a site online. That could be a simple WordPress site using WordPress.com or self-hosted using a relatively inexpensive shared hosting plan. Or you can use Micro.blog which is a nice, easy to understand way to publish short posts (just like Tweets or Facebook status updates) that you control. Just make sure whatever service you choose values an open and independent web and supports using a custom domain that you own.

Get Involved

The IndieWeb organization is dedicated to maintaining independent internet publishers and creators. They have a ton of information and even tools that help creators take advantage of what the internet can offer without selling out and giving up control of their content to companies and services that are far more interested in monetizing your personal data than helping you share ideas. Check them out and get involved.

It takes a little time and effort, but in the end, it’s more than worth it to own your content and be in control of what and where you publish the stuff you create.

How I Am Keeping My Content in My Control

I’m mostly documenting this for myself, but if it helps someone else, that’s great! This is also a work in progress.

The centre of my online world is a WordPress install using the domain jameskoole.com. That site is hosted by Siteground at the moment, but because it’s WordPress, I can move it around as needed.

I’m using the theme Independent Publisher 2 which looks nice for short posts and is free. I’ve done some limited customization via CSS.

WordPress has a few plugins installed to make my life easier.
* Jetpack: mostly for Markdown support and also to make it easy to post from the WordPress app on iOS.
* JSON Feed: creates a JSON feed that micro.blog consumes in addition to the usual RSS feed.
* Really Simple SSL: the best way to get SSL support in WordPress (along with a cert from Let’s Encrypt that is all handled by Siteground in cPanel).
* Markdown Editor: a nice replacement for the post editor in WordPress that has Markdown syntax highlighting and support.
* Insert Headers and Footers: an easy way to add “rel” links to the header to identify other sites you control.

I write most of my posts in WordPress, although I can also post from the micro.blog iOS app, or the WordPress iOS app. Once posted, they spread out via the JSON feed to micro.blog which posts them to my timeline there.

Posts get tweeted via micro.blog which has an API integration that works very nicely. You have to pay for the $2/month plan, but I’m, happy to support the service. Another option is to use IFTTT.com and the RSS to Twitter recipe.

Instagram is complicated because they suck and don’t have an API that allows posting. Currently I post to Instagram natively, and then I use the Sunlit iOS app to manually report that picture to Sunlit which really just posts it to my WordPress blog (and micro.blog via the JSON feed). That also posts to Twitter, although I can exclude those if I wanted to.

I tried OwnYourGram for a short time to automate all this and it worked okay. The biggest downside is that the cross-posting from Instagram to everything else can be delayed by hours and hours depending on polling times. I’d rather just manually repost to Sunlit so I’m in control.