Introducing FeedDemon 3.0

It’s been a long time coming, but the final release of FeedDemon 3.0 is finally here.  If you’re using FeedDemon 2.x or a pre-release of FeedDemon 3.0, simply install the final release on top of the previous version.  There’s no need to uninstall first.

As most of you know, the biggest change in the new version is Google Reader synchronization, which replaces the now-defunct NewsGator synchronization that existed in previous releases.  The first time you run FeedDemon 3.0, you’ll be asked whether to convert your NewsGator subscriptions to Google Reader.  The conversion may take a few minutes, but I think you’ll like how much faster synchronization with Google Reader is once the conversion completes.  If you tried an older pre-release of FeedDemon 3.0 and found sync to be slow, then you really should get the final release.  Sync is much faster now.

With Google Reader synchronization comes the addition of some handy new features, most notably tagging and really simple sharing.

FeedDemon 3.0’s tagging goes a step further than you’ve probably seen in similar features, because it suggests tags based on the article’s content and highlights tags you’ve used before if they seem appropriate for the article.  Here’s a screenshot which illustrates this feature in action:

FeedDemon 3.0 makes adding an article to your Google Reader shared items as simple as possible – a single click is all it takes.  Plus, you can drag-and-drop hyperlinks and browser tabs into your shared items, so you can share almost anything you find on the web.  You can also easily add a comment to your shared item.

In addition to Google Reader synchronization, FeedDemon 3.0 greatly improves the way Twitter feeds are handled.  Author names, hashtags and @replies are automatically hyperlinked, and mousing over a short URL shows you where it really goes.  You can also subscribe to password-protected Twitter feeds in FeedDemon, which is something you can’t do in web-based RSS readers.

But my favorite new feature has to be the faster, sleeker, more informative user-interface.  FeedDemon 3.0’s new subscription home shows an overview of your feeds, and highlights popular articles and YouTube videos in the feeds you’re subscribed to. 

And FeedDemon’s popular newspaper view has been simplified, so you can quickly see what you want to read without an overload of toolbuttons getting in the way.

One of the features in FeedDemon 3.0 I’ve seen highlighted in several blog posts (including this really well-done one by Amit Agarwal) is the ability to easily create keyword search feeds, which has actually existed for quite a while.  Just enter a keyword and choose a search engine (Bing, Google, Techmeme, Twitter, YouTube, etc.), and FeedDemon will subscribe you to a feed containing the latest search results for that keyword.

 

There’s a whole lot more I could talk about (such as FeedDemon 3.0’s new SQLite backend, which makes everything much faster than before), but I figure if you made it this far, you’ve heard enough :)  If you really want to know everything that’s new, check the release notes for a detailed list of changes.  Suffice to say, I consider FeedDemon 3.0 to be the most significant release since the very first version, and I hope you’re as pleased with it as I am.

ANN: FeedDemon 3.0.0.39 Pre-Release

Looks like I’m going for a personal record in the number of pre-releases before the final build, because FeedDemon 3.0.0.39 Pre-Release is now available.

If you’re using an earlier FeedDemon 3.0 pre-release, just stop by the FeedDemon Beta Site to get v3.0.0.39.  As always, if you run into any problems with this build, please let me know by posting in the FeedDemon 3.0 Beta Forum, and be sure to include the build number (3.0.0.39) in your subject line.

Thanks!

ANN: FeedDemon 3.0.0.32 Pre-Release

FeedDemon 3.0.0.32 Pre-Release is now available.


If you’re using an earlier FeedDemon 3.0 pre-release, just stop by the FeedDemon Beta Site to get v3.0.0.32.  As always, if you run into any problems with this build, please let me know by posting in the FeedDemon 3.0 Beta Forum, and be sure to include the build number (3.0.0.32) in your subject line.


BTW, if you haven’t used a recent build, you may be surprised to discover that you can now purchase a serial number to get rid of the ads.  For the record, we never planned to offer a paid ad-free version – we were blown away when so many people asked for one.  Because of the demand for a paid ad-free version, we’ve partnered with eSellerate to make it possible to purchase a serial number that will turn off the ads.  If you don’t mind the ads, no worries – FeedDemon will remain free (and we won’t make the ads more annoying later on, just to “force” you to pay).  But if you really hate the ads, there’s now a way to turn them off.

