BUGabundo/mobileapp

=StatusNet mobile app spec= v 0.2 / [docs.google.com/Edit?docid=df4hbkwr_37dvvjm2g8 edit]

First and for most, this spec is meant to write down the bullet points of what are the requirements of a mobile app, so it works and supports StatusNet functionalities.
(for the most part, i'll do specific points based on Android, but general points can be applied to any platform)


 *  Must be F/LOSS based;
 * Should support
 * any public or private StatusNet (or Laconica for legacy) server;
 * SSL and non-SSL servers;
 * OAuth for login;
 * User/Pass for login;
 * utf-8 & ascii;


 * char count (but not impose limit);
 * clear/escape inserted text;


 * ReDent;


 * User:
 * Timeline;
 * Replies;
 * Context view;
 * Favorites:
 * Mark;
 * View;
 * DM;
 * Group:


 * view timelines;
 * view group subcriptions;
 * sub / unsub;
 * Hashtags;
 * FOAF:
 * Subscribers;
 * Subscriptions;
 * follow / unsub users�
 * local
 * remote
 * data export > offline reading;�  # not sure this would apply to mobile usage :\ -- BUGabundo


 * Other users:
 * Timeline;
 * Replies;
 * Context;
 * FOAF:
 * Subscribers;
 * Subscriptions;
 * Favorites:
 * Mark;
 * View;
 * DM;
 * Hashtags;
 * Site:
 * Public Timeline;
 * Public Favorites:
 * Mark;
 * View;
 * Public Hashtags;
 * g11n, i18n, l10n


 * Upload (if enabled on the server):
 * Pics/photos;
 * Music;
 * Video;
 * Other files;
 * Avatar (not supported yet);
 * OEmbeb:
 * Pics/photos;
 * Music;
 * Video
 * Google Maps;
 * OpenStreetmap;


 * Update Geo localization (not supported yet);
 * GPS;
 * Cell;
 * Manual input;


 * Performance:
 * Lightweight;
 * low RAM usage;
 * avatar cache (avoiding to many network requests);
 * outgoing notice cache (so user can send even without network);
 * incoming notice cache (so user can read even if without network);
 * incoming notice cache (so user can read even if without network);


 * User settings for time to check for new updates
 * {| id="sm6:" border="1" cellpadding="3"
 * width="11.11111111111111%" | 30 sec
 * width="11.11111111111111%" | 1 min
 * width="11.11111111111111%" | 2 min
 * width="11.11111111111111%" | 5 min
 * width="11.11111111111111%" | 10 min
 * width="11.11111111111111%" | 15 min
 * width="11.11111111111111%" | 20 min
 * width="11.11111111111111%" | 30 min
 * width="11.11111111111111%" | 1 hour
 * }
 * }


 * Notifications:
 * Sound (configurable, and silence);
 * PopUp;
 * Status bar;
 * Led(s);
 * Led(s);


 * Replies;
 * User timeline;
 * Public Timeline;
 * Post to HashTag;
 * Post to Group;


 * PubSub ( :D )


 * Extra (paid app ? )
 * Multi account;
 * Twitter