Skip to content

Neo Note Backup data file

Eddie Lee edited this page Mar 29, 2016 · 3 revisions

1. About this document

Neo Notes iOS app is designed to visualize strokes from Neo smartpen N2. The strokes are generated by N2 and transferred to Neo Notes through Bluetooth. The data from N2 are saved as a file in a location for Neo Note app.

This document is mainly about the file format. With Neo Notes app we can save stroke data from N2 and record voice memo. So the file can have strokes and audio files.

Also each stroke and voice memo has time stamps. We can render strokes while playing a voice memo synchronized with the time stamps.

2. Components

N2 generates data from trajectory on paper. The trajectory is saved as stroke. Strokes on the paper are grouped and saved in a page. So a page is representing a sheet of paper. And some pages are grouped and make a notebook.

While stroke, page and notebook are related to data from N2, there is voice memo which is recorded and saved by Neo Notes app itself.

2.1 Notebook

Neo Notes has two kinds of notebooks. The first one is representing real world notebooks where N2 is writing on. The other is called digital notebook which can be made up from existing pages.

Each notebook has its own ID. Data from N2 always has a notebook ID so that we can find the notebook’s size, x/y ratio and a cover image. To render trajectory data correctly it is very important to know the size information of the notebook.

2.2 Page

When a user is writing on a notebook with N2, he is actually writing on a page in the notebook. Page is the real container of the strokes N2 is gathering.

Most activities Neo Notes is performing are based on page data. Rendered a page, exporting a page and replaying a user’s writing are all done with a page.

There are three different types of data. Normal strokes are strokes from N2. Editing strokes are strokes added with Neo Notes’ editing menu. The last type is for voice memo.

Voice recording is Neo Notes app’s functionality. A user can capture voice memo with Neo Notes while taking note with N2. Most importantly the voice memo also has timestamp. We can replay the voice memo at the same time replaying the strokes from N2 with synchronized timestamp.

The audio data is not part of the page data. The page data has minimal time information and audio file name. The audio file is m4a format and located at a separate location.

2.3 Stroke

Stroke is a basic unit of data from N2. It is composed of multiple numbers of dots – a pair of x, y coordinate. But the dots are always used as a part of a stroke.

A stork starts when N2 touches a paper and gathers trajectories and ends when N2 is getting off from the paper. If a user is writing a character ‘A’, it will normally generate 3 strokes.

Another way to create strokes is editing existing pages. Instead of using N2, a user can add strokes from Neo Notes app by fingers on the screen.

2.4 Voice Memo

Unlike stokes, voice memo is taken by Neo Notes app. The file format is m4a but some early version of Neo Notes Android app was using wav format.

The audio file is saved at a specific location different from a page file. The page file has some meta data about the voice memo. We can find out when the memo started and what name the audio file is from the page data.

Another thing note is that a voice memo can be captured through multiple pages. For the case the page file has information about page numbers where the audio is related to.

As we can trace time and page changes we can replay the audio along with strokes by synchronizing them.

#3. File Format

3.1 Notebook

It is a file format originally created for archiving data to Google Drive. The file includes all data related to a notebook such as pages, strokes and voice memo. The extension of the file is neonotes. The internal file structure is a pure zip file format.

./NoteInfo.xml

./CustomCover.jpg *this is a cover image when users select their own pic. for the notebook

./Data/[Page ID].page_store/page.data

./Audio/[Audio file].wav

./Audio/[Audio file].ameta

./Tag.xml

****For example if you have a file named 0B9QH0FvJ6KLhdzZicVlUYVZwa0U.neonotes and unzip the file with a unzip program you can see the content of the file.

Clone this wiki locally