You are on page 1of 2

WeeWikiPaint

Minimum Marketable Features:


+ marketing home page (episodes 1-32)
+ single-user painting on home page (episodes 33-200)
+ replace home page with professional design (episodes 201-321)
+ IE 11 support (and get rid of IE 8) (episodes 322-324)
+ Android support (episodes 325-327)
+ iOS 8 support (episode 328)
+ replace 404 page with professional design (episodes 329-369)
* collaborative painting (episode 370+)
- multiple servers
- responsive design
- accessibility
- polish
- clear button retains focus when drawing (IE8, 9, Chrome)
- drawing glitches occur when exiting drawing area that is flush against side
of browser
- one-pixel gap on right side of drawing area (Firefox, others unknown)
- favicon
- 'clear' button flashes rather than depressing (iOS)
- 'clear' button depresses diagonally rather than vertically (IE 9, IE 1
1)
- multiple painting/erasing tools
- save the pages (persistence / databases)
- wiki-fy the pages
- more complex painting?
- more collaborative features?
User Stories to finish current MMF:
* see other users' mouse pointers
- multi-user clear button
- multi-user line drawing
- other users' mouse pointers disappear when they leave the drawing area
- version synchronization across client/server
- offline handling
- collision-handling / conflicts / race conditions
- load management
- server monitoring / error handling
- security (handling bad data, denial of service attacks)
Engineering Tasks:
* Client: Receive pointer status from server
- Client: Make client display "ghost" pointers for other users
- Open question: how to make sure our test double matches our real code?
- Use sinon.js? testdouble.js?
- Revisit Martin Grandrath's client connection design question (in E399)
- Address duplication of 'mouse' event name between client and server
- Figure out bundling and distribution for socket.io client
- Figure out how to de-dupe require paths for common files (such as "_assert.js"
)
- See Scott Corgan comment, E381: http://www.letscodejavascript.com/v3/c
omments/live/381#comment-2489897377
- Update smoke tests for real-time networking
To Do on current task:
* Clean up _network_test_harness server code
- Clean up _network_test_harness client code
- Implement harness.sendPointerLocation()
- Finish implementing onPointerLocation() and tests

- Provide unique ID with each pointer event


- Modify client.js to prove that we get pointer events

You might also like