PodSearch

Under the Radar

241: Farewell, Feed Wrangler

 

00:00:00 ◼   ► Welcome to Under the Radar, a show about independent iOS app development. I'm Marco Arment.

00:00:05 ◼   ► And I'm David Smith. Under the Radar is never longer than 30 minutes, so let's get started.

00:00:10 ◼   ► So it was a bit of a sad day. Well, sort of sad. In some ways, extraordinarily glad and

00:00:15 ◼   ► happy, but in some ways sad. It was sad for my customers, I suppose. So last week, I announced

00:00:23 ◼   ► the sort of, I guess, the end of life, the sunset, the shutdown, whatever kind of words

00:00:28 ◼   ► you want to use for it, of one of my, sort of, probably, I guess, my second or third

00:00:34 ◼   ► oldest product, which is Feed Wrangler. So back when Google Reader announced that they

00:00:41 ◼   ► were going to be ending Google Reader, I had been in the process, actually, of building

00:00:48 ◼   ► an RSS syncing service. They hadn't announced it yet. And then, you know, Google announces

00:00:53 ◼   ► that this is something that they're going to do. And of course, it's like, well, this

00:00:55 ◼   ► is perfect. I mean, I just have this golden opportunity to kind of jump in here with this

00:01:01 ◼   ► thing that I'd already been building and sort of coincide with Google Reader ending. And

00:01:07 ◼   ► that became a Feed Wrangler. It was a product that I worked on for, I guess, I think it's

00:01:11 ◼   ► about nine years old at this point. And it sort of had always been, yeah, it's a long

00:01:17 ◼   ► time. I had no idea it was that old. I mean, like, if you would have asked me, like, how

00:01:20 ◼   ► long ago did Google Reader shut down, I mean, yeah, that seemed like a long time ago. That

00:01:23 ◼   ► seems like ancient history in internet terms. But to say, oh, this product that you've been

00:01:28 ◼   ► running is X years old, that's a very different feeling, I guess. Yeah, I don't think I've

00:01:33 ◼   ► ever run anything for nine years. Except like my blog.

00:01:37 ◼   ► >> Sure. It's like your blog, maybe your Twitter account, I don't even know. Like, nine years

00:01:44 ◼   ► this has been running. And it's been running through all kinds of other of my products

00:01:49 ◼   ► in terms of, you know, in terms of Pedometer++ and Widgetsmith and WatchSmith and all my

00:01:53 ◼   ► other apps. Essentially, the majority of my app businesses sort of came after this. And,

00:01:57 ◼   ► I mean, there was a period where Feed Wrangler was my main thing. I worked, it had an iOS

00:02:01 ◼   ► app, I actually made a podcast client for it called Pod Wrangler. And it was a product

00:02:07 ◼   ► that I worked on for a long time. But the thing that was tricky for me is it's the main

00:02:11 ◼   ► work behind Feed Wrangler was web development. And as time went on, that became less and

00:02:19 ◼   ► less something that I was an expert in, less and less something that I wanted to devote

00:02:23 ◼   ► time to, and just less and less of sort of something that I had interest in. And so over

00:02:28 ◼   ► time, Feed Wrangler kind of slowly worked its way into maintenance mode. And I think

00:02:34 ◼   ► even maybe two years ago, in Feed Wrangler, if you're a subscriber, every year, a week

00:02:40 ◼   ► before your subscription is about to renew, I always send you an email saying, "Hey, just

00:02:45 ◼   ► letting you know next week you're going to get a charge for your subscription." And usually,

00:02:51 ◼   ► mostly I'm just giving people a heads up so that if they're not using it and they wanted

00:02:55 ◼   ► to cancel, I'm giving them an opportunity, which is in some ways probably bad business,

00:02:58 ◼   ► but I always felt good and appropriate as something that I appreciate when services

00:03:04 ◼   ► do that. And so I will do it myself. And in that email, I always have a little like, you

00:03:09 ◼   ► know, paragraph at the top kind of with what's going on, new features, if they are in the

00:03:14 ◼   ► service or whatever. And about two years ago, in that I started telling people, "Hey, Feed

00:03:18 ◼   ► Wrangler realistically is in maintenance mode now. It's not something that I'm focused on.

00:03:22 ◼   ► I sort of will keep the service running. I will keep it up as best as I can. But it's

00:03:29 ◼   ► in maintenance mode. There's no new features. It's just I'll keep it ticking over." And that's

00:03:34 ◼   ► how it had been for about two years. And then a few months ago, it came to the point where

