Category Archives: planner

Upgrade yourself! =)

Creating Passionate Users is a great blog just full of insights. The latest gem is about upgrading users.

Right, that's you. (If you don't use Planner, read on; maybe I can convince you to try it out.)

Planner probably isn't interesting in itself. _You_ make Planner way cool. You aren't just an anonymous person who uses Planner. You are a bundle of unique ways of doing things and maybe I can come up with things that fit you better. I want to know how you think. What makes you tick. How you keep yourself from going crazy even though you have to keep track of so many things.

(If this is starting to freak you out, don't worry; you can pretend I'm just like any other maintainer out there. ;) Ignore that large BBDB in the corner.)

I don't think of myself as hacking just Emacs Lisp. I'm hacking your process. Your way of doing things. _Real_ planner development happens inside _your_ head when you come up with a nifty idea or something you'd like improved. Real planner development happens when you take a look at the way you do things and wonder if you can do them better. My job is to keep track of all these little things people want to do and see if someone else has already done it, I can help you do it, or I can hack it in myself. The Japanese have a word for continuous improvement—kaizen. Process optimization.

We make a lot of progress in small steps. Take that +tue feature. It's not a big thing, but it brings Planner _juuust_ a little closer to the way a lot of people think. Who knows what kind of hacks it just made easier? John Sullivan has plans for that feature, mainly for his template hacks.

The end result is that Planner is this strange, almost bewildering personal information manager that just keeps growing and growing. Sure, the quickstart introduces the essential parts of the system, but there's much more to it. I'm here to guide you through it. I'd love to ask questions to help you figure out how you plan. I'd love to suggest ways of doing things. =) Whether you're a Franklin/Covey or GTD geek or you're using a funky home-brew kind of planning method that changes all the time (I'm like that!), I'd like to think we can get Planner or some other Emacs-based PIM to dance to your tune.

(Of course, there's the danger of spending too much time hacking your process and too little time actually doing things, but I think we can keep ourselves from going overboard.)

So there. Sure, the mailing list is usually where software updates are announced, but think of it as meant for user upgrading.

Keep the suggestions coming. Share your thoughts!

Creating Passionate Users: Upgrade your users, not just your product

On Technorati:

Yet another cool little Planner hack: really smart tab expansion

One of the greatest things Planner has done for me has been to make it easy to keep track of little tasks. Having lots of things on the shelf makes it far easier for me to take advantage of moments of inspiration and turn them into real code. I do my best thinking on the train, walking home, in the bath: wherever I can squeeze some reflection into a couple of minutes of waiting. Then I mentally run through whatever little tasks I have lying around, and if inspiration hits, I run with it.

Today was pll's lucky day. He asked for ways to easily hyperlink to people's records and to days like "tomorrow", "yesterday", and "today". I remember thinking, "Hey, that would be cute." The feature was really close to something I hacked together over a year ago, so I pulled up my old configuration, tweaked it a bit, and ended up creating this nifty tab expansion module that used hippie-expand to expand planner names in an intelligent way.

I _love_ hacks like that. I love making small and nearly insignificant tweaks to help people fit Planner to the way they want to work. People may or may not use that little tab completion thing. Browsing through my ../emacs/planner-config.el and ../emacs/emacs-wiki-config.el reveals a lot of cruft I wrote long ago but have since then forgotten. The point is, at least we experiment with these things. Planner makes it easy to experiment. Planner makes it easy to try things out.

A major part of my role as the maintainer of Planner is really just to keep track of people's wishes and see if we can kludge together some kind of attempt. While other software projects have awe-inspiring grand plans, we stumble along in the directions people want to go in—sometimes contradictory—and somehow or another, we manage to make an environment that fits us. Planner is not a one-size-fits-all personal information manager. Planner is crafted, tailored for each person. Planner grows just as much as you want it to.

Of course, this constant experimentation leads to rough spots if you track the development branch and try all the new features. There are bugs we still haven't tracked down, particularly the new code that's out there so that people can bang on it and experiment with it and hammer it into something that makes sense.

I think this development model works. That's why the mailing list is essential. That's why #emacs on irc.freenode.net is essential. That's why a constant stream of suggestions really really helps.

Perhaps one day Planner will get buried under features. It already seems to be overly complex at first glance; newbies who take one look at it run away screaming. ;) I think that is something that cannot quite be addressed by documentation or simplification or even reasonable defaults. I will not hide the complexity of Planner. I will not hide Lisp programming from Planner users. In fact, you are very much encouraged to try it out, and if this is your first introduction to Emacs Lisp programming, I think that it is quite good that your first hack is something you will use and benefit from daily.

How, then, are we to manage the complexity as Planner grows more and more features? How are hapless newbies supposed to get into this extremely wonderful thing? ;)

