I’m Teaching a Half Day iOS Refactoring Workshop in July

When I re-entered the self-employed world last March and launched Zorn Labs LLC one of my main goals was to find a way to continue my education work. The first output of this effort has been workshops, specifically one on Refactoring iOS.

I’ve developed and taught the workshop for a local development studio Tonic Design and am now going to run it publicly.

iOS Refactoring Workshop

Throwing away bad code and writing something new from scratch is both risky and expensive. You need to avoid this temptation and instead learn to master small improvements over time.

Refactoring is the art of improving code without changing user behavior. Adding dedicated refactoring time to your workflow and sprints can pay for itself many times over in both added source code flexibility and application stability.

In this workshop we will review refactoring concepts from a high level and then explore example cases found in many iOS projects. As a group we’ll refactor and discuss the benefits of our changes. We’ll then work on our own (or in pairs) to execute what we’ve learned and then demonstrate the results for the class.

This workshop is targeted at those iOS developers who are getting over the hump of learning iOS and now want to know how to write higher quality iOS code. This workshop is capped at 12 people to make sure there is plenty of time for questions and individual attention.

Tickets for the half day workshop cost $189.00 even (we take care of all the ticketing fees). For more information on the agenda, see the event page.

Local performances of this workshop (and others in development) are available for corporate purchase. Contact us for more information.

Meet OwlDeck, a New Mac Presentation App for Programmers and Markdown Geeks.

Today I’m launching the teaser site for my new app, OwlDeck.

OwlDeck is a new macOS presentation tool for programmers and geeks who need to display code and love Markdown.

If you are interested in OwlDeck I’d love for you to signup to its newsletter and email me your thoughts.

If you are interested in some behinds the scene stuff you can checkout the project journal I’ve been keeping over at Rested Experience. I hope to share more now that things are going public and timelines are set.

Really excited to be working on products again. :)

Introducing Zorn Labs LLC

As I alluded to after loosing my job at the end of January, I knew I’d take the majority of February to recover from my neck surgery and then get serious about work in March. We’ll it’s almost the end of March so I figured I’d do an update.

First, welcome Zorn Labs LLC, my new company. It will house my future consulting and product work.

Second, I am still looking for work. My goal is to find something 10-30 hours a week, doing iOS or iOS mentoring. To help express my skill set and goals I’ll point you to the new company site. I would appreciate all friends and followers to help spread the word.

Outside of setting up the new business and website, much of March has been spent towards marketing and planning. I had many lunches and coffees with prospects and friends. I even had a few offers but they sadly weren’t the right fit for me at this time. When I haven’t been marketing I’ve been trying to jumpstart some new web skills, refreshing my HTML5/CSS3 knowledge, getting deeper into Hugo template design for the new Philly CocoaHead website, and experimenting with Elixir and Phoenix.

For those interested in my Mac app project, you can also check out my project journal blog at: http://restedexperience.com. I’ve been trying to update that a little more often with my recent progress.

So that’s my March update. Thanks for the interest! More to come in April! :)

“For the times they are a-changing”

I am no longer an employee of Big Nerd Ranch. The news came down on Monday. I can’t speak to any of the details but suffice to say I am disappointed. I really enjoyed working at BNR. My time there was productive, for my own personal growth as well as that of my students and clients. I wish them well, and continue to recommend them as a good source for iOS education.

So, what’s next for me?

On the immediate horizon, I’m a bit focused on my neck surgery, which is on Feb 10th. Its been scheduled since November. The goal is to remove a large cyst on the back of my neck. I will be put under for this surgery, so tomorrow I have to get a bunch of blood work and X-rays done.

For work, I open to ideas. Generally speaking I’m unlikely to make long term plans and would probably prefer to take on some smaller consulting work. I’d like to steep a bit on my long term options. If you have anyone who might be in need for an experienced iOS or Mac developer, let me know. Thanks for your help.

Accessibility

At the Apple event a few weeks ago they began with a short video on accessibility.

I’ve learned a lot about accessibility on iOS over the last few years. Apple’s products are some of the most accessible in the world and for all the frustrations I have with Apple, this is definitely one of the high points I’m proud of.

I was also really pleased to see our own Philly CocoaHeads give accessibility some attention at a recent Side Project Saturday event. A group of people worked on improving the accessibility of the Wikipedia iOS app.

Group of Programmers using Voice Over on iPhone

Anyways, I think the time is right for development agencies and indy consultants to put accessibility front and center. For them to say loud and proud, any app you hire us to build will have some basic level of accessibility.