00:03:39 ◼   ► I just decided it's even maintenance mode is sort of too much. And not necessarily in

00:03:47 ◼   ► the amount of time it took to me, but I think it was too much in terms of the fundamental

00:03:56 ◼   ► awkwardness of running a server-oriented system is that servers go down and things happen

00:04:03 ◼   ► on the internet. And when I'm the only person responsible for them, when they go down, it's

00:04:08 ◼   ► my problem. And sometimes it's things that I can solve. And sometimes it's things that

00:04:13 ◼   ► I can't solve. And either way, it's my problem. And it can happen at very inconvenient times.

00:04:19 ◼   ► It can happen when I'm trying to be focused on something else. Or it just, you never know.

00:04:26 ◼   ► And over time, I think the cognitive load of having that running in the background was

00:04:31 ◼   ► diminishing my ability to work on my other projects, to give them the attention they

00:04:37 ◼   ► needed. It was being disruptive in a way that I didn't like both personally as well as professionally,

00:04:42 ◼   ► where I never liked the thought that if I'm going on vacation, I always have to bring

00:04:48 ◼   ► a laptop with me no matter what, because I never know when a server's going to go down.

00:04:53 ◼   ► I hate that. I hate that feeling in the back of my head that I can't just leave work at

00:04:58 ◼   ► work. Like Widgetsmith, which has way more users than Feed Wrangler. By several orders

00:05:04 ◼   ► of magnitude, more users. Just runs itself. I have nothing to do with it. If I go on holiday

00:05:10 ◼   ► for a week, there's just no new features were added to Widgetsmith, but nothing bad is going

00:05:16 ◼   ► to happen. Whereas this, with Feed Wrangler, I've had the exact, one of my early experiences,

00:05:22 ◼   ► maybe two years into Feed Wrangler, was the actual literal experience of I went on holiday

00:05:28 ◼   ► to a cabin in the woods with my family. This is when we all thought you were dead, right?

00:05:32 ◼   ► Yep, exactly. Everyone thought I was dead because about 30 minutes after I went in,

00:05:37 ◼   ► this cabin in the woods has no cell reception, no internet, no nothing. It was lovely, glorious.

00:05:43 ◼   ► Except 30 minutes after I got out of cell reception, Feed Wrangler went down and it

00:05:47 ◼   ► like went down hard. It was one of these things where something bad happened to the master

00:05:54 ◼   ► database and that was it. It was completely broken. It was completely broken for three

00:05:59 ◼   ► days because I had no idea. I was blissfully unaware. I was in the wilderness and this

00:06:04 ◼   ► was great. Then I come back, as I'm driving back from the cabin, and all of a sudden my

00:06:10 ◼   ► phone explodes with messages and things. It's the lovely thing where it starts off that

00:06:14 ◼   ► people are annoyed and kind of grumpy at me that the service is down. Then it gradually

00:06:19 ◼   ► transitions into "Are you okay?" and then it becomes "Has he died? Is he in a ditch

00:06:25 ◼   ► somewhere?" Eventually it becomes a eulogy for you. "He was a good man." "He was a good

00:06:31 ◼   ► man, but it's too bad his service is down." I remember that because all of us, all your

00:06:37 ◼   ► friends, we were texting you like, "Hey, is everything alright?" Just so you know this

00:06:40 ◼   ► is going on. Eventually, "Hey, are you okay?" I was one of those people. I remember. We

00:06:45 ◼   ► started talking to each other. "Hey, have you heard from Dave? Do you know where Dave

00:06:49 ◼   ► is?" I've had that experience. I've had the actual experience of the thing that has been

00:06:55 ◼   ► gnawing in the back of my mind for years. It's like, one day, you never know when it's going

00:06:59 ◼   ► to happen. Feed Wrangler is very stable now, but you just never know. I had one recently

00:07:04 ◼   ► where there was a bad server migration that took Feed Wrangler down for six hours. It

00:07:10 ◼   ► was just one of those, "Well, it happened at a very inconvenient time for me." It was

00:07:14 ◼   ► at 9.30 at night, which in some ways was even worse because I was about to go to sleep,

00:07:19 ◼   ► but I hadn't gone to sleep yet. If I'd gone to sleep and I just woke up and it had happened

00:07:23 ◼   ► or something, like, "Okay, that's unfortunate. It's been down for 12 hours, but okay." But

00:07:27 ◼   ► this one was like, "Nope, I'm just staying up all night trying to get things fixed."

