Using Simplenote from the Linux desktop with nvPY
One of the web-based applications that I use extensively is Simplenote. But using it from the Linux desktop (without firing up a web browser) can be tough. Not impossible – I stumbled across a solution to that, which I outlined in a previous post. Still, I wanted a tool like one called Notational Velocity, which is popular on the Mac desktop.
Well, I found that tool. It’s called nvPY. The developer describes nvPY as:
a simplenote-syncing note-taking tool inspired by Notational Velocity (and a little bit by nvALT too) on OSX and ResophNotes on Windows. It is significantly uglier, but it is cross-platform.
If you can deal with the less-than-pretty interface, then you might find it to be a worthwhile tool for taking and saving notes, drafts of whatever you’re writing, and more.
Obviously, you’ll need a Simplenote account. OK, that’s not 100% necessary, but if you don’t have one you’ll get error messages about not being able to synchronize your notes each time you start the application up. Setting up an account costs nothing, and you can do it here.
You can find the code for nvPY on GitHub, an online project hosting service. Its page contains instructions on how to install nvPY right from GitHub. Or you can follow these instructions. As usual, I went my own way and downloaded and extracted an archive.
If you’re installing from the archive, you’ll need Python (which is standard kit with most Linux distros) and tkinter (which adds a graphical user interface to Python apps). You can install tkinter from your distro’s package manager.
Install nvPY by first cracking open a terminal window and then navigating to the directory in which you extracted the nvpy archive. From there, run the following commands:
python setup.py build
sudo python setup.py install
With the latter command, you’ll be asked to enter your administrator password before nvPY is installed.
Before you run nvPY, you need to create a hidden file named .nvpy.cfg in your /home directory. The file should contain the following:
[nvpy] sn_username = your_simplenote_username sn_password = your_simplenote_password
Where your_simplenote_username is the user name or email address that you use to log into Simplenote, and your_simplenote_password is your password. This enables nvPY to synchronize your notes between Simplenote and your desktop.
When I installed nvPY under Linux Mint, the installer didn’t add launcher icons to my desktop or menu. And when I launched nvPY using Kupfer, it always opened a terminal window along with the application. I still haven’t figured out how to stop that.
But I found that the easiest way to launch nvPY is to press ALT+F2 on my keyboard and then type nvpy in the Run dialog. When you start nyPY for the first time, it syncs the notes that you have in Simplenote with your desktop. This can take a while, depending on how many notes you have. I have several hundred notes in Simplenote, and it took nvPY about five minutes to download them. But in nvPY’s defense, my internet connection was a bit balky at that time.
As the developer said, nvPY isn’t the prettiest program around. You can change the size and family of the fonts that the application uses, but that’s about it for prettying up the interface. I’m willing to put aside aesthetics (to a point) to work with a good application. nvPY falls into that category.
Essentially, nvPY is a desktop editor and interface for Simplenote. You can use it when connected to the internet or if you’re offline. All you need to do is select File > New Note and start typing.
It’s plain text, and not much else. Not that it’s a bad thing. Why? You can use Markdown or ReStructuredText to format your notes. The formatting doesn’t appear in nvPY, but if you select File > Render Markdown in HTML or File > Render ReST in HTML then nvPY generates an HTML file and then opens it in your default web browser.
If you’re using Markdown, then you can also select File > Continuous Markdown to HTML Rendering. The generates a live preview – as you type, the preview in the browser updates in real time. Well, there is a bit of a lag but it’s nothing major.
Tagging and searching
You’ll notice the list of notes on the left side of the nvPY window. It can get long. And it appears to be unorganized. Unlike tools like Evernote, Simplenote doesn’t use the concept of folders to organize notes. And I’ve heard more than one person whine and moan about that. Instead, Simplenote takes advantage of tagging. Tags are like keywords. You can assign one or more keywords to your notes at the bottom of the nvPY editing pane.
So, how does that help? If you’ve tagged your notes and used a fairly consistent and limited set of tags, you can narrow down the number of notes that appears in the left pane using nvPY’s search function. Just type the tag that you want to focus on in the search box at the top of the application’s window.
As I mentioned several paragraphs ago, nvPY tries to automatically sync your notes with Simplenote when it starts up. You can also do it manually. How? By selecting:
- File > Sync Full, which synchronizes all of your notes
- File > Sync Current Note, which synchronizes the note that you’re working on
From what I’ve written, you’d think that nvPY is solely mouse driven. It isn’t. If you prefer to use keyboard shortcuts, you can. nvPY’s developer has put together a reference of shortcuts.
While there are a couple of (minor) aspects of nvPY that I don’t like, overall it’s a solid and simple tool. It works as advertised, and I find it very useful for writing and managing the notes that I maintain in Simplenote and even for putting together outlines and drafts of articles and blog posts.
Photo credit: Dmitry Goygel-Sokol