Or try one of the following: 詹姆斯.com, adult swim, Afterdawn, Ajaxian, Andy Budd, Ask a Ninja, AtomEnabled.org, BBC News, BBC Arabic, BBC China, BBC Russia, Brent Simmons, Channel Frederator, CNN, Digg, Diggnation, Flickr, Google News, Google Video, Harvard Law, Hebrew Language, InfoWorld, iTunes, Japanese Language, Korean Language, mir.aculo.us, Movie Trailers, Newspond, Nick Bradbury, OK/Cancel, OS News, Phil Ringnalda, Photoshop Videocast, reddit, Romanian Language, Russian Language, Ryan Parman, Traditional Chinese Language, Technorati, Tim Bray, TUAW, TVgasm, UNEASYsilence, Web 2.0 Show, Windows Vista Blog, XKCD, Yahoo! News, You Tube, Zeldman
Om Malik on blogging:
They are incomplete and by nature more mysterious, more episodic, and thus more interesting. Blogs are meant not to leave you with everything. The whole idea is to think to deliberate, and to come back again and again, to finish what was started a long time ago. But there is no end, just a pause, for a voice to start, talking again.
I love that.
I never became the Hemingway or Fitzgerald type of writer that I wanted to be when I was young. No short stories, no novel, no cover of Life magazine.
But I have written a blog for almost 19 years — and that’s something. It‘s still a new medium, and it’s new to have blogs hitting (and even passing) the 20-years-mark.
Here’s a provisional thought (all thoughts on a blog are provisional) — to read a good blog is to watch a writer get a little bit better, day after day, at writing the truth.
On Not Doing Prepared Talks Any More 11 Jun 2018, 1:09 pm
Some time last year I decided to retire from doing prepared talks at conferences.
I’ve been doing them for 15 years, and I’ve enjoyed some of them. Eventually I started playing with the form, and that was kind of fun.
The best talks I ever did usually had some story-telling parts, and those turned out to be the parts that people liked most. The only problem with that is that my stories usually didn’t have anything to do with the conference. I just like telling stories. Stories about raccoons and squirrels. :)
Preparing a talk is a lot of work, and my standards for my talks kept going up, which meant ever more preparation, and more stress — and since I didn’t love it, I decided to stop.
I don’t mind being in front of an audience, though — I’ll emcee, appear on a panel, moderate a panel, or play in a Breakpoints Jam.
But the actual talks from me are over.
Here’s the thing, though: this means one less middle-aged white man taking up a slot. This is a good thing. If you were thinking of asking me to do a prepared talk at your conference, instead ask someone who doesn’t look like me.
And if you’re having trouble finding someone, just ask me and I’ll help.
Fascism These Days 10 Jun 2018, 5:37 pm
I can write just about anything I want to on my blog for the simple reason that it doesn’t matter.
Times change. Fascists learn. There’s no pressing need to cut off any websites.
* * *
Fascists don’t leave so many fingerprints these days.
Example: there’s no actual agreement anywhere that makes Twitter a de facto arm of the Trump Executive Branch and all its unofficial partners — but it is.
Twitter bans the people who report abuse and it retains the Nazis and Russians. It amplifies the distractions and fills the pipe with lies and outrage. (And gives us special emoji as rewards.)
The truth can’t be found in the ever-thickening fog.
Though Twitter has been used for good, I’m more and more convinced that giving it anything just feeds it. If the medium is the message, then the message is lies, lulz, and bullshit, no matter what you put in.
* * *
That’s not to say that fascists won’t ever take our freedoms away. The fascists grow stronger and bolder, and those who would check their power chicken-out.
But it won’t usually be laws, or even executive orders, that take away freedoms. Think of the NFL, which — utterly disgracefully — now mandates against kneeling.
Samantha Bee survives on TV this year — but will she survive next year?
* * *
What if agents in the Secret Service or FBI begin quietly talking to bloggers or tweeters who express an anti-Trump point of view? No law needed. No take-down notice. It’s just agents doing their jobs.
Would you keep blogging after having a quiet meeting with a couple armed men who — politely and calmly — explain that they’re just checking to make sure you’re not a threat to national security?
Would you even tell anyone about the meeting?
This hasn’t happened to you. Okay. (Or to me.)
But how would you know if this is already happening to other people? If a friend told you a rumor that it was happening, what would you think? Is it plausible from the team that already works so hard to discredit the free press? If you thought it might be true, would it change how and what you write?
Consider that there wouldn’t have to be any order or directive at all from the White House to the Secret Service or FBI. The White House wouldn’t even have to know about it.
This is one way fascism works. It leaves no marks. It doesn’t even have to lift a finger sometimes.
They don’t have to do this at all, in other words. They just have to get to the point where you wouldn’t put it past them. At that point they can let our imaginations and rumors do the rest — and people will surrender their voice.
For the record — and this is super-important — I do not believe this is happening. This is merely illustration, and I’m not that paranoid, and you shouldn’t be either.
The Easy Target 10 Jun 2018, 12:12 pm
The United States of America was the easy-to-choose target for the fascists.
It was the richest and most powerful country in the history of countries. How could any fascist not want to take it over?
It was the work of several decades.
They built up a giant military/industrial partnership — mixing government and unaccountable corporations with secrets — with almost no resistance.
Sure, they faced some setbacks from time to time: the end of apartheid in former slave states, for instance. But they fought back by privatizing the prisons, instituting mass incarceration, and militarizing the police force — and ensuring that it remained a tool of white supremacy.
They stoked fear of communism, as if adding just a penny of tax meant imminent Sovietization; as if labor unions were anti-American insurgents; as if a social safety net would make Jesus cry. As if “equal opportunity” meant Fidel Castro walking into your house with a machine gun.
They gutted the education system and fought knowledge with mass disinformation. They made sure that corporations could and would hook Americans on opioids and blather and outrage.
While some of us did learn that the beauty of America is our constant striving to better understand our founding creed — and finally live up to it — they made sure that half of us believed in America as a land and as a race.
And now that they’ve won — they’ve gotten their orange leader with the red cap, they’ve gotten their system of cruelty — they’re carving it all up for themselves. They’re cutting it all up with jigsaws and burning what they can’t use right now.
There were, and still are, leaders who could fight back, but who just plain refused.
If we’re lucky enough one day to have a true history, those people will go down as among our greatest traitors. Every day I long for that day.
What I Actually Do 2 Jun 2018, 12:14 pm
Now that I’ve switched over to marketing, people — co-workers, even! — keep asking me what I actually do all day.
Fair question. Since I’ll probably get asked the same thing in San Jose next week, I figured I’d write it up.
Our team could be a small software company on its own — we have engineers, testers, designers, and a person who makes movies. Everything I do is part of working with that team.
If you think I’m being paid to be a blogger and podcaster, you’re not too far off the mark, but that description misses some things.
- Inside OmniFocus blog posts
- App Store editorial pitch
- Sponsorship blurbs for podcasts
- App Store description for OmniFocus 3 for iOS
- Product pages and related pages for OmniFocus 3 for iOS and OmniFocus 2 for Mac
- Some first-run text in OmniFocus 3
- Press release
- Other release-related email
- Omni microblog (OmniDogs!)
- Various tweets
Note: again, though, it’s a team effort. Some things go through extensive feedback and editing before being finished.
And some things — like the product pages — will evolve a bunch during design and production. As it takes shape we can see where the writing needs to change.
And some things I write — especially anything that ends up in an app — will probably get revised by other people before it ships.
I do some things besides writing. I edit customer stories for Inside OmniFocus. I work with people who write to Omni’s marketing email address.
And even the writing isn’t just writing — I help figure out what to write, and when, and how to talk about things.
So there you have it. I’m part of a team, and my particular role is the words. And there are a lot of words.
PS See How We Do The Omni Show for what all goes into making the podcast.
Rumor: Running iOS Apps on Macs 31 May 2018, 11:03 am
I’ve heard more than once that at WWDC we’ll learn about how we can run iOS apps on Macs.
I’m worried, of course, that this will lead to the further degradation of the Mac UI, and even less incentive for developers to write Mac apps.
I’m agin’ it. But, also, I don’t know if it’s true and I don’t know any details — so maybe it would be awesome? We’ll see.
Or not see. Could be totally made up. Could just be speculation run wild.
PS “Agin’” is short for “against,” not “aging.” Okay?
Delta Blues 22 May 2018, 1:39 pm
Lately I’ve been trying to learn to play delta blues. I’m not ever going to play like Robert Johnson — nobody ever will — but I’d like to learn it as well as I can. Well enough so that, if you like the blues, and you heard me at a coffee shop, you’d enjoy it.
(Not that I’m going to start playing at coffee shops.)
I’ve been playing guitar for 38 years, and I’ve known the 12-bar blues progression and the blues scale for almost as long. But I always figured that learning to play like this would be way beyond my abilities.
* * *
The first thing to notice is that, in the hands of someone like Robert Johnson, it sounds like two guitars playing.
Roughly speaking: the thumb is doing a regular shuffle beat, often with two strings, while the other fingers are doing fills and melodies. At the same damn time.
I’m a life-long strummer and power-chord player. Flat pick. Rhythm guitarist. I’ve never had to develop this kind of coordination. It’s difficult.
The second thing to notice is that every single pitch your guitar can make is on the table. Sure, there’s a progression and a scale — but players regularly use notes outside the standard blues scale, and they hit pitches, by bending strings, that are between the notes.
And throw a slide in — which I’m learning to do — and it’s just nuts.
This music is incredibly complicated compared to the pop rock I’ve always played.
* * *
But I am learning it. Slowly. It’s going to take a few years before it sounds effortless. Right now I sound like a person trying really hard.
The thing is this, though, and this has wider application: for some reason, when I was a teenager, I told myself that I didn’t have the talent to play anything more complex than basic rhythm guitar.
I learned the cowboy chords, barre chords, power chords, notes in first position — and convinced myself I didn’t have the ability to learn fingerpicking or delta blues or anything that would make me a musician as opposed to just someone with a relaxing hobby.
I honestly don’t know why I thought that! I mean, I learned all this stuff, and figured I couldn’t keep learning at some point?
But here I am, now, learning it. It’s hard, but I’m learning.
* * *
Maybe I was confused by the word “talent.” I didn’t think I had that thing — where is it? I can’t see it — and I figured that, without it, I had hit my wall.
But… I’ve always been good at rhythm. It comes so easy that I thought everybody had that ability. And then I’ve seen other guitarists struggle at rhythm bits that take me no time to learn.
I’m also very good at remembering songs. It’s like I have a karaoke machine in my head. This comes with little effort at all — once I learn a song (sometimes just by hearing it) then, usually, I know it forever.
At least the chords. At least enough to be able to play it by the campfire. (Or at a piano, because that’s a thing I do too. Though I play piano like a rhythm guitarist. :)
Maybe these are some small musical talents that I actually do have?
But: hearing pitches and intervals and understanding melody is much harder for me, and that’s just come with a ton of practice. Mostly by listening, trying to recreate what I hear, and trying to figure out why it works.
* * *
I think I’m making a point about impostor syndrome. I told myself I couldn’t learn to play guitar at a deeper level — at the level of real musicians — and here I am at age 50 wondering why I told myself that, because here I am doing it.
Why did I wait so long?
And, sure, maybe I do have some small amount of musical talent, but whatever. If I hadn’t, I probably wouldn’t have been interested at all.
So maybe it’s a good bet that if you’re interesting in a thing, you may already have some talent for it. And maybe, just maybe, interest and talent are really synonyms, or close to it.
* * *
PS I started playing with a thumbpick to get that bass shuffle sounding good.
The Developers Union 18 May 2018, 1:25 pm
Some of the press coverage about The Developers Union uses words like “angry” and “fed up.” These aren’t accurate characterizations at all. Nobody’s mad here!
But here‘s the deal: Apple controls the App Store and its economics. The system could be set up better to support high-quality apps, by indies, that last for years.
Apple doesn’t have to, of course. But we can ask! It’s totally okay to ask, so we are.
We think that an important first step would be a standardized, App-Store-supported way of offering free trials. (And where, once purchased, Family Sharing works.)
Trial versions have worked great for years for indie Mac developers, before the App Store, and we think it would benefit indies on the iOS and Mac App Stores.
And the platform would get better — and more sustainable — apps. Everyone wins!
If you agree, you can sign up. Add your name. Add your app.
I realize you might be worried about doing a thing that could upset powerful people inside Apple. I strongly doubt that that worry is actually well-founded — but, then again, that’s part of why this is a big list.
* * *
I should note that I’m not doing this as part of Omni. I’m not even doing it for my side projects — they’re all free, and it’s quite possible that none of them will ever appear on any App Store at all.
Instead, I’m thinking of my friends, of developers I admire, of up-and-coming developers I haven’t even heard of yet. I — quite selfishly! — want them to thrive. I want to see what great stuff they could make. I want everybody to have the opportunity I’ve had.
I’ve been lucky, and I’ve done well — and my experience should not be rare.
OmniFocus 3.0 for iOS ships in four weeks.
As Marketing Human, I’ve got work to do! But I’m totally psyched.
Making Apps Is Harder Than It Needs To Be 1 May 2018, 1:26 pm
With the recent talk about Electron and “Marzipan” — or maybe Amber or something, according to Mark Gurman — I’m reminded of a thing I think about kind of often: that making iOS and macOS apps is way harder than it needs to be.
For most apps (except games, I suppose), a huge percentage of the code might as well be written in a scripting language. We absolutely do not need to be writing everything in Swift, Objective-C, C++, or C.
“But Brent,” you say, “what about performance?”
Consider the case where you set up an animation and then run the animation. The system does that animation. Or consider Core Data — your choice of language doesn’t affect how fast it can read from SQLite. Or think of networking — it’s bound by the connection, not the speed of your code. Or think of pushing a view controller onto the current navigation view controller. Or setting up view constraints. And so on.
All this code might as well be Ruby — or, preferably, a scripting language designed for app making. (I would have liked an Objective-C-without-the-C.)
And the thing that would make it all so worthwhile is editing the code while the app is running. You could go all day without an explicit build step!
Sure, some of your code would still have to be written in Swift or whatever. The part that really does have to be fast. I’m a performance junkie myself, so I get this. (Evergreen’s RSS parser is fast, and I wouldn’t switch it to a scripting language.)
But most of most apps (again, probably besides games, about which I know nothing) could be written using a scripting language.
PS Yes, I’m quite aware that we used to have Fix & Continue. And WebScript.
Godot.framework 1 May 2018, 11:08 am
I wouldn’t wait for “Marzipan” or XKit or whatever it is.
We don’t know what it is. But my guess — based on my 38 years of writing code for Apple computers — is that it’s something you can use along with UIKit and AppKit, and not a wholesale replacement.
Maybe it’s a declarative API that helps make some things easier, and maybe you can make a cross-platform button more easily. Maybe your table view code could be the same on iOS and macOS. Great!
But don’t expect Macs to turn into large iPads all of a sudden. Macs are gonna Mac. Apps are going to have multiple resizable windows and a menubar. Targets will still be sized and designed for mice and trackpads.
In other words, if you want to write a Mac app, you’re still going to have to deal with the things that are inherently different about Mac apps, regardless of the specific API.
Let’s say this thing ships in the fall of 2019, over a year from now. If past is a guide, we might imagine it would be fun to play with, but not more useful than, say, the original version of Swift. (Swift didn’t get really good for writing apps until Swift 3.)
So it might be 2020 before it’s something that accelerates Mac development in any real way.
You could write a few Mac apps between now and then.
* * *
I realize that documentation on writing Mac apps is hard to find these days. Books on the subject are rare, and any book you find may be out of date.
One of the reasons I made Evergreen open source is so that people who want to write a Mac app have some examples.
And I just learned that there’s a big list of open source Mac apps. This is way more than than was available when I started writing apps for OS X.
I don’t have time to write a book on Mac app development. I wish I did. I might make the time to do a small article now and then, using Evergreen as example. Maybe.
But it’s not my job (as I have to keep reminding myself). It’s Apple’s job to document and evangelize the Mac platform.
(As an additional part of that, I’d like to see Apple update the Mac App Store, and maybe also deal with some of the issues with sandboxing. It would signal that the company cares about Mac apps. I know it does care, but a more public demonstration would be welcome.)
Check out Automation Orchard, a new site by Rosemary Orchard that is the “place to find resources to help you automate your life.”
I immediately thought of ScriptWeb — which, to my delight, is still up! Though its last update was 2009.
Evergreen/Frontier Status: ODB Work 26 Apr 2018, 1:20 pm
It’s not finished yet — it doesn’t even build.
What it is (or, what it will be)
It’s hierarchical key-value storage. No schemas. Tables can contain tables, with no limit.
This implementation is the lowest level: the part that gets, sets, and deletes data from the database.
It’s application-agnostic, at this level — it doesn’t know about all of Frontier’s data types, for instance. A level on top of this will be needed for new-Frontier.
SQLite, my favorite hammer
I’m not actually writing a new database — I’m using SQLite. And that’s because I’ve been using SQLite for 15 years, and I love it and know it well, and I know how incredibly stable it is. I’m not willing to write my own thing, and I’m not willing to use a thing less mature and rock-solid than SQLite.
How it works:
The schema is pretty simple. There are tables and values.
Every table has an
id. Every table (except the root table) has a
parent_id that points to its parent table.
And every value has an
odb_table_id that points to its parent table.
This way it’s easy to get a table’s children: it takes just two
(Both tables and values also have a
name, since this is key-value storage.)
Tables and values will be cached in memory, so not every call will require a database read.
(Before you suggest I use something other than SQLite, know that I won’t change my mind on this.)
(Also, again: it’s not done yet. Doesn’t even build.)
Why I’m doing this now instead of something else
I’m using schema-less storage for feeds in Evergreen. (Articles and article status, on the other hand, are stored using a schema, in SQLite.)
Currently I’m writing a big binary plist with all the feed data, and it has to be rewritten every time a feed property changes. The writes are coalesced — but still, this isn’t great.
I’m using schema-less storage in part because of syncing systems: I don’t know, and can’t guess, what I’ll need to store. Different systems will have different requirements.
Also: I may add features later that require additional feed properties. I don’t know what those are.
I realized that what I really want for this is a feature from Frontier: hierarchical key-value storage.
Each system will gets its own database on the client. For each, I’ll create an odb table called
feeds. Each feed will have its own subtable. The key will be its id (which may or may not be its URL, depending on the syncing system).
And inside each subtable I can put whatever I want, at any time, without having to change any schemas or implementations.
For the On My Mac account — not synced; reads feeds directly — we keep track of Etag headers in order to support conditional GET. So, for example, I’d want to get, set, and delete
But with most syncing systems we get the feed content from the system itself — not by directly reading the feed. There might be some other data from the service to store:
feeds.[feedID].syncToken, for instance.
You’re Practically a Mac Developer 25 Apr 2018, 1:27 pm
Say you write an iOS app, and now you want to write the Mac version.
Assuming there’s a data model, maybe a database, some networking code, that kind of thing, then you can use that exact same code in your Mac app, quite likely without any changes whatsoever.
That leaves the 20% or whatever that’s user interface. AppKit is not the same as UIKit, but it’s recognizable. Same patterns and concepts, and often similar names (UITableView/NSTableView).
Given that you’ve done the hard thing — learning UIKit, Xcode, and Swift and/or Objective-C — taking the next step and learning AppKit seems like a very small thing. You’ve climbed the mountain already, after all.
You might complain that AppKit has some weird stuff. True. Some of it, though, isn’t truly weird — it’s just weird to you if you’ve never dealt with things like a menubar and multiple, live-resizable windows.
People coming from AppKit to UIKit (few people these days; many people 10 years ago) might also complain about safe content area insets (or whatever the thing is these days) and size classes and all manner of strange stuff they like not having to deal with in Mac apps. UIKit’s weird too, to some people.
Ten years ago I thought that all the new iOS developers would translate to lots more Mac developers. That that didn’t happen is a huge surprise to me. Because if you’re an iOS developer you’re practically a Mac developer already.
(And — little-known secret — the economics of Mac apps appear to be more favorable than for iOS apps.)
The latest episode of The Omni Show is a special episode — we talk about OmniFocus 3 and flexible inspectors, enhanced repeating tasks, batch editing, and the interleaved Forecast view.
Regular interview shows are our bread and butter, but these roundtables are fun to do too. (And I can’t wait for The Omni Show Live next door to WWDC!)
There’s an unofficial Seattle Xcoders this Thursday at the Cyclops in Belltown. I plan to get there around 6 pm.
We’re always in back, next to the bar but technically in the restaurant section. Anyone is welcome — you don’t have to be a coder! We regularly have designers, testers, support people, product managers, and so on.
Heck, even if you’re a fan, you should come. Should be a beautiful night to hang out with some fine folks.
I was happy to read that Unread 1.9.3 now handles untitled posts better. Very cool.
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.
Now I’m in a Pickle with this Web Stuff 16 Apr 2018, 1:25 pm
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.
Laura Savino explains the difference between optimal compiling and compiling with optimizations — and which Swift flags mean what.
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.”
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.
The View-Source Web 15 Apr 2018, 1:14 pm
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:
- Quotes for attribute values are optional (when there are no spaces), and
- There are semantic tags for things where before you had to guess at the author’s intention. We have
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.
History belongs to those willing to hit publish.
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.
Micro.blog now supports podcasting. Wow. Manton is busy.
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.
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.
I’ll be hosting The Omni Show Live at a conference right next to WWDC. Can’t wait!
Evergreen Status 9 Apr 2018, 1:22 pm
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.
RSS Readers and Posts Without Titles 9 Apr 2018, 1:02 pm
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:
- Use the first part of the
descriptionin the timeline, after stripping HTML.
- Show the post in its entirety in the detail view — but minus a title. No “Untitled,” no synthesized title. Just no title at all.
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.
It’s the future
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.