On this page:

Emacs, Evernote (through enscript.exe), and Org links

I’ve given myself permission to spend an hour or two tickling my brain with various technical ideas and prototypes every day. This means Emacs geekery is going to turn up on my blog more often. =) Here’s a recent hack that I put together to make my weekly reviews a little easier.

I skim a lot of blog posts on my phone using the Feedly app. (See: How to read blogs efficiently with a feed reader.) I save the posts I want to follow up on or include in my weekly round-up. I have an If This Then That recipe that monitors my saved items and stashes them in Evernote with the roundup tag. If I come across other interesting pages while browsing on my computer, I use the Evernote Web Clipper to save those pages with the roundup tag as well.

In the past, I selected a range of notes to export from Evernote, saved them to a file, and used my sacha/evernote-extract-links-for-review function to extract the titles and URLs. I opened each of the pages with C-c C-o (org-open-at-point) to refresh my memory and follow up. I deleted lines that were no longer relevant. Since IFTTT had changed to rewriting the URLs instead of leaving the source URLs alone, I copied the original URLs and replaced the links that were in Org.

This is Emacs, though, and even that can be smoothened with a little scripting. Now I can use the code below to expand URLs and to open all the URLs in the region.

Link-related convenience functions

I picked this up from http://www.emacswiki.org/emacs/AlexSchroederConfigOrientalibombus .

(defun kensanata/resolve-redirect (url)
  "Resolve shortened URL by launching `curl --head' and parsing the result."
  (let* ((curl (shell-command-to-string
                (format "curl --silent --head %s" url)))
         (location (when (and (string-match "\\`HTTP/1\.1 301" curl)
                              (string-match "^Location: \\(.*\\)" curl))
                     (match-string 1 curl))))
    (or location url)))

(defun sacha/resolve-urls-in-region (beg end)
  "Expand URLs between BEG and END."
  (interactive "r")
  (save-excursion
    (save-restriction
      (narrow-to-region beg end)
      (goto-char (point-min))
      (while (re-search-forward org-bracket-link-regexp nil t)
        (replace-match (save-match-data (kensanata/resolve-redirect
                                         (match-string 1))) t t nil 1))
      (goto-char (point-min))
      (while (re-search-forward org-link-re-with-space nil t)
        (replace-match (save-match-data (kensanata/resolve-redirect
                                         (match-string 0))) t t nil)))))

(defun sacha/open-urls-in-region (beg end)
  "Open URLs between BEG and END."
  (interactive "r")
  (save-excursion
    (save-restriction
      (narrow-to-region beg end)
      (goto-char (point-min))
      (while (re-search-forward org-plain-link-re nil t)
        (org-open-at-point)))))

Evernote-related extract

Evernote on Windows doesn’t have the same kind of scripting capabilities that Evernote on the Mac has, but it turns out you can still do a fair bit of scripting with the enscript tool.

(defun sacha/evernote-export-and-extract (start-date end-date)
  "Extract notes created on or after START-DATE and before END-DATE."
  (let ((filename "c:/sacha/tmp/Evernote.enex"))
    (call-process 
     "c:/Program Files (x86)/Evernote/Evernote/enscript.exe"
     nil t t
     "exportNotes"
     "/q" (concat
           " tag:roundup"
           " created:" (replace-regexp-in-string "-" "" start-date)
           " -created:" (replace-regexp-in-string "-" "" end-date))
     "/f" filename)
    (sacha/evernote-extract-links-for-review filename)))

(defun sacha/evernote-extract-links-for-review (filename)
  "Extract note names and URLs from FILENAME.
     The file should be an ENEX export."
  (interactive (list (read-file-name "File: ")
                     (org-read-date)
                     (org-read-date)))
  (let (list)
    (with-temp-buffer
      (insert-file-contents filename)
      (goto-char (point-min))
      (while (re-search-forward "<title>\\(.+?\\)</title>\\(.*?\n\\)*?.*?href=\"\\(.*?\\)\"" nil t)
        (setq list
              (cons
               (cons
                (match-string-no-properties 1)
                (match-string-no-properties 3)) list))))
    (setq list
          (mapconcat (lambda (x)
                       (concat "- [["
                               (kensanata/resolve-redirect (cdr x))
                               "][" (car x) "]]: ")) list "\n"))
          (if (called-interactively-p 'any)
              (insert list)
            list)))

Let’s see how this new workflow goes. =) If you’re curious, you can check out the rest of my weekly-review-related code in my Emacs configuration.

Thinking about how I can use Evernote more effectively

image

Every so often, I go on a tagging and filing spree. It took me a couple of hours, but I finally cleared the 700+ items that had piled up in my Evernote inbox. I was thinking about how to get even better at this because Timothy Kenny told me how he has a virtual assistant file the notes in his Microsoft OneNote notebooks.