00:07:31 ◼   ► And so, anyway, Feed Wrangler has reached a point where it decided, "It's too small

00:07:38 ◼   ► a part of my business to justify the cognitive load that it has and the space that it occupies

00:07:45 ◼   ► in my mind. I need to shut it down." And I think once I reached that point, it was very

00:07:51 ◼   ► freeing. And it's almost like, usually, I think you know that you've made a right decision

00:07:56 ◼   ► when you agonize over it, you go back and forth, you think of the pros and the cons.

00:08:01 ◼   ► For me, if you're me, you make five spreadsheets thinking about all the different aspects of

00:08:05 ◼   ► it. But once you actually get to the point, you're like, "Nope, it's time." And it felt

00:08:09 ◼   ► amazing. It felt like, "Yes, I should have done this probably two years ago when I put

00:08:13 ◼   ► it in a maintenance mode. I should have just said, 'You know what? I'm going to focus on

00:08:17 ◼   ► the parts of my business that are growing, that I'm excited about, that I'm engaged with,

00:08:21 ◼   ► and not this kind of legacy thing that isn't very exciting to me.'" And so I reached that

00:08:27 ◼   ► point. And then it was just like, now then became the really tricky part, which is sort

00:08:31 ◼   ► of the next part of the show, is kind of, how do you actually shut something down? But

00:08:35 ◼   ► anyway, that's sort of the journey that brought me to the point where I needed to shut it

00:08:40 ◼   ► down.

00:08:41 ◼   ► Yeah, every time something goes wrong with one of my servers, literally every single

00:08:46 ◼   ► time, it doesn't happen very frequently, which in some ways makes this problem worse. Because

00:08:52 ◼   ► every time something goes wrong with my servers, this is like a once in a six month kind of

00:08:57 ◼   ► thing. And so when it happens, every time I'm just like, "Oh, why am I still running

00:09:02 ◼   ► servers? How can I get myself out of the server business, or at least reduce my server needs

00:09:07 ◼   ► significantly, or reduce the number of things that can break in a catastrophic way?" And

00:09:13 ◼   ► I've actually been brainstorming this for a long time, for the last few months. How

00:09:17 ◼   ► could I involve CDNs and other stuff to make stuff more static and move some of the dynamic

00:09:24 ◼   ► stuff client-side? Stuff like that, that could let the app still work in a large way, even

00:09:31 ◼   ► if stuff is going badly on the backend, and reduce the number of backend servers I'm

00:09:35 ◼   ► dealing with in the first place. Because I'm with you. I've been running servers ever

00:09:40 ◼   ► since the Tumblr days. That was 2006. So it's been a long time. And that whole time, I've

00:09:49 ◼   ► basically been on call, in case anything goes wrong. I'm the one who's on call for almost

00:09:54 ◼   ► that entire time. And so it is that certain level of just kind of constant stress. I used

00:10:00 ◼   ► to go upstate to visit my family up there, in a place where there's no internet service.

00:10:06 ◼   ► And now there is, fortunately. But it's the same thing. No cell coverage. The house I

00:10:11 ◼   ► was staying in had no internet for a long time. And so I would just check my email before

00:10:17 ◼   ► I crossed into the no-covering zone, and just kind of hope it would be okay for the next

00:10:22 ◼   ► few hours. And I'd wake up the next morning, drive down to the diner in town that had Wi-Fi,

00:10:28 ◼   ► park my car outside, make sure everything's still up, and then go back to the house. It's

00:10:33 ◼   ► an awkward thing to have that as a constant level of stress in your life for years. And

00:10:39 ◼   ► so to be able to remove that, that's a big step. And in this case, too, when you're

00:10:45 ◼   ► going to shut something down, I think all of us, indie developers, every indie developer

00:10:51 ◼   ► I know, we don't take pleasure in taking something away from people who are using it.

00:10:58 ◼   ► We want to serve our customers as well as we can, for as long as they are our customers.

00:11:03 ◼   ► And you don't want to leave people out of luck. Leave people with nothing that might

00:11:09 ◼   ► inconvenience them or make their job or life harder or less pleasant in some way. And so

00:11:15 ◼   ► in this case, though, I think this is the perfect thing to shut down because there are

00:11:19 ◼   ► a handful of alternatives out there that all do basically the exact same thing, and moving

00:11:24 ◼   ► between them is super easy. And so it's not like, you know, when Google Reader shut down,

00:11:29 ◼   ► one of the reasons why it was a bomb in the industry is that there wasn't anything else

