Brent, you owe me ;-)
Posted on February 9, 2004
Filed Under /dev/null/ | 112 views |
Pineapple is my software albatros. Originally created in REALbasic it got to a degree of complexity that made continuing development in REALbasic impractical (see this post for details). I decided to rewrite Pineapple in Objective-C to be able to implement the full set of functionality that I want but there’s one problem with that: I’ve written maybe 40 lines of Obj-C code in my life. No Pineapple until I surmount that learning curve.
For some reason in the past month I’ve now had two phone calls inquiring about purchasing licenses for Pineapple. Though there is a 0.3 version available I’m not comfortable selling that to people because I can’t commit to a release date for the next version. I don’t want to leave anyone hanging.
Instead I’ve turned them both onto NetNewswire, given it the accolades it richly deserves, and hopefully they’re both now happily using it as paying customers.
So if you’ve come here looking for an RSS newsreader for OS X, go get it. Just don’t forget to come back in…. a while….
Sometimes people ask me my I want to bother creating another RSS newsreader, why I’m not just happy with NNW? Short answer: I am, pretty much. I bought it and use it daily. It just doesn’t do what I really want an industrial-strength newsreader do, which is:
1. Database independence. NNW uses SQLite as it’s database engine which is sweet in its own right but locks the data away behind a seemingly impenetrable wall accessible only to NNW. The current dev version of Pineapple uses MySQL or PostgreSQL (user’s choice) and was going to also allow the user to use SQLite if they didn’t want to use one of the heavy-weight db’s (the reasons for Pineapple ultimately not having SQLite are another story though rest assured the Obj-C version certainly will).
2. Data independence. Because Pineapple uses MySQL and PostgreSQL the data is open and available to any other application that wants to access it. My vision of Pineapple was that it would be the data gatherer, responsible for fetching feeds and storing them, and providing a default, application-centric view into it. Ideally from that would spring other tools developed by those with different visions, providing different ways to operate on the data Pineapple collected. I like open information.
3. Research-centric. NNW is very “read me now, forget me later”-centric. It’s searching is rudimentary and it doesn’t store items you’ve already read for later searching or re-reading (or if it does, I’ve missed that bit). Pineapple stored all RSS items in the database for six months by default which meant that you could collect a massive back catalogue of already-read items to search through. Pineapple also supports full SQL querying of the database as well as an extensive keyword search feature which makes finding past and related items pretty easy.
Pineapple also allows you to flag items of interest thus preventing them from being deleted after six months. A lock of sorts.
4. Attachments. Pineapple supports attachments and attment download queueing. Subscribe to a feed that contains attachments and Pineapple would download them between the hours of the day you specified. A neat feature though attachments aren’t very widely adopted by the RSS community.
5. Notes. NNW now has this and I like to think the idea was cribbed from early Pineapple :-). Pineapple’s notepad worked pretty much as NNW’s does now, except that NNW has taken it further and implemented user annotation. The main difference is that Pineapple allows the user to have as many notepads as they want, with a user-defined title. The idea behind this was that as you researched a topic of interest you’d be able to create a notepad for it to store links to RSS items of interest.
6. Intelligence. The holy grail of RSS newsreaders. Ultimately all that work done in Pineapple was to come to one singular end: have Pineapple tell me what to check out. I want my RSS newsreader to provide heavy-weight content-centric viewing as well as the usual feed-centric viewing. I want to be able to take a number of feed items, group them, tell the app to watch for items that are similar to these, and have it alert me when it finds them. There’s still too much wading through choss in RSS, the process can stand to be made smarter. It should be made smarter. Think intelligent agents and you’re on the right track.
Those were the objectives behind Pineapple, and those still are. But for the time being it remains vapourware. Maybe by the time I get around to learning Obj-C and re-developing Pineapple some of these features will find their way into NNW? That would also make me happy.