Is my filing really worth it? Is it something I value enough to pay someone else to do? Could I explain what I wanted clearly enough so that other people could do it? Could I benefit from organization even if I’m not the one organizing things myself?

Before I dig into that, I should probably examine this question: What do I use Evernote for, and what could “better” look like?

Here’s a quick summary of the different reasons I use Evernote:

Type of note Description Organization Improvements
Sketchnotes Collection of my sketchnotes for easy searching Shared notebook, tagged by type Fine the way it is
Inspiration Interesting sketchnotes, images, and web designs Notebook, tagged by technique Tag and file when clipping, identify key areas of focus
Visual library Visual thesaurus / sketches of abstract and concrete stuff Notebook, titles updated, duplicates merged Improve workflow – delegate titling?
E-mail archives Keep important information no matter which e-mail inbox it’s from None at the moment; notebook and tags Tag and file when forwarding
People, conversations Quick notes from my mobile Notebook Add full names; consider Evernote Hello for mobile input?
Ideas and thoughts Quick notes from my mobile Notebook Should have weekly task to review and act on; separate from main Inbox?
Actions Quick notes from my mobile, when I’m away from Org Notebook Should have weekly task to review and act on / copy into my Org file
Cooking Recipes, usually with pictures Notebook, tagged by technique or dietary considerations Review periodically; update when cooked
Wishlist Resources to buy after more consideration None at the moment; tags, probably Tag and file when clipping
Reference books Books held by the Toronto Reference Library, to request next time I’m there Notebook, search Go to the library more often
Letters Scanned letters so that I can review correspondence Notebook, tagged by person Fine the way it is
PDFs Makes PDFs more searchable Inbox, occasionally tagged Use Web Clipper to specify tags and file in Notes right away
Blog posts / casual browsing Interesting things that might be useful someday, especially for related items Notebook Use Web Clipper to file in Notes right away
Other sketches Scanned sketchbook pages so that I can review Notebook Fine the way it is
Private notes Things that I might want to remember or write about someday, but not yet Notebook Have an outline?
Blog post ideas Inspiration, drafts, links, images, checklists Notebook, some tags Add links to outline?
Business and personal receipts Back up business and personal receipts; possibly be able to search through them Notebook; tags, or just use folders on my drive? Decide where to do the organization; have an assistant retitle before import?
Blog research? Clipped pages so they’ll show up in Google Search and related notes, and so that I can review them even if the source disappears (payoff > 2 years) No organization; search by keywords or sourceurl: Clip, but remove from inbox quickly

I have different types of clipping activities:

  • A. Researching a topic, which results in lots of clips related to a single topic. Usually in preparation for a blog post or as a way to answer a question.
  • B. Casual browsing and clipping based on blog posts, news items, or other things I come across; roughly topical (ex: skill development), although may be tagged and filed in different places
  • C. Saving reference material from email or websites, which should be filed
  • D. Adding notes on the go using my phone, which should be reviewed and acted on or filed when I get back to my computer
  • E. Automatically clipping things based on external input, using services like IFTTT to archive my blog posts.

There are several strategies I could use to manage my Evernote collection. I can choose different strategies based on the results that I want. Here are some possibilities:

  • A. Spend a few extra seconds tagging and filing things when I clip them. Advantage: I touch something once, so I don’t have to recall the context of an item.
  • B. Capture everything into an !Inbox, then file shortly after clipping. Advantages: I can select multiple entries and tag them give them the same tags, and copy all the note links in one go.
  • C. Capture everything into an !Inbox, then file weekly. This is my current strategy. This isn’t working out too well – things pile up.
  • D. Capture everything into an !Inbox, then teach someone to file.

I think strategy B will give me a good improvement in performance without me needing to bring in someone else.

One of the areas that I could generally improve in is integrating the notes into my outlines and plans. Instead of just collecting the information, maybe I can use Copy Note Link and then spend some time adding those links to my outline. Alternatively, I can copy the source URL right then and there, find where it fits into my outline, and paste the link. If org2blog respects comments, I could even use that as part of my workflow.

If I were to outsource more tasks in order to improve my effectiveness at learning, I think I’d gain more value from finding someone who can speed-read like I do, filtering through lots of cruft on the Internet to find high-quality resources. They could then clip those pages into Evernote for my review. That might be worth an experiment or two… Let’s find out how that works!

Mural.ly and Evernote: Redesigning my landing page

Hello, I’m Sacha Chua, and today I’m going to show you some of the ways I’ve been using Mural.ly‘s new Evernote integration as well as the Areas and Outline feature. (You can enable the Areas & Outline feature by clicking on your account picture, choosing Settings, and choosing Labs.)

You can watch the screencast (< 2 minutes), or read the blog post below.

