About the App - Blog Post

Jan 8, 2016

This post is about the Scribo Notes app. This has some notes on how I created the app.

Back in 2012 I was using an Apple iBook G4 laptop. One day the G4's screen started blinking and I could not have it fixed. As a replacement I got a Windows based laptop.

I was checking out all the software installed on the new laptop and I was to try a notes desktop application. I couldn't get one installed and make it work properly. I had an idea of developing one myself. First, I wrote a note of the requirement on a Notepad program.

The Requirement

The requirement document 'notes making software.txt' dated 13th March, 2012, its screenshot and content:

Requirements picture

Notes Making Software

Main window Database

Here is an initial sketch of the app's user interface as I put it on a paper notepad:

Inital sketch picture

Developing the App

The initial idea was to develop the GUI to capture the note info with a file storing each note's data. I was familiar with Java SE programming and at that time version 7 was available. I wrote the user interface using Swing API.

The app has a main window to list the note items and a note editor to create the note text. Here are the screenshots of the first notes app's main window and the note editor. This was sometime in April, 2012.

Inital app picture Inital editor picture

The note and note book lists were built using JList's and the note editor uses a JTextPane. The note content was formatted text and it was stored in a serialized file. The note document is created as a StyledDocument.

The app has the functions to do most of the tasks I had initially thought of. I was able to code some of the functions and try out. As one can see the user interface needed to be proper. I scouted around and found the Nimbus look and feel with button icons from famfamfam.com to adorn the app. The transformed GUI is as follows:

Inital app picture2 Inital editor picture2

The Database

Meanwhile, I moved the note data from the initial serialized files to database tables. This had the convenience of storing and retrieving the data efficiently.

Initially I started with MySQL database as this was already there on my computer. It was okay to start with, but I was to store the note document as a Java object. MySQL didn't support storing objects. I found Apache Derby (a.k.a. Java DB) database could do it. More over Java DB is written in Java, runs in a JVM and used little memory. The database could be started and closed with the app. This suited the app. The JDBC API was used to access the database from the Java programs.

The database also has a feature for online backup (make a backup while the app is running and database is open). So, the app has functions to make a database backup and restore it later.

Also, I created a function to attach a file to a note. The file could be of any type and is stored in the database as Blob data. The attached file could be viewed or saved to the hard drive.

Deploying the App

On 19th May, 2012 I was working to create a user guide. This was a HTML document. This was displayed within the app in a JEditorPane.

By the end of July 2012, I had the initial version of the working app. There was a JAR file which I could double click and start the app.

The app had features:

Now, I started using the app.

Next few weeks I was refining the code and the user guide, documenting the functionality of the app and the database. There were also few bugs to be fixed.

Scribo Notes

Next couple of months I did not attend to the app as I was occupied with another project. Sometime in November I had an idea that the app can be used by others. From then on till 2013 January end I worked to put things together to create a website and launch the app.

I compiled the content, designed and authored the web pages. I created the pages using HTML/CSS, which included the Home/Screenshots/Download/About/Contact pages. I packaged the app as a ZIP folder with an executable JAR file and the user guide. The ZIP folder could be downloaded and un-zipped, and start the app by double-clicking the JAR file.

Then, I found a name for the app, Scribo Notes. Scribo in Latin means 'write'. I registered a domain scribonotes.com and found a host for the app's website. On 1st February, 2013, I launched the website www.scribonotes.com and deployed the version 1.0 of the app. The same day I applied for a copyright for Scribo Notes app and the website. As of January 2016 there is the app with version 2.3 which has few more features.

Here are the screenshots of version 1.0 of the app.

App version 1.0 picture Editor version 1.0 picture

Download the App

A copy of the version 1.0 app can be downloaded from here: ScriboNotes_1_0.zip

To run the app the following are required: (1) Windows 7 operating system, and (2) Java 7 (a.k.a. Java Runtime Environment version 7). To verify the version of Java installed on your computer or to download and install, visit Java.com.


Return to top