Jump to content

End-User Usability


Recommended Posts

The big rule for processwire is really simple.

ProcessWire, as it is, allows anyone like you to go and develop any functionality you wish - including a templating system. The Blog Module is a lovely example of this.

However, these are applications using processwire and should not be part of processwire itself for several reasons:

Firstly, it weakens the brand by being too many things all at once - ProcessWire is a Content Management Framework, first and foremost, and that is it's strength. Burying that powerful brand value behind a wall of plug and play would be bad marketing.

Secondly, everything you suggest takes a vast amount of maintenance. Who maintains all that? The ProcessWire developers, the true, full time ones, certainly don't have the time. :) (Do you, Ryan)

And when it comes to a templating system there is a really good reason why ProcessWire doesn't have one - it doesn't need one.

It already comes with the best templating system on the planet - html + php.

What else do you need?

My list of child pages in ProcessWire:

foreach($page->children as $child){
	echo $child->title;

That is not complicated even for a complete non-coder. I don't understand this need to add yet another layer of complexity on top.

Templates require everyone to use the same field names or to pre format html markup at some earlier level so you can do things like render out the entire contents of a page without worrying what fields are in there.

But that suddenly becomes web design with your hands tied behind your back.

The entire reason why the vast majority of people are here using processwire is because they left systems like WordPress that restricted their design needs or over complicated them.

There is nothing wrong with creating a system like Wordpress or Joomla based on ProcessWire. But it should be a separate project, separately maintained and not done in anyway that undermines the original product. 

Here is a good example of what I mean by that. I still have a couple of WordPress and Joomla sites that are yet to be migrated and last night I received a security alert about Bullet Proof security that has had to be patched because it was riddled with security holes. That plugin has been downloaded over a million times, but though it is independent of WordPress, for me it signalled yet another reason why I will no longer use Wordpress - the faults of that plugin, though corrected, have undermined the good name of wordpress.

Wordpress is so huge that it can survive that. Could a relatively tiny project like ProcessWire survive the reputation hit in the same way?

So, the bottom line is that ProcessWire development has been governed by fulfilling the needs of developers who require the huge flexibility not offered by systems layered with templating systems and presentation plugins and also by keeping its scope manageable by the development "team" so that it remains fast, secure and solid. (by the way, half the reason it is so fast is that it does not have all that extra presentational layers)

As I said, there is nothing wrong with modules that add functionality, but they need to be add ons and NOT redefine ProcessWire itself.

  • Like 3
Link to comment
Share on other sites

@joss I agree with most of what you wrote in this last post and it is always a joy to read your posts even if I disagree with certain points at times as these issues are not always so black and white.

Also I do think that it is actually quite possible that Processwire will be one of the last remaining developer cms out there once wix and weebly and such sites take over the net as far as small to medium websites go (I have lost 6 clients over the last 2 months to wix and weebly). From what I see sites like weebly and wix are already starting to eat into the wordpress market. It is quite possible Wordpress will be left behind one day. teppo related something on similar grounds earlier in this topic.

So for sure Processwire should not become a web builder but is there no middle ground or grey area whereby some sort of theme structure could be made via a module that would allow themes to be created on a basic level that could also be extended by the developer after to utilise the api and everything else that Processwire has to offer. Could this basic theme template not then be used as a pattern or structure to which designers can create themes within a common basic structure that can be used by other developers, designers or non designer/developers to create websites within Processwire? Of course this would not take away from the already available Processwire profiles which can be used for their specific purposes and demonstration.

Link to comment
Share on other sites

Hi Dazzyweb

As I said, there is no problem with creating functionality as modules or even profiles built on the wire base - as long as they are properly done, secure and reliable. 

But I do think something that creates quite so much plug-n-play functionality needs to be a completely separate project. Something like that will take a huge amount of maintenance and support and ProcessWire is not set up to handle that.

I was part of the Liferay bug squad at one point (just looking at the usability of it). There was a pile of us trying (and succeeding) in breaking beta versions and the Liferay team only just managed to keep up with us - and they have a decent sized, fully employed developer staff.

What I think is wrong with these conversations that keep coming up is that rather than someone proposing a module that does what they want and either building it or getting people around them to build it, they leap in and demand that the ProcessWire developers should drop what they are doing and change ProcessWire to suit their needs.

There is a big difference between threads that start "Why doesn't PW do this?" and threads that start, "I am developing a new module for PW...."

The whole point of ProcessWire is that a developer can add their own functionality and do not have to wait for Ryan to do it for them. There are loads of modules out there that devs have created for particular work projects, but don't get released to anyone else because they are client-specific.

And for those of us who do not have that skill, well I just do things the long way round.... :)

  • Like 4
