A Hatena page can open one of Studio's built-in screens. A .reply destination opens the drawn-comment editor; submitting it POSTs a one-page PPM to that destination. A .post destination opens the posting screen and POSTs the selected PPM. The page or UGO record chooses the destination, so it cannot be inferred from the PPM filename alone. The wiki does not fully document the response bodies expected by these two submissions. [1]
Internal URI alternatives
| URI | Known action and uncertainty |
|---|---|
ugomemo://drawface | Drawn-comment screen; the documented default target is a regional /my/face route, and custom destination control is uncertain. |
ugomemo://postmemo | Flipnote posting screen; defaults to a regional /movie/filename.ppm route. |
ugomemo://command | Button-code search; its result is a GET to regional /jump?command=.... |
ugomemo://keyboard/... | Text keyboard with a named destination; historical testing did not confirm automatic navigation after its submission. |
ugomemo://createmail | Seen in the wiki but not explained there. |
Button-code input accepts A/B/X/Y/L/R and N/S/W/E for the D-pad directions. The documented test required an X-DSi-Dialog-Type response header: 0 selects a UTF-8 redirect URL and 1 selects a UTF-16LE error message. The text keyboard uses a different request: an empty-body POST with the text in X-Email-Addr, followed optionally by X-DSi-Forwarder. Handle these two kinds of input separately so that each action can finish correctly. [1][2]
Action URLs and submitted data
| Action | How the page opens it | Submission | Response knowledge |
|---|---|---|---|
| Draw a comment | UGO action or comment metadata aimed at a .reply URL | POST to that destination; raw one-page PPM body | The wiki's dedicated response section is unfinished |
| Post an animation | UGO action or posting metadata aimed at a .post URL | POST to that destination; raw PPM body | The wiki's dedicated response section is unfinished |
| Enter a command | ugomemo://command from UGO or action metadata; postherebutton is one documented host control | GET /ds/v2-xx/jump?command={sequence} | Use the separately documented X-DSi-Dialog-Type result contract |
| Enter text | A .kbd link, including an ordinary HTML anchor | POST to the named destination; empty body and text in X-Email-Addr | Return X-DSi-Forwarder with the next URL |
Replace the regional placeholder xx with us, eu or jp. It is not the language or country code from a console header. For example, a comment button pointing at http://ds.example.com/ds/v2-us/post/comment.reply POSTs its comment PPM to that URL. A posting button can use http://ds.example.com/ds/v2-us/post/flipnote.post instead. [1]
Default routes differ from explicit destinations
In the recorded test, ugomemo://drawface POSTed to /ds/v2-xx/my/face; the wiki had not found a way to change this destination through the internal URI. ugomemo://postmemo POSTs to /ds/v2-xx/movie/filename.ppm, using the selected animation's filename. Handle these built-in destinations separately from a posting URL explicitly supplied by a page. [1]
Keyboard preset example
<a href="http://ds.example.com/ds/v2-us/search.kbd?s=|Hello!">Enter text</a>
The preset marker is ?s=|, followed by the text to put in the keyboard. This example opens it with Hello! already entered. On submission, read X-Email-Addr; the text is not in a form body. A reply such as X-DSi-Forwarder: http://ds.example.com/results.htm sends the client to the results page. The source does not specify URL escaping for arbitrary text, so this short ASCII example does not establish how to encode every Unicode string. [1]
Command symbols
| Symbols | Controls |
|---|---|
A B X Y L R | The six correspondingly named face and shoulder buttons |
N | D-pad up |
S | D-pad down |
W | D-pad left |
E | D-pad right |
Spaces separate the symbols above for readability. The wiki does not say they belong in a submitted command sequence. Its general sections on displaying animations, adding stars and sending mail are still placeholders, so those features lack an explanation there. That omission does not mean Studio lacks the features. [1]