00:11:32 ◼   ► that did that. And so everyone had to kind of scramble and figure out what the heck are

00:11:37 ◼   ► we going to do now for this need. Whereas for you shutting down, everyone basically

00:11:42 ◼   ► like picks a different icon in their RSS reader app, because like, every RSS reader app out

00:11:47 ◼   ► there supports multiple sync engines. So everyone just picks a different one now and migrate

00:11:52 ◼   ► through, you know, export, opml, migrate stuff over import there. And that's it. And you

00:11:56 ◼   ► even set up a nicer one, which I'm sure you'll talk about. So like that, to me, like, that's,

00:12:00 ◼   ► this is the perfect thing. Because it's like, you know what, I don't need to do this anymore,

00:12:03 ◼   ► because these these three or four other people are doing it. And that's fine. And they're

00:12:06 ◼   ► doing a good job. And so I don't need to be in this market anymore.

00:12:08 ◼   ► Yeah, and I think it's, it is so it is, it is so difficult to sort of separate the various

00:12:18 ◼   ► parts of making a decision like this, because there's the, like emotional attachment part

00:12:25 ◼   ► of the, this is something I made, this is something that I worked on for almost a decade,

00:12:30 ◼   ► in terms of, you know, I've, it has been a part of my life for, you know, almost as long

00:12:35 ◼   ► as one of my children, like, it's, it's, it's, it's a huge part of me emotionally. And it's,

00:12:40 ◼   ► you know, it's gone through some great times, it's had some rough times, like, it's, there's

00:12:45 ◼   ► an emotional connection to that. And there's obviously a financial aspect to it that, you

00:12:48 ◼   ► know, in shutting this down, I'm closing the door on a potential stream of revenue for

00:12:58 ◼   ► the for the business, there's kind of the, like the reputational risk or the potential

00:13:04 ◼   ► risk or loss that you have in terms of shutting something down, even if you do it in as best

00:13:09 ◼   ► a way as possible, and I tried as did everything I could to try and do it in as clean a way

00:13:13 ◼   ► as possible, is like it is potentially going to annoy some people. And those annoying that

00:13:18 ◼   ► annoyance could have consequences. It may or may not, but this is certainly something

00:13:22 ◼   ► that that that is worth thinking about. And I think even moreover, there's even the thought

00:13:27 ◼   ► to have, it's like, it's the kind of thing where it is always difficult to make a decision

00:13:32 ◼   ► that you can't easily undo, that there isn't an alter, like, you can't just change your

00:13:37 ◼   ► mind and switch back. It's, it's like, once I shut down feed Wrangler, it's pretty much

00:13:43 ◼   ► gone. Like, it's not the kind of thing that is, you know, if I if I change my mind in

00:13:47 ◼   ► a year and want to do it again, like, I could sort of try and resurrect it. But, you know,

00:13:51 ◼   ► it's a one way decision in a lot of ways. And and so it's, it's, but I think at the

00:13:57 ◼   ► from the flip side, and the thing that I think I feel good about having gone through this

00:14:00 ◼   ► experience is it's just another little encouragement of the it's like, no, it's okay. Like, I'm

00:14:07 ◼   ► over over waiting and over indexing on a lot of things that aren't ultimately serving me

00:14:13 ◼   ► or old only aren't serving my business and probably aren't serving my customers. Like

00:14:16 ◼   ► if you were a feed Wrangler customer, I hope you got the service that you were hoping for.

00:14:21 ◼   ► But it is not the best feed, feed syncing system out there. Like there are way better

00:14:25 ◼   ► ones. There are way better systems for doing this. Because I've been in maintenance mode

00:14:30 ◼   ► for two years, I've been focused on other things like widgetsmith is my focus right

00:14:34 ◼   ► now. Like and fair enough, it's by far the most successful thing I've ever I've made

00:14:39 ◼   ► and probably will ever make. And so that's where I should put my attention, not into

00:14:43 ◼   ► see into a service that is kind of just plodding along doing its thing. And I think there's

00:14:48 ◼   ► a freedom in saying, you know, it's like, don't, it's like, it's in very much, it's

00:14:53 ◼   ► it's very similar to, I suppose, like some cost fallacy kind of thinking where it's so

00:14:57 ◼   ► easy to keep it going just because well, I can and it doesn't take that much effort.

00:15:02 ◼   ► But it's there's a powerful difference. It's sort of in the same way when you think about

00:15:06 ◼   ► with pricing with something where there is a something transformative that happens when

00:15:11 ◼   ► it goes from something costs being cheap and something being free. Like if I have to pay

