Has it been 2 years already?

Today Paperless will reach $100,000 in revenue (since March 2010), with over 60,000 sales and over 146,000 downloads of the free version. It’s nowhere near as much as the huge runaway success stories in the app store – but it has been enough to keep me in business doing what I love.

It feels great to have created something that many people use every day – and to have generated that income completely on my own.

It’s not enough to sustain this business for the long term though. That $100,000 is before taxes are taken out, and I have a family to help take care of… so, for the past 8 months I’ve been working on another app that ties into my love of photography. I hope to release that within the next month or two.

To anyone who has purchased Paperless and helped support what I’m doing: THANK YOU!

More Fun With Siri Dictation

After figuring out how to use Siri dictation to quickly add items to a list in Paperless, I discovered some other commands it recognizes – based on this article about Dragon Dictation (a third party app for dictating text).

Here are the dictation commands that have worked for me with Siri.

Import ListFor Paperless users: If you’d like your very own “pocket guide to Siri dictation commands”, open this web page on your iOS device, then tap this link to import a list titled “Siri Dictation Commands” into Paperless.

Say this …

… to do this

new line move to the next line (like pressing “Return” on a keyboard)
new paragraph to start a new paragraph
cap to capitalize the next word

For example, saying:
I named my pet pig cap bacon

produces the text:
I named my pet pig Bacon

(interestingly, if you say “Kevin Bacon”, Bacon is automatically capitalized for you)

caps on … caps off to capitalize a section of text

For example, saying:
caps on twenty five ways to eat bacon caps off

produces the text:
25 Ways to Eat Bacon

all caps to make the next word all uppercase

For example, saying:
I am hungry feed me all caps now please

produces the text:
I am hungry feed me NOW please

all caps on … all caps off to make part of what you say uppercase

For example, saying:
I am hungry all caps on feed me now all caps off please

produces the text:
I am hungry FEED ME NOW please

no caps to make the next word lowercase

For example, saying:
I like no caps Mike

produces the text:
I like mike

no caps on … no caps off to make sure part of what you say is all lowercase

For example, saying:
Our friends no caps on Steve and Tina no caps off live in California

produces the text:
Our friends steve and tina live in California

space bar to prevent a hyphen from appearing in a normally hyphenated word

For example, saying:
This restaurant is first space bar class

prevents first-class from being hyphenated, and produces the text:
This restaurant is first class

no space to prevent a space between words

For example, saying:
This is the best no space tasting bacon ever

produces the text:
This is the besttasting bacon ever

no space on … no space off to prevent a section of text from having spaces between words

For example, saying:
This is no space on the best tasting bacon no space off ever

produces the text:
This is thebesttastingbacon ever

“period” or “full stop” to place a “.” at the end of a sentence
dot .

For example, saying:
The dot number pi is three dot one four

produces the text:
The.number pi is 3.14

(note the subtle difference between saying point and dotdot works between words)

point .

For example, saying:
The point number pi is three point one four

produces the text:
The point number pi 3.14

(note the subtle difference between saying point and dotdot works between words)

“ellipsis” or “dot dot dot”
comma ,
double comma ,,
“quote” or “quotation mark”

(although, if you need to place some text within quotation marks, using the “quote … end quote” commands may be more accurate)

“open single quote…close single quote” to place single quotes around a section of text

For example, saying:
Open single quote this is the best ice cream ever close single quote comma said Sally

produces the text:
‘this is the best ice cream ever’, said Sally

apostrophe

(although in many cases, apostrophes are automatically inserted, like when saying Sam’s new iPhone)

exclamation point !
inverted exclamation point ¡
question mark ?
inverted question mark ¿
ampersand &
asterisk *
open parenthesis (
close parenthesis )
open bracket [
close bracket ]
open brace {
close brace }
dash

For example, saying:
This dash is dash my dash cheese

produces the text:
This – is – my – cheese

(note the difference in spacing between this and when saying hyphen)

hyphen

For example, saying:
This hyphen is hyphen my hyphen cheese

produces the text:
This-is-my-cheese

(note the difference in spacing between this and when saying dash)

em dash
underscore _
plus sign +
minus sign
equals sign =
percent sign %
copyright sign ©
registered sign ®
section sign §
dollar sign $
cent sign ¢
euro sign
yen sign ¥
degree sign °
caret ^
at sign @
pound sterling sign £
pound sign #
greater than sign >
less than sign <
forward slash /
back slash
vertical bar |
“smiley” or “smiley face” or “smile face” 🙂
“frowny” or “frowny face” or “frown face” 🙁
“winky” or “winky face” or “wink face” 😉
e.g. (pronounced as “e g”) e.g.

For example, saying:
e g when you learn to ride a bike

produces the text:
E.g. when you learn to ride a bike

i.e. (pronounced as “i e”) i.e.

For example, saying:
i e when you learn to ride a bike

produces the text:
I.e. when you learn to ride a bike

Dictating Text With Siri On The iPhone 4S

There has been a lot of talk about Siri, the “personal assistant” feature included with Apple’s new iPhone 4S. While much of that discussion has centered around seeing what responses you can get from Siri by asking it things like “What is the meaning of life?” or “Where is the best Thai restaurant?” – it also offers a very useful dictation feature, which works with any app that uses the standard iOS keyboard.

I wanted to see how Siri’s dictation feature could be used with Paperless, and it turns out that it can be used to quickly add items to a list. Here’s how:

First, open the list you want to add items to (a grocery list in this example), and tap the “+” button:

That will bring up the Add Item screen. Next, tap on the arrow…

… which will switch to the Import Items screen.

Now press the microphone button to start dictating, and say each item’s name along with the words “new line” in-between each one. For example, you might say:

“bread new line apples new line carrots”

