MicroThoughts A thought managing system for the Android platform

advertisement
MicroThoughts
A thought managing system for the Android platform
MicroThoughts is a very special thought management system designed for
mobile phones.
It takes advantage of two key aspects of mobile
technology. First, it leverages the ease of recording audio over text entry
on small devices. Our notes are all audio-based; the user simply speaks
her mind into the phone as if having a conversation with a friend that
never forgets. The second interesting aspect of MicroThoughts is the use
of location information to manage notes. Thoughts are inherently bound
to the place where they occur, and this is an immensely useful means of
organizing and searching through them. We make use of both the location
tracking and the map capabilities of the phone to provide a rich interface
for managing the recorded thoughts. Finally, with the ability to find
nearby users and share thoughts with them, MicroThoughts provides a
form of social interaction that is faster than email and infinitely more
useful than voicemail for searching and playback. Read on to get an
understanding of how the system works, or just start up the application
and begin the journey of storing your thoughts – it’s that easy!
Our team is a firm believer in MicroThoughts and, in fact, is building it
because we need it to keep up with our lives. To help you get started we
have converted some of the thoughts one of our devs had saved in a
notebook over the last few months into a set of sample data that will be
loaded when you start the application for the first time.
Enjoy!
Table of Contents
Frequently Asked Questions ........................................... 3
The MicroThoughts Menu ............................................... 4
Recording Thoughts ...................................................... 4
Tags ................................................................... 5
Location .............................................................. 5
Sharing ............................................................... 6
The Server Side ............................................................ 6
Playback Mode.............................................................. 7
The Map Visualization .................................................... 8
The Filter Panel .................................................... 8
The Player Panel................................................... 8
Managing Places ................................................... 10
Why Places?......................................................... 11
2
Frequently Asked Questions
Q: Why does it take so long to start up?
A: When you create a new user, there is a good bit of initialization that
needs to be done. Additionally, test data is being creating and saved
to the device. This results in about a minute or so of wait for new
user creation. Subsequent loads do not suffer from this.
Q: The stock audio is nice and all, but can I record my own notes?
A: Yes. Because Android didn’t ship with Mic support, we wrote our own.
It uses the network connection to transmit audio from a computer
running a bit of code we call AudioSource Prime. You can configure
the host and port that it’s looking for under the Options menu from
the MicroThoughts main screen. AudioSource Prime is available for
download at http://www.okcoder.com/mt/
Q: What gives with the MapVis? You promised drag-and-drop but when
I touch a Place and move my hand it doesn’t follow.
A: Understand that drag-and-drop is something we added in ourselves,
and as such it has a few idiosyncrasies. One of these is that an object
must be selected with a tap event before you can drag it. So
remember, tap the center once first (the place will change from cyan
to blue), and then touch and drag!
Q: I was playing around on the MapVis screen and now my notes are
assigned to strange places – or none at all. What happened?
A: When you move a Place on the MapVis screen, all the notes that are
in its radius are adjusted. If you move a Place over a note, that note
will change its location to that of the Place. Conversely, if you move
a Place off a note, the note will no longer be a part of that Place.
Q: If I have questions or comments how can I tell you?
A: We’d love to hear from you! You can find a contact form link on
http://www.okcoder.com/mt/ or e-mail us directly,
bask@okcoder.com
3
The MicroThoughts Menu
MicroThoughts is a system for
recording, storing, and playing aural
notes. Given this, the first two
options of our main menu are pretty
self explanatory; Play allows you to
search through, play, and edit your
old thoughts, while Record is the
starting point for creating a new
thought. Binding thoughts to location
is one thing that makes our
application special, and the MapViz
provides a natural way to explore
thoughts dispersed through space.
Since the Android emulator does not
currently support audio recording, we
wrote an optional socket audio server
to make the app feel more life-like. If
you have our audio server, great!
You can set up the host and port in
the Options menu. If not, no worries
at all, we’ll provide pre-recorded audio
whenever you record a note. The
Options menu also allows you to set
some user specific settings – such as
how many thoughts to cache and how
often to sync with the server.
The main menu has basic
MicroThoughts features: playing,
recording, and visualizing your
thoughts.
Recording Thoughts
The Recording screen is fairly simple.
Tap the record button and start
talking in your phone to record a
note, and press the stop button when
you’re done. You can record as many
times as you like until you’re satisfied
with the thought; use the play button
to hear what you’ve recorded. If
you’d like, give your note a title for
easy searching later.
The Record screen is the starting
point for creating a thought, along
with audio, tagging and sharing.
4
At this point, you can either save your
thought as-is or tap the Edit button to
see additional options. Besides the
audio track and title, a thought has
three other attributes: tags, location,
and sharing. We’ll deal with each of
these in turn.
Tags
Tags are a way of adding additional
textual information to your note for
use in searching, categorizing, etc.
Eventually we hope that the
MicroThoughts system will be backed
by a Speech-To-Text engine that will
auto-generate tags, but, until then,
user-created tags serve well to fill
that gap. On the Tags screen just
type in an associated keyword and tap
Add to add it to the list of tags for this
thought. To remove a tag, simply tap
on it in the list.
Besides audio, you can edit four
aspects of a microthought:
location, sharing, tags, and title.
Location
Location is a vital aspect of each
microthought. When you record a
thought, it is automatically bound to
your current location (latitude and
longitude). In the Edit Location
screen you can do two useful things.
First, you can give a name to your
current location, so that all thoughts
saved in that location become
grouped in a special way. Second,
you can save a thought to a different
location that you have already named.
We’ll talk about this in more depth
later, when we discuss the map view
and its place-management features,
but for now understand that this gives
you a lot of flexibility in where
thoughts end up spatially.
Tags are a nice feature for adding
additional information to a note.
Simply type in a keyword and tap
add to assign a tag to a note.
5
Sharing
Sharing is a powerful feature of the
MicroThoughts system. There are
thoughts that you want to keep to
yourself, but there are also times
when you want to share a thought
with the people around you. Say, for
instance, you’re in a project meeting
and something just came up that is
important for everyone there to
remember. With just two taps on
your phone you’re ready to record the
audio reminder and with two more
you can share it with the people
around you through the Edit Sharing
option. The system automatically
detects and presents a list of nearby
users. All you have to do is tap their
user name and the note will be shared
with them. The application will poll
the server every so often to check for
shared thoughts and download the
relevant meta-data if it finds one.
When editing the location of a
thought, you can either give a
name to your current location or
choose a different one altogether.
The Server Side
While we’re discussing the server
side, you might be interested to know
that MicroThoughts keeps the memory
limitations of your phone in mind. A
large set of audio notes could become
unwieldy, so we help by offloading the
bulk of the audio to an external server
(via a web service). Whenever you
have an internet connection, the
phone will push a copy of your
thoughts to the server. The phone
itself has a cache for storing recently
recorded and played audio. If an
audio clip isn’t in the local cache,
MicroThoughts will attempt to retrieve
it from the server, and let you know if
it had a problem (say in areas with
Toggle sharing with nearby users
that your phone automatically
detects by just tapping their name.
6
limited internet connectivity). The
meta-data for each note is always
stored on the phone, however, so you
can easily search for notes based on
title, time, location, and tags without
having all the audio cached locally.
Playback Mode
Once you’ve recorded a bunch of
thoughts, you probably want the
ability to search through them and
play them back. From the main
menu, tap the Play button to view a
list of your recorded thoughts (those
shared with you will appear italicized).
You can sort them by title or start
time, or you can search based on title
or tags by typing in the field at the
top. When you scroll through the list
it expands to show you the duration,
location, and tags for each note, as
well.
The Play button on the main menu
first takes you to this screen, where
you can sort or search for a
particular thought.
When you tap on a note in the list,
you are taken to the playback screen
for that note. This screen is nearly
identical to the recording screen, only
the record option isn’t present (no,
you can’t go back in time and change
your thoughts). From here you can
play the note and edit all the features
you saw earlier. Remember to hit
Save when you are happy with your
updates! If you want to delete a
note, there is a menu option on this
screen that allows you to do just that.
There is also a menu option for
returning to the main menu, though
hitting back works, too.
Once you pick a thought, you are
taken to this screen where you can
play the audio and edit the note.
7
The Map Visualization
Next up is the Map Visualization.
Since location is at the heart of each
microthought, having the ability to
visualize and search through notes on
a map is essential. This view of our
application has three parts: filtering,
audio playback, and managing places.
You can change modes via the
buttons at the top; the map in the
center is fixed in each mode, while the
panel at the bottom swaps out to
reveal more functionality. Before you
ask, the little black dot running
around the map is you!
The Filter Panel
First we’ll discuss the Filter panel. In
this mode, you can filter notes on
both a date range and on a set of
named places (more on places later).
When the visualization first comes up,
only the current day’s notes are
displayed. If you haven’t recorded
any notes yet, the map simply centers
on your current location.
Each dot on the map represents a
note. The brightest red is the
newest note in the selected range.
Whenever you adjust the filters in this
view, the map automatically pans and
zooms to frame the set of notes that
satisfy your filter. The notes are
colored on a gradient, with the
darkest red representing the oldest
and the brightest red the newest note
in the set. This provides a useful cue
for selecting notes and also serves to
help overlapping notes stand out.
The Player Panel
Tapping on any note on the screen
automatically selects that note and
Tapping on the From or To buttons
pops up a date picker for changing
the date range.
8
swaps to Player mode. In this mode,
the title, date, and time of the note
are displayed. If the note is old or
newly shared, it may not be in your
device cache, so the system will start
loading it from the remote service.
Note that simple playback is
controlled with buttons at the bottom.
The Edit button takes you directly to
the playback/edit screen for this
particular note. When you’re done
editing, save and press the back
button to come back to this screen;
any changes you made will
automatically be updated in the map
visualization.
The small yellow dot shows which
note you currently have selected.
This brings up an interesting problem
though – what happens when you tap
on a cluster of notes? Touch interfaces
don’t provide the fidelity required to
pick one overlapping note over
another. We take care of this
problem by presenting a spinner with
the names of all notes that fall under
a tap, if there is more than one.
Simply pick the desired note from the
list, hit select, and you are brought to
the Player screen for that note.
The selected note is highlighted
with a yellow dot, and the audio
belonging to that note is prepared
for playback.
Overlapping notes will be a natural
occurrence in the use of this
application, as we visit the same
places often throughout our daily
lives. The next section describes how
we can give meaning to the places we
frequent, adding another layer of
usability to the system and meaning
to our microthoughts.
When you tap an area with several
overlapping notes a spinner
appears to help you select one.
9
Managing Places
Finally, this is the Places pane. As
mentioned, having a sense of “place”
is a nice feature for an application
that makes heavy use of location.
The user probably doesn’t care about
latitude and longitude, but there is
certainly value in being able to name
this or that particular corner “my
favorite coffee shop” or “my
workplace.” Notes can be bound to
these meaningful places, which allows
you to do a few interesting things that
we’ll talk about in a bit. For now we
will describe how you can add and
manage places.
We’ve added some nice functionality
to the map overlay that makes
working with places a breeze. Tap
anywhere on the screen to drop a
default-sized “place”, which consists
of a center point and a radius of
effect. Touch the center and drag to
move the place anywhere on the map.
Touch the outer rim of the place and
drag to change its size. As you can
see, we’ve dragged and resized our
place to cover the two notes we took
at the coffee shop earlier in the day.
Give the place a name and tap save,
and all the notes within its range are
automatically assigned to it. For more
granularity in place radius, you can
zoom in or out on the map.
You can also manage existing places;
just tap the center circle of any place
in view to select it and you can begin
dragging and resizing as you like. All
notes are updated as the place is
changed. You can also tap the delete
button to discard the selected place.
In this view you can tap the screen
to add a place, drag it to the
desired location, and drag the
outline to change its radius.
Give the place a name and hit save
when you’re ready. All the notes
under it are instantly assigned.
10
Back to the Filter panel, you can now
see that a list of all your places is
available at the bottom. When you
select a place from the list, the map
centers and zooms to show you that
place and all the notes inside it (for
the given date range). Saved places
are represented by cyan circles on the
map. Remember, if you want to
change a place you can just go back
to the Add Place screen, tap the
center to select it and then either
change or delete it.
Why Places?
There are two important use cases
that a sense of places provides us.
The first is simply the extra filtering
functionality you see here. The
second is even more powerful,
however. With a list of places, you
can now decide to record a note that
belongs to a location other than your
current one. For instance, you might
be at work but want to make a note
to remember something at the
grocery store this evening. If you
have your neighborhood grocery store
saved as a place, you can pick it from
the dropdown after you record your
note and the note will automatically
be relocated to that place. When you
arrive at the grocery store that
evening, you can use this screen to
filter based on place name and the
note will be right there.
This concludes our introduction to
MicroThoughts. We hope you find it
as exciting and useful as we do, and
we look forward to your feedback!
Once you’ve saved some places
their names appear in the Filter
view. Select a place to jump to
that location and find notes there.
When you select a place the map
zooms to frame it, and you can
easily see all the notes inside.
11
Download