00:15:16 ◼   ► 10 cents for something, I think about it differently than if it's just free. You know, if I'm

00:15:22 ◼   ► walking out of the doctor's office, and they had a little, you know, had a little candy

00:15:28 ◼   ► there, right? And that candy is free, I might grab it, that candy is 10 cents, I'm probably

00:15:33 ◼   ► not going to get it. Even though it's just 10 cents, it's not a big deal. It's that small

00:15:37 ◼   ► incremental difference. And there's this but the transformative nature of zero versus anything

00:15:44 ◼   ► is something I think I'm more aware of now. And in this case, it's like, even though it's

00:15:47 ◼   ► taking a very little amount of time relative, you know, in whatever I work, however many

00:15:52 ◼   ► hours I we say was, you know, 40 hours a week for 48 weeks of the year or so is probably

00:15:58 ◼   ► about what I work. And even if feed Wrangler is taking a fraction of that, is there was

00:16:03 ◼   ► a huge difference between a fraction and zero. And I think the more I realized that difference,

00:16:08 ◼   ► kind of the more empowered I feel and the kind of it gives me sort of confidence to

00:16:14 ◼   ► push back against all those earlier things of all the costs or the potential pitfalls

00:16:17 ◼   ► or the dangers of shutting something down and feeling much more comfortable about just

00:16:22 ◼   ► sort of diving in and saying, Nope, it's not serving me anymore. I don't think it's a good

00:16:26 ◼   ► choice for me. And just running with that feeling.

00:16:30 ◼   ► We are brought to you this episode by Sourcegraph. So you've hired a brilliant developer, that's

00:16:35 ◼   ► great. Now you have to get them onboarded. If your company is growing, onboarding new

00:16:39 ◼   ► developers will be a common occurrence, but it's a big undertaking each time. One of the

00:16:44 ◼   ► biggest challenges for new hires is to get up to speed with the project their new team

00:16:47 ◼   ► is working on. This can be tricky if the code bases your developers are working on are already

00:16:51 ◼   ► large. Thankfully, Sourcegraph makes it easy to move fast even in those big code bases.

00:16:58 ◼   ► Developers know that knowledge is most useful when it's findable. Centralization is helpful,

00:17:02 ◼   ► but given the fact that most companies store knowledge in at least two different locations,

00:17:06 ◼   ► how do you make knowledge accessible to those that need it? As a code intelligence platform,

00:17:10 ◼   ► Sourcegraph gives developers what they need to drive their own learning over time and

00:17:14 ◼   ► in different situations. Teams without Sourcegraph need to rely on asking colleagues or reviewing

00:17:19 ◼   ► out of date documentation, which is cumbersome and time consuming. But with Sourcegraph,

00:17:24 ◼   ► every developer can search across millions of repositories to find specific code, saving

00:17:28 ◼   ► time for themselves and everyone else. So when questions do come up, you know it's the

00:17:32 ◼   ► big stuff that's worthy of the extra time. Sourcegraph was created to make developers'

00:17:36 ◼   ► lives easier. And today they work with leading companies across every industry, including

00:17:40 ◼   ► three out of five of the top tech companies. Plus PayPal, Uber, Plaid, GE, Reddit, and

00:17:46 ◼   ► Atlassian, and so much more. Visit about.sourcegraph.com to learn more. That's about.sourcegraph.com

00:17:54 ◼   ► to find out why some of the biggest tech companies in the world use Sourcegraph and to see what

00:17:58 ◼   ► it can do for yours. Or just click the link in the show notes to let them know you heard

00:18:02 ◼   ► about them from us. Once again, about.sourcegraph.com. Our thanks to Sourcegraph for their support

00:18:07 ◼   ► of this show and Relay FM. So I think you're doing largely the right thing here. You know,

00:18:12 ◼   ► as I said earlier, you know, you're leaving your customers with a pretty easy migration

00:18:18 ◼   ► elsewhere. And I think you're fortunate in the sense that this is not always possible.

00:18:22 ◼   ► In fact, in almost every case I can think of, shutting down some kind of app or service,

00:18:27 ◼   ► usually there is not a direct replacement that, you know, it's like if you're moving

00:18:32 ◼   ► from S3 to a different block storage kind of thing, like, okay, everyone uses the S3

00:18:36 ◼   ► API for their block storage platform, so that's easy to move between. But moving between apps

00:18:41 ◼   ► for services usually does not work that cleanly. This is a very unique situation here, and

00:18:46 ◼   ► I think you've made it even easier.