Link to comment
Share on other sites

What I think is wrong with these conversations that keep coming up is that rather than someone proposing a module that does what they want and either building it or getting people around them to build it, they leap in and demand that the ProcessWire developers should drop what they are doing and change ProcessWire to suit their needs.


The part in Bold is assuming things which are absolutly NOT true!

It is sad Joss, that you interpret things constantly in the wrong way. There have been now several threads about the same problematic and it is always the same people who try to block a development into a more EndUser Friedly direction, or a development of a more module APPS which bring in ready and easy to use solutions.

No one hinders you to use Processwire still the way you were using it all the time. Build everything from scratch. But I see a huge community in here at Processwire with very clever people in it like Nico, Apeisa, Kongodo, .... who like to get things done. The easy and clever way! Read the comments to their modules! WOW they are really great and this is also what it should be. A great piece of a software application.

The whole point of ProcessWire is that a developer can add their own functionality and do not have to wait for Ryan to do it for them.

Who has said that Joss? I am sure nobody! In a well functionig Open Source community their you will have always people who can code, others who can design, another who can integrate like you, and again others who are great in writing tutorials or as trainers or editors etc. Many different Talents can come together and bring in their ideas and finally probably there will be a or more develper who does the programming, someone who does the design and again others who start writing tutorials etc. All together contribute and share their talents with others! Inspire to share!

In all those discussions NO ONE!!! really no one said that the core needs to be touched to achieve that but you always assume it with your posts. Why? When you bring up that discussion to exactly that point you are actually trying to kill it, this is very sad! Why don't you let people discuss those things without those destructive comments!

De facto you are right in one point. We need to discuss this in seperate threads as all those threads actually about usability have been turned over by those blocking comments towards a philosophy discussion. The same happened here! - > Reason: Those Threads and even the one I started here gave you actually the chance to put in your "They touch the core" fear discussion.

You really need to be much more open for new statements and ideas. Take i.e. TYPO3 as an example of a Content manegenenbt Framework which started pretty much the same way like Processwire. There was ONE single developer who had put all his ideas into that system and than he published it as Open Source Software. "God has given me talents to share the stuff what I produce with all this talents with others who don not have such talents. Inspire to share - or Joh3.16 - Check out the Bible!

This Inspire to share idea was so manifested that even the default install tool password was joh316!!!
I started with that community in 2002 and grew with it. Some grew even faster and some of those actually tried to fly high and tried that TYPO3 stays according to their specific needs which ended in a disaster! as many many people left!

To summarize what has been said so far in all those Threads:


NO PROCESSWIRE CORE WILL BE ENRICHED WITH A BUILD IN WEBSITE BUILDER OR ANY OTHER BALLAST!! Please simply except this finally and don't try to lead the discussions about userfriendliness always again towards this discussion that the processwire core gets blown up and that it is not maintainable and getting to complex etc. This is - sorry I have really to say this - it is bullshit if you rad through all those arguments the people alone since June 2014 brought in about a discussion about a more EnD User Friendly system

Please except that the Processwire core won't be touched at all! stop trying to create that fear!

