Most important concept: OrgMode web interface
Second import concept: get the hacker base (software development?)
Current systems are not accessible everywhere
Org-mode is a great conceptual system
Simple system
Flexible enough to accomodate lots of complexity
Headings (** style) are a nice organizational structure
Very steep learning curve
Keyboard shortcuts should be optional
Want to get benefits of org-mode without the need to learn org-mode
Let individuals run their own cloud if desired
Find a way to determine what stuff is
Then find a way to turn that into income
What (Outcome) - It should (be)…
Open source
Modular
Flexible
Allow quick addition of plugins for different inbox sources
Intuitive
Accessible without an internet connection
Cross platform
Optimized for GTD use
Able to handle content that is not GTD structured
Valuable from day 0
Provide all currently actionable items
Hide currently non-actionable items
Scalable to enterprise level needs
Able to merge offline changes into database
Include some form of version control
Unify as many inboxes as possible
Provide tutorials for how to maximize value
Not require tutorials to be useable
An interface with others, even if they’re not using this application
Conditions MPTT condition # of states Visual cue
Children and details lft - rght > 1 3 100% opacity
No children, details lft - rght == 1 2 50% opacity
Things I need for my own use
Week long agendas
Built-in calendar
Time-specific vs day-specific
Penetration testing
IMAP/POP import plugin
GMail import plugin
Google calendar import plugin
Google voice import plugin
Things that others will need
Google tasks import plugin (Emily)
My inbox is not messages but a disorganized todo list
New protocol should be independent of OrgWolf application
Messages should include TODO information
Current e-mail format (SMTP?) with extra pieces?
Find out what the current format of SMTP messages is
New format entirely?
The sender should not have to worry whether the recipient has this capability
Messaging could use non-email forms for some recipients
eg. a friend only uses SMS so send a text instead
Once set, this should be transparent to the sender
The recipient should have total control over the status, deadline, etc.
The sender can ask for:
Status (NEXT, DFRD, HARD)
Deadline
Scheduled date (for deferred)
Regardless of status is shows up as “in” for approval
Recipient can then change parameters as necessary
Should this be communicated back to the sender?
The standard defines some basic TODO states
Can individual implementations add their own?
Would this lead to fragmentation problems?
Add sent messages to [waiting for] list
Allow for encryption and signing (GPG?)
Required by individual implementation?
Sender can ask for return receipt?
Sender can ask to be kept informed of all decisions/changes?
Group messages (similar to Facebook messenger)
Encryption
Mobile apps/Usage portals
Update mechanism
Keyboard shortcuts
Setup wizard for server app
Quick add tasks
How to implement without javascript?
Barcode scanner?
I need to buy one of these [snap]
What transfer protocol to use
XML/JSON/etc
SSH/SSL/etc
Encryption
Sync dismissals across devices
Dictate to inbox or todo list
Try and transcribe voice dictations
Keep local copy for offline use
How should we manage conlicting changes?
Capture voicemail in inbox
Make it easy to capture ad-hoc ideas
Alarms with varying intensity)
Notification
Wake-up alarm
System checks morning alarm against daily calendar
Document scanning
Send image to inbox
Can be cropped/stored later
System can try and predict cropping while item sits in inbox
Take notes after a call
New NEXT items
New DFRD items
RESTfull
Google Cloud Message
Capture widget
One click add to shopping lists
Polished installers
System tray pop-up
Data available offline
Guake style overlay dialog
chrome/FF/Opera extensions
Pin things for later reading (similar to Pocket)
Smart notepad
Wall-mounted touchscreen
In-vehicle device
Voice dictation?
How do we connect to server?
Simply tell mobile client you’re in the car?
A person needs different tools depending on how she’s thinking
These may correspond to different Django templates
Hide the un-used items or just ghost them
How does she switch modes?
Reminders to visit modes (like Org Mode)
Create the structures for the rest of this
Equivalent to writing a .emacs file
I’m focused on something else but make sure nothing blows up
eg. Emily is teaching
Creative thinking
Minimal distraction
Sort through inbox
Decide what “stuff” is
Work through items on a to-do list
Tied in to weekly review workflow?
Internationalization
django caching
Org-mode markup
bold
italic
underlined
code
verbatim
strikethrough
Remind about TV shows
Video to watch
Material could be part of more than 1 project
Version control
Project categories?
eg. workout calendar
or is this just a project
Attachments
how to handle errands, as tool or as location?
contexts as a sequence of if…then statements
eg. if my students are not in the room then I can do these things
could be handled with tags?
[ ] validate this model
[X] get_children()
[X] scope = ManyToMany(Scope)
[X] parent
a project is a Node with parent=root
material could be part of more than 1 project
what-is-it criteria
[X] todo_state = ForeignKey(TodoState)
scheduling criteria
[X] deadline
[X] closed_date
[X] scheduled
[X] repeating (both value and unit)
[X] repeat_strict (repeat from when completed or when scheduled)
selection criteria
[X] tag_string
[X] mental_energy (high/low)
[X] priority (A/B/C)
[X] time_needed (high/low)
tools, locations, and people are all tags
[X] add_context_item()
[X] rm_context_item()
[X] get_context_items()
[X] display
[X] value
[X] owner
No owner means it’s a built-in tag
[X] public
[3/3] class Location(Tag):
[X] GPS_info
[X] tools_available
[X] tools_unavailable
[4/4] class Contact(Tag):
[X] f_name
[X] l_name
(display)
Automagically determine from f_name + l_name
(tag_string)
(owner)
[X] auth.user
[X] messaging.contact
make distinction between someday and maybe?
[X] actionable = BooleanField(default=True)
[X] done
[X] abbreviation = CharField()
[X] display_text = CharField()
[X] owner
[X] display
[X] public
[X] tools_available
[X] tools_unavailable
[X] locations_available
[X] locations_unavailable
[X] people_available
[X] people_unavailable
[X] get_actions_list
[X] title
[X] owner
[X] other_users
(description will be first child node)
priority_value (0-100, 0 is highest)
owner
dones = ManyToMany(GTD.TodoState)
todos = ManyToMany(GTD.TodoState)
Archived and children status
default show_all
if heading has… calls open() opacity calls open() opacity
this.populated = true text Yes 100 Yes 100
has_children No 30 Yes 100
has_unarchived_children Yes 100 Yes 100
none No 0 No 0
this.populated = false text Yes 100 Yes 100
has_children Yes 60 Yes 100
none No 0 No 0
Markdown
Merge projects (and related contents)
Attachments
Different people can change status on same project?
Multiple people assigned to a project
E-mail
GMail
Yahoo mail
Any IMAP/POP inbox
How to handle labels/folders
Facebook
Calendars
Lotus Notes
Google calendar
Google tasks
Text messaging
Google voice
Generic text messaging
Voicemail
Fax
Twitter
News aggregators
Google reader
Reddit
Tumblr
Browser bookmarks
LinkedIn
E-mail
IMAP/POP folders
Directly send mail with SMTP
Voice calls connected directly
People
Calendars
Google tasks
Allow use as list manager?
Text messaging
Google voice
Generic text messaging
Content to consume
Fax
Postal address lookup
LinkedIn
Per-user directories to hold org-mode files
Modify (‘write-file) lisp command to save to OrgWolf API
Read/write using named pipes
iNotify for reading changed org-mode files
Custom .emacs files for SSH access
Key is to make sure there’s action in it!!
Version control
Purging
Allow processing of images and notes off-line
Scan and send immediately to “in”
Cut/crop/modify scanned images later
How to handle storage requirements?
Freenet style distributed storage?
How to handle support material
Desktop clients for reference material
Similar to SparkleShare
MacOS
Windows
GNU/Linux
How to handle specific life-span material
Current info folder
Expiration dates
Addition User Info (User.profile)
Tutorial status
done States
Todo States
Strict or loose GTD enforcement
Track birthdays
User’s birthday
Wordpress style
orgwolf.com –> Company and consulting
orgwolf.net –> Actual app interface
orgwolf.org –> FOSS download and bug tracking
Wolfmail.net?
orgmail.com?
Current products/competitors
David Allen meta app
Nozbe
doit.im
wunderlist
fetchnotes (#todo get groceries)
Trello
Omnifocus
workflowwy
Allow multiple forms of key signing
Messaging protocol uses the web of trust for transmission
Built in web of trust
Unlock private key upon login
Re-lock with cookie for later use
This piece should be proprietary
eg. “buy new mouse” shows sponsored links
Sell users information?
GTD consulting services
Premium accounts
Sell support
Enterprise customers
“We install on your hardware”
sell specialized capture devices
Automatically play music based on what I’m doing?
Minimalistic
Google style
Wordpress column style
Bootstrap for CSS
Other CSS libraries?
Javascript
Different modes hide unwanted areas
Different modes refresh with only wanted areas
3-way twisty for project view
Collapsed
Show summary
show details
Use natural selection to create new regular expressions