|
| 1 | +## Arrangement/Content |
| 2 | + |
| 3 | +- "With a Vibrant Community" could be just "Vibrant Community". |
| 4 | + |
| 5 | +- "Strong" is kind of a strange word to describe safety and reasoning |
| 6 | + features. Why not "safe"? I don't like that either, but I think it's |
| 7 | + better. |
| 8 | + |
| 9 | + Use "Robust" |
| 10 | + |
| 11 | +- If I could change one thing, I would edit the first paragraph of the “Any |
| 12 | + Syntax” section. Instead of “Real Racket programmers love parentheses”, |
| 13 | + |
| 14 | +Real |
| 15 | + |
| 16 | + maybe something like “Racket programmers usually love parentheses”, and |
| 17 | + instead of “is almost as easy as building beautiful languages”, perhaps |
| 18 | + “is almost as easy as building parenthesized languages”. |
| 19 | + |
| 20 | +?? |
| 21 | + |
| 22 | +- ? For "Little Macros", can we have a different example? It takes me more |
| 23 | + than a minute to figure out what's going on in that example, even though |
| 24 | + I think I know macros and Racket syntax at some level. People who are new |
| 25 | + to Racket are going to just skip that example with confusion. |
| 26 | + |
| 27 | +``` |
| 28 | +#lang racket |
| 29 | +
|
| 30 | +(require syntax/parse/define) |
| 31 | +
|
| 32 | +(define-simple-macro (where* ((~literal define) h b) clauses) |
| 33 | + (define h (let () (begin . clauses) b))) |
| 34 | +
|
| 35 | +(where* (define is-5-odd (odd? 5)) |
| 36 | + [(define (odd? n) (if (= n 1) #t (even? (- n 1)))) |
| 37 | + (define (even? n) (if (= n 0) #t (odd? (- n 1))))]) |
| 38 | +
|
| 39 | +(if is-5-odd "five is odd" "five is not odd") |
| 40 | +``` |
| 41 | + |
| 42 | +## Mechanics |
| 43 | + |
| 44 | +- add tabs to browser HISTORY (pushState) |
| 45 | + |
| 46 | +## Code Examples |
| 47 | + |
| 48 | +- in initial web page, message-box |
| 49 | + |
| 50 | +- Gettybsburg's address with @As-scores[87] |
| 51 | + |
| 52 | +## Looks |
| 53 | + |
| 54 | +- screen size problems (MF yes someone should figure this out) |
| 55 | + |
| 56 | + fixed by Robby and Jesse |
| 57 | + |
| 58 | +- Can we make the headers ("Racket, the Language-Oriented Programming |
| 59 | + Language", "Racket, the Ecosystem") change color on hovering to indicate |
| 60 | + that it can be clicked? |
| 61 | + |
| 62 | +- Robby: "Sierpinski" plus 2htdp/image code |
| 63 | + |
| 64 | +- Robby: It would be easier on the eyes if the text color was slightly darker blue |
| 65 | + |
| 66 | +## Probably Useless |
| 67 | + |
| 68 | + |
| 69 | +## No |
| 70 | + |
| 71 | +- There should probably be a description of what language oriented programming is. |
| 72 | +- "little macros" and "big macros" should be adjacent. |
| 73 | +- "general purpose" and "DSLs" should be adjacent. |
| 74 | +- ? It would be cool if the typed Racket example contains a type error, and |
| 75 | + we show how typed Racket catches the error. |
| 76 | + |
| 77 | + |
| 78 | +- When trying to get the #lang examples to display again after clicking a tab |
| 79 | + under "the language-oriented programming language" section, my instinct was to |
| 80 | + click some of the whitespace off to the side to "deselect" the current tab. |
| 81 | + This did not work, and I had to instead click on the section heading. |
| 82 | + |
| 83 | +- The very first thing I see is news. If I'm a regular Racket user I would |
| 84 | + know where to get news from. If I'm a new user, I wouldn't care about |
| 85 | + news. Either way, I think it should have a place in homepage but not at |
| 86 | + the top. |
| 87 | + |
| 88 | +- ... trying to get all 3 ideas into view without scrolling (MF: remove news |
| 89 | + and get there?) |
| 90 | + |
| 91 | +- What's the difference between `new frame%`, `message-box`, and |
| 92 | + `make-object button%`. ("Why aren't they `frame`, `message-box`, and |
| 93 | + `button`?"). |
| 94 | + |
| 95 | +- A Scribble example could be more free text, with only one or two `@(`. |
| 96 | + It would be nice if the Scribble example is mainly proses. Otherwise, |
| 97 | + users could (for example) assume that this is yet another Racket program |
| 98 | + will a nice string literal syntax. |
| 99 | + |
| 100 | +- Maybe leave out the comments in the code samples ... try to read the code and guess what it does |
| 101 | + |
| 102 | +- don't use JS for tabs (MF: I don't even know what this means) |
| 103 | + |
| 104 | +- The big blue headings look like another header, they are more prominent than the main top page header, which looks weird |
| 105 | + |
| 106 | +- The giant racket logo next to the code looks misplaced, the racket logo is already in the top left. |
| 107 | + |
| 108 | +- why isn't there a publications page? |
| 109 | + |
| 110 | +- show output of programs? -- For "General Purpose", again, users want to |
| 111 | + see an output. A GUI window (like the "Big Macros" example) would |
| 112 | + suffice. |
| 113 | + |
| 114 | +- The JavaScript driving a change of "tabs" doesn't use the history APIs |
| 115 | + (e.g. history.pushState, window.onpopstate), so it doesn't work as (I) |
| 116 | + expected with browser-based control operators like "back" and "duplicate |
| 117 | + tab." Mumble about our web server and continuations |
| 118 | + |
| 119 | + |
| 120 | +- Regarding the second row again, I think that we should not expect users |
| 121 | + to click on those tabs to explore. Instead it should be presented |
| 122 | + statically, maybe as grid of little boxes. Web pages are much more |
| 123 | + pleasant when I could just scroll through it. |
| 124 | + |
| 125 | +### Greg's Response |
| 126 | + |
| 127 | +Many good ideas here! A couple suggestions: |
| 128 | + |
| 129 | +1. I recommend not assuming screen sizes. |
| 130 | + |
| 131 | +Right-click, choose Inspect Element, and click the little mobile icon. |
| 132 | +Try various sizes, from a little mobile phone on up to an iPad. (This |
| 133 | +sort of tool is available in Firefox and Chrome.) |
| 134 | + |
| 135 | +The current experience is not good. It should be: Someone might be on a |
| 136 | +train or plane, following a link from social media or the orange site. |
| 137 | +Sometimes commuting or traveling is their main opportunity to learn |
| 138 | +about new things and form first impressions. |
| 139 | + |
| 140 | + |
| 141 | +2. I recommend not using JavaScript to implement "tabs". |
| 142 | + |
| 143 | +This isn't a "single page web app". It is text and images. It could |
| 144 | +simply flow through whatever size screen is available, small, medium, or |
| 145 | +large. Let the web browser do its job. (And let the page download |
| 146 | +faster, probably get higher search rank, etc.) |
| 147 | + |
| 148 | + |
| 149 | +TL;DR: The current tabby thing is not helping on small screens; on large |
| 150 | +screens it is (in my opinion) a frustrating Advent calendar. |
| 151 | + |
| 152 | +## Future Work |
| 153 | + |
| 154 | +- The code snippets, e.g. under "little macros", are in too small of a font to |
| 155 | + read. Reminds me of talks where they just display tons of code to bamboozle |
| 156 | + the audience, which always annoys me. |
| 157 | + |
0 commit comments