Which WYSIWYG editor is for me?

08 July, 2016

For this review we're going to make some assumptions:

  • You are a developer
  • You are looking to integrate a WYSIWIG editor to obtain user input
  • Your users are not developers, and are looking for a simple, intuitive, interface
  • You are looking for a freely licensed platform in either JS, or PHP

After giving the most common options a once-over, and eliminating all paid platforms, we've decided to narrow our choices to:

 

TinyMCE

TinyMCE is a true and tested Editor that has been around for years and is integrated into quite a few existing content management platforms, such as WordPress, Joomla!, Magento, and more. It is released under the Open source (LGPL 2.1) license; however there are a number of paid plugins and options available from the developers. There are also a number of free plugins that are available by default, and produced by the open source community. Due to it's wide adaptation, TinyMCE is, or has been, in every developers toolbox at one time or another.

The editor itself is easy to install; all you need is to include a JS file into your page, and use a few lines of javascript to transform an element into a TinyMCE Editor. There are a plenty of options on the code level, and initiating multiple editors is a breeze; if the platform itself doesn't include a specific function by default, there is most-likely a plugin for it - https://www.tinymce.com/docs/plugins/. The platform is also mobile optimized, and works fine on the devices we tested it on.

The main complaint we have with TinyMCE is that there is no default file managers or uploaders in the free package. With the release of TinyMCE version 4, the source team created Moxie Manager, which is a monthly subscription. There are a few free plugins that exist on the web, however we have not tested them.

> Overall TinyMCE should be your go-to if you have no need for your users to manage media or access the file system.

 

CKEditor

CKEditor is also a widely adopted and utilized editor that has been used by platforms such as MailChimp, Adobe, and the GetSimple CSM. It is released under the GPL, LGPL and MPL Open Source licenses; however, there are also premium versions which include tech support and a few paid plugins. The platform itself allows you to download it with any of its default 72 free plugins.

Just like TinyMCE, all you need to do is include and external file, write a few lines of Javascript, add a <textarea> element, and 'viola!' - anyone with at least one hand can start entering some text. Configuring the plugins is easy, and they include just about anything you would ever need - we haven't had a need to look for any 3rd party plugins yet - but they do exist if you need them. The interface is a little more easy on the eyes than TinyMCE and should be very easy for even the most computer-illiterate user to pick up. One of the big bonuses we see in CKEditor, is the integration of some great copy-paste functionality that allows users to upload images just by copy-pasting them (or drag and drop).

> We would recommend CKEditor for any input area where your users might need to upload media, there are also few video plugins available, however we have not used them personally.

 

Summernote

Summernote is new on our radar, and we included it here to force us outside our box and look at a new product. Summernote was no harder to set up and get running than CKEditor or TinyMCE - however it does depend on the Bootstrap CSS/JS, so make sure to include it after you include those elements. Also Summernote had no CDN that we could find, however that will most likely change as it is used more widely. The platform is distributed under the MIT license and had no paid counterparts that we could find (although there is a donate button on their page).

Overall, the platform looks very clean, and may be the most attractive looking of the 3 we reviewed. It includes a number of skins you can utilize, and the basic functionality of text editor. There are no 'plugins', as all the functionality is included in the base download - this makes the setup easy (but also limiting). The editor does include some native upload functionality, which is great, and has some awesome integration with CodeMirror for displaying the HTML code being edited.

Obviously however, Summernote is in it infancy - only being on version 0.8 and released initially just a few years ago. While not having plugins makes the initial setup simple, we could not find a file browser or a few other plugins the other platforms have by default, which would mean we would need to integrate them ourselves or scrape some code from their forums. The dependency on Bootstrap is also limiting in my eyes, as Bootstrap is constantly changing as well; however, there is much time for this platform to undergo some changes and become as fully-featured as the rest.

> If you need to throw something together quickly, and want to give it a try, you probably won't have any problems - We'd keep our eye on Summernote, and revisit in the future to see how it's developed.

 

Developing with Cordova

04 July, 2016

Lately we have had a number of projects that require the development of cross-platform mobile applications, and I figured this would be a good time to introduce you to a framework that has greatly sped up our development timeline, and created more cost-effective budgets for our clients.

A few years ago we began playing around with PhoneGap - a cross-platform development framework for Mobile Applications backed by Adobe. At the time, we weren't impressed and continued developing our applications natively - having separate code-bases for say iOs, Android, and the Web version of an application. This led to difficultly managing changes across revisions, submitting updates, and organizing the projects overall. Enter Apache Cordova...

undefined

 Cordova - the open source engine behind the original PhoneGap framework was donated to the Apache foundation back in 2011 - and has been continually polished by the open source community ever since. The Apache Cordova framework is a essentially a Javascript API layer used to interface with the native code on various operating systems. (At the time of writing this Cordova supports 8 operating systems: iOs, Android, Blackberry, Windows, Unbutu, FirefoxOs, LGWebOs, and FireOs.) With Cordova you can author a project in only HTML, CSS, and JS and deploy it across all platforms. There are essentially no limitations, as you can easily create OS-specific modules that can be integrated via the JS API for any functionality not covered by the extensive list of open source plugins.

 undefined

The workflow for Cordova typically follows this general outline:

  1. Create your project in HTML/CSS/JS, using the browser
  2. Compile your project for your required platforms utilizing Cordova
  3. Open your compiled projects in their respective IDE
  4. Publish your project to the various App Stores

 There are numerous plugins available for interfacing with native functionality (https://cordova.apache.org/plugins/) such as cameras, gyro censors, etc. And you can always create your own system-specific plugins to achieve something not already included in the various plugins.

If you're looking to develop a cross-platform application, we highly recommend giving Cordova a once-over to see if it would fit your needs. In the meantime, here are some resources to get you started:

Web Design Day 2016

27 June, 2016

We were fortunate enough to snag some Web Design Day tickets again this year and make it to the conference on Friday. It was a great day full of new takes on common problems and many familiar faces. The talk by Eric Meyer (http://webdesignday.com/eric-meyer.html) had some great insight on developing CSS that falls back gracefully and also gave some insight on some new features in CSS4; and we also enjoyed Smitha Prasadh's (http://webdesignday.com/smitha-prasadh.html) talk on drawing correlations between classical music and web development.

undefined
Afternoon break
undefined
Javascript? Socks? Caitlin Steinert Presenting

 

undefined

 
Newer posts → Home ← Older posts