ANN: FeedDemon 3.0.0.27 Pre-Release

FeedDemon 3.0.0.27 is now available from the FeedDemon Beta Site, and you’ll definitely want to upgrade to it if you’re running an earlier pre-release.

For one thing, it offers completely redesigned synching with Google Reader which corrects many of the issues customers have been reporting in our support forums.  There are a number of other additions and improvements, too, including a new “quick tag” feature and support for WP.me in the short URL preview.

As mentioned in my previous post, NewsGator is shutting down their synchronization platform at the end of the month, so at startup FeedDemon now offers to convert you from NewsGator sync to Google Reader sync.  The conversion process may take a few minutes while it adds your subscriptions to Google Reader and syncs your pre-existing flags, but once it’s done FeedDemon will be synched with Google Reader.

As always, if you run into any problems with this build, please let me know by posting in the FeedDemon 3.0 Beta Forum, and be sure to include the build number (3.0.0.27) in your subject line.

BTW, there’s also a new FeedDemon 3.0 Frequently Asked Questions page – it’s pretty bare-bones at the moment, but I’ll update it over time as I get more feedback about the new version.

The End of NewsGator Sync: What it Means for FeedDemon Customers

Today NewsGator announced that their consumer synchronization platform will no longer be available as of August 31, 2009.  Rather than re-hash the announcement here, I invite you to read it on NewsGator's official company blog.  There's also an FAQ which addresses most of the questions about this announcement.

So how will this impact you if you're a FeedDemon customer who relies on NewsGator sync?  Honestly, this shouldn't have much impact on you.  FeedDemon 3.0 still offers syncrhonization – – but instead of synching with NewsGator, it syncs with Google Reader.

The first time you run FeedDemon 3.0, you'll be asked whether to convert your NewsGator subscriptions to Google Reader subscriptions.  Once the conversion completes, FeedDemon will sync with Google Reader instead of NewsGator.