I think the answer lies with people. I learn most by asking people how they use their Planner. I learn by asking people what they want to be able to do with their Planner. I think it's silly to ask people to use all of Planner right away—_I_ don't use all of Planner. Even if you go through the manual, there's just so much information. There are just so many ways of doing things.

The trick, really, is to evolve from something small and comfortable to something slightly larger and perhaps just a little uncomfortable, but something that is still easy to get used to. Show people the bare minimum that they need in order to do their job (or to at least feel they're keeping track of the things they need to do their job), give them a glimpse of what's possible, and encourage them to think of other things they'd like to do.

That's where little hacks like pll's tab completion fit in. Planner encourages people to think about that next little hack as a "nice to have": not something to waste a lot of time thinking about, perhaps, but something to keep on a todo list somewhere just in case inspiration strikes.

On Technorati:

Modification of johnsu01’s scoring

The following code allows you to sort tasks based on regexp matches against the line. It's fairly simple, but may give people ideas about fancier task sorting.

(setq planner-sort-tasks-key-function 'planner-sort-tasks-by-score)

(defvar planner-score-rules '(("read" . 50))
  "Alist of planner scoring rules of the form (regexp . score-value).
Tasks with higher scores are listed first.")

(defun planner-sort-tasks-by-score ()
  "Sort tasks by the rule in the table."
  (let ((score 0)
        (case-fold-search t)
        (line (buffer-substring-no-properties (line-beginning-position)
                                              (line-end-position))))
    (mapc
     (lambda (item)
       (when (string-match (car item) line)
         (setq score (- score (cdr item)))))
     planner-score-rules)
    score))

On Technorati: ,

FreeBSD ports for planner

From Dryice:

I've got emacs-wiki, planner, and remember in the FreeBSD ports tree. Now FreeBSD users can install these all by
cd /usr/ports/deskutils/remember.el
make install clean

And turn on the "planner support" in the menu.

Thank you all for making this great software!

E-Mail from Dryice Dong Liu

On Technorati:

Paul Lussier on possible Planner Linux Journal article

I just started getting you blog via rss yesterday, and just read the discussion you had over writing an article on planner. I just wanted to say that I think that is an AWESOME idea.

As Travis mentioned in the discussion, I too, have become totally adicted to using planner (which, ironically, helps me procrasinate from doing the stuff I need to, but "planning" it :)

There were a couple of points you mentioned that I'd like to touch on, and share my experiences with emacs-wiki, planner, the community, etc. Perhaps it's something you can use in your articles, perhaps not, but I'd like to share it with you nonetheless :)

   We're sitting on something cool here. We're sitting on a
           software project crazy enough to interest people who
           ordinarily wouldn't consider Emacs.

I think this is a fantastic observation. My own experience isn't too far off. I started using emacs over 10 years ago. But it was "just a powerful editor". I used it for the obvious things writing perl/shell code because I just liked the font-lock colors. And I used it for somewhat less obvious things like the column/rectangle manipulation which comes in *real* handy for dealing with things like large /etc/hosts or DNS zone tables which are all column oriented data. I had hacked a few functions of things I found useful, but maintained a rather small .emacs file.

About a year ago, my manager was gone for 6 weeks (boy was that nice :) She and I didnt' get along overly well, but the guy who stood in for her I got along with quite well. He happened to be a project manager, who has had MS Project surgically implanted :) I needed something I could keep track of things with. I found etask, but then saw emacs-wiki and planner. This seemed a more natural way of planning.

As I started in using planner and emacs-wiki, I very quickly became addicted. This was almost literally, an overnight conversion of my life. I no sooner started using emacs-wiki/planner, than I found myself using erc. Reading johnw's README for planner led me to his site, where I discovered ledger (John's unbelievably powerful financial app.) and eshell. Then came (in no specific order) w3m, muse, remember, bbdb, and last, but not least, gnus. The last three are significant. I had been mostly happy with my prior e-mail environment of an mh-backend based e-mail solution for the better part of a decade. But there was no way I could hook that in to planner, and after a several months of resistance, I attempted the switch to mh-e which, as you may remember, didn't go so well :) So, now I'm on gnus, and almost every facet of my life is now hooked into emacs. I've learned more about emacs and lisp in the past year than I have in the past 10 years.

A more profound observation is this:

   Heck, we're even getting non-programmers into Lisp.

I wouldn't consider myself a non-programmer, but I'm not a programmer either. I've got a degree in CS, and know my way around C a little bit, but my strengths, as a sysadmin, are really in perl. I love perl, think in perl, and can solve almost all my problems in perl. All except the hacks I want added into planner :) As a result of planner though, I've felt very much at a loss. The ability to contribute is so obviously there and within my reach, but the capability not so much. I can plainly see that if I could think in lisp, I could contribute to planner, but the stumbling block is my thought process, which is wired to think in perl. As a result, planner has inspired me to begin learning lisp, merely to be able to help myself, and others through what contributions to planner I may someday come up with. I learned perl out of necessity because it was better for the job I needed to do at the time. I'm learning lisp out of love of an application written in it, and a desire to help make it better :)

Then there's this:

   - We don't hide the Lisp code. It's there. Newbies get
           exposed to it. The way we deal with it, though, is by asking
           people to describe--in English--what they want to do--their
           dream PIM--and more experienced people would give them
           snippets of code and tips for making it happen.

This has been instrumental for me. To be able say "when I do X, I want Y to happen", and have that feature within minutes (or seconds!) available to me is astounding. The hack you presented for getting remember to know when it was on a task and create a related note, while I don't understand it yet, works superbly! That I could ask for that feature, and you could provide it is both a testament to how easy it is to extend planner and to how welcoming the community is of requests and features that may not be immediately useful to anyne else but the requestor (err, have I mentioned how much hippie-expand ROCKS lately ;)

   Yes.  But was this growth conscious?

This is a great question. And I think the answer is twofold. Did johnw intend to create such a vibrant community around planner? No, I don't think so. He was scratching a personal itch. Did you intend/expect this to explode the way it has, or did you plan it? I don't think so. In retrospect though, I think we could say that it was inevitable given your personality, love of people, and desire to help/teach others. Those who actively reach out, soon find themselves surrounded by others of like quality. Once you realized there was a community growing though, I think it became very much a conscious thought as to how to grow the community, and how to get planner to fit as many people's habits as possible. The open acceptance of hacking the code to custom fit anyone who happened to be interested is the obvious way to do that. Planner's design which allows people to choose from a menu of features, and to start out extremely simple and build up slowly is also very much a factor in why the community has evolved the way it has.

Planner seems to have created friendships and acquaintances across a diverse set of individuals. Some of us are #emacs, some are on the mailing list, and some are on both. A few of us see each other in other IRC channels as well (of course, the common link is johnw, which is why I think we should really create #johnw :) Regardless, planner has definitely had quite an impact on a lot of people, and I don't see that ending any time soon!

I guess that's it. I'm beginning to ramble now :) I just wanted to share that with you, and wish you luck on the forthcoming articles for LJ. I'll certainly be eagerly awaiting those issues!

Oh, and if there's any help I can provide for the articles, I'd be happy to assist.

E-Mail from Paul Lussier

隣人は4人姉妹と猫1匹です。 My neighbors are four sisters and a cat.

On Technorati: ,

On organization

joroxx said:

oh man, how do you keep a life so organized? ya know i love emacs and lisp but i'm bogging down on planner. :-(

i guess i like spontainity and surprises! :-)

Some people look at my website and think I'm organized. I have no idea what gives them that impression. Maybe it's the color-coded task list. Yes, yes, that must be it.

Regular readers will notice, however, that I procrastinate as much as anyone else. Just check my website tomorrow and see which tasks still aren't done. ;) In fact, if you look at the linked pages, you'll find lots of tasks I haven't even scheduled.

I guess I procrastinate in an organized manner. ;) Planner lets me do that. It doesn't guilt-trip me into productivity or nag me to do things. Rather, it helps me keep track of the things I'd like to eventually get around to doing, and it occasionally reminds me that I should do some of those things soon.

Planner makes working fun. I love seeing crossed-off tasks on my Planner. When I break things down into tiny little pieces and cross them off my list, it feels good. On the other hand, if I don't manage to cross off anything on my list, that means I had either made progress on at least one task or had fun doing something unexpected. <grin>

I love surprises, too. Today I had lunch with Clair and Madj at Greenbelt. Totally unplanned—actually, I was just planning to sleep in—but totally, totally fun. Then my mom and I went to a wedding in Alabang, and that was surprisingly wonderful and sweet... =)

E-Mail from Richi's server

秘密はもうすっかり知れ渡っているよ。 The cat is well out of the bag.

On Technorati: , ,