Subject | Reviewing firebird implementation of my application |
---|---|
Author | Martijn @ pecs for all |
Post date | 2011-01-19T22:55:09Z |
Hi all,
I posted a question to the firebird-support group were to send this request
and was pointed to this group so here it is....
What's the application about
Picto selector is a Windows application written for easy selection and
printing of Pictos. Picto comes from pictograph (which is also called
pictogram or pictogramme); picto is an ideogram that conveys its meaning
through its pictorial resemblance to a physical object.
Those pictos can be used to create visual schedules and help autistic
children in visualizing tasks and times. (for some examples see
http://pictoselector.wordpress.com/category/visuals/ )
The pictos from 'Picto selector' come from the website Sclera.be,
Straight-Street.com and ARASAAC (Aragonese Portal of Augmentative and
Alternative Communication). These three sites are offering a huge database
with graphic resources and materials and 'Picto selector' includes them all
under one interface.
You don't have to search a pictogram on one of these sites, then save it and
insert it into a Word document in order to print it. With 'Picto Selector'
you save a lot of time and resources.
All you have to do is select the picto you want, optionally add a text or
alter it in any way you like and press 'Print'.
With several options the layout of the print can be changed. The pictos can
optionally be centered on each row. Also the number of pictos on each row
and column can easily be set for each sheet. Sheets can have titles and
pictos can have subscripts. Printing can also be done to a file to print
them somewhere else or store them as PDF.
You can easily alter the existing pictograms by adding text, colorize it,
transform it into negative or grayscale and mark them for right or wrong /
good or bad / yes or no.
You can even create your own picto with text or use one of your own digital
photos as a picto. 'Picto selector' features a 'Photo Picto' tool which
allows you to choose which part of the photo you want to show in a
pictogram.
A little video explaining how Picto Selector works:
http://www.youtube.com/watch?v=e_hx3BUxPdM
How many users
It has been downloaded over 11000 times from cnet last year and about the
same number directly from the website. Most of them by parents and teachers
of autistic children. Most users have little computer knowledge.
Some history / how I implemented things
I started with Picto Selector (PS from now) using flat text files as
storage. This works fine in single user environments but people are now also
using it at schools in network environments so I needed a better solution.
The picto sheets were stored as a single line in the text file and now I put
that single line in a blob field. I do not need multiple people to work at
the same sheet at the same time.
For each sheet I also store information about change and creation time,
version number (updating is only possible when this number did not change),
a user ID and a unique ID
ID's in PS are GUID's stored as 22 chars (encoded 64)
object dependencies:
* User
* Layout template (always owned by the administrator)
* Picto sheet
* user settings
* computer settings
* global settings
The Database is created at first startup and available as script in
"DBScripts\DB_Create.SQL"
In this folder I also put update scripts which I can run to update the
database to a higher version.
After database creation a administrator and the version will be inserted.
Each database gets a unique ID (also in the version table)
The administrator can not be removed, this is checked by the business logic
When copied to a removable disk PS will run in portable mode which means
that it always used the embedded database in the data subfolder
Technology used
* Language / IDE: Delphi XE
* Database: (Embedded) Firebird 2.5
* Delphi database components: UIB 2.5
* Localization: GNUGetText, currently translated to English, Dutch,
French, German, Spanish, Catalan and Hungarian
What needs to be tested
The database version is using embedded Firebird 2.5 I would like to have
some people look in my implementation and check if I did things right.
This includes:
* The way I introduce people to the application on a first start-up -
is it clear what happens or should I tell more / less?
* The documentation after installation which tells people how they can
install a Firebird server and connect my application with it (will be mostly
used by school system administrators some knowledge is to be expected)
* Maybe some monkey tests if the application handles transactions
correctly. It works ok, but it is the first time I use Firebird as a
back-end so I might have missed something
* In general test for things that might be a pitfall for Firebird
applications but of which I'm not aware.
* And if you want, you are of course welcome to review the working in
general.
* After reading earlier posts would my application need a database
maintenance option? (backup restore repair) It will probably confuse more
people than it helps...
* Did I correctly implement the synchronization? Administrators can
synchronize the local (embedded) database with a network database.
Synchronization is 'smart' it keeps track of changes not yet synchronized
(Both Databases needs to have different ID's if you try this make sure you
create a new database by moving/renaming the database)
How to install
* First install the old Picto Selector including all pictos (a 228MB
download so I do not build it for a database version)
http://pictoselector.sclera.be/setup_complete.exe
* Install the database version on top of the old Picto Selector (make
sure you select the same folder) If you want to compare the 'old' and new
version you can use 2 directories and copy the png folder to the other
installation
http://www.pecsforall.com/downloads/setup_beta.exe
Two final questions
* If you know people with autistic children, please inform them about
this tool it can greatly help them to give structure to their children
* I'm still looking for translator for about 8000 symbols to Spanish
and Catalan, if you know someone interested please let me know.
Let me know if you want more information etc...
Friendly greetings,
Martijn van der Kooij
Author of Picto Selector www.PECSforAll.com
[Non-text portions of this message have been removed]
I posted a question to the firebird-support group were to send this request
and was pointed to this group so here it is....
What's the application about
Picto selector is a Windows application written for easy selection and
printing of Pictos. Picto comes from pictograph (which is also called
pictogram or pictogramme); picto is an ideogram that conveys its meaning
through its pictorial resemblance to a physical object.
Those pictos can be used to create visual schedules and help autistic
children in visualizing tasks and times. (for some examples see
http://pictoselector.wordpress.com/category/visuals/ )
The pictos from 'Picto selector' come from the website Sclera.be,
Straight-Street.com and ARASAAC (Aragonese Portal of Augmentative and
Alternative Communication). These three sites are offering a huge database
with graphic resources and materials and 'Picto selector' includes them all
under one interface.
You don't have to search a pictogram on one of these sites, then save it and
insert it into a Word document in order to print it. With 'Picto Selector'
you save a lot of time and resources.
All you have to do is select the picto you want, optionally add a text or
alter it in any way you like and press 'Print'.
With several options the layout of the print can be changed. The pictos can
optionally be centered on each row. Also the number of pictos on each row
and column can easily be set for each sheet. Sheets can have titles and
pictos can have subscripts. Printing can also be done to a file to print
them somewhere else or store them as PDF.
You can easily alter the existing pictograms by adding text, colorize it,
transform it into negative or grayscale and mark them for right or wrong /
good or bad / yes or no.
You can even create your own picto with text or use one of your own digital
photos as a picto. 'Picto selector' features a 'Photo Picto' tool which
allows you to choose which part of the photo you want to show in a
pictogram.
A little video explaining how Picto Selector works:
http://www.youtube.com/watch?v=e_hx3BUxPdM
How many users
It has been downloaded over 11000 times from cnet last year and about the
same number directly from the website. Most of them by parents and teachers
of autistic children. Most users have little computer knowledge.
Some history / how I implemented things
I started with Picto Selector (PS from now) using flat text files as
storage. This works fine in single user environments but people are now also
using it at schools in network environments so I needed a better solution.
The picto sheets were stored as a single line in the text file and now I put
that single line in a blob field. I do not need multiple people to work at
the same sheet at the same time.
For each sheet I also store information about change and creation time,
version number (updating is only possible when this number did not change),
a user ID and a unique ID
ID's in PS are GUID's stored as 22 chars (encoded 64)
object dependencies:
* User
* Layout template (always owned by the administrator)
* Picto sheet
* user settings
* computer settings
* global settings
The Database is created at first startup and available as script in
"DBScripts\DB_Create.SQL"
In this folder I also put update scripts which I can run to update the
database to a higher version.
After database creation a administrator and the version will be inserted.
Each database gets a unique ID (also in the version table)
The administrator can not be removed, this is checked by the business logic
When copied to a removable disk PS will run in portable mode which means
that it always used the embedded database in the data subfolder
Technology used
* Language / IDE: Delphi XE
* Database: (Embedded) Firebird 2.5
* Delphi database components: UIB 2.5
* Localization: GNUGetText, currently translated to English, Dutch,
French, German, Spanish, Catalan and Hungarian
What needs to be tested
The database version is using embedded Firebird 2.5 I would like to have
some people look in my implementation and check if I did things right.
This includes:
* The way I introduce people to the application on a first start-up -
is it clear what happens or should I tell more / less?
* The documentation after installation which tells people how they can
install a Firebird server and connect my application with it (will be mostly
used by school system administrators some knowledge is to be expected)
* Maybe some monkey tests if the application handles transactions
correctly. It works ok, but it is the first time I use Firebird as a
back-end so I might have missed something
* In general test for things that might be a pitfall for Firebird
applications but of which I'm not aware.
* And if you want, you are of course welcome to review the working in
general.
* After reading earlier posts would my application need a database
maintenance option? (backup restore repair) It will probably confuse more
people than it helps...
* Did I correctly implement the synchronization? Administrators can
synchronize the local (embedded) database with a network database.
Synchronization is 'smart' it keeps track of changes not yet synchronized
(Both Databases needs to have different ID's if you try this make sure you
create a new database by moving/renaming the database)
How to install
* First install the old Picto Selector including all pictos (a 228MB
download so I do not build it for a database version)
http://pictoselector.sclera.be/setup_complete.exe
* Install the database version on top of the old Picto Selector (make
sure you select the same folder) If you want to compare the 'old' and new
version you can use 2 directories and copy the png folder to the other
installation
http://www.pecsforall.com/downloads/setup_beta.exe
Two final questions
* If you know people with autistic children, please inform them about
this tool it can greatly help them to give structure to their children
* I'm still looking for translator for about 8000 symbols to Spanish
and Catalan, if you know someone interested please let me know.
Let me know if you want more information etc...
Friendly greetings,
Martijn van der Kooij
Author of Picto Selector www.PECSforAll.com
[Non-text portions of this message have been removed]