You are on page 1of 10

Omatik specification

Preliminary revision for developer proposal


Overview
Omatik will be organized in chapters
Each chapter is divided in modules
The modules logic is the same for various chapters

Module 1.1 shows the user a sequence of elements


«element» is a class inclusive of
A text string
An image
A video
An MP3
Element.play Mode 2

Element.play(char «thing», int Mode)


Pops up the content of the element Element.string
Element.string
«thing» can be
Element.picture
«a» text only (element.text)
«b» picture only or
«c» video only Element.video
Element.picture
«d» audio only
or
Etc for all combinantions (text+pictureetch)
Element.video Element.string
Mode can be
1 full screen (horizontal or vertical)
2 half screen up (or right if horizontal)
3 half screen down (or left if horizontal)
Element.picture
99 remove element content from screen or Element.video
Mode 1
Note1: Set up should allow to show two elements content at the
same time in mode 2 and 3 (needed for module 1.2)
Mode 3
Note2: in the future 3 (mode 4) or 4 (mode 5) elements could have
to be shown on the same screen (needed potentially for module 1.2)
Element.play
Element.play(char «thing», int Mode)
Also records the mode for the displayed contents

Element include variables that store the last mode playied


E.g.
Int Text_mode
Int Picture_mode
Int Video_mode
Int Voice_mode (boolean it tells if a certain element.mp3 was playied or not)

Play(99) resets all these variables to 0.


Element.load
Fills the content of an element

Note: Set up to foresee that elements are loaded from an internet source (server) or local folders

IMPORTANT -> In parallel with the code develpment contents are being collected and prepared.
It s essential that the load procedure is aligned with the shape of the database where the
contents will be stored.

Example: element.load(URL, chapter name, int index, char option)

URL: database location


Chapter name: e.g. Chapter 1
Index: each chapter will include several elements to load
Option: load only MP3, or image or video or combinations
Initialize:
Retrieve the elements
number n
Module 1.1 Declare an Array of n
elements[i]
Load elements
1. Choose the chapter
2. Retrieve from database or local folder the number
of stored elements «n» Randomize index[] array
3. Declare an array of elements 0 to n-1 elements (from 0 to n-1)
4. Loads them from database without repetitions
5. Randomize n-1 elements without repetition
6. Plays array elements according to the randomize
sequence in mode 1 alternating a pause.
For i 0 to n-1
7. Asks if to replay the sequence or exit
Element[index[i]].play(all content, mode 1)
Notes Minimum customization: Pause(speed)
speed of the sequence to adjustable Element[index[i]].play(all content, mode 99)
Play image and string first then play MP3

Evaluate to not release the memory, the same sequence Repeat?


will be used for module 1.2. yes

Back to
main page
Element.getpicturename
Needed for Module 1.2

Allows interation with the user. Upon clicking on the element picture returns the
element string.
Generate a matrix (i,j) of (n-

Module 1.2 1)/2 random pairs with no


equal elements

1. Choose the chapter


For i=0 to number of pairs-1
2. Retrieve from database or local folder the Element[matrix[i,0]].Play(picture only, mode 2)
number of stored elements «n», initialize if Element[matrix[i,1]].Play(pictuture only, mode 3)
needed the array of elements
Generate a random boolean(0,1)
3. Initialize user score to zero, show score on Element[matrix[i,boolean]].Play(Mp3 only, mode N/A)
screen after username Receive Input element.getpicturename
4. Assume n is an even integer: Generate
random n/2 pairs of integers
5. Play elements pictures pairs and only one
random recording out of the two Plays «wow» Input ==
Remove all elements (play(99)) Yes
6. Ask to click on the image corresponding to Element[matrix[i, boolean]].play(text, mode1)
Element[mat
the recording Remove all elements (play99))
rix[i,boolean
7. If correct sound «wow» score +1 show the ].text ??
Score ++
correct element in mode 1 (no MP3)
8. If not correct sound «bhoo» show the correct
element in mode 1 (with MP3)
9. Go to the next pair and repeat for all pairs No
Plays «bhoo»
Note if n is not even show the last element as a Remove all elements (play(99))
mode 1, in future conceive mode 4 with three Element[matrix[i, boolean]].play(all content, mode1)
elements. Remove all elements (play(99))
Module 1.3
Alternative Version Alternative Version
Step 1 plays the
Verb
Allow to choose
across several
sentences
Proposal Content
1. Suggested platforms, languages for the App itself
2. Suggested Database implementation plan
3. Needed Manhours & Time for Module 1.1 & 1.2
4. Provide experience lists
5. Provide quotation

Notes:
Consider a first release for comments. Receipt of comments and update
All native code to be made available to owner
Consider to fully comment the code that has to be readable and extendable by
others if needed
Minimum use of propietary software allowed (preference is for not at all)
Maximum portability

You might also like