Category: Bongo (Page 7 of 9)

HTML as a mail format.

There’s nothing which divides hackers so much as HTML as a format for sending mail. However, a recent discussion on another mailing list makes me think that there is hope for it.

I should state up-front that I’m very much in favour of HTML as a mail format. I outlined a couple of the technical reasons why in my posting on the subject, but it can be summarised mainly to:

  • it’s the sanest way to work in web mail;
  • done right, HTML enables editors and viewers to do much smarter things.

For what it’s worth, I don’t think plain text is going away – in fact, there are many popular examples of it (witness SMS text messaging and, to some extent, instant messaging, Facebook wall posts, etc.). But it’s also not the be-all and end-all of communication: the richer presentation and semantic of well-structured HTML isn’t to be sniffed at.

Read More

Inspiration

For a while, I’ve been intending to put a list of inspirational articles on our wiki. Not really so much that I think everyone should read them – though I think they’re all worthwhile reading – more so that I can find them again when I think about them. Of course, the last time I actually remembered I wanted to do this and had some spare time, the wiki was down.

Read More

Introducing Project Bongo

It has been a little while in the making, and the construction signs are still up, but we’re almost there. After our community IRC meeting earlier this month, we decided that the uncertainty was a problem, and Bongo is the result.

I think this is working out well for a few reasons. We’ve seen more activity and participation this month than I think probably in the previous six or more beforehand. But also, we seem to have a strong idea of where we want to go.

Read More

Locking revisited

Sorry – another slightly technical post. This is yet again another visit to the subject of locking, which I briefly described the problems with a while ago, and then wrote some new code to help alleviate the problems.

One thing I didn’t explain at all, looking back at those posts, is the different reasons for locking. We can simplify this down to two major reasons:

  1. Internal database consistency. SQL databases are usually “ACID compliant“, and SQLite is no different. This means that every reader and writer gets a consistent view of the database; for example, if you’re writing data to the database, you can’t ever run a query which gets back partially-written data – you either see the data in its complete state, or you see nothing at all.
  2. External store consistency. A bit like internal views, we don’t want clients accessing the store to see “inconsistent” data – we don’t want one client to be writing a mail to a user’s Inbox, and have another client read the half-written data and think it has the whole mail.

Those problems seem very similar, and indeed, our previous issues are mostly to do with the fact that those problems were conflated: the SQLite locking was used to ensure external consistency in the store. That’s actually a really common – and often desirable – way of doing things. The way it works is you wrap all your SQL operations in an SQL transaction, and whether or not your operation (e.g., writing a file) succeeds stands or falls on whether or not the transaction succeeds. The database guarantees that when you use a transaction, you can make many alterations at once but no other database client gets an intermediate view of the partially-written data.

Read More

LugRadio Live 2007

Well, it was last weekend, but I meant to write about it before now. It was nice to have probably the biggest meet-up of Bongo Project contributors that has ever happened, and Project polo shirts are now in the hands of everyone. The weekend was mostly spent looking through the talk schedule (some of which was interesting, some of which was less so), wondering if Nat was going to say anything about Hula, and chatting about Bongo – we didn’t go to too many talks, but the Selenium one was probably worth the weekend alone.

Read More

More on LugRadio 2007

Actually Andrew, we didn’t do a BOF last year: I did a talk (which was sadly moved at the last minute, and didn’t get as many people as I hoped it would), and me and Seb P. had a chinwag, but we didn’t have a proper BOF.

So I’m thinking this year we should definitely do a BOF. Whether or not we apply for a talking slot, I don’t know – I think we have a lot more to talk about this year, particularly about community transition and perhaps release management 🙂 – but I don’t know to what extent it will be different to the other stuff they will have going on. I guess we could submit a paper and let them make that decision, though.

Read More

More work in the Store

Since my last techie post on locks was appreciated and since I’m still crook, here comes another one. Again, the focus on making Thunderbird work better with Bongo was the main aim – after my locking changes, I found that we ran into a whole new set of problems: mostly, that the IMAP agent wasn’t responding in a timely manner.

So, my next step was to address the progress reporting with a small new piece of code which sits in the various command loops inside the IMAP agent. Basically, as we spin around doing work, it checks to see when it last spoke to the IMAP agent, and if it was too long ago it responds again. I also found out that there was some code already in place which did similar, but it wasn’t working because the socket wasn’t being flushed: in non-techie terms, the responses were waiting on the server because the OS hadn’t sent the data to the client. So, in those cases, the data is now sent, and things are happier.

Read More

My personal vision for Bongo

I haven’t blogged about Bongo for ages, and this is something I’ve thought about writing a few times – but mostly didn’t for fear of taking attention off the more practical stuff, like getting rid of MDB.

But, it seems timely to get some of this stuff out of my brain. First, go and watch Inbox Zero: it’s an hour of your time, but it’s worth it, and I think it’s as seminal for Bongo as JWZ’s Bad Groupware essay was for Hula.

Read More

New logo work

Sebastian has been working hard on logos and templates and things – we don’t want Bongo to lose visual appeal. While others are working on code, Jonny, Dejan, Michel et. al. have been working on web content and it’s all beginning to come together.

You’ll have noticed the new theme being gradually worked in on the planet and the wiki, and the login page for Bongo has changed:

Michel is hoping to arrange something for the forum soon.

Read More

New query builder

So, the efforts of the past few weeks have started to bear fruit. Part of this has been checked into SVN, some will be checked in later today, but we’re definitely beginning to get there.

I thought it would be interesting to look at the problem from the point of view of what the code is doing now. If you recall, the basic problem is this: we want to run an SQL query against our data to return a list of documents, but we then want to be able to refine the data on a number of different criteria.

Read More

Page 7 of 9