(Saying “new line” to make a carriage return took me a few minutes to figure out, as I haven’t seen in mentioned elsewhere… not even in Apple’s iPhone User Guide.)

After you’re finished saying the items, press the Done button – and if all goes well you’ll end up with the text of each item on a separate line (as shown in the screenshot below).

Finally, press the Import button…

… and the items you dictated will be added to the list. Easy!

I think this feature will be very useful to a lot of people. Apple was very smart in adding Siri dictation to the standard iOS keyboard.

Paperless 2

UPDATE: Paperless 2 has been released, and is now available from the app store!

After 6 months of research and development, the biggest and best update to Paperless is finished. I’m very excited about the upcoming release, and think users will really appreciate the new features. I am submitting the update to the app store today – so, assuming it passes Apple’s approval process – it should be available in a week or two.

Here are the new features in Paperless 2.0:

“Universal” Goodness

Paperless 2 is a “universal” app, which means that it will have a proper full screen interface when run on an iPad. In fact, I think Paperless is an even better app on the iPad than it is on the iPhone/iPod Touch. This is partly due to the larger screen and keyboard, but is also thanks to Matt Gemmell’s brilliant MGSplitViewController, which enabled me to give the iPad interface some nice features:

  • Whether you’re in landscape or portrait orientation, your lists are shown on the left side of the screen. Individual list items are shown on the right.
  • In landscape orientation, there’s a draggable divider so you can resize sides as needed to show either more of your lists or more of the individual item.
  • In either orientation, there’s also a button that toggles full screen mode on/off – which could be useful if you’re writing a long note.
Paperless 2 on iPad in landscape
Paperless 2 on iPad in portrait

While I could have chosen to make a separate iPad app, and perhaps make more money from existing users, it just didn’t seem like the right thing to do. I personally don’t like having to buy an app twice (one version for each device), and it’s easier for me to work on Paperless as one app rather than have two separate versions to maintain. Perhaps I’m naive, but my hope is that having one “universal” app will be seen as a selling feature to new users, and be worth more than any income I might have made by charging for two separate versions.

Automatic Backup And Syncing Between Devices

Paperless 2 includes syncing via a free Dropbox account. If you have more than one iOS device, this feature will allow you to sync your lists between them. Since syncing was designed to happen automatically, you can just turn the feature on and forget about it. There is no sync button to press or any thought process involved in getting lists from one device to the other… it just works.

Even if you only have one iOS device, I still highly recommend using this feature as it automatically backs up your data. So, if your iPhone gets broken/lost/stolen/accidentally dropped in the toilet, you’ll be able to get your lists back.

Additionally, the Dropbox website allows you to “undelete” files, or even revert to a previous version of a file – which may come in handy if you accidentally delete a list from your device or need to get an earlier version of a list back.

For those of you who are curious about how the magic happens:

Syncing works by saving your lists as XML files in a “Paperless” folder on your Dropbox account. Each time you make a change to a list, its associated XML file on Dropbox is rewritten. If you switch to using a different device, it sees that there is a newer version of the XML file and downloads it to the device. Then it reads the XML file and updates your list to the newest version. It all happens very quickly and seamlessly.

Paperless checks to see if there are newer versions of lists when:

  • you launch the app
  • anytime the app becomes active (like if you had Paperless open, but it was interrupted by a phone call)
  • you tap on a list
  • you tap on a list item
  • you tap the previous/next button

I should also mention that I chose XML over plain text files due to needing to store information like the date items were completed, the icon associated with each list, etc. While some computer savvy users will find it easy enough to update their lists by editing the XML files on a desktop computer, that isn’t something I’m touting as a feature since there are a few issues like needing to write the “&” symbol as “&amp;” in XML.

Seven New Themes

A little eye candy never hurts, and Paperless 2 has plenty of it. I’ve added 7 new themes in a variety of styles, and I think they look great (click to see a larger version):

Other New Features

  • There are now optional item count “badges” on the main screen, to show how many items are in each list (and for checklists, the number of items that need to be completed).
  • You can now email individual list items
  • There is a choice of font sizes
  • It now works properly when used with an external Bluetooth keyboard
  • Sorting list items alphabetically is now case insensitive (on iOS 4 and above)
  • Internally, Paperless has been completely rewritten to use Core Data for storing lists, which means faster performance for users with a large number of lists/items and better memory handling

Thank You

I’d also like to take a moment to express my extreme gratitude to anybody who has purchased Paperless or told their family and friends about it, to those of you who have left a nice rating and review in the app store, and to those who have provided useful feedback. Without your support, I wouldn’t be able to do this, so I really appreciate it. I hope you enjoy using the new version of Paperless as much as I’ve loved making it.

Made In MacPaint

Earlier this year Apple released the source code to MacPaint – the revolutionary graphics program that originally came with the first Macintosh computers in 1984.

My parents had purchased one of the original 512k Macs then, so I was lucky enough to get to play around with it. When I heard that the source code to MacPaint had been released, I decided to dig up some of the old things I had created with it.

These were made during the period of 1987 – 1989 using MacPaint.

Reproduced from line art of a space shuttle in an ad I found at the back of a magazine:

Just a scene with a car I drew for fun. In retrospect, that airplane is flying a bit low:

This last one reflects my early fascination with keyboards/synthesizers. I owned a lowly consumer level Casio keyboard, but dreamed of owning something like the Ensoniq VFX. I don’t recall exactly, but I must have drawn this based on some diagram in a keyboard magazine. Now that I’m all grown up, I own an Alesis Fusion 8HD keyboard, which has a lot of the sounds from keyboards I used to dream of owning (thanks to Hollow Sun and others):

Having a Macintosh with MacPaint at an early age helped me develop an interest in design and technical drawing – and for that I am grateful to Bill Atkinson and the rest of the MacPaint/QuickDraw teams.