Category Archives: Business

Core Intuition Jobs shutting down

A few years ago, Daniel and I launched Core Intuition Jobs, a site for companies to post job listings for Mac and iOS developers. It was a really nice success. At one point I thought we might even focus more time on it, and expand it with a companion site of resources to help developers.

Fast forward a year or two, though, and it became clear that without that attention, the site couldn’t just coast along. New listings were becoming more infrequent. The site needed marketing and regular improvements, just like any product.

And worse, while the whole point was to build something just for Cocoa developers, the site would still sometimes receive job listings for Java or Python developers, for example, and we’d need to refund the listing and remove it from the site. It wasn’t a lot of maintenance, but it was enough that we had to decide whether to put more work into the site or focus on our main podcast and other projects.

This week we decided it was time to move on. Existing job listings will continue to run until they expire. No new jobs are being accepted.

Thanks to all the companies who used Core Intuition Jobs. Now when we are asked about other places to post jobs, we’re pointing people to the email newsletters iOS Dev Weekly and This Week in Swift, as well as Core Intuition podcast sponsorships. Good luck to everyone looking for a new job!

Uber’s perpetual second chance

Last week, Uber sent an email to customers linking to the results of its investigation and the next steps for the company:

After a report of inexcusable workplace harassment surfaced earlier this year, our board and senior leadership took immediate action. They asked former U.S. Attorney General Eric Holder and experts from the law firm Covington & Burling to conduct a thorough investigation. After four months of review, this week they released their report, which you can read here.

People always deserve a second chance. Companies, not so much. I see no reason to use Uber again, especially when there are now many ride-sharing apps that are just as good.

Uber had a strong brand, and now they’ve undermined it. Uber had the best user experience, and now most ride-sharing apps have matched it.

Uber is still in more cities, but that’s less of an advantage than I first assumed. Austin went without Uber and Lyft for a year and the city’s roads didn’t descend into chaos. It was fine.

Maybe ride-sharing is a winner-take-all market as Ben Thompson has convincingly argued. But maybe ride-sharing is just one commodity feature in the future of transportation, and as these services are integrated into larger platforms like Apple Maps and Google Maps, Uber’s dominance will fade just as their differentiation has faded. (On the extreme side of this, some competition to Uber such as RideAustin already treat the infrastructure as nothing special, operating as a non-profit to serve drivers and riders.)

It may seem foolish to bet against a company with billions of dollars in revenue, but Uber has little competitive advantage in software to show for the huge investment and current loses. They have more drivers, but with frequent turnover, how loyal are those drivers? I took a ride with Fasten and my driver thought that signing up and driving with Fasten was so similar to Uber that perhaps Uber was even secretly running it.

Uber reminds me of the Trump campaign and administration: mistake after mistake, and they get away with it. But at some point the second chances have run out, and the problems will stick and have real consequences, taking the whole thing down.

Companies are not always built to last. Sometimes it’s unfair — products that never find the right customers despite the founders’ best intentions. But sometimes companies deserve to fail — mismanagement, bad products, and toxic culture.

Companies fail all the time. I hope everyone at Uber is ready with a new job when it’s Uber’s turn.

Guiding the Micro.blog community

Earlier this month I flew up to Portland for a few days. It was a great trip. I posted about attending the Blazers game and meeting the IndieWeb group at the DreamHost office. I also sat down with Jean MacDonald to talk about what she has been up to and show her what I’ve been building for Micro.blog.

Today I sent an update to Kickstarter backers about the stretch goal promise I made to hire a community manager. I couldn’t be happier to announce that Jean MacDonald will be helping me in the next steps for Micro.blog.

It became clear as I’ve been talking with Jean that she will add so much to the project. Making the announcement today has inspired me even more to finish rolling out Micro.blog and to see where the community takes it.

On last week’s Core Intuition, I told Daniel that the approach for Micro.blog has to be different than for my previous apps. It’s such a big opportunity that if I don’t focus everything on it, then it will not work. I covered the same theme in a post last month:

I’ve realized as I work toward launching Micro.blog that this product is different. It has a much greater scope than anything I’ve built by myself. To be successful, it needs a team.