00:18:47 ◼   ► Yeah. And I think that was certainly something that I decided early on that I wanted to put

00:18:52 ◼   ► in the time and energy to make this transition as absolutely easy and seamless as possible.

00:18:59 ◼   ► Essentially, it's one of those things that I'm not sure I strictly had to do, that I

00:19:03 ◼   ► think there are easier approaches that I could have taken. I mean, all the way up to the

00:19:07 ◼   ► most extreme version is just like I announce one day, it's like, I'm done with this, and

00:19:10 ◼   ► I just pull the plug and that's it. Like, I could have done that. That probably wouldn't

00:19:14 ◼   ► have been a wise choice. That may have been difficult and caused lots of issues for me.

00:19:18 ◼   ► But the approach that I decided to take instead, I think it was essentially the version of

00:19:24 ◼   ► I would rather this be as painless as possible for my users to the degree such that I can

00:19:32 ◼   ► sort of stop thinking about it the soonest possible. I want to do everything I can to

00:19:37 ◼   ► just make this smooth, easy. Everybody's happy. So they might be a little sad in terms of

00:19:42 ◼   ► it's going away, but not sad in the sense that they feel like that I took advantage

00:19:46 ◼   ► of them or was doing something kind of shady or problematic.

00:19:50 ◼   ► So the approach I took with this is, so Feed Wrangler, I announced that it's going to

00:19:57 ◼   ► shut down, but it isn't shutting down until March 1st of next year. That's the day, essentially,

00:20:01 ◼   ► that the one-year anniversary of the last person who was ever charged for a subscription.

00:20:08 ◼   ► So every person who has paid for a subscription to Feed Wrangler is getting their money's

00:20:12 ◼   ► worth. And obviously, if your subscription was going to renew on March 2nd, then you're

00:20:17 ◼   ► getting an excellent deal because your subscription will be essentially a bonus year for free.

00:20:23 ◼   ► But for most people, they're getting, I guess, on average, six months free. And that

00:20:29 ◼   ► was just sort of much, much simpler than trying to work out any kind of—the last thing I

00:20:33 ◼   ► wanted to go down was issuing partial refunds or some kind of system to prorate people's

00:20:40 ◼   ► accounts that they've paid and things. And the reality is the servers are up, they're

00:20:45 ◼   ► running, the costs aren't crushing such that keeping something going for this is

00:20:49 ◼   ► too problematic. I mean, it's all hosted on Linode, which is relatively cost-effective

00:20:52 ◼   ► for the kind of scale that I'm running here. So I decided to do that. And it's like,

00:20:58 ◼   ► that should hopefully just eliminate a whole host of potential problems of people who feel

00:21:01 ◼   ► like they are being cheated out of something. It's like no one was cheated out of anything.

00:21:05 ◼   ► Everyone got exactly what they paid for. And in fact, most people get paid, got more than

00:21:10 ◼   ► they paid for. So I decided to go ahead and do that. And then the second thing I did is

00:21:15 ◼   ► I wanted to make the actual process of getting off of Feed Wrangler even easier. And so like

00:21:19 ◼   ► you said, with RSS syncing, at its core, anybody can get an OPML file, which is just this file

00:21:26 ◼   ► with a list of all the feeds that you are subscribed to. And I can generate an OPML

00:21:32 ◼   ► file. And you've been able to do that from day one in Feed Wrangler. So if you wanted

00:21:36 ◼   ► to leave Feed Wrangler, that's probably what you would have done. But I was like, I thought

00:21:39 ◼   ► I could do better. And I wanted to make it so that it's kind of like as one click as

00:21:44 ◼   ► possible. And so I ended up reaching out to Ben at Feed Bin, which is, in my opinion,

00:21:52 ◼   ► the best RSS syncing platform of the lot. It's someone who I, you know, it's like, it's

00:21:58 ◼   ► a platform I'm moving to. It's the one that I think has the longest kind of legacy of

00:22:04 ◼   ► consistent improvement and just has all the great little features and things in it that

00:22:07 ◼   ► I kind of I always wish I'd gotten to in Feed Wrangler, but didn't have the time, energy

00:22:13 ◼   ► or focus to work on. It's like, he's been doing all these things for years. And I was

00:22:17 ◼   ► like, great, this is who I want to go to. And I just went to him and said, Hey, I'm

00:22:21 ◼   ► going to be shutting down Feed Wrangler. I would love to move people to Feed Bin. Is

00:22:27 ◼   ► that something that, you know, that you'd be interested in making sort of seamless and

