WiiTweet

From WiiBrew
Jump to navigation Jump to search
WiiTweet
General
Author(s)Pedro Aguiar
Version0.3.2
LicenceGPL
Links
[[1]]
Source
Downloadable via the Homebrew Browser
Peripherals
Wiimote.svg Loads files from SDHC cards in the Front SD slot USB mass storage device

Note: This program does not work anymore, as of April 2021. This is due to Twitter API changes.

WiiTweet is a Twitter client that allows you to interact with your friends right from your Wii.

It follows Twitter's security guidelines by implementing PIN-based authorization and using HTTPS in every request. Read Authorization Flow below to get a more detailed explanation of how and why WiiTweet gets authorized by you.

IMPORTANT: Modified (scam) versions of this application are easy to build so it is encouraged that you only download WiiTweet using the Homebrew Browser.

Note to developers: This page is intended to have user-level information. For developer-level information check the project page.

Features

  • Browse timelines
  • Follow/Unfollow users
  • Tweet, favorite, retweet, reply tweets
  • Browse favorited tweets
  • See followers and followed users
  • See tweets you are mentioned in
  • Search tweets and users
  • Multiple profiles can be saved
  • Your language's characters can be added to the keyboard

Authorizing WiiTweet

WiiTweet authorizes itself using, as suggested by Twitter, PIN-based authorization. You do not need to provide your Twitter password to start using WiiTweet! Read Authorization Flow below to get a more detailed explanation of how and why WiiTweet gets authorized by you.

There are three ways of authorizing this application: visiting an URL using an external device, visiting an URL using the Internet Channel or providing your Twitter username/password.

Using an external device

An URL appears on screen, you go there from your computer/phone/another Wii, get your PIN and enter it to WiiTweet.

Using the Internet Channel

Internet Channel is launched and you get your PIN there. You have to go back to WiiTweet and select the corresponding profile to enter the PIN. Slow but useful to people with no access to an external device at the time.

Providing your username and password

You are asked for your Twitter username and password and WiiTweet authorizes itself. This is still PIN-based authorization but WiiTweet gets and reads the PIN automatically. Your password is not stored and you will not need it again to use WiiTweet.

Local password support

If you set a local password it will be needed to access your profile. Use this if you want to protect your privacy from people with access to your Wii.

Encryption

Your OAuth credentials are saved at your SD/USB. If you do not set a local password they will be stored in plain text. If you set a local password your credentials will be encrypted.

  • These credentials do not include your Twitter password (even if you authorized WiiTweet providing your Twitter username and password).

Browsing Twitter

After logging in you will be presented with your home timeline in a screen similar to this one:

Wt toolbar.png

Toolbar

You can invoke the toolbar by pointing the cursor to the upper area of the screen or pressing the home button.

The toolbar has icons for the following actions:

  • Home: Loads your home timeline
  • Mentions: Loads tweets you are mentioned in
  • Search: Search tweets or users
  • Log out: Change profile
  • Credits: Loads WiiTweet's credits
  • Tweet: Update your status

Tweet boxes

Tweets are displayed within boxes. You interact with tweets by clicking on them or by holding B (which shows additional options) and clicking a corresponding button.

Wt tweetbox.png

If you click on a tweet box it will perform different actions deppending on where you click.

  • If you click its leftmost area (see picture below) you will load the author's timeline directly.
  • Clicking anywhere else you will display the brief tweet prompt.
Wt invisbuttons.png

User boxes

Users are also displayed within boxes. You interact with users by clicking on them (which loads the user's timeline) or by holding B and clicking a corresponding button.

Wt userbox.png

Brief tweet

This window is basically an user box and a tweet box in the same window, slightly different formatted. Hashtags and mentions are added as buttons at the bottom of the window.

Wt brieftweet.png

Controls

Wiimote.svg Action
Wii Remote Aim Cursor
Wiimote D-Pad Up/Wiimote D-Pad Down Scroll
Wiimote A Button Click button
Wiimote B Button (held) Show the background of the pointed unit
Wiimote - Button/Wiimote + Button Go back/forward one page
Wiimote HOME Button Show toolbar
Wiimote HOME Button (Brief tweet window) Close the window
Wiimote HOME Button (held) Exit to loader

Keyboard

Keyboard layouts are configurable/remappable allowing you to use any character included in the font WiiTweet uses. WiiTweet comes with a keyboard map with some unicode icons to show this feature off.

Controls

Wiimote.svg WiimoteHorizontal.svg Action
Wii Remote Aim Accelerometer Cursor
Wiimote A Button Wiimote 1 Button/Wiimote 2 Button Press key
Wiimote B Button Wiimote B Button Shift
Wiimote - Button/Wiimote + Button Wiimote - Button/Wiimote + Button Keyboard layout
Acc only Wiimote HOME Button Enter acc mode
Acc only Wiimote A Button Delete
Acc only Shake Space

The accelerometer keyboard is currently poorly tuned and practically unusable.

Using custom keyboard maps

  • Keyboard map files must be placed in the /apps/wiitweet/kbmaps/ folder of your loading device (SD/USB).
  • The file must be named keyboardmapX where X is the position you want it to be.
  • If you place a keyboardmap0 file it will overwrite the default keyboard.
  • Do not skip positions. If you have a keyboardmap1, a keyboardmap2 and a keyboardmap5 file WiiTweet will not load keyboardmap5.

Making custom keyboard maps

Use this script to generate keyboard map files.

Authorization Flow

 Note: This is intended to be a simplified explanation of what happens during authorization.
 Read Using OAuth at Twitter developers site or the OAuth 2 specification for more technical information.

Twitter uses OAuth to provide authorized access to its content because it does not require users to share their passwords with 3rd party applications (such as WiiTweet), increasing account security.

How OAuth/PIN-based authorization works

When I registered WiiTweet Twitter gave me two random, unique strings to identify it. Such strings are used as signatures. When a new user wants to authorize WiiTweet it sends a "Somebody wants to authorize me" message to Twitter and signs it, letting Twitter know WiiTweet sent the message. Twitter answers with a "Prove me that's true" message containing an URL WiiTweet must ask the user to visit.


In the mentioned URL the user is asked (if he/she is not already) to log in. This is the only time the user has to provide his/her username and password and these are only provided to Twitter. The user is prompted to authorize WiiTweet and gets a PIN after doing so. That PIN is a "If WiiTweet gets this PIN then it was true" check.


Back at WiiTweet the user is asked to enter the PIN he/she got from Twitter, which is sent back. Twitter answers with two random, unique strings that identify this user-application relationship. Such strings are used to sign every action an user does within WiiTweet, letting Twitter know they are authorized by the user.

Revoking an authorization

  • Changing your Twitter password will not terminate your relationship with any application you authorized using OAuth.
  • You have to revoke the access through your account settings at Twitter's website.