E-Learning Tools
jQuery, D3.js, CamanJS, Node.js
The examples below illustrate some of the work I did while working as a Lead and Senior Front-End Developer for Computerized Assessments and Learning (CA&L) and Educational Testing Services (ETS).
Color Accommodations Processor
(CamanJS, Regular expressions, SVG, Node.js, Grunt)
- Color conversion of different media by using modular filters (eg. CSS stylesheets, SVG graphics and images)
- Easily expandable to support new media types (eg. videos) by creating new filters
- Node.js / Client Side JavaScript hybrid design. Color conversion algorithms can be run at run-time or at build-time.
- Performance optimized by caching computation results
Rich Text Editor
(Plugin-based architecture)
- Plugins: Text Styles, Math Expressions, Clipboard Manager, Undo Manager, Toolbar, Key Combos, Custom Scrollbar
- Thoroughly tested via unit tests and integration tests
- Performance optimized through state saving (to avoid duplicate computations)
- Performance optimized through function merging pipeline (to merge consecutive operations into one)
Graph Tool
(D3.js, state-machine)
- Modular tool types
- Data-Driven
- Accessible: User can draw with mouse, touch or keyboard
Automator
(Asynchronous JavaScript, Functional testing)
- Automates tasks which are defined as a series of consecutive steps
- Simplifies asynchronous behavior of functional testing by using busy-wait checks within steps
- Expandable by defining custom steps
Media Sequencer
(Multi-track, clock synchronization)
- Modular architecture allows defining different track types (audio, video, subtitles, slide shows, etc.)
- Clock based synchronization method to keep multiple tracks aligned