ラリー共有機能メモ

AWSのSimpleDBが簡単に扱えそうなのでSmartTrainingに組み込んで使ってみよう、と考えてみたのでメモ。
サーバアプリなんて書きたくないんだよね。
めんどい。
なので、可能なかぎりクライアントで何とかする。

以下、仕様案。
作っているうちに思いつきで変わっちゃうかもしれないけど。

・ラリー登録のタイミングでラリー登録情報をSDBにアップロード。
 ・アップする内容
  ・Uid:ユーザID(アカウント)
  ・Rallyid:ラリーID
  ・Uname:ユーザ表示名
  ・Distance:距離
  ・Timestamp:タイムスタンプ
  ・Duration:期間(開始日時とタイムスタンプとの差)
 ・UidとRallyidがキー情報的な意味をもつ。

・SDB設計
 ・Domain:Rally(全ラリーのレコードがこのDomainに登録される)
 ・Items
  ・Uid:Gmail account
  ・Rallyid:登録したRallyのID
  ・Uname:任意(設定画面で指定)
  ・Timestamp:登録したときのシステムタイム
  ・Duration:開始日時とTimestampとの差

・ラリー画面表示
 ☆そのラリーに登録しているアカウント総数
 ☆そのラリーをクリアしたアカウント数
 ×自分の順位表示
 ×そのラリーをクリアしたアカウントのリスト(適当にソート)
 ・そのラリーをクリアしていないアカウントリスト(条件指定)
  ・条件:☆自分の近く、×トップ5
 ☆選択したアカウントのラリークリア状況
 ☆競争するアカウントを覚えておく。そのアカウントと同時に並べて表示することで競争。
 ☆Twitterアカウント名を登録しておき、他のユーザがそのTwitterアカウント情報を閲覧できる。
 ・・・

・懸念事項
 ・アカウント偽装
  →Googleアカウントによる認証を前提とする。
 ・不正な値の登録
  →諦める。クリアしたアカウントについては別途扱いにすることで、早くクリアしたことに意味を持たせない。
 ・

・どういう仕様だったら楽しいか?モチベーション維持に効果があるか?
 ・スタート時期は一緒ではない。
 ・登録インターバルも一緒ではない。
  ・距離でソートをかけて自分の周囲を表示。
  ・周囲で同じペースの人を見つけたらその人にマークを付ける。
  ・マークが付いている人を目標にして競争。
  ・猛烈に追い上げられてきたらその人を表示してみてもよいかも。
   「なんだあいつ、すげー、的な」
 ・お互いがTwitterでフォローしあえるのを支援。
  ・任意入力
 ・自分の順位
  ・既にクリアした人をどうするか?
  ・順位に意味があるのだろうか?
  ・時間が経てば経つほど順位に意味がなくなる。
  ・順位はだしても意味ないんじゃないかな。

・登録処理手順
 ・Google認証
 ・ラリー情報登録

・クエリ処理手順
 ・Google認証
 ・マーク付き、自分の近く、指定ユーザ詳細

コメント

このブログの人気の投稿

Execノードを使う

Joinノードを使う(その4)

SendGridのX-SMTPAPIヘッダの使い方(Section Tags、Substitution Tags編)