Manton Reece
About Archive Photos 30 days Replies Reading Search Also on Micro.blog
  • Woke to the sound of tree branches breaking under the weight of ice. No power. Made a fire. Sun starting to come up. ❄️

    → 7:18 AM, Feb 1
  • January is almost over. Micro.blog has been much more stable after the few glitches we had in November as Mastodon was blowing up. We’ve had ActivityPub support since 2018, but only needed to learn how to actually scale it recently. Progress.

    Screenshot showing recent uptime of Micro.blog from October through January.
    → 10:57 AM, Jan 29
  • A little morning work and coffee at Lazarus. ☕️

    → 9:47 AM, Jan 27
  • Mastodon DMs on Micro.blog

    One of the last missing pieces for Mastodon compatibility was improving DMs, which I rolled out yesterday. We don’t have DMs as a core feature on Micro.blog because I think private messaging needs to be handled very carefully, and not every social network should have its own messaging system. iMessage and Signal are better for this.

    DMs just going into the void isn’t good either, though. The compromise we’ve settled on is that when someone from Mastodon sends you a DM, Micro.blog forwards that message to you in email. The email now includes a link to a form for you to send a reply back to Mastodon:

    Screenshot of Micro.blog DM reply form.

    There is no message history and messages are deleted automatically after 60 days.

    → 8:50 AM, Jan 27
  • Good morning! Slightly busy schedule today. New day, new possibilities.

    Sunrise over trees.
    → 8:43 AM, Jan 26
  • New fiber going up in the neighborhood? Not sure who’s installing this but can’t hurt.

    Big coil of cable on the street.
    → 11:19 AM, Jan 10
  • Epilogue 1.5.1

    Happy New Year! We shipped an update to Epilogue today that makes blogging about last year’s finished books more discoverable. If Micro.blog found any blog posts to include in your reading goal for 2022, it will show this at the top of the Goals tab:

    Screenshot of Epilogue 1.5.1 reading goals

    Unfortunately I discovered after the calendar flipped over to 2023 that sometimes this button doesn’t show the right default new post text. I’m working on an update to fix that. (The button icon and spacing is also wonky.)

    I’ve been going back and forth on how to expand the reading goals feature so that it can find more books. Currently it only works if you blogged about a book as you finished it. 2022 was a bit of an experiment, but 2023 is an opportunity for new habits. More blogging, less Goodreads.

    → 1:13 PM, Jan 1
  • Working a little on the next Micro.blog for Mac update. Probably will ship early January. Includes a new icon in the modern macOS style! (Thanks Brad Ellis!)

    Screenshot of new Mac icon.
    → 12:33 PM, Dec 28
  • Lighting kit for the LEGO Fiat.

    → 7:01 PM, Dec 27
  • Epilogue 1.5

    We released a new version of Epilogue for both iOS and Android. I’m finally getting these platforms in sync. I think our bet on React Native is paying off.

    This version adds a new post screen to your reading goals. As you blog about books you finished reading, Epilogue keeps track of them. At the end of the year, you can use the new post screen to compose a blog post with all the books you’ve read. Each book cover links to your blog post about the book.

    You can see what my books post for 2022 looks like here.

    This uses a new Micro.blog plug-in called Book reading goals. If you don’t have the plug-in installed yet, Micro.blog will automatically install it when publishing your blog if needed. (Epilogue works with any blog that supports the Micropub API, but this feature is only for Micro.blog because of the plug-in.)

    Here’s a screenshot of the new screen on iOS. You can edit the text before posting.

    Screenshot of Epilogue new goals post

    With this feature, I’ve completed the transition away from Goodreads, and don’t plan on using it going forward. Good luck with your reading goals in 2023!

    → 10:29 AM, Dec 26
  • Got a new game: The Great American Mail Race. Similar to Ticket to Ride so I knew we’d love it. The ink stamp to track your score is perfect.

    → 1:10 PM, Dec 25
  • I’ve been trying to walk up to the coffee shop every other day. Mostly quiet out as I headed back home, sky reflecting on the lake but no rain yet.

    → 1:49 PM, Dec 10
  • CDN for Micro.blog blogs

    Micro.blog has always tried to put all the important URLs for your blog at your own domain name if you have one, including URLs for photos you post to your blog. I like this because it’s consistent with prioritizing content ownership, and makes migrating photos to another blog host easier in the future. We like clean, simple URLs.

    Today we’re adding an option to enable serving photos from a content delivery network. This will update your photo URLs to use the CDN, while your home page and other blog pages will still use your own domain name. As your blog grows, especially with years of uploaded photos, this can really improve performance as people visit your blog from all over the world.

    To enable the CDN, click on Design and look for the “ Use content delivery network for images” checkbox:

    Screenshot of CDN checkbox.

    There is no extra charge for this feature, and it’s included in all plans. Happy photo-blogging!

    → 8:50 AM, Dec 8
  • Moving from Mastodon to a new instance or to Micro.blog

    Mastodon has a feature to move accounts from one instance to another instance. I spent some time recently exploring how this works so that we could support it in Micro.blog. I used this to consolidate my ActivityPub presence from multiple Mastodon accounts to just @manton@manton.org, powered by my blog and Micro.blog.

    From what I can tell, this feature is not well-documented. It does not exist in the ActivityPub spec. The “Move” activity examples in the companion ActivityStreams spec also do not cover moving accounts. So I’ll document some of the technical bits here in the hope that it’ll be helpful to other folks.

    To move accounts, 2 things are required:

    • From the new instance, set up an “alias” that links your new and old accounts.
    • From the old instance, initiate a migration to the new instance.

    The Mastodon documentation says that aliases should be set up on both sides of the migration, but this does not seem to be required. In my testing, an alias is only needed on the new instance.

    Because I wanted to move to Micro.blog, I added an alias in Micro.blog that references one of my old accounts: @manton@mastodon.social. You can find this in Micro.blog under Account → View Mastodon Details → Aliases.

    Screenshot of Micro.blog aliases page.

    Aliases are added to the ActivityPub profile information in the field alsoKnownAs. Here’s a snippet of my info:

    {
      "preferredUsername": "manton",
      "name": "Manton Reece",
      "alsoKnownAs": [
        "https://mastodon.social/users/manton"
      ],
      …
    }
    

    For debugging, I often use curl on the command line to poke around at people’s accounts. To see my full ActivityPub JSON, use something like this with the “actor” URL returned from WebFinger:

    curl -L -H "Accept: application/activity+json" https://manton.org/activitypub/manton
    

    The next step is to sign into the old Mastodon instance and tell it to move to Micro.blog. Mastodon will take a few actions when this starts:

    • It will verify that there’s an alias on Micro.blog, confirming that both accounts are yours.
    • It will lock your Mastodon account, updating the profile to tell people about the new Mastodon instance. (In my case, actually powered by Micro.blog.)
    • It will send a “Move” activity to all the instances for all your followers, telling them to update their references to point to your new username.

    The “Move” activity is sent to each follower’s inbox just like other activities such as “Create”. It includes a field target for the new instance that the user is moving to:

    {
      "actor": "https://mastodon.social/users/manton",
      "target": "https://manton.org/activitypub/manton",
      …
    }
    

    Mastodon won’t add alsoKnownAs to your ActivityPub profile on the old instance, but instead it will add a similar field named movedTo with the new actor URL:

    {
      "preferredUsername": "manton",
      "name": "Manton Reece",
      "movedTo": "https://manton.org/activitypub/manton",
      …
    }
    

    Updating your followers can take quite a while. Likely hours and possibly over a day, if you have hundreds or thousands of followers. It makes sense that this is a very low priority background task. You can watch the progress as Mastodon essentially decrements your follower count on the old instance.

    Here’s what Mastodon now looks like for my account, to tell people that I’ve moved:

    Screenshot of Mastodon.social with moved account.

    This is a fairly new feature in Mastodon, and I expect we’ll need to keep refining our support for it as there is more real-world usage. If you’re using Micro.blog, also remember that Micro.blog is not Mastodon. You can follow and reply to anyone on Mastodon, but you can’t use Mastodon-only clients like the upcoming Ivory from Tapbots.

    What about moving in the opposite direction, away from Micro.blog to Mastodon? We’ll be adding that later. ActivityPub is only currently enabled for new Micro.blog users, or if you’ve manually enabled it, so I want to wait until we’ve enabled it for all users. Otherwise there will be no way to move Micro.blog-only followers.

    → 10:19 AM, Dec 2
  • Micro.blog has a mini Goodreads-like feature built in. Why not! I love books and this helps me blog about what I’m reading. The bookshelves account page is one of my favorite things.

    Screenshot of Micro.blog bookshelves page.
    → 11:14 AM, Nov 30
  • Great to see all the posts from folks participating in Microblogvember. I’ve added a new pin for the challenge. It should be redeemed on your Micro.blog account within the next couple days if you used at least 2/3 of the words this month.

    Screenshot of pin with leaves in Micro.blog.
    → 8:48 AM, Nov 30
  • Closed.

    Construction sign along a path at a rest stop on I-10 in east Texas.
    → 11:37 AM, Nov 27
  • Another photo from our quick coffee stop in Opelousas. Old federal building, unused now, built in 1891.

    → 8:14 PM, Nov 26
  • Java Square Cafe, in the building for an old bank in Opelousas, LA. ☕️

    → 5:33 PM, Nov 26
  • Another random railroad, driving over on a misty day in Louisiana. 🚂

    → 4:26 PM, Nov 25
  • Pre-turkey Ticket to Ride. 🦃

    → 3:15 PM, Nov 24
  • On the road today. Louisiana rest stop. 🐊

    → 3:35 PM, Nov 23
  • Old mailboxes on Burnet Road.

    Old rusty mailboxes on the side of the road.
    → 8:53 AM, Nov 22
  • Love the owl who moved into a tree in our backyard. @traci set up a tripod and moved the Nest camera, so expect more owl photos and maybe video if we can catch him in his evening routine.

    → 2:33 PM, Nov 20
  • An appropriately cold day in Austin. Coffee and server troubleshooting while the rain falls outside. ☕️

    → 1:34 PM, Nov 19
  • 2 weeks on the road

    Last month I flew out to Portland and rented a van from Escape Campervans. The trip started because of meetings but it kept getting extended as I tacked on more places to visit. I posted some photos while I was on the road, which I’ll link again below, but I wanted to summarize a few thoughts now that the trip is over and I’m back in Austin.

    It was a fantastic experience. I figured at the end of it, I’d either be completely burned out on the van lifestyle or ready to stay on the road. I’m glad to be home, but not burned out.

    My daughter and son joined me for a few days at the beginning and end of the trip, too. It was great to share part of the experience with them and helped avoid loneliness while so long away.

    Here are the main camping locations from the trip:

    • Ainsworth State Park, Oregon. Literally the last night the camp was open before winter. Had the Multnomah Falls basically to myself because it was cold and rainy and kind of a miserable early morning outside.
    • Fort Stevens State Park, Oregon. Loved exploring around Astoria. Planning to be back.
    • Cape Lookout State Park, Oregon. Rained all night. Not good beach weather, but a good stop while heading down the coast.
    • Umpqua Lighthouse State Park, Oregon. Still want to eventually visit all lighthouses on the west coast.
    • Prairie Creek Redwoods State Park, California. Beautiful trees, so much to see in nearby parks. Driving through Avenue of the Giants was a highlight.
    • Salt Point State Park, California. Beautiful rocky views of the ocean after the twisting turns of Highway 1.
    • Courtyard at Fisherman’s Wharf, California. A hotel! Ditched the van in a parking lot for a day to explore the city. Felt luxurious.
    • New Brighton Beach, California. Outside Santa Cruz, stayed here 3 nights. 10 minutes to nice coffee shops to catch up on work.
    • Terminal 4, California. Interesting campground on the water, north of the Richmond Bridge. Abandoned buildings everywhere, felt like a post-apocalyptic drive to a view of San Francisco.
    • Marriott at Union Square, California. Splurged on a hotel again for the final night. Saw Bono’s show at the Orpheum Theatre.

    Stopped at many other parks, coffee shops, bookstores, and beaches along the way. I’m going to publish my check-in history later.

    The timing wasn’t ideal because it felt like Twitter was imploding as I was on the road. There was a lot of new interest in Micro.blog. I worked a little every day, but some days not enough. Even so, having the flexibility to just pull over into a park and use my laptop on the table inside the van from anywhere was pretty great.

    I can’t overstate how different it is to have a van to eat and work and sleep in compared to tent camping. It rained for a significant part of the trip, pretty much every day in Oregon, but it never ruined anything.

    Waterfalls. Oregon somewhere. Oregon beach. Mickey Mouse. Oregon cliffs. The van. Gardens sign. Oregon rocks. Redwoods. More beaches. More ocean. Coffee shop. Lighthouse. Sunset. Jungle Book. Orpheum Theatre. BART.

    Feel very lucky to have been able to take this trip. I learned a lot of what to do and not do. Wasted some money on food I could never finish using. Spent a fortune on gas. Nervously navigated cities in a van larger than what I’m used to driving.

    But the good days made it so worth it, and even with occasional extra stress of last-minute planning I felt that time slowed down… Awake with the sun, coffee and work, beautiful vistas, some driving, cooking dinner, popping open a can of wine, then reading and bed when it got dark. It was very freeing. I don’t think it was a midlife crisis, but I did feel a few years younger, reminding me of backpacking in Europe ages ago. After some months back at home, pretty sure I’ll be ready to get back out there.

    → 3:18 PM, Nov 15
  • On the BART for a while.

    → 5:01 PM, Nov 13
  • Not Frozen, although I’d like to see that too one day… Bono: Stories of Surrender. Incredible show. Couldn’t think of a better way to wrap up a couple weeks on the road.

    Outside the Orpheum Theatre in San Francisco.
    → 1:11 AM, Nov 13
  • One of my favorite places in the world: the Walt Disney Family Museum. Checked out the Jungle Book special exhibit, organized in large part from Andreas Deja’s collection. These are 4 animation drawings by Frank Thomas.

    4 drawings by Frank Thomas from Jungle Book.
    → 3:29 PM, Nov 12
  • Kind of a bizarre camp location tonight, had my doubts as we were approaching on the road past shuttered houses and buildings from another era, but the view at sunset was worth it. Terminal 4 at Point San Pablo.

    → 9:16 PM, Nov 11
  • Walton Lighthouse.

    → 2:42 PM, Nov 10
  • Coffee and overnight oats at Cat & Cloud. Great start to the workday. ☕️

    → 12:08 PM, Nov 10
  • New Brighton State Beach. Wi-fi at the park, 10 minutes to Verve Coffee… I may never leave.

    → 7:08 PM, Nov 8
  • A few days ago at Salt Point. After camping, detoured into San Francisco for a day of being a city tourist with reliable wi-fi.

    Pacific ocean and rocks at Salt Point State Park.
    → 1:07 PM, Nov 8
  • Avenue of the Giants.

    → 8:30 PM, Nov 6
  • Somewhere along the Oregon coast yesterday.

    → 11:20 AM, Nov 6
  • ⬆️ Garden House, at Shore Acres State Park.

    Path leading to the gardens with sign
    → 3:06 PM, Nov 5
  • The van at Umpqua Lighthouse State Park.

    → 12:43 PM, Nov 5
  • Devils Churn.

    → 7:01 PM, Nov 4
  • My traveling buddy for this road trip.

    → 10:06 AM, Nov 4
  • Found the ocean. Fort Stephens State Park.

    → 7:04 PM, Nov 2
  • Figured there be some kind of view between Portland and the coast. Stopped about halfway, a nice break in the rain.

    → 10:14 PM, Nov 1
  • Multnomah Falls early this morning. A little cold and wet outside, had the place mostly to myself.

    Waterfall in Oregon.
    → 3:08 PM, Nov 1
  • Voted. 🇺🇸

    → 4:49 PM, Oct 26
  • End of the line in Galveston. 🚂

    Train tracks.
    → 12:19 PM, Oct 24
  • Do not cross the red line. 🛳️

    Dock at Puerto Costa Maya / Mahahual, Mexico.
    → 3:04 PM, Oct 21
  • Good morning from somewhere in the Gulf of Mexico. 🛳

    Photo of the sunrise from our cruise ship balcony
    → 7:19 AM, Oct 20
  • Out of the house this morning for errands, a break for a little while at Epoch Coffee on Anderson Lane. A Day in the Life in Austin, 8:15am. ☕️

    Photo outside at Epoch Coffee
    → 7:26 AM, Oct 14
  • Some of the Micro.blog pins are special and only appear when they’ve been unlocked. Here’s what the new pin will look like if you participate in A Day in the Life 2022:

    Screenshot of A Day in the Life pin
    → 9:51 AM, Oct 13
  • From this morning, coffee at Stinson’s. Looking at this photo, the text almost looks like a digital overlay. But no, the obnoxious TM is there in real life. ☕️

    → 2:33 PM, Oct 11
  • These are really good.

    Hatch chile and sweet lime sandwich cookies.
    → 6:05 PM, Oct 5
  • Hello there. Looking right at ya. 🦌

    → 2:07 PM, Oct 5
  • My book is about 70 short chapters, and to keep track of editing I made a spreadsheet long ago with notes and color-coding: red for chapters that needed a lot of work, orange for small tweaks, and green for ready to go. Going to do another editing pass and call it done.

    Screenshot of book progress spreadsheet
    → 9:45 AM, Oct 3
  • Skylight.

    → 5:57 PM, Oct 1
  • Attaching multiple photos in M.b

    Today we’re rolling out better support for attaching multiple photos to a post in Micro.blog on the web. The native apps have been able upload to multiple photos with a post for years, so it’s a little embarrassing that it has taken so long to get the web version updated too.

    If you click on an attached photo, you will also see new options for removing the photo or setting a description for the photo, which is included in the HTML’s alt tag.

    Screenshot of attaching multiple photos

    Attached photos are added at the end of a post. We think this streamlined approach to the UI is the best default for most people. If you want to mix the photos in between paragraphs of text, you can continue to use the “Copy HTML” button on the Uploads page and paste the img tag into your post. Our companion iOS app Sunlit also has more control over post layouts.

    Note that these improvements do not change how photo posts are displayed in the Micro.blog timeline. Short posts with a single photo or a few photos are shown inline, and longer posts are truncated with a link back to your blog.

    Enjoy! Happy photo-blogging.

    → 7:34 AM, Sep 29
  • New feature! When adding feeds, you can now set posts to import to a blog instead of just showing up in the Micro.blog timeline. Great for keeping everything in one place or syncing between multiple blogs. Deserves a longer write-up, but for now here’s a screenshot.

    → 10:33 AM, Sep 27
  • Introducing Meridian

    Over the summer, Jon Hays and I started working on a new project to build a places database that can power location check-in apps. It’s based on OpenStreetMap, but focused just on places. We call it Meridian, and it has the amazing domain name latl.ong.

    For years I’ve been using Foursquare to check into places like coffee shops, restaurants, and landmarks. I love having a record of places while traveling, and I’ve published many of them to a special blog. I just don’t like depending on a single company for this data.

    Meridian is open source and separate from Micro.blog, but it will form the foundation for location check-in features in our apps like Sunlit and Micro.blog. You can see a little of what we have planned for Sunlit in these screenshots:

    Why build something new like this? There seemed to be a missing platform for small location apps. Foursquare is increasingly interested in business customers. Google is full of ads. OpenStreetMap is a great start, but also has quite a learning curve. If all you want is nearby places, it’s too much work to bring along all the overhead of a full mapping API.

    The architecture of Meridian will allow other platforms like Micro.blog to host their own copy of the data, feeding back into Meridian and OpenStreetMap. The goal is to design something as distributed as possible, where multiple people using different apps can add new places to grow the database, while still having an API that is simple to use. We’ll iterate on it slowly but there are already some pieces in place to start experimenting with. Should be fun!

    → 8:48 AM, Sep 26
  • Over the weekend we made a bunch of little refinements to Micro.blog on the web. Here’s a screenshot of the Bookshelves page which now has recent book covers.

    → 7:08 AM, Sep 26
  • MetroRail near the MLK station a couple days ago.

    → 8:31 AM, Sep 25
  • Sunset at UT.

    → 6:18 PM, Sep 23
  • Houndstooth on MLK. ☕️

    → 7:26 AM, Sep 23
  • Waterloo Park with the capitol mirrored in windows.

    → 4:06 PM, Sep 22
  • A couple nights ago at Kelly Reeves.

    → 6:45 PM, Sep 19
  • Mueller Lake Park. I like the reflection of the clouds in the water.

    → 9:00 AM, Sep 17
  • After working at a coffee shop downtown, took a break to read by the trail. Finished reading: Mr. Penumbra’s 24-Hour Bookstore by Robin Sloan. Loved everything about this book. 📚

    → 10:43 AM, Sep 13
  • Early beta of Micro.blog 3.0 for iOS

    Today we’re excited to announce an early preview of Micro.blog 3.0 for iOS. We are rebuilding the app to move closer to feature parity across iOS and Android. We’re updating the user interface based on years of feedback, adding a tab bar and cleaning up some screens in the app.

    Screenshot of timeline Screenshot of discover
    Screenshot of menu Screenshot of post editor

    This is a major update, and it will take time to get right. The first 3.0 beta is missing several features from the current 2.3 release for iOS. Post editing, managing uploads, creating pages, external blog posting, and more will follow in later betas. There also is no special iPad split view yet. If you want to try 3.0, we’d love to hear what you think, but note that it may be months before the beta catches up with the current shipping iOS release.

    You can join the new TestFlight beta here. You can’t have both versions installed at once. If you want to go back to the 2.3 release, just download it again from the App Store.

    → 8:51 AM, Sep 13
  • The Killers at Moody Center.

    → 10:29 PM, Sep 9
  • Train tracks at east 6th.

    → 6:37 PM, Sep 8
  • Austin from the other side of Longhorn Dam.

    → 11:39 AM, Sep 2
  • We’ve been playing Root more. It took about 4 play-throughs and watching multiple how-to videos to finally get the rules right. Great game. 🎲

    → 9:12 AM, Sep 2
  • Our app Epilogue is the little happy place I go when I need to work on something fun and simple. But it’s not wasted procrastination time… It also contributes back to the larger goal of encouraging posting to your own blog. Sneak peek at next version.

    Screenshot of Epilogue goals tab
    → 7:23 AM, Aug 30
  • New game, Root. One of the most complicated board games to get started with because every player’s rules are different, but like it now we’ve figured out the basics. Really nice design. 🎲

    → 9:02 PM, Aug 28
  • Deer out exploring after last night’s rain. The grass is starting to look green again.

    → 4:13 PM, Aug 28
  • DART tracks at DFW.

    → 2:06 PM, Aug 24
  • The icon for our app Epilogue has bugged me since I whipped it together for version 1.0. I should probably get a real designer to make a new one, but I spent a little time this week coming up with a new one that I like. Old on left, new on right. Goodreads-inspired colors.

    Epilogue icons
    → 7:39 AM, Aug 24
  • Lunch at Fort Brewery in Fort Worth. 🍺

    → 12:34 PM, Aug 21
  • Raining over downtown Austin, from Mopac.

    → 2:50 PM, Aug 18
  • St. Peter’s in Bordelonville, LA.

    → 12:35 PM, Aug 17
  • Gas is really expensive in California. But at least we got this cool total. 12345!

    → 9:21 AM, Aug 14
  • Great few days in San Diego, then drove up for a quick 24 hours at Disneyland. Dinner last night at Lamplight Lounge in California Adventure, watching World of Color.

    → 6:35 PM, Aug 13
  • Deployed a server tweak that may improve some of the flakiness today. Now back to vacation mode with a beer and my book, looking out at San Diego.

    → 5:02 PM, Aug 11
  • Torrey Pines State Natural Reserve.

    → 5:56 PM, Aug 10
  • Love the glasses at James Coffee Co. ☕️

    → 9:46 AM, Aug 10
  • San Diego model train museum. So many landscapes. Some really nice bridges and little details everywhere.

    → 7:09 PM, Aug 9
  • Landing in San Diego.

    → 2:10 PM, Aug 9
  • Stopped in Corsicana for a coffee and world-famous fruitcake to go. I don’t even love fruitcake, but I’m fascinated with the Collin Street Bakery history. Next up need to watch the Fruitcake Fraud documentary. ☕️

    → 3:52 PM, Aug 6
  • We released a new beta of Epilogue for iOS. You can now tap and hold on a book cover in Discover to quickly add it to one of your bookshelves.

    Screenshot of context menu in Epilogue
    → 1:42 PM, Aug 1
  • We’ve continued to tweak the new profile popup so that it’s more usable. Faster, smaller, and off to the side a little now. Pretty happy with this version! Here’s a screenshot to capture the progress.

    Screenshot of profile popup.
    → 8:27 AM, Jul 29
  • Wrapping up another quick trip to Denton. Breakfast earlier at Avoca Coffee. ☕️

    → 11:50 AM, Jul 28
  • Finished reading: My Neighbor Totoro by Tsugiko Kubo. A short book, for kids or Miyazaki fans. Adds more details and scenes than the movie. Wonderful. 📚

    → 3:59 PM, Jul 23
  • New t-shirt.

    → 7:43 AM, Jul 23
  • We like huge flags in Texas.

    → 7:57 AM, Jul 22
  • Chuy’s patio. 🍸

    → 9:27 PM, Jul 20
  • Out walking yesterday. Can’t remember if this was before, during, or after it was too hot.

    → 4:49 PM, Jul 18
  • Running out of room on my laptop for big stickers, so I cut this Gowalla sticker to fit on the corner.

    → 11:15 AM, Jul 16
  • First time back to Red Horn in a year. ☕️

    → 10:44 AM, Jul 12
  • Old ranch right next to a brand new office building. This guy’s probably wondering why his space is being encroached on.

    → 9:36 AM, Jul 12
  • Wind turbine blades going up I-35.

    → 5:31 PM, Jul 9
  • A cute Little Free Library at the Blue Bell factory in Brenham from a couple weeks ago.

    → 8:45 AM, Jul 8
  • First time at Cosmic Coffee, in south Austin after selling a car at Carvana. Great outdoor space. ☕️

    → 8:25 AM, Jul 6
  • Helping @cheesemaker test early game builds on Playdate. First crash. So fun to see games come to life on this little device.

    → 9:34 AM, Jul 3
  • Brenham courthouse from yesterday’s short road trip. Built in 1939. Would be fun to visit all 254 county courthouses in Texas.

    → 9:02 AM, Jun 26
  • Crossing the Brazos River where San Felipe de Austin was located in the 1820s, part of Stephen F. Austin’s colony.

    → 2:22 PM, Jun 25
  • Micro.blog plug-ins can have a settings screen to change config parameters. I’ve added a new field type “color” that I’m hoping will be useful to customize the design of more themes. Modern web browsers provide a color picker for these. (Example config for this screenshot.)

    Color config screenshot
    → 3:45 PM, Jun 24
  • Tokaido at Vigilante Gastropub & Games.

    → 8:38 PM, Jun 23
  • You may have noticed that we added a new status bubble to Micro.blog on the web. Makes it easier to tell if Micro.blog is still working on publishing your blog post when it takes more than a few seconds. It also links to your log so you can jump to recent progress messages.

    Screenshot of publishing progress
    → 8:30 AM, Jun 22
  • Got a hardcover of The Lies of Locke Lamora, which I had only read in e-book before. Want to re-read it after I get through some more of my current reading list. 📚

    → 11:44 AM, Jun 19
  • Coffee shop photos template

    I take a lot of photos at coffee shops. For some reason this morning I thought it would be fun to create a page on my blog that just shows coffee photos. I already use Micro.blog filters so that whenever I include the ☕️ emoji in a microblog post, it assigns the Coffee category:

    Coffee filter screenshot

    The next step was to create a template layouts/_default/coffee.html in my custom theme that would pull posts from this category. It grabs the latest 100 posts, then also checks if the post has a photo (“photos not equal nil”):

    Finally, I created a template content/coffee-photos.md to tell Micro.blog to use that template when creating the web page:

    Voilà! Looks pretty good.

    → 9:24 AM, Jun 18
  • Playdate has arrived! 🕹

    → 1:37 PM, Jun 17
  • West Oak Coffee Bar from over the weekend in Denton. ☕️

    → 10:03 AM, Jun 15
  • UNT campus.

    → 2:58 PM, Jun 13
  • Murals outside Aura Coffee. Protect kids not guns. ☕️

    → 1:48 PM, Jun 12
  • “If you love books enough, books will love you back.” — Jo Walton

    → 8:51 AM, Jun 12
  • d20 Tavern in Denton. Such a great idea. Tons of games and 20 beers on tap, so you can roll a d20 to randomly select a beer. We played the NYC Ticket to Ride. (My daughter also wrote an article about the place for the Denton Record-Chronicle!)

    Photo of glass of beer and board game
    → 9:54 PM, Jun 11
  • Micro.blog will now keep track of previous versions of a blog post when it’s saved. It will keep these extra copies for 60 days. It’s designed as a simple, short-term backup in case something is edited or deleted that needs to be restored. Here’s a screenshot of the new link:

    Screenshot of Micro.blog versions links
    → 8:39 AM, Jun 9
  • I’ve added a special Micro.blog pin if you mention “WWDC” in a microblog post today. Screenshot of a few of my pins… You can view these under the Account screen.

    Screenshot of Micro.blog pins
    → 9:22 AM, Jun 6
  • Lunch yesterday. I usually keep a mask in my pocket wherever I go, but forgot it for some reason and so dug in my backpack and found this old Mickey cloth mask from early in the pandemic.

    → 8:27 AM, Jun 3
  • For the last couple weekends we’ve been updating our bathrooms. New cabinets, sink, mirrors. Our house was filling up with old paint cans and cardboard, so loaded it up to take to the recycle center today. Could’ve flattened these a little better.

    → 12:51 PM, Jun 2
  • Micro.blog 2.5 for Mac with replies, bookshelves

    We shipped version 2.5 of Micro.blog for macOS today. I had originally intended to just add a new Replies section of the app for this version, but it looked kind of lonely by itself, so I added Bookshelves too, with a multi-window interface for managing books you want to read or blog about. This uses our existing JSON Feed-based API for books data.

    Here’s a screenshot of my bookshelves:

    Screenshot of book windows in Micro.blog for Mac

    You can download the latest version from the help page or choose “Check for Updates” from within the app.

    If you’re puzzled by why Micro.blog has all these book-related features… We have a lot of members of our community who love to read and write. If it’s easier to blog about books you’re reading, we can eventually build a distributed, web-scale alternative to Amazon-owned Goodreads. This won’t happen overnight. It’s a years-long goal and just one of many facets of the IndieWeb that we’re interested in.

    Books are also great for mental health and thoughtful commentary, broadening our understanding of other perspectives, which maybe the world could use right now.

    → 8:41 AM, May 31
  • Trying to get back into the photo challenge after missing a bunch of days. Today’s word is beverage. Stopped at a food truck for brisket tacos and much-needed bottled water on a hot day.

    → 12:21 PM, May 20
  • Bike and outliners with M.b

    Blogging and outlining share a long history together. Userland’s Clay Basket could create a full static site from an outline. NetNewsWire 1.0 had a built-in outliner for notes and blog publishing that would later be spun out as MarsEdit.

    Recently there have been new outliners that work with Micro.blog. I blogged about publishing to Micro.blog via Dave Winer’s Drummer. Maurice Parker wrote about his Zavala outliner and integrating it with Micro.blog via Shortcuts.

    Bike is a new Mac outliner from Jesse Grosjean of Hog Bay Software. It has a clean interface that feels closer to a text editor than most outliners, and it can save as OPML and plain text. I’m also fascinated that the native .bike file format is just HTML.

    I wired up publishing from Bike to Micro.blog with Maurice’s Humboldt that provides Shortcuts for Micro.blog. It looks like Bike has great AppleScript support. You can iterate over the rows in an outline, or you can just grab the contents as HTML like this:

    tell application "Bike"
    	set doc to front document
    	export doc as bike format
    end tell
    

    Note that the export command requires a paid Bike license.

    Screenshot of Shortcuts

    You can download my test shortcut here. It’s a little hacky. It strips out the HTML header/footer with a simple find-and-replace in Shortcuts. It will need a little more work if you want to clean up the outline and publish real blog posts with it.

    → 10:38 AM, May 19
  • Try hard. ☕️

    → 10:32 AM, May 19
  • Avoca Coffee in Denton. ☕️

    → 8:51 AM, May 15
  • Good morning! Busy day but first a little work and coffee. ☕️

    → 7:16 AM, May 10
  • Driving through our old neighborhood, a lot has changed in the 20 years since we lived there, but the little grocery store and deli remain.

    → 4:04 PM, May 9
  • Not a silhouette, but the only photo I took today that reminds me of one. Kind of the opposite.

    → 10:36 PM, May 6
  • Herbs and flowers in the earth, for day 5 of the photo challenge. Happy Cinco de Mayo! This is from lunch on the patio at Mi Madre’s.

    → 12:44 PM, May 5
  • Day 3 of the photo challenge is experimental… Didn’t have a good idea for the photo until I was reading (Wise Man’s Fear) and noticed “experiment” on the page. 📚

    → 8:30 PM, May 3
  • Photo challenge, day 2. I bought this camera last year thinking it would be worth it for the zoom, especially for school events like marching band. I don’t use it often but the photos are priceless.

    → 3:57 PM, May 2
  • Last month was difficult in ways I haven’t blogged about yet. Needed a break, so loaded up the kayak to take a little peaceful time on the water after working downtown this morning.

    → 10:42 AM, May 2
  • The photo challenge is underway! Day 1, switch.

    → 9:32 AM, May 1
  • Achievement unlocked? No idea where the key is to this old lock and the trick with leveraging the force of 2 wrenches together totally works to bust it open.

    → 2:15 PM, Apr 27
  • Email response time in Help Scout for the last couple of months. Average about 14 hours. Could be better but I feel good about this… Huge improvement compared to last year.

    → 10:46 AM, Apr 27
  • Morning everyone. Coffee and work outside at Cenote. ☕️

    → 10:08 AM, Apr 27
  • Lunch earlier at Torchy’s. Hadn’t been there in a while, nice to see some menu tweaks like fresh avocados instead of fried. 🌮

    → 4:47 PM, Apr 26
  • Walking around Barton Springs for the first time in a while. Kind of shocked to see Shady Grove closed and rundown.

    → 12:30 PM, Apr 24
  • Barton Creek.

    → 12:06 PM, Apr 24
  • Raining a little this morning. Coffee at Lazarus. ☕️

    → 7:30 AM, Apr 22
  • Bouldin Creek Cafe. ☕️

    → 7:43 AM, Apr 21
  • Needed to be in Georgetown for a band UIL concert this afternoon, so had a long lunch sitting outside at Hat Creek with my laptop. Nice spot above the San Gabriel River. 🍔

    → 1:49 PM, Apr 20
  • If you’re not on Micro.blog Premium, you might not know that Micro.blog has a read-later bookmark interface with highlights. Helps when blogging and quoting. I updated the Dark Mode interface for it today, switching to an orange-ish highlight instead of the murky yellow before.

    Screenshot of Micro.blog highlights
    → 1:15 PM, Apr 20
  • Micro.blog mobile and tablet redesign

    Today we launched a design update for the Micro.blog web interface. Vincent has been working on this with a focus on the mobile interface especially, and it looks great on the iPad as well.

    In the previous version, when viewing on mobile the sidebar would collapse and you’d get a hamburger menu that was clunky to use. Now, the most important menu items like Timeline, Mentions, and Discover will move to the header, with a new popover menu for accessing other features.

    You can see the new layout even on desktop by just resizing your window smaller. Here’s what the header looks like on tablet and at small desktop window sizes:

    Micro.blog on tablet screenshot

    And on the iPhone, with the new popup menu open:

    Micro.blog on iPhone screenshot

    We are very excited to roll this out. The iOS and Android apps will always be a great choice for posting or checking replies, but they can’t do everything the web version can do. The web version of Micro.blog is now much nicer to use everywhere.

    → 8:52 AM, Apr 19
  • Thunderbird Coffee. Kind of cold outside this morning. ☕️

    → 7:45 AM, Apr 19
  • Waterloo Park.

    → 12:55 PM, Apr 18
  • Can’t believe we’re already getting peaches on the new tree. Only planted it a few weeks ago and thought it might be years until it was big enough.

    → 4:55 PM, Apr 15
  • Walking through the capitol grounds after an appointment downtown this morning.

    → 9:10 AM, Apr 12
  • Spurs vs. Mavs, last game of the regular season. 🏀

    → 8:49 PM, Apr 10
  • Finished a bunch of work this morning, now taking some time to get into the 2nd book of The Kingkiller Chronicle. Already can tell I’m going to love it. 📚

    → 12:23 PM, Apr 9
  • Bluebonnets around the neighborhood.

    → 8:29 AM, Apr 4
  • I’ve been reading a lot of e-books and audiobooks, so wanted to pick up something new in print. Just arrived: The Girl Who Fell Beneath the Sea by Axie Oh. 📚

    Book cover
    → 2:00 PM, Mar 29
  • New Spurs mural on east 4th. Getting coffee around the corner at Wright Bros. ☕️

    → 7:26 AM, Mar 25
  • Bookmark improvements in Micro.blog

    Today we rolled out a few improvements to bookmarks, including an import from Instapaper and Pocket. This is meant to complement Micro.blog’s bookmark archiving, where Micro.blog archives a copy of a web page and allows making highlights in it. Like the archiving and highlights, the import feature is for Micro.blog Premium subscribers.

    Bookmark import button screenshot

    I’ve personally wanted to consolidate my bookmarks to Micro.blog, because I’ve had some things in Instapaper and some newer posts in Micro.blog. Micro.blog is not designed as a replacement for every feature in other read-later services, but instead a quick way to save links and either reference them later or start a new microblog post from a highlight.

    To learn more about bookmark archiving and highlights, check out the video in this post on the news blog from when we announced Micro.blog 2.0.

    I’ve also improved other aspects of bookmarks, like faster loading, paging through many hundreds or thousands of bookmarks, and better profile icons for domain names that are added to Micro.blog.

    → 8:54 AM, Mar 23
  • My mom found this notebook paper I had used when I was 13 years old to plan out the route to my friend Sam’s house, taking 3 buses across Austin. Why did I copyright this?! 🙂

    → 2:16 PM, Mar 16
  • A few photos from the McMenamins Kennedy School Hotel.

    → 5:44 PM, Mar 13
  • Speaking of cold, here’s another photo from Salt Lake City a few days ago. Cottonwood Canyon.

    → 10:41 AM, Mar 12
  • Jazz vs. Blazers. 🏀

    → 10:04 PM, Mar 9
  • Published the book draft this morning and then got on a flight to Utah, slight detour before Portland for Micro Camp. Beautiful here around Salt Lake City.

    → 6:21 PM, Mar 9
  • A walk through the University of North Texas yesterday.

    → 5:04 PM, Feb 28
  • Epilogue for iOS has been updated to version 1.2.1, with better accessibility support and a new book description when searching for books. Here’s a screenshot of the new text:

    Screenshot
    → 7:45 AM, Feb 24
  • Enjoying the switch to Help Scout. Fast, clean UI, and nice personality. Feels like software created by real people.

    → 8:34 AM, Feb 18
  • Getting some work done between errands today. Easy Tiger. ☕️

    → 4:25 PM, Feb 17
  • React Native diary #6: SF Symbols

    The goal in my experiments with React Native is to build an app that feels as native to iOS as possible. Early on I tried to use SF Symbols and couldn’t get it to work, so I dropped in some custom icons instead. But the more I used the new version of Epilogue on my iPhone, the more this compromise bugged me.

    I briefly considered exporting the symbols I need as SVGs or PNGs and using them in the app only on iOS, but that’s against Apple’s license. Not worth even the small risk. Sticking to real SF Symbols also ensures the icons match other apps if Apple redesigns them slightly in future versions of iOS.

    I revisited using SF Symbols today with the component birkir/react-native-sfsymbols. A default install shows a runtime error when attempting to load a symbol. Luckily there’s a work-around mentioned in one of the issues.

    I copied this file from the repo and saved it as SFSymbols.tsx. Then instead of importing from the Node module, I just import that file:

    import { SFSymbol } from "./SFSymbols";
    

    It works! Here’s a quick screenshot of my navigation bar now:

    SF Symbols in navbar sccreenshot
    → 12:44 PM, Feb 16
  • Worked downtown this morning from Lazarus, then walked around. I’m okay with the mix of new buildings and old on east 6th and 7th, but wonder if enough of old Austin was preserved. This place doesn’t look long for this world.

    → 3:50 PM, Feb 14
  • React Native diary #4: modals

    I’m continuing to plow ahead with the Epilogue rewrite. I’ve added a storage class to wrap AsyncStorage, making it easier to persist various bits of data. I’ve added searching for books using the Google Books API, largely copying JavaScript code from the previous version. The fetch() calls are the same between web browser-based JavaScript and React Native.

    Today I’m working on adding the posting screen. This shows a modal text view with some default blog post text for the current book, so you can quickly blog about what you’re reading:

    New post screenshot

    Just like the navigation controller, the modal uses React Navigation so that it looks and feels the same as any native iOS app. In the JSX, we add a group containing the new modal screen declaration:

    <NavigationContainer>
    	<Stack.Navigator>
    		<Stack.Group>
    			...
    		</Stack.Group>
    		<Stack.Group screenOptions={{ presentation: "modal" }}>
    			<Stack.Screen name="Post" component={PostScreen} />
    		</Stack.Group>
    	</Stack.Navigator>
    </NavigationContainer>
    

    For this version, I’m using a simple multi-line TextInput class. This appears to use a real UITextView under-the-hood.

    One thing I’d like to experiment with later is integrating the Markdown syntax highlighting Objective-C code from the current Micro.blog app, making it a component that we could use in multiple apps. It obviously wouldn’t work on Android, but we’ll need something like it when we’re ready to switch the official Micro.blog iOS app over to React Native.

    → 1:45 PM, Feb 14
  • React Native diary #3: dark mode

    Even though Epilogue 1.0 was simple, it did support Dark Mode on iOS. I always run my phone in Dark Mode, so I didn’t want to lose that when rewriting Epilogue in React Native.

    There are a handful of helper utilities to access iOS-only features in React Native, like Platform.isPad . There’s also useColorScheme, which can be used to check if we’re running in Dark Mode:

    const is_dark = (useColorScheme() == "dark");
    

    There doesn’t appear to be built-in support in React Native to use different sets of styles automatically. There are, however, at least a few third-party libraries to make this easier, including various dynamic stylesheets and React Navigation’s themes. I started to go down that rabbit hole, then stopped… There’s a lot to learn and I’d rather adopt a quick “worse is better” approach to first get a feel for how painful it is to style my views manually.

    I have a Styles.js source file that looks like this, controlling layout and colors for UI elements in Epilogue:

    import { StyleSheet } from "react-native";
    
    export default StyleSheet.create({
      bookTitle: {
        marginTop: 8,
        paddingLeft: 7
      },
      bookAuthor: {
        paddingTop: 4,
        paddingLeft: 7,
        color: "#777777"
      },
      ...
    }
    

    To use this style in JSX, I have something like this:

    <Text style={styles.bookAuthor}>Neil Gaiman</Text>
    

    To support Dark Mode, I’ve added a special “dark” field to the styles object. This will only have style properties that I want to override from the default light mode. In the case of bookAuthor, there’s no need to change the padding, just the text color:

    bookAuthor: {
      paddingTop: 4,
      paddingLeft: 7,
      color: "#777777"
    },
    dark: {
      bookAuthor: {
        color: "#FFFFFF"
      }
    }
    

    Back to the JSX, I check my is_dark variable and then reference a different set of styles. JSX lets me pass an array of styles, so we’ll include both the light mode version (styles.bookAuthor) and then the dark value (styles.dark.bookAuthor) that will override the color:

    <Text style={is_dark ? [ styles.bookAuthor, styles.dark.bookAuthor ] : styles.bookAuthor}>Neil Gaiman</Text>
    

    Here are a couple screenshots showing each mode side by side:

    Epilogue light screenshot Epilogue dark screenshot

    The JSX code is admittedly a little clunky. I can see how it could be cleaned up and more readable with other solutions. But the app only has a few screens, so I’m going to run with this for now.

    → 2:26 PM, Feb 13
  • Micro.blog 2.3 for iOS

    Micro.blog 2.3 is now available in the App Store, including these changes:

    • Added syntax highlighting for HTML when creating or editing posts.
    • Fixed compatibility with some Micropub servers.

    We’ve supported color highlighting in Markdown for a while, and now this release adds HTML too. I’ve found this most helpful when editing a blog post that includes images, where the img tag was probably added by Micro.blog:

    Micro.blog iOS screenshot

    I also fixed a bug with Micropub servers, no longer requiring the me parameter from some IndieAuth API calls. There has been some related housekeeping of the IndieAuth spec recently, and I want to make sure Micro.blog can post to as many non-Micro.blog servers as possible.

    → 8:16 AM, Feb 7
  • Nice to make a fire because we want to rather than because we have to like last year’s winter storm.

    → 7:31 PM, Feb 5
  • Added plug-in search to Micro.blog and a filter for only showing themes, now that we are starting to get so many plug-ins. Planning to add categories or tags later for more filtering.

    Plug-in search screenshot
    → 9:35 AM, Feb 5
  • Looking pretty good with screenshots in the Micro.blog plug-ins directory.

    → 1:09 PM, Jan 24
  • I updated Micro.blog for macOS today with a bug fix and new right-click context menu for hosted blog posts. Part of making the app a little more Mac-like.

    → 10:22 AM, Jan 17
  • Cold morning in downtown Dallas, walking from the hotel to get coffee and I passed this, on the birthday of Martin Luther King Jr.

    → 10:03 AM, Jan 16
  • Introducing Micro.blog for Android

    Today we’re releasing the first public beta of Micro.blog for Android. You can download it here on Google Play.

    Android timeline screenshot Android Discover screenshot Android profile screenshot

    Vincent Ritter led the development on this and there’s a ton in it for a first beta. Some of the features in this initial version:

    • Timeline, Mentions, Bookmarks, and Discover.
    • Creating new posts and replying.
    • Uploading photos.
    • Viewing conversations.
    • Emoji picker in Discover.
    • Multiple blogs and multiple Micro.blog accounts.
    • Choose categories when posting.
    • Viewing profiles and following new users.

    We have a few more things to wrap up before we officially call it 1.0. For example, push notifications will make the final release but they aren’t in this beta. There will be bug fixes, UI tweaks, and other improvements based on feedback.

    Enjoy! Let us know what you think.

    → 12:38 PM, Jan 14
  • Testing a bug fix update to today’s Micro.blog for Mac update, and I also squeezed in a change I’ve been wanting to add for a while: HTML highlighting. We’ve had Markdown highlighting, but I really love this for img references. It’ll ship tomorrow.

    Micro.blog screenshot
    → 8:40 PM, Jan 10
  • Micro.blog 2.4 for macOS

    Today we released an update to the Mac app that adds a preview window. This is handy for longer posts with lots of Markdown or HTML, so you can check what they will look like when published.

    Preview screenshot

    I decided to make this a floating window that previews whatever post window happens to be open. You can move it off to the side of your screen and then quickly show or hide it with the keyboard shortcut whenever you need it.

    Full changes:

    • Added View menu → Preview when writing a blog post. The preview floats over other windows and will show you what the current Markdown or HTML will look like.
    • Fixed posts list not updating when saving a new draft.
    • Fixed post button for drafts to show that the draft will be published. Use File → Save to keep saving as a draft on Micro.blog.

    As always, the download link is on the help site, or choose “Check for Updates” if you’re already running an older version.

    → 9:16 AM, Jan 10
  • Revisiting 43 Things

    A few weeks ago, something in a discussion prompted me to look up the site 43 Things, which I used in 2005 to keep track of big things I wanted to do. The site is long gone, but a lot of it is preserved in the Internet Archive. I took a screenshot of the 10 things I had on my list back then:

    43 Things screenshot

    The site was peak Web 2.0. Part personal to-do list, part community, part API. Something about the design was fun to use.

    Now that it has been 15+ years, I thought I’d revisit my list and see how I’m doing now, with some context from 2005:

    1. Finish my degree — I spent a year at UT Austin, but I was more interesting in working at tech companies than attending school. Later I went back to take classes at night. I always thought I’d eventually get my college degree. Seems unlikely at this point.
    2. Animate a short film — Might be something I’ll get back to one day. A couple years ago I dug up some drawings and posted them to my blog.
    3. Run a half marathon — Still haven’t done this. I’ve run a couple 5Ks.
    4. Watch a space shuttle launch — Sadly the space shuttle is gone. There are more rockets than ever, though, so this seems doable.
    5. Write a book — I consider this done.
    6. Drive across the USA — I’ve driven from Texas to the west coast and to the east coast. Never all the way across. Can’t see this one happening unless I actually live on one of the coasts.
    7. Learn Ruby — Done.
    8. Work on a political campaign — I’ve volunteered for a few campaigns to call voters and knock on doors. Seems good enough.
    9. Read 50 books in 2005 — I’m sure I didn’t ready that many books in 2005, but I could still do this for another year. Last year I read 33 books and this year my goal is 40.
    10. Live to see Halley’s Comet return in 2061 — The most difficult thing on this list. I would be 86.

    Daniel and I also discussed this list on Core Intuition 402 from 2020.

    → 3:19 PM, Jan 8
  • Moving to new Hugo

    There has been a lot of activity around Micro.blog plug-ins lately, inspiring me to improve the theme and plug-in system. Under the hood Micro.blog uses Hugo to process blog templates, and we’ve been running an ancient version of Hugo. Having such an old version has held back some plug-in features, so today I started the process of migrating to the latest version of Hugo.

    It’s a big jump, from version 0.54 released in 2019, to 0.91 released just a couple weeks ago. Some things are likely to break, so instead of updating everyone’s blog automatically and dealing with the fallout, we’re going to take it slow. The new version of Hugo is opt-in for now, under the Design screen:

    Screenshot of Hugo popup

    Each blog on your account can use a different version, making it convenient to run Hugo 0.91 with a test blog while keeping your main blog as-is.

    I don’t recommend updating unless you are working on a theme or plug-in that needs a specific feature from newer versions of Hugo. I’m testing all the built-in themes with the new Hugo and will keep updating them with tweaks until we’re happy that everything is running smoothly.

    If you do try Hugo 0.91, I’ve already updated the Default and Marfa plug-ins — as well as some built-in Micro.blog templates — to work with the new version. You can install the latest versions of the plug-ins for those themes to get the latest versions, instead of waiting for Micro.blog to update.

    The most common problem I noticed was using .Data.Pages. That’s a quick fix to use .Site.Pages instead so that it’s compatible with both versions.

    I’ve also fixed some HTML escaping issues this week. Micro.blog is now smarter about not escaping special characters like “<” and “{{” when inside a code block.

    → 4:05 PM, Jan 7
  • Train bridge and more wind turbines, halfway between Lubbock and Abilene.

    → 2:17 PM, Jan 1
  • New year, new coffee. Stopped at Palace Coffee in Canyon, Texas. Cool old building from 1906. ☕️

    Palace Coffee photo
    → 11:13 AM, Jan 1
  • Lighthouse trail at Palo Duro Canyon.

    → 3:14 PM, Dec 31
  • Wind turbines outside of Sweetwater, Texas. Hundreds of them in all directions.

    → 12:48 PM, Dec 30
  • Old oak trees at Merit Coffee on South Lamar. The house also has a historical marker — built around 1900 by sisters who were teachers and then real estate developers. ☕️

    → 3:18 PM, Dec 28
  • Importing blog archive files

    It was way back around IndieWebCamp Austin 2017 that I proposed a new archive format for blogs. These .bar files are essentially ZIP files that contain HTML with Microformats, JSON Feed with original Markdown or HTML, and uploaded photos. The nice thing about this format is that you can unzip them and preview your entire site in any web browser, and it contains all the related photos and other files.

    I’ve been working on improving support for Blog Archive in Micro.blog. Version 2.3 of the Mac app can now import .bar files with a nice preview window and progress. It can import into Micro.blog or external Micropub and WordPress blogs.

    Screenshot of .bar window

    When the Mac app uploads photos for your blog from the archive, it rewrites img tags in your HTML to use the new URLs, so it’s a good way to migrate a blog with no or minimal cleanup needed afterwards.

    Tools that want to process these files can choose between parsing the Microformats or JSON Feed version of the blog. IndieWeb-friendly tools may find it easier to work with Microformats, and new apps can use any JSON parser.

    When generating a .bar file, I recommend having plain HTML in index.html with common Microformats like h-feed, h-entry, u-url, dt-published, and e-content. In the JSON Feed, you can use content_text for the source Markdown or HTML if you have it, and then HTML in content_html. Micro.blog will prefer content_text if it’s there.

    For an example to test with, check out this file: example.bar. This contains a few posts and screenshots from our Epilogue blog.

    I really hope this format catches on. The files can be big, but they give you a single file that you can backup anywhere.

    → 12:28 PM, Dec 27
  • Trail of Lights at Zilker was cars-only again this year, but still fun. I bet it’ll be back to normal next year. 🎄

    → 7:29 PM, Dec 23
  • Micro.blog 2.2 for macOS

    I’ve updated the Mac app with some improvements around drafts and scheduling posts. There’s a new File → “Schedule Post” menu command to tell Micro.blog to publish a post at a date in the future.

    Mac schedule

    This update includes a handful of other fixes and minor changes too. See the help page for the download link and full release notes. Or choose “Check for Updates” in the current app.

    → 8:40 AM, Dec 14
  • An old part of Hancock Center. Wonder what’ll happen to this.

    → 4:47 PM, Dec 13
  • Christmas tree and stained glass at Lazarus Brewing. Coffee and work on the macOS app this morning. ☕️

    → 1:19 PM, Dec 13
  • Introducing email newsletter subscriptions

    Today we’re announcing a major new feature for Micro.blog Premium subscribers: email newsletters. Micro.blog can now manage letting readers subscribe to your blog and receive emails for new blog posts. It’s deeply integrated into Micro.blog and works great for collecting multiple microblog posts together automatically.

    Why are we creating yet another email newsletter feature when there’s already Substack, Buttondown, HEY World, SendGrid, MailChimp, and others? We always want to make blogging easier and to encourage more people to blog. We think many people want to publish to the web and email, instead of splitting their writing off into a members-only newsletter.

    Micro.blog’s email newsletters are like Micro.blog’s cross-posting: designed to start with your blog first and be effortless to maintain. You can enable it and forget about it. Micro.blog will create newsletter drafts from your blog posts automatically. You can edit a newsletter if you want, or ignore it and Micro.blog will queue it to send to your subscribers.

    There are a few settings when you enable email subscriptions: have Micro.blog send a new email for every full-length blog post; collect all your blog posts for a week together and send them in a single email; or collect all your blog posts from a category into a monthly email. The weekly and monthly options work great when you have a mix of short and long posts, so your email subscribers can read them together in order.

    Email options

    We think Micro.blog’s email newsletters are a great option for potential readers who are not using RSS. Everyone uses email. You can keep email subscribers in the loop without pulling attention away from your blog. All your content still lives in one place and not fragmented across multiple services.

    When you enable email newsletters, Micro.blog also adds a special email address that will be the “from” address for any emails sent for your blog. Your subscribers can reply to your email and Micro.blog will forward the text to you, without having to make your real email address public.

    To try out email newsletters, click on Plans to make sure you’re on Micro.blog Premium. This $10 plan also includes podcast hosting, video, and bookmark archiving. You’ll see a new Newsletter link in the sidebar on the web, where you can enable email subscriptions, manage subscribers, and edit email drafts before they’re sent to your readers.

    I’ve also posted a video to YouTube showing some more of how it works. Let us know what you think!

    → 12:36 PM, Dec 6
  • Drafts and scheduling posts

    This week we improved a few things in Micro.blog for managing drafts and scheduling blog posts to publish at a future date. If you have any drafts or scheduled posts, you’ll see a new set of buttons in the Posts screen on the web to filter your posts:

    Filter buttons screenshot

    You can save a post as a draft in the iOS or macOS apps, on the web (click the “…” button), or from apps like Ulysses, iA Writer, and MarsEdit. Some apps can automatically schedule a post just by picking a date in the future. You can now also take any draft post in Micro.blog on the web and schedule it from the editing screen:

    Scheduling screenshot

    As always, Micro.blog is first about quick, easy posting. If you don’t need drafts or scheduling, the UI should stay out of your way. I know how cluttered some other blog systems can get, and we want to keep Micro.blog as streamlined as possible even though it does have advanced features under the hood.

    → 12:49 PM, Dec 3
  • Should’ve done this years ago, but finally realized that part of my problem with the modern macOS Finder is just how cluttered it is. Now I keep the sidebar hidden and remove most of the toolbar items. Better.

    Finder window
    → 8:54 AM, Dec 2
  • Reminded by @amit that we haven’t done enough for managing draft blog posts, so now there’s a simple toggle on the Posts screen on the web for showing just drafts.

    Drafts button
    → 8:36 AM, Dec 1
  • Elgin Christmas Tree Farm. Super crowded this year. Everyone’s ready to get back to holiday traditions. 🎄

    → 12:50 PM, Nov 26
  • Train to Los Angeles

    Last week I took an Amtrak train out to Los Angeles. I decided not to blog about the trip until I was back home, so that I could mostly unplug and focus on editing my book Indie Microblogging. Now that I’m back, I’m going to share a quick recap and some photos.

    I used Swarm along the way to capture check-ins at train stations, restaurants, and other landmarks. Those are published with map thumbnails over at manton.coffee. I’d like to do more with this site, filling in check-in history and eventually moving it away from Swarm.

    It’s unusual for me to be away from home so long. In recent years for conferences I’ve been flying out for only a few days and then back. The solo train ride was like stepping back in time. A much slower pace, no wi-fi, and inconsistent cell coverage.

    I arrived in LA very early, just before 5am. Opted to pay a little extra 💰 to check in to my hotel early, had breakfast at a nearby coffee shop, then rented a car. Driving around LA in traffic is its own story, which I talked about on Core Intuition 489.

    The trip centered around catching a Spurs game with Jon at Staples Center as we attempt to visit all the NBA arenas. Choosing the train instead of flying ensured the trip was a break from the everyday routine, giving me time to focus on writing. It was also great to explore the city, checking out coffee shops, the library downtown (I had just read The Library Book about the LA library fire), tacos in Santa Monica, the view from Griffith Observatory, a quick drive-by of Disney Animation, Angels Flight Railway, and lunch in Koreatown.

    Sunrise near Del Rio Train bed Morning coffee Canyon out the train window West Texas near Alpine Somewhere in New Mexico Amtrak Union Station LA from Griffith Observatory LA central library Walt Disney Animation Spurs vs. Clippers Me and Jon Angels Flight Railway' Back in Austin

    I got used to the little quirks about train travel. Eating in the dining car. Settling into my sleeper car roomette. Watching the landscape roll by, changing so slowly it almost didn’t seem to change at all for hours. Then I’d look up from work and New Mexico had faded into west Texas and I was nearly home. Feeling very lucky that I was able to do a trip like this.

    → 8:14 AM, Nov 24
  • On a train somewhere in Arizona, editing a podcast about being on a train. Going to collect the trip photos into a longer blog post when I’m back in Austin. 🚂

    → 11:05 AM, Nov 18
  • The morning did not go as planned but it’s all good now. ☕️

    → 11:13 AM, Nov 10
  • Hot off the press, just got the test printing of my book 30 Days. Very happy with it. Just need to tweak a couple things like margins inside. The print edition of Indie Microblogging will match, with the same size and layout. 📚

    → 4:56 PM, Nov 9
  • Exploring San Antonio on the walk back from the Alamodome. This was an old school, started in 1858. Later served as headquarters for the Hemisfair and where NAFTA was signed.

    → 1:51 PM, Nov 8
  • Bands of America at the Alamodome.

    → 6:49 PM, Nov 5
  • Updated the home page of Micro.blog on the web to show whether it is still publishing the latest post to your blog. Usually should only take a few seconds, but this makes it easier to tell what it’s doing. Apps can also access this status in the /posts/check API.

    Progress screenshot
    → 9:15 AM, Nov 5
  • A new app for books: Epilogue

    Last week I sent out a survey to ask how people are tracking books they are reading or blogging about. The response was encourage enough that I got to work building a new app for books. It’s called Epilogue.

    As I discussed on Core Intuition, we already have a few iOS-only apps, but Micro.blog is before anything else a web-based platform. Vincent is working on an official Android app, and whatever we do next should be available on multiple platforms. So I decided to try something new with Epilogue, designing the UI with HTML to share it across both iOS and Android.

    I’m pretty happy with the result. There are a few quirks in the UI — things we can probably smooth over in future versions or if necessary replace with fully-native screens. But I was able to build the whole thing quickly by iterating in Safari on my Mac.

    Here are a few screenshots:

    Books list Book detail Searching

    Epilogue is now available as a public beta on TestFlight. It will be available on Google Play soon-ish. I have it working, even if Android is still mostly uncharted territory for me. I also feel like I need to get some public feedback before going too much farther down this road.

    It’s open source. GitHub says the language breakdown is:

    Languages

    What’s next? This first beta is for people who are already using Micro.blog. It’s for quickly adding a book or blogging about it. The search is new, powered by Google Books. We’ll wrap up 1.0 soon and then consider where to go with the app in future versions.

    With a dedicated app, we could add more features than would fit into Micro.blog on the web, but I also don’t want to get too sidetracked. The goal is a lightweight app that can complement other book services, making it easier to blog about books.

    → 11:12 AM, Nov 2
  • Finally went to the new Dutch Bros in Round Rock. Loved stopping at these while driving back from Oregon years ago.

    → 10:31 PM, Oct 29
  • It was great to get away to San Antonio over the weekend. Kind of felt like no one told the city there’s a pandemic. Here’s a shot from the Spurs game… Lucky to see Giannis up close for the first time.

    → 7:28 AM, Oct 25
  • Travis Park in San Antonio from the St. Anthony.

    → 8:55 AM, Oct 24
  • Ollie sticking his head out the window to bark. Makes me smile so I can’t even really be mad about the broken screen.

    → 1:53 PM, Oct 21
  • My favorite space to work outside when I’m downtown. Coffee at Lazarus Brewing. Mosquitos seemed to have finally left me alone too. ☕️

    → 9:46 AM, Oct 21
  • Todays prompt for the Micro.blog photo challenge: sports! Tuned in to the first Spurs game of the season. 🏀

    → 8:02 PM, Oct 20
  • Tough week visiting my uncle in the hospital. But even surrounded by sickness there is some symmetry and beauty just out the window. And inside, I’m inspired by the remarkable work of so many nurses. Heroes.

    → 5:59 PM, Oct 8
  • Out walking Ollie this morning. Today’s prompt is “street” for the photo challenge.

    → 10:44 AM, Oct 6
  • Life ain’t nothing but a good groove. Coffee outside at the square in Denton. ☕️

    → 2:20 PM, Oct 3
  • Day 2 of the October photo challenge. Dark.

    → 10:25 PM, Oct 2
  • Last mural was the first

    This is supposedly the first mural still standing in Austin, Creation painted on the University Baptist Church in 1950. Seems a fitting way to wrap up this series of 30 murals. The artist, Seymour Fogel, also studied under Diego Rivera.

    Creation

    A few of the murals I had hoped to visit have since been painted over. Murals are inherently fleeting. Even the best murals are always at risk of graffiti or new construction. Artists know this, but they put their mark on the city anyway, a gift for us to admire and capture in photos before everything changes.

    → 7:35 AM, Sep 30
  • In Texas today on a range of issues, change takes a step back before moving forward, but we’ll get there. “So I think the side that wants to take the choice away from women and give it to the state, they’re fighting a losing battle. Time is on the side of change.” — Ginsburg

    RBG
    → 8:50 AM, Sep 29
  • Threadgill’s had a long history in Austin, and we have good memories of eating there and seeing live music. Both Threadgill’s restaurant locations are now closed, but the mural on Riverside remains.

    → 8:22 AM, Sep 28
  • On the side of the East Austin Hotel on 6th, by Jason Eatherly. Inspired by the book Be Here Now by Ram Dass. Winding down the mural series, only a few days left, and still discovering more murals than I could possibly include.

    → 7:36 AM, Sep 27
  • 30 days book?

    This might seem like a distraction or procrastination technique, but bear with me here. @patrickrhone’s talk at Micro Camp must’ve been sitting in the back of my mind because I realized I should collect my 30 day series — coffee shops, libraries, parks, and murals — into a book. I’m using it as a trial run for the print layout for Indie Microblogging, experimenting with the size, fonts, footnotes, etc.

    30 days screenshot

    After I finish the final week of murals, I’ll send a copy off to IngramSpark for printing. I’m actively editing Indie Microblogging and feel good about wrapping it up this year. If everything turns out well with 30 Days, maybe I’ll include the book as a bonus for Kickstarter backers at higher tiers too. We’ll see.

    → 10:17 AM, Sep 26
  • There’s a long stretch of great murals on both sides of North Lamar under the bridge for 3rd street and the train. I took a bunch of photos and it was hard to pick just one to feature. This segment is by Luis Angulo, and there’s a web page here with more about the project.

    → 9:43 AM, Sep 26
  • I debated including this because it’s words, more spontaneous graffiti than mural. But it’s well-loved in Austin and has a history perfect for SoCo. Musician Amy Cook wrote it for her partner and owner of Jo’s Coffee. It’s grown into something more, like a love letter to anyone.

    → 8:28 PM, Sep 25
  • This used to be an exotic pets store on Burnet Road. Years ago when my son loved snakes we had a great time visiting. The store is gone now but the beautiful mural remains.

    → 9:21 AM, Sep 24
  • Another popular mural in Austin. As the state flower, surprised the bluebonnet doesn’t make an appearance in more murals.

    → 8:12 AM, Sep 23
  • Part of the discovery process of finding murals is learning more about local artists like Federico Archuleta. I knew next to nothing about the mural scene in Austin before starting out. Each painting is an opportunity to get lost down a rabbit hole of web searches.

    → 9:34 AM, Sep 22
  • Bumble mural at 6th and San Jacinto. I’ve found that some of the best commissioned murals are “on brand” but also just great paintings on their own, incorporating bits of Austin themes.

    → 8:01 AM, Sep 21
  • Can’t resist a mural that has Scrooge McDuck in it.

    → 10:02 AM, Sep 20
  • Click. Mural on 53rd.

    → 7:06 PM, Sep 19
  • Legendary mural on the drag. Walking around here takes me back to being a student. So familiar despite how much has changed.

    → 10:46 AM, Sep 18
  • Day 17, another mural on east 7th. Til Death Do Us Part, by Federico Archuleta.

    → 9:51 AM, Sep 17
  • I still consider this part of Austin, but technically a little farther out at Milburn Park. Cedar Park had an open call for muralists to paint this wall a couple of years ago. Nice way to incorporate the door into the design.

    → 7:38 PM, Sep 16
  • A small part of a mural that stretches along the Planet K on 183. I drive by this often and glad to see it last so long.

    → 12:24 PM, Sep 15
  • Nearing the halfway point for murals. Day 14, on the side of Kammok on east 7th.

    → 6:23 PM, Sep 14
  • Not totally sure what this mural is about but I like it. On Brazos next to The Driskill.

    → 9:48 AM, Sep 13
  • Huge mural celebrating the 19th amendment at Congress and Cesar Chavez.

    → 1:12 PM, Sep 12
  • So happy. This model train is now ours… Just needs a little love and wiring to bring it back to life. N Scale.

    → 3:10 PM, Sep 11
  • Carver Branch Library. When I stopped by today, an artist was updating the mural with fresh paint.

    → 12:08 PM, Sep 11
  • Kobe and Gianna Bryant, outside P Terry’s on 183.

    → 11:46 AM, Sep 10
  • Victory Grill on 11th, originally opened at the end of World War II with dining, blues, and jazz as African American veterans returned to a segregated Austin.

    → 12:52 PM, Sep 9
  • Kellie’s on Burnet. Sweet mural for day 8.

    → 3:41 PM, Sep 8
  • Another day, another mural. East 6th on the side of Whisler’s, by Federico Archuleta.

    → 7:37 PM, Sep 7
  • Starting the morning with coffee and breakfast tacos at Lazarus Brewing. Great space with lots of outside seating too. ☕️

    → 8:20 AM, Sep 7
  • Back on the UT campus for day 6 of mural photoblogging.

    → 9:47 AM, Sep 6
  • For the 5th day, one of many small murals on the Goodwill building at Lamar and 10th.

    → 12:16 PM, Sep 5
  • Day 4 of murals. South Congress is too crowded. I grew up not that far from here and kind of miss when it was just a normal street and not a tourist destination.

    → 12:36 PM, Sep 4
  • This used to be a Tower Records, and before that a theater. It must be one of the oldest remaining murals in Austin. Sadly, the mural that was across the street — painted by the extraordinary artist Doug Jaques who I used to take life drawing lessons from — is gone.

    → 9:42 AM, Sep 3
  • For day 2 of visiting 30 murals in 30 days, I’m in south Austin. Picked up coffee at Mañana first but it was too crowded to stay to work. ☕️

    → 11:03 AM, Sep 2
  • I’m starting a new project in my 30 days series. Murals! Each day, I’ll visit a mural and take a photo. For the first one, this wonderful and silly and somewhat famous (in Austin) mural. 🧈

    → 10:55 AM, Sep 1
  • Butterfly joining me at the coffee shop. Working outside for a bit after an appointment nearby. There’s a new Summer Moon in Steiner Ranch. ☕️

    → 9:43 AM, Aug 25
  • Got my Micro Camp sticker! They turned out great. Thanks @Burk! 🏕

    → 4:43 PM, Aug 24
  • Dinner outside at Chuy’s. Keep kids off the trees. 🌮

    → 6:29 PM, Aug 21
  • LEGO Porsche 911.

    → 3:18 PM, Aug 21
  • Lunch today at the reopened Waterloo Park.

    → 2:22 PM, Aug 20
  • Biked up to the coffee shop to work. Can’t find my lock so just set it outside the window where it’s easy to see.

    → 10:03 AM, Aug 17
  • Alanis Morissette.

    → 10:37 PM, Aug 12
  • Walked around Mueller this morning. Working at Halcyon for a little while. ☕️

    → 9:38 AM, Aug 12
  • Over the weekend, @cheesemaker and I were tinkering with adding location check-in support to Sunlit. Because it’s open source, you can follow along with the commits in this branch on GitHub if you want. Not totally functional yet.

    → 9:07 AM, Aug 11
  • Free iced coffee and snack while I wait at the Honda dealer to have our car checked out. Battery died unexpectedly this morning and seemed glitchy.

    → 8:39 AM, Aug 11
  • Micro Camp will have stickers! Thanks so much to @Burk for coordinating the design and printing. Can’t wait to put one on my laptop. When you register for Micro Camp, there’s an “Offers” section to sign up to get a sticker too.

    → 9:47 AM, Aug 10
  • With liberty and justice for all. Looking out from Upstairs at Caroline. 🍸

    → 8:38 PM, Aug 4
  • Ghibli keychains.

    → 9:19 AM, Aug 4
  • A few nights ago downtown, walking across Congress Avenue.

    → 10:34 AM, Jul 30
  • I’ve been wanting an electric bike for years but the nice ones are way out of my budget. Finally had enough of the hills in our neighborhood making me never want to ride, so picked up this less expensive bike from Walmart and love it. Game changer. 🚲

    → 1:58 PM, Jul 28
  • Micro.blog servers for 2021

    To pair with my post about downtime, I thought I’d share our current Linode servers. Some people ask us about this kind of thing, and I know I love reading about how other platforms are set up.

    Linode servers screenshot

    My server naming theme for Micro.blog is the Disneyland Railroad. Servers are named after locomotives, people who inspired them, or theme parks. Fort Wilderness in Orlando, which used to have a train back in the 1970s, is the server that failed last night and is still offline.

    The only server that doesn’t get a name is Discourse, because I don’t really enjoy hosting it and hope to shuffle it off somewhere else eventually. We also use Linode’s load balancers, object storage, and Amazon S3.

    Thanks to everyone who has a Micro.blog paid subscription. Your support allows us to add new servers when we run into problems and make everything more stable and fast in the future.

    → 10:06 AM, Jul 20
  • Houndstooth Coffee at The Domain. ☕️

    → 8:44 AM, Jul 18
  • Time to read Rhythm of War. The longer I put off reading it, the more daunting it started to seem. Also got the e-book at the library for whenever 1100 pages isn’t convenient to have with me. 📚

    → 7:05 PM, Jul 17
  • This should be the last beta of Micro.blog 2.1 for macOS. You can download it here. It features a new Discover emoji pop-up! Finally.

    → 8:00 AM, Jul 14
  • Another photo from exploring downtown last night. We did something we never do: a guided tour in our own city! A walk through the 1880s Austin murders, highly recommended for true crime fans or anyone wanting to know some weird Austin history.

    The capitol
    → 12:59 PM, Jul 11
  • Moonlight tower.

    → 9:03 PM, Jul 10
  • University of Texas at San Antonio.

    → 6:12 PM, Jul 8
  • University of Texas at Dallas.

    → 2:28 PM, Jul 5
  • Clouds out the car window on I-35.

    → 9:53 AM, Jul 5
  • This has been the morning routine this week. Picking up coffees at Ebenezers for our last day in DC. ☕️

    → 8:07 AM, Jun 26
  • The mansion at Mount Vernon, just before the fireworks.

    → 8:39 PM, Jun 25
  • Freight train over the Potomac River, from the metro.

    → 4:57 PM, Jun 25
  • Union Station in DC.

    → 6:16 PM, Jun 24
  • Scootering around the Washington Monument. 🇺🇸

    → 1:29 PM, Jun 24
  • We got to see the pandas at the National Zoo.

    → 4:03 PM, Jun 23
  • After a mixed up trip getting here — cancelled flights, driving to Dallas, last-minute hotel, and flying into a different airport — it was great to take some time to explore around DC.

    → 8:21 PM, Jun 22
  • Waiting for the Amtrak to Union Station.

    → 12:45 PM, Jun 22
  • Rainy landing in Baltimore. Visiting Washington DC for the first time.

    → 12:03 PM, Jun 22
  • Vacancy in Madisonville, Texas.

    → 7:04 PM, Jun 21
  • Another photo from over the weekend in Mississippi. Abandoned train tracks going off into the weeds.

    → 11:42 AM, Jun 14
  • Heading back home today. Another pass over the Atchafalaya Basin.

    → 11:04 AM, Jun 13
  • Another road trip day. Stopped for coffee in Baton Rouge. ☕️

    → 11:40 AM, Jun 12
  • Afternoon road trip today, stopped in Fredericksburg on the way back.

    → 3:54 PM, Jun 6
  • Dragon’s Lair at Cidercade. The animation is just how I remembered it but it’s even more fun on free play. 🕹

    → 11:00 PM, Jun 5
  • Project Hail Mary arrived this week. Currently reading Crooked Kingdom to wrap up the Shadow and Bone books, then we’ll see what looks good next in the book queue. 📚

    Books on table
    → 11:11 AM, Jun 3
  • Raining on the highway in Houston.

    → 2:00 PM, May 21
  • Adding a couple more filters to my blog to automatically assign categories. I think this is one of the more clever features we’ve come up with. Powerful but mostly hidden so it never distracts from writing a new post. It’s under Categories → Edit Filters.

    Micro.blog screenshot
    → 7:53 AM, May 21
  • Looking in our fridge this morning, wonder if we’re secretly running a coffee shop out of our house. We might have enough milk.

    → 7:39 AM, May 13
  • Walking on the trail this weekend I was surprised that the tracks for the old Zilker Zephyr have already been ripped up. At least this old sign is still there.

    → 5:40 PM, May 9
  • Voted at the library today. Long line for just propositions on the ballot. They let everyone wait inside because of the rain. Voted against the homeless camping ban but have no idea how the results will turn out.

    → 2:01 PM, May 1
  • To balance my post earlier that sounded negative about the iPad… Excited that my first new iPad in years arrived today. Green iPad Air.

    → 6:59 PM, Apr 26
  • Recent photo of light hitting the clouds while we were out walking.

    → 10:58 AM, Apr 19
  • Reading break outside in between deploying server fixes.

    → 4:57 PM, Mar 28
  • Great weekend in Dallas. Coffee before heading back to Austin.

    → 9:49 AM, Mar 21
  • Dallas Zoo.

    → 7:26 PM, Mar 20
  • Walking around the Denton Square.

    → 9:36 PM, Mar 19
  • I haven’t had a chance to explore the new Gowalla yet, but I was excited to get the t-shirt and stickers.

    → 1:36 PM, Mar 12
  • Spurs sherbet! Perfect dessert while watching tonight’s game. 🏀

    → 9:23 PM, Mar 4
  • The snow this morning is incredible. We’re okay for now, but many people in Texas without power. ❄️

    → 10:49 AM, Feb 15
  • Very cold this morning for Austin. Ice forming on one of our trees after the morning rain.

    → 11:48 AM, Feb 11
  • Layers.

    → 11:20 PM, Feb 4
  • Catching up on the February photo challenge… Another one to add to all the happy dogs and cats out there who have taken the best spot in the house. Comfort.

    → 12:59 PM, Feb 4
  • Morning beverage. Cold brew and oat milk. ☕️

    → 9:39 AM, Feb 2
  • I’ve been trying to spend a few minutes each day on the piano. Close up of sheet music for Defying Gravity from Wicked.

    → 2:31 PM, Feb 1
  • Snowing in Austin. Don’t even know the last time it has snowed this much here. It just keeps falling. ❄️

    → 1:23 PM, Jan 10
  • Took the drone out for its first flight today and 15 minutes later it was stuck in this tree. A bit too windy out. Eventually got it down with the help of a neighbor’s ladder.

    → 4:41 PM, Jan 9
  • Red Bud Isle from over the holidays, with Ollie getting some time to splash around.

    → 10:11 AM, Jan 6
  • Just before the new year, I updated my iPhone home screen for the first time in a while. New apps: Calm and Audible.

    → 9:52 AM, Jan 4
  • Took a wrong turn that ended up in a nice scenic detour while on the road today. Sam Houston Library and Research Center.

    → 4:20 PM, Dec 29
  • Before the cold weather this week we decided to pick all the oranges. The tree produced about 50 total counting the ones I picked early. Now looking for marmalade recipes.

    → 9:56 AM, Dec 2
  • I’ve been taking more time away from the computer to reset and read lately. Finished reading Dune this week for the first time. An extraordinary book.

    → 11:12 AM, Nov 20
  • The lost year of COVID-19

    Election Day is today. I hope that it will be a turning point for the country, so it seems like a good time to also look back.

    I try to write every day, whether it’s here on this blog or in my journal using Day One. Posts about family or personal stories usually stay private, because there are plenty of other topics to write about here. Today I want to collect together a few things that have happened this year, events that I might jot down in my journal but which haven’t made it into the blog.

    Back in March, when the kids were home for spring break and the seriousness of the coronavirus was just starting to become real, we wrote down some rules on giant sticky notes and stuck them on the fridge. Like the rest of the country, we were trying to figure out what to do, and it helped get everyone mostly on the same page.

    Sticky notes.

    There was still a lot of confusion about what was safe. Texas was about to go into lockdown. The NBA was about to postpone games. SXSW was about to be cancelled. It felt like everything was just on the verge of changing. I thought if we could only stay safe for a few weeks, we’d make sure that our family didn’t get sick when hospitals would be overrun.

    We made masks. I didn’t do much of the sewing, but our home-made masks turned out great. It was fun to do something a little creative, especially early on.

    Making masks.

    We ordered more masks later, including my new go-to mask with a Mickey Mouse pattern. We fell into a routine of ordering groceries online. I rarely went inside stores. I wore my mask whenever I was picking up take-out dinner or running other errands. I washed my hands all the time. The few weeks of quarantine had turned into months of isolation.

    Later in June we went to the beach for a couple days, to get away. I was worried, because the Houston and Galveston area were getting hit hard by COVID, but we were barely 30 feet from anyone else. It felt great to be near the water, eat outside on the deck with a cool breeze, and escape the normal stress of the quarantine. We had a house on Airbnb to ourselves, cooked most of our meals there, and I picked up pizza one night in town.

    Walking to the beach.

    A few days later we were up in Dallas. That weekend I wasn’t feeling great. I figured it was a cold or allergies. No fever, no shortness of breath. Because I had been with family, out of caution I decided to get tested for COVID-19. I talked to a nurse for advice and also called a nearby drive-thru clinic that did testing.

    While waiting in line to get tested, I convinced myself that I had overreacted. I was wasting everyone’s time, while people with much more serious symptoms needed help. But I got tested anyway, felt better the next day, and went on with my work week, releasing a major upgrade to Micro.blog to support plug-ins that week.

    A doctor called me with the results about 4 days after I had gotten tested. It was positive.

    My symptoms were extremely mild. I’m still not sure the test wasn’t a fluke. I had planned to follow up with an antibody test to confirm it, but I never did. Even so, going through that process of getting tested had highlighted for me what Texas and other states were going through back in June and July, and now again as winter looms.

    This year has been long, and disappointing, but there was hope. We flattened the curve. We were well on our way to putting the coronavirus behind us and looking toward school restarting. But we opened too quickly without the right guidance. We lost control of the virus. We were almost there, and we blew it.

    Fast forward several months when I’m writing this. We flattened the curve a little, again, only to see the progress slip away. The setbacks have been frustrating, watching so many people flout the guidelines. 2020 could have gone much differently — much better — but there were good moments too, with family and work, watching the Micro.blog community grow.

    We can’t get 2020 back. There’s a lot to catch up on. Let’s make 2021 count.

    → 8:07 AM, Nov 3
  • One more day.

    → 11:58 AM, Nov 2
  • Picked a couple of our oranges that are starting to turn orange. It’s a little bit early but the first one was still delicious.

    → 10:38 AM, Oct 22
  • A couple more photos from our trip earlier this week, at the Airbnb and the view on the Canyon Lake dam.

    → 11:26 AM, Oct 15
  • As the 24-hour photo challenge was getting underway, we were driving back from a couple days at Canyon Lake, a mix of vacation-ing and working. Stopped at Summer Moon in Buda, then picked up Chick-fil-a back in Austin around 1pm with the kayaks still on the roof.

    → 4:57 PM, Oct 13
  • Earlier today, stopped for coffee while on the road.

    → 4:15 PM, Oct 13
  • Bosque River from Cameron Park in Waco.

    → 2:39 PM, Sep 27
  • Micro.blog 2.0 will launch next week

    We are getting ready to roll out a major update to Micro.blog. The web version and all the native apps are being updated at the same time. The new version will launch Tuesday, September 29th.

    What’s new? To start with, the web version has been redesigned with a new sidebar, bringing common areas of your microblog like managing posts and uploads to the top-level of Micro.blog so they’re easier to access.

    Screenshot of web version with sidebar

    In the iOS and macOS apps, we’ve added new Pages and Uploads section, so you can create or edit standalone pages, and upload podcasts or other files to your blog. There are new icons in the sidebar and the layout in many screens has been improved.

    Screenshot of iPhone app with menu Screenshot of iPhone app with pages screen Screenshot of iPhone app with uploads screen

    On the Mac, creating a new post has been moved to its own window. This makes it easier to see the timeline while you are typing a new post or reply. You can also drag photos from the Uploads section into a new post.

    Screenshot of macOS version with separate window

    We are expanding what the current $10/month plan can do, renaming it Micro.blog Premium. In addition to hosting podcasts and video, Micro.blog Premium will archive the contents of bookmarked web pages, with a special reader interface for highlighting text. You can quickly create a new blog post from highlights in Micro.blog.

    Screenshot of web version with highlights

    I’ll be talking more about the new bookmarks and highlights as we get closer to launch. I’m excited to bring something totally new to Micro.blog, but in a way that stays true to Micro.blog’s mission of making it easier to blog.

    And there are many other bug fixes and minor improvements, such as (finally!) editing replies. I can’t wait for everyone to check it out next week.

    → 11:08 AM, Sep 21
  • Day trip to San Antonio. Puffy tacos for a picnic at Brackenridge Park, then walking through the Japanese Tea Garden.

    → 6:04 PM, Sep 19
  • Development on Micro.blog 2.0 for iOS is almost wrapped up. Here’s a sneak peek at the redesigned menu screen. The whole app looks better in addition to the new features.

    Menu screenshot with new icons

    → 10:23 AM, Sep 15
  • We started building the Apollo 11 lunar lander.

    → 6:01 PM, Sep 6
  • Countdown to Sunlit 3.0: Tumblr blogs

    Sunlit 3.0 will ship tomorrow. For the last post in this blog post series to highlight Sunlit features, I want to mention a convenient way to follow Tumblr photoblogs.

    Micro.blog is based on blogs and IndieWeb standards so that it can integrate well with the rest of the web, not be walled off like a silo. One aspect of this is that you can follow many blogs in Micro.blog even if the author of the blog hasn’t registered on Micro.blog yet, similar to how you can subscribe to blogs in a feed reader like NetNewsWire or Feedbin.

    For Sunlit, there’s special support for searching for Tumblr blogs so that they are easy to follow directly from within Sunlit. Use the search under the Discover tab to enter the domain name to follow, as shown in this series of screenshots:

    Search screenshot   Tumblr result   Tumblr profile

    There is expanded support for following other blogs and even Mastodon users in Micro.blog itself. You can always use Micro.blog to find a blog to follow, then go back to Sunlit and those posts will appear in the Sunlit timeline.

    Tomorrow we’ll update the App Store for the Sunlit 3.0 release. I hope you like it!

    → 10:44 AM, Aug 31
  • Countdown to Sunlit 3.0: discovery

    Sunlit 3.0 will ship in 3 days, on Tuesday. Today I want to highlight another new feature: the redesigned Discover browsing interface.

    Both Sunlit and Micro.blog use Discover to help you find people to follow. Because Sunlit is all about photos, Sunlit takes the usual Discover sections from Micro.blog, but shows only the photos from each section instead of all post types.

    For example, tapping on 📚 at the top of Discover will show microblog posts that have used the books emoji along with a photo, which will often be a book cover or other photo of the book. Tapping on 🧶 will usually show people’s knitting or crochet projects. Tapping on ☕️ will show coffee-related photos. Tapping on 🍞 will show baking.

    Discover knitting screenshot   Discover coffee screenshot   Discover bread screenshot

    It’s a great way to discover people to follow even if they haven’t posted a recent photo that you might see in the main 📷 photos section.

    Check back tomorrow for another blog post in this series as we look forward to the Sunlit 3.0 launch. And thanks to everyone who tested the Sunlit beta!

    → 2:36 PM, Aug 29
  • Countdown to Sunlit 3.0: new post editor

    Sunlit 3.0 will ship in 4 days, on Tuesday. Today I wanted to highlight one of the new features in 3.0. We’ve redesigned the new post screen to be faster and more flexible than the previous version. It’s great for posting a quick single photo, but it can scale up to full blog posts with multiple sections of text and photos.

    Here’s a screenshot for part of a blog post I wrote last year about a trip to Toronto. Sunlit lets me structure the blog post in sections that can each have one or more photos. It then uploads the photos to my blog along with the HTML layout for the post.

    Sunlit screenshot

    I’ll continue this blog post series about Sunlit 3.0 with a new post tomorrow.

    → 4:58 PM, Aug 28
  • Grabbed coffee and sat outside on a recent trip to Dallas, the vines relentlessly growing over the gazebo at Oak Lawn Park.

    → 10:01 AM, Aug 26
  • We just sent another Sunlit 3.0 beta to TestFlight folks. Here are a few screenshots. There’s a TestFlight sign-up link on the web site.

    Timeline Conversation Discover Profile

    → 1:34 PM, Aug 24
  • I missed day 2 (“floating”) of the photo challenge, but finally took my new inflatable stand-up paddle board out on the water earlier this evening.

    → 9:10 PM, Aug 15
  • We were playing with Rubik’s Cube this weekend. Here’s my book from the 1980s… Black and white for the inside pages so not the best resource to learn from in 2020.

    → 6:10 PM, Aug 9
  • From the hammock, looking up.

    → 5:17 PM, Aug 1
  • Book search experiment

    One of the minor hassles that has held me back from blogging about books I’m reading is finding the ISBN and cover art. To improve this workflow, I’m testing out a new book search feature on Micro.blog.

    Type in the title of a book, and Micro.blog will search Open Library. It is not as complete as Amazon or Goodreads, so I hope to expand this in the future with more data sources. You can add author or ISBN to the search too.

    Book search screenshot

    Micro.blog will also show thumbnail images for any book covers that are found for the various editions. You can click on one of the book covers to select it, leading to this page:

    Book details screenshot

    From there, use the Micro.blog or indiebookclub buttons to start a new microblog post with the title, author, and ISBN filled in:

    New post screenshot
    → 10:13 AM, Jul 29
  • We’ve had our orange tree for years but it has never produced fruit until this year, and now it has dozens of oranges. Can’t wait.

    → 1:35 PM, Jul 21
  • Sneak peek at Sunlit 3.0

    Our app Sunlit has an interesting history. Jonathan Hays and I came up with the original concept for the app way back in 2012. The app changed form a couple times, first building off of App.net, and then adapted for blogging. Along the way, it accumulated a lot of baggage — old code and old designs that made it difficult to keep improving the app.

    Today I’d like to give a sneak peek at what’s next for Sunlit: version 3.0, a complete rewrite, sharing essentially no code with previous versions. Jon has been working on this for a while, leading development while I focus most of my time on Micro.blog itself. We are taking what we’ve learned and trying to build an app that can appeal to people looking for an Instagram alternative, as well as people who want more control over publishing blog posts with multiple photos.

    Here are a couple screenshots:

    Sunlit 3.0 screenshots

    The app will also be completely open source. It can publish to Micro.blog, WordPress, or via Micropub to IndieWeb blogs. It’s written in Swift. There’s no release date yet, but there will be a public beta, and we hope to take the time to get it right.

    → 10:03 AM, Jul 13
  • Introducing plug-ins for Micro.blog

    I often hear from people who like the built-in designs on Micro.blog-hosted blogs, but they want to customize just one little thing about the default HTML. No problem! Because the designs are built with Hugo, you’ve been able to create a custom theme to override any template file or add new functionality to your blog. But that flexibility comes with a learning curve: it requires knowledge of HTML, CSS, and sometimes even JavaScript.

    Today I’m launching a plug-ins system for Micro.blog that formalizes a lot of the power of Micro.blog themes, but wrapped in a package that is easier to develop and install. Instead of creating a custom theme for your blog and editing the templates yourself, you might be able to find a plug-in that will add the feature. Unlike custom themes, there can also be multiple plug-ins installed for a single blog.

    Here are a few of the things plug-ins can do:

    • Provide a brand new design. Plug-ins are actually just special Hugo themes, so anything a Hugo theme can do, a plug-in can provide. Now web developers can create custom blog designs that are easy to install.
    • Override one or more template files in a theme. For example, changing the header or footer, or adding new CSS or JavaScript includes.
    • Add new Hugo parameters that are available in the plug-in or another custom theme. Micro.blog can even show a settings screen so that users can edit parameter values easily.

    There is a new plugin.json file that a plug-in can provide to tell Micro.blog what parameters should be configurable for the plug-in. This file also includes the plug-in metadata and any extra CSS or JavaScript references.

    Here’s what a plugin.json file would look like for a plug-in I wrote to provide some more control over Micro.blog’s default Photos page. Because the plug-in defines some parameters, those are available in a settings UI inside Micro.blog automatically:

    Screenshot of settings

    Plug-ins are available under a new “Plug-ins” tab in your blog settings. Click “Find Plug-ins” to see a list of registered plug-ins.

    Screenshot of plug-ins tab

    Since this is brand new, it only includes a few plug-ins that I wrote. Web developers who want to contribute a new plug-in to the directory can email me: help@micro.blog. There’s a help page here with more details about developing plug-ins.

    And if you have ideas for a plug-in, let me know that too. In the past, when I’ve heard a feature request that requires a custom theme, I’d have to consider either adding that as a built-in Micro.blog feature — which might complicate the UI for everyone, even if few people wanted the feature — or I’d explain how to create a custom theme to solve it. Now, I can implement some of those requests as plug-ins.

    There’s a lot more which I’ll be documenting. Having said that, Micro.blog plug-ins can’t do everything. As we learn what people want, I’d like to work with plug-in developers to iterate on this system, as well as clean up some of the built-in themes so that it’s easier to override certain behavior in a blog. Enjoy!

    → 1:39 PM, Jul 7
  • I’m running Big Sur full time. Here’s an early build of the next update to Micro.blog for macOS. It’s not going to ship for a while, so I might make betas available later.

    Screenshot of M.b on Big Sur.
    → 1:56 PM, Jul 1
  • Planning to launch something new for Micro.blog next week. But first, got away for a couple days to the beach. Plenty of space, felt like the most fresh air we’ve had in months. Now back and catching up on email.

    Beach on Galveston Island.
    → 1:09 PM, Jul 1
  • My new Gluon shirt arrived. If you’re new to Micro.blog, check out Gluon for iOS and Android, or buy a shirt to help support a third-party Micro.blog developer.

    → 11:14 AM, Jun 11
  • New muting improvements

    We’ve updated Micro.blog’s muting today to work more consistently everywhere, with a new option to hide replies that mention the username you are muting. Now when you mute a username you’ll see an additional checkbox to enable this option:

    Muting screenshot

    Posts that would normally appear in any of the Discover screens or search are now hidden. Replies in the timeline and conversations are also hidden.

    The muting interface is on the web under Account → Edit Muted Users. I’ve also updated the API to support muting.

    → 9:31 AM, Jun 5
  • New theme: Archie

    I added a new built-in design to Micro.blog today: Archie, based on the Hugo theme of the same name. It has been lightly modified to work well in Micro.blog, and my changes are on GitHub.

    What I liked about this theme is that it was different than most of the built-in designs, and it has a custom dark mode interface:

    Archie screenshot

    The link colors can be changed using a custom theme by editing the top of the main.css or dark.css templates.

    → 9:07 AM, May 27
  • Book recommendations challenge this week on Micro.blog! Check out the books section of Discover. And nice timing, I haven’t started reading it yet but just today Dan Moren’s latest arrived in the mail. 📚

    → 8:22 PM, May 19
  • Redesigned theme editor for Micro.blog

    I’ve redesigned the theme text editor in Micro.blog, adding a preview pane and other improvements. It now features a split view with the template on the left and your web site on the right.

    Micro.blog theme editor

    When you update a template, Micro.blog publishes your change and then reloads your web site. Micro.blog knows when the publish has finished, so you no longer need to keep reloading, waiting for the change to show up.

    This works best with a test blog, which you can create from Posts → Design → Edit Custom Themes. You can use it with your main blog too, but test blogs are usually faster to update. If your theme is being used by multiple blogs, Micro.blog will always show the test blog in the split view.

    I’ve also updated all the built-in designs to include the theme modified time in any CSS references on your blog. This helps web browsers reload your design right away, while still caching the CSS until you edit your theme again. There’s a new Hugo variable for this: .Site.Params.theme_seconds

    If you’ve ever worked on a custom theme, I think you’ll find this interface drastically better than the old workflow. It is much easier to iterate on a design. Enjoy!

    → 10:51 AM, May 19
  • iA Writer hashtags

    Here’s a quick tip about iA Writer’s new support for Micro.blog. If you use hashtags in iA Writer to organize your documents, you can configure your hosted microblog to automatically assign Micro.blog categories based on those tags.

    When you publish to Micro.blog, the tags from iA Writer will be included in the blog post content. Create filters in Micro.blog to automatically assign categories based on those tags. Filters are run whenever a new blog post is created.

    Here’s what a post might look like in iA Writer, using the hashtag #travel:

    iA Writer screenshot

    In Micro.blog, click Posts → Categories → Edit Filters to create a new filter. For the text, enter #travel, because we know it will appear somewhere in the text content. Then pick a category to assign for any matching posts:

    Filter screenshot

    Note that the hashtag will still appear in your blog post, although you can edit it out later if you want to.

    → 4:41 PM, May 13
  • iA Writer adds Micro.blog publishing

    Exciting news today: the latest version of iA Writer for both iOS and macOS can publish to Micro.blog-hosted blogs. It uses the Micropub API, which is Micro.blog’s native API for posting.

    To get started in iA Writer on iOS, go back to the first screen in the app and tap the settings icon → Accounts → Add Account → Micropub. You’ll be prompted to approve iA Writer in Micro.blog. If you’re not signed in yet in mobile Safari, you can sign in first and then try again:

    iA Writer setup

    In a text document, tap the share icon → Publish → New Draft on Micro.blog:

    iA Writer publish

    When you publish a post, it’s saved on Micro.blog as a draft, and iA Writer opens a preview of the draft on Micro.blog. From there, you can tap to publish it.

    Thanks to the iA Writer team for making this happen! And because it’s built on IndieWeb standards, it’s not just tied to Micro.blog. I’d love to see similar support in other popular text editors.

    → 9:15 AM, May 13
  • Red salsa for this week’s color-themed photo challenge on Micro.blog.

    → 3:47 PM, May 11
  • Last day of the Micro.blog “quotes” challenge. I recently started looking through this book — Mickey Mouse: From Walt to the World — which I picked up a year ago at the Walt Disney Family Museum. 💬

    → 3:51 PM, May 10
  • Announcing Micro.blog for teams

    Today we’re launching a new feature on Micro.blog: support for multi-user blogs, so your whole team can write posts on a shared blog. We think it’s going to be great for small companies, families, and schools, with everything from shared photo blogs to podcasts.

    When you upgrade a blog to the teams subscription, a new “People” tab will appear in Micro.blog. Here you can give existing Micro.blog accounts access to post to the blog, or you can invite new people. Team members can publish new posts, edit existing posts, upload files, manage categories, and more.

    For example, for our Micro Monday podcast, previously Jean and I had to share a Micro.blog account to make changes to the podcast. Now it’s a team podcast where either of us can post with our individual Micro.blog accounts:

    Micro.blog team members

    When someone is added to a team blog, that blog shows up as an additional blog on the web or in the native iOS and macOS apps. A single Micro.blog account can have access to any number of blogs and podcasts.

    The teams plan is a $20/month subscription with unlimited users. It also includes podcasting and video hosting. If you invite someone who doesn’t already have a Micro.blog account, Micro.blog will give them immediate access to the team blog without prompting them to create their own microblog or sign up for a paid subscription.

    To upgrade a blog, click on “Plans” and choose “Upgrade to Teams”. If you have any questions, let me know at help@micro.blog.

    → 2:14 PM, May 6
  • Love this new DuckTales print by Stephanie Ramirez. Framed it today to go with Firewatch, if I can find room for both together on my office wall.

    → 1:53 PM, May 5
  • Rolled out some server improvements today, including a new “…” button for quickly switching between multiple blogs when managing posts, pages, and categories. It also shows your own domain name in more places.

    Dots button
    → 12:42 PM, May 3
  • Markdown in MarsEdit

    Here’s a simple tip for using MarsEdit with Micro.blog. By default, formatting options in MarsEdit such as Bold and Italic map to HTML tags: <strong> and <em>. You can customize them to use Markdown instead.

    Click on Format → Customize to bring up MarsEdit’s Formatting Macros window. Delete the existing Bold and Italic commands and click the “+” button to create a new one. For Bold, add “**” for the opening and closing markup and set the keyboard shortcut ⌘B. For Italic, use “_” and ⌘I.

    MarsEdit screenshot

    Not everything in Markdown can be added to MarsEdit this way, but it’s nice to have a couple of the basics. You can also set the Preview Text Filter in the preferences window to Markdown.

    → 1:07 PM, Apr 22
  • Wildflowers.

    → 2:55 PM, Apr 20
  • API history detour for Micro.blog + MarsEdit 4.4

    Micro.blog supports primarily 2 APIs for posting to hosted blogs:

    • Micropub, the IndieWeb API used in the official Micro.blog apps.
    • MetaWeblog, the XML-RPC API used in MarsEdit for macOS.

    XML-RPC used to be the standard for blog posting, widely supported in all blogging platforms. It is still used in WordPress today, and I’ve supported it in Micro.blog from the beginning. I’ve always wanted Micro.blog to be compatible with as many apps as possible, especially MarsEdit.

    To understand XML-RPC, we have to go way back in blogging history, to 2001 and the original Blogger API by Evan Williams. Micro.blog’s support for XML-RPC still closely matches what the API looked like nearly 20 years ago.

    As is obvious from the name, requests and responses in XML-RPC are sent as XML. Common data types such as integers, strings, and structs are encoded with rules outlined in the XML-RPC specification. To create a new post in the original Blogger API with the words “Hello world”, the request to the method blogger.newPost might look like this:

    <?xml version="1.0"?>
    <methodCall>
      <methodName>blogger.newPost</methodName>
      <params>
        <param>
          <value><int>app ID</int></value>
        </param>
        <param>
          <value><int>blog ID</int></value>
        </param>
        <param>
          <value><string>manton</string></value>
        </param>
        <param>
          <value><string>mypassword</string></value>
        </param>
        <param>
          <value><string>Hello world.</string></value>
        </param>
        <param>
          <value><boolean>1</boolean></value>
        </param>
      </params>
    </methodCall>
    

    Subsequent blogging platforms extended the Blogger API with their own features. Instead of blogger.newPost, Movable Type had mt.newPost with similar parameters, adding a title field. WordPress had wordpress.newPost.

    To try to unify future improvements under a vendor-neutral standard, Dave Winer proposed the MetaWeblog API. MetaWeblog switched to passing content as structs, which could more easily be extended with additional fields, and added an image upload API, metaWeblog.newMediaObject. Dave patterned the field names after RSS:

    The MetaWeblog API uses an XML-RPC struct to represent a weblog post. Rather than invent a new vocabulary for the metadata of a weblog post, we use the vocabulary for an item in RSS 2.0. So you can refer to a post’s title, link and description; or its author, comments, enclosure, guid, etc using the already-familiar names given to those elements in RSS 2.0.

    Dave wasn’t the only one who hoped to bring consistency between feed formats and a blogging API. A couple years later, AtomPub was created based on Atom feeds.

    Ben Trott of Six Apart, makers of Movable Type, blogged at the time about the benefits to basing an API on the Atom feed format, which back then was called Echo:

    Benefits to developers: using the same data model and serialization for syndication, archiving, and editing simplifies the development of tools to work with (produce and consume) these formats, for obvious reasons: code written to produce an item in an Echo feed, for example, can also be used for producing data sent in an API request or packaged up for archiving.

    AtomPub was adopted in Blogger but is not supported in any other modern blogging platforms. Earlier this year, MarsEdit developer Daniel Jalkut announced that he would also be phasing out support for posting to Blogger.

    Between the early 2000s when there was so much activity around blogging standards, and the growth of the IndieWeb and W3C-recommended standard Micropub API in 2017, there was a notable lack of innovation in blogging. Everyone was pulled away to social networks. Platform-specific APIs became the norm. It is because of this lull that XML-RPC survived so long without a modern replacement.

    So that brings us to today. Micro.blog has always worked with MarsEdit, but because it’s based on a standard that was frozen, MarsEdit could not support all of Micro.blog’s features. And while Micropub is clearly the future, there is more we could do now without requiring MarsEdit to be adapted for Micropub.

    I’ve been working with Daniel to identity what is missing from MetaWeblog and rolling that into a new Micro.blog-specific flavor of XML-RPC. This is essentially what Movable Type and WordPress had done years ago. I had avoided it until now because Micro.blog should default to supporting standards wherever possible before inventing something new.

    We talked through this on Core Intuition 416. Now that there’s an alpha of MarsEdit 4.4 available, I’ve documented the new API parameters here. It is based on MetaWeblog, but cleaned up with more consistent field names and support for new features such as creating and editing pages on your blog, server drafts, and downloading all posts.

    Micro.blog now shows up in MarsEdit as one of the supported blog systems, along with Tumblr and WordPress:

    MarsEdit systems

    I’ve been using the new MarsEdit for the last few days, and it really is a big improvement for Micro.blog. Keep an eye out for the final release.

    → 11:44 AM, Apr 20
  • Alamo Drafthouse can’t show movies, so they launched Alamo Curbside for meal kits with fun bonus items. We got a lasagna package that also included a puzzle, popcorn, toilet paper, and a random mystery DVD selection: The Look of Silence. 🍿

    → 2:30 PM, Apr 19
  • Easier Micro.blog podcast cover art

    Podcasting with Micro.blog requires no configuration. Just upload an MP3 with your blog post and Micro.blog handles the rest: creating a podcast feed, using your profile photo as the cover art, and setting other defaults.

    If you want full control over the podcast feed, it’s just a Hugo template. You can edit it with a custom Micro.blog theme to add anything you want. Because of this flexibility, I’ve been recommending that anyone starting a podcast on Micro.blog who doesn’t want to create a separate account (which would have its own profile photo) to tweak the podcast feed to override the default cover art.

    Now it’s much easier. There’s a new feature on Micro.blog under Posts → Design that lets you change the cover art:

    Podcast settings

    Click the existing cover art to select a new image from your uploads:

    Podcast uploads

    Happy microcasting!

    → 11:22 AM, Apr 6
  • Micro.blog 1.8 for iOS with post editing

    Version 1.8 of the Micro.blog iOS app is available. From the release notes:

    • Added “Posts” menu for editing your recent posts. Designed for quick updates and typo fixes for Micro.blog-hosted blogs. Can also be used to publish drafts or delete posts.
    • Switched to system font and tweaked colors and layout through the app.
    • Fixed a few issues including missing push notification text.

    Here are a couple screenshots of editing recent posts, similar to what the macOS version has had for a while:

    iOS screenshot

    You can download the update on the App Store.

    → 9:18 AM, Mar 30
  • Seeing this made me smile while out walking in the neighborhood this week. These kids have the right idea.

    → 5:31 PM, Mar 21
  • Feels like we’ve been mostly holed up the last week. Got outside for a great walk downtown today.

    → 4:19 PM, Mar 8
  • Excluding posts from the timeline

    I’ve heard from a few folks recently who would like a better way to control on a per-post basis what appears on their blog and what appears in the Micro.blog timeline. The idea is that they are effectively writing for multiple audiences, and while they might want all posts on their blog, not everything needs to appear in the Micro.blog timeline where it’s more likely to spark a conversation.

    One of the main goals with Micro.blog is to make blogging easier, so we very deliberately try to keep the posting screen uncluttered. Even basic fields like the title of a blog post don’t appear until they are needed. I’m not in a hurry to add more options, because more options can lead to confusion, making Micro.blog harder to use and more likely that someone will give up before posting.

    However, there is a lot of power underneath Micro.blog, just one step removed from the default interface. We can leverage categories to build this feature of picking which posts should appear in the timeline.

    The timeline itself is not magic. It is built from RSS and JSON feeds that tell Micro.blog where your posts are. Usually there is only one feed configured under Account → “Edit Feeds & Cross-posting”, and that feed includes all your posts. To limit what appears in the timeline, we can remove that feed and replace it with a feed that includes a more limited set of posts.

    Micro.blog-hosted blogs already have RSS feeds for each category. Today, I improved the feeds to match the default RSS feed, so that they include the full text (and any photos) instead of a truncated version of the post.

    You can create a category named something like “Micro.blog” or “Timeline” that will contain posts that you’d like to appear in the Micro.blog timeline. Categories are managed on the web under Posts → Categories. Then, remove the default feed from Account → “Edit Feeds & Cross-posting” and add the RSS feed for that new category. If the category is called “Timeline”, the URL for the RSS would look like this:

    https://your-username.micro.blog/categories/timeline/feed.xml

    Now when you’re posting, assign the new post to that category and it will appear on Micro.blog:

    Timeline checkbox

    Your followers will see that post and can reply. All other posts will still appear on your Micro.blog-hosted blog on the web, and other readers can follow those posts in a feed reader.

    → 2:11 PM, Mar 7
  • Refresh button for feeds

    While we have greatly improved the performance of publishing new posts to your microblog and refreshing feeds, there are still occasional hiccups where posts don’t appear in the timeline as fast they should. Today I’m adding an obvious feature: a refresh button!

    Refresh button screenshot

    This screenshot is from the Account → “Edit Feeds & Cross-posting” screen. The refresh button simply tries to download your feed again as soon as possible, instead of waiting in the backlog of potentially thousands of other feeds Micro.blog is checking.

    You should very rarely have to click this. Micro.blog is always checking your feeds for new posts. But if your posts aren’t appearing in the timeline right away after they show up on your microblog, this button will help speed up the process if anything is stuck because of errors.

    Behind the scenes, the refresh button is just sending POST /ping with your feed URL. This is automatic for Micro.blog-hosted sites and can be automated from external hosting as well.

    → 11:04 AM, Feb 27
  • Replies on your blog with Conversation.js

    During the project day at IndieWebCamp Austin last weekend, I built a new feature for Micro.blog that I’m calling Conversation.js. It’s a JavaScript include that lets you take a conversation on Micro.blog and drop it into your blog.

    Like a lot of Micro.blog features, it works either as a simple feature you can enable with a click, or as a more advanced API that can be customized however you’d like. If all you want to do is enable the feature, just click on Posts → Design and look for this checkbox:

    Conversation checkbox

    Behind the scenes, this checkbox is adding a new Hugo parameter .Params.include_conversation that can be used in a custom theme. All the built-in Micro.blog designs have been updated to check for this parameter and then add the following line of JavaScript:

    <script type="text/javascript" src="https://micro.blog/conversation.js?url={{ .Permalink }}"></script>
    

    This JavaScript include gathers the replies to the current blog post and adds them to your web page. The HTML elements all have class names so you can style the replies to match your site.

    See this page on my blog for how the replies look on one of my blog posts.

    If you need even more control, you can request the conversation as JSON from apps or scripts by adding format=jsonfeed to the URL. Or you can add format=jf2 to produce output that matches Webmention.io, so it’s easier to repurpose tools that already work with Webmention.io.

    Speaking of Webmention, this is not just about taking Micro.blog-only replies and putting them on your blog. Because all Micro.blog-hosted blogs support Webmention, and Micro.blog can accept mentions even from blogs that have not yet registered on Micro.blog, with Conversation.js it now becomes much more useful for other blogs to send you replies. Those replies can appear on your blog, with Micro.blog mostly acting as glue so that both blogs can talk to each other.

    I’ve been wanting to do something like this for a while. It didn’t take long at IndieWebCamp Austin when I finally sat down to code it, but I think it opens up a lot of options for Micro.blog in the future, including acting as an IndieWeb-friendly replacement for Disqus and other commenting systems.

    → 9:46 AM, Feb 25
  • End of the MetroRail line while they rip up the road around the station at the convention center.

    → 10:45 PM, Feb 23
  • Downtown can sometimes seem like a bit of a spectacle: new construction, partiers enjoying Austin, scooters everywhere. But there are still a few quiet, abandoned corners not quite rebuilt, like this place on the way to dinner.

    → 11:59 PM, Feb 22
  • Sounds like progress is being made to get the Zilker Zephyr running again. It has been closed for nearly a year. Snapped this photo of the unused tracks last weekend while we were walking on the trail.

    → 11:52 PM, Feb 21
  • Thinking of “scale” earlier tonight while I was driving, the sky lit up in color. And then minutes later when I had parked the car it was over. Just caught the very end of the sunset for this shot.

    → 10:58 PM, Feb 20
  • Somewhere up there in the sky… space. I was so busy today I almost skipped the photo challenge, but noticed this photo I shot quickly a few nights ago from the Congress Avenue bridge.

    → 11:59 PM, Feb 19
  • Scattered seats in the Apple Store, opposing any kind of symmetry or order.

    → 8:57 PM, Feb 18
  • More coffee for the photo challenge. Cool drink outside Bakery Lorraine while we waited for our Apple Store appointment to see if the dead Apple TV was fixable. Spoiler: it wasn’t.

    → 4:16 PM, Feb 17
  • Micro Meetup this Friday

    IndieWebCamp Austin is this weekend! Jean MacDonald will be in town for the event, so we’re also going to have a Micro.blog meetup on Friday evening. Anyone interested in Micro.blog is welcome to join us whether you’re attending IndieWebCamp or not.

    Easy Tiger on 6th Street, 5-7pm. Jean and I will be there a little early to get a table, probably outside if the weather’s nice. We’ll have Micro.blog stickers.

    Easy Tiger

    Hope to see you at the meetup! And you can also still register for IndieWebCamp Austin.

    → 10:48 AM, Feb 17
  • Nice spot to rest while walking the dog today.

    → 2:01 PM, Feb 16
  • For today’s photo challenge: balance. My glasses balancing on the “nosey” holder at my desk. I got this as a present a few years ago and still use it every day.

    → 11:03 PM, Feb 15
  • I usually order an iced coffee, but need a little warmth on a cold morning. Coffee at Red Horn.

    → 8:50 AM, Feb 14
  • “Rise up! I will fight for this land, but there’s only one man who can give us a command so we can rise up.”

    → 9:47 PM, Feb 13
  • I don’t have any particular attachment to Sticker Mule, and in fact once tried to switch to another sticker company, but they make it really easy to re-order stickers. New batch just arrived for IndieWebCamp Austin!

    → 11:04 PM, Feb 12
  • Gluon for iOS and Android

    Gluon is the first cross-platform mobile app for Micro.blog. It supports multiple Micro.blog accounts and features like local drafts, muting, and themes. Developer Vincent Ritter has documented the development process on his blog through several iterations of the app.

    Gluon screenshot

    Congrats Vincent! You can download Gluon on the App Store here.

    → 4:19 PM, Feb 11
  • My go-to smoothie lately: one frozen banana, frozen blueberries, a little plain yogurt, peanut butter, sometimes kale, and almond milk. Apparently everything we buy is HEB-branded now.

    → 2:08 PM, Feb 11
  • IndieWebCamp ad experiment

    We’ll never have ads on Micro.blog. It’s really important to me that it’s user-supported and the timeline only includes posts you want to see. But if ads are already on a platform like Twitter, why not use them? I’ve experimented a couple times with Twitter ads. This week I decided to run a very small campaign to help get the word out about IndieWebCamp Austin.

    I’m not sure it’s very effective, but I find the results interesting. Here’s a screenshot of the stats after the ad ran over the weekend:

    IndieWebCamp can be difficult to explain succinctly. Micro.blog can be too, for that matter. But I’ve found the IndieWeb events I’ve attended extremely valuable, both to be inspired by what people are working on and to have a little time to make Micro.blog even more IndieWeb-friendly. Hope to see y’all there!

    → 11:23 AM, Feb 11
  • I added the placeholder for the 30-day photo challenge pin. You can view your pins in Micro.blog by clicking Account → “View All” in the top header.

    30-day pin screenshot
    → 10:30 PM, Feb 10
  • The sign outside Cenote on a rainy afternoon. Coffee and work on resuming the Micro Monday newsletter.

    → 12:58 PM, Feb 10
  • Enjoying the Oscars. I like that they do best animated feature early, but then there’s always a bit of a lull until some of the later categories.

    → 8:00 PM, Feb 9
  • Today’s photo challenge prompt: contrast. Finally got some AirPods. They’re great, but still kind of miss when one pair of headphones could work reliably on all devices.

    → 11:59 PM, Feb 8
  • Follow-up on RSS in Apple News

    When Daniel Jalkut posted about Apple’s email to keep his blog active in Apple News, I commented that Apple no longer even allows RSS for new blogs. I got this mixed up, though, confusing the options for publishers with what feeds users can add to the app themselves. Nick Heer followed up to clarify:

    Nevertheless, it seems like it’s still possible — according to that News Publisher site — to create a new channel based on RSS. Existing RSS-based channels also appear to be functional still; this one is, at least. However, it is no longer possible to subscribe to an RSS feed as a user with Apple News.

    I’ve now confirmed this. Today I tested using Apple’s News Publisher with a new Apple ID, and it does let you add RSS sources. However, it really discourages it. The default is Apple News format, and when you switch to RSS you get this prompt:

    Are you sure screenshot

    As soon as you start using Apple News format instead of RSS, you can’t go back to RSS. It’s hard to tell if this was a technical limitation with how Apple News manages different feeds on the backend, or a decision to move Apple News away from RSS. Probably a little of both.

    → 11:17 AM, Feb 8
  • A sign above. We’ve been watching them expand this HEB with grocery pick-up for months and it almost looks ready.

    → 6:10 PM, Feb 7
  • It snowed last night. Still a little left on some of the plants outside.

    → 9:49 AM, Feb 6
  • This could’ve been for “reflect” or today’s prompt “hide”. Our new sticker Baby Yoda hiding on the back window of the car.

    → 10:12 PM, Feb 5
  • “Nobody goes there anymore. It’s too crowded.” Feel lucky I found a nice spot at Summer Moon this morning.

    → 9:04 AM, Feb 4
  • Trees reflecting in my car window. Today’s prompt for the photo challenge makes me think of the Mirror Project from the early 2000s.

    → 9:42 AM, Feb 3
  • Day 2 of the photo challenge. A few months ago we impulse bought this bucket list book of 1000 places because of the great photos to inspire future travel. Beautiful sights like this shot of the Milky Way from Arizona.

    → 10:03 PM, Feb 2
  • Mimi Uploader beta

    Sam Grover has been working on a new iOS app for Micro.blog called Mimi Uploader that is all about batch uploading photos to your blog. I love it because it takes a specific need and provides a really polished workflow just for that. After the upload finishes, you can copy Markdown or HTML to reference all the photos for easy pasting into another app or Micro.blog on the web.

    It’s now available as a public beta. There’s a link to the TestFlight beta on Sam’s microblog.

    Mimi selection Mimi uploading

    → 11:17 AM, Feb 2
  • First day in the 30-day photo challenge. I like how you can see the capitol building in the distance from the pedestrian bridge, despite the new buildings crowding out the skyline. It’s almost like there was a planned open space.

    → 1:09 PM, Feb 1
  • Replies hosted at your own blog

    When I was first developing Micro.blog, I made a choice that quick replies in the timeline should be stored separately from regular blog posts. I thought that most people wouldn’t want replies mixed in with their blog posts at their own domain name. I also liked that replies were simple, usually short and without images, because it makes the timeline much more readable.

    This has admittedly poked a hole in one of the most important goals of Micro.blog: owning your own content by having it at your own domain name. If someone wanted more control over their replies, they would need to use an external blog like WordPress, even though Micro.blog had great support for Webmention and cross-site replies.

    I always thought this limitation would be temporary. As I’ve been finishing up my book Indie Microblogging, this trade-off with replies from the early days of Micro.blog has become untenable for me. Storing replies outside of your Micro.blog-hosted blog, even if you can export them or move to another IndieWeb-friendly platform, is too silo-like for the mission of Micro.blog.

    Today I’m rolling out the first of a series of improvements to replies. You can now optionally have your replies on your own blog, with reply permalink URLs at your own domain name.

    Here’s a screenshot of the option on the Account screen. The popup menu will include any blog that’s hosted on Micro.blog, so you could even create a separate microblog just for replies:

    Replies option

    Replies get a new reply post type in Hugo, which is used under-the-hood for your microblog. This means they won’t show up in your default feeds or home page, although you can create a custom theme to change that.

    Micro.blog adds a few Hugo parameters that can be used for reply HTML templates:

    • .Params.reply_to_url: The URL for the post you are replying to.
    • .Params.reply_to_hostname: Just the hostname part of the reply-to URL.
    • .Params.reply_to_username: The username for the Micro.blog user you’re replying to.
    • .Params.reply_to_avatar: The URL for the Micro.blog user’s profile photo.

    I’ve added a new template in the Marfa theme to use these:

    Blog reply

    There’s also a new page at yourblog.com/replies with the most recent replies. If you enable pagination under your blog’s settings, that page will expand to show all your replies.

    It’s still early for this feature, and for now I’ve made some of these customizations only in the Marfa theme. Consider this new plumbing that you can take advantage of in your custom themes, with more improvements to follow later so this works as consistently as possible across all the built-in designs. But it is a major step to strengthen the IndieWeb principles in Micro.blog.

    → 11:02 AM, Jan 27
  • I put this print from Nan Lawson on the wall in my office as a Frozen-inspired reminder not to get overwhelmed by the big stuff. Just do the next right thing.

    → 12:01 PM, Jan 13
  • Found a bird nest while taking down the Christmas lights on the house.

    → 6:48 PM, Jan 11
  • My daughter took apart one of her old typewriters last week, trying to fix it. No luck, but I love the way it looks inside.

    → 12:43 PM, Jan 10
  • We picked up Secret Hitler over the holidays and loved playing it. Great for 5-10 players.

    → 8:19 AM, Jan 3
  • Happy Holidays! Baby Yoda fitting in nicely with the other Christmas decorations.

    → 8:17 PM, Dec 26
  • Our little holiday scene in the front yard. Turns out an upside-down tomato cage makes a good Christmas tree frame.

    → 9:23 PM, Dec 10
  • Microblogvember pin

    I’ve finished adding the special pin for anyone who participated in the Microblogvember challenge. Jean MacDonald also has an emoji recap of all the challenge prompt words.

    November pin

    There’s a link at the top of your Account page in Micro.blog, or click here to view your pins. If you don’t see the pin yet, it should appear whenever you post to your microblog next, which tells Micro.blog to check for new pins again.

    Because some people started late or posted twice in one day, the “algorithm” for calculating the pin isn’t very strict. If you were blogging regularly in November and used 30 of the prompt words from the challenge, you’ll get the pin. This was a lot of fun and I hope we can do more challenges like this in the new year.

    Now is also the perfect time to unlock the “Happy Holidays” pin by posting to your microblog with something about the winter holidays. It’ll match on a bunch of keywords including Christmas, Hanukkah, Santa, snow, reindeer, and a few others. Enjoy! ❄️

    → 4:24 PM, Dec 8
  • Misty morning at the Christmas tree farm in Elgin.

    → 3:10 PM, Nov 29
  • Baby Yoda yarn! @traci bought a crochet pattern online. 🧶

    → 10:15 AM, Nov 28
  • Morning hike at Pace Bend over the weekend. 🏕

    → 9:37 AM, Nov 25
  • Beautiful outside today at Mueller.

    → 2:10 PM, Nov 19
  • Working on the book. When it goes live on the web, it will be published as a Micro.blog-hosted site with a little JavaScript for auth. The new Lanyon theme’s sidebar works great for the table of contents. The draft is 50 short (micro!) chapters in 6 parts.

    Book contents screenshot
    → 10:47 AM, Nov 19
  • Blazers in Houston with @cheesemaker.

    → 9:09 PM, Nov 18
  • Barton Creek earlier today, right before the temperature dropped.

    → 4:25 PM, Nov 11
  • Dear coffee.

    → 10:42 AM, Nov 7
  • Micro.blog filters with post length

    There’s a powerful filter mechanism inside Micro.blog for automatically assigning categories based on criteria in the post. For example, if the post includes an img tag, assign it to a Photos category. Or if the post includes the 📚 emoji, assign it to a Books category. I blogged about this in September.

    Today I’ve expanded this feature to also allow matching on whether the post is a short microblog post or whether it’s a longer post with a title. Like other parts of Micro.blog, it uses the title to determine how to categorize the post. Posts without titles are always considered short microblog posts.

    To create new filters, go to Posts → Categories → Edit Filters.

    Filter screenshot

    You can use this in combination with matching the title or text in a post, or leave those fields blank when creating a filter to match all posts. This makes it easy to move all full-length posts into a category, which can also have its own RSS feed.

    → 9:29 AM, Nov 6
  • Lanyon theme on Micro.blog

    There’s a new built-in theme available on Micro.blog called Lanyon, based on the open source Hugo theme of the same name. It’s a clean, readable design with a slide-out menu for page links.

    Lanyon theme screenshot

    I’ve been working on getting several new themes ready for Micro.blog. Some Hugo themes work with only a couple tweaks, and some take more time. My fork of Lanyon with Micro.blog-specific changes is on GitHub.

    → 9:57 AM, Nov 5
  • Icro for Mac

    Two new versions of the third-party Micro.blog app Icro have been released. The iOS version now supports push notifications, and a new version is available for macOS for the first time.

    Icro for Mac screenshot

    Because the official Mac app is distributed as a direct download, this is actually the first Micro.blog app available in the Mac App Store. It was ported to macOS using Catalyst, so it requires Catalina, which I just upgraded to. It’s great to have another microblogging option on the Mac!

    → 7:44 AM, Nov 5
  • Marking the halfway point on our walk today, took this photo of downtown Austin from the pedestrian bridge. Day 2 prompt for Microblogvember.

    → 4:26 PM, Nov 2
  • Ginger, 2008 - 2019.

    Ginger
    → 7:00 PM, Oct 30
  • Register your domain name on Micro.blog

    Since the very beginning of Micro.blog we’ve encouraged you to use your own domain name with your microblog. It’s the best way to control your content and an important principle of the IndieWeb. Now it’s even easier.

    If you don’t have a domain name yet — or need a new one! — Micro.blog can handle registration for you. We are using the Name.com API to purchase and configure the domain name for you. Payment is handled on your existing Micro.blog subscription and everything is automatic. No messing with DNS records.

    Here’s a screenshot of finding a domain name, which is linked under the domain name section on Posts → Design:

    Micro.blog screenshot

    I’m very excited about this feature. We’ll be expanding it based on feedback but it is already quite powerful, even including email forwarding. And of course, you can always register a domain name elsewhere on the web and point it to Micro.blog.

    → 11:23 AM, Oct 29
  • Swarm check-ins and Micro.blog

    Following my experiment with importing Foursquare data, I’ve officially updated Micro.blog to support storing location information. The Micropub API now accepts checkin and location properties for sending venue name, URL, latitude, and longitude to Micro.blog. This works with the JSON format in OwnYourSwarm, which connects Foursquare/Swarm to your microblog.

    Micro.blog on the web and the native apps do not send any location information. Right now this is purely an opt-in feature for third-party apps like OwnYourSwarm and custom solutions using the API. We consider location information very private and will never enable it automatically.

    When a post has location information, you can see the coordinates in the posts list on your account:

    Location screenshot

    The default Micro.blog themes do not currently do anything with this information. You can create a custom theme to access the coordinates as custom parameters, like this:

    {{ if .Params.location_latitude }}
      <img src="https://example-mapping-service.com/?center={{ .Params.location_latitude }},{{ .Params.location_longitude}}" />
    {{ end }}

    The 4 available parameters are location_name, location_url, location_latitude, and location_longitude. The venue name is automatically prepended to post content so that no theme changes are necessary. I’d like to explore offering maps as a built-in feature in the future. Enjoy!

    → 9:03 AM, Oct 28
  • Toronto photos

    Years ago my wife and I were in Vegas and had a chance to see Elton John… and missed it. This year, when I realized he was playing in Toronto on the night of our 20th anniversary, I bought tickets as a surprise birthday gift and we planned a short trip around the concert.

    We arrived in the late afternoon earlier this week, took the airport train to Union Station and the subway to our hotel, then went down to Polson Pier to catch the sunset. We had dinner and explored the Distillery District before checking out Jurassic Park for the Raptors game — too late, they had already closed it off — and settling for beers at the sports bar next door to watch the end of the game.

    The next day we did a bike tour of the city. On the way to meet the guide, we wandered down a street to look at the trees and a woman said hi as she walked by. Realizing we were tourists, she stopped and told us that she had been friends with Jane Jacobs, who lived just a block away. There’s a sign outside her old house.

    The bike tour was a great way to see a bunch of Toronto. Murals, CN Tower, trains at Roundhouse Park, sculptures at Ireland Park, the university, and several neighborhoods. We stopped for hot chocolate and then back on our own visited a couple libraries including the Sherlock Holmes room at the Toronto Reference Library.

    Dinner in Little India and then the streetcar back for the concert. We loved it. Even with just a couple days we really got a lot out of visiting the city. Looking forward to coming back one day.

    → 1:58 PM, Oct 26
  • Clouds lit up tonight just after sunset.

    → 8:53 PM, Oct 20
  • Layers of highways near Fort Worth.

    → 2:06 PM, Oct 14
  • Mural outside Twisted Root in Waco.

    → 2:43 PM, Oct 13
  • We forgot to take a group shot at the IndieWeb Meetup in Austin last week, but just noticed as I was flipping through photos that I had this one of my iced coffee and stickers. Next meetup is Nov 6th.

    → 2:04 PM, Oct 8
  • Someone’s lost key in an empty parking lot.

    → 2:58 PM, Oct 7
  • Happy Hour at NXNW. 🍺

    → 6:37 PM, Sep 30
  • Filter posts into categories

    As more Micro.blog bloggers use categories to organize their posts, I want to keep making categories more useful while retaining the simplicity of microblogging by default. Today we’ve added an option on the web (under the new “…” button when starting a new post) to choose categories right as the post is being created, as well as a new interface that can filter blog posts into categories based on the text in those posts.

    For a while we’ve had a feature to automatically filter photo posts into a category. If you create a category called Photos or Photography, Micro.blog gives you this simple checkbox on the categories screen:

    Photos checkbox

    This is powered by filters that look for a match in the title or text of a post and then set a category for you automatically. These filters can now be managed from a new “Edit Filters” button on the categories screen on the web:

    Filters list

    By default, filters are applied to new posts only. To also apply the filter to all posts, there’s a new “Run Filter” button. For blogs with thousands of posts, make sure to give Micro.blog a little time to update all your posts and publish them to your blog.

    → 12:35 PM, Sep 24
  • Sending email for Sign in with Apple

    When we released Micro.blog 1.7 for iOS last week with Sign in with Apple support, Micro.blog could not actually send email to Apple’s private relay server. This is an issue that has popped up on the Apple developer forums and likely affects many developers. I was so excited for Sign in with Apple that I thought it was worth shipping anyway, crossing my fingers that we could resolve it shortly after iOS 13 was out.

    Apple’s private email relay server is almost completely undocumented. In this blog post I’ll describe how I got it working.

    The key issue is that the “return path” of your emails must be using a subdomain that can be verified by Apple. This blog post from SendGrid describes the solution in detail. I was happy to discover that I could customize this in the settings in Mandrill as well under Settings → Sending Defaults:

    Return path screenshot

    Here are the steps I took:

    • Create a new subdomain. I decided to use mail.micro.blog. Set the TTL to just 1 minute, because you will need to change the DNS record multiple times during this process.
    • Initially the subdomain should be a CNAME to your email provider. Mine was set to mandrill.com.
    • Make sure you have SPF records for this new subdomain. Mandrill will walk you through this when you add a new subdomain under Settings → Domains → Tracking & Return Path Domains.
    • Start registering the new subdomain in Apple’s developer portal. Apple will check the SPF records at this point. After you click Register, download the verification file.
    • Create a new web site somewhere for your subdomain and update your DNS record to now point to that web host instead of Mandrill. The web site must support the latest encryption settings for HTTPS or it will mysteriously fail verification from Apple.
    • I put the subdomain on GitHub Pages so I didn’t need to spin up a new server somewhere for it. If you use GitHub Pages, make sure to create .nojekyll file so that the .well-known folder that Apple needs isn’t skipped.
    • Upload the apple-developer-domain-association.txt file from Apple to the new subdomain web site. Wait a few extra minutes to make sure the DNS has changed before clicking Verify at Apple.
    • Also verify your root domain name and add the from email address you will be using to send email. Here’s what my settings look like when everything is working:
    Apple screenshot

    And finally:

    • Change the DNS record for your new subdomain to point it back to mandrill.com.
    • If any previous emails had already bounced, remove those from Mandrill’s blacklist under Settings → Rejection Lists so they will try to send again in the future.

    As I type all of this out, I still can’t believe it’s so complicated. Apple should both document this and remove as much friction as possible, for example by allowing domain names to be verified by DNS records alone and providing much more detailed error messages when things go wrong.

    → 1:35 PM, Sep 23
  • Sign in with Apple in Micro.blog

    We added Sign in with Apple to the next version of Micro.blog for iOS 13. It can be used to sign in to an existing Micro.blog account, or to create a brand new Micro.blog account right from iOS. It is the fastest way to start blogging.

    Because Micro.blog doesn’t have passwords, in previous versions we had to send you an email to confirm signing in. With Sign in with Apple, we can skip this email verification and quickly sign you in with Touch ID or Face ID.

    If you have an existing Micro.blog account and use Sign in with Apple with the same email address, you’ll be signed in to your current account. If you pick an email address that doesn’t match the email address used in Micro.blog, or if you choose Apple’s private email relay, Micro.blog will create a new account and start a hosted blog trial for you.

    A few things to be aware of:

    • You can have multiple email addresses associated with your Apple ID. When signing in, make sure to pick the one that is used by Micro.blog.
    • If you accidentally create a new Micro.blog account, you’ll want to delete it so that you can sign in to your real account.
    • Micro.blog cannot currently send email through Apple’s private relay service. I hope this will be resolved soon.

    This update to Micro.blog ships on Thursday with iOS 13. If you’re already running iOS 13, you can try this update early by joining the TestFlight beta.

    → 10:27 AM, Sep 17
  • Picked up our car today. Loved everything about ordering online and the car vending machine experience.

    → 1:32 PM, Sep 7
  • Mural outside Brick Oven after lunch. 🍕

    → 12:58 PM, Sep 6
  • Micro.blog test blogs

    Blogs hosted on Micro.blog provide a lot of flexibility with custom CSS, themes, and Hugo templates. But if you are making major changes to the design of your blog, you may not want to do that live and risk breaking anything for your site visitors.

    I often test out changes on a 2nd fake blog I created on Micro.blog. It’s like an extra sandbox that I can play in to edit templates without touching my real blog, and it’s useful enough that I want everyone else to be able to do the same thing.

    Micro.blog now lets you create a free test blog for your account with a URL like username-test.micro.blog. There’s a button to create the test blog under Posts → Design → Edit Custom Themes. It will appear as a free 2nd blog on your account, and you can post to it, upload files, or try out custom themes.

    Test button screenshot

    Because custom themes on Micro.blog can be shared across multiple blogs, when you’re happy with any changes you’ve made in your new theme, you can assign the theme to your main blog and all those changes will be applied to both sites. I’ve also added a “duplicate” option that makes a new copy of the theme so you can edit templates in the duplicate theme on your test blog.

    → 9:27 AM, Sep 4
  • Mastodon remote follow

    I’ve updated Micro.blog today to help Mastodon users follow people on Micro.blog. It used to be that if you clicked from Mastodon to a Micro.blog user, you just ended up their blog home page. Now it redirects to a special version of the Micro.blog profile screen which includes a follow form.

    Remote follow screenshot

    This is very similar to Mastodon’s default remote follow form, or Aaron Parecki’s profile page. For more about how to use your own blog’s domain name as your Mastodon-compatible username, see this Micro.blog help page about ActivityPub.

    → 10:32 AM, Sep 3
  • The wall outside Fabled Bookshop in Waco.

    → 6:56 PM, Sep 1
  • Waco Mammoth National Monument.

    → 4:47 PM, Sep 1
  • Tumblr cross-posting

    I’ve decided to add Tumblr as a cross-posting service in Micro.blog. This means Micro.blog can take your blog posts and automatically copy them to a Tumblr blog.

    I usually avoid adding blog hosting services to Micro.blog’s available cross-posting destinations. After all, if it’s a good blog host that I could recommend as your primary blog, why not just post everything there instead of using Micro.blog’s own blog hosting? But the more I’ve used Tumblr in the last couple of weeks, the more I think about Tumblr as a community first and a blog host second.

    To add a Tumblr blog in Micro.blog, on the web click Account → “Edit Feeds & Cross-posting” → “Add Tumblr”.

    Micro.blog screenshot

    In related news, I’ve removed the upload file size limit when importing a Tumblr blog archive to use Micro.blog hosting. If you have a Tumblr, Medium, or WordPress blog that you’d like to migrate to Micro.blog, click Posts → Import.

    → 9:47 AM, Aug 23
  • It only took buying 4 packs of LEGO minifigures to get Mickey from Steamboat Willie.

    → 4:38 PM, Aug 20
  • Dark mode preview for iOS 13

    In all the Mac and iOS software I’ve worked on over the years, I don’t think I’ve ever had a new release ready as soon as Apple shipped their major updates to macOS or iOS. The timing just never works out, so I update a couple of weeks or months later. For iOS 13, I’m finally ahead of the game.

    I just updated the beta of Micro.blog for iOS with a couple fixes, especially for dark mode on iOS 13. There’s more to do, but I feel really good about being able to have this ready.

    Micro.blog dark mode

    If you’re running the beta of iOS 13, you can sign up for the Micro.blog beta here. Thanks for testing!

    → 12:54 PM, Aug 16
  • Tumblr integration with Micro.blog

    I’m excited to see where Automattic takes Tumblr, but even today there are already several Tumblr-related features built in to Micro.blog. Here are a few ways that Micro.blog can integrate with Tumblr.

    Follow Tumblr users on Micro.blog: Micro.blog tries to play nicely with the rest of the web, so you aren’t limited to just following Micro.blog users. To follow someone’s Tumblr blog, on Micro.blog click Discover, then click the search icon, and enter their Tumblr domain name:

    Tumblr follow

    Click on the Tumblr user to preview their posts and follow them. Now when they post to their blog, those posts from Tumblr will appear in the Micro.blog timeline. Short posts, photo posts, and art from Tumblr look great in Micro.blog.

    Add your Tumblr feed to Micro.blog: If you actively post to Tumblr and also have a Micro.blog account, you can add your Tumblr RSS feed to Micro.blog so that when someone follows you on Micro.blog, they see posts from both your main microblog and your Tumblr blog.

    Click Account → Edit Feeds & Cross-posting, then paste in your Tumblr RSS feed:

    Tumblr feed

    Import your Tumblr blog to Micro.blog: Maybe you no longer maintain your Tumblr blog and want to move your old posts over to Micro.blog. First, export your posts from the Tumblr dashboard. That will give you a .zip file you can import into Micro.blog under Posts → Import.

    → 1:20 PM, Aug 15
  • Photo challenge for yesterday, day 7: relief. Making it all the way through IKEA without buying everything.

    → 9:11 PM, Aug 12
  • Podcast download stats

    Micro.blog is not a popularity contest. We don’t have follower counts or public likes because we think those numbers have overshadowed more important aspects of blogging, like the quality of writing and engagement within the community. But we do hear from podcasters using Micro.blog who hope to one day have sponsors for their podcast, and so they do need to know approximately how many listeners they have.

    Today we’ve added a setting to enable basic MP3 download counts if you’re hosting your podcast on Micro.blog. It is off by default. It’s likely that most podcasts — especially podcasts that are just getting started — do not have many listeners, and that’s fine! If you don’t plan to have sponsors for your podcast, you can ignore this setting.

    It takes time to build an audience. Don’t get discouraged. There’s value in telling your story whether it reaches 5 people or 500. I love recording my microcast Timetable because it helps me think through things I’m working on and share that process with anyone who is interested in Micro.blog.

    There aren’t any fancy graphs for this feature. Just a download number for each episode under Posts on the web, next to the “Edit” and “Delete” buttons. You can enable it with a checkbox from Posts → Design. Micro.blog is not tracking the downloads until you enable it, and it doesn’t count you viewing your own podcast, so initially there won’t be anything to see until your podcast feed is refreshed and your MP3s are downloaded again.

    Micro.blog stats screenshot

    With this setting enabled, Micro.blog modifies your podcast feed to use different MP3 download URLs. It may take some time before the new URLs make it to all your listeners.

    Micro.blog’s download tracking does not closely follow the IAB guidelines yet. It is intended as a rough estimate. I’ll be working toward IAB compliance in the future.

    Happy podcasting! Let me know if you have any feedback.

    → 12:09 PM, Aug 12
  • Catching up on @macgenie’s photo challenge. I was working at Whole Foods for day 5, and I love the optimism halfway up the stairs. Determination to keep going. No matter which way you’re headed, you’re almost there.

    → 4:10 PM, Aug 11
  • Great photo challenge from @macgenie. First day is “patience”. As in: don’t speed in the neighborhood. You’re not going to get there any faster.

    → 7:13 PM, Aug 5
  • Even though I‘ve always lived in Austin, I often feel like a tourist whenever I’m downtown. My photo library is full of pictures of the capitol and old buildings.

    → 9:42 AM, Aug 5
  • Old train depot in Elgin.

    → 4:12 PM, Jul 28
  • This is one of the most unique Airbnbs I’ve stayed at. Also beautiful inside. Near Round Top, Texas.

    → 5:48 PM, Jul 27
  • New photos page for Micro.blog-hosted blogs

    I love photo blogs. Last year, Jonathan LaCour wrote Microgram to allow anyone on Micro.blog to paste in a little JavaScript on their blog to show a grid of photo thumbnails. This has been a really popular add-on for Micro.blog — thanks Jonathan! — but we knew we’d eventually need this as a built-in feature.

    Today I’ve added a new page for photos so that new blogs hosted on Micro.blog get something that works out of the box without JavaScript. We’re starting with a simple grid of photo thumbnails similar to Microgram, each linking to the microblog post, and I’d like to expand it with more options in the future.

    Photos grid screenshot

    It uses CSS Grid Layout, so you can also customize a bunch of things without changing the template. For example, to change it to 5 equally-spaced columns, click Posts → Design → Edit CSS and paste in:

    .photos-grid-container {
      	grid-template-columns: 20% 20% 20% 20% 20% !important;
    }
    

    This new photos page is created automatically for any new blogs on Micro.blog going forward. If you already have a page called “Photos” and want to switch to using the new page, you can delete the page you created manually. Micro.blog will then show a “New Photos Page” button to create one of these new pages for you. (You can also rename or re-order the page.)

    Photos button screenshot
    → 8:10 AM, Jul 26
  • Podcast categories updated on Micro.blog

    Apple this week rolled out an updated list of categories for their podcast directory. Some old categories were removed and new categories added. It’s a better fit for what the podcasting world looks like now.

    If you have a podcast hosted on Micro.blog, I’ve updated Micro.blog today with the new categories. On the web, click Posts → Design to see the new list. (Your current category will continue to be used until you update your podcast settings.)

    Categories screenshot

    Thinking about starting a podcast? Micro.blog podcasting is $10/month and also includes a full blog and video hosting.

    → 9:11 AM, Jul 25
  • Copy HTML for photos

    Micro.blog makes it really easy to post some text and a photo to your blog, but sometimes you want a longer post that includes multiple photos. Because Micro.blog puts all the photos at the end of your post by default, I’ve noticed some people looking for an easier way to draft longer posts.

    I’ve added a new “Copy HTML” button next to photos on the Uploads screen in Micro.blog. Using this button, you can first upload multiple photos, then copy and paste the right HTML reference into your blog post draft wherever you want. Happy photo-blogging!

    Screenshot of uploads
    → 3:20 PM, Jul 21
  • Detoured because of traffic, crossing the tracks on the back roads outside of San Antonio.

    → 5:35 PM, Jul 20
  • Looking up.

    → 4:21 PM, Jul 19
  • Land and sky stretching out from the north Mopac and 45 toll road. I hope this stays undeveloped for as long as possible.

    → 7:28 PM, Jul 13
  • The next update to Micro.blog for iOS will support Dark Mode on iOS 13. There are still several things to fix, but here’s a sneak peek screenshot of one of the first builds.

    → 1:14 PM, Jul 11
  • I’ve always liked the 36 Hours travel series in The New York Times, so as we’ve been used-book shopping recently, I’ve started picking up the collections. They’re from 2013 but still really nice. 📚

    → 1:54 PM, Jul 10
  • 15th street as the sun was setting.

    → 10:30 PM, Jul 9
  • Started the morning with a long walk, listening to podcasts and trying to put together all the pieces of today’s schedule in my head.

    → 8:31 AM, Jul 8
  • Cloudy at sunrise this morning, but still great view of the lake from Mount Bonnell.

    → 12:24 PM, Jun 23
  • Hot today in Austin. Downtown, walking past the Capitol before lunch.

    → 12:06 PM, Jun 21
  • Failed donut shops

    On road trips lately, I’ve been fascinated by out-of-business donut shops. If it’s late in the afternoon, sometimes a donut shop is just closed for the day. But it seems like many are closed for good, the old fryers and cooling racks gathering dust.

    Why is this? My guess is that the startup costs for opening a donut shop are less expensive than many types of restaurants. There’s nothing special about a donut shop except that it’s fairly easy to get started, but no guarantee of success, especially in a small town. Most businesses fail.

    → 12:19 PM, Jun 18
  • WWDC 2019 wrap-up

    Finally getting around to posting this. The last couple of weeks since WWDC have been busy. But as I usually do, I still want to capture a little of the week in San Jose. (Looking back on my old posts about WWDC from the 2000s is a great reminder of what the earlier conferences were like, and I wish I had more of those posts.)

    Arriving Saturday evening in San Jose, I rented a car and checked into my Airbnb. This is the first time I’ve tried Airbnb for WWDC. Hotel prices are out of control and I thought it would be a good way to see a different part of the city. Daniel and I caught up over dinner.

    Sunday morning I drove up to San Francisco. I’ve made it a tradition to visit the Walt Disney Family Museum every year, and moving the conference to San Jose hasn’t deterred that. I stopped at Blue Bottle Coffee in San Mateo on the way.

    The special exhibit at the museum was Mickey Mouse drawings. It was an incredible collection. Afterward I had a bite to eat at the Presidio Picnic. Fog covered the Golden Gate Bridge.

    Golden Gate Bridge Golden Gate Bridge Golden Gate Bridge

    I picked up Jon Hays from SFO on the way back, and we stopped at the new visitor center for Apple’s spaceship campus, then got coffee and lunch down the road at Chromatic Coffee. Also detoured slightly for a quick look at Winchester Mystery House. (Skipped the $39 tour. Ouch.)

    Golden Gate Bridge Golden Gate Bridge

    I didn’t need the rental car anymore, so we dropped it back at the airport and took an Uber downtown, planning to go to sfMacIndie and watch game 2 of the NBA finals. That’s when the evening went completely off the rails. We were cruising down the highway and someone rear-ended our Uber so hard it felt like the car was standing still. Everyone was shaken up but okay.

    The keynote was packed with new stuff. I knew this was going to be a big year, but I was expecting most of the news to be around Marzipan (Catalyst). That ended up being a small part of the morning. I watched the keynote from AltConf and worked on highlighting WWDC-related posts in our new Discover section for the conference.

    I was feeling a little out of it most of the morning. As the day progressed and I saw friends or met new folks, I started to feel better. Brent Simmons held a NetNewsWire meetup in the afternoon.

    Tuesday at lunch was our Micro.blog WWDC meetup. This is the 3rd year in a row we’ve held the meetup. It was great catching up with everyone. If you made it to the meetup, thank you! I sent an email to everyone who had RSVP-ed.

    That night was The Talk Show Live with John Gruber and his guests Craig Federighi and Greg Joswiak. Great show.

    A side note about electric scooters. There was a bike lane all the way back to my Airbnb, so I tried to use scooters whenever possible. I had never seriously ridden one before. When they work, they're great, cutting a Lyft ride from $7 to $2.)

    But I also had several scooter frustrations. Scooters that wouldn't unlock. Scooters that would stall, presumably because the GPS wasn't working well. Scooters that would just go slow for no reason. I got lost once because I didn't stop often enough to check a map, going way off course while the Bird clock ticked away.

    My conclusion: scooters are fine when you're going about a mile and there's a bike lane. Less than that, you should walk. More than that, you should Lyft. Daniel and I talked about WWDC and scooters on Core Intuition 376.

    Wednesday morning I stopped for coffee on 2nd street for a little work before walking over to AltConf. My flight was in a few hours so I had just enough time for one session: Leah Culver’s talk on making the podcast app Breaker as crash-free as possible. (Leah also co-founded Pownce back in 2006. I’m hoping to interview her for my book, Indie Microblogging.)

    This was a bit of a strange year for me. While I’m sorry I missed some people and some events, I think it was good that I was back home early. I’m not going to make any other conferences this year. If you’re looking for places to go, I highly recommend IndieWeb Summit in Portland later this month, and Release Notes in Mexico in the fall.

    Apple’s new stuff didn’t disappoint. I’m most excited for Catalyst and Sign In With Apple, which I blogged about here. These are both very practical solutions to real problems. The new iPadOS improvements are also welcome, and I’m looking forward to experimenting with SwiftUI. Overall, a great WWDC.

    → 7:43 AM, Jun 18
  • Spent the weekend in Tyler, Texas. This is the Cotton Belt Depot. Built in 1905 and now used partly as a train museum.

    → 3:25 PM, Jun 16
  • Worked from the coffee shop this afternoon, then found this deer in our front yard as I was arriving back home. Hello.

    → 4:54 PM, Jun 14
  • Micro.blog at WWDC

    It was a good week at WWDC. Micro.blog helped sponsor last night’s LIVE near WWDC concert, and we held our 3rd annual meetup on Tuesday afternoon. I just sent the following email to everyone who RSVP-ed to the meetup.

    Thanks to everyone who was at our WWDC meetup! If you couldn’t make it, or I missed talking to you in person, you can always send me an email if you have any questions or feedback.

    Throughout the week at WWDC, I was asked how Micro.blog is going. New people join the platform every day, thanks to word of mouth, blog posts, and even mainstream stories like the article in The New Yorker. I’m an optimist. I believe if more people blog and use open tools, the web will be better, and platforms like Micro.blog will thrive.

    But it doesn’t happen by accident. Facebook and Twitter are massive platforms. Our team at Micro.blog is tiny. Every time you tell someone about Micro.blog it makes a difference. Every paid subscription gets us a little further.

    I hope everyone has enjoyed their time in San Jose! Your support of Micro.blog means a lot.

    → 8:24 PM, Jun 6
  • Flying over downtown Austin and the UT campus on the way back from WWDC.

    → 8:19 PM, Jun 5
  • Micro.blog meetup details for WWDC 2019

    The 3rd annual WWDC Micro.blog meetup will be today at 12pm outside Grace Deli & Cafe. If you’re attending WWDC this week, grab a to-go box lunch and meet us there, or you can get a sandwich or wrap first from the cafe. Jean, Jon, and I will be there until 2pm.

    It’s less than a block from the convention center: 303 Almaden Blvd. View the location in Google Maps or Apple Maps.

    Grace Deli

    We’ll have some more Micro.blog stickers and we’ll also be giving away a VIP ticket to the LIVE near WWDC benefit concert for App Camp for Girls. We’d love to talk to anyone who is currently using Micro.blog or interested in learning more about indie microblogging.

    Hope to see you there! Thanks for all your support.

    → 11:44 AM, Jun 4
  • For the 30th and final day in a row of visiting parks: Zilker. Brought a picnic to have above Lou Neff Point, looking out over Barton Creek and across the lake to downtown Austin.

    → 1:26 PM, May 31
  • For the second-to-last day of 30, I picked Mayfield Park. Known for its peacocks, and right next to Laguna Gloria and not far from Mount Bonnell, Mayfield has some trails that lead down to the lake or creek.

    → 10:46 AM, May 30
  • Earlier this afternoon, looking over the field to Elisabet Ney Museum across the street from Shipe Park. Loved spending a little time visiting the museum as well.

    → 9:27 PM, May 29
  • I was nearby in Round Rock, so stopped at Shirley McDonald Park. There’s a pond with ducks. Some people were fishing.

    → 3:45 PM, May 28
  • Saved one of my favorites for the last week of parks. The trail at St. Edward’s Park off Old Spicewood Springs.

    → 6:47 PM, May 27
  • Bridge connecting Blunn Creek Greenbelt with Little Stacy Park. I grew up near here and spent many lazy days as a kid exploring by the creek.

    → 3:05 PM, May 26
  • Pease Park along Shoal Creek, with an interesting new sculpture by Patrick Dougherty.

    mp-photo-alt[]=

    → 9:37 PM, May 25
  • Last week of parks

    At the beginning of the month, I started a new blog post series: visiting a city park each day for 30 days. I’m now 23 days in, wrapping up the final week before I leave for WWDC in San Jose. For some parks, we’ve brought a picnic lunch, and for others I’ve sat with my iPad and worked on blog posts or the upcoming book. A few days there wasn’t time for anything but a short walk around and photo.

    Unlike my previous 30-day series for libraries and coffee shops back in 2016, I’ve been consistent about taking a photo every day, which I’ve collected together as thumbnails on the main page:

    Parks grid

    Watching that grid of photos grow from a single photo to dozens is a daily reminder of how progress works on anything. It’s slow, but there’s confidence in seeing a project go from possible to inevitable.

    This is really what blogging is all about. It’s not just the individual posts that matter. It’s also the collection, built over time with a system designed to encourage regular posting. I love that at the end of this 30-day series I’ll have a web page with photos of parks all over Austin, and bits of text that capture a small part of what each park was like.

    → 10:52 AM, May 25
  • Abandoned tracks cut through the side of Metz Park.

    → 1:38 PM, May 24
  • Jessica Hollis Park at the top of Lake Austin next to Mansfield Dam. Warm day. No one here except a couple kayakers.

    → 3:46 PM, May 23
  • Great hiking trail through the trees along the creek at Great Hills Park.

    → 4:09 PM, May 22
  • Springwoods Park. Short trail in a loop around the park. Also has a Little Free Library.

    → 8:30 PM, May 21
  • Field of wildflowers at Brushy Creek Lake Park.

    → 1:03 PM, May 20
  • Tanglewood Park earlier this evening, posting now after watching the final episode of Game of Thrones.

    → 9:10 PM, May 19
  • The branches of a huge oak tree over our picnic today at Harper Park, catching up on feedback about The New Yorker article.

    → 6:42 PM, May 18
  • Bartholomew Park.

    → 4:30 PM, May 17
  • Beautiful afternoon in the shade at Rattan Creek Park.

    → 3:26 PM, May 16
  • Following other blogs on Micro.blog

    After launching support for Mastodon on Micro.blog, I blogged about how Micro.blog is evolving to support 3 types of usernames: normal Micro.blog users, Mastodon users, and IndieWeb-friendly domain names. This last type of username is where I think we can bring more social network-like interactions to the full web.

    Here’s an example. In a post on Micro.blog, you can @-mention someone’s blog by including @domain.com in the post, using their domain name. If that blogger’s site supports Webmention, Micro.blog will send your mention to their blog, where it could be included as a comment.

    I’ve been testing a new feature for this type of username in Micro.blog. You can now follow blogs in the Micro.blog timeline, even if the blogger hasn’t yet registered on Micro.blog. On the web, click Discover, then click the search icon, and enter their domain name. Micro.blog will auto-discover their JSON or RSS feed, letting you follow their blog just as you would follow any Micro.blog user.

    Search field

    This feature is designed for blogs with a custom domain name. It assumes one blog, one user, one domain name, so it doesn’t work to follow specific feed URLs yet. You’ll still want a traditional RSS reader for sites that have multiple feeds.

    I’ll continue to improve this based on feedback, and start adding it to the native apps. Micro.blog is already one of the most open platforms of its kind, and I think this has a lot of potential to take it a step further.

    → 1:21 PM, May 16
  • Downtown today for lunch and errands. This is Edward Rendon Sr. Park just east of I-35.

    → 2:32 PM, May 15
  • El Salido Park.

    → 6:37 PM, May 14
  • Worked at the downtown library today, then walked over to Shoal Beach at Town Lake Park.

    → 7:06 PM, May 13
  • Driving back to Austin, we stopped for a picnic at Stude Park in Houston.

    → 2:53 PM, May 12
  • For day 10 trying to visit 30 parks in a row without missing a day, the weather did not cooperate. Rain and flash flooding this afternoon in Lafayette. Caught a late shot of the pond at Girard Park.

    → 9:04 PM, May 11
  • Another road trip day. This is the suspension bridge in Waco earlier today, from Indian Spring Park. Built in 1870.

    → 7:19 PM, May 10
  • Trailhead Park not far off 620. Plenty of space, tables, and a 3-mile hiking trail. I sat and edited chapter drafts on my iPad. Might be back one day to check out the trail.

    → 3:15 PM, May 9
  • Pouring rain today. Quick road trip, stopped for a burger at Hat Creek in Georgetown, right above Blue Hole Park. San Gabriel River rising up over part of the sidewalk.

    → 12:17 PM, May 8
  • Mueller Lake Park for day 6 of visiting parks for 30 days in a row. Plenty of benches and tables. Bonus: Halcyon is across the street to cool down with an iced coffee.

    → 1:23 PM, May 7
  • Sculptures by Jim Thomas at Chisholm Trail Crossing. Unfortunately no picnic tables, but I sat near the sculptures and did some writing. Small park that stretches down to Brushy Creek.

    → 12:06 PM, May 6
  • New home page for Micro.blog

    We’ve launched a redesigned home page for new users on Micro.blog today. The old design was a little too sparse and didn’t do a very good job of explaining what Micro.blog is. The challenge is that Micro.blog is really 2 things — a blog hosting platform and a social network for microblogs — so the new design reflects that with a 2-column layout.

    New home screenshot

    To give an example of what posts on Micro.blog look like, we include recent posts from the Discover section directly on the home page. There are also profile photos of the team members at the bottom so that new users have a better idea of who is behind the platform.

    → 7:36 AM, May 6
  • Nice day at Emma Long Park on Lake Austin.

    → 3:11 PM, May 5
  • Today I worked from Beverly Sheffield Northwest Park. Got a bunch of editing done on my iPad, for day 3 of visiting parks.

    → 3:48 PM, May 4
  • Day 2 of city parks: Rosewood Park. It has been raining most of the morning, but it let up enough for a picnic lunch.

    → 12:31 PM, May 3
  • Working from city parks

    In 2016, I tried working from a new coffee shop every day for 30 days, then later followed that with 30 days working from libraries. Each day I would post a microblog post and sometimes a photo. You can find links to all these posts on my 30 days page.

    When it was all done, I wrote:

    After wrapping up libraries, I thought I’d make it a trilogy of 30-day endeavors, with a final 30 days of working from city parks. This was a suggestion from Daniel Hedrick, who had worked from parks before, tethering to his iPhone since there’s usually no wi-fi. I loved the idea right away because it fit so well with the goal of getting out of the house and discovering something new in my own city. I even spent a couple hours earlier in the month researching parks and planning out whether I could do it.

    But I quickly realized that I was burned out on commuting all over town, so I tabled the idea. Fast-forward a few years. This week, I’ve been struggling to stay productive as my attention is pulled in a few directions with tasks for Micro.blog.

    I’ve also been working more on my book Indie Microblogging, which I can write from anywhere on my Mac or iPad. I think restarting the “30 days” idea will force me to carve out some uninterrupted time to write, and get me out of a bit of a rut from working at home. It will also be a great use of Micro.blog.

    For day 1 of 30, I went to Walnut Creek Metropolitan Park in Austin. It’s a large park with hiking and biking trails. I actually did more walking than writing, but it’s a start. As with coffee shops and libraries, I’ll collect links to all the posts on a new page here.

    → 3:10 PM, May 2
  • Busy week ahead. Trying to start Monday right with an iced coffee and breakfast taco at Illuminate Coffee.

    → 8:34 AM, Apr 29
  • Sunlit with video playback

    Sunlit 2.5.1 is now available in the App Store. This update fixes an issue with videos not appearing in the timeline after the major new version we released yesterday to add video upload to the app and Micro.blog hosting.

    Here are a couple screenshots of the update with the video preview and new full-screen player:

    Sunlit screenshots
    → 12:44 PM, Apr 6
  • I-10 over the Atchafalaya Basin.

    → 3:49 PM, Apr 3
  • Stopped for a coffee and tiny bit of coding catch-up in Houston, at Throughgood Coffee.

    → 11:47 AM, Apr 3
  • Tonight’s rally for Beto in Austin.

    → 11:24 PM, Mar 30
  • Checked out the WeWork on Barton Springs today. Beautiful space and great view.

    → 12:39 PM, Mar 29
  • There are still bluebonnets everywhere in Austin.

    → 2:59 PM, Mar 26
  • Stacked Waters at the Blanton. Nice to visit the museum again last week over spring break.

    → 10:24 AM, Mar 25
  • Sunset out the passenger-side window on the drive back from Dallas a couple of days ago. Usually tough to get a shot from the highway: buildings, power lines, etc.

    → 10:11 AM, Mar 19
  • Sunlit 2.4 screenshots

    We are getting close to releasing the next version of Sunlit. The app has gone through a bunch of iterations over the years while we searched for the right features and design. This version is my favorite. We’ve simplified posting so that it’s easier and more consistent with Micro.blog, improved profile screens, and fixed even more bugs.

    Sunlit screenshots

    If you’re looking for an alternate to Facebook-owned Instagram that priorities community and content ownership, I hope you check out Sunlit when it’s ready.

    → 1:10 PM, Mar 18
  • Sunlit 2.4 beta

    We just sent a Sunlit beta to testers. This new version of our photo-blogging app includes an updated UI, easier posting, and fixes a number of issues. It also simplifies and removes several features, such as the filter and photo editing interface. (We may bring some features back later, but it was important to get back to basics and improve the core user experience.)

    If you’d like to try it, you can join the TestFlight beta here.

    Sunlit 2.4 timeline
    → 2:09 PM, Mar 13
  • Automatically save to Internet Archive

    There was a session at IndieWebCamp Austin about broken links and archiving web sites. As part of the discussion, Tantek mentioned how he saves all his blog posts and tweets to the Internet Archive as part of his posting workflow. I’ve just added a setting like that to Micro.blog under Posts → Design:

    Checkbox screenshot

    This is off by default for now, but if you enable it, any new posts will be saved to the Internet Archive automatically. It waits about 5 minutes before saving them just in case you have any last-minute edits.

    I still want to do more with archiving. As amazing as the Internet Archive is, I don’t think we should count on it to have a complete archive of the web. But this is a simple feature you can enable in your blog if it’s hosted on Micro.blog, and we can expand it based on feedback. (For example, maybe archiving pages you link to as well.)

    → 1:27 PM, Feb 28
  • First time at Capital Factory? Look for these doors tomorrow inside the building lobby. You can still register for IndieWebCamp here. $5 or free when you blog about the event!

    → 1:04 PM, Feb 22
  • Started the day with JuiceLand. Love these silly prints on the wall.

    → 11:28 AM, Feb 20
  • Got to see a few things in Fort Worth with family over the weekend. Great to have some time to explore instead of just driving through.

    → 9:02 PM, Feb 19
  • Sent an update to Kickstarter backers earlier this week about sending out M.b stickers. It has been fun to pick stamps. This photo when @macgenie and I were preparing envelopes last week shows a couple of the international stamps.

    → 2:11 PM, Feb 7
  • Updated iOS app with categories

    We released version 1.5 of the Micro.blog app for iOS today. In addition to a couple bug fixes, it lets you pick a category for new posts. You can create categories on the web under Posts → Categories for blogs hosted on Micro.blog.

    Tap the gear icon when composing a new post to view your categories:

    Screenshot of categories on iOS
    → 1:04 PM, Feb 5
  • Custom templates, categories, new theme, and more

    We are launching several major new features for blog hosting on Micro.blog today. Any one of these features alone is a big change, and together I hope they will serve as a great foundation for years to come. The goal was to make blog hosting faster and more flexible for new features.

    Custom templates: All the themes have been rewritten with extensibility in mind. As some of you may know, Micro.blog-hosted blogs were originally built on Jekyll. They now use Hugo. There’s an interface in Micro.blog for editing any of the built-in templates, or adding new ones for your own HTML or CSS. Click Posts → Design → Edit Themes.

    Editing screenshot

    Categories: You can create a new category for your blog under Posts → Categories, and those categories will appear when editing a post or when creating a longer post with a title. We hide the category options be default when you are composing a short post, but in the new macOS app you can show the categories by choosing View → Categories. A list of your categories will appear at the top of Archive on your blog for readers to browse.

    Checkboxes screenshot

    Auto-filter photos into a category: If you create a category like “Photos” or “Photography”, Micro.blog will offer to automatically assign this category when posting a new photo. Behind the scenes this is based on a new filtering system that will enable more features for other types of content in the future.

    Categories screenshot

    API for categories: I’ve added categories support to both the MetaWeblog XML-RPC API and the Micropub API. This means that categories work great with MarsEdit. Categories are also included in your default JSON Feed in the “tags” field.

    MarsEdit screenshot

    Sharing themes: When creating a new custom theme, you can choose to clone it from an existing GitHub repository. This will allow someone to create a completely custom theme and share it with other members of the community. There’s a “Blank” design if you are starting from scratch with your own templates.

    New theme: I used the open source theme Arabica when testing these new features, and it’s now an option under Posts → Design. It’s a clean, simple design ported from Ghost.

    Open source changes: All our themes for Micro.blog are available on GitHub. I have decided to keep the forked Jekyll repositories and completely replace the files with the Hugo version. I have mixed feelings about this, since the themes have diverged so much that they are no longer useful to the original authors, but I felt this was the best way to give credit to them for the designs, in addition to our credits page on Micro.blog.

    Moving special pages: Micro.blog has some special pages like “About” and “Archive”. You can now re-order or even delete these under Posts → Pages. Combined with custom themes, this gives much more flexibility in customizing the navigation for your site.

    We’ll be writing more about these new features in blog posts and the help site. If you notice any problems, please let me know. Thank you!

    → 4:34 PM, Jan 30
  • We’ve been playing Catan this weekend. I love the design and how balanced the game feels. Nice way to spend some time as the holiday break winds down for the kids.

    → 12:50 PM, Jan 6
  • Walked by this abandoned toy store the other night. I guess they keep the lights on long after the place is empty and the letters removed.

    → 2:42 PM, Dec 31
  • Baylor at the Texas Bowl in Houston.

    → 8:49 PM, Dec 27
  • Zilker tree. Another fun year at the Trail of Lights. 🎄

    → 12:20 AM, Dec 24
  • 12 days of microblogging: linkblogging

    For the 7th post in our 12 days of microblogging series, I want to talk about linkblogging. Micro.blog users have a variety of approaches to posting links on their blog. Some people read an interesting article and type in a summary of it, pasting in the URL to the full article, and some people prefer quoting a portion of the text directly in their microblog post.

    I blogged a couple of years ago in detail about the technical approaches to links in RSS and how linkblogging has evolved, using examples from Dave Winer and John Gruber:

    Instead of just including a URL, authors use a quote from the linked material as the foundation for the post. The majority of Daring Fireball posts adopt this format. While John Gruber is known for his full essays, those longer posts are infrequent today. He keeps his site active by linking to other interesting essays and tacking on his own brief opinion.

    Posts on Micro.blog are formatted with Markdown. If you’re reading a web page on iOS, you can share it to the Micro.blog app to automatically fill in the basic structure of a post, leaving the cursor at the beginning of the post to add your own thoughts.

    In the screenshots above, I’m sharing from Safari on iOS. Micro.blog adds a Markdown link back to the original post with the web page title. Or if there’s text selected, Micro.blog includes that text as a quote.

    Note that Micro.blog will truncate posts in the timeline when they are over 280 characters. For a longer quote, it’s best to give you microblog post a title, turning it into a full blog post.

    Previous posts in this blog post series covered photo blogs, microcasting, travel blogs, custom designs, artwork on blogs, and more. Check out the full list on our help page.

    → 7:44 PM, Dec 9
  • 12 days of microblogging: custom design

    It’s day 4 of our 12 days of microblogging series. Today we want to highlight how Micro.blog supports blog themes and what people can do to give their blog a unique design.

    There are 3 ways to customize your microblog:

    Pick from one of the default 7 themes. These themes are based on existing designs using the Jekyll blogging framework, but modified to work consistently with Micro.blog. We’ve open-sourced all our changes to these themes on GitHub.

    Screenshot of default themes

    Edit the custom CSS for your blog. I’ve been really impressed with what creative Micro.blog users have come up with. You can use CSS to change colors, fonts, hide elements, and more. Here are a few examples from Kitt Hodsden, Michael Barrett, and Khaled Abou Alfa.

    Screenshot of user designs

    Add a custom footer. The footer HTML is a good place to put extra information or JavaScript.

    If you have any questions about using CSS, ask in the #design channel on Slack. And if you have any tips, write about it on your blog so that others can learn from it. I’m currently working on a major upgrade to the themes on Micro.blog that I can’t wait to share more about.

    Previously in the 12 days of microblogging series, I wrote about microcasting, photos, and using your own blog as a home base.

    → 10:19 AM, Dec 6
  • 12 days of microblogging: social media home base

    For the 3rd post in our 12 days of microblogging series, we want to highlight how Micro.blog can serve as your social media “home base”. By centralizing your writing, photos, and other web pages at your own domain name, you can control your content but still share it out to other social networks.

    Micro.blog has cross-posting for Twitter, Medium, LinkedIn, Facebook, and Mastodon. This feature is available for free if you host your site on Micro.blog, or $2/month if your blog is hosted elsewhere. It includes automatic posting to all 5 of those social networks and any new platforms we may add later.

    Here’s how I personally use this feature. I never post directly to Twitter. I publish short posts on my own blog, and Micro.blog automatically sends them to Twitter and other networks. Occasionally I’ll sign in to Twitter and check if I have any @-mentions that need replying to. This way I can avoid the distraction of the Twitter timeline and focus on adding content where it’s most important to me: my own site.

    With Mastodon, you have another option beyond cross-posting. Because Micro.blog supports the ActivityPub API, Mastodon users can follow your Micro.blog-hosted blog and you can follow and reply to Mastodon users directly in Micro.blog. I posted more last month about how this works and why it uses your own domain name:

    Sometimes in the Mastodon world your identity can get fragmented across multiple instances. You might start on mastodon.social but then move to another instance, effectively breaking the link between your readers and your posts each time you move, with no way to migrate posts between instances. By supporting Mastodon and ActivityPub in Micro.blog, you can consolidate your identity and posts back to your own blog at your own domain name.

    Your blog is also a great place to centralize your photos, while still integrating with Instagram and these other social networks. Instagram doesn’t allow automatically posting from your blog to their service, but you can use OwnYourGram or our Mac app to copy Instagram photos to your blog, and from your blog to everywhere else. More links in yesterday’s post.

    For details on how cross-posting works — and the extra rules Micro.blog uses to make sure that your posts look good on other networks — see this help page. Happy cross-posting!

    → 11:43 AM, Dec 5
  • 12 days of microblogging: photos

    Yesterday we started the 12 days of microblogging blog post series to mark the 1-year anniversary of the public launch of Micro.blog. I posted about making it easier for people to share their stories in audio form with microcasting. Today I want to highlight photoblogging.

    Sharing photos is an important part of Micro.blog. I put a custom photo picker and filters in the original Micro.blog iOS app to encourage everyone to post photos to their blog, so that you end up with a great collection of your best photos at your own domain name. Because photos are square by default, they look great in the Micro.blog timeline, and with cross-posting Micro.blog can attach photos to your tweets or send posts to other social networks.

    We also have a companion iOS app just for photos called Sunlit. It has an Instagram-like timeline for browsing photos from your Micro.blog timeline, with the focus around blogs that I wrote about in my preview post as we were relaunching Sunlit 2.0:

    To play nicely with microblogs, we introduced a new post type in the app for single photos. For longer posts, you can still collect multiple photos together, add text, and post them as a story directly to your blog.

    Some people on Micro.blog focus almost exclusively on posting photos, like Robert Brook. Some people have even created separate blogs just for their photos at their own domain name hosted on Micro.blog, like burk.photos. There’s a special section of Discover that features photos from more Micro.blog users.

    A couple of weeks ago, Jonathan LaCour on Micro.blog submitted a feature request for a photos JSON Feed. He used this feed to build Microgram, a snippet of HTML that you can paste into your blog to provide a grid of photo thumbnails. You can see my photos page at manton.org using Microgram in this screenshot:

    Screenshot of photos grid

    One of the most common questions we get is how to migrate photos from Instagram to Micro.blog. I think we have 2 really good options for this:

    • Micro.blog for macOS has a built-in Instagram importer. It will take the archive you get from Instagram and allow you to batch import your Instagram photos to Micro.blog, preserving the original dates and text from Instagram.
    • OwnYourGram is a web-based app that connects to your Instagram account to automatically copy new Instagram posts to your own blog. Because it’s based on IndieWeb standards, it can also post directly to Micro.blog-hosted sites.

    I hope you enjoy posting and browsing photos on Micro.blog! Tomorrow I’ll have the next post in the 12 days of microblogging series.

    → 3:40 PM, Dec 4
  • Great morning getting a Christmas tree while my daughters are in town. This section of the farm in Elgin wasn’t quite ready.

    → 5:07 PM, Nov 23
  • Rose City Book Pub from a couple nights ago in Portland with @macgenie and @cheesemaker. More coffee shops and pubs should have a large collection of books. 🍺

    → 10:01 AM, Nov 7
  • Thinking of Texas even as I’m a few states away today. Great crowd in Austin for Beto yesterday. Everywhere you go there are Beto signs, like this mural we saw in San Antonio last week. It is going to be close. Do everything you can.

    Beto mural
    → 10:29 AM, Nov 5
  • Search in Micro.blog

    Micro.blog doesn’t have hashtags, trending topics, or retweets because I think the focus on those features in other social networks has led to people being exposed to harassment, hateful posts, and even fake news. For Micro.blog, it’s more difficult to accidentally stumble on a random post unless it’s part of a conversation you’re in or from a section that is actively curated.

    This was an important design decision and we’re not walking away from it, but the downside is that it is more difficult to find older posts without a global search. As the first step in improving this, today we’re rolling out a new search screen. You can now search for users and across any post that has been featured in the Discover section.

    Screenshot of search icon

    Click on Discover from the web version of Micro.blog. I’ll continue to improve this throughout the rest of the year, expanding it to more posts, including in the native apps. Looking forward to hearing your feedback!

    → 9:47 AM, Oct 31
  • Heroes Stadium in San Antonio before the marching band takes the field.

    → 12:16 PM, Oct 27
  • Beto has been doing quick stops near polling locations this week for early voting. I picked up a coffee nearby and walked over to hear him, with a nice crowd not deterred by the rain. Inspiring.

    → 3:20 PM, Oct 24
  • Lunch at Lucy’s Fried Chicken, looking out at a very full Lake Travis. So much rain in Texas in the last week, surprised it’s not raining today.

    → 1:03 PM, Oct 20
  • As some folks noticed late last night, I updated the Discover section on Micro.blog to have a better popup menu for choosing topics. It’s not the full list yet, but includes a bunch of the common ones.

    Discover screenshot
    → 1:04 PM, Oct 12
  • Rolled out some additional improvements to today’s Micro.blog page navigation feature, including editing the page URL. Look for the small “Edit” button when editing an existing page.

    → 9:18 PM, Sep 14
  • Last week's Homebrew Website Club

    We rebooted the Homebrew Website Club meetup in Austin this summer after a break, and last week we met again at Mozart’s Coffee to talk about the IndieWeb. It was raining when I arrived at the coffee shop. Despite the weather we found some tables on the bottom deck and had a good turnout.

    Homebrew Website Club

    The meeting was informal. After introductions, we talked about the state of social media and silos, with some detours into Mastodon, Micro.blog, and the value of having your own site. The discussion inspired me to finish writing a post about the way out of this mess we’ve found ourselves in with massive social networks.

    We’re going to keep the meetup at Mozart’s for now. The next meetup will be October 3rd, 6:30pm. I think it will start to become a little more structured: introductions, demos, discussion, and time for writing or working on projects. Thanks to everyone who made it!

    → 5:18 PM, Sep 9
  • Managing uploads in Micro.blog

    Today we added a new screen to the web interface for hosted blogs on Micro.blog. Click “Posts” and then choose the “Uploads” tab to view your uploaded photos and microcast episodes. You can also upload new photos here to later include in a blog post.

    Micro.blog uploads

    Expect this part of Micro.blog to continue to improve. If you have any feedback, let us know. Thanks for your support!

    → 1:45 PM, Sep 5
  • Starting a new photo blog

    Of everything you put into social networks, photos are one of the easiest and most rewarding parts to reclaim for your own site. Because we shipped Sunlit 2.2 this week, I want to share a guide for starting a new photo blog that you will actually consistently post to.

    The first step isn’t technical. It’s a commitment to posting regularly on your own blog instead of first reaching for Instagram or Snapchat. A commitment to posting to a place you control, to a place you can look back to years from now as an archive of your best photos at your own domain name, regardless of what social networks come and go over the years.

    If you already have a hosted blog on Micro.blog or WordPress, you can use that. If you want to start with a new space just for photos, use Micro.blog and click Plans → New Microblog. In the Micro.blog settings, you can map a custom domain to your new photo blog such as photos.yourdomain.com.

    Instagram will let you download an archive of all your Instagram photos. If you use macOS, install Micro.blog for Mac. Choose File → “Import from Instagram”. Select the media.json file in the archive you received from Instagram, and Micro.blog will let you select some or all of your photos to import, preserving the dates and captions on your new photo blog. See this help page for more details on importing from Instagram.

    Instagram import

    To post a new photo, use the official Micro.blog iOS app or our new companion app Sunlit. There are also great third-party apps such as Icro for iPhone and MarsEdit for macOS.

    When you post a photo with some text but no title, that photo will show up directly in the Micro.blog timeline.

    Micro.blog screenshots

    Another option is to connect OwnYourGram with Micro.blog. OwnYourGram can watch your Instagram account for new photos, then copy them automatically to Micro.blog. Before setting up OwnYouGram, make sure to add your Instagram username in Micro.blog under Account → “Edit Apps”.

    For an overview video of the new version of Sunlit, see my post from yesterday. Happy photo blogging!

    → 9:42 AM, Sep 5
  • Quick trip up to Waco for the first Baylor game. Love the view walking to the stadium. 🏈

    → 7:04 PM, Sep 1
  • Took the train downtown this afternoon. Nice to take it on an off-day when not much is going on in Austin, so it’s easy to get a table to work.

    → 4:55 PM, Aug 14
  • Standup paddling near Longhorn Dam earlier today, just a little before it was too hot outside to do anything.

    → 6:20 PM, Jul 21
  • Suspension bridge over the Brazos River, from a quick trip up to Waco earlier this week.

    → 8:03 AM, Jul 19
  • Stack of books sculpture and the fountain at UNT.

    → 9:35 AM, Jul 11
  • County Line BBQ to wrap up the day. Hope y’all had a nice July 4th. 🇺🇸

    → 8:31 PM, Jul 4
  • I’ve made cold-brew coffee with a French press but I’m lazy so usually just buy the Chameleon concentrate at the store. Discovered they also make these convenient pods for about half the price.

    → 10:26 AM, Jul 2
  • IndieBookClub

    As I mentioned in my IndieWeb Summit wrap-up, I added support for IndieBookClub while in Portland. IndieBookClub is a little like Goodreads, but built on standards like Microformats and Micropub so that you can post what you’re reading to your own blog.

    Now that I’m back in Austin, I’ve tweaked the behavior to be smarter about recognizing the ISBN that IndieBookClub sends to Micro.blog. Posts from IndieBookClub also get the 📚 emoji added automatically so that they show up in the books Discover section on Micro.blog. Here’s a screenshot of what posts look like on your Micro.blog-hosted site:

    Screenshot of IndieBookClub post

    If the ISBN is specified, Micro.blog will redirect the link to Amazon, although we may change that in the future. And it’s just a regular blog post, so you can always edit it using Markdown in Micro.blog.

    → 1:06 PM, Jun 30
  • IndieWeb Summit 2018 wrap-up

    Last week I was in Portland for IndieWeb Summit. This was only my second IndieWeb conference (the first was IndieWebCamp in Austin). I had a great time in Portland and got even more than I expected out of IndieWeb Summit.

    The first day was short keynotes and sessions led by attendees on a range of topics. Jean and I talked about our experience and goals with Micro.blog in reaching even more mainstream users. I went to sessions on Microformats, timeline algorithms, code libraries for common IndieWeb building blocks, and Microsub. Some of this carried over to the beginning of the next day, including Aaron Parecki leading a discussion about IndieAuth.

    We held a Micro.blog meetup at Von Ebert Brewing after the first day wrapped up. Thanks everyone for joining us!

    Most of the second day was a hack day to work on our own projects, and at the end of the day everyone could present what they had worked on. I was so impressed with what people had come up with, whether that was improvements to their own site or prototypes for new tools.

    It turned out that having this dedicated time was exactly what I needed to turn Micro.blog into an IndieAuth provider. This means that Micro.blog no longer needs to delegate to Twitter or GitHub for authorization when someone is using an IndieWeb posting tool like OwnYourGram or Quill. Users can instead authorize directly with their Micro.blog account. I also added support for the summary fallback parameter in Micropub, which makes Micro.blog compatible with IndieBookClub.

    In the morning before I left Portland, I interviewed Tantek and Aaron for my upcoming book Indie Microblogging. We had a great conversation on the founding of IndieWebCamp, the accomplishments and changes in the community, and where everything is going from here.

    Coava Coffee Portland bridge

    Portland was great. For this trip I opted for an Airbnb close to the IndieWeb Summit venue. It was also just a block from Coava Coffee, where I spent a couple mornings catching up on work. I hope to be back in Portland for IndieWeb Summit next year.

    → 12:34 PM, Jun 30
  • From the loop around Lake Charles, Louisiana on the drive home.

    → 2:24 PM, Jun 24
  • Road trip today. Crossing over some train tracks out in the country.

    → 4:11 PM, Jun 22
  • On campus this morning. Texas Memorial Museum poking up through the trees.

    → 1:20 PM, Jun 16
  • Back online after taking some time off to camp at Colorado Bend State Park last night. Great hike down to the waterfall this morning.

    → 2:17 PM, Jun 13
  • Glen Keane drawings at the Walt Disney Family Museum.

    → 3:24 PM, Jun 3
  • Cold brew and a breakfast bagel at Voltaire Coffee House.

    → 9:29 AM, Jun 3
  • Santa Clara Valley Brewing in San Jose.

    → 8:32 PM, Jun 2
  • Icro 1.0

    Last month I gave a talk about microblogging at Peers Conference in Austin. In it I covered Twitter’s changing attitude toward developers, from the early days when everyone wanted to build a Twitter app — as John Gruber wrote in 2009, Twitter apps were a playground for new UIs — to when Twitter started actively discouraging traditional third-party Twitter clients.

    For Micro.blog, I always want to encourage third-party apps. We support existing blogging apps like MarsEdit, and we have an API for more Micro.blog-focused apps to be built. I’m excited to say that a big one just shipped in the App Store: Icro.

    Icro is well-designed, fast, and takes a different approach to some features compared to the official Micro.blog app. In a few ways, it’s better than the app I built. This is exactly what I hoped for. We wanted an official app so that there’s a default to get started, but there should be other great options for Micro.blog users to choose from.

    Here are a few screenshots from Icro:

    Icro screenshots

    Thanks to developer Martin Hartl for building Icro and being part of the Micro.blog community. You can download it for free from the App Store here.

    → 7:11 AM, May 9
  • Nice walk this afternoon. Starting to feel like summer in Austin.

    → 3:32 PM, May 5
  • On the train again this morning, heading downtown for Peers Conference.

    → 7:08 AM, Apr 26
  • Took the train downtown today and walked by the lake before breakfast. Micro.blog planning with @macgenie.

    → 1:12 PM, Apr 25
  • Building the piano. Nintendo Labo is brilliant.

    → 9:38 PM, Apr 21
  • Start here.

    → 2:26 PM, Apr 19
  • The bluebonnets have been nice in Austin this year. From someone’s yard while out biking.

    → 5:57 PM, Apr 12
  • Wavelength for Micro.blog

    We have something really big to announce today. Micro.blog now supports hosting short-form podcasts, also known as microcasts, with a companion iPhone app called Wavelength for recording, editing, and publishing episodes.

    Wavelength screenshots

    Before the Kickstarter campaign last year, I started my Timetable microcast to talk about the things I was working on, with a focus on planning what would become Micro.blog. Creating a short podcast is really fun. It’s much easier to record and edit than the longer podcasts we’re all used to. But it’s still not easy enough, and even after nearly 100 episodes of Timetable my workflow was cobbled together with too many apps: Ferrite, Logic, Auphonic, WordPress, a shell script, and sometimes Transmit.

    Micro.blog is about making short-form content you own as simple to post as a tweet because we believe blogging should be easier. Podcasting should be easier too.

    We’re rolling out a new hosted plan on Micro.blog to accommodate microcasts. When you upload an audio file to your site — either from the web, Wavelength, or a third-party app — Micro.blog will automatically create a podcast feed for your microblog. Listeners can subscribe directly, or you can add the feed to the Apple Podcast Directory and it will show up in popular apps like Overcast and Castro. Everything can be served from your own domain name, just like a normal microblog. We’ve been using this infrastructure for all the episodes of our weekly Micro Monday microcast.

    New hosted microblogs with microcasting support will be $10/month. Microcast audio files will be limited to 20 MB. Existing microblogs hosted on Micro.blog can be upgraded to support microcasting for an additional $5/month.

    Everyone has a story to tell. Whether that’s through short microblog posts, longer essays, photo blogs, conversations with friends, or now through podcasts, I hope that the Micro.blog platform and suite of apps can help. If you haven’t checked out Micro.blog lately or are learning about it for the first time, now is a great time to join the community. Thanks!

    → 12:01 PM, Apr 12
  • G League finals, game 1. Derrick White hitting a 3 for the Austin Spurs. 🏀

    → 6:35 PM, Apr 8
  • Cold but beautiful walk around the lake this afternoon.

    → 6:32 PM, Apr 7
  • Under the Mopac bridge, from our walk with the dogs a few days ago.

    → 3:47 PM, Apr 4
  • Dyeing eggs. Tried with brown eggs this year so we got some interesting colors. 🐰

    → 9:55 AM, Apr 1
  • Coffee and work at Apanas this morning, then checked out the new Amazon Books store. Bigger than I expected and very nice.

    → 2:49 PM, Mar 29
  • IndieWeb generation 4 and hosted domains

    Naturally because of the goals of Micro.blog, I see a lot of discussion about “owning your content”. It’s an important part of the mission for Micro.blog to take control back from closed, ad-supported social networks and instead embrace posting on our own blogs again.

    But what does it mean to own our content? Do we have to install WordPress or some home-grown blogging system for it to be considered true content ownership, where we have the source code and direct SFTP access to the server? No. If that’s our definition, then content ownership will be permanently reserved for programmers and technical folks who have hours to spend on server configuration.

    IndieWebCamp has a generations chart to illustrate the path from early adopters to mainstream users. Eli Mellen highlighted it in a recent post about the need to bridge the gap between the technical aspects of IndieWeb tools and more approachable platforms. With Micro.blog specifically, the goal is “generation 4”, and I think we’re on track to get there.

    I want blogging to be as easy as tweeting. Anything short of that isn’t good enough for Micro.blog. You’ll notice when you use Twitter that they never ask you to SFTP into twitter.com to configure your account. They don’t ask you to install anything.

    More powerful software that you can endlessly customize will always have its place. It’s good to have a range of options, including open source to tinker with. That’s often where some of the best ideas start. But too often I see people get lost in the weeds of plugins and themes, lured in by the myth that you have to self-host with WordPress to be part of the IndieWeb.

    Owning your content isn’t about portable software. It’s about portable URLs and data. It’s about domain names.

    When you write and post photos at your own domain name, your content can outlive any one blogging platform. This month marked the 16th anniversary of blogging at manton.org, and in that time I’ve switched blogging platforms and hosting providers a few times. The posts and URLs can all be preserved through those changes because it’s my own domain name.

    I was disappointed when Medium announced they were discontinuing support for custom domain names. I’m linking to the Internet Archive copy because Medium’s help page about this is no longer available. If “no custom domains” is still their policy, it’s a setback for the open web, and dooms Medium to the same dead-end as twitter.com/username URLs.

    If you can’t use your own domain name, you can’t own it. Your content will be forever stuck at those silo URLs, beholden to the whims of the algorithmic timeline and shifting priorities of the executive team.

    For hosted blogs on Micro.blog, we encourage everyone to map a custom domain to their content, and we throw in free SSL and preserve redirects for old posts on imported WordPress content. There’s more we can do.

    I’m working on the next version of the macOS app for Micro.blog now, which features multiple accounts and even multiple blogs under the same account. Here’s a screenshot of the settings screen:

    Mac screenshot

    The goal with Micro.blog is not to be a stop-gap hosting provider, with truly “serious” users eventually moving on to something else (although we make that easy). We want Micro.blog hosting to be the best platform for owning your content and participating in the Micro.blog and IndieWeb communities.

    → 8:24 AM, Mar 23
  • Driving back from Waco.

    → 3:32 PM, Mar 18
  • Baylor trying to make it through the NIT second round. Great game so far.

    → 11:42 AM, Mar 18
  • Latest home screen. Not many changes recently… Sunlit is new and replaces Instagram. Micro.blog and Ulysses in the dock and used often. Top and bottom rows blank.

    → 12:23 PM, Mar 16
  • Mavs had a good 2nd quarter but it wasn’t enough against the Rockets. Still great to see Dirk play.

    → 7:02 PM, Mar 11
  • Sunlit 2.0.1

    We released an update to Sunlit today. Lots of little bug fixes and improvements. (The App Store has been slow this week, but it should show up in your Updates tab soon if it’s not already there.)

    I also updated the Micro.blog timeline to add tiny photo thumbnails for Sunlit stories that have a title. Here’s a screenshot:

    Micro.blog timeline screenshot

    Because Micro.blog is focused on microblogging, short posts without a title still show directly in the timeline, but longer posts with many photos and a title just link back to your web site. Adding this little preview gives a hint for what is behind those links.

    → 5:17 PM, Mar 9
  • Abandoned tracks downtown near the new library, as we walked back from Juan Pelota earlier this afternoon. ☕️

    → 11:33 PM, Feb 18
  • Lately we’ve had a few cold days, with just enough mist and rain to notice, but not enough to really feel wet. This was from last night before a softball game.

    → 10:22 PM, Feb 14
  • Beautiful building. The Armstrong Browning Library at Baylor.

    → 12:44 PM, Jan 20
  • I got an ink stamp made for my return address when sending out Micro.blog stickers. Just think it looks cool.

    → 4:10 PM, Jan 17
  • More college visits! Just finished a tour at A&M this afternoon.

    → 4:15 PM, Jan 8
  • Ollie checking out the Snoopy Christmas decorations during a walk.

    → 5:38 PM, Jan 7
  • New stickers.

    → 3:19 PM, Dec 29
  • Looking out the new central library windows.

    → 4:27 PM, Dec 27
  • Happy Holidays from Micro.blog

    Thanks everyone for your support of Micro.blog this year! We’ve come a long way since I launched the Kickstarter campaign for Indie Microblogging back on January 2nd. We really appreciate all the feedback and new users who are embracing Micro.blog.

    Yesterday we added another “secret pin” to Micro.blog for the holidays. You can unlock it by posting to your own blog and mentioning Christmas, Hanukkah, or one of a bunch of different winter themes and celebrations for this time of year. (It also works for posts from last week, so you may already have unlocked the pin.)

    We love adding pins because it encourages people to blog more, and we hope to do more in 2018. This is also a great time of year to earn the Daily Blogger, Photo Challenge, or Night Owl pins!

    Wishing you and your family and friends the best this week. Thanks again for being part of the Micro.blog community.

    → 10:42 PM, Dec 24
  • Last night of the Trail of Lights at Zilker.

    → 9:58 PM, Dec 23
  • Major update to Micro.blog today

    Micro.blog is now available to anyone. There’s a limit of 100 new sign-ups each day, so that we can better respond to feedback as the community grows. Thanks so much to the thousands of Kickstarter backers and new users who have helped us improve the platform this year.

    We’re also rolling out the following improvements across the web, iOS, and Mac versions of Micro.blog:

    Mac icon
    • New app icons on iOS and Mac! We love this redesign by Brad Ellis. Micro.blog now feels much more at home on macOS.
    • Added photo upload to the web version of Micro.blog.
    • Added a "Show More" button to load more posts in the timeline on iOS and Mac.
    • Fixed Discover section in iOS and Mac to allow selecting posts.
    • Improved iOS sharing from Safari to include the page title in addition to URL and selected text.
    • Experiment with following domain name user accounts. The first is @nytimes.com, letting you see headlines from The New York Times home page in your timeline. (This is not affiliated with the New York Times. It's possible because Micro.blog works with RSS feeds.)

    Plus a bunch of minor improvements and bug fixes. You can download the latest versions of Micro.blog from the iOS App Store or directly for your Mac.

    → 1:41 PM, Dec 19
  • Quick shot of the train while I wait for it to zip by at the crossing.

    → 2:33 PM, Dec 13
  • IndieWebCamp Austin wrap-up

    Over the weekend we hosted the first IndieWebCamp in Austin. I’m really happy with the way the event came together. I learned a lot in helping plan it, made a few mistakes that we can improve next time, but overall came away as inspired as ever to keep improving Micro.blog so that it’s a standout platform of the IndieWeb movement.

    There’s nothing like meeting in person with other members of the community. I know this from attending Apple developer conferences, but the weekend in Austin only underscored that I should be more active in the larger web community as well.

    IndieWebCamp group photo

    The first day of IndieWebCamp started with introductions, a chance for attendees to demo their web sites, an overview of IndieWeb building blocks by Aaron Parecki, and then brainstorming what topics the afternoon sessions should cover. After lunch, we held sessions on WordPress, static sites, Micropub posts, Webmentions, payment APIs, audio, decentralized aggregation, and post kinds.

    The second day was a hack day, with a chance to work on our own web sites. This was a very valuable day for me — being able to bounce ideas or questions off other attendees. I chose to make an improvement to Micro.blog’s Micropub API endpoint to accept “bookmark-of” POSTs, mapping them to favorites. This evolved into opening up Micro.blog to allow favoriting any URL, even if the post doesn’t exist in any feed that Micro.blog knows about yet.

    At the end of the day I was happy enough with the feature that I deployed my code and database changes. I demoed it using Indigenous for iPhone and Micro.blog for Mac, favoriting an indiewebcat.com post on the web and watching it show up in the app under the post’s domain name. Micro.blog got better support for Microformats with this change, pulling the author info, post text, and photo when you favorite a post via Micropub.

    Mac screenshot

    For the last few years I’ve attended WWDC and Release Notes each year, and I’d usually give a talk at CocoaConf. This year I added WordCamp and IndieWebCamp, and gave a talk about indie microblogging at Refresh Austin. I hope that it works out to attend another IndieWebCamp or IndieWebSummit in 2018.

    Special thanks again to Tom Brown for helping out with planning IndieWebCamp Austin, EFF-Austin for hosting their holiday party after our event, and our sponsors DreamHost, Polycot Associates, and SuperBorrowNet. We should do this again next year.

    → 11:39 AM, Dec 12
  • Session planning at IndieWebCamp Austin.

    → 2:54 PM, Dec 9
  • Cool stickers from DreamHost to give out at IndieWebCamp tomorrow.

    → 9:19 AM, Dec 8
  • Beautiful cold night in Austin. Snow falling in the yard around our Christmas tree.

    → 8:02 PM, Dec 7
  • MarsEdit 4 and microblogs

    Daniel Jalkut shipped MarsEdit 4 today. This version includes many improvements, from brand new icons to support for WordPress “Post Formats” which are convenient for microblog posts.

    Micro.blog-hosted blogs also have full support for posting from MarsEdit 4. You can post short microblog posts, or you can add a title, upload photos, and write longer posts. Blogs on Micro.blog are really fast, have custom domain names, and support importing from WordPress.

    MarsEdit screenshot

    Congrats Daniel! I’m sure we’ll be talking about this milestone on Core Intuition.

    → 12:03 PM, Dec 5
  • iPhone X home screen

    I rarely change my home screen, but I updated it after having more time with the iPhone X. Seeing Shawn Blanc’s home screen reminded me that I should post an updated screenshot of my own screen.

    Screenshot

    The notable icons are Micro.blog and Ulysses in the dock, where I do most of my writing and blog post drafts. I also stopped using Instagram since there are so many great photos being posted to Micro.blog, so I have Halide there instead. Great app for quickly adjusting the exposure before taking a photo.

    New for the X, I’ve added an empty row to the top of the screen using David Smith’s blank icon tip. Much easier to reach all the icons with one hand.

    → 11:01 AM, Dec 4
  • Got some stickers for IndieWebCamp. It’s next weekend! You can learn more about the event or register here.

    → 11:43 AM, Dec 3
  • Spent the morning at Baylor. Now at the game before driving back to Austin.

    → 2:32 PM, Dec 2
  • Abandoned water park along I-10 in Louisiana.

    → 4:20 PM, Nov 23
  • Mainstream use cases for a microblog

    Doug Lane is writing a series of blog posts about what real-world use cases for Micro.blog could help attract more mainstream users to the platform. It starts with this:

    One of the biggest challenges that Micro.blog faces with its upcoming public launch is how to make the jump beyond its early adopter base of blog enthusiasts to “regular people”. It’s tempting to daydream about everyone from teenagers to grandmothers abandoning their social media silos en masse and simultaneously raising “Indie Blogger” flags, but that’s probably not realistic.

    He then follows up with a few ideas. I think this approach is exactly right: carve out several niches that are perfect for Micro.blog and focus on those in marketing, providing as much value as possible for those users, then expand to more mainstream users from there.

    Squarespace actually does a great job at this. The first thing you see when you click sign up — before being prompted to create an account — is to choose a template for your web site. At the very top of the list: a wedding blog and a product catalog.

    Squarespace screenshot

    Photoblogging and linkblogging are still some of the most common ways people use Micro.blog. From a business perspective, I also like it for product news. Earlier this year I posted some ideas for how to use a microblog.

    → 10:21 AM, Nov 22
  • Final day of the photo challenge: shadow. This has been a great week for photos on Micro.blog. Thanks everyone!

    → 7:08 PM, Nov 17
  • Kickstarter update on photos, Mac app

    I sent an update to Kickstarter backers today. I wanted to point people to the new Mac app for Micro.blog, and also show off some of the great photos that Micro.blog users have been uploading this week as part of the photo challenge. Here’s the email.

    Hello Kickstarter backers! Today we’re wrapping up the 7-day photo challenge on Micro.blog. The challenge was a suggestion from the community: @douglane posted to his microblog with themes to inspire more people to take and post photos.

    I’ve loved seeing all the new photos. Here are just a handful of the many photos that have been posted over the last week.

    Micro.blog photos

    We also recently released version 1.0 of the Micro.blog app for macOS Sierra and High Sierra. This is the best Micro.blog user experience yet, with a timeline, posting to your blog, photo upload, and a new Discover section for finding posts and users to follow.

    You can download the Mac app here.

    Micro.blog screenshot

    I’m also continuing work on the Indie Microblogging book. I’ll be sharing more about the book as soon as I can. Thanks for your support!

    → 2:53 PM, Nov 17
  • Can a salad bag from the grocery store be considered “seasonal”? Not sure, but it’s gonna have to do for today’s Micro.blog photo challenge. Day 6!

    → 11:54 PM, Nov 16
  • Almost missed the 5th day of the Micro.blog photo challenge. For “liquid”, a shot of the fish tank.

    → 10:19 PM, Nov 15
  • Loving the iPhone X camera. My contribution to today’s Micro.blog photo challenge: up close.

    → 6:50 PM, Nov 14
  • Day 3 of the photo challenge: on the move. From south Austin today after getting some coffee and work in at Caffe Medici.

    → 7:19 PM, Nov 13
  • For day 2 of the photo challenge, my go-to for coffee at home: Chameleon cold-brew, ice, water, and a splash of milk.

    → 2:40 PM, Nov 12
  • First day of the Micro.blog photo challenge. Today’s prompt: squares.

    → 6:21 PM, Nov 11
  • Micro.blog special pins

    For the initial rollout of Micro.blog, we had a bunch of pins you can unlock, to encourage people to blog more. For example, pins that get unlocked after a certain number of blog posts, or when you upload a photo. We also added a couple of new time-based pins for special events, like mentioning “iPhone X” during the Apple event last month.

    Today I added a Halloween pin. You can see some of the pins for my account in this screenshot:

    pins

    I also talked about this on today’s Timetable. Happy blogging! 🎃

    → 1:20 PM, Oct 31
  • Worked downtown a little this morning before catching a train to the airport.

    → 11:03 AM, Oct 19
  • Everyone at Release Notes gets a Twitter username on their badge except me. Love it.

    → 8:33 AM, Oct 17
  • Quick walk through Millennium Park before heading to the hotel.

    → 11:31 AM, Oct 16
  • Checked out Denton after the tour at University of North Texas yesterday. Nice coffee shop and used bookstore in the square too.

    → 12:11 PM, Oct 10
  • At UT San Antonio for WordCamp. Really nice space for a conference.

    → 9:58 AM, Oct 1
  • Rudy Gay shooting from the line at the Spurs open scrimmage. Excited for the season to start.

    → 10:50 AM, Sep 30
  • Micro.blog post editing

    Micro.blog users have wanted the ability to edit microblog posts for a while. We planned to add it, but first I thought we needed an edit history and probably a window of time during which edits are allowed, to prevent people from abusing edits by changing the meaning of a post in an earlier conversation.

    While I still want those things, I realized that they were just excuses to put off implementing the feature. And with full pages and longer posts, editing was increasingly a big omission.

    This week I rolled out a complete overhaul to the posts interface under your Micro.blog account. The layout is better, it’s more prominently linked in the UI, there’s an easy way to switch between posts and pages, and you can finally edit posts.

    Micro.blog screenshot

    There are a couple quirks of the UI still to improve. For example, if you’d like post edits to be reflected in the timeline, you should click the Remove link in the timeline so that Micro.blog pulls the latest version from your microblog. I’ll be working on polishing those areas over the coming weeks. But already it is much better. Enjoy!

    → 8:00 AM, Sep 22
  • Love the clouds and the lake today, the view from Mozart’s Coffee.

    → 3:26 PM, Sep 21
  • Overgrown abandoned golf course bridge.

    → 11:05 AM, Sep 18
  • Touring Southwestern University this morning.

    → 10:46 AM, Sep 9
  • Ink &amp; Paint

    I pre-ordered the book Ink & Paint a few months ago to add to my collection of books on animation. I love these untold stories, and the women working at Disney in the early days of the studio were notoriously uncredited.

    It arrived today and now I see that it’s a massive achievement. Large format, 380 pages, full of old photos and details about the artists.

    book photo

    Mickey Mouse coffee mug for scale. Really looking forward to reading this.

    → 4:32 PM, Sep 5
  • Our neighbor’s tree fell into our yard from the wind last night. Hope everyone’s staying safe as more rain dumps on Texas.

    → 1:56 PM, Aug 27
  • Micro.blog custom pages

    As I mentioned in this morning’s post about Medium, it’s important that Micro.blog-hosted sites can have their own domain name. Some people use their microblog to supplement an existing web site. Others use Micro.blog itself for hosting their full web site, because the focus on short posts makes the site easy to update.

    Today we’re introducing a new feature for hosted microblogs: custom web pages. These can be used for expanded “about” pages, contact information, lists of current projects, essays, or whatever you want to write about on your web site. Micro.blog pages use Markdown and are automatically included in the navigation for your site.

    Here’s a screenshot of an example page being edited:

    Pages screenshot

    If you have a Micro.blog-hosted site, check out the pages list under Account → “Edit Domains & Design”. Enjoy!

    → 1:22 PM, Aug 25
  • Inspired by Breath of the Wild, we’ve been picking up all the old Zelda games again. Latest is Ocarina of Time on the N64.

    → 3:59 PM, Aug 23
  • Back in Texas, more college tours. This is Texas State in San Marcos.

    → 10:01 AM, Aug 15
  • Wizard of Oz at the Zilker Hillside Theater. Glad to have caught the final show last night.

    → 4:19 PM, Aug 13
  • Fake news on Apple News

    I don’t use Apple News very often. I much prefer reading blogs in Reeder and Micro.blog, with a daily check on the other news sites I pay for. But last night I noticed a headline in the iOS today screen and tapped over to a few stories in Apple News.

    Scrolling down in the “For You” tab about politics I was surprised by a couple news stories about a plan by Democrats to “silence non-liberal media” (People’s Pundit Daily), and another on the Trump-Russia “collusion fantasy” (The Daily Caller). These were right-wing opinion pieces sprinkled with conspiracy theories, yet placed next to reputable news organizations like The New York Times, CBS News, and Politico.

    Apple News screenshot

    I thought Apple News was highly curated and better than this. Personal essays are fine in Apple News, because that’s part of blogging, but they shouldn’t be suggested to a mainstream audience looking for real news.

    → 10:49 AM, Aug 9
  • The first sign for Austin on our drive back from Santa Fe, as the setting sun lit up the clouds.

    → 4:14 PM, Aug 7
  • Wind farm somewhere between Lubbock and Abilene. Thousands of wind turbines in Texas.

    → 7:34 AM, Aug 6
  • From our visit to UCLA last week.

    → 10:05 PM, Aug 5
  • Catching up on some road trip photos. Goats in the morning fog at Berkeley.

    → 11:56 AM, Aug 4
  • Suzzallo Library at UW.

    → 5:43 PM, Jul 26
  • Morning in Silverdale, Washington.

    → 8:09 AM, Jul 26
  • Rediscovering all the events written into my old calendar.

    → 12:12 PM, Jul 12
  • Pomegranates.

    → 7:09 AM, Jul 9
  • From this morning’s hike with the dogs at St. Edwards Park.

    → 1:50 PM, Jul 8
  • Preview of Sunlit 2.0

    A few years ago, Jon Hays and I built an app for photos called Sunlit, powered by the App.net API. We evolved it to work with other services, like Flickr and Instagram, but as App.net faded away we could never justify the investment to rewrite significant parts of the app to bring it forward and keep it relevant. It also wasn’t clear what the app should do if we were to modernize it. So we let the app sit in the App Store, kind of neglected, and even discussed removing it from sale.

    As I rolled out Micro.blog to Kickstarter backers, Jon dusted off the Sunlit project and experimented with something that should’ve been obvious to us earlier: Sunlit should post to blogs. And more than that, it should work well with microblogs and IndieWeb standards. It should become a great app for photoblogging. The new version of Sunlit can post photos to Micro.blog, WordPress, or any site that supports the Micropub API.

    To play nicely with microblogs, we introduced a new post type in the app for single photos. For longer posts, you can still collect multiple photos together, add text, and post them as a story directly to your blog. There’s also a brand new editing interface with filters and advanced adjustments:

    screenshots

    Jon has put a bunch of work into this while I focus on Micro.blog. Sunlit 2.0 is already feature complete and in beta testing now. We expect to ship it sometime this summer.

    → 7:41 AM, Jun 27
  • Micro.blog iOS going universal

    As I expected would happen, using iOS 11 on my iPad Pro after WWDC has inspired me to revisit the universal version of Micro.blog for iOS. Here’s a screenshot of my current build:

    Micro.blog iPad

    I plan to include this in 1.0. I’m in the process of moving the app from TestFlight to its final home in the App Store. As we prepare for the public launch, this’ll make it much easier for everyone to download it, and it shouldn’t be limited or scaled up on the iPad.

    → 12:26 PM, Jun 21
  • Another day, another Texas road trip.

    → 11:24 AM, Jun 17
  • The Brazos River.

    → 7:01 PM, Jun 15
  • Pat Neff Hall at Baylor University. Really nice tour of the campus.

    → 3:47 PM, Jun 15
  • Summer day road trip up to visit Baylor. Stopped at Magnolia Market.

    → 12:38 PM, Jun 15
  • A little chilly out at the Presidio Picnic. Had some food truck tacos with a great view.

    → 2:00 PM, Jun 4
  • Up early. Took a quiet walk through the plaza and then to Philz.

    → 8:08 AM, Jun 4
  • Flying in to San Jose.

    → 3:40 PM, Jun 3
  • More flowers after a rainy weekend.

    → 11:22 AM, May 29
  • Micro.blog photos

    This week we added a selection of photos to the Discover page on Micro.blog, and today I uploaded a new TestFlight beta with the same feature inside the app. It’s another way to find users to follow, or just see what the Micro.blog community is up to.

    Here’s what the iPhone screen looks like:

    iPhone screenshot

    I think photoblogging is a really important part of indie microblogging. When I share photos online, I want them to be at my own web site in addition to cross-posted to Twitter and other social networks. Photos always capture something — a moment with family or friends, visiting a new place, or just the everyday routine as it changes — and I want Micro.blog to provide a great user experience for photos, from filters to hosting.

    → 4:54 PM, May 24
  • Good game, but we need our injured players back. On the bright side, we can now be the only team to come back down 0-3.

    → 9:53 PM, May 20
  • From just before sunset, out walking the dogs. Looking forward to a full week as Monday winds down.

    → 8:13 PM, May 15
  • Kayaking on Lady Bird Lake. Happy Mother’s Day!

    → 2:30 PM, May 14
  • Early dinner at Kerbey. We mostly have the place to ourselves.

    → 4:50 PM, May 8
  • Lunch outside at Manuel’s.

    → 1:44 PM, May 6
  • Half an hour until game 2. Monday night’s game was… not good. But at least I got this Spurs t-shirt.

    → 7:15 PM, May 3
  • Playoffs round 2 in San Antonio. Spurs need a much better second half. Just 1 game of 7.

    → 8:59 PM, May 1
  • Last night of softball for the season.

    → 7:19 PM, Apr 21
  • Picking out a t-shirt to wear for today’s 1st seed vs. 8th seed matchup. Gotta be the Blazers.

    → 1:04 PM, Apr 16
  • @testing More basketball on TV today

    → 11:08 AM, Apr 16
  • Feels like Saturday. Picking up some smoothies from JuiceLand.

    → 1:57 PM, Apr 14
  • Burrito and JuiceLand outside

    Burrito and JuiceLand outside
    → 4:01 PM, Mar 30
  • Unfinished backyard basketball

    Unfinished backyard basketball
    → 3:26 PM, Mar 30
  • Somewhere over California

    Somewhere over California

    From last week’s flight through Los Angeles and up to Portland.

    → 5:50 PM, Mar 4
  • Last week&#039;s Sting concert

    Last week's Sting concert
    → 7:28 PM, Feb 24
  • Exploring downtown this morning

    Exploring downtown this morning
    → 1:43 PM, Feb 12
  • Yesterday&#039;s hike with the dogs

    Yesterday's hike with the dogs

    At St. Edward’s Park.

    → 3:04 PM, Jan 2
  • Kickstarter video work-in-progress

    Tomorrow I’m launching a Kickstarter campaign for Micro.blog and a short book about blogging called Indie Microblogging. I’ve had fun working on the video for this project, trying to tell the story of why independent publishing matters.

    Of course the video has me talking at the camera, but it also incorporates some animation and screencasts. Here are 4 stills from the video:

    Video thumbnails

    I can’t wait to share the full thing. I’d love your support when it launches.

    → 12:52 PM, Jan 1
  • Microblog auto-link differences

    One reason I like microblogging on my own web site is that I can control the links and simple formatting. I’ve noticed lately that Twitter can’t consistently auto-link even certain domain names, for example.

    This difference is illustrated well in a post I made this morning, which included timetable.fm and micro.blog. Twitter auto-linked the .blog but not the .fm. The cross-post to App.net auto-linked the .fm but not the .blog.

    Here are the 3 versions:

    Link differences screenshot

    In the final screenshot — the original from my own site, from which the others were pushed out automatically — you can see how I’ve specifically linked the domain and phrases I wanted to. It’s a minor thing, but it just looks better when the author has a little control over the formatting. (And while I don’t use it here, my own short posts can contain text in bold or italics via Markdown, too.)

    → 11:14 AM, Dec 26
  • Trail of Lights 50+ years

    Trail of Lights 50+ years
    → 10:54 PM, Dec 20
  • Thank you Tim Duncan

    Thank you Tim Duncan
    → 12:21 AM, Dec 19
  • Blue lights for the outside tree

    Blue lights for the outside tree
    → 6:43 PM, Dec 14
  • Next year&#039;s Christmas trees

    Next year's Christmas trees

    At the Elgin Christmas tree farm.

    → 7:20 PM, Dec 10
  • Campus tour last week

    Campus tour last week

    University of Texas at Austin.

    → 5:34 PM, Dec 5
  • Talkshow.im archives

    Shutting down a web site correctly isn’t easy. When Talkshow announced they were closing, I was surprised. Six months is a limited time to launch, get traction, and then wind down. But I was glad that they’d let any show be exported as an archive.

    The archives aren’t available for very long. If you hosted a show on Talkshow, you have until December 1st to download it.

    I downloaded a couple to see how Talkshow handled it. Just in case no one else grabs them, I’m copying them here: Pop Life episode 5 with Anil Dash and guest John Gruber, and the Six Colors live coverage for Apple’s September 7th event. I had Instapaper-ed both of these to read later anyway.

    The archive itself is a simple .zip file with HTML, CSS, and user profile images. In the Finder it looks like this:

    Talkshow.im Finder screenshot

    This self-contained structure makes it very easy to re-share somewhere else. Credit to Talkshow for keeping this simple. But it also strikes me as so easy to keep hosting as static files, I wonder why Talkshow doesn’t keep the archives available indefinitely, which would preserve any existing links to these shows from the web.

    → 12:00 PM, Nov 26
  • Walking around TCU

    Walking around TCU

    Frog Fountain.

    → 10:41 PM, Nov 23
  • Election Day

    Election Day
    → 12:00 PM, Nov 8
  • Pink clouds

    Pink clouds
    → 6:36 PM, Nov 6
  • Rainy morning at the book festival

    Rainy morning at the book festival

    From the Texas State Capitol.

    → 6:09 PM, Nov 5
  • Hotel Emma library

    Hotel Emma library

    At the Pearl.

    → 11:00 AM, Oct 30
  • Landa Library

    Landa Library

    From the weekend in San Antonio.

    → 2:00 PM, Oct 29
  • Table of cubes

    Table of cubes
    → 11:00 AM, Oct 22
  • Walking along Lake Creek Trail

    Walking along Lake Creek Trail
    → 2:18 PM, Oct 15
  • Oaks from the front porch

    Oaks from the front porch
    → 11:47 AM, Oct 10
  • Nice day for lunch outside

    Nice day for lunch outside
    → 1:42 PM, Oct 7
  • Weekend on the lake

    Weekend on the lake

    Lake Livingston.

    → 11:00 AM, Aug 8
  • Kayaking before sunset

    Kayaking before sunset
    → 10:52 PM, Jul 10
  • Spring pool while camping in west Texas

    Spring pool while camping in west Texas

    At Balmorhea State Park.

    → 1:48 PM, Jul 3
  • Lake Travis sailboat

    Lake Travis sailboat

    From dinner at Lucy’s Fried Chicken on the Lake.

    → 11:34 AM, Jun 25
  • Finals, game 5

    Finals, game 5
    → 7:00 PM, Jun 13
  • Saint Mary Cathedral

    Saint Mary Cathedral

    Spending the day in downtown Austin for a Rubik’s Cube competition.

    → 1:53 PM, May 28
  • Listening to Timetable

    Because episodes of Timetable are short (usually just 5 minutes) and because they aren’t published on a consistent schedule (sometimes once a week, sometimes 3 times a week), I’ve wondered if it may be difficult for some people to fit the podcast into their routine of listening to longer, hour-long podcasts. If you only listen to podcasts while in the car, for example, a 5-minute show isn’t going to fill your commute.

    Luckily there are easy solutions to this. The first is: they are so short, just listen whenever you want, while you’re at your desk or walking somewhere or having lunch. Another option: gather up a few episodes and listen altogether, as if it’s 3 parts of a 15-minute podcast.

    If you’re an Overcast user, you can create a playlist that will play multiple Timetable episodes in sequence without requiring any tapping in the app to queue up the next one. Here are some screenshots showing one way to set this up after subscribing to Timetable in Overcast.

    First, tap the new playlist button in Overcast. Then tap Add Podcasts and select Timetable.

    Overcast screenshots

    The playlist should automatically show any unplayed episodes. Finally, tap the Playback button while an episode is playing and make sure to highlight Play Next for the When Episode Ends option. This will make sure that you have continuous playback from one episode to the next.

    Overcast screenshots

    I’ve recorded 23 episodes of Timetable so far, equal to about 2 hours of audio. While consistency is the most important thing for my other podcasts, Core Intuition and Technical Foul, for Timetable I’ve liked the flexibility to experiment with different styles and show formats. Enjoy!

    → 8:39 AM, May 24
  • Over 50 kinds of root beer

    Over 50 kinds of root beer
    → 2:48 PM, May 14
  • Podcasting lock-in and the lesson from Penn Station

    When my family was visiting New York City a couple of years ago, we took a train out of Pennsylvania Station on the way up to Montreal for the second half of our vacation. It was raining a little as we walked from the hotel, but I thought we’d still have no trouble finding the station. After a few minutes we gave up and had to ask someone where the entrance was.

    We couldn’t find it because it looked like every other street corner in Manhattan. But it wasn’t always like that. It used to look like this:

    Pennsylvania Station in the 1910s

    In the 1960s, facing declining train usage and financial problems, the Pennsylvania Railroad sold the rights to everything above ground and the incredible station pictured above was demolished. It was only afterwards, when it actually happened, that everyone fully realized what they had lost. Determined to not let other beautiful architectural landmarks get destroyed, the city passed a law to restrict similar demolition. Grand Central Terminal was preserved because of the lesson learned from letting Pennsylvania Station go.

    I was thinking about this story — failing to do the right thing, but applying that knowledge to the next thing — while re-reading Marco’s excellent post on the future of podcasting. In it, he lays out the technical details for how podcasting works today, and makes the case for leaving it alone. I especially like this part, on his determination to keep Overcast a sort of pure MP3 client:

    By the way, while I often get pitched on garbage podcast-listening-behavioral-data integrations, I’m never adding such tracking to Overcast. Never. The biggest reason I made a free, mass-market podcast app was so I could take stands like this.

    I should have realized it earlier, but I don’t think I really connected all of Marco’s goals with Overcast until Daniel Jalkut and I had him on Core Intuition episode 200. We talked about many of these same themes as Marco was finishing up Overcast 2.0.

    There’s also a great discussion on Upgrade about this. It starts about halfway through.

    In a response to Marco on MacStories, Federico Viticci writes about the parallel trend in the web industry toward centralized services like Facebook and Medium that allow “content professionals” to monetize their writing. In doing so, those writers give up many of the benefits of the open web:

    But the great thing about the free and decentralized web is that the aforementioned web platforms are optional and they're alternatives to an existing open field where independent makers can do whatever they want. I can own my content, offer my RSS feed to anyone, and resist the temptation of slowing down my website with 10 different JavaScript plugins to monitor what my users do. No one is forcing me to agree to the terms of a platform.

    While the open web still exists, we really dropped the ball protecting and strengthening it. Fewer people’s first choice for publishing is to start a web site hosted at their own domain. Like the destruction of Pennsylvania Station, sometimes you only know in hindsight that you’ve made a mistake. We were so caught up in Twitter and Facebook that we let the open web crumble. I’m not giving up — I think we can get people excited about blogging and owning their own content again — but it would have been easier if we had realized what we lost earlier.

    Reading posts like Marco’s and Federico’s, and listening to Jason and Myke on Upgrade, I’m convinced that podcasting will remain open because we know better now. As a community we can learn from the mistakes with the web and the threats of closed platforms, making sure that podcasting is preserved as a simple technology that no one controls.

    → 8:40 AM, May 12
  • Hiking back from Bull Creek

    Hiking back from Bull Creek
    → 7:37 PM, Apr 26
  • Spurs vs. Grizzlies, game 1

    Spurs vs. Grizzlies, game 1
    → 9:00 PM, Apr 17
  • Lion outside Windsor Park Branch

    Lion outside Windsor Park Branch
    → 7:26 PM, Apr 16
  • Leander Public Library

    Leander Public Library
    → 7:04 PM, Apr 13
  • Bee Cave Public Library

    Bee Cave Public Library
    → 7:35 PM, Apr 12
  • Doll house Little Free Library

    Doll house Little Free Library

    For the 3rd Sunday in a row, I’ve taken a break from visiting a normal library and instead found a Little Free Library to exchange a book at. They’re all very unique, often made by hand. This one was made from a doll house, which opens both from the bottom front and roof for two floors of books.

    → 8:20 PM, Apr 10
  • Pond view at Lake Travis Community Library

    Pond view at Lake Travis Community Library
    → 3:42 PM, Apr 9
  • Sculpture outside Ruiz Branch

    Sculpture outside Ruiz Branch
    → 6:24 PM, Apr 4
  • Books rule

    Books rule
    → 7:22 PM, Apr 3
  • Working from Laura Bush Community Library

    Working from Laura Bush Community Library
    → 10:20 AM, Mar 29
  • Take a book, return a book

    Take a book, return a book
    → 3:19 PM, Mar 27
  • Westbank Community Library

    Westbank Community Library
    → 2:30 PM, Mar 25
  • Charging my car at the library

    Charging my car at the library

    At the Howson Branch.

    → 2:07 PM, Mar 24
  • Wells Branch Community Library

    Wells Branch Community Library
    → 3:40 PM, Mar 23
  • Reading Peter Pan

    Reading Peter Pan

    Outside the Cedar Park Public Library.

    → 3:45 PM, Mar 19
  • Lady Bird Lake during SXSW

    Lady Bird Lake during SXSW
    → 1:23 PM, Mar 15
  • Comics and prints for the kids from Staple! Expo

    Comics and prints for the kids from Staple! Expo
    → 2:46 PM, Mar 7
  • The evolution of linkblogging

    In my posts about defining what makes a microblog post and guidelines for RSS, I talked a little about links but didn’t explore linkblogging. While many blog authors post primarily long essays, shorter link blogs are a common approach for bloggers who want to post new content several times a day.

    Essentially two types of link blogs have evolved since the early days of blogging. The most traditional link blog can be seen in Dave Winer’s posts (click on the Links tab). These are links with a very short commentary. Many tweets are like this. In a way, this format is the purest form of microblogging.

    The second type of link blog starts to fall outside the limits of microblogging. Instead of just including a URL, authors use a quote from the linked material as the foundation for the post. The majority of Daring Fireball posts adopt this format. While John Gruber is known for his full essays, those longer posts are infrequent today. He keeps his site active by linking to other interesting essays and tacking on his own brief opinion.

    Daring Fireball has become so successful that Gruber’s approach to linkblogging has been copied by many other sites. MacStories, Six Colors, One Foot Tsunami, John Moltz’s Very Nice Web Site, and Marco Arment’s blog are just a handful that follow this pattern. All of these sites post the occasional essay, but most blog posts link away to an external site in the RSS item, not back to their own site.

    At a technical level, this difference can best be seen in the RSS feed’s <link> and <guid> elements. These elements will contain URLs that either link back to the main site, or link away to an external site.

    Here is where this evolving approach to link blogs starts to break down. Let’s take an example from Six Colors, one of my favorite sites. (I recommend subscribing. The members-only secret podcast with Jason and Dan Moren is really fun, and the email magazine is great too.)

    In a link post about Hulu’s pricing, Jason Snell actually writes 4 paragraphs of commentary (plus a footnote). This is more like an essay than a short link post that points to the external site.

    Another example is when MacStories linked to Twitter’s launch of Moments. A few paragraphs of quoted text, 5 paragraphs of MacStories commentary. The commentary is as important or even more important to read than whatever Federico is linking to.

    Sometimes we read sites like MacStories, Six Colors, or Daring Fireball more for the commentary than for what is being linked to. But when using an RSS reader, there is too much confusion about where an item’s link goes when clicked if the site’s feed isn’t consistent about linking everything back to its own site.

    And in fact Jason Snell acknowledges this problem by offering two separate RSS feeds: the default one, with a mix of links back to Six Colors for essays and pointed elsewhere for link posts; and another feed with everything linking back to Six Colors, where the commentary lives. He also attempts to minimize confusion on his own site by giving each type of post its own icon in the site design.

    The less clear-cut the distinction between essays and link posts, the more confusion we introduce to readers. In some ways, this mixed approach really only works for Daring Fireball, because his feature essays are so long, and so obviously different in format to the rest of the link posts.

    Good conventions for blogging have been at a standstill for years. While part of the appeal of indie blogging is there’s no one “right” way to do it, and authors can have a strong voice and design that isn’t controlled by a platform vendor, we must accept that Twitter has taken off because it has a great user experience compared to blogs. It’s effortless to tweet and the timeline is consistent. For blogging to improve and thrive, it should have just as straightforward a user experience as social networks wherever possible.

    Luckily, RSS already has everything we need for clients to visually distinguish between link posts and regular ones. If the <link> element points to a domain other than the one for the site, it’s probably a link post. If the <link> and site domain match, it’s a full post.

    I’ve adopted this in my new microblogging platform by exposing the domain in the UI itself, at the end of the title or microblog post whenever it’s a link post. If it’s a full post, the link isn’t added. And for either type of post, the timestamp links back to whatever was in the <link>.

    Here’s a screenshot from one of Dave’s posts. Note that the link was not in the RSS text. It was added by my app automatically:

    linkblog example

    This has been a long post, but it boils down to two simple recommendations:

    • If you’re a blog author and you’re adding any significant commentary, the RSS feed should point back to your site.
    • If you’re an RSS client developer, the difference between link posts and full posts should be exposed in the UI.

    I believe that adopting these will bring more consistency to blogging. Users won’t need to hover over links, or guess what will happen on a click or tap. It’s a small change that will make reading blogs a little better.

    → 11:54 AM, Mar 3
  • Walking around the UT Tower

    Walking around the UT Tower
    → 12:00 PM, Feb 22
  • Ginger in the backyard

    Ginger in the backyard
    → 12:00 PM, Feb 13
  • Microphone and microcast details

    A few weeks ago I started a new short-form podcast called Timetable. Each episode is 3-5 minutes. It has been really fun to record the show because I can try new things without investing too much time.

    One goal from the very beginning was to record from iOS so that I could easily record outside the house. I wanted not just the flexibility to be away from my computer, but a stereo microphone that could capture some of the surrounding environment, to give it a more informal feel. (I’m actually cheating in some cases and using multiple tracks, to make editing easier, but I think the effect works. All the episodes have been exported to mono so far, though.)

    I ordered this cheap iPhone microphone for testing — only $10 when I ordered it! — and figured after some experiments with my iPhone 4S, I would invest in something new. I liked it enough that I’m still using the mic with my 5S via a Lightning cable adapter. I’m also using a foam pop filter that I already had from a previous old mic.

    Microphone

    This may be the single best value in a tech gadget I’ve ever purchased. Total cost for producing the podcast:

    • Microphone: $10
    • Ferrite: $20
    • Workflow: $3 (for MP3 conversion)
    • Domain name: $120 (.fm domains are expensive)

    I certainly didn’t invent the idea of a “microcast”. There are other good short podcasts, such as Bite Size Tech. But I’m happy to see even more people trying out the idea. Michael even started a new podcast called Driftwood to chronicle the development of his Jekyll template for microcasts.

    Ferrite also continues to impress. It’s a very high quality iOS app and is competitive with Mac multi-track audio editors. For a good introduction, check out Jason Snell’s review.

    → 9:36 AM, Feb 2
  • Panic 2015 updates

    There’s a lot of great stuff in Panic’s 2015 report, but I’m especially struck with how well they executed on updates. This is something that successful companies get right, and which I still struggle with: continuing to make each app just a little better, with bug fixes throughout the year, instead of getting completely sidetracked with new projects. Cabel writes:

    “Not only did we release great things, but I feel we demonstrated dramatic dedication to our apps — we released the most high-quality, bug-free updates in our history.”

    The product update grid that accompanies the report really underscores this:

    Panic versions

    Congratulations, Panic. I’ve been using the new Coda for iOS on my iPad Pro and it’s excellent.

    → 9:27 AM, Jan 27
  • Inline links in microblog posts

    When I was first trying to figure out how my microblog posts should look, I was thinking more like tweets and less like HTML. Eventually I settled on HTML for publishing and display, with Markdown for writing.

    Here’s what a microblog post looks like in the timeline for my new web app:

    screenshot

    You can compare that to how it looks when cross-posted to Twitter. It’s not exactly a fair comparison since the tweet was truncated, but it’s still incredible to me how much better these posts look if you allow inline links and some more characters.

    → 2:00 PM, Jan 26
  • ESPN sidebar microblog

    I like what ESPN is doing in the sidebar on their NBA scores page. It’s a timeline of both tweets and short ESPN posts, integrated together with a clean design that fits the rest of the site.

    This timeline is a great use of microblogging. The short posts aren’t limited to tweet-length — they’re often around 200 characters instead — so they can feel complete and informative while still being concise. I’ve suggested 280 characters as a guideline for microblogs, and having the extra characters to work with really makes a nice difference.

    I took an example screenshot from ESPN and included it to the right of this post. The first two posts are these special ESPN microblog posts, and the third is a tweet. I don’t know what CMS-like system is driving this, but you can imagine using WordPress post formats, custom fields, or categories to achieve something similar.

    → 10:00 PM, Dec 7
  • Last night&#039;s Spurs game

    Last night's Spurs game
    → 7:00 PM, Dec 6
  • Riverwalk at the King William district

    Riverwalk at the King William district
    → 5:00 PM, Dec 6
  • Oak Alley Plantation

    Oak Alley Plantation
    → 9:00 AM, Nov 25
  • St. Charles Line streetcar

    St. Charles Line streetcar
    → 8:00 PM, Nov 24
  • Audubon Zoo

    Audubon Zoo
    → 1:00 PM, Nov 23
  • Lantana

    Lantana
    → 4:00 PM, Nov 1
  • Indianapolis Union Station

    Indianapolis Union Station
    → 12:00 PM, Oct 25
  • Myke Hurley at Release Notes

    Myke Hurley at Release Notes
    → 12:00 AM, Oct 22
  • Looking for a train in Scott

    Looking for a train in Scott
    → 10:00 AM, Sep 6
  • Doubt, with screenshots

    My good friend and Core Intuition co-host Daniel Jalkut isn’t convinced. After we recorded last week’s podcast, we talked privately about the direction I’m headed in. He’s seen the projects I have in development, but he thinks working on Mac apps is a safer bet than web services. And he works on a blogging app, so if I can’t convince him that the goals I have around microblogging-related tools can be a real business, how am I going to convince the rest of the world?

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

    The new microblogging app and service I’ve been working on, off and on for the last year, is the most ambitious project I’ve ever attempted. It is difficult to explain and market, it might only resonate with a niche audience, and it is going to increase my hosting costs. So part of me knows that Daniel is right — that the smart business decision is to put it on hold and focus on my Mac apps, which will probably have more predictable revenue.

    And yet, this project is also the most meaningful. In the words of Peter Thiel, it could take independent microblogging from zero to one. A new push forward for weblogs, maybe the first in a while. Therefore, I must do it, and I must accept some risk in the process.

    Lately I’ve been working on the iPhone version. When you look at these screenshots, it might be tempting to compare it to Twitter. Don’t. Instead, think about how the plumbing fits together: RSS, microblogs, and the open web.

    screenshot

    I can’t wait to officially announce and ship this. If you’d like to get an email when the beta is ready, sign up on the announcement list.

    → 9:13 AM, Aug 31
  • Starting over

    “Am I always starting over
    In a brand new story?
    Am I always back at one
    After all I’ve done?”
    — Always Starting Over, from the broadway show If/Then

    Daniel said on the latest Core Intuition that it’s important to celebrate major work milestones, like shipping a new app or quitting a job. I didn’t think I’d be celebrating right away, but as it turned out, my wife met me for lunch on Friday and we had a beer to mark the occasion. She snapped this photo:

    Some things just work out. I couldn’t have picked a better t-shirt to wear if I had planned it.

    When 5pm came around I made a final comment on Confluence, replied to a couple emails, and then signed out of HipChat. But I didn’t have time for much reflection. My son and I were busy packing up to head to a campout with Boy Scouts. Then as soon as we arrived back the next day, I turned around again to take my daughter to see Idina Menzel.

    The concert was incredible, somehow including both Wicked’s “Defying Gratify” and Radiohead’s “Creep” — and yes, of course Frozen — to make a show with both the occasional explicit lyric and little kids pulled up from the audience to sing. It was only while driving home from the concert that I had a moment to think what I need to do next. Idina’s lines from If/Then at the beginning of this post kept coming back to me.

    I’ve worked a long time on a few things, and they were pretty good, but now it’s time to start over. I turn 40 in a few months. It’s time to figure out what the next 10 years of my life should be about.

    → 9:41 AM, Aug 3
  • NeXTEVNT and Song of the Sea

    WWDC 2015 now feels like it took place in the distant past, not a month ago. For the last few years I’ve attended the NeXT-themed fundraiser for the Cartoon Art Museum, and this year there’s video from the event. Check it out for a view into the museum and some of the talks.

    It’s always a highlight of the week for me to visit both the Cartoon Art Museum and the Walt Disney Family Museum. This year Cartoon Art had pre-production drawings and paintings from the hand-drawn film Song of the Sea, one of my favorite films of the year. Really beautiful stuff.

    → 12:26 PM, Jul 29
  • Sneak peek screenshot

    Here’s a screenshot of the new microblogging project I’m working on. It’s almost ready for more beta testers. If you’re a fan of RSS and the open web, sign up for the announce list.

    Snippets screenshot
    → 11:34 PM, Jul 13
  • WWDC 2015, basketball, and cartoons

    Throughout the week I posted about WWDC to my microblog, but I thought I’d write a longer post with the week’s narrative. It’s useful to have these to refer to in the future when all the WWDCs blur together and I’ve forgotten which event was which. Where it adds any details I’ll link to a few of the shorter posts.

    So let’s go back to Sunday morning a week ago when I arrived in San Francisco, ticketless but ready to learn and meet up with friends. What a great day. First burritos and coffee in the Mission, then to Oakland for the NBA finals, game 2. I had signed up on the Golden State Warriors mailing list a couple weeks earlier to get in on the pre-sale tickets. Excepting the nearby San Antonio Spurs, I’m almost never going to just coincidentally be in the same city as an NBA finals game. I couldn’t let that chance slip by.

    Golden State Warriors

    And it was an amazing game. Outwardly I was rooting for the Warriors — high fives to fans when the team came back to force overtime, wearing my new yellow shirt they gave everyone at the game. But inwardly I was also marveling at LeBron’s dominance and happy to see the series tied up. I want to see this thing go to 7 games.

    Monday was the keynote and later the Cartoon Art Museum / NeXT fundraiser, with beautiful art on the wall from one of my favorite films this year, Song of the Sea. Tuesday I tried to catch up on some code at Sightglass Coffee, watch sessions at WeWork, and installed the iOS 9 beta on my retina iPad Mini. In the evening on this day and others there were parties, though I only attended a few.

    The Talk Show

    The Talk Show live with guest Phil Schiller was a great surprise. I’m so happy for John and his success. Developers who have only known Daring Fireball after it was already fairly popular may need this important reminder: John Gruber started a dozen years ago with a blog that no one read, just like the rest of us, and this week he conducted the best interview of a senior Apple executive I’ve ever seen. If you think it’s enough to just throw random quips to Twitter, it’s not enough. Blogging is still the best way to build an audience. (Don’t miss Marco’s post about the event and what it means for the new Apple.)

    I have very little to complain to Apple about this year. Maybe the keynote was a little long, but the topics they hit and the new user features and APIs were exactly right. I’ve got Mac OS X 10.11 El Capitan installed and will require it for my next Mac app.

    Golden State Bridge

    Toward the middle of the week I wasn’t feeling particularly great — not sick, but not really upbeat enough to get excited about new APIs. I escaped the city for the afternoon on Wednesday, visiting the Walt Disney Family Museum and then walking down to Crissy Field toward the Golden Gate Bridge. I stretched my arms out wide to catch the wind and felt refreshed in a way that the stagnant weather back in Austin this time of year can’t hope to provide. I remember this tweet from 2012 and it’s always true again, year after year.

    Thursday morning I caught a session at AltConf before heading to the airport. Flights were delayed out of SFO because of fog, so it was 3 hours waiting in San Francisco, and another 3 hours waiting in Phoenix after a missed connection. But it’s all good. WWDC was a little weird for me — not because of anything Apple did, just because I was a little wistful, and distracted by email and non-WWDC happenings too.

    Nevertheless I’m inspired by the week. The success of both AltConf and now Layers, not to mention all the other smaller events and keynote watch parties, point to a very strong WWDC for years to come.

    → 8:25 AM, Jun 15
  • Austin rain

    I think it has finally stopped raining in Austin. Starting to look like summer again:

    10 days

    Contrast with this video we took on our street last week. We get our fair share of thunderstorms, but I had never seen anything quite like the rain we got last month.

    → 8:36 AM, Jun 2
  • Updated Tweet Marker extension

    I updated the Tweet Marker Safari extension to version 1.2 today. This version fixes the extension to accommodate recent design changes on twitter.com. Existing Tweet Marker paid subscribers can grab the new extension here.

    Here’s a screenshot of the “Set Marker” link that the extension adds to twitter.com. Then when you launch a compatible iOS or Mac Twitter app, it will scroll the timeline to that position.

    If you’d like to support Tweet Marker or use the Safari extension, you can subscribe for $1/month.

    → 11:06 AM, Dec 15
  • Twitter ads

    I was talking to friends this week about app advertising, and it inspired me to try Twitter ads. Otherwise known as “promoted tweets”, these ads are actual tweets that show up in search results and timelines, even if the user isn’t following your account. Tweet Library 2.5 seemed like the perfect time to try this.

    I set a max of $5 a day and included several related Twitter accounts to help the ads find a more narrow audience of people who might want to buy Tweet Library. Here are the results after 24 hours:

    Promoted tweets dashboard

    Unfortunately I don’t have an easy way to track this all the way to actual App Store sales. Assuming a 5% conversion on App Store visits, I likely lost a little money. The extra 1800 impressions is nice though, to raise awareness about the app. I’m going to let it run for a week.

    → 8:39 AM, Apr 25
  • Tint color misuse

    It has been nearly a year since the first iOS 7 beta, and something about tint color still bugs me. In fact it bothered me enough at the time of the early betas that a filed a bug on it with Apple, something I very rarely do. The problem isn’t so much in the concept of tint color, which I like; having a consistent color for buttons and links, especially now that buttons are so understated, makes a lot of sense. The problem is the implementation in apps that use tint color anytime they want to highlight something, whether it is tappable or not.

    Here’s an example in Apple’s calendar app. It uses a red tint color for buttons, but it also highlights the current day with a round circle using the tint color. It looks tappable, but it’s not.

    Calendar

    And here’s an even worse example, from the App Store app. “Categories” in this screenshot is a button, but “Paid” directly underneath it — same blue, same font and style — is just highlighted to show that you are viewing paid apps. It’s actually “Top Grossing” that is the button.

    App Store

    These kind of usability mistakes turn the great potential of tint color into a disadvantage. It’s like underlined text on the web that can’t be clicked. Apps should use tint color to improve usability, not to become even more difficult to use than if everyone rolled their own button styles.

    Here’s what Apple’s iOS 7 UI Transition Guide says:

    “In iOS 7, tint color is a property of UIView. iOS 7 apps often use a tint to define a key color that indicates interactivity and selection state for UI elements throughout the app.”

    But that’s not specific enough. The app screenshots above are following this rule, and it still looks wrong. Bold text or a gray background for highlights are much more effective to show selection state than tint color. I would completely avoid tint color for selection state except for controls that have 3 or more segments, such as a tab bar, and even then sparingly. Highlighting a 1- or 2-segment control with tint color is always going to be confusing, because the selected segment looks like it can be tapped.

    With this in mind, fixing the App Store app is a simple change:

    App Store

    (You could make the “Top Grossing” button blue or not. I don’t think it’s necessary in this case.)

    The best iOS 7 apps I’ve seen follow the spirit of Apple’s guidelines, but they know when to push beyond Apple’s built-in apps and when to pull back and do less. Tint color seems like an obvious case of where we should be more consistent and strict than Apple intended.

    → 2:52 PM, Apr 17
  • Sunlit 1.1

    Today we shipped version 1.1 of Sunlit, our app for collecting photos and text together to make and publish stories. Some of the bigger changes include:

    • Instagram and Flickr import. You can now add any of your own Instagram or Flickr photos into a story. With Flickr, you can even browse from your Flickr sets.

    • Improved Dropbox support. The first version of Sunlit assumed most of your photos on Dropbox were in the Camera Uploads or Photos folder. For 1.1, we’ve added a full Dropbox browser so you can pick any folder you want.

    • Multi-user text syncing. Now anyone subscribed to a story can add both photos and text descriptions, and the text will sync to all users. This is a really powerful feature for collaborating on stories. We think it puts Sunlit in a class above any other app like this.

    • Confirm deleted photos. What happens if you let other people add photos to your story, but they accidentally delete one of your photos? Sunlit now tracks this and shows a special confirmation alert so that you can either allow the photo to be deleted or keep it.

    There are other fixes and improvements too, which you can see in the release notes. Here are a few screenshots of the new Dropbox and Flickr screens: Sunlit v1.1

    Sunlit is available in the App store as a free download. If you like it, pay just $4.99 to unlock the full app, and leave a review in the App Store to help others discover the app. Thanks!

    → 3:00 PM, Feb 14
  • Sunlit maps

    Map

    iOS already ships with a mapping framework from Apple that all apps can use, so why did we ignore it in Sunlit and use Mapbox instead? Two main reasons:

    Custom map colors. I was interested in creating beautiful new maps that would give Sunlit a unique design. Maps in every other iOS app look exactly the same. Sunlit is automatically more distinctive just by choosing something different, and we barely scratched the surface of the customization that is possible on Mapbox.

    Direct web API. Mapbox gives you access to your maps not just in a native iOS map view, but also over the web. For the story backgrounds in Sunlit, we grab rendered maps directly with an HTTP call. This is a lot simpler and faster than having to build an interactive map view and snapshot it.

    It also helped that I’ve been following the cool stuff Mapbox has been doing ever since Justin Miller joined their team a few years ago. I could tell this was a company that wanted to push the technology of maps forward. Apple needs to spend all their time building a viable alternative to Google Maps — driving directions, business locations, better search. But I don’t care about any of those things in my app. For Sunlit I want to use a framework from people who clearly love maps, and I think that’s Mapbox.

    → 9:04 PM, Jan 21
  • Why we built Sunlit

    Montreal

    You have that feeling when hanging out with friends — everyone snapping pictures of their surroundings, of people, events, food, anything — that photo sharing should be better. That years later, you should be able to go back to that time, to see the best photos collected together from several people. And not just photos, but maps of where you were, and text to describe its significance.

    One afternoon before Çingleton in 2012, this subject came up as Jonathan Hays and I were taking photos around Montreal. It seemed remarkable and disappointing to us that there was no easy way to put those photos together. And I liked the idea of buildling a new app around photos, with the same themes of curation and preserving past events that are so important to my other Riverfold products.

    So we let the idea sit in the back of our minds, and later we wrote a little code as time allowed. At the App.net hackathon before WWDC 2013 we dove into the project in earnest, figuring out how it would sync, then over the summer took some more time to think through the user experience.

    Sharing a single photo has been done a hundred times on iOS. Instagram was an important app to nail the timeline UI, and Favd is currently my favorite way to post and browse new photos (it’s really great). But hardly anyone has even attempted to tackle photo curation, group sharing, and publishing, let alone gotten it right. Sunlit 1.0 is our first pass at this and we couldn’t be more excited about trying to solve a new problem with photos.

    They say you should spend money on experiences — on memories, not things. Sunlit helps you put those memories together, share them as a group, and rediscover them when it matters. The first version will ship tomorrow. I hope you like it.

    → 5:24 PM, Jan 15
  • Your name

    Found via Shawn Blanc, CJ Chilvers writes about the reputation of photographers:

    “I look at their blogs and the consideration given to advertisers over readers. I look at their Twitter feeds that have become broadcasts, rather than conversations. I look at their Instagram feeds and see a stream of consciousness, instead of considered examples of the work that makes them proud.”

    It reminds me of one of my favorite parts of Christina Warren’s talk at this year’s Çingleton, where she told the story of turning down work she wouldn’t be proud of, even though she was still struggling as a professional writer. That your reputation will outlast your current job or project:

    “If I give up my name — which I’m starting to build and people are starting to respect — by doing stuff like this, what does that mean? I can’t ever live this down. All I have is my name.”
    Christina Warren at Cingleton 3

    Daniel Jalkut and I talked more about the general themes of Çingleton a couple months ago, on Core Intuition episode 110.

    → 1:56 PM, Dec 15
  • Three ADN clients for iPhone

    Lots of new people are joining App.net. If you’re one of them, welcome! In this post I’m going to briefly review 3 of the most popular iPhone clients: Netbot, Felix, and Riposte. You can’t really go wrong with any of these three apps. And if you’re looking for a Mac client, my current favorite is Kiwi.

    Netbot

    Netbot is nearly identical to Tweetbot. It shares most of the same source and all of the same UI design. That common heritage is great because it’s familiar to fans of Tweetbot, and it allowed Tapbots to launch onto App.net in a big way, leapfrogging all other clients that were under development at that time.

    But the familiar design is a double-edged sword. Not just because the App.net API will evolve and diverge from the Twitter API, but because if you switch between both Tweetbot and Netbot often, you may need to be careful that you remember which app you’re posting from. This was a problem for me since I no longer post to Twitter, and the last thing I wanted to do was accidentally leave a new post there after a 5-month absence.

    All the usual features you’d expect are present in Netbot: timeline, mentions, private messages, multiple accounts, and sync with Stream Marker. It even has an iPad version, which you may want to pick up even if you chose a different primary app on the iPhone.

    Netbot also has one big feature that most App.net clients don’t have: post search. This is not part of the core App.net API. Tapbots rolled their own search server so that they could offer this feature inside the app.

    Sidenote plug: if you want search for all the posts from anyone you’re following, and your own posts, consider my web app Watermark. You can subscribe on the web or in the iPhone version.

    Felix

    Felix is possibly the most mature and actively maintained of the App.net-exclusive apps. You can tell from his App.net posts that the developer is passionate about App.net and determined to keep making his app better.

    The current version supports all the basic features as well as push notifications, narrow inline image previews that take the full width of the screen, iCloud sync for drafts, starred conversations, and a brand new feature in version 1.5: collapsing posts you don’t want to see, similar to Twitterrific 5’s muffling. The only omission is that it does not yet support multiple accounts.

    Felix is also unique in that it is the only one of these 3 apps that is not free. The other apps are counting on the Developer Incentive Program to send them a check each month instead of relying on traditional sales. Felix is a good value at $5, though, and the price shouldn’t stop you from trying it out, especially as it is a very small amount compared to the paid App.net subscription itself.

    There are a number of gestures in Felix. One interesting shortcut — which may also be familiar to users of Twitterrific 5 — is swipe right to quickly start a reply. I personally found that this breaks the illusion of gestures as direct manipulation, though. Since swiping to the left pulls forward the conversation, doing the reverse swipe should go back to the timeline. (Update: There’s actually a setting in Felix to switch this behavior.)

    Felix also added a clever trick in its post composition window. You can swipe the text view to move the selection cursor one character over, or use two fingers to swipe across an entire word at a time. This saves a lot of time tapping-and-holding and fiddling with the magnifying glass. Felix is packed with little details and shortcuts like this.

    Riposte

    Riposte is beautifully done, with a clear design and a simple left/right gesture system to navigate through anything in the app. By default, there is no toolbar or tabs; everything is full-screen. Following Netbot’s lead, the developers of Riposte have decided to make their app free, and they have written up some thoughts on why.

    Multiple accounts are handled well and it’s easy to switch between them. Like Felix and Netbot, push notifications are supported. Riposte uses large square inline images. It’s got a great interactions view that shows users who have recently followed you or starred your posts.

    Riposte mirrors Felix’s compose text view gestures, and Riposte was the first to introduce 2-finger swipes in that text view. I love that both apps now support these gestures about equally, and hope to see many more apps steal this feature soon.

    Since it doesn’t have tabs, switching between timeline, mentions, global stream, and other views is done through a slide-out panel, popularized in early apps like Facebook, Path, and Sparrow, and now very common everywhere, including my own Twitter app Tweet Library. It’s a swipe and a tap instead of the single tap of Netbot or Felix, but it is space-efficient and fits the flow of gestures in Riposte.

    While Riposte holds its own against the competition, I think it will be chosen most not for its features but for its design. The striking full-screen look and consistent, discoverable gestures make this app feel great. It also has probably the most readable conversation view of any app I’ve used, where the focused post appears immediately and then is surrounded with the full conversation using smaller text. That design is even maintained in HTML email when sending a conversation from the app.

    → 12:32 PM, Mar 25
  • Start small

    xkcd

    Every once in a while, I’ll think about this xkcd comic strip. It’s a reminder to me that great things can start small, unambitious. I never would’ve guessed that a web comic artist starting so plainly would later produce a single strip that’s so incredible.

    Maybe we should all find our app’s version of stick figures, good jokes, and consistency. Then work long enough and hard enough and suddenly a couple years later, it feels within reach to build something amazing, something beautiful. Something big.

    → 9:27 PM, Mar 24
  • Where to archive your tweets

    It’s great to see more people get access to their full archive of tweets from Twitter. In addition to just having a copy of your own tweets, it can be useful to go back and browse them by date, or search for something specific. I’d suggest putting the HTML version online as-is (mine’s here), and also checking out other apps that add a variety of different features on top of the basic archive.

    Both of my apps — Tweet Library for iOS and Watermark for the web — can now import the .zip file you receive from Twitter. This file contains your full archive of tweets and retweets. Both apps can load the file directly from Dropbox, making it as simple as possible to get the tweets imported. And both apps are smart about only importing tweets that haven’t been stored yet, so you don’t have to worry about duplicates.

    To import into Tweet Library, first download the archive from your settings page on twitter.com. Inside Tweet Library click on the blue arrow icon next to “Archives” and walk through the steps to authorize your account with Dropbox. Then copy the .zip file from Twitter to Dropbox → Apps → Tweet Library. It will show up in Tweet Library and can be selected.

    Tweet Library import flow

    Tweet Library is good if you want easy access to your tweets on the iPhone or iPad. You can search your tweets, create filters for them, and add tweets to special collections to share with others. It also doubles as a full Twitter client, with a timeline, posting, Instapaper support, and plenty more. Check it out in the iOS App Store.

    To import into Watermark, also download the archive from Twitter and put it on Dropbox. You can put it anywhere, either in Apps → Watermark if you’ve already authorized Watermark to use Dropbox (for export), or in Documents or anywhere else. Then sign in to Watermark and click Account → “Upload all your tweets” to select the file.

    Watermark is good if you want to expand your archive beyond just your own tweets. It indexes tweets from everyone you are following, creating a huge searchable archive over time. My own account in Watermark now has about 400,000 tweets indexed. Sign up or learn more at watermark.io.

    → 4:22 PM, Jan 21
  • Tweet Marker new subscriber plan

    The original goal for Tweet Marker Plus was to help cover the hosting costs for Tweet Marker. It succeeded for a little while, but it also ended up evolving into a larger independent service: Watermark, with much higher hosting costs for archiving and search, and a bunch of new features like App.net support, Dropbox sync, saved collections, and more. I’m really excited about the future of Watermark.

    I also hear from Tweet Marker users who don’t need Watermark. They still want to support Tweet Marker, though, to make sure it continues running and that it’s as fast as possible.

    So today I’m introducing a separate, inexpensive subscription option for Tweet Marker. Just $1/month! You can subscribe from the new Tweet Marker home page. And as a bonus you’ll get the first official Safari extension for Tweet Marker, shown in this screenshot:

    Tweet Marker extension
    → 8:24 AM, Dec 17
  • Posting from Watermark

    Watermark now has App.net posting, replying, and an improved UI for tweeting. You could always tweet from Watermark, but it used Twitter’s “web intents” system, which opens a new browser window. The new interface is integrated directly into the Watermark sidebar, and it works with both App.net and Twitter.

    Here’s what it looks like when it’s visible:

    Watermark new post
    → 5:39 PM, Nov 30
  • Watermark quick copy and more

    Watermark had some downtime early last week. While I was able to bring back the server faster and hopefully more robust than ever, I also wanted to quickly act to improve the service in visible ways. So I wrapped up a few features for Watermark over the Thanksgiving break, including two specific new features for Twitter and App.net.

    For Twitter: Copying tweets to custom collections was cumbersome before, involving lots of clicks if you are copying multiple tweets in a row. Now there’s a faster way. After you copy a tweet to a collection, Watermark remembers that recent collection for a couple minutes and offers a “quick copy” link directly next to the tweet.

    TM quick copy

    For App.net: You can now repost or star a post directly from the Watermark interface. I’ll continue to fill out Watermark with more features like this, whether you’re living in Watermark as your default client, or just searching your archive and want access to more functionality.

    ADN starred

    Search and performance should also be better across the board.

    → 5:11 PM, Nov 26
  • Tweet Library price follow-up

    Last month I tried an experiment, lowering the price of Tweet Library for the first time in 2 years. It wasn’t selling well and I wanted to do something to determine if I was just stubbornly pricing it too high or if there was a deeper issue with the quality or marketing of the app. So let’s follow up on whether this was a success or not.

    Here’s the graph of revenue for a 2-month period: one month before the price cut and one month after. There was also a new version released about a week after the price cut, but it didn’t appear to have a significant impact on sales.

    Tweet Library price cut

    Downloads were up 175%. Profit was up 40%. My gut feeling is that I should have dropped the price to $7.99 instead of $4.99, but I’m wary of changing anything again right now. We’ll see what next month looks like.

    → 5:06 PM, Nov 14
  • Stream Marker

    Watermark now supports App.net’s Stream Marker. You can click a post in Watermark to set its marker, the current marker will be retrieved when refreshing posts from the server, and the “Scroll to marker” link scrolls to the marker or loads more posts trying to find it.

    Here’s what a marked post looks like:

    Watermark screenshot

    I don’t know if any other clients support Stream Marker yet, but I expect many will in their next updates. I thought it was appropriate that I should be one of the first to support it.

    I launched Tweet Marker in June of 2011. It wasn’t exactly a new idea — Echofon had a private sync before, and developers had long been asking Twitter for an official timeline position sync API — but Tweet Marker was the first to support sync between different apps. And it was the first to bring this idea to many more users, to make it a must-have feature that customers asked for.

    In a way, I think of Stream Marker as a next-generation Tweet Marker, even though it’s not mine. The API and name are different, but it feels familiar, like an evolution from what we learned from Twitter apps. It’s a no-brainer to support it in Watermark.

    → 8:15 PM, Nov 13
  • Two more for Watermark: pictures and stars

    Following just a week after the Dropbox support in Watermark, I’ve added two new smaller features that improve the user experience. The first is that photos hosted by Twitter are now included as inline thumbnails next to a tweet, as shown here:

    Watermark inline picture

    The second improvement is a much faster Favorites view, which also now includes the new “stars” feature from App.net. Watermark doesn’t yet download all your existing stars (that will be rolled out to more users soon), but when it does encounter a star in your App.net timeline, that starred post will be included it this view right alongside Twitter favorites.

    → 7:22 PM, Sep 18
  • Journals

    Steve Corona on keeping a journal:

    “And for the past 1091 days, I’ve been journaling every single day — that’s about 3 years or 12% of my entire life. My only regret? I wish I started sooner.”

    When I was younger, I had tried off and on to keep a sketchbook or journal, but it never quite stuck. Like blogging, or writing, or drawing, or anything you aren’t paid to do, it takes setting a routine. There’s always something more important to do.

    journals Then in 1998, I started a journal again with a renewed commitment. I filled a book from that day up until I got married. Then another book through when my daughters were born. Another for the first 10 years of their life, and my son’s. The travel, the big life moments, the election, the work. It’s not everything — sometimes the entries are every day and sometimes months go by with nothing — but it’s the stuff that matters, and the snapshots in time of little everyday things too.

    I would be devastated to lose these books. Open the pages and it rolls back the years like a time machine, to a previous life full of small details that are priceless today. I’m writing the books half for my terrible fading memory, and half for my children, who will only care what these years have been like when it’s too late to ask me.

    So I’ve recently started transcribing the handwritten entries into digital form. One page at a time, into Day One, then exported as plain text. It’s a long and tedious process, but multiple copies are the only sure way to make something last.

    → 11:58 AM, Jul 27
  • Favorites in Tweet Marker Plus

    favorites sidebar I’ve written about saved filters in Tweet Marker Plus, and now I’m happy to announce the latest new feature: favorites. Tweet Marker Plus now grabs your favorites from Twitter so that they’re included in the searchable archive. The UI is better too, so you can tell at a glance what tweets have been favorited, and a new sidebar link can show just your recent favorites.

    A few days ago was the 3-month anniversary of Tweet Marker Plus’s launch. This is a significant milestone for me because all the early subscriptions were only billed once every 3 months. For most subscribers, this week is the first time recurring billing will have kicked in. (New subscribers are on monthly billing, which is a lot simpler for customers to understand and for me to predict.)

    I also rolled out some other fixes tonight, and improved performance for how background tasks run. Enjoy.

    → 10:24 PM, Jul 16
  • Hosting costs and config

    A few things have changed since I last talked about hosting. Tweet Marker passed 200,000 total users to the API. There are more apps and more platforms. And of course Plus launched with new requirements for database and search indexing of tweets.

    Here’s a graph showing monthly hosting costs for the last year, stopping just short of $600/month for April:

    Tweet Marker hosting chart

    The first dip was when I moved away from Heroku’s dedicated PostgreSQL database, to Redis on EC2. The more recent increase is when I updated capacity for Tweet Marker Plus.

    Tweet Marker currently runs on both Heroku and Amazon EC2. On Heroku, there are 6 dynos: 5 web dynos with 3 Unicorn processes each, and 1 background worker. I also run hourly scheduled tasks that add a small number of extra dyno-hours, and sometimes I’ll fire up additional temporary workers.

    For Amazon, I run with 3 medium server instances: 1 for Redis master, 1 for Redis slave, and 1 for search with MySQL and Sphinx. The search server is partitioned across multiple EBS volumes, each one mounted as a separate MySQL database and Sphinx index. It is possible for me to move a database or search index shard to a different EC2 instance if I need to, as well as move customers between shards.

    The volumes look like this in Amazon’s admin UI:

    Tweet Marker volumes

    I picked 20 GB shards because it seemed like about the point where the database would be too big to be fast, given the modest hardware. It’s enough to hold several months of tweets for all the users in a shard. I estimate how many users should be in each shard, and when it reaches that number I roll new accounts to the next shard, and so on.

    Backup dumps for the Redis database and MySQL get sent to S3 every hour and every day, where I keep the last 24 hourly backups and the last 31 daily backups. I also do occasional EBS snapshots.

    I don’t currently need a MySQL slave for backups. If I lose a drive, when I restore the last hourly backup, Tweet Marker Plus will automatically add any missing tweets lost during the downtime to bring things back to a current state.

    Overall I’m happy with this setup. It’s as simple as I could design it. Hosting is not cheap, but I think I can run for the rest of the year with very few changes and mostly fixed costs. I also plan to switch to reserved instance pricing at Amazon, which should be a significant discount.

    If you’ve made it this far, you probably care enough about servers and Twitter that you should consider signing up for Tweet Marker Plus yourself. Check out the details here.

    → 6:47 AM, May 3
  • Saved tweet filters

    When I created “Tweet Marker Plus”:tweetmarker.net/plus, I thought I was creating a new way to search Twitter. Limit the search to just people you follow and you can store more tweets, and more relevant ones. But as I’ve been adding new features to it, I’m realizing that Tweet Marker Plus is really a new kind of Twitter client — a client that has search and filters at its core.

    Here’s what the sidebar looks like in my Tweet Marker Plus account:

    saved filters

    Seems simple enough. But quickly switching between saved filters is very powerful. Because Tweet Marker is routinely fetching new tweets in the background, even when you haven’t opened your web browser in days or weeks, there are no gaps in the timeline. When I use a filter, it’s showing me everything that any of the people I follow have said since I first started using Tweet Marker Plus.

    I’m excited about this. I’ll keep adding features and growing the storage, to make Tweet Marker Plus the best value $2/month could possibly get you.

    → 8:04 PM, Apr 12
  • Carousel

    Don Draper, from the season 1 finale of Mad Men (YouTube, skip if you plan to watch the whole series):

    Don Draper

    This device isn't a spaceship; it's a time machine. It goes backwards, forwards. It takes us to a place where we ache to go again. It's not called the wheel; it's called the carousel. It lets us travel the way a child travels — around and around, and back home again, to a place where we know we were loved.

    When I first saw this a couple years ago I thought of Steve Jobs, the master pitchman in our industry. The delivery is different, more personal here, but it was stunning as part of the full episode. Who doesn’t want to build products that resonate so well, that go from nice utilities or productivity apps to something our customers fall in love with?

    First you build a product that changes things, that is truly useful. Something ambitious. Then find a way to sell it that connects, and underscore why it matters.

    I don’t really know how to do this yet. But I do know that part of it is telling stories. Why did I create Tweet Library? To tell stories, to remember events that matter before they’re lost in the fleeting stream of old tweets. It’s the kind of nostalgia at the heart of the Mad Men clip.

    I like this post from Kyle Neath of GitHub, that it’s about ideas, not products (via Duncan Davidson):

    People want to be part of ideas. Being part of a company who builds a successful product is cool... but being part of an idea is a lot more attractive. If you can build a business where both your employees and your customers think they're part of an idea, you've created something special.

    If you can extract the core idea from a great product, everything that comes next can be matched to the idea, so the product has a clear path for new features. Building a story around it — something that sticks, and having the resources to tell that story properly — takes a lot of work. I’m inspired when I see others do it well, and it’s an art I hope to make time for.

    → 2:37 PM, Jun 15
  • Moscone West

    → 6:34 PM, Jun 8
  • Flowers after the rain

    → 11:49 AM, May 31
  • The McKinney Homestead

    → 6:42 AM, May 30
  • SXSW conflict

    I’m still working on a longer post about SXSW 2011 — yes, a month late — but until that’s ready, here’s a drawing I made after the conference.

    SXSW drawing

    → 7:58 PM, Apr 10
  • → 3:13 PM, Oct 31
  • Morning work at Sodade

    → 6:33 AM, Oct 14
  • Bookshelf Touch

    Bookshelf screenshot Although I had worked a little on iOS apps before, updating an existing app for the iPad and tinkering with unfinished apps, the first 1.0 for iOS that I played a significant role in just shipped last week: a “mobile version of Bookshelf”:itunes.apple.com/us/app/vi… for VitalSource. The iPhone version has been in development off and on for a while, but I took over the project fairly late in development, with a coding frenzy through the summer as we switched file formats and scrambled to finish in time for fall students.

    Today the app broke into the App Store’s top 25 for free Education apps.

    It’s designed for existing VitalSource customers, supporting both our file formats (for XML-based reflowable content or PDF-like fixed layout), with synced highlights, figure search, and offline access. At its core the app is 3 parts: a large C++ codebase, brand new Objective-C UI code, and a bunch of clever WebKit and JavaScript work. In many ways it’s a more difficult project than my other iPad app (still in development), but some great coders contributed to different parts of the architecture, before and after I joined the project.

    Nearly 10 years ago, when I was hired at VitalSource to build the Mac version of our e-book reader, we delivered textbooks on DVD-ROMs and our technology was years ahead of everyone else. Today, and especially post-iPad, the market is a lot different, with some beautiful competition like “Inkling”:itunes.apple.com/us/app/in… Bookshelf for iPhone wasn’t first to the App Store, but it inherits an existing user base, strong platform, and large book inventory. I like VitalSource’s chances.

    → 10:38 PM, Sep 21
  • Was Macworld worth it?

    As I “wrote in January”:www.manton.org/2010/01/m… I decided to go to Macworld to show off Clipstart and Wii Transfer, and to experience the conference again and hang out with friends. I ended up doing less of the latter, because I lost my voice and was feeling terrible for a couple days, but nevertheless the trip was great and I’m very glad I went. Worth it.

    Here’s my summary of the show, what it took for me to be there and what I got out of it for “Riverfold”:www.riverfold.com/. This is supposed to be in the spirit of “Rogue Amoeba’s excellent series on Macworld”:www.rogueamoeba.com/utm/2007/… but more from a super-tiny company perspective, and just where my experience differs.

    I do want to quickly mention costs, since that’s the primary consideration when planning these things. I took advantage of the Indie Developer Spotlight shared kiosk to keep investment low. In fact, I wouldn’t have gone otherwise. I kept the whole trip to about $2700, with a rough breakdown like:

    $1250 - space on the show floor

    $900 - hotel for 4 nights

    $250 - flights to and from San Francisco

    $100 - printed “2000 flyers”:www.flickr.com/photos/ma…

    $200 - other misc costs, cabs, and food

    I could have saved some money in there on the hotel, but in general I think I did pretty well. For a lot indies it’s probably not that much different than a WWDC trip.

    flyers_ollie.png I worked 8 hours each day on my feet at Moscone North, in my little booth space in the very corner of the expo. I was lucky for two things: Guy English was awesome and covered for me a couple times so I could take a real break; and the restrooms and water fountain were so close I could slip away when traffic was slow and be back without missing much.

    The less expensive booth option was supposed to be for a table shared between 3 developers, with presumably a dozen or more small companies filling the area. But unlike the iPhone pavilion in the center of the tradeshow, which was packed with exhibitors, hardly any Mac developers took advantage of this offer. It was just me and one other company.

    This was disappointing at first, since a less dense area doesn’t convey the same excitement and means less foot traffic. But there were other aspects of the deal that turned out better than expected, such as included wired internet even though none was originally promised. Compared to a traditional booth, it was a bargain.

    Before leaving Austin for San Francisco I jotted down a few notes on how I could measure success, since I didn’t want to pin whether it was worth it just to direct sales.

    See friends and meet new people. Check, but there were a lot of people that I ran into very briefly and didn’t get to really talk to. See aforementioned lost voice.

    Get ideas from customers. Check, got plenty of great ideas. I loved talking to random Mac people, not limited to just the ones who bother to send email.

    Figure out how to sell the product. There’s nothing like explaining your application over and over again all day to refine your pitch. I feel like I have a much better handle on this, but there’s still work to do, and web sites to update.

    Actually sell some copies. I used a coupon code to track sales. During the conference my sales were flat, but in the weeks since I’ve had the best sales days of Clipstart ever.

    Get exposure in the press. Check, was interviewed by Ryan Ritchey for “The Digital Lifestyle”:thedigitallifestyle.tv/home/2010… Merlin Mann for “MacBreak Video”:www.pixelcorps.tv/macbreak3… and talked with other members of the press on the show floor. I should have done more but lacked the energy.

    Win best of show award. Nope, but wasn’t expecting it. I think it’s a shame that only one Mac application won, but on the flip side it’s great that it was “Inklet”:tenonedesign.com/inklet.ph… Really cool app.

    Everyone’s expectations coming into the event were low — the previous exhibitors who backed out, the attendees who wrote Macworld off, and the press who questioned the show’s relevance. But clearly Macworld 2010 was a success. The second day of the expo I was late to the show floor, arriving just a few minutes before they opened the hall. There was a huge mass of people waiting to get in.

    There will be a Macworld 2011. I’m really excited to see how it works to move the whole expo and conference to Moscone West. I’m not sure if I’ll be there yet, since as demonstrated this year I can’t plan nearly that far in advance. Throwing all of this together 2 weeks before the show only worked because of everyone who made things a little easier during the week.

    Thanks to Jason Snell, Merlin Mann, Adam Lisagor, and everyone else who stopped by and waited patiently through my demos; also Guy English, Paul Kafasis, David Barnard, John Fox, John Chaffee, the RogueSheep guys, my booth buddies from “Hello Chair”:hellochair.com/appsaurus… and the other indie developers I’m forgetting; and especially Albert McMurry, Dan Moren, and John Gruber for telling people about Clipstart. It succeeds only because of word of mouth.

    In closing… Maybe it’s because James Cameron is still in the news, but I’ve always loved this line from the character Rose in Titanic: “It doesn’t make any sense. That’s why I trust it.”

    That’s mostly how I felt about exhibiting at Macworld. Even though it was “cheap” by tradeshow standards, for me it was real money and a risk. I booked my flight the day I realized that the only reason not to go was because I could fail.

    → 2:02 PM, Mar 11
  • 5 by 5

    telluride.png

    I first met Dan Benjamin in 2005, at an off-site meeting for VitalSource in Telluride, Colorado. I don’t remember much of what we talked about over the course of those few days, but what I do remember, as the team was riding in the back of a jeep heading up the mountains, is that he kept talking about radio and podcasting.

    In the five years since then he’s started a couple successful podcasts, and now he’s launched something bigger: a podcast network called 5 by 5 with a strong lineup of new shows.

    "I started planning. I didn't want to do it part time or half way — I wanted to do this for real, meaning full-time. I wanted to create an Internet-based broadcast network, a place where I could create and host shows for myself and with my friends."

    I love seeing someone’s passion, only loosely related to how they earn a living, go from something in the back of their head to a full core business. Good luck, Dan. It’s off to a great start.

    → 12:29 PM, Feb 27
  • Indie Relief

    It was “just last week”:www.coreint.org/2010/01/e… that we mentioned “Today 2.0”:www.secondgearsoftware.com/today/ from Second Gear on the Core Intuition podcast, and now Justin Williams at Second Gear is making news again by organizing Mac developers to donate to charity in the wake of the Haiti earthquake.

    I’m happy to announce that Riverfold is participating. Since my wife and I already gave to the Red Cross, I decided to donate my sales to “Save the Children”:www.savethechildren.net/, an international organization working in Haiti now. It’s amazing how many Mac and iPhone developers have come together for Indie Relief, and great that we are able to do something that reaches more charities and has a bigger impact than if we were all just making individual contributions.

    So if you’ve been on the fence about whether you need Wii Transfer or Clipstart, “buy a copy today”:www.riverfold.com/. Thanks!

    → 12:52 AM, Jan 20
  • Apple promotions survey

    I was chatting with some developers the other night about giving away software to Apple employees. If you’re not familiar with the practice, it’s fairly common to give free or discounted licenses to Apple employees as a gesture of goodwill to the people responsible for making our platform, and in the hope that they will spread the word to friends and customers in the Apple Stores. (If you’re a developer and want to set this up, “check out Dan Wood’s overview”:www.karelia.com/mac_indie…)

    I’ve given away over 1000 licenses for “Wii Transfer”:www.riverfold.com/software/… and “Clipstart”:www.riverfold.com/software/… to Apple employees since I started doing it a few months ago. I didn’t expect this number to be so high, but I guess it makes sense. Apple folks are getting a link from their internal site directly to my special registration page, and many of them probably request a serial number just in case they need it later.

    The question I have isn’t whether it’s worth it; it only took a few hours to set up, and even if it just makes a handful of Apple employees happy then that’s a success. But I was curious about the greater impact of giving away my software. Is the $0 investment in a pile of other free licenses enough to engage someone to, for example, take the time to set up Clipstart and move a collection of videos into it, let alone recommend it to others? (See also: “Worthless apps”:www.manton.org/2009/12/w…)

    To find out more, I sent a special newsletter to all the @apple.com addresses in my registration database, asking if they used the software, how they liked it, and whether they’d recommend it to others or not. And I included in “the short survey”:riverfold.wufoo.com/forms/riv… a place for general feedback, and a choice about upcoming features.

    Some developers I talked with were concerned about a potential backlash. Although I send a newsletter to my customers once or twice a year, it’s debatable whether some of the people I was including had implicitly signed up by purchasing (with a 100% discount!) or whether I had crossed a line. The last thing I want to do is upset any of my customers, and I provide the same level of support to everyone whether they’ve paid full price, received a free license, or just tried the demo.

    In the end I decided it was harmless. The email was short, plain text, and had an obvious one-click unsubscribe link. One of the things I like about using “Campaign Monitor”:www.campaignmonitor.com is that once someone unsubscribes, any new mailings are automatically scrubbed against the unsubscribers list. Even if I accidentally add the customer again in the future they won’t receive an email. So far, 2.2% of recipients have unsubscribed.

    As for the survey results, here are a few graphs. Not many people filled out the survey (like unsubscribes, just a couple percent, though they’re still trickling in after 2 days), but the other feedback I received in the comments and feature questions was very helpful. 100% of users said they had mentioned the product to someone else.

    Survey charts

    Would I do this again? No, not such a narrowly-focused newsletter as this. The quick survey served its purpose, but I am always nervous about wearing out my welcome. I plan to add an explicit newsletter opt-in checkbox to my free license page, and I should do a better job of differentiating free licenses and paying customers in the future. I’ll send another general newsletter out to all customers (and opt-ins from contests) when I have something major to announce later in the year.

    → 9:17 AM, Jan 6
  • Clipstart duplicates

    Clipstart 1.0 tried to be smart about not importing videos that were already in your library, but it stopped short of actually giving you much control over whether to import duplicates or ignore them. I also felt like the window showing duplicates could be improved to provide more information about each file. At a glance you should be able to tell if Clipstart is doing the right thing.

    So I put a lot of effort into this for the soon-to-be-released Clipstart 1.2.4, and the result is this window:

    Duplicates dialog

    It generates a few frames of the timeline for each video (both old and new file side by side), which turns out to be an excellent way to confirm that they are indeed the same file, and also shows the original filename even after Clipstart (or the user) has renamed it. Now I can scan through the window in about 2 seconds and I’m done. Contrast with iPhoto which prompts after each video is imported, instead of at the end of the batch, and if you blindly trust it by checking “Apply to all duplicates” then you have no feedback on whether you made the right choice.

    The new duplicates window works with both volume-based cameras like the Flip and SD cards, as well as USB devices such as the iPhone 3GS and iPod Nano. I hope to ship version 1.2.4 soon, and there’s a “beta in the forums”:www.riverfold.com/forums/to…

    Update: As pointed out by a customer, Ignore and Keep are actually pretty confusing verbs here. I’ve changed it to “Skip Duplicates” and “Import Duplicates” for the final release.

    → 2:17 PM, Dec 22
  • LEGO minifigures

    My son is seriously into LEGO Star Wars right now. He’ll spend hours every day building ships, and it’s the most incredible thing watching how good he’s gotten at it over the last couple of months. For his birthday we ordered him the X-wing set, which is “all kinds of awesome”:www.flickr.com/photos/ma…

    One of my favorite posts to this blog was partially about LEGOs. “In 2006 I wrote”:www.manton.org/2006/01/l…

    "If the toy is made to do a few specific amazing things, with a bunch of bullet points and exclamation marks on the side of the box, be weary of it. For example, modern LEGOs come in all sorts of pre-molded shapes. If you buy the pirate set, it will be great fun for the first few days until you realize that it can only be a pirate ship. But if you buy a bucket of LEGOs (yes, they still sell these), you can build a pirate ship one day and a barn the next."

    There’s a lot more to the post, and I still believe what I wrote. But it turns out that LEGO Star Wars sets are surprisingly well designed. There are very few custom pieces, and almost all the sets (we must have about 10) share the same shapes, just with different colors and for different purposes. I’m a big fan now.

    lego_minifigures.jpg

    Tonight we sat in bed together and looked at LEGO catalogs. I’m in those awesome years where being a dad is just like being a kid again, and this post is to capture a little part of that moment, before it’s gone.

    → 9:56 PM, Sep 5
  • Wii Transfer survey

    Yesterday I sent out a newsletter to all my “Wii Transfer”:www.riverfold.com/software/… customers. You can see the “text of the newsletter here”:www.riverfold.com/newslette… I wasn’t sure how effective this would be, but I immediately got a bunch of responses to the survey, and hopefully more interest in Clipstart too.

    I decided against doing any specific tracking for number of views and links clicked, but there was an obvious spike in traffic for a couple hours as people clicked on the links in the email.

    The survey results are about what I expected. Most people are buying Wii Transfer to watch movies and listen to music on their TV. I’ll use this feedback to simplify the user interface around these features, and prune back a feature set that had grown a little too fast for its own good.

    Here’s a chart of the results so far:

    Survey chart

    I used “Campaign Monitor”:www.campaignmonitor.com for sending the newsletter, and as usual I’m very pleased with how simple they make this. I did a full customer export from my registration database and Campaign Monitor merged it with the existing list from my newsletter last year, weeding out duplicates and removing anyone who had already unsubscribed.

    → 10:01 AM, Jul 30
  • MobileMe UI

    I’m extremely impressed by this UI from MobileMe. All web-based, of course.

    MobileMe upload

    Excellent progress feedback, great attention to detail… But then they nearly ruin it with “item(s)”.

    → 1:27 PM, Jul 10
  • Tab click-through areas

    It’s often true that the further away you get from an event, like the release day for the Safari 4 beta, the closer you get to a fair analysis. Initial Twitter reaction was gut level and some not even based on anything but screen shots. “My own post”:www.manton.org/2009/02/d… was admittedly slightly half baked, but I think it stands up fine.

    Now we are seeing some more thoughtful analysis, including from “Dan Frakes of Macworld”:www.macworld.com/article/1… and “Lukas Mathis”:ignorethecode.net/blog/2009… and of course the thorough “John Gruber of Daring Fireball”:daringfireball.net/2009/03/s…

    I wanted to revisit one thing with click-through. If you eliminate the mouse rollovers and click-through for inactive tabs, you end up with surprisingly few places to accidentally click. Here are two screenshots illustrating the difference between Safari 4 and BBEdit.

    Safari 4 tab example

    It’s true that the file icon needs a hold-and-drag, so it’s harder to click, and the hide toolbar button is off to the side and less dangerous than closing a tab. Nevertheless, viewed by pixels alone there isn’t a significant difference between the safely clickable area of these two window title bars if Apple makes this small change.

    Update: If I left too much to the imagination, here are examples of the real Safari 4 clickable areas, not the way I wish it would be above.

    title_bars2_small.png

    And the extreme example with even more tabs:

    Safari 4 tab extreme

    The important point is that if you disable click-through for inactive tabs, the safe area does not change even with dozens of tabs, and in my opinion it is only marginally worse than other standard Mac applications, as shown in the first two screenshots. The current Safari 4 behavior, on the other hand, continues to degrade until the window title bar is nearly useless.

    → 8:28 AM, Mar 10
  • Work at sunrise

    I don’t have an expensive camera and I don’t know that much about photography, but you’ll just have to trust me that the sky looked amazing this morning. Especially a few minutes before this picture was taken.

    Sunrise

    We should have another 80-degree day today before it gets cold again. As much as I complain that it doesn’t snow in Austin — that wouldn’t it be great if the kids could live a real winter at least every couple of years, the kind they read about in books and newspaper comics — I have to admit that it’s pretty nice to be outside with a t-shirt in the middle of winter.

    Funny thing about mornings. I could sleep until noon every day if kids and work didn’t prevent me, but I seem to be most productive early anyway. Stepping into my home office still dreary eyed and without breakfast, catching up on tweets and email from Europeans and other night owls, then settling into source code or design or testing with some amount of quiet before the rest of the world sends another batch of distractions my way.

    Forget the realities of slipping release schedules and buggy software. Morning is that special time when everything still seems possible.

    → 8:12 AM, Jan 23
  • Leonardo tips

    Leonardo calendar Every year my New Year’s resolutions look about the same: draw more, journal more. (Blogging more is never one of my resolutions, but I’m nevertheless off to a good start this year with a goal of about one new post a day.)

    This year I knew I needed some inspiration to keep drawing more. I ordered a calendar of drawings from the in-progress short film Leonardo and pinned it to the wall above my desk. My idea was pretty simple: every day I will see this calendar, and I will mark off the days that I actually draw.

    The calendar is still blank. Guess I’ve failed, so far.

    In better news, animator Jim Capobianco is nearing completion of the film. He’s been posting some excellent tips on his blog about what he’s learned during production. I saw a rough cut of his film at the 2D Expo. Even in storyboard form you could tell it would be great. I blogged briefly about the trip to California for the expo and WWDC back in 2004.

    His day job is at Pixar, where he’s been responsible for other hand-drawn efforts such as Your Friend the Rat (on the Ratatouille DVD) and the WALL-E closing credits.

    → 10:42 AM, Jan 12
  • Tagging survey

    Last month “I asked on Twitter”:twitter.com/manton/st… for opinions on comma-delimited vs. space-delimited tagging. I didn’t get very many responses, but what I did get was pretty interesting.

    Consensus: most people like commas and everyone likes Flickr. (The second takeaway here is that the service or app is more important, since Flickr uses spaces and everyone seems to cope just fine, even that 66% who prefer commas.)

    Tag survey chart

    You can see the “full report stats on Wufoo”:riverfold.wufoo.com/reports/t…

    → 11:01 AM, Jan 10
  • Follow-up on family packs

    In October I “blogged about”:www.manton.org/2008/10/f… and then launched a “family pack” purchase option for Wii Transfer. $39 for 5 licenses vs. $19 for 1.

    The results are in, and they are unspectacular.

    2.6% of orders were family pack purchases. At an extra $20 per order, that essentially comes out to the equivalent of one extra sale for every 40.

    To all my customers who were honest enough to choose the more expensive option, thank you. I don’t think most people need the flexibility of running 5 copies of Wii Transfer simultaneously, but I’m glad that it’s helpful for a few of you out there.

    Now that I’ve written this down and crunched the numbers, it calls to mind something that “Joel Spolsky”:www.joelonsoftware.com said in an interview. All the coupons or referral fees or discount prices or other gimmicks they tried are ultimately just a diversion from the best way to increase sales: make the software better.

    I’ll leave you with this chart for 2008 sales. August was shiny-new-version month.

    Sales 2008
    → 10:04 PM, Jan 7
  • Small icons

    I mentioned on “Core Intuition”:www.coreint.org episode 11 that I’ve been having fun making small icons for my new app. Here are a few partial screenshots:

    clipstart_icons.png

    Some of these are just pixel-by-pixel drawings, with slight gradients in places. For other parts of the user interface I used vectors in Photoshop, which gives a nice anti-aliased look that is important for some types of shapes, but for really small icons and widgets it’s pretty satisfying to just poke at things “fat bits”:www.google.com/search style.

    “Gus Mueller”:gusmueller.com/blog/ pointed out that I should be using PDFs or drawing them in code to be ready for resolution independence. He’s right of course. Maybe Apple will announce a device at Macworld that will make that task seem more practical.

    → 8:02 AM, Dec 11
  • Passion and Paul Potts

    The other night I was digging around in other people’s old blog posts, catching up on things I never read but should, and I found this gem on “Seth Godin’s blog”:sethgodin.typepad.com/.

    paul_potts.jpg

    “Watch it on YouTube”:http://www.youtube.com/watch?v=1k08yxu57NA and then come back here.

    Maybe the video and show is old news to everyone else, but I was stunned. A seemingly unremarkable man, by his own admission lacking confidence, the judges and audience clearly expecting the worst, expecting humiliation.

    And then he is transformed. He nails it.

    I consider myself reasonably competent, but not great, at what I do. My weakness is that I have my hands in too many unrelated projects to ever master one thing. The areas I am most passionate about receive a cruel pittance of attention. Not so with Paul Potts.

    It’s inspiring to see someone who is just freakin' good, rising above expectation out of a bland job to surprise and overwhelm everyone around him.

    Oh, and the nice thing about discovering this video late? I can fast-forward to the finish. “Here’s the winning performance”:www.youtube.com/watch with some additional backstory.

    → 3:49 PM, Oct 4
  • Wii Transfer 2.6 and August

    As I mention on the next “Core Intuition”:www.coreint.org/, which I’m currently finishing editing and should be out tomorrow, “Wii Transfer 2.6”:www.riverfold.com/software/… was very well received. I put out a 2.6.1 tonight to address Mii problems for some customers, and with new encoding settings that improve movie streaming quality significantly.

    The following chart shows the spike in sales for August along with every month of 2008 and 2007. This isn’t revenue but total units sold for the month.

    sales_26.png

    While I don’t expect nearly this level for September, I am nevertheless interested in how far it will drop. Maybe I’ll post an updated chart at the end of the year.

    For the extra curious, the jumps in September and October of last year were when I released version 2.5 and when I did the MacZOT promotion. December was MacSanta, and somewhere in the middle of there I did the Nintendo Wii giveaway.

    → 8:59 PM, Sep 2
  • FLV metadata performance

    One of worst-kept secrets of “Wii Transfer”:www.riverfold.com/software/… is that the movie playback is not as good as what you might see on an Apple TV, Xbox 360, or PS3. I do my best to improve the quality with every release, but let’s face it: while the Wii is perfectly capable of playing fullscreen video, it stumbles when put to that task inside the Opera web browser through Flash.

    In the upcoming version 2.6, I’ve added the ability to skip directly to any part of a playing movie by clicking on the timeline with the Wii remote. It was frustrating not to be able to do that in previous versions and made it difficult to watch or fast-forward through long movies.

    The way many Flash movie players handle skipping is by inserting metadata into the FLV file that contains a map between seconds in the timeline and file positions for the keyframes, and that’s the way Wii Transfer works as well. Unfortunately this requires rewriting the entire FLV file when post-processing movies. (“Ian Baird”:blog.skorpiostech.com suggested a future optimization would be to store the metadata separately and redo the player to send seconds instead of file offsets to the server.) I was initially using the open source flvtool2.rb to achieve this, but it was extremely slow, so I rewrote it in Objective-C. (Not a port. The Objective-C version was written from scratch and is significantly shorter than the Ruby version in terms of lines of code. It does a little bit less, but it’s optimized for exactly what Wii Transfer needs.)

    This chart shows the performance improvements when processing a couple large movie files. Measured in seconds, so shorter bars are better.

    FLV chart

    The other good thing that came out of all this work is that I can now look at a FLV file in a hex editor and not be totally confused. “Hex Fiend”:ridiculousfish.com/hexfiend/ was one of the best ways to debug what my code was doing when it failed.

    → 11:57 PM, Aug 10
  • MacLife write-up and Wii Transfer beta

    MacLife Wii Transfer has a full-page mini-tutorial in the May edition of “MacLife magazine”:www.maclife.com/, as part of a section on connecting your Mac to video game consoles. I finally “picked up a copy”:twitter.com/manton/st… last night. It was certainly a nice surprise and seems to have brought a small increase in sales.

    I’ve also been wrapping up the next version of Wii Transfer, which hopefully smoothes over most of the rough spots in the current release. After sending beta copies to a few customers, I’m opening up a “new forums section”:www.riverfold.com/forums/ as an experiment in getting early builds out without a more formal public beta. (It’s not linked from the main site yet, but will be soon.) Every developer handles betas in a different way, but I like the balance Jesse at “Hog Bay Software”:www.hogbaysoftware.com has achieved between his released software page and the early builds and developer notes in the forums section, for those customers willing to dig a little bit below the surface.

    → 11:29 PM, Apr 19
  • MacSanta 2007 in time for Christmas

    Wii Transfer’s featured day for “MacSanta”:www.macsantadeals.com starts at midnight tonight, but I’ve already rolled out the coupon code. Because I’m still using simple PayPal “Buy Now” buttons, I hacked together a little custom coupon field just for MacSanta (based on a simple JavaScript trick posted to the MacSB list). I tried to come up with a clear interface even though there isn’t a traditional online store, because it just doesn’t make sense to spend time on a full store for only one product. (Plus, look at that cute MacSanta logo! Aww.)

    Here’s a screenshot “from the web site”:www.riverfold.com/software/… after you’ve redeemed a code:

    MacSanta coupon

    On Friday the discount drops to a respectable 10% off for the rest of the month. Happy holidays!

    → 5:23 PM, Dec 19
  • Wrapping up the Wii Giveaway

    Sending away second Wii After sitting on a shelf in my office for 2 months, unopened and unloved, I finally shipped off the Nintendo Wii today to the lucky winner. I was initially worried because he didn’t respond until well into the second day after I notified him, but he was pretty excited (“You’ve made my holiday”) and I’m glad it could ship out before Christmas. The picture here is in the car before I went into the UPS store to fill the box with peanuts.

    The promotion took a surprising amount of effort, but it was fun and definitely worthwhile. There were a total of 2447 unique submissions (1925 for the email form, and 522 from Twitter). Of those, over 1/3 agreed to sign up for my annual Riverfold Software newsletter. I consider that alone a success, although until I look at the stats more closely it’s not clear what percentage of potential-customers are actually using Macs. My “Wii Twitter account”:twitter.com/wii also doubled to about 300 followers.

    Although sales were initially flat, both “TUAW”:www.tuaw.com/2007/12/0… and “Ars Technica”:arstechnica.com/journals/… ran nice stories on the promotion. I also “wrote a press release”:riverfold.com/software/… with the idea of hitting some of the bigger gaming sites for the second week of the contest. In the end I decided not to, because I wanted to focus on Mac users, and because frankly there were plenty of submissions and I was burned out on the process.

    The contest easily paid for itself, but the extra sales really weren’t that significant. I have a database that tracks referrers through to the actual purchase, so I noticed an increase of only about 10-20 copies out of the 100 sales for the month so far. Part of that is no doubt the catch-22 of giving away hardware that is required for your software product, but I know that long-term there will be a benefit to the wider exposure.

    Mistakes? I should have made the whole promotion last just a day or two, and hyped it before launching instead. I also should have required that Twitter users follow Wii before entering, which would have boosted those followers and also greatly simplified tracking submissions (replies were spread over 3 RSS feeds and 33 iChat log transcripts). Relatively minor complaints, though, overall.

    To everyone who provided feedback on the idea, thanks. Maybe next year I’ll implement some of the more interesting promotion ideas I heard.

    → 11:41 PM, Dec 18
  • Scully, 1997 - 2007

    Scully
    → 9:01 PM, Nov 11
  • Foreign sales market

    From time to time on the “MacSB list”:tech.groups.yahoo.com/group/mac… people ask about the value of localization and what percentage of sales come from foreign customers. Since day 1 of “Wii Transfer”:www.riverfold.com I’ve always been surprised at how many sales are from Europe. At times it felt as if over half of sales were outside the United States, so I finally ran the numbers to know for sure.

    My homegrown customer database doesn’t actually include the physical address, so I grabbed the last 500 sales from PayPal and wrote a quick script to group the countries. Here’s the chart:

    Wii Transfer countries chart

    The United States represents just over half. If you add up the other English-speaking countries, it hits 70%. Still, this is a purely English-only piece of software. I’ve resisted the push to localize until I feel the codebase is better prepared for it, and the UI more stable.

    At “VitalSource”:www.vitalsource.com last year I wrote a custom Rails web app to manage localization resources for both the Mac and Windows products and deal with the outsource translators, and the takeaway from that experience was definitely to go slowly. It’s easy to end up with a foreign language version that makes compromises and is potentially less useful to customers than the English version. Depending on the size of the product, localization could take weeks or months, time that might be better spent adding features.

    Back to the real stats. Why are the foreign numbers so high? I think the weak dollar combined with an already relatively inexpensive price makes Wii Transfer even more of an impulse buy in Europe.

    → 8:28 AM, Aug 3
  • iPhone - it's from the future

    That’s the way I described the iPhone to anyone I showed it off to over the weekend. The thing is amazing. Easily the most advanced and beautiful UI that we have ever seen on a portable device.

    I waited outside the Apple Store most of Friday to get an iPhone, and it contrasted very favorable with my experience camping out for the Wii. The 6pm sale time decision was a smart one. It turns out waiting in line all day wasn’t necessary, but for anyone who had to have one on day 1 it was the safest choice, and it makes for a fun community. I ran into a bunch of people I knew and met new folks as well. Enjoyed catching up with Donna Kidwell and had a chance to chat at length with Jeremy Derr of Barton Springs Software.

    Damon YouTubed the line in the early afternoon and by 6pm the line was roughly 250 people. We were in the low 40s and were in and out of the Apple Store in 15 minutes. They ran a great launch. Also a nice assortment of free water, tea, pizza, and coffee from both Apple and surrounding businesses. Here’s a shot of me from Damon’s Flickr stream.

    iPhone line

    Here are my posts to Twitter throughout the day, which also show part of the story:

    6:34am: Good morning iPhone Day! Weather forecast in Austin for today: 40% chance of showers and storms.

    10:15am: It’s only 10am but already realized I need to go to Plan B. Bribe friends already in line to use their 2nd iPhone purchase.

    11:09am: Change of plans. Heading to the Apple Store now to join in the line-waiting fun. Will it be too late?"

    12:26pm: I expected rain, but that seems unlikely. It’s hot like a real Austin summer here in the iPhone line.

    2:32pm: Hanging out in The Line with Jeremy of Barton Springs Software and @damon. Apple Store is closed. Had some lunch and a Starbucks soy latte.

    4:03pm: 2 hours left. We can redeem our free Starbucks coffee coupons now. Excited! (About the iPhone. Not the coffee.)

    6:30pm: Got my iPhone.

    7:35pm: Activation will have to wait. Ratatouille.

    8:18pm: Movies all sold out. Pre-activation dinner at Kerby Lane instead.

    9:53pm: Activation took less than a minute. Also, no plan choice. Just $20 added on to what I already pay, I guess.

    Other reviews around the web:

    Matt Haughey: “So in conclusion, the iPhone is nice from start to finish, but Safari is really the thing that turns it from a phone into a mini-laptop. Once I get more used to two-thumb typing, the last limitations that keep it from feeling like a real computer will be gone.”

    Scott Stevenson: “I usually don’t get too into pop culture events, but this is different. The Mac is going mainstream in a big way.”

    Ryan Irelan: “I probably tried out the emergency call slider three dozen times. I wonder if anyone actually called 911 because their phone wasn’t activating quickly enough.”

    Steven Frank: “Best phone ever. And given the rest of the industry’s generally pervasive cluelessness about pretty much everything, I don’t expect it to be surpassed by anything until the iPhone 2.”

    John Gruber: “Overall day one impression: the iPhone is 95 percent amazing, 5 percent maddening. I’m just blown away by how nice it is - very thoughtful UI design and outstanding engineering.”

    → 10:58 AM, Jul 2
  • WWDC 2007 in one post

    Moof Along with most of our house, my office is packed up and ready to move this week. The photo to the right is of one of the handful of items in a box labeled “Manton’s desk,” or, if someone else had her way, “Random junk Manton saves to remember the past but which should really be in the trash can.”

    It’s unopened Moof beer from WWDC 1996, my first WWDC. At 20 I was too young to drink, but I probably would have saved it anyway. That was back when Apple gave you cool stuff and not just another cheap laptop bag.

    This year’s WWDC will probably go down as one of my favorites. The keynote was a bit dull, but it was offset by the reality that Leopard is a mature and usable system. I have been running all my primary apps off of it since last week, including Mail.app, NetNewsWire 3.0, and Xcode.

    I couldn’t place the feeling at the time, but now I realize that last week’s sessions were, in a way, relaxing. There was no sense of urgency. Most of the sessions I attended were practical, full of hands-on advice for preparing for Leopard and many applicable to Tiger development as well. I got a lot out of the week, and when I decided to skip out on Friday it didn’t feel like the world would come crashing down because of it.

    James Morrison Other highlights of WWDC 2007 were away from the sessions: walking Chinatown with Willie on Sunday in search of the illusive bakery item; hitting the SF Mac Indie party that night and hanging out with fellow developers afterwards; Buzz Andersen’s party Monday, catching up with Lane and the host; the Dan Benjamin annual breakfast; Apple Design Awards on Tuesday, which had a record number of wins for apps I’ve actually used; accidentally walking into a James Morrison concert at the Apple Store (left photo); being interviewed by Scott McNulty of TUAW, though I secretly hope they will decide not to air it; enjoying great Italian with the VitalSource team on Wednesday before catching the tail end of CocoaHeads; plus the Apple Bash and more drinks and discussion Thursday night.

    Like at SXSW earlier this year, Twitter proves both cool and useful. I was lucky enough to meet many of the people on my Twitter friends list for the first time last week.

    Of course it wasn’t all fun and games. I sifted through more legitimate Bookshelf bug reports than usual; I was exhausted pretty much every day; and there were a couple developers I had hoped to seek out that I just never made the time to.

    All in all, though, a good week and now I’m ready to get back to coding.

    → 6:50 AM, Jun 18
  • First 75 days of Wii Transfer

    In the tradition of other independent Mac developers such as “Mike Zornek”:clickablebliss.com/blog/2007… “Daniel Jalkut”:www.red-sweater.com/blog/191/… and “Gus Mueller”:www.gusmueller.com/blog/arch… I’m going to share some sales information from the first 75 days of Wii Transfer.

    The following chart shows daily sales (in units sold) for each day. I’ve also highlighted important milestones so you can see what affect they had on sales, such as shipping 2.0 (which brought many links) and increasing the price (from $9 to $14, which brought my first 2.0 day of no sales at all). Finally, there are a few spots where I show the average number of visitors.

    Sales chart

    (As an aside, I created this chart in Keynote. I love software that is simple and flexible enough to be used for purposes outside its original developer’s intentions. I wrote “more on this subject back in early 2006”:www.manton.org/2006/01/l…)

    It’s difficult to tell, but the numbers on the right side are on average a little bit higher than the left. Not by much though. Sales just trickle in again right now (a few a day).

    So what does it all mean? Here is the basic take-away: Sales are much better than I thought they would be, but not nearly enough to live off of. That’s okay, because I happen to love “my day job”:www.vitalsource.com (also writing Mac software). However, I can definitely see how it would be possible to do this full time, with some real marketing and a collection of several additional applications. I have done zero marketing for Wii Transfer except listing it on MacUpdate, VersionTracker, and Apple’s download site (where it was featured in the video section).

    As you can see, there was a big spike in sales when 2.0 was released. This is a direct result of links from Mac sites like The Unofficial Apple Weblog and Daring Fireball, and gaming sites like Jostiq and others. When traffic goes up, sales go up. This opened my eyes because it really is all about getting your app in front of other users. “As I blogged about previously”:www.manton.org/2007/01/w… I think I also missed some sales opportunities during this period because 2.0 was not very stable.

    Other interesting stats: The conversion rate is between 2% and 5%. For every 100 downloads, a few people decide to purchase it. I think many active users probably end up paying for it. Instead of a trial demo period, some features are just crippled, and it isn’t very usable day-to-day without unlocking the full feature set (for example, with music sharing to the Wii, you can only play one song at a time – no iTunes playlists or shuffle).

    There are at least a few pirates too. I’m not too worried about them because “you can’t stop pirating”:wilshipley.com/blog/2007… and most people are honest. One customer was even nice enough to tell me about a pirated serial number he found.

    To everyone who purchased Wii Transfer, thanks! When I built 1.0, I wasn’t sure if I would work on it again. Now, several versions later at 2.2, I have a clear roadmap of features (and bugs!) to keep me busy.

    → 9:40 PM, Feb 27
  • Nintendo Wii purchase

    If you’ve talked to me recently about video games or read my post about trying for a Wii pre-order, you know I have become obsessed with getting a Nintendo Wii at launch. The high scores that the new Zelda was receiving last week pretty much sealed the deal for me: I had to have one.

    Thursday and Friday if I was out doing errands and passed a store I would inquire about their launch plans. It wasn’t looking good, with mixed messages from employees about how many units they would be receiving. Saturday afternoon I stopped by Wal-mart at around 2pm and already there were 22 people in line for the midnight launch of only 29 systems for that store. They urged me to stay, but I couldn’t. I had a whole day planned already, and it didn’t include video games.

    Saturday evening I made a list of a half dozen possible stores and called each one. It was clear right away that if I wanted a Wii on the launch weekend, there was only one choice.

    Wii line at Target   Wii sunrise   Wii ticket

    I arrived at Target at about 9:30pm Saturday evening with a chair, blanket, Nintendo DS, and book. They would open ten and a half hours later at 8am the next day, but tickets would be passed at around 7am. Early line campers who had arrived at 3pm in the afternoon had a sign-in list to ensure there was no confusion. I was number 33 out of 60 confirmed Wii systems. By midnight, all the consoles were accounted for, and everyone who arrived afterwards was turned away.

    I had a great time talking with other line waiters. It was an interesting mix of people, from John next to me who worked at Apple here in Austin, to a set of young gamers who pulled up with a truck and unloaded two couches, a rug, and a coffee table.

    Around 4 in the morning I realized how unprepared I was. It was in the 40s that night and my blanket was completely insufficient. If I ever do something crazy like this again, I’m packing several blankets, a sleeping bag, and pillows. By 6am I considered the few hours of uncomfortable sleep I got a success and took a jog around the parking lot to get my blood flowing and stop from shivering.

    The sun rose and tickets were passed out. The excitement of the night before was back as a Target manager confirmed that they would indeed have a full 60 copies of Zelda, and almost as many for other games. Not everyone is going to get a Wii the first week, but from where I’m standing Nintendo has done a great job of shipping out as many systems as possible and making sure the games and controllers are there to go along with it.

    I’ll post again next week about my impressions on Wii Sports and Zelda, but so far I am not disappointed. I make no apologies for being a Nintendo fan, but the Wii is neither over-hyped nor a gimmick, and I think the system will live up to its original codename.

    Happy Thanksgiving!

    → 10:11 AM, Nov 23
  • Midterm elections matter

    I voted today. Here’s the scene for my precinct today. Not too crowded, but a steady flow of people.

    Voting

    Yesterday Traci and I called voters as part of “MoveOn.org’s Call for Change”:www.moveon.org/. I’m always nervous about calling complete strangers. I did this for the first time for Howard Dean’s campaign and it’s easy to get disillusioned with answering machines and hang-ups. But almost everyone we talked to was planning to vote today, and I think there’s definitely a sense that this election matters. Sometimes a simple reminder is the difference between voting or skipping it, so if you only reach a handful of people it can make the difference in a close race if thousands of other people are doing the same.

    I’ll be up late tonight watching the returns. Polls close early in some places and may get crowded, so don’t wait any longer if you haven’t voted yet. For location info call 1-866-MY-VOTE-1.

    → 3:06 PM, Nov 7
  • Hair High at Alamo

    Plympton sketch Bill Plympton was in town tonight for the Texas premiere of Hair High at Alamo Drafthouse downtown. I’ve been lucky enough to see each of his films in the theater, and this is definitely his best yet. It has actually been finished for a while. I posted about it back in 2002 when he started production. Before the showing I asked him about making an appearance at STAPLE! this coming March but it doesn’t look like his schedule will allow it. He’s one of about 4 animators I hoped to approach about showing their films at STAPLE!, in addition to some great local talent we’ll have speaking and showing their work.

    → 10:14 PM, Nov 5
  • Wii pre-orders

    Two weeks ago I casually showed up to EB Games 5 minutes before they opened, hoping to luck out with a “Nintendo Wii”:us.wii.com pre-order. Unfortunately the last slot was taken by someone who was there over two hours earlier, and at least a couple dozen people (including me) were turned away before the store even opened.

    I’m determined to get one of these consoles, and there’s something interesting about trying to get one at launch. Every day new reviews flow in to gaming blogs. I don’t see myself as a hardcore gamer, but the Wii looks like an innovative system with several fun games available at launch or shortly after.

    So I called Toys R Us last night to inquire about pre-orders opening up today at 10am. He said they had 10 Wii and only 3 PS3s. Furthermore, mall security wouldn’t let anyone on the property until 4am. This would seem to limit the opportunity for all-night campers, so I was pretty hopeful as I left for the store shortly after 4am this morning.

    Yes, you read that right. I have become so obsessed with this that I was willing to spend 6 hours in line. Luckily, the weather is beautiful this weekend. I packed a book, iPod, and sketchpad into my bag and left feeling pretty good, that at the least I would have some time alone to read or write or listen to music.

    Wii line from phone There were already at least 20 people there when I arrived. Several in line were hoping to reserve both Wii and PS3. One made the comment that they would be selling the PS3 on Ebay, but keep the Wii for themselves. There was even someone waiting for the new Elmo doll, which made the whole scene even more bizarre.

    Apparently some of the folks had been there well before 4am, probably closer to midnight or earlier. The details are sketchy, but the story I heard involves a bewildered security officer, two police cars, threat of jail time, and a mad dash at 4am to the front door. By the time I got there, the last Wii pre-order slots were being decided by a foot race across the parking lot. Seriously. Meanwhile, a second line at the exit door was setup in a futile effort by those too stubborn to admit defeat.

    I finished the banana I had brought for breakfast, played a little multiplayer Nintendo DS, and left before 5am with a “good luck” and a wave to those crazy enough to get there before me. I guess I’ll try again at Best Buy or Target next month. Rumor points to “as much as 120 units available”:gonintendo.com at some stores.

    → 2:17 PM, Oct 29
  • Carcasonne

    I picked up the board game “Carcasonne”:www.amazon.com/gp/produc… a few weeks ago and have been enjoying it. It’s great to see some innovation in board games again, and it’s a relaxing change of pace from video games. Target and the other big box stores are still mostly packed with remakes of classic board games, which are fine, but if you seek out the more speciality shops there’s a range of good stuff available. I bought my copy at “Dragon’s Lair”:www.dlair.net/, a local Austin comics and games shop that I’ve been frequenting for about 15 years, but I’ve seen it featured prominently at other quality toy stores.

    I originally sought out Carcasonne for play between adults, but I’ve found the game also works great for kids even younger than the 8 years recommended on the box. Just follow a few rule simplifications. First, no farmers. Next, as recommended by someone in an Amazon review, use the word “traveler” instead of thief. And finally, just score a single point for any completed castle, road, or cloister. Part of the charm of the game is in constructing the map anyway, so these simplified rules make for fast and enjoyable games for younger children.

    Gameplay photo
    → 10:29 AM, Oct 10
  • FlipBook

    Last year I started some extra work to help bring DigiCel FlipBook to the Mac. FlipBook is software for traditional, hand-drawn animators, and it is actually somewhat unique in the industry. Whereas Flash and Toon Boom are vector-based, FlipBook started life as pencil test software for paper-based workflows. It supports scanning with peg hole auto-registration, camera capture, or drawing with a Wacom tablet.

    Customers had been asking for a Mac version for a while, but the initial port from Windows to the Mac was not quite ready. It was missing QuickTime support for import, export, and video capture, and the Win32 compatibility layer was somewhat of a roadblock to a polished Mac product.

    I entered the project and ended up re-architecting the application to have a more Mac-like appearance. Instead of using the Win32 library, I wrote a lightweight MFC implementation entirely in Cocoa. MFC is Microsoft’s C++ framework, still widely used even with .NET and C# pushed for new applications. This approach allowed the application to be driven almost purely from Win32 and MFC, but it uses NIBs for all windows and controls because the compatibility framework sits at a much higher level. In several places the Windows code peeks through, but it provides enough flexibility that more and more of the application could be upgraded to a modern Mac look and feel while still sharing a common Windows codebase.

    The idea is that by working at the MFC level instead of Win32, you can get by with implementing only a very small subset of the full Microsoft frameworks. If the app only uses a few basic control types, for example, you only need to wrap those onto their Cocoa counterparts and can ignore everything else. (Otherwise you end up rewriting all of Win32 just to load and run the unmodified MFC sources.) Even with that simplification, though, the truth is that I seriously underestimated how much work this would be.

    The stack for this ends up looking something like this:

    FlipBook diagram

    It has been an interesting project, both for the technical challenges and because animation is near to my heart. I plan to use the software in my own personal film projects. Here’s a screenshot of the latest version.

    → 11:35 PM, Aug 2
  • Muybridge panoramas

    In 1997 I walked into Half Priced Books to browse and left with a copy of Eadweard Muybridge and the Photographic Panorama of San Francisco, 1850-1880 for $5. I had been familiar with Muybridge through his series of photographs of humans and animals in motion, which have been a classic reference for animators for nearly a century.

    Now, I’m coming back to his San Francisco photos as I prepare a podcast about that city. I am very excited about this one, and hope to have it finished soon after I return from WWDC. The video games podcast was a lot of fun, but it had some problems that I hope to correct this time around.

    I’ve tweaked this weblog design again, adding one of Muybridge’s panoramas to the header and experimenting with some different fonts and colors. I’ll switch the image out from time to time.

    Book cover
    → 8:14 PM, Jul 29
  • Weblog design update

    I just rolled out some design tweaks and “realignment”:alistapart.com/articles/… to this site. The original design (if you could call it that) was whipped together several years ago and hasn’t really changed much since then. It even used HTML tables, a fact I was oddly proud of. The new site uses hack-free CSS, although there is a layout bug for some content sizes.

    I also added a podcast feed link to all pages, links to my Flickr, 43 Things, and Del.icio.us accounts, and each individual post archive page also now includes excerpts from other posts in that category. You can see this in action by visiting “this post from 2 years ago”:www.manton.org/2004/07/c… I’ve been clicking through my old archives tonight, and that one stood out because WWDC is fast approaching again.

    Here are two before and after thumbnails of the same post. Not too exciting, but it’s nice to make even these small improvements. Next up are some planned design-y things for the header.

    Before After

    Enjoy!

    → 12:20 AM, Jul 29
  • Ingram

    I don’t blog much about “VitalSource”:www.vitalsource.com in this space, but I should. When I joined the company, it was to return to designing and building Mac software, with the potential for working on something meaningful (education tools) as a refreshing bonus.

    Over 5 years later, we have built up a great team and a mature set of products. Yesterday VitalSource announced it is being “acquired by Ingram Digital Ventures”:www.vitalsource.comindex/news-app/story.35, which should be a good complement to the work we are doing. Ingram is the largest book wholesaler in the country, but I don’t think that fact really hit me until three days ago.

    We were downtown with some time to kill before a performance. We stopped at the Farmers Market for some fresh peaches, flowers, and breakfast tacos. When we detoured to see if the library was open, I noticed these boxes outside and snapped a mobile phone picture.

    Ingram boxes
    → 9:23 AM, Jul 18
  • New fence

    Last month I tore down the rotting privacy fence in our backyard and built a new low spaced-picket fence. In addition to just being ugly to look at and nearly collapsed in a few places, the old fence was tall and prevented us from enjoying the space behind our house: essentially a private park owned by a local church but also accessible to the neighborhood.

    new fence It took me a week of part-time work and numerous Home Depot trips to build the new fence, which is about 60 feet across. I was able to salvage the strongest of the existing posts, cutting them off to match the new fence height. The ones that were rotten I removed and replaced by laying several new posts in concrete. I measured and cut each post so that the top of the fence line was level even though the ground slopped up slightly on one side of the yard.

    I’m very happy with the way it turned out. It opened the yard up even more than I was hoping for, and the better gate makes it easy to take a walk in the back. Another side effect I had not expected was encountering new people who routinely take their dogs for walks. Having a shorter fence is similar to parking your car in the driveway instead of your garage: you’ll see your neighbors more if you do.

    Anyway, a very rewarding experience. After so much crafting code and pushing pixels, it’s nice to build something real and see the results. The “image on Flickr”:www.flickr.com/photos/ma… is one I took a few evenings ago and shows about half the full fence length.

    → 2:13 PM, May 29
  • Red crayon

    I was wired when I got back at midnight last Thursday from the late Mission Impossible 3 show with “Damon”:www.damonclinkscales.com/. A storm had passed over while we were in the theater. Tree branches were down in the neighborhood, and rain continued.

    I sat at the dining room table with a sheet of typing paper and a fat red kids crayon and did some characters. It’s hard to draw small with something so big. These were at least twice the diameter of your standard crayon. I shrunk the result slightly and included a few below because I liked some of the line, despite the otherwise clunkiness.

    Fun with a fat red crayon
    → 8:08 PM, May 7
  • Education is broken

    I snapped this photo of a banner last week. It sums up quite nicely one of the big problems in American public education.

    Kindergarten Prep
    → 12:56 PM, Apr 17
  • Happy Easter, and TextDrive to DreamHost

    Silly bunny Easter is a time of rebirth and starting over. So today I’m flipping over two new things.

    The first, to fulfill a new year’s resolution that died before February. I rearranged my office and drawing desk yesterday to make everything more accessible, and I was doodling last night when this silly little bunny sketch came out. I have a few more drawings and pieces of animation in various states of completion that I’d like to post too, but I’m not going to let the backlog of “finishing” anything stop me from posting now on a weekly basis. Really.

    Secondly, I made a long-overdue server change this weekend. About a year ago I gave up self-hosting on an old Linux box and moved this site and email to TextDrive. I had high hopes. It was run by smart people with good ideas, and it was officially endorsed by the Ruby on Rails project.

    Unfortunately the server I was hosted on (Bidwell) was down much too frequently. I couldn’t help comparing it to the near-flawless uptime I had running my own box on a static DSL address. Lots of little problems and broken promises added to the overall frustration. And running underneath the whole mess was an undercurrent of unprofessionalism. I gave them a year to sort it out and it never got better.

    Which is too bad, because there was a lot of potential there. I still wish them good luck, and especially to the Joyent team as well.

    Today my site is live on DreamHost. I’ve had mostly good experiences using DreamHost to manage the STAPLE! web site in the last two years. Here’s hoping I won’t have to switch again anytime soon.

    (Want to try DreamHost? Use coupon code MANTON40 to get $40 off.)

    → 8:21 PM, Apr 16
  • Austin on Rails

    Rails meeting photo About 20 people met at the Frog Design building downtown a few months ago for the first Austin Ruby on Rails user group meeting, and by the third meeting that number had doubled. Founders Damon, Robert Rasmussen, and Rob Jones have done a great job getting the group off the ground and lining up interesting topics.

    Last night was our fourth meeting. Bruce Tate gave a talk on his experience ramping up a Rails team and comparisons to the Java world. As a new experiment on the agenda, afterwards some of us stuck around to hack together a member directory for the web site. I didn’t actively participate in the coding efforts, but I had a good time meeting new people. As usual, it was all followed by drinks at Hickory Street Bar & Grill, where topics of discussion ranged from refactoring to Perl to C++ windowing toolkits to AppleGuide. You know there’s some real substance to Rails when it brings together such a diverse group.

    Also just announced: the Rails Happy Hour at SXSW. Should be fun.

    Bruce Tate photo
    Bruce Tate answers questions after his presentation
    → 9:45 PM, Feb 22
  • Smart software bloat

    Everyone complains about software bloat. And it’s easy to see why — applications are bigger and slower than they’ve ever been, and users think the dozen features they will never use are to blame.

    On the Mac we are lucky to have a large number of great, small, focused tools that solve a few problems well. The best of these become successful, but what then? You have to keep adding features. How do you control the software so that it becomes even more useful without feeling too packed?

    One way is to differenciate between visible and hidden bloat. For example, Microsoft products used to have a tendency to take every major bullet point on the side of the box and make a toolbar icon for it. Even if the user only uses 5% of those features, they have easy access to far too many of them, and they needlessly have access to them all at once.

    Keynote slider Instead, adding features in context allows the application to grow without feeling too busy, and without distracting the user from the core set of features they are familiar with. The new user interface is discovered by using a new feature, and otherwise remains out of sight.

    This point was really emphasized for me while using Keynote 3 the other day. I love the contextual floating slider when editing a shape (see image). They could have put this slider in the inspector window, but it is so infrequently used it would have remained disabled most of the time, and cluttered those panes with little benefit.

    → 4:09 PM, Feb 21
  • To-do lists and embracing the network

    There is something about Ta-da List that works really well. Simple things like hitting return to save one to-do item and start a new one, tidying up of completed lists, and automatic ordering of recent lists. And above all else, speed. It is without question the fastest web app I use. Because the application is so focused, even full page reloads are faster in Ta-da than AJAX requests in some other web apps.

    These are seemingly simple things, but they add up to an app that rivals any native (Mac or Windows) to-do list software. It makes me wonder how great a native app could be if someone put the same thought into user interface and simple workflow that Ta-da has. The advantage so-called Web 2.0 apps have over native apps is that they are inherently client/server based, but a native application could embrace the network in the same way and (maybe) provide a superior user experience. I’ve yet to see any apps that do this effectively, but it will have to happen if the desktop hopes to stay relevant for anything except tasks that benefit from large local storage (e.g. Photoshop and Final Cut Pro).

    I use Ta-da List for everything now. Here’s a sample of recent lists:

    NaNoWriMoCapital 10kstaple_tada_small.gif
    → 10:15 AM, Dec 17
  • My podcast process, take one

    Ryan described his hardware setup for podcasting a while back. With at least a few dozen podcasts under his belt, he’s got his system down.

    I wanted to write a little about the process I used to create the Trains podcast. Not because I think it will be particularly helpful to newcomers, but just because I think it’s interesting. (Actually, I’m just now getting around to posting this. Months have past since I wrote it, and now Ryan spends his time writing about why none of this matters, and he’s right: tools should be accessible to non-technical beginners.)

    I started by borrowing a good mic from a friend. Eventually he will want it back, but luckily for me he’s a great musician and has a bunch of microphones that he uses regularly. It’s from audio-technica.

    I had a few choices for recording audio. I own a Griffin iMic, but decided not to record directly into the computer this time, so it went unused. Some of the recordings I planned to do would be away from a computer, so I needed something mobile.

    A great choice for this might have been a Rio, or a MiniDisc. I was a MiniDisc fan back during the first-generation of the devices, but sold it years ago. And I’m a happy iPod owner, so buying yet another MP3 player didn’t make sense. My concern is that the moment I do that, Apple will release a software update to uncripple the voice recording in the iPod.

    For the train conductor recording near the beginning of the podcast, I used a Griffin iTalk connected to an iPod. This is all the electronics I took with me on the train to Chicago. I ended up recording a lot with it, without an external mic at all, but not much of the audio was really usable.

    The opening train sounds I recorded just a short distance from my house. I biked down to the crossing with my nice microphone and recorded directly into a digital video camera, on to MiniDV tape. This turned out to work so well that I recorded all my voice this way.

    Since it was DV, I used iMovie to import clips of all the voice work. I could have exported to AIFF from there (and did try to), but because I was sampling lots of other material, I decided to be consistent and use Audio Hijack to grab the audio directly as it played from iMovie. I also used Audio Hijack to rip from a RealAudio source, iTunes music, and from DVD Player.

    Once I had all the AIFF files, I simply dragged them onto the timeline in GarageBand to create new tracks. I had planned to use Audacity, but it turns out GarageBand does everything I needed. I was raised on SoundEdit Pro, and the clunkiness of Audacity by comparison is hard to deal with. Controlling the fade in and out of audio for different clips was super easy in Garage Band.

    garageband.gif

    And then I exported to iTunes, converted to MP3, and posted to the site. Power to the people!

    → 12:11 AM, Dec 8
  • 50,136 words

    Winner As I posted about a few weeks ago, I decided to write a novel this month (National Novel Writing Month, or NaNoWriMo). I posted some of my progress on 43 Things, and I’m going to repost those entries here.

    Actually using 43 Things more fully, I am even more impressed. They have done an amazing job of allowing communities to form around goals. The site looks simple on the surface but there is depth to it. There is something about random encouragement from total strangers that works.

    Another useful resource was the NaNoWriMo forums. I never posted there but people were always quick to help others and offer advice. They also organized many local gatherings at coffee shops or bookstores, so I went one night and met a couple other Austin writers. NaNoWriMo works not just because of the intense deadline, but because of the shared goal as thousands of people are doing the same thing. That’s why 43 Things was such a good fit.

    Here are the entries.

    12,002 words (Nov 9th):

    I’m still behind, but I feel good about my progress because I started a few days late. The last chapter I just finished was one of the first to really work, which seems to be a good sign that I’ve found some kind of rhythm to get through the next few weeks. Either that or the plot is building up to something too soon and I’m about to run out of ideas. :-)

    25,043 words (Nov 20th):

    I only just now crossed the halfway point. I thought I was on my way to catching up, but there were several days last week where I didn’t write at all.

    I’m still determined to finish, but it’s going to take some serious writing over the Thanksgiving weekend.

    34,797 words (Nov 28th):

    I didn’t write enough over Thanksgiving. I left the PowerBook at home and filled up spiral notebooks instead. Even without an accurate word count I knew I had fallen short of my goal. Last night I typed it all up until my wrists burned.

    I will finish but it is going to take a lot: 5000 words a day for the next three days. Until now my top daily word count has been about 3000, and the average somewhat less than that.

    Congratulations to everyone else who passed 50,000 over the weekend!

    44,054 words (Nov 29th):

    Looks like I will finish. I made a big push last night and wrote about 6000 words. Less tonight, but I still think I am on track to finish tomorrow. The story should wrap up right at 50,000.

    50,136 words (Nov 30th):

    Yay! I finished.

    I spontaneously started this endeavor a few days into the month and I’m still a little amazed that I stuck with it. It’s a great feeling though, especially as I was nearing the end and the plot was wrapping up. Sure, the story has some problems, and it could have benefited from some research. But actually I’m quite happy with the overall flow of the story and some of the characters. There are some good scenes in there that I’m proud of.

    → 9:43 AM, Dec 1
  • Wallace and Gromit

    Art blogs screenshot What a great film. To prepare I dusted off my old Laserdisc with the three original Wallace and Gromit short films, but the feature equals and surpasses those films in every way. Thoroughly enjoyable.

    Aardman Animations fans should also seek out Creating 3d Animation, a combination behind-the-scenes and how-to book out a few years ago with great stuff on model construction and movement. In the age of computer animation it takes some passion to break the mold and work hand-drawn, but even more rare is the artist who wants to follow in Nick Park’s footsteps. It’s great to see the art-form of stop-motion come alive again to hopefully inspire a new set of filmmakers.

    Speaking of old school, just today I saw that Hans Bacher has a weblog. I’ll never forget seeing his art from the Mulan book years ago. The man is a master at composition and effortless landscapes.

    And like a lot of animators new to blogging, he uses Blogger. If you look at my NetNewsWire subscriptions (right), you’ll see an interesting trend of Blogger and LiveJournal icons. I’m not sure what that means, if anything.

    → 1:52 PM, Oct 12
  • Hurricane Rita

    Blue sky clouds They warned of 70mph winds, massive flooding, and loss of power, but in the last days before landfall Hurricane Rita shifted north and Austin didn’t receive even a drop of rain. The organizers of Austin City Limits Music Festival were so proud of themselves for waiting to cancel the weekend concert series, but the evacuees were less pleased — stuck in Austin at shelters because the hotels were booked for an ACL in limbo.

    Meanwhile, people panic and grocery store shelves are almost out of canned food and bottled water. The less than 3-hour trip from Houston becomes a long full day of gas shortages and frustrated evacuees.

    Cars are not an efficient way to transport large numbers of people, but the rail and public transportation infrastructure in this oil state is pathetic. Nightline’s Ted Koppel asked the obvious question to someone from Homeland Security, but they acted as if they didn’t even understand there was a problem. If you can’t get out of a major city with a week’s notice, how can you get out in a real emergency?

    → 3:34 PM, Oct 5
  • Respect to Dave

    Frontier box Dave Winer turned 50 today. I first met Dave over 9 years ago, back when the free release of Frontier ruled web application development and automation on the Mac. I ran the frontier-talk mailing list for a time, was active in that community, and built a bunch of great stuff on top of his work. A lot has changed since then, both on my platform of choice and in the tasks that Dave has tackled. While I haven’t kept in touch with him, I am usually quick to defend his record. If you ever find yourself upset with Dave, take a deep breath and then disagree in a way that shows some respect for what he’s been able to accomplish.

    → 8:16 PM, May 2
  • NetNewsWire unread count

    Or: How I learned to stop worrying and ignore the blogosphere guilt trip.

    nnw_dock.jpg
    → 11:11 AM, Apr 14
  • The Great Scott

    Magic diagram I’m not sure I ever wanted to “grow up” to be a magician, but I was pretty fascinated with it as a kid, and more serious about it than most. I knew the disappearing quarter tricks, had the special card decks, the fancy scarfs and foam balls. Once I went to a magic auction and won a box that could make anything the size of a baby rabbit appear or disappear. And, always, there were the trips to North Austin to a small converted shed in the backyard of a house where The Great Scott sold his magic books and items for eager kids and professional magicians alike.

    He visited my elementary school once. My mom still has the photo of him pouring milk in my ear and pumping it out of the other. Among the right circles, I’d say he was pretty well known. It doesn’t surprise me that he and his wife have a web site.

    Fred Donaldson (aka The Great Scott) passed away last week, age 79. That same week, I attended a course by Edward Tufte, who dedicates a chapter of the cloud book to magic (the included image is from it). A day after that, my kids saw another magician perform at the library, and a new generation of magicians was born.

    → 8:21 PM, Feb 2
  • Delicious coding

    Delicious Library Apparently I wasn’t the only person to purchase Delicious Library in the first week of release. They’ve had $250,000 in sales so far. For an app that no one really needs, this is pretty incredible.

    And no office space overhead. At O’Reilly’s Mac conference Wil Shipley emphasized a similar point, to cut costs down by selling directly to the customer instead of a boxed product in stores. See Niall Kennedy’s blog post for a link to the MP3.

    Wil also likes Cocoa Bindings. From an Apple interview about Cocoa Bindings, he said:

    “It makes it really easy for programmers to present data in a way that’s very clear and intuitive to the user. It makes every app look and feel like an iApp.”

    I haven’t bought into Bindings yet. I commented on Michael Tsai’s blog about it last month. The funny thing is, the little details in Delicious Library that are so impressive required some significant programming, and shaving a few dozen lines of code that handles sorting in a table view seems to pale in comparison. For example, look at the gradient in this screenshot, and how it works correctly for contiguous or non-contiguous rows. You don’t get that kind of stuff for free.

    → 8:44 PM, Jan 18
  • New year gaming

    Traci couldn’t find the GameCube games she was looking for (mostly Pikmin), so for Christmas she bought me a Game Boy Advance SP. This was a very unexpected surprise. I hadn’t really used a Game Boy since the original one I owned was stolen/lost a dozen years ago.

    To cut right to it, I returned my GameCube system to the store and am now the happy owner of a handful of GBA games, with more on the way (a new Zelda comes out next week).

    I’ve also played a fair amount of Halo (1) lately, and did a lot of game research over the holidays, trying to catch up on what the game market looks like today. It all put something in perspective for me: I like 2d games. The lure of Halo 2 and Grand Theft Auto is strong, but I won’t buy an Xbox or PS2 just to play those games.

    Advance Wars The GBA has a number of things going for it:

    • Portability. It's a lot easier to flip open the GBA and play for 10 minutes wherever I am than dedicate time to sit in front of the television.
    • Inexpensive games. I bought Advance Wars 2 (see image) for $10 at Best Buy, but $25-30 is common for most new titles.
    • RPGs. It turns out RPGs work well on a portable system, and the GBA has a few good ones.
    • Good-enough graphics. While there are first-person shooters and 3d racing games, the system is much better at pre-rendered sprites, multiple backgrounds for depth, and that sort of thing.
    • Battery. 10-15 hours or more on a charge.
    • Hacking. An active developer community, mostly hobbyists. I wrote a test “game” over the holidays.

    But, you ask, what about the Nintendo DS? Isn’t the GBA obsolete?

    I hope not. The DS is an innovative system, but it’s not a new Game Boy. It’s too expensive, too big, and too different. Nintendo wants to position the DS as a higher-end portable to go head-to-head with the Playstation Portable, but new GBA games will still be released over the next year or two. We are also seeing new GBA add-on gadgets, such as the wireless adapter and upcoming movie player. Some people speculate that a real Game Boy to replace the SP may come out in 2006.

    Joystiq has some good points about the DS and PSP:

    “The fact is, Nintendo just needed a product to head off Sony’s entry into the portable market. They knew Sony’s attack was inevitable and they planned well for it. They know that, as long as the DS competes with the PSP, the GBA can continue to be the money-maker it is. The high-end DS and PSP can disappear for all Nintendo cares. They’ll still have their little gem.”

    The Xbox and PS2 seem to dominate the press, so it surprised me that the GBA was the best-selling game system in North America in 2004, with good holiday sales despite the Nintendo DS introduction.

    Here’s what Retrogaming has to say:

    “However, now with the advent of the Nintendo DS, I’m a bit worried that nobody will continue making quality 2D games for the precious system for very long. Even Nintendo themselves have already put Advance Wars 3 out on the DS. I understand they want some good launch titles for the system to fend off the PSP, but I’m still worried.”

    The biggest risk to the GBA is that developers will focus their effort on DS-only games. But for now, I want to play some fun games again, and the GBA accomplishes that quite nicely.

    → 12:02 AM, Jan 6
  • The Incredibles DVD

    The Incredibles script Last week I received The Incredibles DVD screener in the mail through my membership in ASIFA-Hollywood, and Saturday a bound copy of the screenplay arrived. I’ll keep the screenplay on my shelf next to the rest of the Pixar books, but I ended up giving the DVD away as a present. I just thought of how excited I would be if someone gave one to me, even opened, and I’ve probably watched it enough already this week.

    Okay, I haven’t watched it enough. In fact I’ve only begun to study the film in detail. There’s some great acting in there and it helps to watch in slow-motion. As an animator, how cool would it be to hit pause in a movie theater, then rewind and flip through frames of a great scene? Having the DVD for something that just came out in the theater sort of feels like that.

    → 10:52 AM, Dec 13
  • The Incredibles

    The Incredibles I saw The Incredibles last night. I’m sure I had a big smile across my face from beginning to end. What a great film. If anything could get me to stop thinking about politics, this was it.

    There have been some interviews with Brad Bird and the other Pixar folks recently. The Luxo blog does a good job of linking to them.

    → 3:59 PM, Nov 6
  • After almost winning

    red state See that little blue county in the expanse of red in the image on the right? That’s where I live.

    Back in January, I said: “It’s about bringing more people into the process. But to do that right, we need a candidate who can speak passionately to the issues and inspire voters.” Kerry ran a good campaign, but I can’t help thinking that something was missing in both the man and the message.

    Kos is calling on Dean to replace McAuliffe as head of the DNC. It’s time for the Democratic party to get back on the offensive. The last two years have been about building the groundwork for future wins — the internet infrastructure, the radio, the organization. It’s not there yet but it will be in 2006. All that’s left is to pick quality opposition candidates and to absolutely stop letting Republican’s frame every issue on their own terms.

    One of the things that really bugs me is when Republican candidates run unopposed. This year, thanks to redistricting, our congressional district went from being all of Austin to a tiny strip of rural counties stretching from my neighborhood to Houston. The district was designed for a Republican win, and the Democratic party didn’t bother to challenge it until Lorenzo Sadun signed up as a write-in candidate.

    There was no chance to win as a write-in, but he received 12% of the vote! 11000 people took the time to spell his name correctly because they wanted to send a message. And in the Houston suburbs, Richard Morrison came within 10 points of beating Tom DeLay, the closest contest DeLay has ever faced.

    The truth is, we almost won. We almost unseated a war-time president who had 90% approval ratings after 9/11. We almost beat a party that used fear (terrorism and gay marriage) to get people into the voting booth.

    We almost won, and all the hard work of the last 18 months will pay off big in two short years.

    → 2:49 PM, Nov 5
  • Election day

    ivoted.gif The daylight savings time switch has helped me get up earlier, so I easily made it to my voting location by 7am this morning. There was already a line of people (perhaps 50) stretching outside. It was cold, from the front that came in yesterday, but it didn’t seem to bother anyone too much. No one gave up and left during the 45 minutes I was there.

    I’m optimistic.

    → 9:10 AM, Nov 2
  • Ghost in the Shell, Shark Tale, and a pumpkin

    Pumpkin Today is International Animation Day. My membership in ASIFA-Hollywood provides few perks since I live a couple states away from the Los Angeles area. They still send me announcements for LA screenings and lectures, though, as if to taunt me.

    A few weeks ago I saw Ghost in the Shell 2 and Shark Tale. I was expecting to be really impressed with Ghost in the Shell, but instead was somehow numbed by the visuals and confused by the story. I think it was a good film, but I’m not entirely sure. Certainly some of the scenes were excellent, but overall the story didn’t hold together for me. I had to work too hard to take it all in.

    I hadn’t planned on seeing Shark Tale until DVD, if then. Everything about this film looked bad, and I fully expected it to bomb. It ended up doing very well at the box office a few weeks in a row, and I found myself laughing at all the right points. I put it in the same category as Shrek; a fun film but not a great or lasting one.

    Have a happy halloween weekend.

    → 10:49 PM, Oct 28
  • Timing notes

    timing post-it I sometimes work on my animated film late at night, when the family is long asleep and I’ve worked enough in the day that I can’t stand the sight of a keyboard or mouse. Unfortunately in those times, I also can’t seem to draw anything worth saving, or muster the effort to start a new scene. Rather than stare at a stack of blank punched paper, I look at thumbnail drawings, think a little bit, and then come away with something like this image.

    It has been said many times before, that animation is all about timing. Look no further than Flash web cartoons. More than half are crudely drawn and so limited as to make the Flintstones look like full animation. But when they work, it’s because the creator had some knack for timing, and pulled some small acting miracle out of the spacing, replaying and tweaking it again and again on the Flash timeline.

    Traditional animators, by comparison, have it a little tougher. Some investment must be placed in the hand drawings before taking the stack of 50 or more sheets to pencil test under a video camera. So we scribble in the margins, plan it out, and hope for the best.

    → 11:52 PM, Aug 9
  • Backyard Fireworks

    The private park behind our house is owned by a local church, and they aren’t afraid to spend money on fireworks every year. Last week was probably the best show yet. We brought some chairs out to the sidewalk to get a good view over our trees. Our neighbors were doing hotdogs and marshmallows in their front yard and also provided sparklers. Fun times.

    I took some cheap video with my digital camera. Some frames from it are below. It was so close overhead that the paper remnants from the fireworks were falling in the street and in the yard.

     
     
     
    → 2:56 PM, Jul 13
  • California Adventure

    Yesterday I finally arrived back in Austin after 8 days in California. Last weekend started off with a trip to Los Angeles, where I met up with my old friend Justin and attended “2D Expo”, a conference sponsored by ASIFA-Hollywood for traditional animators. The conference was great, and I left feeling pretty energized. There is an opportunity right now for traditional animation to leave its Disney roots and break new ground. I met some great people and had fun talking about the industry and what comes next. Hope to be back to the LA area one of these days.

    On Sunday morning, Justin picked me up from Burbank and we drove north on highway 1, which hugs the coastline all the way to San Francisco. We stopped at a few random scenic points, a nice restaurant overlooking the water, and at Big Sur. A healthy couple mile walk through Chinatown and dinner at Fisherman’s Wharf rounded out the evening.

    Highway 1

    Monday through Friday was Apple’s World Wide Developer Conference. At work we sent 5 people, so we had pretty good coverage of all the interesting sessions. As usual the keynote was not to be missed. I’ve yet to see a Steve Jobs' demo that wasn’t effective. The first time I saw him was the Macworld Expo after he came back to Apple (but before he took over), and he even managed to make a NeXTSTEP demo look impressive. Contrary to what many people believed at the introduction to Mac OS X, Apple’s new OS is not just NeXT-based; it’s about a third NeXT, a third classic Mac OS, and a third something entirely new. That last third really shines in Tiger.

    → 10:24 PM, Jul 4
  • Kite Festival

    Kite The weather was perfect today for the Zilker Kite Festival. It’s really incredible to see hundreds of kites flying overhead as you walk around. Homemade kites, children’s kites, giant kites, colorful kites. Kites shaped like cats, boats, dragons, snakes.

    We arrived late in the afternoon, so we missed most of the contest portion of the event except for the “largest kite” category. If you ever thought flying a kite was easy, try one which requires more than one people holding the rope, with their heels dug into the ground just to keep from being lifted into the air.

    Happy flying!


    → 1:00 AM, Mar 8
  • Snow

    It snowed a week ago, and I’m just now getting the pictures off my camera. Real snow, the first I can remember here in at least 15 years. I was up Friday until 2am as the snow began to fall, so beautiful in the night. By the next afternoon most had already melted, but here’s a picture out our back yard that morning.

    Snow
    → 4:13 PM, Feb 24
  • Dean's comeback

    I have no idea what will happen in New Hampshire tomorrow. The media slammed Dean all last week, but it’s clear if you pay attention to the polls and the turnout for Dean’s events that the winds are shifting again. People are coming back to Dean. If he had another week I’d say he’d come away with the win in New Hampshire, and the momentum to have a strong showing in the next batch of states. With just one day left… who knows.

    I thought a lot about how I should deal with politics on this weblog. Many bloggers who I respect have chosen to keep their opinions to themselves. I was going to do the same, and the few political posts I’ve made to this blog over the last year I’ve kept non-partisan.

    But the last week I have been completely obsessed with the post-Iowa coverage, and I can’t see myself continuing to think and write about this election without being clear in who I support.

    Howard Dean is the real deal. The other candidates are above average, but Dean is the most honest, has great accomplishments to show as governor of Vermont, and is the strongest candidate to face Bush. When Dean speaks it really resonates with people, gives them hope for this county. Despite the loss in Iowa, his grassroots campaign is impressive, with average contributions less than $100, and hundreds of volunteers traveling from other states to help the campaign. I still believe that the way he can win in November is by exciting new voters and getting Democrats and Independents (and Republicans?) to turn out in record numbers.

    I subscribe to the other main candidates' weblogs as well. Dave Winer criticized the Dean weblog for not going far enough, but the other weblogs are much worse. They are updated infrequently and usually lack any personal touch. John Edwards doesn’t even provide summaries in his RSS feed. But the topper is this headline from Kerry’s weblog yesterday morning, where they misspell “bloggers”. Oops.

    Kerry's bloogers

    Sure, that’s a silly criticism. It was clearly just a typo, and actually the Kerry weblog has improved considerably over the last week. But it’s funny because it plays into an assumption that Dean is the only campaign that really gets the technology of this election. Which, from my experience, is true.

    Online activism will be huge this year. The power of MoveOn.org and the Dean Meetup is in providing a channel for ordinary Americans to effect an election instead of sitting at home grumbling that “there’s nothing I can do.” It’s about bringing more people into the process. But to do that right, we need a candidate who can speak passionately to the issues and inspire voters. That’s Dean.

    → 12:13 PM, Jan 26
  • Christmas lights

    House lights

    I’ve come to enjoy the yearly tradition of putting up Christmas lights: balancing on a wobbly ladder, hanging over the side of the roof, and searching for that elusive burned-out mini-bulb. This year we put our lights up in record time, before the sun set on the eve of December 1st. Ah, the holidays.

    (Not a great photo above. I was trying to capture the lights on the bird feeder.)

    → 11:54 AM, Dec 7
  • Me as an animator

    Most people who know me know that I’m a big fan of animation. There’s a great potential in animation to create stories and characters that move the audience in ways that are impossible in live-action. Many considered it the art form of the 20th century, but in the aftermath of Saturday morning cartoons and outsourcing to cheap labour in Asia, it is rare that audiences get a glimpse of what animation can do.

    In addition to being a fan, I’m also something of an animator by night, working on a short traditionally animated film. I’ve been working on it for about a year, a few hours a week, in the evenings when time permits. (Often, it hasn’t.)

    Lately I’ve found myself talking about this more frequently, so it seems the right time to expand the coverage of this weblog to include some of the things I’m working on. Mainly as a chronicle that I can come back and read later.

    Here’s a little sketch I made last night while doing thumbnails (a quick way to explore the key poses for a scene before animating). As I get further along with the film I will post some storyboards, production stills, and pencil tests.

    Wheee!
    → 5:05 PM, Oct 2
  • Fragments

    Enrico's cat

    I just received my copy of Fragments in the mail. It’s a great collection of sketches and paintings by Pixar story artists Ronnie Del Carmen and Enrico Casarosa. (Pixar, for those not paying attention, is the new Disney – where artists control the process, and good storytelling still means something.)

    There’s a shift occurring in the animation and comic world, a change that favors independent artists. Fragments is self-published. So are Michel Gagne’s popular books. The RustBoy book should be out by the end of the month, and all indications point to great sales that will help fund the film. Countless comic artists are publishing sketchbooks, or moving their comics online. The other piece of the puzzle is the technology: producing an independent short film at home has never been more possible, if you’re willing to put in the work to see it through to completion.

    Why does this matter? It enables artists to create what they want, if the audience is there. And it provides a personal touch that big companies can’t match, such as this little cat sketch from the Fragments mailing package.

    → 1:37 PM, Sep 12
  • Austin Sketch Group

    Ismael A new sketch group officially started up yesterday, led by local artist John Rubio. The first meeting was at Opal Divines. We passed around sketchbooks and discussed art, comics, animation, and how the digital world has effected independent artists. Some people brought laptops, some brought prints. Most everyone sketched.

    Looking Rick gave out copies of his comic book, Budget Strips; Justin had his Flash short films on his PowerBook; Ismael showed some framed prints inspired by doodles; and John and Jasun both had great sketchbooks. About a dozen people showed up, an incredible mix of talented artists. I’ve been trying to get in the habit of keeping a sketchbook and drawing more regularly, so it was a big inspiration.

    → 8:34 PM, Aug 18
  • What would Dumbledore do?

    I finished the fifth Harry Potter book last weekend. It was easily the best so far, and as usual a lot of fun to read.

    Snitch tattoo Here are two pictures from the bookstore party last month. I picked up my copy at midnight with hundreds of other fans. I half expected a lot of crazies to show up, but it was all normal folks. Just people of all ages exciting about reading. A few dressed up. One woman let me take a picture of her Golden Snitch tattoo.

    I guess I should go back to reading adult books now. Yawn.

    Bookstore party
    → 4:56 PM, Jul 16
  • Fireworks

    I meant to blog every day from WWDC, but the network was just too flaky, and all my free time was spent coding. I wrote up a few things and will post them over the next week.

    Starry Night I hoped to feel rested, but I was drained after the conference was over. Slept on the plane back, and a big nap the next day trying to adjust. The church that owns the land behind our house put on an incredible fireworks show Sunday night. It lasted a good 30 minutes, and rivaled any city-sponsored fireworks I’ve seen. It was even bigger than the same event two years ago. We had just moved into our new house the previous day, and we sat on the back deck with a drink, staring at the sky above our house. It was a great welcome to the neighborhood.

    → 9:47 AM, Jul 2
  • Al Hirschfeld

    genie A follow-up to yesterday’s post. Many people contribute to a film, and not all of them are given direct screen credit. Last month, legendary illustrator Al Hirschfeld passed away. His lines graced the pages of books, magazines, and newspapers including the New York Times, and proved an influence to many future artists. Disney’s Eric Goldberg brought Hirschfeld-esque lines to Aladdin’s Genie and the “Rhapsody in Blue” sequence of Fantasia 2000.

    Amid Amidi of Animation Blast writes:

    "In honor of Al Hirschfeld's passing last week, here's a reprint of the full-page ad that Disney took out in VARIETY. The ad features a drawing of the Genie from ALADDIN. Lead animator Eric Goldberg had used Hirschfeld's flowing calligraphic line style as inspiration for the character's design."

    Thank you Disney. Despite massive layoffs, horrible cheapquels, and a general disregard for their past culture, it’s nice to know that someone there still gets it.

    → 2:08 PM, Feb 19
  • Snow in Austin

    It snowed when I was about 5 years old and when I was maybe 10, so I assumed it would snow every 5 years. When you’re young, it’s easy to jump to conclusions and see patterns that don’t exist. Of course it hasn’t snowed since then.

    But after a few days of teasing weather reports forecasting snow and ice, I woke up at 4am and stepped out on the back deck to see snow covering the ground. I raised my hands and could feel it falling, lightly. For someone who has lived in central Texas their whole life, this is a big deal.

    It all melted within a few hours, but not before I made a miniature snowman with my kids.

    → 2:31 PM, Feb 8
  • Understanding Comics

    For Christmas I received a copy of Scott McCloud’s Understanding Comics. I was familiar with his work only from his web comics (the I Can’t Stop Thinking series is particularly good), but never read his books. Turns out, it’s excellent. Probably best enjoyed if you’ve read comics, but I think there’s some good stuff in there for everyone.

    6 Steps as an appleMcCloud’s “6 steps” (Idea/Purpose, Form, Idiom, Structure, Craft, and Surface) can be applied to many pursuits outside comics. To master the artform you need to progress through each of those steps, but often a comics fan decides he wants to “be a comic book artist.” He starts copying the surface qualities of the work (“look, I can draw Superman”), but rarely does he delve into it enough to go back to the other foundation steps: having a unique idea or purpose for the work, and understanding the form and structure of the medium enough to produce something great.

    Building software is not all that unlike creating a traditional work of art. (Odd that I’m including comics in “traditional” art, but there you go.) Crafting the user interface, thinking through the design, layering one piece on top of another. And above all, keeping in mind the problem being solved. It can be creative work, if you approach it that way.

    Maybe that is one of the reasons why Cocoa is so successful. By putting the emphasis on up-front user interface design while simplifying some of the coding with a mature object-oriented framework, it opens up application design and implementation to more people. In a sense, allowing people to jump directly to Scott McCloud’s step number 6 (“Surface”, in this case Aqua goodness), and then work their way backwards as they mature as software developers – if they choose to.

    What a difference two years made to Brent Simmons:

    Oct 2000: "So much of my work is UI work. The command line is a vacation."
    Oct 2002: "I love UI programming."

    Joel likes Tintin comics.

    → 8:16 PM, Jan 30
  • Parenthesis s

    It wasn’t long after I started programming that I developed a pet peeve with other programmers who don’t feel the user is worth the time to put an extra “if” statement into their code. Here’s an example: “There were 5 result(s) for your search.” Obviously it’s a trivial matter to check if there was indeed just 1 result or some other number of results, and leave the “s” off or not. The “(s)” annoys the hell out of me, and I think it is distracting for most users as well.

    Tonight I saw something that tops even that. The web folks over at Tripod Blogs display this bit of brilliance under a blog entry:

    no comments

    In other words, they took the time to put “no” instead of “0”, but left the “(s)” anyway.

    → 12:34 AM, Jan 30
  • Final Safari UI comments

    Safari puts the classic SSL “lock” icon in the window title bar. Here’s a screenshot:

    Safari lock icon

    Turns out this is easy to do in Jaguar with Carbon’s HIView system. Since the entire structure of the window (not just the content area) is a view, you can position items anywhere, including the title bar. Apple has published some example code showing how.

    Another nice UI feature in Safari is the enhanced drag preview when dragging links:

    Safari drag preview

    Matthew Thomas continues to update his thoughts on Safari’s interface and what the new browser means for Mozilla.

    John Gruber provides some even longer thoughts on Safari:

    "That's not to say that there isn't some utility in breaking the traditional one-window-per-web-page metaphor, but I don't think tabs are the optimal solution. My guess is that Safari's engineers have something much better in mind, and simply didn't have time to implement it yet."

    Okay, I’m done with the Safari-related blogging. Tomorrow: something different.

    → 8:56 AM, Jan 15
  • Apple&#039;s UI playground

    Steven Johnson for Slate, “Is the Computer Desktop an Antique?"

    "Now that Microsoft has largely caught up to the Mac in terms of basic file manipulation tools -- thanks to Windows XP's elegant user interface -- the iApps have become a key differentiator for Apple. They are also an implicit acknowledgement that the desktop metaphor has its limits. Apple is moving toward a Swiss-army-knife approach to user interfaces: You need different tools to keep track of different kinds of files."

    While Apple has moved to many small, focused apps to get the job done, they have also attempted to build a new suite of interface components so that each app is easy to use right out of the box.

    One such nifty widget they have invented is the rounded search box. Most of the iApps use it, and so does the Finder. It’s got a little “x” that clears the search text, and rounded edges so the search box is easy to find. (“Which of these text fields do I type to search? Oh yeah – the round one.")

    Splasm Software’s Checkbook is the first app I’ve seen to copy Apple’s search box. Unfortunately they didn’t get it quite right. (Psst: The “x” is supposed to be inside the box.)

    Checkbook search box
    → 9:16 AM, Dec 19
  • There and back again

    footprint

    Out all last week, vacationing around the Gulf coast. It was good to unplug for a week and forget about the email, the blogs, and the constant hum of a noisy FireWire drive. I think we went three whole days without hearing the word “sniper”.

    → 12:14 PM, Oct 28
  • After ignoring Mozilla for

    gesture After ignoring Mozilla for 6 months, I took the latest version out for a spin a few nights ago to try Pie Menus. Although Mouse Gestures worked okay for me, I couldn’t get Pie Menus to work (maybe it doesn’t work on the Mac?). I can’t decide whether I like Mouse Gestures yet. Back and forward can be useful, but the gesture displayed on the left (go to home page) is just silly.

    → 8:55 AM, Aug 28
  • Hey Apple, can we use

    Hey Apple, can we use those fancy colored checkboxes from iCal in our apps, too?

    iCal
    → 9:57 PM, Jul 22
  • Anyone care to guess what

    Anyone care to guess what the difference between the OK and Cancel buttons is?

    Confusing memory warning dialog
    → 10:39 AM, Mar 28
  • Every so often a web

    Every so often a web site will add something small that makes all the difference. Today the example of this for me was the Sample Code section of the Apple Developer site. A new popup menu allows quick viewing of source files before downloading the full archive. This change took minimal effort for Apple to implement, but it will save developers from having to download lots of small archives (cluttering up their desktop) just to find the piece of sample code they were looking for.

    Apple sample code screen shot
    → 5:38 PM, Mar 22
  • RSS
  • JSON Feed
  • Surprise me!