It's been a while now since we released v9 gold. Pretty much since v9 came out we've been developing v10, but we haven't really said much about it yet. I'm not about to do a big PR thing, but I thought it would be good to give a quick update on things.
The gap between v10 and v9 will probably be the longest between any two ocPortal versions. There are 4 reasons for this…
- The gap between v8 and v9 was very small
- v9 broke theme compatibility with v8, so we do not want another wave of disruption too soon (although v10 disruption should still be a lot less than v9)
- v10 is technically challenging, so will take some time still
- v9 is a great release, there's no need to rush towards a v10
So, what is v10 going to be about?
Essentially we got ocPortal to a great point with v9, but there are a few areas where we've tweaked things out to the max to get it there, and further improvements need major architectural changes. We also want ocPortal releases to be meaningful, each providing substantial jumps forward in whatever areas users consider most important.
v9 seems to have been very successful in making people happy regarding ocPortal's default design and usability. We haven't had any big rants against us recently .
v10 is intended to provide big jumps in these areas:
- Configurability – hundreds of hidden options have been added to ocPortal over the years, and there have been new areas we've wanted to make configurable – therefore the entire config system has been redesigned to be able to hold a much higher number of options, be better extendable, be easier to manage, etc
- Content filtering – the ocPortal modules have been gutted to internally use blocks, which has allowed us to do all kinds of fancy things in terms of new filtering, infinite scrolling, better dynamic querying, and simplified themeing. A lot of changes here.
- Code quality and general consistency – ocPortal will soon be 10 years old, and the code-base has evolved a lot over the years. For example 'seedy' was renamed to 'cedi' and then to 'Wiki+', and we can't just rename the database tables etc without giving it considerable thought. This kind of thing leaves a trail of legacy mess. v10 will fix all the inconsistencies and generally make things easier to understand. This is really important given that we continue to add in new features; the larger the code-base, the more important it is to remove the need to know things that are trivial/superfluous.
- Performance – v9 performs very well, v10 will perform better, especially in terms of front end performance; there are performance improvements we can make happen via serious rearchitecting, deploying some pretty advanced techniques we have planned
- Enterprise management features – a lot has been done in terms of building a content framework that is suited for large business systems and processes, but also genuinely useful even to individuals – and, our WebDAV is insanely cool, and will get cooler over time. v10 lays a lot of groundwork. A lot of this stuff was publicly discussed in the alternative v8 version that never happened, but now it has happened.
- Documentation – I don't know how deep we will get into this, but I'd ideally like us to move to an entirely new platform for documentation that is more collaborative and welcome's people to contribute with revision control, both through the website, and through to git. As the project grows, the need to try and simplify and pull things together grows – it would be better for us not to have the community documentation and official tutorials as separate things. Additionally, documentation is something people don't like to do, and is generally time consuming – so any technology we can incorporate to make it convenient to dive straight into in situ (be that a code editor, or an edit link on the website) and automatically keep things in check, has to be good.
- Social networking – ocPortal was never originally intended to be a social networking tool, because the category did not exist when we started out! It was clear to us that content management and community features belonged together, and largely this was our early mission and what made us unique. In the mean-time the range of social features out there has really grown, with tools like Facebook. ocPortal's layout could definitely use some work to make it more consistent with people's wish for ocPortal to be as much a social dashboard as a publishing platform. I don't know how much will get done in v10, but certainly some things are being improved (e.g. display names are already implemented, privacy support for content is, and AJAX notifications is recently sponsored).
Finally, we may do some branding changes, and need to consider refreshing the ocPortal.com platform, which is currently running v8.
So, v10 will be a milestone release. It will simultaneously be perceived to move ocPortal forward in many areas, while actually functioning and appearing, very similar to v9. It sets up our platform for the next 10 years, while providing real improvement to subtle but important parts of the platform and ecosystem.
The fact that v9 is so good means people have been very patient and happy with v9, while we work on v10. I am always aware that people who sponsor features want to see those features in an official release and be officially maintained with/for patches, but I think everyone has been very understanding.
A huge amount of work is done on v10, and it's all our there on github. I could say we are 80% through, but that would not be so meaningful, because our timetables depend largely on our customers. v10 is under constant development in the sense that we are constantly working on projects that result in new functionality. In terms of what we consider the main strategic objectives of v10, these tend to happen in bursts so it is hard to schedule them. This is why we don't currently have a roadmap.
Ok, so I hope this was of interest to people . Some people might naively think not a lot is happening, but the nice thing about the tracker and github is you can see that actually loads is constantly happening; we just don't have the time to announce it .