Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

We mostly just used jquery and contenteditable.  Other useful software tools we used were HTMLCanvas and Coffeescript.  

JQuery  JQuery provides many useful functions as a javascript library, which were invaluable when implementing certain features (e.g. drag and drop).  HTMLCanvas

HTMLCanvas provided a really easy way to make the bounding boxes for the text areas.  ContentEditable  

ContentEditable was a very clean place to write, unlike using something such as TinyMCE.  However, we discovered that implementing even the most basic functionality (e.g. basic text formatting) was much more difficult than anticipated, and made even more difficult by the fact that contenteditable and javascript weren’t designed to make word processing simple.  If done again, we might try to use a predesigned text area like TinyMCE instead of trying to rewrite even the most basic word processing functionality on our own.  This somewhat negatively affected the text formatting part of the final implementation we had planned to implement.

Finally, Coffeescript made some of the brute coding faster, since it’s somewhat easier to write than raw javascript if you’re familiar with the language.  This didn’t really affect our design, but made it faster and easier to write.