Allen Pike 2016-08-01T02:28:54-07:00 Allen Pike New Here 2016-07-31T22:00:00-07:00 Allen Pike <p>On July 11, we welcomed Elizabeth Pike into our family. She weighed only 4.6 lbs, most of which was cheek. She was rather early and very small, so we spent our first week with her in the hospital, where she fuelled up on the world’s tiniest IV.</p> <p><img style='max-width: 100%' src="/images/2016/ellie-iv.jpg" /></p> <p>Over that first week she graduated to the world’s tiniest feeding tube, then to feeding all on her own. By day 6, she could eat an entire 37 millilitres at once! I was rather proud of that. Admittedly, her accomplishment was drinking less than a shot glass worth of tepid milk. Still, those moments, those celebrations of tiny things, they knit your heart in love very quickly. The tiny firsts of a tiny life.</p> <p>While I say that Ellie is tiny, most people haven’t met a baby that is quite so small. By her second day, she was down to 4.3 pounds. While such a weight isn’t incredibly rare, babies her size don’t exactly crawl down the street every day. As such, it can be difficult to put her smallness into context for friends and family. 4.3 lbs is less than a two litre carton of milk. She’s too small for any baby carrier or “convertible” car seat. Newborn diapers are huge on her, which is not exactly a desirable attribute in diapers. Preemie sized diapers exist, but are difficult to find on short notice, which is also not a desirable attribute in diapers.</p> <p>So, Ellie is pretty small. (Banana for scale.)</p> <p><img style='max-width: 100%' src="/images/2016/ellie-banana.jpg" /></p> <p>While being so thin and light makes Ellie the most pocketable Pike yet, it dramatically limits her battery life. Her desire to sleep for hours uninterrupted is mostly delightful, but with a stomach smaller than an egg, it means she runs out of food to digest before she wakes. As such, in order to keep her growing, we’ve been instructed to wake her and feed her every 3 hours, day and night.</p> <p>Since she’s not yet strong enough to breastfeed for the entire feed, this feeding ritual takes 1 to 2 hours. We change, breastfeed, burp, bottle feed, pump, clean, burp, and – often – change again. Once that’s done, we can put her down for an hour before the wheel rolls ‘round again. Where the week was once broken into 24 hour cycles, it is now made of 3 hour cycles.</p> <p>Raising a baby, I’ve found, makes one more aware of time. In addition to feeding time 8-10 times a day, babies also need bath time, tummy time, bare-butt time, skin-to-skin time, vitamin-d-drop time, and a variety of other times as per the instruction manual that comes with every baby. While these rituals can be quite satisfying, they add up to rather a lot of time.</p> <p>New parents often ask rhetorically, “What did I do with all my time before the baby came?” While reallocation of time would be a simple explanation for all this newfound time, my sense has been that having a baby has <em>created</em> time. I have observed, since her arrival, entirely new hours in the day. This “time dilation” effect seems to occur after the end of each day, before the start of the next. I previously had not perceived these hours, but it turns out they can be used for a range of activities, as long as those activities involve putting milk into a baby.</p> <p>And perhaps, on occasion – when everybody else is sleeping – a bit of writing.</p> Organizational Size Classes 2016-06-30T18:00:00-07:00 Allen Pike <p>The best thing about organizations is that they are made of people. However, just as more money causes more problems, so it is with people. In fact, the number of people in an organization may be the most important signal in understanding how it thinks and acts.</p> <p>For example, there’s a huge transition when a company grows beyond <a href="">Dunbar’s number</a>, since when a company grows beyond 150 people, it effectively splits into multiple organizations. The other big discontinuity in how a company works – the one that’s more interesting to me due to it currently staring me in the face – happens around 15 people.</p> <p><img style='max-width: 100%' src="/images/2016/steamclock-office-banner.jpg" /></p> <p>You see, a small company is a thing of beauty. Everybody is on the same page. You know what each other are up to, you know how each other think, and everyone being in the same Slack channel doesn’t drive you bananas. You can have lunch together. You don’t have teams, managers, direct reports, and you certainly don’t have departments. You just have folks doing stuff, with maybe one or two people coordinating, and it’s great.</p> <p>I have a lot of love for small, flat teams, and when we started Steamclock six years ago the idea was to build the best small team in Vancouver. My love for indie software companies has always been intertwined with my love for small teams. The idea of every employee actually designing or developing software is delightful.</p> <p>Unfortunately though, a leader can only directly lead a certain number of people. Much beyond 10, and things start to fall through the cracks. The team gets out of sync and people don’t get the support they need. In a one-level team you can often stretch it to 15, but at that point there are two main solutions: stop growing, or start adopting some sort of management structure.</p> <p>Growth wasn’t a goal when we started Steamclock. The fact that we’re at 12 people still seems odd to me some days. One thing I’ve learned over the years, though, is that while overly aggressive growth is dangerous, stagnancy can be too. Specifically, growth opens opportunities for your people to grow with your company rather than outgrow it. While the most important aspect of this is retaining employees, the same goes for founders. In retrospect, I think that the slow ramp in challenge in my job as we’ve grown is what’s kept me engaged and enjoying this job longer than any I’ve ever had.</p> <p>Yet now that <a href="">Pikelet</a> is fast approaching, I’ve been spending a lot of time thinking about how the company is going to roll while I’m on parental leave. It turns out, too often I’ve been the bottleneck to a given project or process, often for no good reason. Where at 5 people it felt like the team was accelerating me, at 12 people it’s sometimes felt like I’m slowing them down.</p> <p>So, more and more, I’ve been working consciously to push information, trust, and authority to the team. When somebody asks me a question where the answer is clear, I try not to just answer it, but <a href="">spread the philosophy behind the answer</a>. When somebody asks for information or access that only I have, I think about how to open that up. I’m constantly looking for ways to not be a bottleneck or switchboard. Years ago if I saw two people collaborating on something that I didn’t know about, it would make me uncomfortable – now it makes me proud.</p> <p>Now, despite these efforts, if we grow larger than 15 or 20, then we’re probably going to need some sort of management structure. This still weirds me out, but increasingly, I can see it working really well. I’ve had some great managers in my career, and I’ve seen how they can provide support, give feedback, help define the mission, and bring attention to problems before shit gets real. Ideally, then, I can work increasingly <a href="">on the business, rather than just in it</a>.</p> <p>And, you know, raise a baby.</p> Too Many Slacks 2016-05-11T18:00:00-07:00 Allen Pike <p><img style='max-width: 100%' src="/images/2016/slack-signin.png" style="width:310px" /></p> <p>We all know the frustration. You’re invited to collaborate with a new team or group. You’re excited to get going, your mind filling with possibilities, when <strong>thwack</strong>. You’re hit with a signup form. Not only are you forced to create a new account, you now need to keep track of one more set of credentials, forcing you to fight to stay logged in to one more thing across your array of devices.</p> <p>Thankfully, Slack just introduced a new feature called “<a href="">Sign in with Slack</a>”. Similarly to Facebook or Twitter authentication, this new feature lets you simply log in to the apps you use for work using your Slack login. You know, your one Slack login. The single one you have, since having more than one Slack login would make this really confusing.</p> <h2 id="welcome-to-slack">Welcome to Slack!</h2> <p>Since October 2014, I have been invited to 19 Slack teams. In addition to the main Steamclock Slack account I use day to day, I have Slack accounts for 5 conferences, 5 developer groups, and 9 clients. Due to the nature of my work and the ever-growing popularity of Slack, I’m now invited to a new Slack on a monthly basis.</p> <p>For each account, I have a username, a password, an avatar, an unread badge, and a helpful red dot telling me what features are new in Slack. Each team takes up time, attention, and a couple hundred megabytes of memory.</p> <p>As such, every time I set up an iPhone, iPad, or Mac, I need to evaluate how many Slacks it’s worth logging in to. 5? 10? Certainly not 19. Over time I’ve gone inactive in more and more social Slacks, which is a shame because some of them I really enjoy, but it’s just too much to juggle.</p> <p>So Slack is a really powerful tool for those of us who collaborate across a lot of teams, and it’s well known that they <a href="">have a problem with account management</a>. More interesting to me is why they let it get this bad, and whether or not they’re going to fix it.</p> <h2 id="july7yardsaleslackcom"></h2> <p>Architecturally, every Slack team is separate. It is on an entirely separate subdomain, and it shares no data with any other Slack team. This is wonderful – for Slack. This separation means each team is its own scalability island, and it can be put on any server, running any version of the software, in any A/B test or custom group, and can completely ignore the now-staggering number of other Slack teams. Siloed clusters of accounts are much easier to scale than a giant interconnected graph, and when you’re growing as crazy fast as Slack has been, scalability is good.</p> <p>An even bigger of advantage of Slack teams being siloed is that enterprise customers have very specific expectations around their data. These customers are willing to pay a lot to control very specific things about how authentication and data storage behaves for their users. If a Very Important Enterprise Customer needs some crazy security feature, or even (god forbid) wants an on-premise install (gasps of terror from the audience, foreboding sound effect plays) then their team can easily be sliced off and put onto a separate server. Meanwhile, a different enterprise customer may require that their users use two-factor auth, or that their usernames must fit a certain format, or that users are immediately logged out if they blaspheme <a href="">Ha’atu the All-Seeing</a>.</p> <p>In this vein, the folks at Slack have been hard at work building out an array of authentication and account features for enterprises. In fact, Slack already supports single sign-on – just not the kind that we want. “Plus” accounts can now <a href="">use SAML</a> to enable signing into Slack at the same time as an enterprise’s other web apps using a set of credentials that the company controls.</p> <p>Slack is also getting ready to launch a set of <a href="">long-anticipated enterprise features</a> centered around security and administration. While you and I may not get out of bed in the morning craving some hot fresh data retention and compliance policies, Slack’s pricing page has pencilled in $32/user/mo as the price for these highly-desired features. Considering that companies need to get quite large before they even know these buzzwords let alone want them, these new customers should be incredibly profitable for Slack.</p> <p>Meanwhile, we freeloaders are whinging about having to juggle our 27 free Slack teams.</p> <h2 id="thanks-for-your-feedback">Thanks for your feedback</h2> <p>So, we know why the problem exists, and why it hasn’t been fixed yet, but the key question remains: are they going to fix it anytime soon? Do we just wait out the chaos, or do we start evaluating alternatives, even just for the conferences-and-networking use cases that are exacerbating this Slacksplosion?</p> <p>Clearly, fixing something like authentication retroactively is a ton of work. A change like this requires rearchitecture, serious scaling preparation, and a heavy dose of migration. It took years from Basecamp’s launch until they <a href="">finally launched a system-wide account system</a>, and at that point they still hadn’t reached the scale that Slack already enjoys after less than three years.</p> <p>That being said, the folks who work at Slack give a shit about this kind of UX problem, even if those of us on Free and Standard teams don’t generate as much growth juice as a the Enterprise whales do. They’re aware of the pain, as we can see in the toil of the SlackHQ Twitter account.</p> <blockquote> <p>Oh and setting up 2-factor auth EIGHT TIMES as well. Seriously @SlackHQ how about some consolidation here?</p> </blockquote> <blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr"><a href="">@kronda</a> Sorry! 😞 Accounts are all kept separate for now, but we hope to improve the experience in future (and hoping never to do it again)</p>&mdash; Slack (@SlackHQ) <a href="">March 27, 2015</a></blockquote> <script async="" src="//" charset="utf-8"></script> <p>While feeling bad about it was a good start, by this March their tone <a href="">had become more guarded</a>:</p> <blockquote> <p>Hey @SlackHQ, how’s it coming with single-sign-on for many accounts?</p> </blockquote> <blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr"><a href="">@designatednerd</a> <a href="">@corvino</a> We&#39;ve no near-term plans yet but we understand the usefulness! It&#39;s something to think about <span style="font-size: 28px; position: relative; top: 3px">🍮</span></p>&mdash; Slack (@SlackHQ) <a href="">March 19, 2016</a></blockquote> <script async="" src="//" charset="utf-8"></script> <p>While we can all agree on the creamy appeal of CUSTARD (U+1F36E), the phrase “no near-term plans” sounds pretty clear. The juggling will continue until morale improves.</p> <h2 id="and-yet">And yet…</h2> <p>Even if unified sign-in is a dream for now, there are a few intermediate things Slack could do to make working across teams less painful. At <a href="">Slack’s roadmap event in March</a>, they announced that they’re working on a feature called Shared Channels. The idea here is that teams will be able to share a channel between them, a more native and capable version of <a href="">Slackline</a>. This would be an A+ slam dunk for me, since this would eliminate the need for me to be in 8 of the client Slack teams I’m part of.</p> <p>Although it’s likely not part of the initial vision for their Shared Channels feature, an evolution of it could further reduce the unnecessary proliferation of social and conference Slack teams, since most of them fundamentally only need one channel. Occasionally a social group or conference can justify a variety of channels (the XOXO Slack did a surprisingly good job of this) but most of the time, what people creating a social Slack team need is a single channel to chat with an ad-hoc group. In essence, an IRC channel for the 21st century.</p> <p>I for one would be happy to pay Slack on top of what we pay for Steamclock’s team to create a personal team if it would let me consolidate a number of Shared Channels: XOXO, Úll, VanCocoa, &amp;you, Rands Leadership, WWDC, and so on. Since this is a perversion of Slack’s concept of a team it would need further product design work, but it could be simpler to implement than full single sign-on and would reduce the overbearing feeling you get when you context-switch into a social slack. More often than not, to justify the existence of an entire team, an optimistic admin has created two dozen channels, only one of which contains the real conversation, while the other 11 are perpetually marked unread by an ill-advised zombie bot that posts in the channel every six seconds when somebody mentions the word “Swift” on Twitter.</p> <p><img style='max-width: 100%' src="/images/2016/slack-accounts.png" style="width:300px" /></p> <p>The other ray of light comes from our new friend, “Sign in with Slack.” While testing out the feature on the shared channel tool Slackline, I was pleasantly surprised to see a team chooser. This is, as far as I know, the first product feature Slack has launched that shows centralized access to your teams. While it’s disconcerting that I may one day may need this to figure out which of my many Slack teams I associated with some web service, it’s great to see acknowledgement from Slack, not just in their support tweets but in their product, that this is a real problem they need to solve.</p> <p>While I feel strongly about this UX problem, I know that there are a lot of pieces in play and fixing it after the fact is fraught with tradeoffs and costs. It’s a tough issue, and there’s a lot to it. As such, if you work at Slack, I’d be willing to chat in more detail about this issue. Just get in touch, and I’d be happy to invite you to the brand new Slack team I’ve created for it.</p>