No single decision will guarantee success. But today’s announcement is a big milestone for Micro.blog because it’s more than a promise or hope for things to come. Jean’s experience will be essential to guiding the community and moving the platform forward.

We

Ten years ago I wrote a post about customer support. Nothing in my attitude toward customers has really changed since then, although my products have changed along the way.

Most of my Mac and iOS apps could be built by one person. Even Sunlit, which I developed with Jon Hays, could be maintained by one person. And so when providing support for my apps, I’ve always embraced being an indie company and said “I” instead of “we” when talking about my company Riverfold Software.

I’ve realized as I work toward launching Micro.blog that this product is different. It has a much greater scope than anything I’ve built by myself. To be successful, it needs a team.

This is why my first priority with the Kickstarter stretch goal was to bring someone new to the project. I was initially nervous about making that announcement. I thought that nervousness was because the stretch goal might not work, or because my post was long and could be misinterpreted, but I realize now that I was nervous because I knew it mattered.

The first decisions a new company has to make will end up shaping many things that follow. I worked at VitalSource for over 14 years because the technology decisions and leadership at the beginning were so strong they carried forward for years.

The same rule applies for a very different kind of company: Uber. When you look at their series of missteps, it seems clear that these are inherent problems that go back to day one. I think John Gruber is right when he says Uber’s response is “too little, too late”.

We can learn from every company culture that fails. I don’t expect to make all the right decisions with Micro.blog. But I’m going to try very hard to make the first decisions correctly, because it will make everything easier going forward.

Piezo and Dash without the App Store

Great post from Paul Kafasis of Rogue Amoeba about Piezo sales for the year after leaving the Mac App Store, and how it suggests that Dash’s post-MAS sales weren’t a fluke. Rogue Amoeba’s data points to this key point:

Far from the Mac App Store helping drive sales to us, it appears we had instead been driving sales away from our own site, and into the Mac App Store.

For me, the question of whether to use the Mac App Store is also closely tied to using in-app purchases in addition to Stripe. As I work to get Micro.blog shipped to Kickstarter backers, and eventually launched to a wider audience, I’ve wondered whether there should be an in-app purchase to make subscribing to Micro.blog from iOS easier. Of course the Mac App Store and in-app purchases are different things, but both require juggling multiple payment systems with the hope that it will be easier for users.

And it would be a little better for customers in the short-term. The problem is that it would be much worse for me as a solo developer trying to do too much. The backend systems would be more complicated, and I think the product would suffer because of it.

Exponent 102

Maybe you aren’t building a new social network. Maybe you aren’t obsessed with the rise and fall of tech giants. But if you are at all interested in why Instagram and Snapchat took off, check out episode 102 of Exponent with Ben Thompson and James Allworth:

Ben and James discuss the history of messaging apps, the rise of Snapchat, and why Instagram Stories was such a brilliant move.

I feel like I just had a whirlwind business school class in 57 minutes. So much of what they talk about is applicable to what I’m working on.

Thank you to App.net

Even before announcing Micro.blog, I’d get asked about App.net. It may surprise you to hear that there’s still a community there, 2 years after the service was put into maintenance mode. All my microblog posts are cross-posted automatically, and I’m always happily surprised to continue to get replies on App.net.

I was an early believer in App.net. I wrote in 2013 that it was not just a Twitter clone but an amplifier for applications that couldn’t be built before. It came along at the right time, took off, and then faded. The App.net founders deserve significant credit and thanks for trying something risky and succeeding to grow a community that lasted so long.

Now, with social networks broken in ways we didn’t fully acknowledge before, the time is right for another shot at a more open, ad-free microblogging platform. That’s why I’ve been working on Micro.blog.

I could use your help to spread the idea of independent microblogging. We don’t need just another Twitter or Facebook clone. We need a new platform that encourages blogging on the open web. You can learn more on Kickstarter here.

Kickstarter, day 1

Yesterday morning I woke up early, after not enough sleep, and flipped the switch to launch my Kickstarter project. I’ve been amazed at the response, seeing it funded on the first day. If you backed it or shared a link with friends, thank you. It meant a lot to see so many people embracing the idea.

