forked from jamesshore/lets_code_javascript
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtodo.txt
More file actions
54 lines (50 loc) · 2.24 KB
/
todo.txt
File metadata and controls
54 lines (50 loc) · 2.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
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 11)
- 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
- 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:
* Hook up the client UI code to the network abstraction
- Client: Receive pointer status from server
- Client: Make client display "ghost" pointers for other users
- 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/comments/live/381#comment-2489897377
To Do on current task:
- Figure out our production design
- Figure out our test strategy (test double?)
- Test-drive the actual code
- Only send mouse pointer location when it's inside the drawing area
- Need to translate pageOffset to relativeOffset (do we need to improve design of offset translations?)
- Maybe real_time_network should actually be real_time_connection -- and an object rather than a monostate module