Hatena action flows

Posting, drawn replies, command codes and keyboard entry from a client screen.

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

URIKnown action and uncertainty
ugomemo://drawfaceDrawn-comment screen; the documented default target is a regional /my/face route, and custom destination control is uncertain.
ugomemo://postmemoFlipnote posting screen; defaults to a regional /movie/filename.ppm route.
ugomemo://commandButton-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://createmailSeen 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

ActionHow the page opens itSubmissionResponse knowledge
Draw a commentUGO action or comment metadata aimed at a .reply URLPOST to that destination; raw one-page PPM bodyThe wiki's dedicated response section is unfinished
Post an animationUGO action or posting metadata aimed at a .post URLPOST to that destination; raw PPM bodyThe wiki's dedicated response section is unfinished
Enter a commandugomemo://command from UGO or action metadata; postherebutton is one documented host controlGET /ds/v2-xx/jump?command={sequence}Use the separately documented X-DSi-Dialog-Type result contract
Enter textA .kbd link, including an ordinary HTML anchorPOST to the named destination; empty body and text in X-Email-AddrReturn 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

SymbolsControls
A B X Y L RThe six correspondingly named face and shoulder buttons
ND-pad up
SD-pad down
WD-pad left
ED-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]

Sources

  1. [1] Flipnote Studio Docs wiki — Function Overview and Usage
  2. [2] Flipnote Studio Docs wiki — Internal URLS

← All documentation