I’ve backed 18 projects on Kickstarter but never created one myself, so I didn’t know what to expect. Was the funding goal too high? Too low? Even at the last minute I was noticing problems with the video and wished I had more time to improve it.

But I really wanted to launch something new at the beginning of 2017. I settled on January 2nd a couple of weeks ago and decided to stick with it. I announced the date on Core Intuition. I booked a sponsorship slot on 512 Pixels to lock myself into the date. I gave my mailing list an early heads-up that it was coming. I even set a promoted tweet to run, for some reason. (And I quietly deleted some other advertising ideas from my OmniFocus list, because I just ran out of time to pursue them.)

Today, I took a few minutes to re-listen to episode 34 of my short podcast Timetable, which I had published on Sunday, the day before launching on Kickstarter. It’s fascinating to me in the context of the success of the project so far, and in general people’s positive reaction to the video, because I think you can hear the doubt in my voice about it. I was not confident.

And I felt the same way yesterday morning, staring at the “0 backers” text on Kickstarter for a little while, wondering if maybe I had rushed it out without enough planning. That’s a really bizarre feeling. It’s much different than selling traditional Mac or iOS software.

Right now I’m feeling incredibly lucky to have the chance to launch this project — to see it spread and to hear everyone’s feedback and ideas. I have a bunch of work to do. And I have new features that I wanted to build for Micro.blog which I haven’t announced yet, which now it looks like I’ll be able to prioritize.

I’ll have more thoughts soon. In the meantime, I’ve been answering questions on Kickstarter and email, and I’ll be sending a project update later today to all backers with details on what comes next. Thanks again for your support!

GitHub growth problems

When first writing about mirroring this blog, there were only 2 places — WordPress.com and GitHub — that came to mind as good choices:

I believe both will last for decades, maybe even 100 years, and both embrace the open web in a way that most other centralized web sites do not.

I still believe that, but Bloomberg has an article about growth and spending problems at GitHub:

In September 2014, subscription revenue on an annualized basis was about $25 million each from enterprise sales and organizations signing up through the site, according to another financial document. After GitHub staffed up, annual recurring revenue from large clients increased this year to $70 million while the self-service business saw healthy, if less dramatic, growth to $52 million.

These numbers seem fantastic except that GitHub is losing money overall. GitHub has transformed from a small profitable company to a large unprofitable VC-backed company. Here are some of the goals from GitHub’s 2012 announcement about taking funding:

We want GitHub to be even easier for beginners and more powerful for experts. We want GitHub everywhere — whether you use Windows or Mac or Linux or some futuristic computer phone that hasn’t been invented yet — we want GitHub to be an awesome experience. We want to make it easier to work together than alone.

They’ve made progress in the last 4 years. I’m not sure the GitHub user experience has improved more quickly because of funding than it would have otherwise, though.

I love GitHub and use it exclusively for my source and my client projects, because there’s a productivity benefit to having everything in one place. I hope GitHub can turn the corner on profitability. And most importantly, I hope they have a sustainable long-term plan beyond this initial quick growth.

Thanks for using Searchpath

Today I sent the following email to everyone who has used my web app Searchpath. While I’m disappointed that I’ve neglected Searchpath, focusing everything on Micro.blog just makes the most sense right now.

Three years ago, I launched Searchpath to make it easy to embed a search box on any web site. Because you signed up to try it, either at the beginning or as a more recent paid subscriber, I wanted to thank you and let you know about the next steps for the service.

While I still love the idea behind Searchpath, I have not been able to give it the attention it deserves. Lately the service has been costing more to run than can be supported by subscription revenue. I’ve disabled new accounts and started migrating the data in an effort to keep the service running for active users.

Here’s what you need to know:

  • If you had an active paid subscription, it has been cancelled and you won’t be billed again. The service will continue to run while you look for a new search solution.
  • The current search index included many web sites that no longer use Searchpath. To save costs, I’ve reset the index. Active web sites using Searchpath will be automatically re-indexed.

I hope to return to Searchpath at some point in the future. For now, it will run in this limited mode for current customers. If you have any questions, please let me know via email at support@riverfold.com.

— Manton

P.S. One reason I can’t focus on Searchpath is I’m preparing to launch a new weblog service. It’s called Micro.blog.

