BiteofanApple Archive About Apps Microblog Photos Links
by Brian Schrader

The Scope Creep is Real

Posted on Sat, 06 Oct 2018 at 08:34 PM

With development on v1.2 wrapping up, and a releasable version in sight, I've been thinking about why this version has taken so much longer than the previous two. My answer in short: I kept adding features. 1.2 is a huge update, and it was intended to be, but as time went on it kept getting bigger mostly because I kept wanting "just one more feature". On the web side, I've improved the performance, finished most of the groundwork for the public API, added lots of tests to ensure I'm not accidentally breaking things, and added a 7-day free trial for new users. On the iOS side I've added the ability to follow and unfollow sites directly from the app, recommend sites to other users, browse a site's previous posts, you can now post to your own site, and there's a new Search/Discover tab with a browsable directory of new and interesting sites to follow. All in all, version 1.2 has probably 2-3 times as many features as the 1.1 version does, and I can say that v1.2 is at a point now where it has most of the features I originally envisioned for

With all that though, I'm not sure if it's a better strategy to release a steady stream of minor updates or hold things back for a few big releases every couple months. The same work gets done, but the steady stream means that more features would be released sooner instead of being held back for a major release. On the flip side though, its a lot harder to promote and get people excited about a minor release than a major one. And even if one approach is better than the other, I'll probably still find myself tacking on "just one more thing" into every release (I guess the hard part is limiting myself to just one "just one more thing").

Regardless, I'm super excited to get v1.2 out into the world, so keep a weather eye on the horizon.

Pine v1.1 is Out & A Special Moment

Posted on Fri, 13 Jul 2018 at 06:33 PM

Pine v1.1 for iOS is out today! This release ended up being a bit smaller than I'd originally intended, but it has enough fixes and improvements that I didn't want to sit on it any longer. Along with a few bug fixes and performance enhancements, Version 1.1 adds a couple of really cool features:

  • Images now show up in a beautiful slideshow in the timeline, rather than just in the full post view.
  • Siri can now read the contents of an article to you, which is really nice for keeping up with the news on a walk or ride.
  • If a feed doesn't specify an image, Pine will grab the site's App Icon, or Favicon to show instead.
  • Fixes a nasty issue that would cause scrolling to be really choppy.

Sign up for a subscription to start using the app today!

Pine Joins the Wall of Apps

On an episode of ATP years back, Marco Arment mentioned that he gets prints of his app icons made in order to have a physical reminder of what he's built. I really liked this idea, so for the last couple of years I've done the same thing, and last week, my Fracture of the Pine iOS app icon arrived and is now on my wall.

I think this is my favorite print so far. The colors are stunning.

To paraphrase Marco: Software Developers spend hundreds of hours building a thing that can affect hundreds (or thousands) of people, but since it's software, you can't touch it or take a picture of you in front of it like you can with a bridge or something.

Pine joins Adventurer's Codex and MyGeneRank as the third app I've built (or had a big hand in building).

When you build and ship software, there's no tacky trophy, no photo of the ribbon cutting, or blueprints of the structure; nothing you can easily take home and keep as a reminder. Having physical prints (and especially Fracture prints) of your app icons is a nice little momento of all of the effort and time you spent to make a thing.

On the Future of Social Media

Posted on Wed, 11 Jul 2018 at 01:40 AM

I just finished the newest episode of the Ezra Klein Show with Jaron Lanier. Jaron spends a good portion of the episode talking about how the systems we've built into the internet, and social media specifically, have really had a negative effect on civil discourse.

One question Ezra brought up really struck me:

If you were building, or you were redesigning a social network that would call forth our better selves... what do you think would be the parameters of that? What rules would you set such that it would urge us to be a better version of ourselves, not a worse version?

Their discussion really resonated with me. Jaron mentioned that he thinks that the algorithmic nature of today's social media and the algorithms used in advertising are both large causes of a lot of the strife we see online. He argues that how we measure engagement (clicks, posts, activity, etc) allows the most impassioned people (and often the most hateful) to drive the conversation.

