summaryrefslogtreecommitdiff
path: root/docs/manual/project/motivation.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/manual/project/motivation.rst')
-rw-r--r--docs/manual/project/motivation.rst52
1 files changed, 52 insertions, 0 deletions
diff --git a/docs/manual/project/motivation.rst b/docs/manual/project/motivation.rst
new file mode 100644
index 0000000..559408d
--- /dev/null
+++ b/docs/manual/project/motivation.rst
@@ -0,0 +1,52 @@
+Motivation to fork Gnokii
+=========================
+
+.. note::
+
+ Please note that this is original list of differences written by
+ Marcin when forking Gnokii, so it represents state of the code in
+ that time.
+
+1. Unicode used almost everywhere. In MyGnokii and Gnokii with modern
+ phones (they return everything in Unicode) things are converted from
+ Unicode and again to Unicode in other places. No more unnecessary
+ conversions.
+2. Almost everything is structural. In Gnokii some things are declared
+ in files, not in "main" phone structure. It can make some problems, when
+ will try to support two phones on two serial ports in one application.
+3. in Gammu you can make support for some things without adding source
+ to "main" phone modules. Very good idea for things, which are available
+ only for few models and for all other will be UNIMPLEMENTED. It includes
+ also some obsolete functions - why should we compile RLP source, when
+ all new better phones have modems built in ?
+4. Gnokii/MyGnokii has to have some compatibility with previously written source. In Gammu some solutions are reimplemented and done easier.
+5. no more reimplementing C libraries in source - see snprintf in gnokii.
+6. more OS supported.
+7. better sharing source. Less source = smaller application easier to debug.
+8. better user friendly interface
+9. no more 2 years rewriting source...
+10. it's easier to see, what frames are implemented, what not (in phone modules they're put line after line).
+11. better compatiblity with ANSI C = no warnings in MS VC 6
+12. all locations for user start from 0 (in Gnokii some from 0, some from 1)
+13. some things like SMS can be accessed few ways
+14. when possible, there are used "constant" locations. I will explain
+ on the example:
+
+ 1. save two calendar notes in any Nokia 61xx phone. Call them "reminder" and "call" notes. Reminder will be returned by phone of 1'st location, Call on 2'nd.
+ 2. Now Reminder will be deleted (for example, from phone keypad). Call will be moved from 2'nd to 1'st.
+ 3. When will read calendar notes again, have to read all notes again
+ because of changed locations (let's say, we won't read Call note
+ again. It will have location 2 in PC. Now you will write new note
+ into phone (for keypad) and it will save in under location 2. When
+ will try to save Call not with location 2, it will overwrite new
+ saved note !).
+
+ This is not good. When for example delete one entry from phonebook,
+ other locations "stays" on their places. These are "constant" locations.
+
+ With "constans" locations, when delete one location from PC, don't have
+ to read full memory from phone.
+
+etc. etc.
+
+Of course, some of these things can be in the future in gnokii too...