If you're among the few customers who created synched clippings in FeedDemon, your clippings will no longer be synched after the conversion, and the RSS feed for your synched clippings will no longer update.  However, prior to the end of NewsGator sync, we'll provide a way to redirect your synched clippings feed so that anyone subscribed to it will be unaffected by the change.  Most of you will want to redirect to your Google Reader shared items feed (here's mine) since FeedDemon 3.0 includes the ability to copy articles to your Google Reader shared items.

What does this mean for the future of FeedDemon?  For the record I want to make it clear that FeedDemon's lifespan won't be cut short by this change.  FeedDemon (and NetNewsWire, for that matter) continues to have a very bright future.  I'm excited about being able to take full advantage of the power of Google Reader sync.

The Google Reader team has been making some interesting moves lately which enable me to take FeedDemon where I've long wanted it to go.  If you're a FeedDemon customer, I think you're going to love where FeedDemon will take you now that it's tied to Google Reader instead of NewsGator.

Why I Use Delphi

Every now and then someone will ask why I develop my software using Delphi.  After all, there are more "modern" languages for Windows like C#.  And besides, Delphi is going to die eventually, right?

Funny thing is, 15 years ago when I was developing HomeSite I was getting razzed by some geeks for using a development tool that they said would soon disappear.  And yet 15 years later I’m still going strong writing software in Delphi.

Here’s why:

  1. Speed.  Delphi isn’t an interpreted language – it compiles to machine code, making it exceptionally fast.  Delphi’s string handling is particularly fast, which is important when developing a string-heavy application (such as HomeSite, TopStyle or FeedDemon).
  2. No runtime. Languages such as C# and VB.NET require the .NET runtime, which is a separate 20MB+ download for customers that don’t already have it.  I don’t want to worry about whether potential customers have the .NET runtime installed, or have the correct version installed – I just want them to download my software and use it without any additional headaches.  The latest version of FeedDemon is a mere 3.4MB download (yes, download size still matters), and no additional download is required.
  3. Startup time. Related to the above, well-designed Delphi applications start quickly because they don’t have to wait for any runtime to load (assuming it’s not already loaded).  To me, this is a critical benefit.  Applications that take a long time to load have a low perceived performance, regardless of how fast they are once they’re loaded.
  4. It’s not created by Microsoft. Don’t take this as vague Microsoft bashing, because I like much of what Microsoft does (if I didn’t, I wouldn’t write software for Windows).  However, past experience with Microsoft development tools has taught me that they’re willing to sacrifice the needs of developers in order to push forward their agenda.  I like the fact that Delphi is created by a group of dedicated programmers whose single goal is to make it the best development tool possible.

I realize that many Windows developers are put off by the fact that ownership of Delphi has changed hands so many times, but I see that as a testament to how strong the Delphi community is.  By many accounts, the latest version of Delphi is the best yet, so if you’re writing software for Windows and are lucky enough to be able to choose your development tool, you should give Delphi serious consideration.

BTW, I’m far from the only one to develop a popular application with Delphi – for example, Skype, Ad-Aware and Macromedia Captivate were also developed with Delphi, and there are plenty of other well-known Delphi applications.

HomeSite Discontinued

This is an ex-product Last night I found out that HomeSite has been discontinued.

I was surprised to hear this, but not because I thought it was premature – truth is, I was surprised HomeSite hadn’t been discontinued a long time ago.  It’s been almost 15 years since I created HomeSite, and I stopped working on it in 1998 when I left Allaire Corporation.  Several other developers took over after I left, but to the best of my knowledge nobody has touched it for several years, so the fact that it was still being sold until now is a nice testament to how useful people found it.  Kudos to Macromedia and Adobe for keeping it around, despite the fact that it competed with some of their other products.

Sometimes in this blog I’ve made disparaging remarks about HomeSite, but that’s not because I disliked it.  It’s just that it’s hard to look at something you created so long ago without seeing all the mistakes that you’ve learned not to make since then.  I’m actually very proud of HomeSite, and very thankful that it enabled me to quit my job and work at home.  And, funny enough, HomeSite is also what paid for the home I’m living in now.

I’m also incredibly thankful to the great community that sprang up around HomeSite and helped make it so popular.  The Wikipedia page on HomeSite captures a bit of this history:

“Nick Bradbury and then Allaire had a policy of having an open support forum for those interested in its products, both current customers and prospects. The fans of HomeSite would contribute to the development of the product by making suggestions on-line and refining those suggestions amongst themselves. The Allaire developers would join in the discussion, participating and really incorporating user suggestions…Users responded to that respect and love for the tool by supporting each other and by creating and sharing a wide variety of HomeSite extensions.”

These days it’s common practice for programmers to actively involve customers in the creation of their software, but back in 1995 it wasn’t the norm.  I certainly wasn’t the first developer to take this approach, but I like to think I was one of the pioneers.  That more than anything is what I’m most proud of with HomeSite: in some small way, I hope I helped to break down the invisible wall between developers and users.  So much of our society’s future depends on technology that we absolutely must open the lines of communication between those building the tools and those using them.

Anyway, I hope you’ll forgive my patting myself on the back a bit here.  I’ve never had one of my creations go the way of the dodo, so I’m feeling a bit nostalgic at the moment, and I’m looking back and remembering the things (most of them accidental) that got me started down this path I’m on.

Update: I have to add that TopStyle 4.0 is an excellent replacement for HomeSite. It even has the tabbed HTML toolbars that were so popular with HomeSite customers.

If You Want to Write Useful Software, You Have to Do Tech Support

Before I fell into the world of shareware, I worked in the bowels of corporate America developing client-server applications.  And I hated it.


Perhaps the thing I hated the most was that I rarely talked with the people who ended up using my software.  I was given a list of requirements, told what was expected, and that was it.  I never found out whether my work met the needs of those using it, never got to ask them how I could improve it, never knew if my software was a blessing or a burden to them.


Apparently that was smart business, because the companies I worked for charged their clients an obscene amount for my work.  But it was a lousy way to write software.  The whole point of writing software is to create something useful – to create something that, even if in a small way, makes someone’s life better.  And how can you know whether you’re doing that if you don’t talk with the people who use your applications?


I broke out of corporate development by getting lucky with HomeSite, which I never expected to become as successful as it was.  Looking back, it’s clear that its success wasn’t because it was a “killer application,” but because I opened the floodgates and directly communicated with my customers.  By talking with customers I helped ensure that it met their needs, which is the best any developer can hope for.


It seems so obvious: if you want to develop software that’s useful to people, you’ve got to talk with them.  But too many developers take the anti-social approach and consider customer support to be beneath their status.  Besides, talking with customers would distract them from important code-slinging.


Look, I can understand that viewpoint, especially if you’re working on something that’s very popular.  You can’t create anything if you spend all your time doing support.  But avoiding support completely is a big mistake. 


If you’ve never supported your own software, spending just one day doing tech support will be an eye-opening – not to mention humbling – experience.  You’ll have to keep your ego in check, because most people who contact tech support do so because they’re having problems with your software, some of whom will use colorful language to describe the annoyances they’re running into.


But that’s the stuff you need to hear.  You need to hear it because you’re the one who can solve those annoyances.  You’re the one who can get rid of all the things that prevent your software from being that kick-ass program that people recommend to their friends and co-workers.


You also need to hear an unfiltered view of what people want your software to do for them.  If you rely solely on your tech support team to tell you the features that customers want, chances are you’ll develop those features without really knowing why people want them.


And that’s not meant as a criticism of your tech support team.  When NewsGator was still doing tech support for FeedDemon, they did an excellent job of answering people’s questions and forwarding feature requests to me.  But I would still follow-up with customers to figure out exactly why a feature was necessary, and quite often it turned out I didn’t really need to add a new feature, but instead needed to change how an existing one worked.  A lot of feature requests were the result of people being annoyed with how an existing feature worked, and they wanted some way to get around it.


If you really want to write useful software, stop spending all your time keeping up with technology.  Don’t worry if your resume isn’t filled with the latest buzzwords.  Instead, invest your time in talking with your customers. They don’t care what programming language you use – they only care whether your software meets their needs, and the best way to ensure that is by breaking out of your cone of silence and opening the lines of communication.

Dog Rescue

My daughter has wanted a puppy for as long as I can remember, but I always said "no way."  It’s not that I don’t like dogs; it’s just that we already have two of them (including the asshole), and I couldn’t imagine adding another one to the mix.

Well, last month, after years of playing the role of "evil Dad," I caved.  I finally said that she could have a dog – and there was an immediate rush to visit animal shelters before I changed my mind.

Visiting an animal shelter is always heartbreaking because you wish you could take every dog home with you, but none was more heartbreaking than the last one we visited.  This place was nothing short of inhumane.

Dogs left to sit in their own feces for days, cramped cages designed for one dog holding as many as three, an old, shaggy dog left outside in the heat without shade, etc.  I could say more, but I need to skip the rest of the details because we’re working to get the place cleaned up, and I don’t want to say anything here that could interfere with that process.

On each visit to this hellhole, my wife and I were drawn to a white German Shepherd/Husky mix who shared a dirty cage with her nine-week old female puppy.  These two beautiful dogs were in sharp contrast to the conditions they lived in.  It’s hard to explain, but if you’re a dog lover, then you know what I mean when I say that a dog’s eyes tell you so much about them.  The mother’s eyes radiated intelligence, warmth and courage.

So we decided to get them out of there.

Two days later they were in the back of my car taking a ride into the good life.  After a brief stay at the vet, they came home and were introduced to the two dogs we already own (who we hope have since forgiven us).  And it turns out our initial impression was correct – the mother is a wonderful dog, impressively smart and well-behaved, and also incredibly strong despite being underfed.  She loves to take long walks, runs faster than I can believe, and is a sucker for a double-handed backrub.

Her puppy, of course, has the energy of a cheerleader on crack.  One minute she’s fast asleep; the next, she’s pouncing on her mother’s head just for the fun of it.  The only thing on this planet that has more energy than her is my daughter, who bonded with her immediately.

I had completely forgotten how much work a puppy is, though.  It’s like having a new-born baby: it keeps you awake at all hours of the night, and you just can’t believe something so small could poop so much.  Like babies, if puppies weren’t so cute, then I’m pretty sure that out of sleep-deprived desperation we’d find some way to flush them.  But then they grow up a bit, you get some sleep, and realize they were worth the effort.

PS: We named the mother "Bella," and the puppy was named "Ripley" by our daughter.