I've been thinking a lot about what makes good social media recently because of Pine. I think that a new generation of social media will revolve around the principles that users have control over what they see, that they own the content they post, and that no one person or company controls all the ways they see the world. I think that, combined, these changes make social media better for us all.

It's a really good episode; highly recommended.

Jaron Lanier’s case for deleting social media right now →

RSS Has Already Won

Posted on Fri, 06 Jul 2018 at 11:39 PM

It's been a little over 5 years since Google Reader shut down and the world of RSS readers was tossed into the junk drawer of collective memory. But, looking back on it today, I'd actually argue that RSS and Feeds as a whole never really disappeared, only the Feed Readers did.

In building Pine, and as a long time Feed Reader user, I've been pleasantly surprised over these last 5 years to see that most sites still have RSS feeds. Sure, Facebook and Twitter don't support them, but YouTube, Reddit, Squarespace, Wordpress and so many more do by default.

Feeds of all kinds still exist, nearly forgotten, in the markup of most websites, and this means that Feed Readers can, and will, make a comeback someday. The foundations are already laid; the hard work is done. RSS Feeds became a standard, and were built into the tools we use to make the web today. It's almost as if we laid the tracks and built the trains for a trans-continental railroad, but we've just forgotten how to sell tickets.

What we're waiting for now is a resurgence and a new interpretation of what a Feed Reader can or should be. Sites like focus heavily on building a social network of readers and microbloggers, while Pine focuses on discovering new and exciting people and sites to follow and new ways to interact with them, and RiverNews is a more traditional reader.

Others have said this, but I think it's more true by the day: the Feed Readers, they're coming back.

Pine for iOS Released!

Posted on Thu, 05 Jul 2018 at 11:32 PM iOS App Logo

It's official: the app for iOS is available on the App Store! The app is free for all and requires a premium subscription to

With this version you can quickly and easily check up on your timeline and your favorites, and the app refreshes in the background so that you're always up to date with the latest news and posts from any site you follow.

Version 1.0 is pretty slimmed down, which is why I was able to get something out so quickly after the initial Pine launch, but don't worry; there's lots of great features planned for the app. Overall, I'm trying to keep releases fairly small so that they can be released more often.

So far, I'm planning for v1.1 to include the ability to:

  • Post to your own site, just like you can on the website.
  • See who you follow and to follow and unfollow sites from the app.
  • Preview images from posts directly from the timeline (like how a lot of Twitter apps show images).

Thanks to all the Pine users for making this possible, and if you enjoy Pine, please tell your friends!

A Sneak Peek: Pine for iOS

Posted on Fri, 15 Jun 2018 at 12:42 PM

It's been a few busy weeks since I first launched Pine, a new kind of Feed Reader. And while it's not quite ready for prime-time yet, here's a sneak peek at the official Pine app for iOS.

The app will be free and require a Pine subscription to use. My favorite features though are the Dark Mode and Dark App Icon support.

The first version of the app is pretty bare bones with only only a few screens: your timeline, likes listing, and full article view. And while you'll of course be able to share and like posts, Version 1.0 will not have any sort of search or follow/unfollow support (though that's coming soon afterwards).

Deciding what to cut and what to keep is always hard, but I've once you've set up Pine in the browser, this version of the app should have enough features for a nice day-to-day experience.

I've been using the app for a couple of days now and it's really shaping up into something special. Hopefully it will be ready for launch soon.

Announcing Pine: Microblogging for a New Generation 🎉

Posted on Wed, 23 May 2018 at 11:30 AM

Pine Logo

Today I'm announcing Pine, a new kind of RSS Reader and Microblogging client. I've been developing Pine, in addition to a bunch of other projects for a while now, and it's finally time to show it off to the world.

In a classical sense, Pine is a Feed Reader, but it's really more of a successor to my old Microblogger project from way back. Not only can users follow the people and sites they want, but you can also use Pine to post to your own Wordpress site and find new sites and people using the built in search. In a lot of ways Pine and are similar with a few key differences and, from what I can tell, both Manton and I started working on them at around the same time. Pine is my contribution to a new ecosystem of open social networking tools and services. Anyone on can follow people on Pine and vice-versa.

