TweeTabs
as a project
The
following notes are extracted from a "flash"
presentation of the idea behind
TweeTabs at `MontrealPython 6` http://montrealpython.org/.
I use them as a reminder, and remove items below as
they get documented or integrated
elsewhere.
- Twitter appealing nature
- This is about following, not about
getting followers
- Lots of good information, yet lot of
noise too
- Sparing one's own time
- Current readers are not user-efficient
enough
- Not really set for high volume or high
density
- Getting Twitter and social networks
experience
Tabs
of strips
- Much familiar, but under-exploited
- For both presentation and contents
- Pushing on the paradigm
- Container (chrome) for an application
(engine)
- Typed contents (all strips of the same type)
- Attributes
- User flags (for grouping or
otherwise)
- Text (might be another attribute)
- Other nested tabs
- Streams
- A way for an engine
- Each tab represents dynamic, typed
contents
- Hidden tabs may convey computation
- A way to a user interface
- Scrollable (smoothly)
- Drag and drop triggering drop-down
menus
- Vertical (a few horizontal) and
resizeable
- Maybe transferable between windows
- A way to configuration
- Handling many identities (v.g. icule,
iculefr)
- Management of Twitter API rate
limiting
- Internationalization
- Maybe text spelling and text
translation
- Id management (users, statuses)
- A way for an help system
- A self-generated stream of strips
- But contextual tooltips
- This is the central concept
(hence TweeTabs)
Built-in tabs
- TweeTabs configuration
- Timelines (public, or per user)
- Following (ing)
- Followers (ers)
- Single user profiles
- Twitter searches
Tab
management
- Cloning and copying
- Auto-hide operands
- On the tab slip
- Left-click to select and pop (if not
fully visible)
- Right-click on the tab slip (refresh,
rename, delete, hide)
- Left-drag to another tab (reorganise,
nest, merge), or maybe alternatively
cut-and-paste whole tabs
Tab
filtering
- Unaries, but also extractors
- Searches
- by keyword or regexp-driven
selection
- locally, or through Twitter search
- By natural language (or with
translation?)
- Flag arithmetic
- Statistical summaries (changes tab type)
Tab
merging
- Binaries or more-than-binaries, also
extractors
- Usual set operations (union, intersection,
difference)
Tab
tools
- Editors (when not external)
- Tabular editor
- XML editor
- Python editor
- Various features
Composition tab
- URL and text shorteners
- TwitPic and similar tools, for
inclusions
- Maybe spell checking, maybe translation
Strips (within tabs)
- Logically holds a hidden composition tab
- Maybe toggled as read, either in local tab or
recursively
- Strip editor
Remanent state
- Generated locally
- Sharable format (XML? Json?)
- Synchronization
- Elegance, efficiency, and
pleasure
- Simplicity (a few dependencies, but not
too many)
- No framework (XUL, Eclipse, twisted,
etc.)
- Failure recovery
- Synergy with
- Web browsers (Firefox first)
- twitter.com in particular
- Email user agents (Thunderbird
first)
- local disk files
-
Scriptability
- Both for chrome and engine
- Triggers
- Users
- Local events (time, file
changes)
- External events (updates,
notifications)
- Subsuming other tools
- Escaping lots of Web applications
- Many do not do so much
- Many want my credentials
- Plugin structure
- Maybe other protocols (likely later)
- Set up a team
- Modus operandi (not fully cathedral, not
fully bazaar)
- Visual design, documentation,
communication, development
- Packaging and installation, distribution,
maintenance
- Per operating system and software
architecture
- Administrative setup
- Project name, logo and motto
- Web site, wiki, blog, mailing list (and
of course, tweets!)
- Produce a design
- Concepts, terminlogy, architecture
- Survey of various tools
- Inventory of worth features
- Artistic (chrome) preferences
- Designers welcome!
- GTK look to start with
- SVG derived icons, Gnome aesthetic
- Technological (engine) preferences
- Python 2.5 or 2.6, pygtk,
twyt maybe, git
- Reasonable / minimal support for Gnome,
KDE or other such
- Yet Gnome and GTK drive the
aesthetics
- Development (chrome over engine, not instead
of!)
- Porting (Linux, then Windows and Mac)
- I really want to be a user, more than a
developer or a lead
- so little free time
- too many things to learn (yet it would be
fun!)
- A collective experiment, then?
- Niceties (brainstorm, synergy,
speed)
- Dangers (too soon, comitosis, bloat,
riots)
- Architecture
- Caching core
- Twitter contact and API
management
- Local store (all knowledge stamped)
- UserId to User
- Stamp to UserId
- User to MessageIds
- Pluggable tabs GUI
- Timeline tabs
- Own, public, mentions, direct
message, per user
- Management tabs
- own statuses
- direct messages
- favorites
- blocks
- Other pluggable script applications
- Development platforms
- Python
- Erlang
- erlang_twitter
capabilities
- Support for GTK / Glade? Pango?
Cairo?
- Air
- Co-routine connexion queues
- One input, multiple output
- Multiple input
- Databases
- Sharability
- Compare SQLite, MySQL, DB API,
Mnesia
|