Refocusing around Micro.blog

As I talked about on Timetable, now that I have the micro.blog domain I get to figure out what to do with it. And what I’m hearing from friends and listeners is clear: throw out my jumble of Snippets-related names and use Micro.blog as the brand for the platform. It’s obvious now.

Renaming a product before its official launch may not seem like a big deal, but in this case it gives the app a new importance. Just by renaming it, the app feels more ambitious. It forces me to devote more attention to it, which means saying goodbye to some of my other web apps that I can no longer focus on.

I have a difficult time shutting down failing products. Over the weekend, I took some much-needed steps to finish winding down Watermark and Searchpath. I’ll be sending an email this week to everyone who has used Searchpath with the details.

For Searchpath, I had procrastinated making a decision because even simple steps like closing new account registrations requires actually writing code and deploying changes. The index on my Elasticsearch server had grown to 90 GB, including Watermark as well. I needed a clean way to reset it and migrate the small number of active paid accounts somewhere else, to give customers time to find a new solution.

I’ve tried a few technologies for search over the years. The first version of Watermark used Sphinx, which I loved but became a scaling issue with its default need to completely reindex MySQL data. Eventually I moved to self-hosted Elasticsearch, but I had to keep feeding it RAM as the index grew. It was never stable enough with my limited skills.

As I noted in my post about Talkshow.im, there’s no perfect way to admit defeat and clean up the mess left by a web app. It’s always a balance of responsibilities — to your own business and to your customers.

But again, the way forward is clear. I should put everything into launching and growing my new microblog platform. It’s too much to maintain other web apps at the same time.

Kapeli’s suspension is a test for Apple

Since my post yesterday about what I viewed as the unwarranted smearing of Kapeli’s reputation, I’ve received a lot of good feedback. I’ve also seen many comments from developers who had an incomplete view of the facts. This isn’t surprising, since Apple’s own statement to the press seems to have left out details, either for privacy reasons or to make a stronger case.

I’m not an investigative journalist. I know a lot about what happened, but not everything. I’m not going to try to “get to the bottom” of the truth. Kapeli developer Bogdan Popescu emailed me yesterday after my post had been published, and as tempting as it might have been to ask him more questions, ultimately this is between him and Apple. I’m a blogger and podcaster, so I’d rather stick to the larger themes.

How do we move forward as a community? Two points:

  1. We must err on the side of defending indie developers, even when it looks bad. Apple’s a big corporation and they don’t need our help.
  2. We should hold Apple accountable when they overreach, even when they have the best intentions. I agree with Rene Ritchie’s post that despite such a bad situation, it’s still within Apple’s power to fix this.

Matt Drance had a series of tweets that get to the heart of how we react as a community. If it turns out that Bogdan did submit fraudulent reviews, then okay. But if Apple eventually reinstates his developer account, I want to be able to say I stood up for his side of the story, even if I risked being wrong.

It’s easy to defend someone who is obviously innocent. It’s harder when they make mistakes, but in areas unrelated to the crime. In that way, this App Store “rejection” is unique. It may be the most important test we’ve seen of Apple’s power in the store.

Kapeli’s reputation

I’ve been using Dash more and more over the last month, but I realized with all this controversy that I had never actually bothered to pay for the app. Whoops! The trial reminds you every once in a while, but otherwise it’s pretty usable without paying, and I’m lazy.

Kapeli’s iOS revenue has vanished, but the developer still has his direct Mac sales. So I set out to finally buy a copy of the Mac version.

And then during checkout, sending him my name and contact info, I hesitated. Do I trust this developer? Is he trying to do the right thing for customers, as every indication from his public blog posts and tweets about Dash show, or is he a scammer, conducting fraudulent activity in the App Store as Apple accuses?

That’s the damage Apple has done in going to the press and smearing him. They’ve destroyed the goodwill he had in the community from his well-respected app. I always want to give people the benefit of the doubt, yet I hesitated.

At the Çingleton conference in 2013, Christina Warren talked about building a reputation for herself. One of the slides will stick with me for a long time: “All I have is my name,” she said, so she couldn’t risk attaching her name to something she didn’t believe in.