I was recently working on a small redesign of my blog’s landing page at LivingAnAwesomeLife.com. While giving people my card, I realized that my personal blog can be… a little overwhelming for people. Time to design a new page!

First, I started with some ideas for what I want this page to do. The text tool makes this easier, and I can draw connectors between items. Even if I move the items around, they stay connected.

Untitled (Time 0_00_30;03)

There’s a lot of great inspiration out there, so I use the Evernote Web Clipper to save images and webpages to my notebooks. I file the relevant notes in my project notebook and tag them with keywords.

Untitled (Time 0_00_40;06)

To import the notes into Mural.ly, I click on the Evernote icon. You can search across all of your notebooks, or you can pick a notebook to browse and search within it. Adding the note is as simple as clicking on the thumbnail.

Untitled (Time 0_00_50;07)

One of the things I really like about Mural.ly is the ability to see multiple Evernote items together, like clipping things to a virtual bulletin board.

Untitled (Time 0_00_59;19)

With the Areas and Outlines feature, it’s even easier to keep things organized. To define an area, click on the Spaces icon and fill in the name.

Untitled (Time 0_01_03;29)

If I want to get back to the original site that I clipped, I can right-click on the item and open the note in Evernote, then follow the source URL.

Untitled (Time 0_01_11;00)

I drew some ideas for my landing page design on my tablet. Let me add them here as well.

Untitled (Time 0_01_17;11)

So then I drew the landing page design and implemented it on my site. Here’s a screenshot that I saved to Evernote… and now I can update the arrows to show what connects to where, doublechecking that I’ve covered everything.

Untitled (Time 0_01_32;19)

Now that Mural.ly makes it super-easy to grab my Evernote clippings, I can imagine using Mural.ly for sketching out user interface flows, data visualizations, and all sorts of other stuff. I hope you have fun with it too!

Other things you might be interested in:

For your convenience, this post is also available at sach.ac/murally . Enjoy!

Mohiomap: A visual way to browse your Evernote notebook

Evernote is a great tool for taking notes, but sometimes searching and browsing those notes can get unwieldy if you have thousands of items. For example, searching my notebooks for “evernote” gets me >130 results, which look a little like this in Evernote’s desktop application:

image

This is great if I can narrow things down with notebooks, keywords, and tags, but wouldn’t it be nice to be able to explore better?

Christian Hirsch (who has been working on quite a few visual interfaces to wikis and knowledgebases) reached out to me about Mohiomap, which links up with your Evernote notebook and lets you see it as an interactive map.

image

You can click on notes to navigate further and to see a preview in the left sidebar.

image

You can expand items without closing the previous ones, so it’s a handy tool for exploration. I like the way that they indicate number of other entries with both a thicker line as well as a larger circle – the thicker lines are easier to follow when you’re starting from a node.

The trick with new tools is to figure out how you want to fit them into your workflow. Right now, Mohiomap is a visualization and search tool. What new questions can I ask with this interface? How can I use it to learn more?

  • Use Mohiomap to find related notes: I like the way it displays links to related notes. The notes are determined using the Evernote API, which seems to take the note source and tags into account. Related notes are difficult to find using the desktop application, so this might be a good way to explore when I’m writing blog posts.
  • Use Mohiomap when searching for something that will have hits in multiple notebooks, if I want to group by notebook: Mohio’s search interface organizes the first layer of results by notebook. If I used notebooks more, then this might be a good way to browse through my search results. I tend to use tags, though. Oh well!
  • Use Mohiomap to encourage myself to tag more, and to fix my tags. Mohiomap shows tags that are connected with each other, so that might be a way to identify overlapping tags. This is slighly less useful with a small result set (30 notes don’t have much overlap), but maybe it will become more useful later. It also lets you draw lines from notes to tags in order to add a tag to a note, and maybe this will evolve into more tagging features.

It looks like the first use (browsing through related notes) might be the most relevant for me. Let’s see how well Evernote’s recommendation algorithm works!

Other thoughts: Plus points for making the back button work and keeping graphs individually bookmarkable. =) I’d love to be able to add more search results, like viewing 50 or 100 at a time – or viewing a graph of the tags in my entire Evernote knowledgebase, which would be nifty. Dynamic force-directed networks can be disconcerting because of the motion. It might be great to have different views of it in addition to the current interface – maybe something more constrained like the way FreeMind or thebrain.com work?

UserVoice appears to be the place for suggestions related to Mohiomap. Looking forward to seeing this grow, and any other apps that visualize your data!

Here’s the recording from “How to use Evernote to improve your visual thinking”

Check out my Evernote resource page for the one-page summary and Q&A. Enjoy!

How I use Evernote to support my sketchnoting practice

