Bloo v 0.13 released

Bloo v 0.13 has been released. Below is a summary of the new features:

  • I’ve implemented an RSS 2.0 feed (see the right sidebar). The feed has validated, but please let me know if it ever goes invalid in your reader. I basically wrote it from scratch.
  • Now the posts have a day header on them
  • I am now pinging to rpc.pingomatic.com, rather than to weblogs.com. Hopefully this will provide for a more reliable ping when this blog updates
  • Now when creating a post I can create a “Draft” that only I can see. This will come in handy for me as I’m a major re-writer/editor of my posts. They usually change about 7 times after I publish them to the blog – now you won’t have to “watch me for the changes” as my posts morph before your eyes.
  • There is now a Search “snapon” – see the right sidebar. It will search the posts for words or phrases, and will highlight the words or phrases in the posts that match
  • Beefed up my headers (stuff you can’t see that’s sent with the http request)
  • Small formatting changes

Deploying this took me longer than I had hoped it would tonight. Boy am I punchy, as you can see by this poorly worded and ungrammatical release notes screed . . . zzzzzzzz

Version 0.14 should be coming out in about a week, I suppose. More on that later.

Watch me for the changes . . .

Bloo v 0.12 released

Did a bit more work today. Bloo version 0.12 is now up – here are the main changes that you’ll see in this release:

  • Fixed a problem with the comment author URL display
  • Small formatting changes
  • Now you can select a category from the category drop-down in the right sidebar. In addition, the category tag at the end of each post is now a hyperlink for that category

More goodies coming out later this week (hopefully a better pinger and an RSS feed, among other things.)

Good night all.

*yawn*

Bloo v 0.11 released!

Out of the Bloo has just been upgraded to Bloo v 0.11. The following new features are included in this release:

  • Weblogs Pinging (I think – guess I’ll know for sure if posting this post pings Weblogs 🙂 Update: Doesn’t look like the ping took. Does anyone besides me find Weblogs ping service irritating? I’m going to start pinging a few more sites (technorati, blogrolling) to see if I have better luck there). Update II: Actually, the ping does “take” – it “takes” forever (ha ha) for weblogs to recognize it 🙂 – but it is happening. I’m going to switch over to rpc.pingomatic.com at Andy’s advice – should be ready in version 0.13
  • A “View Recent Commentary” link
  • Monthly Archives (in the right sidebar)
  • Display of the comment author URL when displaying comments
  • Improvements internally in the object structure
  • Comments flooding protection
  • Tag balancing
  • Some security improvements
  • Some formatting improvements

The development on Bloo still continues to “flow” quite nicely. I always know when I’ve hit the groove – attained “Nerdvana” you might say – when anything new I want to do to my basic software framework flows with that framework and is implemented as unobtrusively as possible. The monthly archives “SnapOn” for instance (in the right sidebar) – took me about 20 minutes. Very simple (and it works).

Bloo is not yet ready for public domain, but hopefully in a few more releases it will be.

Watch me for the changes . . .

Plans for Bloo v 0.11

I hope to release version 0.11 of Bloo in the next few days. Below are the features that will be added in this release, if I stick to plans:

  • Improvements internally in the object structure
  • Slight improvements in security and some beginnings of comment protection
  • Post archive links
  • A “View Recent Commentary” link
  • Some improvements in the overall formatting
  • Display of the comment author URL when displaying comments
  • Pinging of Weblogs (man! I need this – no one notices me now . . .)

It’s not a major release – really it just contains features I wanted to have ready when I first brought this humble little blog into the light, but that I didn’t get done in time.

Bloo v 0.11 – coming soon. Watch me for the changes . . .

Bloo v 0.1 Release Notes

v 0.1 – released 3/26/2005

I’m a bit behind in doing this, but my plan is to document each release of Bloo in the “Bloo Release Notes” category in this blog. This is for those of you with an “inner-geek”, so the rest of you can ignore this post 🙂

