Browse through the showcased feeds, or enter a feed URL below.
Brent Simmons’s weblog.
A feed by Brent Simmons
Permalink - Posted on 2018-04-17 19:21
On the Omni blog I wrote up how we do The Omni Show.
The post explains my approach to marketing, unchanged over the decades:
I don’t have some grand marketing philosophy, other than 1) make great apps, and 2) look out and let other people look in.
Permalink - Posted on 2018-04-16 20:25
What I’d rather do: run that little web server on the actual server, and do the static-site generation there. That way I can post from my iPhone and iPad, not just from my Mac.
But… here’s where web deployment gets tricky. I’m on an inexpensive shared host plan at DreamHost. The machine is running an older version of Ruby that’s incompatible with my scripts.
That is, if I could figure out how to use this stuff and get it installed on the server. Looks like something I could spend weeks doing (remember that my hobby coding is limited to nights and weekends).
Alternately, I could get an inexpensive VPS from one of the various providers and set things up there. That might be easier — maybe I could skip RVM and Bundler and just install the things I want to use in the old-fashioned way.
But then I have to deal with a bunch of other things myself, including setting up Apache or Nginx. All the things DreamHost does for me automatically I’ll have to handle myself. That doesn’t sound like fun at all.
I totally don’t know what to do. It’s not my plan to become a Ruby deployment expert or to be on the hook for running a server all the time. I’ve done way too much of that kind of thing for one lifetime already, and I’ve mostly been glad to be out of it.
What surprises me is that in 2018 it still requires so much work just to get a CGI script running on a server. It should be easier.
Permalink - Posted on 2018-04-16 20:05
Laura Savino explains the difference between optimal compiling and compiling with optimizations — and which Swift flags mean what.
Permalink - Posted on 2018-04-16 18:54
On the blues harp:
A diatonic harmonica is designed to ease playing in one diatonic scale…
Blues harp subverts the intention of this design with what is “perhaps the most striking example in all music of a thoroughly idiomatic technique that flatly contradicts everything that the instrument was designed for.”
Permalink - Posted on 2018-04-16 18:27
Jason Kottke reminds us that blogging is most certainly not dead, and that there are great blogs out there.
My only objection is the use of the word “dead” to apply to things that aren’t alive. Even when you’re saying that something is not dead.
I’ve done it myself. It’s shorthand, yes, but it’s a broad binary take when something more nuanced and true would be warranted.
Permalink - Posted on 2018-04-15 20:14
A line in Frank Chimero’s article Everything Easy Is Hard Again, published a couple months ago, has stuck with me:
That breaks my heart, because so much of my start on the web came from being able to see and easily make sense of any site I’d visit. I had view source, but each year that goes by, it becomes less and less helpful as a way to investigate other people’s work.
One of the ironies of this is that HTML5 makes it easier than ever to make readable, simple HTML. I especially like two things:
article, and similar now.
So I adopted the semantic HTML5 tags, simplified a few things, and now the source is as easy to read as any HTML I’ve ever written.
Lesson learned: the discoverable and understandable web is still do-able — it’s there waiting to be discovered. It just needs some commitment from the people who make websites.
Permalink - Posted on 2018-04-13 18:28
History belongs to those willing to hit publish.
Permalink - Posted on 2018-04-12 20:56
Steven Aquino, in Giving Tweetbot a More Accessible Design, writes that Twitter’s official client for iOS does a good job with accessibility:
The UI design is much higher contrast — Twitter for iOS even acknowledges when you have the system’s Increase Contrast setting enabled, as I do. And, crucially, the official client natively supports alt-text, which allows users to append image descriptions for the blind and low vision before tweeting.
Permalink - Posted on 2018-04-12 18:17
Micro.blog now supports podcasting. Wow. Manton is busy.
Permalink - Posted on 2018-04-11 16:16
I interviewed Aaron Bendickson — Omni sysadmin, pinball wizard, Very Patient Man Who Loves His People and Isn’t Bothered At All Ever By All My Incessant Questions — for the latest episode of The Omni Show.
Permalink - Posted on 2018-04-10 23:50
Permalink - Posted on 2018-04-09 22:39
Pitas.com, an old blogging community, is being relaunched via Kickstarter.
Blast from the past, sure, but we can make new things by borrowing from the past.
Permalink - Posted on 2018-04-09 21:59
I’ll be hosting The Omni Show Live at a conference right next to WWDC. Can’t wait!
Permalink - Posted on 2018-04-09 20:22
Things have slowed down for Evergreen — but only temporarily.
I had to spend some time turning 50 years old, which was ridiculously good fun. (One day I hope my 11-year-old nephew and I finish the cover of “Smells Like Teen Spirit” we were working on!)
And… my nine-year-old blogging system needed an update, and I just couldn’t stand it anymore, so I rewrote it. It’s nearly finished now — finished enough that I can post to my blog again, at least.
And then I realized that I had kind of a mess with Evergreen and Frontier frameworks. I was thinking about how I wanted Frontier’s hierarchical key-value database (which I haven’t written yet) in Evergreen — and so, obviously, they should share this framework. And, well, there are a bunch of frameworks they should share.
So I started work on converting over to Git submodules, so that they can share frameworks, and so the frameworks can live in their own separate repositories. Which of course also meant learning how Git submodules work in the first place.
And it turns out that Frontier doesn’t build right now, and needs to be updated for Swift 4. But it needs to build before I can tell if I’ve got frameworks-as-submodules set up there correctly.
Anyway — long story short — there’s finishing the blogging system and then doing a bunch of housekeeping stuff.
In other words: it’s infrastructure week! (And will be for a few more weeks, I expect.)
And then I’ll be back to Evergreen. It should be just one more push of a few months to get it to 1.0.
Permalink - Posted on 2018-04-09 20:02
I’m quite aware that my recent blog posts without titles look weird in some RSS readers.
Here’s the thing, though: the RSS
title attribute was always optional. It’s just that RSS readers were written with the expectation that it was mandatory.
If you write an RSS reader with a timeline and detail view, here’s what you could do:
descriptionin the timeline, after stripping HTML.
If you want to see an example, subscribe to this blog in Evergreen. Sure, it’s not 1.0 (or even beta) yet, but it handles title-less posts the way I’ve described above.
Here’s why this is important:
We’re already seeing more and more microblogs, and we’re seeing blogs like this one that have some long posts and some microblog posts. (When you see the word “microblog,” think tweet-like, but with HTML.)
This is an important part of the future of blogging. It’s the movement away from posting to Twitter first — instead, you post to your blog (or microblog) and then, optionally, echo the post to Twitter.
Permalink - Posted on 2018-04-09 16:21
Permalink - Posted on 2018-04-09 04:22
Maybe you haven’t played Maelstrom since the ’90s. Maybe you haven’t even thought about it since then.
But here’s the thing: you can still play it today.
Permalink - Posted on 2018-04-09 02:06
I wrote last February on why Micro.blog is not another App.net.
Though that article had a bunch of good reasons to use Micro.blog, I didn’t really say why I use it.
This vile season, run by crime families, shot through with bad faith and giddy injustice, with the highest frauds and the lowest characters, has me looking everywhere for the exit.
But there is no exit. There are only choices: each of us can choose to do things, usually small, that will help make things better.
We could continue to flock to Twitter and Facebook — we could keep paying those who have and will rip off democracy for a stock price — or we could turn our backs and help the open web instead.
We could say goodbye to the creepy targeted ads and the algorithms, to the Nazis and bots and propagandists, to the harassers and the people selling hate. We could stop being spied-on for profit.
But only if we make the choice, and then work at it.
We could dine out forever on our knowing that it was all doomed — that we were too smart to try, too wise to risk even the smallest lift. We knew it all along.
Or we can make the moral choice of renewal, of planting new bulbs and helping this old tree, a little bigger now, flower again.
Our hearts may end up broken. Again.
Permalink - Posted on 2018-04-08 18:37
I realized that I want my blog to be me on the web. This used to be true, but then along came Twitter, and then my presence got split up between two places.
To make this work, I needed two things that my old system from 2009 didn’t provide:
In other words, I needed to be able to write tweet-like posts with no title — while on the go, on my iPhone or iPad.
I’ve done #1 and part of #2 — now it’s just a matter of figuring out how to deploy the system to my server (which is a shared host on Dreamhost, but where I can run CGI scripts).
The code’s up on GitHub. I don’t really expect other people to use it, but you can, if you want to. I apologize in advance for not having time to write extensive documentation or provide support.
The system’s pretty fast: it rebuilds this almost 20-year-old blog in about three seconds on a five-year-old iMac. The code is, I hope, understandable and hackable, and I welcome you to fork it if it interests you.
* * *
Another part of this: I’ll stop using micro.inessential.com. This blog will be my blog and my microblog. I want just one place that’s me.
I don’t know if I’ll have my posts here automatically echoed to my Twitter account. Maybe. They do already appear on Micro.blog.
PS Titles were always optional for RSS, but most feed readers don’t handle this well. Evergreen was written with this in mind. (It’s not 1.0 yet, though. Working on it!)
Permalink - Posted on 2018-04-08 05:32
I’ve been rewriting my blogging system — more on why later — and this is a post just to prove to myself that title-less posts now work.
Update a few minutes later: And now I’m proving to myself that editing still works.
Permalink - Posted on 2018-03-14 19:09
In this episode we talk with Dave Lonning, who writes documentation for Omni apps. Dave’s a long-time fan of role-playing games — running them and creating them — and he lived for years in Japan before making his way to Omni.
Among Dave’s hobbies is painting miniatures:
Dave, it should be noted, is a cat person — but, importantly, he’s learned to love the Omni dogs. They’re good dogs, Dove.
Permalink - Posted on 2018-03-10 00:50
I’ve got some career-change news that might sound weird at first but that I promise will make sense in a minute: I’m quite happily still at Omni, but I’m switching from engineering over to marketing.
I am the new Marketing Human, a new member of the Design department.
If you think of me as an engineer, you’re not wrong — but the secret, hidden in plain sight, is that throughout my career I’ve done a whole bunch of design and things that could be called marketing.
Blogging could be called marketing, after all, and today I wrote my first post for the Omni blog.
(For whatever freakish reason, writing has never been a chore to me — I love it. Sometimes I think I only make apps just to have something to write about.)
But the new job isn’t just blogging — I’m also doing a podcast. I’ll help figure out the marketing points behind the release of OmniFocus 3. I’ll write some ads. I’ll create new websites. I don’t even know what all the different things are yet.
I’ll also help with defining future versions of our apps, which is super-exciting for me. This keeps me close to the process of app-making — at a different level, sure, but at a place where I’m quite happy, since I’ve done this kind of work with Frontier, NetNewsWire, MarsEdit, Glassboard, Vesper, and now with Evergreen and back to Frontier.
In other words, I’m using the skills I’ve learned as an indie and sort-of-indie over decades — just not the skills I write about here that often.
Make sense? Cool. :)
* * *
For now, until OmniFocus 3 ships, I’m splitting my time: doing this and continuing to work directly on the Mac app. After that I’ll be a full-time Marketing Human.
If you want to get in touch with me, you can email me at marketing at The Omni Group’s domain name.
* * *
One interesting part of this — at least for me — is that, for the first time in decades, I’ll be back to writing code purely for fun. I’ll continue to work on Evergreen and other apps on nights and weekends, for sure. And I’ll keep writing about code on this blog.
But engineering will just be my hobby. I love that.
Permalink - Posted on 2018-03-03 06:06
A year ago I was working on a microblogging system and wrote a bunch of it, but I didn’t actually finish it.
When I realized it’s not what I actually want, I shelved it.
The app is called Greenwood. Partly because I like the freshness it evokes — it’s a great name for a fresh, simple start — and partly because Greenwood is the neighborhood next to mine (I’m in Ballard), and I’ve been giving things Pacific Northwest names lately.
* * *
Blog posts are stored as separate files on disk. There’s a place for attributes at the top of each file, and then the rest is Markdown.
It’s written in Ruby; it’s a Sinatra app. It’s fast. I tested it using eight years of inessential.com’s files.
My plan was to put it in front of a caching Nginx server, so it would essentially run as fast as a statically-rendered site.
There’s surprisingly not much code. And, well, that’s because it’s unfinished.
And — as it says at the top of the README in the repo — DO NOT DEPLOY THIS APP AS-IS. IT IS NOT SECURE.
Permalink - Posted on 2018-03-02 22:33
Script Debugger has long been the secret weapon of people who write AppleScript scripts — and now it’s at version 7. Better than ever!
(Bonus tip: FastScripts is a great utility for running AppleScript scripts. I use it all day every day.)
Permalink - Posted on 2018-02-28 19:51
She’s also a knitter — we have a pretty strong group of knitters here — and a cat person.
Me too. In fact, I’m going to go find a place in the sun to curl up. :)
Permalink - Posted on 2018-02-15 00:14
I’d done almost no iOS work since system 7 came out — but, once we were finished with OmniOutliner 5 for Mac (a release I’m super-proud of), it was time to go work on OmniOutliner 3 for iOS, and so they pulled me back in. :)
I was just one person on a much bigger team, of course. I helped indent some things and helped with filters. But there’s a whole bunch more besides — it’s a big release.
And it’s the first OmniOutliner for iOS release with a lower-cost Essentials version ($9.99). And it’s a free trial.
And I’m super-proud of this release, too.
Permalink - Posted on 2018-02-14 20:22
The Scottish Play is mentioned, but only as “the Scottish play.” So we’re all good there — if you’re in a theater right now you can safely listen to this.
Permalink - Posted on 2018-02-07 05:49
RSParser is now a CocoaPod! It’s my first.
I’m super-proud of myself for taking this the last few tiny steps of the way there — Silver Fox did all the rest of the much-appreciated work.
This means that if you’re a CocoaPods user, you can now go forth and parse feeds.
Still to do: support Carthage and Swift Package Manager. And, after this repo, there are at least a half-dozen more to do.
But that’s okay — doing open source is what I signed up for, and learning and using the infrastructure is part of the gig.
PS I really like what happens in the Terminal when you successfully publish a pod. Here’s a screenshot.
Permalink - Posted on 2018-02-06 21:08
(Disclaimer: before I get started, I should take extra care to note that I don’t speak for Omni. This is my personal blog, with my personal opinions.)
Every time I make some criticism of the App Store — that, for instance, the 30% cut for Apple is too high, or that free trials would be a good thing — some number of people respond that Apple is a business and they’re allowed to do what they’re doing.
They may also remind me that this is capitalism, and that I can vote with my feet — that is, go create an Android app (or whatever) where the cost is presumably lower.
And they remind me that I should work with the world as it is, rather than the world as I want it to be.
They’re not wrong. Of course Apple is a business and is within their rights to charge whatever they want to charge, and developers could go do something else. And when making business decisions we have to look at facts and best extrapolations, not wishes and ponies.
But that misses the point entirely.
* * *
The point is that we are allowed — even in a capitalist system! — to criticize and to ask for changes. You can ask your spouse to put away the dishes more often; you can ask your kids to do their homework before dinner; you can ask the government for universal health care or corporate tax cuts; and you can ask Apple to lower the App Store cut.
Imagine if Starbucks charged $20 for a latte. You might complain about it and ask them to lower the price. Even if there’s another coffee shop nearby with much less expensive lattes, you still might.
Yes! Even in a capitalist system you can do this! It’s totally a-okay! Even if they’re within their rights (they are) to charge that much. Even if they are a business!
There’s no sacred verse that says businesses acting lawfully can’t be criticized. Nothing says we can’t advocate for change. In fact, I’d say that that’s part of capitalism, too.
* * *
So I got into a lengthy Twitter argument about Apple’s 30% App Store cut.
My thinking is that a lower cut provides more incentive for developers to invest in high-quality, long-lived apps — and that that’s good for the platform and good for users, and good for Apple, and so everybody wins.
It’s at least worth trying (this being capitalism, there are no guarantees of success) — and, since Apple is the wealthiest company in the history of companies, they could afford to try this.
If I’m right, then everybody wins: Apple, users, and developers. And if I’m wrong, Apple is not in any financial jeopardy.
* * *
I don’t think I’m misunderstanding or breaking the rules of capitalism by saying this. Nor am I telling developers to base their business decisions on fantasies.
But somebody will tell me that I am.
Permalink - Posted on 2018-02-01 21:01
We could be excused for thinking that Micro.blog is like App.net — a Twitter alternative greeted with enthusiasm but that eventually closed.
It’s not the same thing, though, and I’ll explain why.
Micro.blog is not an alternative silo: instead, it’s what you build when you believe that the web itself is the great social network.
That’s the important part: even if Micro.blog doesn’t last (though I believe it will), the idea — that the web itself is where we are and where we talk to each other — will continue.
And: Micro.blog could be just one of thousands of similar services. And those services would all work together, because they’re made of web-stuff.
Pick your year. I like 2003, since that was when I released NetNewsWire 1.0, an early Mac RSS reader. You might prefer 2000 (nice round number) or 2005 (things were a bit more advanced).
But if you think of the years 1995-2005, you remember when the web was our social network: blogs, comments on blogs, feed readers, and services such as Flickr, Technorati, and BlogBridge to glue things together. Those were great years — but then a few tragedies happened: Google Reader came out, and then, almost worse, it went away. Worse still was the rise of Twitter and Facebook, when we decided it would be okay to give up ownership and let just a couple companies own our communication.
Even if those companies had the public interest in mind — and they most definitely do not — they hold far too much power over something too fundamental to give up: our own human voices.
Twitter and Facebook are convenient, sure, but so are fossil fuels, and the cost was similarly unknown for a long time. But now we have some idea just how bad these things are for the world.
Micro.blog rewinds us to 2005 (or pick your year) — but, also, it has learned the lesson that people really like a timeline of short posts. People like being able to write and reply easily to other people. Good to know!
When you post to Micro.blog, you’re posting to an actual blog with an RSS feed and everything. The blog might be hosted by Micro.blog, or it might be some other blog somewhere else. (Could be a WordPress blog, for instance.)
Your posts are just a normal, everyday part of the open web. At this writing, mine appear on micro.inessential.com — but it’s on my to-do list to have those appear on my main blog (this blog) instead. (Probably won’t happen until after I ship the app I’m currently working on.)
And this is how it used to be, and how it never should have stopped being: my blog is me on the web. I own my blog: I own me.
And so everyone who follows me on Micro.blog sees my blog posts, and I see theirs. Simple.
And anyone who wants to could just read my blog in an RSS reader instead. All good, all open.
Replies are a little trickier. (Micro.blog is not a finished thing — the-web-as-social-network is not a finished thing, and, we hope, never will be. That’s totally fine.)
Replies don’t appear on your blog (though this could become an option, I suppose) — but they are sent as a WebMention when possible, which means even replies are part of the open web. You can read more about replies and @-mentions on the help site.
I expect this area to get more work in the future, especially as it’s part of the key to making Micro.blog part of the great social network but not the great social network (the web itself).
If you’re running the Micro.blog app on your iPhone or Mac, it really does look like a slimmed-down Twitter. This is by design. But don’t let that deceive you.
If the web is a river, Micro.blog is water, where Twitter and Facebook are dams.
You might think this is too difficult for normal people, that it’s all too nerdy, and that it won’t make headway against Twitter, so who cares.
My reply: it’s okay if this is a work in progress and isn’t ready for everybody yet. It’s okay if it takes time. We don’t know how it will all work in the end.
We’re discovering the future as we build it.
Permalink - Posted on 2018-01-31 18:49
Check out episode #7 (I wish we had called it 007) where Ken Case talks about all the good stuff coming up in 2018.
You can subscribe to the podcast or just listen to this episode — there’s a player on the page. Or you can read the transcript.
* * *
I’ve been wondering if other companies in our world are doing similar podcasts.
It may be that Omni’s size is somewhat unique in the Mac and iOS world: it’s big enough that we won’t run out of people to interview and topics to talk about, which could be tricky for a 5- or 10-person company. And it’s small enough to still be intimate — my goal is to eventually interview every single person who works here. (Though, of course, people can decline: it’s not required!)
Anyway: there was a time before companies had blogs, and now they have blogs. I wonder if more and more companies will find value in having a podcast too.
Permalink - Posted on 2018-01-25 21:21
When IndieWeb started, some years back, the first thing I noticed was that they appeared to be against the idea of feeds — or, at least, what they called side feeds: RSS and similar.
Their idea was that the data a reader might collect should be encoded in the page itself, using microformats. The argument (I think; I hope I’m not misrepresenting anyone) was that microformats are simpler than mantaining a separate file.
I don’t know which thought occurred to me first:
I took it personally, since I’d spent much of my career working with feeds, and I took this as a suggestion that my career was all wrong and they wouldn’t be interested in someone like me, someone who would be an ally in their committment to the open web.
I objected on practical grounds, too. Feeds have been and remain tremendously successful — see podcasting, for one thing — and the way forward is to build on that success. And, while I understand the elegance of microformats, side feeds have critical advantages that microformat-feeds don’t.
So I decided to ignore IndieWeb.
Here’s the thing, though: that was me being a total jerk.
(I’m telling you about this so you can learn from my mistake.)
But Manton also works with IndieWeb, and has mentioned any number of good ideas they have that I should look into.
It took me a while, but I realized that I was acting like a Clinton or Sanders supporter still arguing with the other side about the 2016 primaries — after losing the general election to a monster, after the point where those small differences matter at all.
And then I started to get excited about IndieWeb. I may have a difference of opinion when it comes to feeds, but who the hell cares when there’s so much good stuff to do? (They’re not holding my opinion against me; why should I hold theirs against them?)
And so I decided to support the h-feed format in Evergreen (hopefully in 1.0). That’s just for starters: I also decided to look into everything else and see what makes sense to support.
My default position now is: if a format or API or syncing service makes sense for a feed reader, then I’ll (at least try to) support it.