Products

Solutions

Resources

Partners

Community

About

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

The Community Blog is a personal opinion of community members and by no means the official standpoint of DNN Corp or DNN Platform. This is a place to express personal thoughts about DNNPlatform, the community and its ecosystem. Do you have useful information that you would like to share with the DNN Community in a featured article or blog? If so, please contact .

The use of the Community Blog is covered by our Community Blog Guidelines - please read before commenting or posting.


Perfect WYSIWYG for DNN/2sxc #1 - Evaluation Overview

WYSIWYG matters…

When IBuySpy got started - and later superseded by DNN - WYSIWYG was all the rage, because we all thought that content management should go from being a web-designer activity (using Dreamweaver) to being a document-editing activity like word processing.

Based on this idea, the WYSIWYG was a strong focus of DNN, which lead to including the telerik-rad-editor in the distribution, and also lead to people saying funny things like "DNN is a CMS because it has a Text/HTML Module".

…much less than it used to matter

We were wrong. Turns out that content management is its own thing, incomparable to anything before - with requirements and possibilities far away from letter-writing technologies. Many wanted to ignore this and keep on following the WYSIWYG-way, but it finally became clear with the advent of responsive design, that separating the content-design from the content was the only way to go. You can read more about this in my old post about the death of WYSIWYG.

 

A good WYSIWYG in 2016 needs to do much less…

 

With a professional separation of layout and content (requiring an appropriate module like 2sxc - download in the forge), the WYSIWYG should do much less. Basically it should help the user get things done quickly, the right way.  It should…:

  1. promote good practices (like using headings, strong- and em-tags)
  2. prevent bad practices (like copy-paste word-formatting or using font-tags) 
  3. discourage but support retiring methodologies like placing images in your text
  4. discourage but allow advanced actions like manually editing the HTML
  5. simplify common tasks like cleaning up formatting
  6. manage content-specific assets as most downloads/links/images are never reused
     

…actually do as little as possible…

Even if the WYSIWYG editor could do way more than what is currently needed, we should not enable cool, special features. Because "special" features always have 2 important downsides. First of all they promote bad practices - causing users to create solutions which don't scale and don't update in the future. Second of all there will come a day where we will have to replace the WYSIWYG again, so by focusing on the important features (which the replacement will have as well) we can ensure that such a migration will work again in the future without much pain.

…but do this very, very well

The list feels very simple, but to do this well is very challenging. Simple examples:

  1. The entire implementation needs to be JS only + some WebAPIs. Anything using server-side code to render is already obsolete and prevents real use in JavaScript based Apps (you can read more about JS-Apps in my blogs)
  2. …but not depend on additional large frameworks like jQuery 
  3. Managing assets in a full file structure discourages users from working well, as it is so cumbersome and time-intensive that users will automatically become lazy and chaos will prevail. 
  4. Copy-pasting from word is so common, it must be auto-cleaned with 100% reliability

The old editor included in DNN failed at this and the CK Editor as it is implemented now is also not up to the task.

The Evaluation

I started an extensive evaluation in the summer of 2015 and did the following

  1. Create a list of relevant user features (like bold, italic, etc.)
  2. Create a list of technical requirements (like CDN support, non-jQuery, etc.)
  3. Create a list of configurability (like toolbars with custom buttons to browse the DNN files)
  4. Create a list of management requirements (like open-source license, widely used, etc.)
  5. Work out which criteria will be the bottleneck (like no-jQuery) to focus on these first
  6. Create a short-list of about 10 editors based on the critical criteria
  7. Re-Evaluate in detail to reduce shortlist to a favorite and max. 4 contenders
  8. Try to implement the favorite and see if it fits

Let's get started with part 2!
Daniel



Daniel Mettler grew up in the jungles of Indonesia and is founder and CEO of 2sic internet solutions in Switzerland and Liechtenstein, an 20-head web specialist with over 800 DNN projects since 1999. He is also chief architect of 2sxc (see forge), an open source module for creating attractive content and DNN Apps.



Read more posts by Daniel Mettler

Comments

There are currently no comments, be the first to post one.

Comment Form

Only registered users may post comments.

NewsArchives


Aderson Oliveira (22)
Alec Whittington (11)
Alessandra Daniels (3)
Alex Shirley (10)
Andrew Hoefling (3)
Andrew Nurse (30)
Andy Tryba (1)
Anthony Glenwright (5)
Antonio Chagoury (28)
Ash Prasad (37)
Ben Schmidt (1)
Benjamin Hermann (25)
Benoit Sarton (9)
Beth Firebaugh (12)
Bill Walker (36)
Bob Kruger (5)
Bogdan Litescu (1)
Brian Dukes (2)
Brice Snow (1)
Bruce Chapman (20)
Bryan Andrews (1)
cathal connolly (55)
Charles Nurse (163)
Chris Hammond (213)
Chris Paterra (55)
Clint Patterson (108)
Cuong Dang (21)
Daniel Bartholomew (2)
Daniel Mettler (181)
Daniel Valadas (48)
Dave Buckner (2)
David Poindexter (12)
David Rodriguez (3)
Dennis Shiao (1)
Doug Howell (11)
Erik van Ballegoij (30)
Ernst Peter Tamminga (80)
Francisco Perez Andres (17)
Geoff Barlow (12)
George Alatrash (12)
Gifford Watkins (3)
Gilles Le Pigocher (3)
Ian Robinson (7)
Israel Martinez (17)
Jan Blomquist (2)
Jan Jonas (3)
Jaspreet Bhatia (1)
Jenni Merrifield (6)
Joe Brinkman (274)
John Mitchell (1)
Jon Henning (14)
Jonathan Sheely (4)
Jordan Coopersmith (1)
Joseph Craig (2)
Kan Ma (1)
Keivan Beigi (3)
Kelly Ford (4)
Ken Grierson (10)
Kevin Schreiner (6)
Leigh Pointer (31)
Lorraine Young (60)
Malik Khan (1)
Matt Rutledge (2)
Matthias Schlomann (16)
Mauricio Márquez (5)
Michael Doxsey (7)
Michael Tobisch (3)
Michael Washington (202)
Miguel Gatmaytan (3)
Mike Horton (19)
Mitchel Sellers (40)
Nathan Rover (3)
Navin V Nagiah (14)
Néstor Sánchez (31)
Nik Kalyani (14)
Oliver Hine (1)
Patricio F. Salinas (1)
Patrick Ryan (1)
Peter Donker (54)
Philip Beadle (135)
Philipp Becker (4)
Richard Dumas (22)
Robert J Collins (5)
Roger Selwyn (8)
Ruben Lopez (1)
Ryan Martinez (1)
Sacha Trauwaen (1)
Salar Golestanian (4)
Sanjay Mehrotra (9)
Scott McCulloch (1)
Scott Schlesier (11)
Scott Wilkinson (3)
Scott Willhite (97)
Sebastian Leupold (80)
Shaun Walker (237)
Shawn Mehaffie (17)
Stefan Cullmann (12)
Stefan Kamphuis (12)
Steve Fabian (31)
Steven Fisher (1)
Tony Henrich (3)
Torsten Weggen (3)
Tycho de Waard (4)
Vicenç Masanas (27)
Vincent Nguyen (3)
Vitaly Kozadayev (6)
Will Morgenweck (40)
Will Strohl (180)
William Severance (5)
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out