Discussion:
[Bitpim-devel] Todo List for Samsung SCH-A650
d***@netzero.com
2004-11-14 19:54:52 UTC
Permalink
I've implemented a feature BITPIM to get, maintain, and send Todo data to the Samsung SCH-A650 phones. I've included some screen shots FYI. The design is fairly straight forward. Similar to other data structures, the Todo data is a dict ('todo' with integer keys) of dicts. The fields of the dicts include 'name': 32-char string, 'date':(y, m, d), and 'priority': 0=Low, 1=High. AT commands are being used to get and send Todo data from/to the phones. I have not committed the changes pending feedbacks from the group.

All suggestions & comments are welcome.

-Joe Pham
Roger Binns
2004-11-14 22:34:33 UTC
Permalink
Post by d***@netzero.com
The design is fairly straight forward. Similar to other data structures,
the Todo data is a dict ('todo' with integer keys) of dicts. The fields
of the dicts include 'name': 32-char string, 'date':(y, m, d), and
'priority': 0=Low, 1=High.
Please do some investigation first on what common data fields and semantics
are for todo items. This is important since we will need to be able to
import and export todo items, as well as be able to transfer them between
different phone models.

For example I just looked at Palm Desktop. It has the following fields for
a todo:

- description (short)
- note (long)
- due date (including no due date)
- complete (boolean)
- priority (1 thru 5 - 1 is most urgent)
- category
- private flag

Outlook has the following fields:

- subject (short description)
- note (long)
- due date
- start date
- status (not started, in progress, completed, waiting for someone else,
deferred)
- priority (low, normal, high)
- percentage complete
- reminder (date, time, sound file)
- owner
- contacts (ie who else is involved)
- categories
- private flag
- actual date completed
- total work hours (estimate?)
- actual work hours
- mileage
- billing information
- companies

You can also set the task to recur (daily, weekly, monthly, yearly) as well
as on completion (eg regenerate the task two weeks after you complete it).
You can also assign the task to others.

Evolution has tasks and assigned tasks. The fields are:

- summary (short)
- description (long)
- classification (public, private, confidential)
- categories
- due date (includes the time)
- start date
- status (not started, in progress, completed, cancelled)
- percent complete
- priority (undefined, low, normal, high)
- date completed (includes time)
- web page (yes really!)
- assigned task includes organizer and attendee contacts

LG phones only have calendar items and memos. The Samsung SGH-P107
(GSM) I have from RPI has lost the plot. The Audiovox phones are
pathetic. The Kyocera doesn't have anything equivalent, nor does
the Motorola V60.

You should define a reasonable union of all these data sources
as well as any standard for file format (the equivalent to vcard if
such a thing exists for todo items).

That will then define reasonable semantics for transferring to
phones (including ones released in the next year), as well as
how pleasant the import/export/sync process will be.

A natural user interface should flow out of this as well.

Finally I want to start storing stuff in a database. At
the programming level this shouldn't be a big deal - each
item has keys with values as before. I am busy writing a
doc describing how we will do database stuff for you to map
to.

Roger
Vic Heintz
2004-11-14 23:34:24 UTC
Permalink
Should bitpim presume to know better than the user how he/she wants to
enter phone numbers? Because my Samsung phone does not allow two
entries to have the same phone number and because i wanted separate
speed dial ids for our home number and my wife's cell, I entered her
home phone number with the 1 prefix and created a new entry for home
without the prefix. Downloading the phonebook to bitpim causes loss of
the prefix. A subsequent send of the phonebook back to the phone
results in an illegal situation with the same phone number in two
entries. I must either delete the home phone number from my wife's
entry or live with editing it each time I do a phonebook get.

Vic
Roger Binns
2004-11-15 01:57:49 UTC
Permalink
Post by Vic Heintz
Should bitpim presume to know better than the user how he/she wants to
enter phone numbers?
Of course. Just kidding :-)
Post by Vic Heintz
Because my Samsung phone does not allow two
entries to have the same phone number
You wonder exactly where the firmware engineers decide to come
up with nonsense like that. They presumably decided it would be
easier to do caller id without having to worry about dupes. And
as you show, it is very easy to have dupes. Another way it occurs
is if you have numbers for multiple people who work at the same
place and you have the main reception number for them.

One thing is for certain, which is that BitPim won't be reduced to
the lowest common denominator, otherwise it would end up totally
useless.
Post by Vic Heintz
without the prefix. Downloading the phonebook to bitpim causes loss of
the prefix. A subsequent send of the phonebook back to the phone
results in an illegal situation with the same phone number in two
entries. I must either delete the home phone number from my wife's
entry or live with editing it each time I do a phonebook get.
The code that writes the phonebook needs to make a best effort
to get the phonebook onto the phone. Consequently it should be
removing the duplicate numbers.

On landlines you can add extra digits to numbers without it causing
a problem. Verizon doesn't let you do that on cell numbers ...

Roger
Vic Heintz
2004-11-15 00:55:47 UTC
Permalink
Before I commit my latest Samsung A670 module to cvs, I thought I'd ask
whether something I have done is permissible or not. I have implemented
the downloading of camera pix. I have retained the original
non-descriptive camera names (Image001, etc) with the addition of the
.jpg extension to avoid confusion with caller-id assignments etc. There
is a header on these image files as they reside on the camera which is
discarded. I extract the timestamp from this header and write it to a
new 'timestamp' field in the index.idx file. Is this totally against
the rules or is it OK? My plan was to create a separate tool in
Applescript to rename them utilizing the timestamp and drop them into
iPhoto.

