From mboxrd@z Thu Jan 1 00:00:00 1970 From: Carsten Dominik Subject: Re: iPhone ----> org-mode Date: Fri, 27 Mar 2009 10:15:51 +0100 Message-ID: <6F88B7E3-F9DB-4ABE-9DFD-277F12BA31F5@gmail.com> References: <15979874-86B6-4E93-9EDD-CE1A30E6525A@uva.nl> <49C9FAC6.2070904@manor-farm.org> <41c818190903250357r147a6a8ah65feac62df49835@mail.gmail.com> <71454fac0903261121u79e85c3bq2538a294701e4c78@mail.gmail.com> Mime-Version: 1.0 (Apple Message framework v930.3) Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Ln8et-0005Zd-6H for emacs-orgmode@gnu.org; Fri, 27 Mar 2009 05:47:27 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Ln8en-0005WQ-F2 for emacs-orgmode@gnu.org; Fri, 27 Mar 2009 05:47:25 -0400 Received: from [199.232.76.173] (port=55396 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ln8en-0005WK-7S for emacs-orgmode@gnu.org; Fri, 27 Mar 2009 05:47:21 -0400 Received: from mail-ew0-f160.google.com ([209.85.219.160]:44146) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Ln8em-0003vf-KG for emacs-orgmode@gnu.org; Fri, 27 Mar 2009 05:47:20 -0400 Received: by ewy4 with SMTP id 4so1027687ewy.42 for ; Fri, 27 Mar 2009 02:47:18 -0700 (PDT) In-Reply-To: <71454fac0903261121u79e85c3bq2538a294701e4c78@mail.gmail.com> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Greg Newman Cc: emacs-orgmode Mailinglist On Mar 26, 2009, at 7:21 PM, Greg Newman wrote: > Carsten Dominik wrote: > >> I am still looking for a dedicated iPhone developer who will write >> and Org-mode app :-) > > I'm still looking for a reason to use my iphone developer license. Really? Well, here is my view on how to design such an app, maybe it will inspire you. Table of Contents ================= 1 Basic principles 1.1 Simplicity 1.2 Forget Synchronization 1.3 Offline 2 Main features 2.1 Capture 2.2 Display of current tasks 2.3 Flagging 3 Implementation proposal 3.1 Main screen 3.2 Data Desktop->iPod 3.3 Data iPhone->Desktop 4 The experience on the Emacs side 1 Basic principles ~~~~~~~~~~~~~~~~~~~ 1.1 Simplicity =============== Don't even think about re-creating Org-mode for the iPhone/iPod. If this is what you want, get a mobile device that runs Emacs. Too many companies have tried to duplicate their desktop experience on the iPhone, and most have, in my opinion failed. If you look at the iPhone versions of Things, OmniFocus, Evernote, you name it, all of them are too complicated for the touch interface. Simplicity is the absolute key to make things work on that platform. When I am trying to enter a new note in Evernote, for example, it drives me crazy that I have to tap on the title filed, just to start entering a title, then tap done, then tap a date field, use some unpleasant interface to select a date, then tap done, all of this before I have even started to write my note. Apples Notes app does that right, tap "+" to create a note, and then type away, title automatically extracted from the first line, done. 1.2 Forget Synchronization =========================== I believe that something that does direct, 2-way synchronization between Org and a mobile app will be very hard to get right. Instead, I propose a two data streams, one from the desktop to the app, one back. 1.3 Offline ============ I believe it is essential that this app works offline as well. You could be on a plane, or, more importantly, you could be an iPod Touch user (I am), unwilling to pay $30 or more per month to keep your data service running. I am an offline user. I downloaded most of Wikipedia onto the Touch, and being able to use the app offline I see as an essential feature. 2 Main features ~~~~~~~~~~~~~~~~ 2.1 Capture ============ Create new Org entries like notes in as primitive a way as possible. 2.2 Display of current tasks ============================= List the most recent agenda view from the desktop, including the task list and whatever other views you have configured for this. Just one simple list to rule them all, maybe with toolbar buttons to jump to the agenda section, the task list section, etc. Simplicity! 2.3 Flagging ============= In the list of tasks, have at most two buttons for each task. Actually I would be satisfied only the first one, but might like the second one. Here are the buttons: 1. Flag entry for later attention when I am back at my desktop 2. Done, get it out of my sight without further interaction. Precise action to be defined in Emacs. 3 Implementation proposal ~~~~~~~~~~~~~~~~~~~~~~~~~~ 3.1 Main screen ================ Directly into the task list, with a top level button to create a new task/note, maybe in the tool bar at the bottom of the page. 3.2 Data Desktop->iPod ======================= Make Emacs automatically create a special agenda-like view, containing the agenda for the coming week, and current task. We can configure this in Emacs, and I can push out this list in any desired format. Each entry listed will be forced to have an ID, for unique identification. I don't know how to get this list onto the iPhone, maybe the easiest would be to mount the iPhone via WiFi and to push a single file onto it. Apps like Datacase do this kind of a thing. 3.3 Data iPhone->Desktop ========================= The iPhone app should create a single file like an RSS feed. This feed would contain two kinds of items 1. New entries captured. We could be really clever on the Desktop/Emacs side in parsing these new entries, extracting free form dates from things like +2Fri etc. Now stupid date input forms on the iPhone, just free typing and clever interpretation. 2. IDs of flagged entries. The next time at your Desktop, Emacs will make an agenda view listing all the flagged entries, and then you can archive them, add notes, changes states, from you memory. You will do this in the full environment provided by Emacs, not on a crippled interface. In this way, the lack of synchronization will be a feature, not a bug. 4 The experience on the Emacs side ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. When you start Org-mode, we would check if the iPhone is mounted. If yes, we would periodically (with a timer) create the latest best agenda view and push it onto the device, so that you have a fresh version when you disconnect. 2. If the phone is mounted, Emacs would check if the "feed" file exists. If yes, it would read it and remove it from the iPhone so that new entries will create a new feed file. Emacs would add the new node to an inbox (like org-feed.el does now for RSS feeds). It would mark and archive (or whatever you configure for this) the entries flagged as "get out of my sight". And it would store the list of IDs of entries that require "attention", and will offer agenda views based on this list. This is it. This would make me happy. I would of course be willing to handle the entire Emacs side of this. Comments?