The state of ProsePoint; The new ProsePoint Express

  • strict warning: Non-static method view::load() should not be called statically in /home/prosepoint.org/bzr/public_html/profiles/prosepoint/modules/views/views.module on line 879.
  • strict warning: Declaration of views_handler_argument::init() should be compatible with views_handler::init(&$view, $options) in /home/prosepoint.org/bzr/public_html/profiles/prosepoint/modules/views/handlers/views_handler_argument.inc on line 0.
  • strict warning: Declaration of views_handler_filter::options_validate() should be compatible with views_handler::options_validate($form, &$form_state) in /home/prosepoint.org/bzr/public_html/profiles/prosepoint/modules/views/handlers/views_handler_filter.inc on line 0.
  • strict warning: Declaration of views_handler_filter::options_submit() should be compatible with views_handler::options_submit($form, &$form_state) in /home/prosepoint.org/bzr/public_html/profiles/prosepoint/modules/views/handlers/views_handler_filter.inc on line 0.
  • strict warning: Declaration of views_handler_filter_node_status::operator_form() should be compatible with views_handler_filter::operator_form(&$form, &$form_state) in /home/prosepoint.org/bzr/public_html/profiles/prosepoint/modules/views/modules/node/views_handler_filter_node_status.inc on line 0.
  • strict warning: Non-static method view::load() should not be called statically in /home/prosepoint.org/bzr/public_html/profiles/prosepoint/modules/views/views.module on line 879.
  • strict warning: Declaration of views_handler_filter_boolean_operator::value_validate() should be compatible with views_handler_filter::value_validate($form, &$form_state) in /home/prosepoint.org/bzr/public_html/profiles/prosepoint/modules/views/handlers/views_handler_filter_boolean_operator.inc on line 0.
  • strict warning: Declaration of date_api_filter_handler::value_validate() should be compatible with views_handler_filter::value_validate($form, &$form_state) in /home/prosepoint.org/bzr/public_html/profiles/prosepoint/modules/date/includes/date_api_filter_handler.inc on line 0.
  • strict warning: Non-static method view::load() should not be called statically in /home/prosepoint.org/bzr/public_html/profiles/prosepoint/modules/views/views.module on line 879.
  • strict warning: Declaration of views_plugin_row::options_validate() should be compatible with views_plugin::options_validate(&$form, &$form_state) in /home/prosepoint.org/bzr/public_html/profiles/prosepoint/modules/views/plugins/views_plugin_row.inc on line 0.
  • strict warning: Declaration of views_plugin_row::options_submit() should be compatible with views_plugin::options_submit(&$form, &$form_state) in /home/prosepoint.org/bzr/public_html/profiles/prosepoint/modules/views/plugins/views_plugin_row.inc on line 0.

This is something I had initially planned to write a long time ago. However, with me being a recluse when writing posts (usually preferring to spend time in the depths of software rather than blogging), it just kept getting put off and postponed. Still, there are some things that need saying about ProsePoint (and have needed saying for the last 6-12 months now) and if you're reading this post, then I've finally got around to it. Better late than never, I guess.