But there was always the fear that actually the processwire gets touched to HINDER such a development, for whatever reason. Similar to what happened with TemplaVoila at TYPO3! With every update of the core TemplaVoila got problems because the core devs changed stuff so that everyine who had a TemplaVola site got problems, and even only little ones. I hope that stupid game won't happen if the website builder gets to much attention by the public and Processwire Packages with the Blog, the gallery the SEO, the comments Module and the Website Builder Module with which people can drag and rop their blocks and designs together, when this is getting very popular. I hope that the core will still make these things possible and does not try to stop developments into that direction. Actually Processwire is predestined for a website builder due to the fact that it already is using that great API . If it will be a free Module or a Module like Ryans Pro Modules we will see and is also depending on the support and funds we will receive and will be able to create from i.e. our customers. A demand is already there!

There is absolutly NO NEED to split things concerning the core development as long as the core stays as is and comforts and does not block both mainstreams.

To make it easier it would be nice if the one who is maintaining the Forum could build up a section for WEB-Applications (Websites etc) and another for (All other kind of Apps which are not at all webrelated but can be buidl with processwire)

In the WEB-Application section I woudl like to see a subsection about USABILITY

  • here we can discuss about building up some standards, nameing conventions which will make things much easier to share things later on.
  • here we will have a Thread about THEMES - probably there are already some out which we coudl use to start with, beside those of the main installations which actually already use all some standards and conventions.
  • After that section has been setup I will also open up a separate Thread about the website builder module. Yes Joss we will look deeper into it and we will try to motivate others to contribute to that ideas. I am pretty sure that with good teamwork also a good result will be there at the end. This section about the website builder Module will be about the module and its functionality and NOT about if it shoudl be build or not! or why the hell it would be not good to build it etc. If you want to discuss things in that direction than use please another thread.

Here are some of the other Thread where the USABILITY got discussed in a pretty much similar direction - with always same results actually.



NorbertH had originally listed a pretty good list:

  • Basic pages whith more than body and titl. At least they need title, browser title, meta description, publish date controll, a main image, image uploadfield for images in the MCE editor, short text, long text(Tiny MCE), tags, optinally a small gallery for additional images(whith lightbox), an easy option for comments.
  • A basic Blog/News system as news and blog can easily be used interchangeably.
  • Image cropping on default image fields.
  • Premade RSS feed.
  • Premade sitemap.
  • Premade search.
  • A basic form module
  • An Image gallery with mass upload, description,title,  title tag, alt tag, fancybox option.
  • A Template system for easy template change and an option for modules to link in
  • Module installers that are able to deinstall a module completely.(for example the blog module does not)
  • Site settings and maybe Template settings
  • Simply install and go.

Most of it is already there but some of it only needs to be put into the right and nicer looking and into a more ergonomical workflow order.
I hope Kongodos Gallry Module makes progress as it would be a great enhancment to that prebuild profile with ready to use and preconfigured modules.
The Part which needs improvement is actually mostly only the templating stuff because we need to think about some basic standards and naming conventions and thats it. Using Bootstrap 3 with Less (AIOM) Module combined with the SEO Module and a usable Frontend User Management System and the complete Templating Part could already start to make all kind of templates and has as background the same system constellation.

If that constellation does not fit the specific needs that there will be a way always to enhance or to reduce functionality.

Blog/News - Commenting System with optional Rating
Polling (optional)
Gallery Module to manage all images, even better if that could integrate with cloudspaces like dropbox, flickr, picasa, etc ...

Basic Forum
Contact Form
Shop (Cart)
Frontend User Management
Booking Module (Formbuilder ;-))
Caching (ProCache)
All this is actually already existing and a great base for most of all websites basic needs. Let' start with thatand try to normalize and standardize some Templates so that they are interchangable and in parallel integrate a website builder and of course inline editing in front and backend!

Don't discuss thatnow here but keep yor ideas for the new Thread. I hope someone will be able to start new sections!
Thanks and have a nice weekend!

And Joss - just saw your newly answers - for sure there will be enough support to handle it when more people demand Processwire. TYPO3 has meanwhile a security team and many other teams, a great community, lots of people who contribute and are willing to do jobs like that - security testing, writing tutorials etc - the more people will demand processwire the more people will also be available to maintain core and especially modules. And probably even Ryan is not sad to get some more Jobs! of course all others too.

  • Like 1
