I guess I should spell this out explicitly: Don't integrate data model and UI. That's the most silly thing about the web nowadays: Every instance of the same kind of content comes with a different UI, but without an API, even though it is all computer-readable data in principle. That is completely braindead, as far as the possibilities of information technology go. Wherever there is a discussion offered, I should be able to add it to the discussion software of my choice, so that (a) I have all the discussions in one place and with a consistent UI, which then can reasonably be powerful, as it's reasonable to, say, learn key bindings, for your one discussion client, as opposed to learning keybindings for every web forum out there, and (b) if you don't like the UI I am using, you can use a different UI that you like, and still participate in the same discussion. And in any case, native software is just so much more responsive than any of this web stuff.