ProsePoint has been in existence for over 24 months now (the first release was in August 2008) and it has been a very interesting and educating ride seeing it grow into a software package that powers many news websites around the world (Unfortunately, I don't have any reliable statistics on how many, nor do I think I should be disclosing such numbers anyway).

ProsePoint is not everything I wanted it to be

My original vision for ProsePoint was a one-stop software solution for publishing newspaper and magazine websites. Unfortunately, that vision isn't being achieved ... at least, not in its present form with the present trajectory.

It has become apparent that ProsePoint is not the finished product that I had initially intended it to be. The majority of sites (that I have observed) often make their own customisations or add their own Drupal modules for extra functionality. Instead of being used as-is (which was my original vision), ProsePoint is being used as a platform for further modification.

This was to be expected to some degree, as a large proportion of ProsePoint users are also Drupal users (or else the new ProsePoint users found out about Drupal) and the extensible nature of the software (and the wide array of available Drupal modules) encourages this. However, it has taken me by surprise.

My original plan was to identify the best and most suitable enhancements and then incorporate them into ProsePoint. Then, ProsePoint would slowly evolve into something that could be used as-is without further additions.

Except ... this turned out to be problematic and impractical.

The modifications that users make to ProsePoint were often site specific and unsuitable for generalisation. User A wants a feature that behaves in a certain way, and user B wants a similar feature that behaves in a different way (and then there is user C and D ...) and it is not possible to accommodate them all with a single implementation.

Paywalls are an example in point. Several parties have expressed interest in adding paywalls and premium content to their ProsePoint site, but each one that I've talked to has their own idea of how their paywall should behave and how their billing model operates. A single universal paywall implementation that could handle all this would be more effort than it's worth.

So ... the original plan of evolving ProsePoint into something that accommodates everyone out of the box isn't going to work. The users have spoken (through their actions), the market has spoken, and I am adjusting accordingly. The focus of ProsePoint will shift from trying to be everything to everyone to being a baseline that others can extend if they wish.

In a way, this shift has already occurred. I haven't added any major functionality to ProsePoint for many months now, and I'm just as happy keeping with the status quo for now (for various personal reasons as much as ProsePoint related ones). So there won't be any immediate change in how ProsePoint is being developed and released. There will still continue to be bug fixes, and the occasional minor enhancement, but no foreseeable major changes anytime soon.

Instead of being a complete product, ProsePoint has morphed to become a platform upon which extra functionality and customisation is often added.

And so ...

ProsePoint goes into maintenance

ProsePoint goes into maintenance mode. Since ProsePoint has been doing a good job for the last 12+ months, there's little need and motivation to change what has been working.

There is a feature freeze, and only security related updates will be released for the present series of ProsePoint versions. When Drupal 7 comes out and has stabilised, we will then consider how and when to move ProsePoint to it.

So what does this mean for existing ProsePoint users? Probably not much will change. There will still be releases from time to time, but no new features or major changes for the near to medium future. (Astute observers would realise that this has actually been the status quo for the last 6-12 months anyway.)

The ProsePoint Themes Marketplace closes

This spin-off project hasn't worked out. The themes haven't materialised, and I suspect the potential market is too small to make commercial ProsePoint themes economically viable (for now, anyway). So, unfortunately, the themes marketplace closes indefinitely.

Announcing the new ProsePoint Express

Whilst ProsePoint has been doing a good job of providing a platform for others to build upon, the flip side is that ProsePoint is too complex and yet not feature-complete enough for casual users. This is something that was not apparent to me in the early stages since early adopters were willing to teach themselves about Drupal. However, upon retrospection, I believe this to be true.

It is not uncommon for casual users to be confused and/or daunted by all the different parts of ProsePoint, especially the administration and configuration. Due to its Drupal heritage, ProsePoint is very flexible but this flexibility also means it is easy for new users to accidentally misconfigure the site. Or when there is an issue, it is difficult for them to know where the fault lies.

The net effect of this is that, I believe, ProsePoint is not easy enough to use and maintain for casual users. However, I'm doubtful this can be easily remedied given ProsePoint's foundations. To do so would require rewriting huge parts of Drupal underneath, and this is not something I have the stomach for. Not only would it be a very large development effort, but it would probably break every existing ProsePoint site out there. Not a good idea.

So, how then, to achieve the original vision of a news publishing solution which is suitable for the masses?

Well, I don't think it's going to happen with ProsePoint in its present form, yet taking ProsePoint apart and, in the process, destroying something which is already useful to many users worldwide isn't exactly a sensible idea.

Hence, I have decided on the following:

ProsePoint remains as is, but a new project will commence to take on the original vision: A one-stop solution for publishing newspapers and magazines online which is suitable and easy enough for casual users and the general public.

For now, we will be calling this ProsePoint Express (names may change at a later time). It will be a simpler, stripped-down version of ProsePoint, tailored to the casual users and easier to setup and use. Not quite as flexible as ProsePoint, but more tightly focused and targeted towards the needs of the masses.

Actually, we have something along these lines in the works already :)

ProsePoint Express looks like it will be a hosted solution for maximum convenience and ease-of-use to users (although we may also release the source code at some point in the future). A hosted solution provides for the following:

  • No need to install anything.
  • No need for users to perform upgrades.
  • No excessive configuration screens which may invite misconfiguration.
  • Immediate deployment with just a few clicks.

In other words, with ProsePoint Express, everything should just work. Furthermore, it is much easier for us to provide help to users since we can see what's happening ourselves rather than guess what someone else's server is doing.

We will also be applying what we have learnt during the development of ProsePoint and improve upon it for ProsePoint Express. Hence, even though ProsePoint Express may not have all the features of ProsePoint, its features (which will be adequate for the vast majority of users) will be progressive improvements upon those of ProsePoint.

Actually, I'm quite excited about ProsePoint Express because I can see it being very useful for a lot of people who wouldn't otherwise use ProsePoint. Anyway, that's enough for now as I don't want to preempt something which is still fluid in development. Let's just see how things pan out.

Thank you for reading.