Link to comment
Share on other sites

Andy, you're pretty energetic. What if you start to mockup the things you want. Just describe every template and every field and every relationship and how it should be presented. After that build the whole site with static HTML. If done all steps, you've a fundament from where development can start.

  • Like 2
Link to comment
Share on other sites

The fundament is already there It is circleFlip! :-)

IMHO it is a very good starting point without the need to reinvent wheels and waste thoughts on things which already work the right and the best way in there and it is a working examples but with all those limitations of wordpress which won't exist in Processwire ;-). This theme has actually everything what is needed - even a cart and it has all parts as modules already existing in Processwire beside the website builder and BLOCKS - ok there is a proof of concept module in Processwire.

The base of circleFip is simply fantastic! Bootstrap, Mobile first approach, Webnsite Builder, lots of already existing variations, even a One page Template.


Link to comment
Share on other sites

@lisandi I wish I could give a like to some parts of your post and a dislike to other parts.

I do like your enthusiasm and energy and honesty. You are not scared to share your opinions even if others don't agree and that can be a good thing even if it rocks the boat a bit. Hell I have done that a few times.

I know that some of the answers here might seem a bit stick in the mud . I get it, really. I feel the same frustration sometimes but best to keep your posts civil. Everyone has their own ways of expression and perception and idea of where they would like Processwire to go.

The guys and girls in this community are some of the best you will find. We need to respect what Joss and the others have already given to bring Processwire to where it is now.

I would say that the best way to express what you want is to get building then show us.

  • Like 4
Link to comment
Share on other sites

Lisandi, i think you are mixing things up...

A end-user in my opinion is someone who logs in the backend, changes text, images, data, inserts pages, moves them and deletes them. He doesn't have to care which modules are making his pretty website, he's just filling in the forms with his data. Maybe he updates modules or the core, but won't install any modules himself.

A website-developer cares about how the data is brought together to form a decent website. He decides which modules he is integrating or he has to tailor for the specific needs for his client. 

Sometimes these two fall together (nearly everyone can install WordPress) and i think this is the point you are trying argue about. For end-users, who like to dive more into the systems, the steep in Processwire is still higher than for Drumlapress.  If more such people are attracted to Processwire, the community will grow and also more people will actually develop modules for this system.

The problem with the apps you mentioned is that maintaining, debugging, updating und error-checking is very time-consuming and most people don't make many with modules, but with the websites they build. If a core-update is breaking a module it is most likely not the fault of the developer of the module, but for changes in the API or the way ProcessWire does certain things. And before building big monolithic apps we should focus on building smart parts of software, which can than be glued together and expanded on the client/end-user wishes. Take a forum for example, there is the discussion module from apeisa which mimicks the essence of  a forum, but is not such a beast like phpBB oder IP.Board, the same goes for e-commerce, blog, ...

Sure, it would be great to have e.g. a working prebuilt e-commerce just after installing. Many man-years of developing stand behind such applications like Magento. I don't see the infrastructure for this at the moment for ProcessWire. Behind TYPO3 or Drupal for example stand firms which employ core developers, so they can concentrate on this and not on making money with actually building websites.

For really end-user usability i would now go for different profiles, that are choosable at install. See my earlier post from me on this (also a great discussion about usability!)

  • Like 1
Link to comment
Share on other sites

The example you shown is the static part. Now you need to describe every template and every field and every relationship you see then reverse engineer it back to that a developer could actually build this. Thats on server & clientside.

(BTW what I see there is a big opportunity that the end user can make a big mess:-))

Edited by Martijn Geerts
I just asked God if he would be friends with me.
Link to comment
Share on other sites

lisandi: would you mind opening a new thread somewhere, probably in the modules area, about this particular website builder tool you've mentioned a few times.. and/or any other specific ideas you've got? It seems that you've got ideas about specific tools you'd like to see integrated (or built) with ProcessWire, and by no means do we want to stand in your way, but I'm afraid that current thread is simply way too broad and way too long-winded to result in any real, solid, or useful outcome.