Kapeli developer Bogdan Popescu has made some mistakes. There’s a lot of smoke, but I still believe there’s no fire, no actual fraudulent activity orchestrated by Bogdan himself. That hasn’t stopped Apple from burning his reputation to the ground.

As long as Apple has so much control over app distribution, so much power over an iOS developer’s business and reputation, then Apple’s treatment of and communication with developers has to be perfect. Michael Tsai covers some of the ways Apple mishandled this. The fallout in the developer community has been more severe than is warranted from the incomplete and misleading facts in Apple’s statement.

I finished checking out and paid for Dash. It’s a great app.

Apple apologists

The hardest transition for fans of Apple Computer from the 1990s is realizing that Apple no longer needs us to defend the company. If I’m sometimes critical of Apple, both here and on Core Intuition, it’s because they’re the largest tech company in the world.

I will always hold Apple to a very high standard of excellence. They’ve earned it. When airline flight attendants tell passengers to turn their Samsung Galaxy Note 7 phones off along with the usual warnings about oxygen masks and life vests, we shrug and laugh because it’s Samsung. From Apple, we expect higher quality and attention to detail, not shortcuts.

Steve Jobs has been gone for 5 years, but the spirit of building insanely great products is well-rooted at Apple. Apple employees are doing incredible, passionate work.

And yet the company itself hardly resembles the struggling computer maker of 20 years ago. Apple is a giant corporation now. Unlike its employees, who have the best intentions, giant corporations are by default selfish, arrogant, and rarely courageous.

Apple does a lot of good for the world. I doubt there’s another company even approaching Apple’s size that does as much, from renewable energy to safer materials to workplace diversity. But that good doesn’t absolve them of criticism.

Red flags at the startup

Wild yet totally believable story from Penny Kim about how she moved from Texas to California to join a startup. It’s got mismanagement, office politics, money problems, lies, and even faked wire transfer receipts:

The scam artist sat there and concocted this in his head instead of telling us the truth that the money wasn’t there. He then weighed the pros and cons and decided it was worth it. Then he took the time to Photoshop in each of his 17 employees’ names (or he forced someone else to do his dirty work).

Although she tried to keep the company name hidden, it was revealed by others later. See this Hacker News thread and article at Business Insider.

It is hard to run a small company that isn’t quite profitable, balancing the ups and downs of revenue and the timing of new investments. When I was much younger, I could probably be sympathetic to a company that was honest and transparent about a rare late paycheck or reimbursement. But Penny Kim’s startup story is much worse than that; it’s a perfect example of how not to handle leadership mistakes.

Long vs. pure App Store names

David Smith has an analysis of long names in the App Store, as developers try to understand the scope of Apple’s upcoming cleanup changes. Don’t miss the text file of 255-character names he found, which are all ridiculous. I’d laugh if this kind of gaming of the store didn’t make me sad.

I’ve always thought that the title shown in the App Store should be the actual app name. Keyword spamming is clearly bad, but I personally don’t like even tag lines in the name. Of the 4 apps from my company Riverfold that have been in the App Store, the names in the store all exactly match what is shown on your home screen:

  • Sunlit
  • Tweet Library
  • Clipstart
  • Watermark Mobile

Maybe my sales suffered because of my refusal to add more words after the real name, but to me, these names are pure and gimmick-free. I don’t want my customers subjected to a truncated mess of words even before they use my app.

If tag lines and brief descriptions in the App Store name are so common (and they are), then Apple should complement the new 50-character limit by having a separate 1-line description field in search results. This was discussed on the latest episode of Release Notes. My worry is that Apple attempts to fight problems with new policy alone instead of also encouraging the right behavior with App Store features.

On this day, last year

One year ago today, I posted the first screenshots of Snippets.today for iPhone. I never would’ve guessed that a year later I’d still be working on the beta, still not quite ready to ship.

One theme from that post a year ago is even more true today, though. To succeed I need to not just announce and market the product, but tell a story about why it matters. This realization is what has held up the Kickstarter video for so long. It doesn’t need to be perfect — I’m sure it will be flawed in a few ways — but it needs to be right, in that it should frame the idea of independent microblogging correctly.

More from that post last year:

