I've been meaning to change blogging platforms for quite a while, yet somehow that always fell off my to-do list. But now that I've joined Automattic, I've finally switched to WordPress.
You can find my new WordPress blog at NickBradbury.com. Importing years of TypePad posts turned out to be shockingly simple, so my new blog already has all the posts & comments that first appeared here.
Sometime soon I'll redirect this blog's RSS feed to my WordPress feed. If you follow my feed, you'll probably see duplicated posts in your RSS reader when that happens.
Monday will be my first day working at Automattic.
In the past I've worked on consumer software and enterprise software, but this will be my first time working on open source software. It'll also be the first time I've joined a company without my existing software coming with me. FeedDemon is going away soon, and I no longer work on either Glassboard or Social Sites. I'm starting fresh with Automattic, which is a very welcome change.
When I talked with Matt Mullenweg about Automattic, he mentioned being proud of the company he helped build. At the time I didn't know too much about the company, but the more I looked into Automattic the more I realized why it's something to be proud of - and why I wanted to work there.
They treat their employees the same way I try to treat the end users of my software. As a developer, I've tried to provide a great experience to those who use my software. As a company, Automattic tries to provide a great experience to those who work there. People stick with you when you provide a great experience.
They also, of course, make great software. I'm looking forward to a chance at helping them continue to do that.
PS: Yes, I recognize the irony of a TypePad blog post announcing that I'm joining the WordPress people :) I've been wanting to move to a different CMS for quite a while - this gives me even more incentive to finally do so.
Last week I joined Brent & Michael Simmons on their Identical Cousins podcast.
Since announcing the end of FeedDemon last week, I've been overwhelmed by the number of people who say they're sad to see it go. Many of these people have told me they want to keep using it.
So here's what I'm going to do: sometime before the demise of Google Reader, I'll release a new version of FeedDemon which no longer syncs with Google Reader. This version will be free, won't contain any ads, and will have all of the features of the Pro version. You can use it free of charge for as long as you like - but it will be the last version of FeedDemon.
It's been impossible to respond to the many tweets asking me about open-sourcing FeedDemon, or making it sync with another service. So I'd like to address those questions here.
First, open-sourcing FeedDemon sounds nice, but I don't see it working. I use a number of commercial third-party components which can't be open-sourced, and some of them are older versions that I've modified quite a bit. Perhaps more importantly, FeedDemon was developed in Delphi 7, which is very out of date. Delphi geeks will recall that version was released before the product supported Unicode, so all the Unicode support you see in FeedDemon was added by me (using owner draw, custom string routines, etc.). Long story short: it would be easier to write a new RSS reader than it would be to upgrade FeedDemon's code to the latest Delphi version (which would need to be done).
Second, switching to another sync service isn't practical. It's not as simple as just using a different set of endpoints for API calls, as some have suggested. No matter how close the new sync API is to Reader's, there will be differences that require a lot of attention. Reliably syncing RSS feeds is a ton of work, and as I mentioned in my previous post, I already have a full-time job as an Android developer and just wouldn't be able to devote extra time to switching sync platforms.
I don't take the end of FeedDemon lightly - after all, it has occupied a huge chunk of my life since I created it back in 2003. But I haven't been able to give it any attention for quite some time, and it has earned very little for the past few years. Really, it's time for me to let it go.
PS: As expected, the end of both Google Reader and FeedDemon have brought a fresh round of articles saying "RSS is dead," which is way off-base. Google Reader and FeedDemon represent the "old school" of RSS readers: they were designed for geeks and held little mass-market appeal as a result. There are plenty of popular "new school" feed readers with new approaches, and most of them don't even call themselves RSS readers or even mention that they rely on RSS (which is a good thing, since most customers don't care about the plumbing).
This is a hard post for me to write.
I've used FeedDemon every day since I created it back in 2003 - it's part of my daily workflow, the first thing I turn to after pouring myself a cup of coffee in the morning.
I've thoroughly enjoyed working on it and I'm grateful for all of the people who paid for it over the years despite free alternatives.
But it's time for FeedDemon to die.
If you're an avid FeedDemon user, you probably know that I've struggled to keep it updated. FeedDemon stopped "paying the bills" a while ago, so I took a full-time job elsewhere and haven't been able to give FeedDemon the attention it deserves.
Then today came the news that Google Reader is shutting down on July 1. FeedDemon relies on Google Reader for synchronization, and there's no decent alternative (and even if there were, it's doubtful I'd have time to integrate with it, at least not without trading time away from my family - which I won't do).
That was the nail in the coffin for me. I hate to say goodbye to FeedDemon after a decade of working on it, but it's time to say goodbye. When Google Reader shuts down on July 1, FeedDemon will also disappear.
If you're using FeedDemon without Google Reader synchronization, it will continue to work beyond July 1. You can keep using it to read your feeds for years to come. If you're synching FeedDemon with Google Reader, you can disable synching by selecting Tools > Options > Synchronization Options, then switching to the "Accounts" tab and removing your Google account.
I'm truly sad to see FeedDemon go - it's been so much fun working on it, using it, and engaging with other people that use it. For those of you that rely on FeedDemon, thank you for supporting it for so long, and my apologies for not being able to keep it going.
Aaron Swartz wrote about me when he was a teenager. As you can see, he was not a fan.
His insulting headline didn't really bother me - I had done tech support for several years by then, so I was used to far worse. But I did use it as an excuse to ignore him, and I regret that. He went on to do great things, and had I reached out to him back then, perhaps I could've learned from him. Who knows, perhaps he could've learned a bit from me despite our differences over software piracy.
Now that I'm catching up on his life and his accomplishments, I'm saddened, disappointed, and just plain pissed at what we've lost.
Stefan van As - the gifted developer who took over TopStyle after I stopped working on it - just announced the release of TopStyle 5.0, and wow is it good.
Take a look at some of what's new:
...and a ton of other oft-requested, much-appreciated additions. Stop by the TopStyle download page to give it a try or buy the upgrade (it's worth it).
Excellent work, Stefan - this is the TopStyle I never had time to create, and I'm thrilled to be using it.
When my Kindle Fire HD arrived, I was impressed - it's a slick tablet. But like many people, I was disappointed by the limited selection of apps. Some of my favorite Android apps don't work on the Kindle.
Luckily, Glassboard isn't one of them. Glassboard is now available in the Amazon App Store, and it looks great on the new Kindles. It takes advantage of the larger screen and hardware acceleration to provide a fast, fluid experience.
In this release, we've added our most requested feature: the ability to delete messages. If you want to delete something you posted, simply long-press it and choose "Delete message." You can also delete any message posted in a board you chair.
The way we've done deletes may seem unusual, so I'll explain our thinking behind it.
When we first built Glassboard, we decided against deletes because we felt "we need to own what we say." We wanted people to be more accountable when they post to Glassboard than when they post in some other places, so we intentionally didn't permit deleting messages.
That was a mistake, because it meant you couldn't delete something you posted to the wrong board, or get rid of something obnoxious someone said in one of your boards, or remove that photo of yourself in drag you uploaded when you meant to share a picture of your cat, etc.
So now you can delete, but we've done deletes in a way that still shows you posted something. Rather than remove a message entirely, we replace its text with "Message deleted by..." and get rid of any attachments. If you delete a message that has comments, the comments aren't deleted because those comments could have valuable information (but you can still delete comments you posted).
The way we've enabled people to delete any message posted in a board they chair reminds me of how a lot of newspaper sites handle comment threads. If someone posts a rude comment, the site's moderator can delete it and have it replaced with, "Comment deleted by the moderator." That way the actual comment is gone but there's still a record that so-and-so posted something offensive. You see that happen enough with the same person, and you learn to ignore stuff they post in the future.
PS: Glassboard 2.3 has a bunch of other changes, too. The Android app has been given a fresh coat of paint, and everything should feel even faster now.
I've relied on public betas of my software to uncover bugs and usability problems since the first version of HomeSite back in 1994.
Sure, you can find the obvious bugs with an in-house beta, but if you really want your software to be solid you have to get it into the hands of external testers. You just can't reproduce in-house the motley assortment of hardware and expectations that external testers have.
Getting new beta versions into the hands of testers was easy when I developed for Windows, but it became trickier when I switched to Android development.
I needed to make it drop-dead simple for Glassboard testers to install beta APKs. I couldn't give them a download link they'd have to cut-and-paste or send them APKs by email - that's a pain.
So I decided to enable testers to install beta APKs from within Glassboard itself.
One of Glassboard's lesser-known features is the ability to share files - not just photos, but PDFs, spreadsheets, MS Word documents, and other popular file types.
With a bit of tweaking, I made it possible to share APKs as well. That way I could enable testers to download beta APKs from within the app. Drop-dead simple.
If you want to see this in action, join "Android Testers" on Glassboard using the invitation code ckanq. I regularly post new builds of the APK there, sometimes weeks before they're available in Google Play. Right now, for example, there's a test build which has a ton of new features (including deletions, which has been our most requested feature so far).
If you used an earlier version of Glassboard on your new tablet, chances are you were disappointed by how photos didn't resize to fill the larger display. And if your eyes are like mine, you probably squinted to read anything. You may also have noticed that scrolling wasn't as smooth as it should be.
The latest version changes all that. Photos are now big and bold, text is much more readable, and scrolling is buttery smooth.
If you're one of the many folks who bought a Nexus 7 and are annoyed by how few apps take advantage of it, give the latest version of Glassboard a try. It's a much better experience than before.
Perhaps the question we hear the most about Glassboard is, "if it's free and you don't do ads, then how do you make money?"
For an overview of the goodies our premium version has to offer, head over to the Glassboard Blog. But I will give a shout-out to what has become my favorite premium feature: bookmarks.
At Sepia Labs, we use Glassboard to build Glassboard. Every feature, fix and improvement is discussed on Glassboard itself. Being able to bookmark messages and comments is a big help - bookmarks are my to-do list of things I need to act upon. I also bookmark photos I really like, as you can see in the screenshot below this post.
If you're a Glassboard customer and you want more out of it, I hope you'll sign up for Glassboard Premium. But even if you don't, be sure to get the latest version of the app because there are a lot of improvements for non-premium customers as well.
PS: We'll be adding some great new premium features over the next few months - there's much more to come!
Update: This build is now live on Google Play.
When I built the Android version of Glassboard, I decided not to do anything specific for Android 4. Based on Google's stats, it looked like it would be a very long time before enough people were running ICS for it to make sense spending any time supporting it.
So I decided we needed to support ICS in Glassboard as soon as possible. Now, in fact.
If you're running ICS and would like to test drive a Glassboard build that takes advantage of ICS features like the ActionBar and hardware acceleration, you can download the APK here. If all goes well, this build will be uploaded to Google Play in a few days.
If you run into any problems with it, I hope you'll let me know by posting in my "Android Testers" board (you can join using the invitation code
PS: This build still supports every version of Android from 2.2 upwards - it just takes advantage of ICS features when running on Android 4.
I recently sat down with Jack Lail, a reporter for the Knoxville News Sentinel who was once a HomeSite customer. We talked for a good 90 minutes about a number of topics, but the brunt of the conversation was about Glassboard and the importance of online privacy.
If you'd like to read the interview, you can find it here.