Vic
Roger Binns
2004-11-15 01:51:01 UTC
Permalink
Post by Vic Heintz
discarded. I extract the timestamp from this header and write it to a
new 'timestamp' field in the index.idx file. Is this totally against
the rules or is it OK?
The "rules" are that all fields are shared by all phones and all
import and export sources. Consequently your field has to play
well with others. (Playing well with other phones and data sources
is pretty much the cause of complexity in the BitPim code. Originally
it was all nice and simple and only supported one phone. When I
wanted to support other phones, as well as be able to import and
export information, the pain started ...)

Anyway a date field already exists. It uses the same date format
as the calendar. Here is an example:

{
'date': (2004, 6, 23, 22, 7),
'name': 'pic01.jpg',
'origin': 'camera',
},

Roger
Vic Heintz
2004-11-15 02:32:45 UTC
Permalink
Post by Roger Binns
Anyway a date field already exists. It uses the same date format
{
'date': (2004, 6, 23, 22, 7),
'name': 'pic01.jpg',
'origin': 'camera',
},
Cool, then date it will be. Do I have to strip leading zeros or can I
convert 20041010090617 to (2004, 10, 10, 09, 06)?

Vic
Roger Binns
2004-11-15 02:39:17 UTC
Permalink
Post by Vic Heintz
Cool, then date it will be. Do I have to strip leading zeros or can I
convert 20041010090617 to (2004, 10, 10, 09, 06)?
They are integers not strings.

Roger
Stephen Wood
2004-11-15 03:20:15 UTC
Permalink
On Sun, 2004-11-14 at 21:32, Vic Heintz wrote:
...
Post by Vic Heintz
Cool, then date it will be. Do I have to strip leading zeros or can I
convert 20041010090617 to (2004, 10, 10, 09, 06)?
Better remove the leading zeros because otherwise it will thing it is
octal.

Stephen

$ python
Python 2.2.3 (#1, Oct 15 2003, 23:33:35)
[GCC 3.3.1 20030930 (Red Hat Linux 3.3.1-6)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Post by Vic Heintz
x=010
print x
8
Post by Vic Heintz
x=09
File "<stdin>", line 1
x=09
^
SyntaxError: invalid token
Roger Binns
2004-11-15 04:08:06 UTC
Permalink
Post by Stephen Wood
Better remove the leading zeros because otherwise it will thing it is
octal.
The phone code doesn't write the dicts out. The phone code has to
supply the dicts with the fields/values having the correct type.
The saving code then saves the fields using their native representation.

So you could supply them as octal in the phone code, but they will
be represent in Python as integers. The dict dumping code will then
write out as base 10 integers.

The only way to get leading zeros would be to supply strings, but
that isn't how a date field should be.

At some point we are going to have to deal with timezones for dates ...

Roger

d***@netzero.com
2004-11-15 02:36:46 UTC
Permalink
I don't disagree with the approach, and thanks for the nice summary of the Todo info. I suggest that we start with collecting Todo features of phones currently supported by BITPIM and go from there.

-Joe Pham
Post by d***@netzero.com
The design is fairly straight forward. Similar to other data structures,
the Todo data is a dict ('todo' with integer keys) of dicts. The fields
of the dicts include 'name': 32-char string, 'date':(y, m, d), and
'priority': 0=Low, 1=High.
Please do some investigation first on what common data fields and semantics
are for todo items. This is important since we will need to be able to
import and export todo items, as well as be able to transfer them between
different phone models.

For example I just looked at Palm Desktop. It has the following fields for
a todo:

- description (short)
- note (long)
- due date (including no due date)
- complete (boolean)
- priority (1 thru 5 - 1 is most urgent)
- category
- private flag

Outlook has the following fields:

- subject (short description)
- note (long)
- due date
- start date
- status (not started, in progress, completed, waiting for someone else,
deferred)
- priority (low, normal, high)
- percentage complete
- reminder (date, time, sound file)
- owner
- contacts (ie who else is involved)
- categories
- private flag
- actual date completed
- total work hours (estimate?)
- actual work hours
- mileage
- billing information
- companies

You can also set the task to recur (daily, weekly, monthly, yearly) as well
as on completion (eg regenerate the task two weeks after you complete it).
You can also assign the task to others.

Evolution has tasks and assigned tasks. The fields are:

- summary (short)
- description (long)
- classification (public, private, confidential)
- categories
- due date (includes the time)
- start date
- status (not started, in progress, completed, cancelled)
- percent complete
- priority (undefined, low, normal, high)
- date completed (includes time)
- web page (yes really!)
- assigned task includes organizer and attendee contacts

LG phones only have calendar items and memos. The Samsung SGH-P107
(GSM) I have from RPI has lost the plot. The Audiovox phones are
pathetic. The Kyocera doesn't have anything equivalent, nor does
the Motorola V60.

You should define a reasonable union of all these data sources
as well as any standard for file format (the equivalent to vcard if
such a thing exists for todo items).

That will then define reasonable semantics for transferring to
phones (including ones released in the next year), as well as
how pleasant the import/export/sync process will be.

A natural user interface should flow out of this as well.

Finally I want to start storing stuff in a database. At
the programming level this shouldn't be a big deal - each
item has keys with values as before. I am busy writing a
doc describing how we will do database stuff for you to map
to.

Roger


-------------------------------------------------------
This SF.Net email is sponsored by: InterSystems CACHE
FREE OODBMS DOWNLOAD - A multidimensional database that combines
robust object and relational technologies, making it a perfect match
for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8
_______________________________________________
Bitpim-devel mailing list
Bitpim-***@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitpim-devel


________________________________________________________________
Look for special offers on
NetZero Platinum & NetZero HiSpeed
Visit Best Buy, RadioShack or Kmart Today.
Loading...