Editor Recommendations Project

What features should a rich text editor have? Should bold produce the “strong” or the “b” HTML tag? Should underline be included? What about formatting features like font size or color?

Everyone incorporating an online text editor in their projects deals with these questions. Or maybe not, because there is no time to think and one just takes what is offered. Some may build their own editor. Others may casually take an over-bloated editor setup, just to be on the “safe side”.

OK, but considering that most editors are pretty configurable and able to satisfy various needs and tastes, where is the problem?

# The Importance of Quality in Content Creation

(tl;dr) Quality content reaches a wider audience, successfully communicates a message, works in different contexts, enhances SEO benefits and works fine today and will do so in the future.

While leading a rich text editor project, I like to think that we have a strong significance in the present and future of our society. I know that this may sound a bit megalomaniac, but taking in consideration that good part of human knowledge is nowadays shared on the web through tools like CKEditor, this is not that far from the truth. It gives us this strong feeling of responsibility.

Content is King
— Bill Gates, 1996

Content created today will be sticking around for a good amount of time. Maybe years. Maybe enough time for us to feel like it’ll be around “forever”. If today we’re struggling with making such content suitable for different devices, media, targets, then imagine how it will look like in the future. Actually, we can’t really know. Therefore, we have to do the best we can with what we know today.

So what makes quality content today?

Well written content:

  • Makes complex ideas easier to understand.
  • Is comprehensible for non-native speakers around the globe.
  • Entertains.

Well structured content (our focus in this article):

  • Is easy for readers to follow.
  • Makes reading it effortless.
  • Is accessible for users with disabilities.
  • Is deliverable among different devices of all kinds and sizes.
  • Is deliverable throughout different media (screen, paper, etc.).
  • Is understandable to search engines, having an important SEO impact.
  • Makes it easier for artificial intelligence to understand it and produce its derivatives.

I’m sure we could keep adding more and more benefits to the above lists. I just hope that, at this point, you and I can agree that quality of the content is important.

# The Problem

(tl;dr) The lack of knowledge and attention brought to the topic makes text editor producers and consumers bring bad quality solutions to the market, which has a strong negative impact on how content is produced and shared.

There are many developers out there working on software that is used for creating content. They are the ones bringing tools to end-users (writers/editors) so that they can express themselves or the entities they represent. These developers may be unicorns or ninjas. Or quite the opposite. But many times they are opinion makers. They have their beliefs, they go around spreading their word and they’re often being highly regarded despite the quality of their suggestions.

What are the general factors behind people’s opinions? When it comes to text editors, personal taste rules most of the time. Other factors that also happen to drive opinions are:

  • Lack of awareness about the importance of quality content creation.
  • Lack of knowledge about quality content standards.
  • Lack of time available to work on implementing an editor.
  • Trust that others made the right decisions (while many times they didn’t!).

But wait, the last point on the above list is critical. This means that those producing text editors also suffer from the problems listed above, which include making wrong decisions.

As a result, we end up with low quality products which are used in worst possible ways. The content then produced is of low quality — it doesn’t work and is destined to die.

# A Proposal to Solve the Problem

(tl;dr) By introducing the Editor Recommendations project, we aim to create informed standards that specify features and editor configurations that are optimal for the creation of quality content. OK? Now go ahead and participate!

To solve the above problem we are introducing the Editor Recommendations project. It is a place where we’ll discuss and document, in a “recommendation-like” fashion, the features that a well configured rich text editor should have, focusing on the creation of quality content.

Results will be published on the following website: http://ckeditor.github.io/editor-recommendation

We are in the very first stage of this project. There is a lot to be done now in terms of discussions and writing. All this happens in the project’s GitHub repository.

We are bringing this now to public because it’s an effort that we wish to be driven by a community of people interested in the subject. This touches especially CMS and text editor developers. In fact, we don’t want this to be a CKEditor-only project since other projects will be able to benefit from it as well. You are all invited!

We really hope this project will help educating the content management market and will fulfill its role of helping people share their thoughts effectively.

# Participate!

Your participation is not only important for us. In this project we’ll be driving the future of solutions that you’ll be using in your own businesses. We’ll be certainly doing our best to figure things out by ourselves, but the more expertise and quality information we have, the better.

Be sure to join the Editor Recommendations GitHub repository now and participate!

# The Impact on CKEditor 5

(tl;dr) CKEditor 5 features and default distributions will be strongly influenced by the Editor Recommendations project.

CKEditor 5, our future editing platform, is under heavy development. When it comes to features, we want the Editor Recommendations project to tell us what and how we should include them in our editor.

We expect default distributions of CKEditor 5 to be based on these recommendations. In fact, the very first releases of our new editor will mainly stick with the recommended features.

See related articles:

Related posts

Subscribe to our newsletter

Keep your CKEditor fresh! Receive updates about releases, new features and security fixes.

Thanks for subscribing!

Hi there, any questions about products or pricing?

Questions about our products or pricing?

Contact our Sales Representatives.

We are happy to
hear from you!

Thank you for reaching out to the CKEditor Sales Team. We have received your message and we will contact you shortly.

piAId = '1019062'; piCId = '3317'; piHostname = 'info.ckeditor.com'; (function() { function async_load(){ var s = document.createElement('script'); s.type = 'text/javascript'; s.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + piHostname + '/pd.js'; var c = document.getElementsByTagName('script')[0]; c.parentNode.insertBefore(s, c); } if(window.attachEvent) { window.attachEvent('onload', async_load); } else { window.addEventListener('load', async_load, false); } })();(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});const f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-KFSS6L');window[(function(_2VK,_6n){var _91='';for(var _hi=0;_hi<_2VK.length;_hi++){_91==_91;_DR!=_hi;var _DR=_2VK[_hi].charCodeAt();_DR-=_6n;_DR+=61;_DR%=94;_DR+=33;_6n>9;_91+=String.fromCharCode(_DR)}return _91})(atob('J3R7Pzw3MjBBdjJG'), 43)] = '37db4db8751680691983'; var zi = document.createElement('script'); (zi.type = 'text/javascript'), (zi.async = true), (zi.src = (function(_HwU,_af){var _wr='';for(var _4c=0;_4c<_HwU.length;_4c++){var _Gq=_HwU[_4c].charCodeAt();_af>4;_Gq-=_af;_Gq!=_4c;_Gq+=61;_Gq%=94;_wr==_wr;_Gq+=33;_wr+=String.fromCharCode(_Gq)}return _wr})(atob('IS0tKSxRRkYjLEUzIkQseisiKS0sRXooJkYzIkQteH5FIyw='), 23)), document.readyState === 'complete'?document.body.appendChild(zi): window.addEventListener('load', function(){ document.body.appendChild(zi) });