I’ve drawn many sketchnotes, which are real-time visual summaries of presentations or other sources of information. I often need to find a particular sketchnote or set of sketchnotes. For example, if someone’s curious about a book, I like being able to send them my sketchnote of it. If I’m convincing a conference to hire me for sketchnotes, it helps to pull up sketchnotes on similar topics. I also like browsing through sketchnotes and illustrations (both mine and other people’s) for inspiration.

Organizing my sketches

After drawing my sketchnotes using Autodesk Sketchbook Pro and saving them as PNGs, I use a right-click shortcut to send them to Evernote. This adds them to the !Inbox notebook that I set up. Then I move them to the !Sketchnotes by Sacha Chua notebook, which I share publicly at http://www.evernote.com/pub/sachac/sketchnotes . The ! at the beginning of the notebook names makes sure that they get sorted near the top of my list of notebooks.

This is what a sketchnote looks like in my Evernote notebook:

image

I tag my sketchnotes with various keywords to help me find things again. For example, I tagged my recent FITC sketchnotes with fitc, fitcto, conference, fitcto13, and design. I sketchnoted a panel, so I tagged that one with panel too. I like keeping track of the tool I used to create sketchnotes (I sometimes need to search to find examples), so I tagged these with x220t as well. Selecting multiple notes makes it easy to add or remove tags.

image

Then I can use tag:____ searches to find collections of sketchnotes, and I can right-click on the set and export the attachments to a directory if needed.

Searching

Because most of my sketchnotes are published on the Web (either on http://experivis.com or at http://sachachua.com/blog/category/sketchnotes), I usually use Google to find my sketches if I remember keywords from the title. This has the benefit of being immediately shareable with people, too. For example, I might search for sacha chua sketchnote handbook to find my visual book review of Mike Rohde’s sketchnoting primer.

If I need to look for something within the body of the sketchnote or if I’m searching while not connected to the Internet, that’s when I take advantage of Evernote’s offline synchronization and image search. Evernote has some nifty optical character recognition that lets you find text (even handwritten text!) inside images. It’s not perfect, but it’s pretty darn good. I’ve shifted from writing script to printing my letters in order to make it more legible, and that helps the search as well.

This is how awesome it is. I can search for “science” and it will highlight the hand-written text inside my image. Again, it doesn’t always match up, but it’s pretty awesome!

image

Building my visual vocabulary

I want to get better at drawing concepts in different ways. I started building a visual dictionary by drawing concepts on index cards, but it was difficult to flip through and handling concepts with different keywords was challenging. Evernote makes a great platform for building your own visual dictionary. I use Greenshot to capture sketches and snippets from the images I’ve drawn or the ones I’ve come across on the Web. I configured Greenshot to save all the images to a directory. I periodically import all those images into Evernote and rename the notes based on the keywords I think I’ll use to find them again. I merge similar items, too.

I browse through this visual library occasionally, and I also use it to look up specific concepts that I want to challenge myself to draw more creatively. I like looking at different ways people have drawn things. Here’s an example for “Twitter:”

image

Getting inspired

I clip other people’s sketchnotes and illustrations into another notebook for inspiration so that I can learn more about layouts, colour schemes, and great ideas for visual expression. Here’s a sample from my Inspiration notebook:

image

The Evernote Web Clipper is super-helpful. When I browse the Web, I use it to clip images, pages, or PDFs. The clipper links the note back to the original page, so I can easily go back and view things in context.

How this influences my style

Knowing that my notes are going to be shared and indexed by Evernote influences the way I draw. As mentioned, I tend to print my letters instead of writing in cursive. I also draw roughly horizontal text with good contrast and without too much going on in the background. This makes it less ornate than other sketchnoters’ styles, but people appreciate the clarity, so it works out. It’s a little odd drawing for people and computers, but it’s useful and worth it!

Other thoughts

I started off with a free Evernote account (60MB monthly upload), but I found that the premium version (USD 45/year) worked really well for me in terms of offline synchronization and increased upload size. I’ve approached the 1 GB limit only once. =)

I’d love better ways to randomly browse through my Evernote collection, which would be great for jogging memory. I also want to be able to flip through the notes quickly, like with a 5-minute slideshow. (Similar to rapid serial visual presentation, perhaps?) I may just have to sit down and code these things myself. I’d like to visualize my notes, too, and someday build more integration for Emacs or Freemind/XMind. (Currently waiting for Evernote to support out-of-band authentication.) Filing and tagging could be better with more quick shortcuts, and more keyboard shortcuts in general would be nice, too. Much room to grow!

You can find Evernote at http://evernote.com , and you can use it over the Web, on computers, and on and most smartphones. =) It rocks. Also, if you’re curious about having me do sketchnotes for conferences, presentations, books, blog posts, etc., check out http://experivis.com . Hope these tips help!