Once I was sure that it was feasible for me to build my own online notepad, I was wondering where to start – do I begin with the architecture of the application, or do I start with the visuals and layout?
To be frank, this wasn’t as straightforward a decision as one would hope.
Normally, starting with the information workflow and application structure is the best idea. Granted that you know exactly what you are going to produce, of course.
In this case, I decided to take the artist’s approach to the task; some may call it behavioral. Scribz.net™ was going to be a very simple application after all (at least initially) so I figured that starting with the visuals might help me decide which features I would want to include and in what order. I thought that I could devise my application structure based on the logic of the usability. I was sure I could code (implement) almost anything related to this application, so I felt that a reversed approach might be justified this time. How cool that the simplicity and power of Scribz.net™ was already proving at such an early stage!
Drawing different mock-ups of the visuals was quite fun. I ended up with several napkins and torn college block pages scribbled all around with notes, random arrows, and tiny bits of explanations. I did most of my drawing by hand, with virtually no computer help. I though I should mention that.
As I mentioned before, I needed a tool to store my ideas. I did some initial research to find out whether there was a similar application out there. I came across a few online notepads, but most of them supported rich-text or HTML formatting. If I wanted that, I thought to myself, I would have gone to Google Docs, or Microsoft Web Apps. I didn’t care for fancy, I just needed speed, reliability, and universal accessibility. Obviously, the rich apps were not the way to go and were not my competition either. Phew!
The closest to an online notepad was Google’s Notebook app. Whereas it is made of the nice, familiar Google interface, it is a little bulky and you have to be logged into the same Google account to which your notes belong. Yeah, there is sharing, but why worry about that? Also, it is not exactly plain text either and is not even supported anymore, as far as I’m aware. Worst of all, it auto-formats links and has this weird separation of bookmarks and note content. All in all, seemed like a poor choice as well.
Never mind, it was going to be my way or the highway, which usually turns out to be my highway. Or at least my sidewalk.
So I asked myself – could I do this?
Before I could start with any coding, I had to sit down and try to wrap my mind around the entire idea. I had to know what I was about to do and I had to know whether I was actually going to be able to do it. In other words, I first tried to remember all I knew about programming already:
I Need a Notepad …
So it all started when I was working for this Big Four firm. I occasionally found a piece of interesting information while at work and I wished that I could store it somewhere and come back to it later. Don’t get me wrong – I worked really hard, but in spite of that, intriguing thoughts and ideas do sometimes cross one’s mind, right?
The problem with “storing it somewhere” was the fact that when you are working with confidential data (as we were), your computer is pretty tightly protected against accidental (or malicious) data leakage. In human speech, this means that I could not save or copy anything from my computer to an external medium unless it was an encrypted USB stick.
Encrypted USB sticks, however, are usually bulky and not exactly user friendly. Not only do you always have to enter your password when you connect one (obviously), but there is usually a lot of work-related stuff on your stick, plus it gets shared among team members. This way, organizing gets messy and you are risking that your colleague or client will open your notes – not good…
I normally take notes in – you guessed it – Notepad. I very much like plain text because it stores just what you need and does not get confused with any sort of formatting or automation. »Read More