Some people whom I bounced this idea off of thought it would be bad for sales. Maybe. But these are the probably the same clients who question code review because they think it is a similar waste of money. At the end of the day we all have have some level of standards onto which we execute our craft. People hire us because they can’t build software. They need us to point them in the right direction.

Somewhere out there, a construction agency is in a discussion whether or not to add a wheelchair ramp to the current project. Some people will add it because it’s required by law, others will add it because it’s the right thing to do.

The software industry moves incredibly fast, maybe even too fast. We don’t have regulations and inspectors like other industries. We have to regulate ourselves. The tools to improve access for our creations are ready. They work really well. They sit there, waiting for us to use them.


I don’t want to come off like I’m some know it all when it comes to accessibility. If you need real help with your app, contact my friend Austin who does consulting on the subject.

I do have some experience enhancing a few personal iOS apps and hope to make it a larger priority with my upcoming side project. Like a lot of things, I think the goal here is for continual learning and small, iterative improvements.

You Don’t End Schindler’s List with a Pepsi Ad.

It’s Friday. I’m actually a little low energy and so I decide to go out and pick up a late lunch. I’ll eat it in my car listening to a podcast and get some outside / sun time. The podcast of choice is Startup, a podcast about starting a business to make podcasts. It’s a good show, with interesting stories and high production values. It’s in season 4 so we are well past the pitch stuff and into the real forced growth issues that all VCs seem to face.

Today was a particularly powerful episode of Startup with lots of emotion. It even had me a little teary eyed. Then the end came, but it was not the true end. We still had an upbeat MailChimp ad, read by the same podcaster who just seconds ago had us all in tears.

It was one of the most drastic shifts of emotional voice I can remember and it had me rolling my eyes with bewilderment.

You don’t do this. You don’t play the heart strings of your audience and then shove an ad down their throat while they are in the moment. You don’t end Schindler’s List with a Pepsi ad.

The producers of this show are professionals. They are listening to these audio cuts many, many times over, but I suspect they aren’t doing it with the Mailchimp ads weaved in. Maybe they should.

The lesson here, once again is empathy. We need to constantly work to put ourselves in the shoes of our audience. If you have something important or emotional to share with your audience, you don’t weave it into your revenue system. I totally accept the need to use ads for some systems but if you must show ads, maybe for a show with an arc like this you show an extra one in the beginning so you can end clean? Doing it like this just seems emotionally tone deaf for me.

Managing Remote Teams

Local company Wildbit has been nice enough to host a running series of meetup events focused on running a software business and all that it can entail. Last night we discussed Managing Remote Teams and as a remote employee myself I was interested to hear what others people had to share. Below are some of my notes.

Context

In attendance we had about 12 or so people. Many from Wildbit (many of their remote people were in town), but we also had a pair from another small (6+) local software company, one from a local company researching coworking and myself, whom works remotely for the Big Nerd Ranch, down in Atlanta.

General Observations

  • Running an all in-person office has unique organization challenges and benefits.
  • Running an all remote office has unique organization challenges and benefits.
  • Running a hybrid in-person and remote office has unique organization challenges and benefits.
  • Even still, things vary based on the size and work of your company.
  • No rules are true for everyone so be flexible.
  • Be prepared to spend time and energy on this.

Why Consider Remote Employees

  • Expands your potential hiring pool greatly.
  • Very helpful if you are using niche technologies where it can be hard to find experts (Closure, Rust, etc.).
  • Potential benefits in having time shifted work (but this can also introduce communication problems, lag).

How to Get Started

  • If you currently have a 100% in-person company, adding remote people will be a significant culture shift. Be prepared.
  • No one wants to be the first remote hire on a team.
  • Consider adding multiple remotes at once.
  • Consider offering work from home to current in-person staff to help the new culture work itself out.

Challenges

  • It can be hard for a remote employee to demonstrate what they are working on.
  • Being remote requires more thorough and regular communication than most people expect.
  • Lots of people romanticize remote work from DHH’s writings and don’t respect the real life challenges of it all.
  • Sometimes with a hybrid company, teams will be setup where you have two people “in office” and one person remote on a project. It can be real easy for the two people in office to share more face-to-face leaving the remote person feel left out.
  • If you have employees in different states / countries, you have to make sure you are following the approbate employment laws of those states / countries.
  • The whole “programming in your underwear” trope is really misguided. Most successful remote people have a schedule, take showers, get properly dressed and have a dedicated work spaces.

Face to Face Retreats

  • Everyone seemed to agree that it’s a bad idea for the remotes to never come together. Everyone benefits from real face to face time so plan for it early.
  • Wildbit has yearly company retreats, where they work, plan for the year ahead and otherwise define the goals and values that should guide all their decisions.
  • Other companies do more vacation oriented retreats to help connect people socially.
  • It was also suggested that depending on the size of the company it could benefit from have some company wide events and then some smaller more team focused events.