Earlier this year I gave a talk at CocoaConf about tips I’ve learned to be productive while juggling multiple projects. But as I worked on the talk, it turned out to be about something else. It was about Walt Disney moving from Kansas City to Hollywood. It was about crazy side projects that no one else believed in. It was about Texas Hold ‘Em poker and risking everything for an idea.

I still feel that risk. A long-overdue product is difficult to push forward, the weight starting to carry as much burden as potential. And everywhere I look there’s a new excuse to procrastinate.

1 year indie

One year ago, I celebrated my first day without a boss. I had just written 2 weeks of daily blog posts about wrapping up work after 14 years at the same company. Today, I’m wearing the same Mac t-shirt and working from Whole Foods again to mark the anniversary.

So how has it gone, a full year as an independent developer? It depends who you ask. While I was leaving the best day job I’ll ever have, there’s still no substitute for the flexibility and freedom to work on my own projects. From that perspective, the last year has been amazing, with some great success on new revenue from Core Intuition and contracting too.

And I made a few decisions early on with how to manage the business that have proven useful to smooth over the bumps. For example, I pay myself a fixed salary on the 1st day of each month, and for 12 months straight I’ve always met that goal. This month, I gave myself a small raise.

On the other hand, I’m still bringing in less money than when I had a real job, and my wife might say that there’s a fine line between being self-employed and unemployed. We’ve let our credit card debt go unchecked. There’s been no slack in the high monthly expenses of the house, car payments, business costs like hosting, and everything else. My income from Riverfold has grown significantly, but not significantly enough.

Yet, I’m upbeat. I’m upbeat because of the potential for what I set out to do a year ago: ship Snippets.today and help revolutionize independent microblogging. That’s still the plan. That’s still why this experiment of working for myself is in its very early stages, even a year later.

Summer co-working

I’ve settled into a new work routine this summer at a co-working place. But after working at home for over 15 years, spending time with family and enjoying a flexible schedule, I’m not going to completely throw that out for a daily commute. Also, despite trying several options for parking or taking the train, I seem unable to shake the extra cost of just being downtown.

For 2-3 days a week, it’s worth it. Whether half days or all day, this time away from the house lets me focus uninterrupted. It doesn’t hurt that they have cold-brew coffee on tap, either.

The right balance of working from home or out of the house is different for everyone. James Glazebrook, writing for Basecamp, says that co-working doesn’t work for him, but that it might for you:

“If this doesn’t describe you, by all means — consider coworking. Everyone is different and each person works differently. Maybe your job is isolating and you’re craving human interaction. Perhaps your projects would benefit from an outsider’s ideas or their complementary skills. You might not have space at home to dedicate to an office, or the desire to own a printer-scanner-fax. Or you just want to get out of the house more.”

I’d add to his list: you might have kids at home who open your office door whenever they want. My home office is currently shared with anyone who wants to use the extra iMac or printer, and the kids often need rides to appointments, camps, and friends. For me, summer is the most important time to get a more formal schedule.

Focusing in that way actually frees up the rest of the week, letting me spend time away from work without the nagging stress that I’m not being productive enough. It’s widely understand that no programmer can be productive 8 hours a day, 5 days a week. Instead, limited runs of about 4 hours of work are perfect for me, and it doesn’t have to be every day. Co-working is just solid time that I can count on to move my projects forward.

Pre-announcing Snippets.today

Earlier this week I sent an email to subscribers of the announce list for my microblogging project. These are people who signed up, wanting to hear more about what the project was and when the beta would be available.

I talked about this on Core Intuition 241 today. Some people signed up a year ago, and the longer I went without sending an email, the more nervous I became that I was missing an opportunity to sustain interest in the project. I was stuck on the idea that the first email to the list had to be when there was a product to either test or pay for.

These decisions of when to release a product, what to write about, how to communicate new ideas without overwhelming potential customers — they seem so monumental, but the truth is it just doesn’t matter that much. When the feedback started rolling in over email, I quickly realized that I was worried for nothing. People were excited and supportive.

I have a lot of work to do over the next couple of weeks before it’s ready to open up to real users. As I’ve talked about a few times on my Timetable podcast, I’m planning a Kickstarter project to complement the web app. I’ll be sharing more soon.