00:22:31 ◼   ► you know, and he was totally on board. He's like, this is, you know, you have to see,

00:22:34 ◼   ► you know, it's a good marketing opportunity for him. And he said, Yeah, absolutely. And

00:22:37 ◼   ► he'll he went sort of the extra mile in terms of building out a kind of one click migration

00:22:43 ◼   ► that isn't just the opml file, which is what in some ways I was thinking he would sort

00:22:46 ◼   ► of start with where you, you click a link in here and it would, you know, generate the

00:22:51 ◼   ► opml file automatically. So you're not like downloading an XML file and uploading it over

00:22:55 ◼   ► there. It's like if you could kind of do it more directly, but he went beyond that. And

00:22:59 ◼   ► even it imports all your start articles and even sort of tries to sync your unread status

00:23:05 ◼   ► to the degree that that's possible. Just using the main Feed Wrangler API, you know, so essentially

00:23:11 ◼   ► it's like he pretends to be a client, just like an RSS, you know, like reader or unread

00:23:17 ◼   ► or any of the RSS clients, NetNewswire, he's a pretends to be one of those to Feed Wrangler

00:23:22 ◼   ► and just tries to sync the position as best he can. He's not going to be 100% because

00:23:27 ◼   ► the nature of RSS is that, you know, IDs change and we have slightly different versions of

00:23:32 ◼   ► what a particular article is or make it confusion, but it's like, it can get you to like 99%

00:23:38 ◼   ► of exactly where you left off to the degree of like the unread status of your articles

00:23:43 ◼   ► in your main inbox. And, you know, he just went ahead and built that. And I think for

00:23:47 ◼   ► me, as soon as I that way, that path became something that was viable. I was like, this

00:23:52 ◼   ► is perfect. Like anybody who sort of wants the easy way out, who just wants to just click

00:23:59 ◼   ► a button and then now they're on a different service, they just have, you know, he clicks,

00:24:03 ◼   ► you can click there and then you just, you sign up with Feedbin and all your stuff will

00:24:07 ◼   ► carry over and then you just go into whatever your, you know, your actual client is that's

00:24:11 ◼   ► going to read that and log in again. And I talked to her from several customers who said

00:24:15 ◼   ► it took all of maybe one or two minutes to do the migration. And it's like, I didn't

00:24:21 ◼   ► have to necessarily do that. But I think there is definitely something beneficial of really

00:24:27 ◼   ► taking care of customers in terms of you only go, you can go crazy with it probably, but

00:24:32 ◼   ► you really, moreover, it's like that effort of trying to really make this process forward

00:24:37 ◼   ► is ultimately, I did it for me, just as much as I did it for the customers. Because it

00:24:43 ◼   ► means that I can feel great about this. I've had nothing but positive reactions. Like I

00:24:48 ◼   ► was a little nervous when I announced it was going to be shut down, like, how are people

00:24:51 ◼   ► going to feel? Is it going to be grumpy? Am I going to have, you know, hate mail and dealing

00:24:56 ◼   ► with that for days and days? And it's like, nope, everyone who was, you know, all I've

00:24:59 ◼   ► heard was people who were like, thank you for the service. I'm sorry, it's going away.

00:25:02 ◼   ► I understand why. And thank you for making the migration straightforward. And it's like,

00:25:06 ◼   ► essentially, that's what I bought by going down the road of doing a little bit of the

00:25:10 ◼   ► extra work, having the existing service linger around for long enough that no one's feeling

00:25:15 ◼   ► crushed, no one's feeling like I'm putting them out. And it's like, I just kind of like

00:25:20 ◼   ► that the price of that was that extra work. And then now, I could just move on. And I

00:25:24 ◼   ► can stop thinking about feed Wrangler and it linger around in maintenance mode, just

00:25:27 ◼   ► like it has been for, you know, whatever, another 10 months now. And I will feel a little

00:25:34 ◼   ► less urgent in terms of if it happens to go down for a few hours here and there. I feel

00:25:39 ◼   ► a little less bad about that than I would have otherwise, because most people are getting

00:25:43 ◼   ► it for free and everyone understands that it's going away. And I've given everyone

00:25:48 ◼   ► a great opportunity to move to somewhere else that is even better and putting them into

00:25:52 ◼   ► a better place. And so, like overall, I just feel good about this. And I feel like it was

00:25:57 ◼   ► long overdue, but definitely worth doing. Yeah, I think you've done this in the best