Things You Can Do to Help Remote Employees

  • Setup a Slack or HipChat for communication.
    • Additionally try to have people communicate what they are doing. “Starting feature X”, Reviewing PR Y”, “Stepping out to get some coffee”, “Breaking for an hour to watch a conference talk” — sharing these can help people better understand what’s going on.
  • Consider giving them an annual office stipend to improve their workspace; equivalent to the money you’d spend giving them an office in your building.
  • Make sure all in-office systems are available to remote folks. Things like file servers, whitelisted IP API access, etc.
  • Prefer video chat over audio chat. Seeing human faces helps communication and empathy.
  • When running a video chat, consider having even the in-office people stay at their desk and connect to give every “virtual head” its own space. (I’ve also had everyone use their laptop for the video and a shared phone for the voice.
  • If you are presenting and the video is going out to remote people, don’t forget to ask them for questions and check the chat room.
  • If you are a manager and are set up to have 1:1 monthly meetings with in-office people, consider offering bi-weekly for remotes — since they might be more out of sync.

Equipment

  • Some people were enjoying the HighFive video conferencing hardware — though they needed more seats than the current solution offers for their company wide stuff.
  • BNR’s recently been using the YouTube Live service to stream and capture video with fair success for our larger meetings / internal educational talks.
  • One AV tool BNR uses is a toss-able chat box that contains a microphone so after large meetings, during Q and A, the remote folks can hear the questions being asked.
  • The Double was brought up reguarding its use as a virtual presence. It’s cool stuff but of questionable return value.

Hope you enjoyed my notes. If you have anything to share about your own remote work let me know.

Dropbox Shuts Down Mailbox

From the Mailbox homepage:

It’s with heavy hearts that we let you know we’ll be shutting down Mailbox on February 26, 2016.

… as we deepened our focus on collaboration, we realized there’s only so much an email app can do to fundamentally fix email. We’ve come to believe that the best way for us to improve people’s productivity going forward is to streamline the workflows that generate so much email in the first place.

I wasn’t a Mailbox user myself but do feel sad for the people who bought into it and are now left on their own.

There is nothing wrong with apps being shutdown. Some companies do it to regain focus, others because the app itself didn’t find its market. However in this case you get the feeling Mailbox itself isn’t being shutdown because the app is a failure on its own, but because it’s not meeting the growth curve required to legitimize a foolish $10 billion evaluation of its owner Dropbox.

That’s what hurts the most I think, and it’s not the first time we’ve seen this. Large VC-funded company X buying up an upcoming app Y or studio Z just to fuel the unrealistic growth forecast of their VC owners. It’s not good for the user and it’s not good for long term innovation/competition.

Rebooting My Professional Side Projects

It’s been a little over two years since I put Clickable Bliss, the company name for my personal projects, then self-employment, on hiatus after taking a job at DmgCtrl (which then turned into a job at Big Nerd Ranch). Back then when I wrote about the change, I mentioned that team work was something I was really missing after my group startup Shindig ended. The good news is, in the last 2 years time I’ve gotten to work with some very talented people and have learned a ton from them. The sad news is, the yearning to work on something longterm, something of my own, something I can have a meaningful impact on does not go away. Today I’d like to share my intent to reboot my professional side projects.

I say “professional” side projects because I do want these to be serious projects that result in profitable products. I want to create software that people enjoy using, solve meaningful problems and people are willing to pay for. I’m not looking to quit my job but I don’t want that to be an excuse for lack of progression or service level, I want to make sure my customers are taken care of.

So what’s next? Well right now I’m working on breaking down some project ideas and otherwise trying to get up to speed with some tech stacks I’m considering using. I’m also trying to figure out the legal and branding side of things. Some questions on my mind:

  • Do I continue to do work under the name Clickable Bliss (which is a D.B.A.) or do I come up with a new company name that helps distinguish this new era and long term team intent (I do hope to bring on help for these new projects sooner than later).
  • If I do a new company name, do I run it as an LLC?
  • Do I promote these products under the company brand or just build brands around the project(s) themselves. (The two leading ideas I’d like to work on have fairly divergent audiences although longterm I’d say my interest is in providing tools for people who embrace technology to create things.)
  • I want to start to build up a newsletter as soon as I have some more concrete things to share. How do I migrate those people from the old Clickable Bliss mailing list? Should I?

So that’s what’s going on. Will share more when I have it. If you have any feedback or comments, please shoot me an email!