0.1 is the first release of Bloo. So we should start with some philosophical design-goals:

Bloo should be:

  • Object-oriented
  • Massively flexible when it comes to the front-end interface, database interface, etc
  • Fully separated, code-wise, between the front-end interface (web) and the back-end (currently MySql)
  • Built of components, called “SnapOns” and “Overlays”. In Bloo, everything you see is a SnapOn or an Overlay – more on that later
  • Secure from the start
  • Full of the prime features of mature blog software (posting, comments, trackback, rss, spam-control and many more).
  • Other things that I’m certainly forgetting at the moment (I’m a little tired 🙂

Bloo v 0.1 was a long time a-borning. As a developer I tend to look for the “Platonic Ideal” in software – surely there’s always a way to make it better! What you see here represents the third iteration of a basic PHP framework I’ve written for user interfaces (Phoo or “Php Object Oriented”) with an object-oriented blog (Bloo – or “Blog Objects”) on top. I believe I’ve finally got it, because programming the Bloo framework has just flowed. It’s a good feeling. I’ve been experimenting with various ideas for how to do this for about a year – in my spare time, of course. I think I’m finally there.

My reasons for wanting to take this project on?

Well – first off, there is some great software out there for Blogging (B2, WordPress, Moveable Type, pMachine, etc). The problem I’ve had with the software I’ve used is that it hasn’t been object oriented. It’s written as procedural code and the various elements (HTML, SQL, etc) are scattered hither and yon throughout the code. In short – very hard to maintain.

Now, I’m not running these packages down. In functionality they currently blow Bloo away, because what I have released in version 0.1 is just bare-bones functionality: basic (but good) security, ability to post, edit and delete posts, comment, edit and delete comments, etc.

But the beauty of Bloo – to me at least – is that it is built on an object oriented framework that really provides separation between the front and back end. For instance, everything you see before you is what I call an “Overlay” – an Overlay is a template with dynamic elements – this page is an overlay. The left and right sidebars are overlays. The post layout is built from an overlay. Comments – overlays. Everything. Overlays are contained in what I call “SnapOns” – these are little intelligent objects that know how to do something, such as load posts, display comments, edit comments, etc. Overlays themselves can contain SnapOns which can in turn contain more Overlays which . . . OK – I realize this sounds confusing. But in practice it’s been a joy – truly.

For instance – I originally wrote this on top of the B2 table structure. I access that structure through a set of SQL overlays (stored as commands in SnapOns). When I created the Bloo table format it took me – no lie – about 30 minutes to completely convert over the posts and comments to the new structure. I did it on a laptop on the bus ride home. And that included creating the new tables. It was, no pun intended, a snap. It helps that, as a philosophical decision, all overlays are stored in one place, rather than scattered. They are each referred to in the code by their name. Bloo has a Bloo-specific table structure but, without much trouble, new sets of overlays could be created to allow it to ride on top of pretty much any blog’s table structure. Somewhere down the road I am going to create overlay sets for WordPress and B2 at least – giving anyone who wants to the ability to switch to Bloo without having to migrate their data.

I am familiar with and have worked with the concept of the “plugin” – the difference between a plugin and a SnapOn is this: a plugin basically “plugs in” to something already built – in my experience they are not implemented in a standard way and they do not represent the ability to touch all functionality. In Bloo, everything’s a SnapOn. Picture a bunch of legos – you can build something cool out of legos, and it’s all legos. So if you know how to make a new lego you basically can snap it on anywhere. No need to look for those few special “sockets” to plug in to. Again, I’m not here to run down other blog packages – all of which are far more successful than this project will probably ever be. Just here to try something new.

I will give a lot more detail on how SnapOns and Overlays work in later posts. I also plan on taking this software public domain when I hit some major functionality milestones. I’m a few major releases away from that.

Thanks for listening to me babble. I am really enjoying the software these days and I guess my excitement shows through.