00:26:02 ◼   ► possible way. I would even say that if anything, people should take away from this lesson that

00:26:08 ◼   ► you don't actually need to do this quite this much for your customers some of the time.

00:26:12 ◼   ► Absolutely. In this case, again, I think in this case,

00:26:14 ◼   ► you had a lucky situation in that it was fairly easy to migrate people off, you know, in the

00:26:20 ◼   ► relative sense. You know, if I wanted to shut down Overcast, I don't. But if I wanted to

00:26:24 ◼   ► shut down Overcast, you know, there's like OPML export and stuff I could do. But like

00:26:29 ◼   ► you mentioned, like RSS feeds have this whole issue of like OPML files can export the list

00:26:34 ◼   ► of feeds you're subscribed to, but there is no standard consistent way that everybody

00:26:39 ◼   ► would support or is even possible to uniquely identify the items in the feed to represent

00:26:44 ◼   ► like which items have you read or not read or anything like that. That's a much harder

00:26:48 ◼   ► problem. And it's not really a good solution to that.

00:26:51 ◼   ► So like for me to like just stop running Overcast and give people a way to, "Hey, you know what,

00:26:54 ◼   ► here, I'm going to make a deal with, you know, Castro or whatever to export your feeds."

00:26:59 ◼   ► Like that, I think, would go over very poorly because it would work very poorly because

00:27:04 ◼   ► there isn't really a good way to do this. And not to mention the fact that like your

00:27:09 ◼   ► usage pattern in different apps is different, whereas in this case, like most people were

00:27:15 ◼   ► not using your website. They were using the API in an app. And so because the API works

00:27:20 ◼   ► basically the same way, like I moved off of feed wrangler a couple months ago, like when

00:27:23 ◼   ► this was becoming apparent, this was probably going to be the direction you were going.

00:27:27 ◼   ► And I didn't even notice, like the next day, I just stopped. I forgot that I had even done

00:27:31 ◼   ► it because everything was basically the same. But yeah, so if anything, I would say like,

00:27:39 ◼   ► you know, don't bend over too far backwards. Like don't spend months shutting down something

00:27:44 ◼   ► or, you know, don't run something well after the point where it's financially viable for

00:27:50 ◼   ► you to keep running it solely because you feel an obligation to people to always continue

00:27:54 ◼   ► doing everything forever. Because, you know, the obligation you have to people ends at

00:27:59 ◼   ► the point where you are losing money or spending way too much time on something like that.

00:28:02 ◼   ► At that point, your obligation is is fulfilled, and you should take care of yourself first.

00:28:06 ◼   ► In this case, it happened to work out that you could you could do both. Yes.

00:28:09 ◼   ► And I think that's absolutely right. And I certainly don't want to give the implication

00:28:12 ◼   ► that you need to go, you go all the way down the road that I went. But I think it was,

00:28:16 ◼   ► it's like I was buying something with that time. And for me, thankfully, it wasn't very

00:28:21 ◼   ► much time. And most of the work Ben was doing it feed bin for the migrator, because it works

00:28:26 ◼   ► out well that he has the motivation to do that, because the better the migrator is,

00:28:29 ◼   ► the more likely it is that people will move to, you know, that will be the place that

00:28:33 ◼   ► people go. And also, but it's just being thoughtful. And it's like being in there's two sides of

00:28:40 ◼   ► it in this in this conversation is like being thoughtful of, is this serving you? Is this

00:28:45 ◼   ► something that is a product or an app or whatever it is? Is this something that should continue

00:28:50 ◼   ► to exist? Or is it reached that process over that to that tipping point and no longer is

00:28:55 ◼   ► worth your effort? And if that's the case, you know, be a little ruthless with that.

00:29:00 ◼   ► Understand that it's it you're going to be you're closing opportunities to yourself by

00:29:05 ◼   ► the number of things that are weighing down your sort of weighing you down from your past.

00:29:10 ◼   ► And then once you cross that point, be kind to be thoughtful to your existing to your

00:29:14 ◼   ► customers, take care of people, and then move on. And when as long as you've sort of done

00:29:18 ◼   ► a reasonable job of taking care of people, and not just like sprung it on them in a mean

00:29:22 ◼   ► way, then more than likely it's going to be fine. And you're sort of preparing yourself

00:29:26 ◼   ► for richer opportunities in the future.

00:29:29 ◼   ► Well said. Thank you everybody for listening. And we'll talk to you in two weeks.

00:29:34 ◼   ► Bye.

00:29:35 ◼   ► [BLANK_AUDIO]