The source for MyNotepad.Info, a simple web-based notepad personal project.
My Notepad Info is a simple web-based notepad. It's a personal side project, started years ago when I needed a simple, fast online notepad. It consists of an AJAX JS client that talks to a PHP/MySQL-powered RESTful API.
The goal is to provide a simple, authenticated wrapper around a textbox. That's all. You should be able to easily login, access and edit notes, save them, and leave.
Smartphones and cloud-y services probably offer convenient solutions for saving most the content we come across. But unfortunately, edge cases in life still throw situations at us that our normal tools don't always handle gracefully, such as:
Traditionally what do we do when we encounter a semi-bizarre situation? We stuff e-mail ourself. We use our email accounts as freaking temporary notepads. It's horrible. If we get caught without a smartphone, we lose the ability to save things effecitvely. We go to an e-mail provider, possibly log out of someone else's account, log into our own account, open a couple pages, stick something in an e-mail body, then send it to ourselves. Then we later go get it and delete it. Many web-based e-mail clients aren't particularly fast, either, so we have moderately long page load times several times over. (And doing it over a slow Internet connection feels like a pain because it takes 2 minutes to do something that should take 20 seconds. It's manageable, but it feels like an eternity.)
Leaving notes should be easy, fast, and painless. Login on the homepage, we show you your notes, you edit them, you save them, you leave. We even try to auto-save them as you go. Slow computer, slow Internet connection, it doesn't matter, the site should run smoothly. If you use the keyboard shortcuts you can get in, leave a note, and get out in 8 seconds.
The notepad form has minimal bulk, straight-forward design, and a couple of supporting features. It's all about getting a password-protected text box in front of you with your notes as hassle-free as possible.
What does the site do to be fast and simple? It's more about what it doesn't do than what it does do. It just uses basic techniques for web optimization, like asynchronous JavaScript, no images, minified JS and CSS files, compressed files where possible, minimal DNS lookups, and a nearly flat backend. For the simplicity aspect I just avoid requiring page refreshes and make everything easily accessible through the keyboard. Absolutely nothing fancy at all.