Pine is also my first venture into building paid software. It's $5 per month and at that price I don't have to sell ads or do anything shady to earn money.

I've been reluctant to post anything about Pine until it officially launched, but now that it has, I've got a few interesting design decisions I'd like to talk about. Building a feed reader has always been on my to-do list, and it turns out that there's a lot more to it than just parsing feeds.

I've got a lot of great new features planned, including an iOS app which should be coming soon. If you're interested, give Pine a shot, and let me know what you think!

Pine →

The People vs. Democracy

Posted on Sat, 19 May 2018 at 01:46 PM

I just finished Yascha Mounk's excellent book The People vs. Democracy. In it Yascha talks about how the two main parts of a Liberal Democracy are now at odds with each other, not working together.

  • A democracy is a set of binding electoral institutions that effectively translate popular views into public policy.
  • Liberal institutions effectively protect the rule of law and guarantee individual rights such as freedom of speech, worship, press, and association to all citizens (including ethnic and religious minorities).
  • A liberal democracy is simply a political system that is both liberal and democratic — one that both protects individual rights and translates popular views into public policy.

...Democracies can be illiberal...[especially] where most people favor subordinating independent institutions...or curtailing the rights of minorities they dislike. Conversely, liberal régimes can be undemocratic, despite having regular competitive elections.

I've been thinking a lot about that distinction lately. Democracy is kind of a holy word in our society, a thing that cannot be bad, but as Yascha points out, the original democracy in Athens was known for executing writers and philosophers, and not extending suffrage past its male elites. It's the combination of Enlightenment era liberalism and democracy that gives us the systems we see around us today. Yascha's main point is that this combination seems to be falling apart all over the world as systems either become less democratic, or less liberal, or both at the same time.

Yascha also dives into the possible causes of this split, and how to fix it; from social media to housing prices. It's a fascinating read, and it really changed the way I think about today's political climate for the better. I haven't torn through a book that quickly in a long time.

Safari's WebSocket Stream View

Posted on Sun, 04 Mar 2018 at 10:16 PM

I've mentioned before that Adventurer's Codex uses XMPP over WebSockets for it's live-chat and party features, and we're planning to add lots more of these kinds of features in the future. That being said, as a developer, I've had a pretty difficult time building features that rely on WebSockets because it's kind of annoying to see exactly what is being sent and received over the connection. I know that Chrome has some features to help with developing WebSocket applications, but I've never had a good experience with them, and I use Safari as my default browser for both casual use and for web development.

That said, I stumbled across a new WebSocket Stream View in Safari's Dev Tools and, just like when I discovered that Git supports notes, I got really excited. Clicking on an active WebSocket connection now brings up a live timeline of every message sent and received by the browser over that connection. It even shows the ping/pong frames that the browser occasionally sends to verify that the connection is still open.

safari websocket viewer

Safari's New WebSocket Stream View

I'm hoping that this new view will make it a lot easier to debug problems because I can now see exactly what's being sent over the connection. I'm not sure when this was added to the Safari Dev Tools, but it's definitely very welcome.

Git's Hidden Feature: Notes

Posted on Sun, 04 Mar 2018 at 08:37 PM

When I'm programming I tend to create a lot of experimental branches to test my ideas before actually implementing them, and a lot of times I'll leave these branches in some half-state or with uncommitted changes. Then when I come back I've forgotten what I was doing and why. After running into exactly this problem earlier today, I started wondring if there was something built into Git that would give me a place to write notes to myself without committing.

Well, apparently there is: Git has built in notes!

According to the docs you can use the command git notes which:

Adds, removes, or reads notes attached to objects, without touching the objects themselves.

It's always exciting for me to discover a cool new tool, and even more so when I learn more about one I already use.

Git Notes Documentation →



Creative Commons License