As someone who should know a little bit about how this community works, I'd suggest that you try to keep those threads to the point; don't wander into philosophical stuff, just explain what you're planning to do and what you're expecting (hoping) from others. It looks like you've got a very interesting project (or couple of them, perhaps) in your mind, and you'll probably find a few like-minded folks around here if you just focus on one thing at a time  :)

By the way, earlier when I said that I can't showcase our non-public client projects, I really meant that. Our clients trust us to keep their private matters private, and we would never do anything that has even the slightest chance of compromising that trust. In fact, generally speaking we always ask for a permission before showcasing any client work, public or not.

I hope you understand this, but even if you don't, that's how it goes. Just wanted to make this clear :)

  • Like 3
Link to comment
Share on other sites

Guys hope you don't mind but this thread is entirely too bizarre, so I'm closing it. There's some good stuff here too, so not going to delete it, but please continue your conversation in a new thread if you want to– just no more name calling, PW death threats or summoning gods. Or if you must, then keep that stuff in the Pub. The general support is not the place for this.


Edit: just moved this to Pub. 

Edited by Pete
This was written before certain posts were removed due to a complaint.
  • Like 5
Link to comment
Share on other sites

Well, yes you can if you want to! Actually it would be very good to have some case studie about that visible. You don't need to name the customer nor would you need to show a 1 to 1 copy.

Have you not heard of a contract or an NDA before?

I explained what I'd done and furthermore posted that you are only limited by your imagination. The latter means no examples are really necessary - you can do what you like in ProcessWire - if you can imagine it you can build it. I cannot show you what I have done on that intranet and nor am I going to spend many unpaid hours anonymising it to show you mocked-up data that doesn't mean much out of context in some of those areas - you will have to take my word for it that I built those things :)

As much as I would love to share a video, I cannot and I suspect there are plenty of others here in the same boat who have a lot of paid work on and can only share what they are allowed to when time permits.

Take our word for it though - you can build what you like. More examples will come with time, but I don't think a shortage of examples is preventing people from using the system - it's more likely a shortage of free time. What little I see of other systems suggests a younger userbase where they have more time, though I may be wrong - anyway, our productivity will only increase as the community grows.

Also, please don't swear and expect any sort of civil replies - I think you're getting confused about what people are talking about with maintainablility. To my mind, the huge cohesive modular system you are talking about doesn't touch the core - you're right there - but would be a mammoth task to build and maintain. It is scary - don't play that part down please. I have built a handful of modules and struggle to answer issues on GitHub - scale that up by a factor of a hundred (or more) and you can see where the problem is. Also, as someone already said, ecommerce in its more comlpex form (product variations etc) as in Magento and even lighter-weight scripts is months/years of work so there is a huge amount of work involved in what you have listed that then needs to be maintained - not just the ecommerce bit.

None of that is meant to suggest it won't happen eventually - I'm sure it will, but it's not going to happen instantly and only productive discussion will make it happen, not frustration (from any side of the fence, if indeed there really is a fence).

The ProcessWire API is abstracted as it is solely for usability and to prevent things breaking, so no worries there. I shudder to think about a system where the core devs would change things purely to break someone else's work and I very much doubt (though I've not read nor do I have the time to at 3.30am) a core dev team would do that on purpose unless they were refactoring their core code for good reason (PHP versions march on and there are benefits to be had from changing code). With ProcessWire though, ryan could completely rewrite the whole thing from the ground up and as long as the API calls were the same it wouldn't matter - that's the beauty of it - you don't have to worry about what the core module code looks like behind the scenes or about your modules breaking over time :)

EDIT: Sorry, I am able to reply to closed topics and I wasn't aware this was closed before I posted and it's very early in the AM here so that wasn't intentional to get the last word in.

  • Like 2
Link to comment
Share on other sites

This topic is now closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...