The following is a list of upcoming features for SnapEditor. These will be put into our issue tracking database so that you can get a rough estimate of the order and timeline that features will be released.
- Image Uploading and Manipulation
- Drag and Drop Image Uploading: Drag images directly into the editor to upload the images. Images are automatically resized to fit.
- Multi-Image Uploading: Select and Upload Multiple Images at Once. Done
- Automatic Resize to Fit: Uploaded images will automatically be resized to fit the width of the editor. Done
- Drag Resizing: Drag handles on the image to resize it.
- Image Resize Processing: When images are resized, the actual image is resampled to preserve image quality and to reduce image download times.
- Image Sharpening: When images are resized, they are sharpened at the same time. Done
- Embedded Files: Embed files into the content of the editor.
- Shortcuts: Features for users that spend most of their time in SnapEditor.
- Keyboard Shortcuts Help: A popup that lists all available SnapEditor shortcuts.
- Keyboard Shortcuts for Everything: Every action available is mapped to a keyboard shortcut.
- Accelerator Shortcuts: There are few keyboard combinations left so for new features, we have accelerator shortcuts. We will reveal the details of this later.
- Magic URLs: When you enter or paste certain URLs, they will automatically be converted into objects.
- Video URLs: Automatically convert popular video URLs like YouTube, Vimeo, MetaCafe, etc. into an embedded video.
- Image URLs: Automatically convert popular image URLs like those from FlickR into images.
- Custom URLs: Automatically convert a URL into any HTML you want using Regular Expressions.
- Usability:
- Tab/Shift-Tab List Indenting: Use Tab and Shift/Tab to indent/unindent lists. Done
- Tab/Shift-Tab Table Navigation: Use Tab and Shift/Tab to move between table cells. Done
- Auto Bulleted Lists: Use an asterisk with a space “* ” at the beginning of line and have it convert to a bulleted list. Note that you can make a bulleted list already without the mouse by using CTRL-SHIFT-8 which is CTRL-*.
- Auto Numbered Lists: Use a number with a dot and space “1. “ at the beginning of a line and have it convert to a numbered list. Note that you can make a numbered list already without the mouse by using CTRL-SHIFT-7.
- Charts:
- Google Charts: Ability to insert Google charts without leaving the editor. Support Pie Charts, Line Charts and Bar Charts.
- Sparklines: Ability to insert small embedded inline charts without leaving the editor.
- Named Styles:
- Configurable Named Styles: Create your own Named Styles that specify element/class combinations. These can be selected from a drop-down box that intelligently displays only the Named Styles related to a given context (e.g. it will show only table related Named Styles from within a table). Done
- Next Named Style Lists: Specify which Named Style comes next when you hit enter at the end of a line. For example, by default hitting enter at the end of an <H1> tag gives you a new line in a <P> tag; however, you could change this so that the next Named Style is an <H2> tag. Done
- Replacement Named Style Lists: By default, regular block elements not in the whitelist are cleaned and converted to <P>. You can configure your own replacement lists. For example, you could convert <blockquote> tags to <div class=”blockquote”> tags instead.
- Markup Support: Ability to support conversion to and from various lightweight markup languages.
- Markdown: Support for conversion to and from Markdown.
- WikiCreole: Support for conversion to and from WikiCreole.
- Textile: Support for conversion to and from Textile.
- User Interface: Features related to the visible user interface
- Click-Drag Table Insertion: Click on the table icon then drag to choose how many columns and rows the table should have.
- Drop Down Styles: Use a drop down to support different styles like H1, H2 and H3, and custom styles with named div/class combinations. Done
- Theming: Ability to support multiple themes for the toolbar.
- 3 Themes: Have at least three professional quality themes for the toolbar including a standard one, one based on the “Silk” icons set, and a Mac/iPad style design.
- In-Place Save Button: Add a save button to the toolbar or a bottom bar to provide an interface for users to save during In-Place editing. Provide shortcuts for this: CTRL-S for save and CTRL-SHIFT-S for save and continue. Done
- Online Editor Compiler: Choose the features that you want including the toolbar layout and the Online Editor Compiler will build a version of SnapEditor for you that is as small and efficient as possible. This gives us the opportunity to continue building a gigantic library of features for the Editor without worrying about bloat because you can choose to include only the features you need.
- Minimum JavaScript: Builds a version with only the JavaScript you need for the features you want.
- Minimum CSS: Builds a version with only the CSS you need.
- Automatic Sprite Generation: Builds a version of the Editor with a single image sprite with only the icons and images you need for the features you want. The sprite is automatically generated for you.
- Minify for jQuery: If you use jQuery, will compile a version that will use the methods from your version of jQuery to reduce file size.
- Minification: Automatically minifies the files to load as quickly as possible.
- More Browser Support: Current support includes Chrome, Firefox, Safari and IE7+.
- Add Support for Safari on iPad: Should be relatively straightforward as it is mostly compatible with desktop Safari.
- Add Support for Opera: Should be not too difficult as we have experience with adding Opera support in a WYSIWYG editor in the past.
- Performance Enhancements:
- Render Optimized: Optimize the editor so that your page renders as quickly as possible. Loads the editor asynchronously so that your page appears first which makes your application feel snappy.
- Predictable Behavior:
- iFrame Based Forms: Implement the Form-Based Editor with an iFrame instead of a contentEditable div. A div pulls the styling from the page which is not usually what the developer expects. Even if the developer expect this, it is difficult to ensure that the stylesheet will work correctly because of the way it interacts with the page. An iFrame has more predictable behavior for the developer. Done
- Multiple In-Place Editing Focus Modes: Implement multiple focus modes. A focus mode is what the editor does when it receives the focus during In-Place Editing.
- Shutter Focus (implemented): The shutter focus snaps the editor into place in a way that looks like a photo is being taken Done
- Outline Focus: The outline focus places a dashed rectangle around the edit region.
- Seamless Focus: The seamless focus is transparent and works well for when your editor is behaving like a word processor.
- Focus Tutorial: A short article on why there are multiple kinds of focus and when to use each kind of focus.
- In-Place Editing Toolbar Modes:
- Floating Toolbar: The toolbar locks to the top of the content area you are editing but never goes off the top of the page. If the cursor is at the very top of the document, the toolbar moves to the bottom of the page temporarily. Done
- Top Locked Toolbar: The full-width toolbar locks to the top of the page. The page scrolls under the toolbar.
- Documentation
- Getting Started Tutorial: A Getting Started guide on how to implement SnapEditor in your web application. Done
- Full Reference: A full reference detailing every feature and option available in SnapEditor. Done
- Plugins:
- Release the Plugin API: Finalize and release the Plugin API. All SnapEditor functionality is already implemented using the Plugin API; however, we will not release it until we are more confident that the API covers the majority of Plugin development use cases. Done
- Plugin API Tutorial: Tutorial on how to develop plugins using the SnapEditor plugin API. Done
- Documentation for Plugin API: A full reference for the Plugin API and all of its features. Done
- Table Handling:
- Merge Cells: Add the ability to merge and split cells.
- Class Based Styling for Cells: Ability to use whitelisting and styles with TD and TH elements with styles. For example, to allow styling like <td class=”highlight”></td> using a dropdown menu. Done
- Class Based Styling for Tables: Ability to use whitelisting and styles with TABLE elements. For example, to allow styling like <table class=”bordered”></table>. Done
- Internationalization: i18n support using JSON files that can be swapped in and out. Done