Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Support for an independant version of SideKick 14

Status
Not open for further replies.

mickygriff

Vendor
Jun 4, 2003
19
GB
I thought I would start a thread to show how much support there is for either an individual, group or company, to provide a reworked/updated version of Sidekick. Someone surely possesses the skills to do this? Please just reply to give this indication.
 
Dear Micky,

You aren't the only one around today.
I haven't seen any other posts by ronriche since that post in May 2004, but I do see from Googling that he is based in New Orleans so I do hope he is ok.
Great idea with the calendar though you could just type in the date as in:
2006/01/01 at the beginning.
or even 20060101 or 060101
...
Nice to know we are trying anyway.
Sleep tight
Jim
 
I mentioned in an earlier post that I was going to speak to a programmer that I know about Sidekick’s year 2006 problem. We came up with two different possibilities; one would be to patch the existing SK98 and the other is that my friend would look at SK98, see what it does, and write an application that works the same way. Obviously creating a whole new app will cost some; what I would like to know is how much interest is there in creating it? I am still talking to him about this, but I will try to move it along if I get a positive response.
 
I would be happy to invest in a Sidekick rewrite. Not a lot, but if enough of us are willing and able perhaps Zoltan's friend can afford to take it on. If we are slick enough in naming (to avoid trademark issues) and someone makes the effort to set up online distribution, it might give us some money back. Alternately, we might establish open-source status, and it might at least fund itself through contributions.
I suspect we will need a palm synch eventually, but I could live without that for the near term. (I am currently running 98 on a WinXP laptop, with no serial ports.)
 
Writing code for a new version of Sidekick that performs the same functions sounds appealing. However, I wonder how much time would be involved for such a task? How many "betas" would have to be generated to obtain a final bug free version? I'm not a programmer, but experience with using software in development suggests that the proposed remake would be a time consuming, and at times, frustrating process. When a company with adequate funding and commitment make a new program it is probable that there will be a final product. I wonder if that would be true for an ad-hoc volunteer approach to remaking Sidekick. Could the programmer count on the continuing support for funding and testing on many differing platforms from an eager, but unorganized community? These, I believe are relevant questions that must find answers if I were to commitment $ toward a remake. Sorry to be a bit negative, since I love Sidekick, but I believe these are hard questions that should be raised.
 
I would buy and updated version if somebody wrote one. Also does anybody know how to solve the date problem. The calendar function (goals, events, to-do lists) will not accept 2006 dates. It changes any 2006 date to 1998.
 
Dear All,
I quote jeffs email to me:
My sidekick calendar, (to do, goals, events lists) will not accept any 2006 dates. It changes any 2006 date to 1998. Is there a fix for this that you know of...

Short answer if you have Sidekick98 or 99 for the moment is no, a work around is to type the due date thus 2006-01-05 (which would be correct for today) at the very beginning of the SUBJECT TEXT BOX in the ToDo or Call.

Events and their alarms do work ok AFAIK.

Todos and calls are also showing a DAY after the DATE

If you wish to sort your ACTIVITIES list by Date Due then assuming you have inserted the date as I suggested you can click at the top of the DESCRIPTION column.


Hope this helps for the moment
Jim
 
Just wish to add to the weight of support for a 'new' Sidekick... I don't have the skills to code to a professional standard, but I would buy a copy of the final product!

I would agree with those who say keep the existing program and fix the date problems. (Possibly also an update to the email and vCard/vCal integration?) Most people seem motivated by their affection for the existing product, so why make major changes?
 
I have a hypothesis that the current bug resides in the Y2K patch, not in the main code. The current problem and the Y2K bug were both date management problems. The Y2K patch was hastily drafted code that Starfish produced after SK98 stopped working on 1/1/2000. If the patch is the problem, it might be easier to fix. But I am not a programmer.
 
I think bigdent may have something here. I make extensive use of the recurring todo feature in SKW. Interestingly the recurring todos DO come up on the right day EVEN THOUGH the date is displayed wrong. So whatever format the date is held in internally (probably the number of days after some random date like 1/1/1980), some parts of the program interpret it correctly and other parts don't. Very strange!!

Incidentally, one feature that SKW has and none of the others that I've looked at has, is that in SKW you can specify all the fields in Contacts. So a "Contacts" cardfile may not be contacts (people) at all. All the others I have looked at have a core set of fields like name and address. This is one thing about SKW that I really appreciate.
 
jeffbeal,

I really don't know as I am not a hacker or disassembler. I suspect that if the Space Race depended on it NASA would find a way. I really find it strange that none of the programmers who developed SKW have surfaced here. Here's hoping ...
 
I would like to add my 2 cents worth also. I really need to have the to do date fixed. I have used SK forever and all my records are on it such as hours worked, daily progress, and expenses.

I am involved in Linux and had been thinking about trying to get SK ported to Linux before the to do date problem arose. Talking to other Linux people, different people tried to convert other windows programs to Linux and the big show stoppers were all the DLLs and libraries that were used that were owned by others. Maybe SK isn't like this, but it could be a problem.

I still use Windows in a dual boot mode, just so I can use SK 98. If we can get the date problem fixed, and the ownship resolved, maybe we could it it make open source and the code available so it could also be used on Linux.
 
I'm not a tech guy, just an old faithful user. If I can be of any help, just ask.
 
[tt]
Hello,

I have been spending two working days on reverse-engineering TrueSync desktop in order to solve the 2006-ToDo-Problem.

It is possible to change the highest end-date in order to add entries with a date after 2005-12-31. Now I can choose dates like 2006-01-30. This is good news.

However, TrueSync Desktop itself has a _very_ weird internal date format for ToDo entries, which actually is different from the internal date format for Call entries.


The _very_ weird internal date format format is as follows:

It is a 32 bit number composed of following bits (MSB to LSB):

1y0ddddd 1yyymmmm 10000000 10000000

where
yyyy are 4 bits denoting the years from the year 1990
mmmm are 4 bits denoting the months from the start of the year
ddddd are 5 bits denoting the days from the start of the month


Months start with zero, so mmmm=0 means January, mmmm=1 means February, mmmm=2 means March ....

so the date 2004-06-29 is encoded as
yyyy=14 (14 years from 1990)
mmmm= 5 (5 months from the start of the year)
ddddd=29


As you can see, the bit #3 of the year number (call it "y3") is already "displaced" (it is not neighbouring to the ohther year-bits).


The internal date calculation is as follows:

The "Microdate"-software-component (sitting in "micrdate.dll") returns an ordinary UNIX-time to TrueSync Desktop (this is a time measured in seconds since 1970-01-01 00:00:00 UTC).

This ordinary UNIX-time is broken up into (year,month,day of month,hour,minute,second). However, year is measured here as years from year 1900. So year 2007 is represented as number 107. TrueSync desktop takes this year and subtracts 90 from it to create year2 (year2 is an 8-bit-value). So for year 2007, it calculates year2 = 107-90 = 17. For year 1994, it calculates year2 = 94-90 = 4. For year 1989, it calulates year2 = 89-90 = 255. (!) (This is unsigned 8-bit-subtraction, so negative values "wrap around").

Then TrueSync Desktop compares this value (year2) wether it is greater than 7. If year2>7 (this is true for years from 1980 inclusie to 1990 exclusive and for years from 1998 on), the bit y3 is set to 1, otherwise it is set to 0. The other bits y2y1y0 are set to the lowest 3 bits of year2, the highest 5 bits of year2 are silently dropped.

So
for year 2004, yyyy = 0b1110 = 14 meaning year 2004
for year 2007, yyyy = 0b1001 = 9 meaning year 1999
for year 1994, yyyy = 0b0100 = 4 meaning year 1994
for year 1989, yyyy = 0b1111 = 15 meaning year 2005

This fully explains the odd behaviour when selecting different years on the ToDo entry dialog, resulting in other years than intended.


However, this also makes things more problematic. Unlike in many other date formats, the date format

1y0ddddd 1yyymmmm 10000000 10000000

has no obvious place where to store additional year information. Whoever created this particular part of TrueSync Desktop or Sidekick (this very weird and inusable date format) must have been very very stupid and inexperienced. :-(

Maybe the '0' in "1y0ddddd" can be set to 1 do represent dates beyond year 2005, but this is unkown.


Interestingly, the Call entry list (the listing of whom to be called up to which limit time) below the ToDo entry list uses a different date format, which basically is as follows

10000000 1yyyyyyy 1mmmmmmm 1ddddddd

where

yyyyyyy is the number of years since year 1900

The Call entry date format is actually a bit different (I have not found it out yet, as the Call date format was not my objective), but what counts: it leaves enough room for additional days beyond 2006 (namely up to year 2027).


It is notable that actually there are two different date formats for no apparent reason. Maybe different software developers worked on different parts of SideKick|TrueSync Desktop. It may also be that these measures were taken to obfuscate the data format - to make it difficult to create compatible software. I do not know. Using two different date formats in the same software application als also very stupid (as this increases costs and bugs and interoperability problems).


To summarize: there is not much hope that any ToDo list entry can have a year 2006 or greater as part of its expiry date. (However, if any user manages to create such a ToDo list entry, please write me.)

But there is hope that one can use the Call entry list to simulate ToDo entries, including expiration of entries and so on.


If anybody wants these investigations to be pushed further, please contact me (I also like to work for money ;-)). If anybody wants to use these investigations and wants to credit me, then please credit the pseudonym "kWkW".

So far,

kWkW.
[/tt]
 
Excellent work kWkW. I don't know if this is mentioned before, but I found an intereting piece to the puzzle. By default, I do not use due dates. "No Due Date" is checked by default. When I enter a new ToDo, it shows the today's date (2006) correctly in the grayed-out due date register. It is only if I uncheck "No Due Date", close and reopen the entry, that the date changes to 1998.
 
Hi kWkW,

First of all, can I welcome you onboard! This thread started last July, and has had the highest number of responses within the Sidekick forum to date, so is an indication of the effect this has had and how popular the software is. It would be fair to say that there will undoubtedly be great interest in you continuing to investigate these issues. Every so often the question has been asked as to why no programmer has emerged with an interest in tackling the problem, so welcome indeed.

Your response is unfortunately over my head, but raises some questions too. For example, having analysed the problem of the To-do date, is it possible that you can 'patch' or repair that part of the programme with a hybrid of the 'Call' element? I apologise if this is too simple or off-tack. There will undoubtedly be other questions.

I appreciate your wish to be paid, and have an idea how this could happen, will make my suggestion later.

Tilltek and James33 also mentioned improvements that might be worth looking at in the future, also maybe we could hold some sort of 'Sidekick seminar' to consider these issues?

Hopefully, in response to your signing off comment, we are possibly in the position of 'so near, yet so far'. Maybe you will turn it to 'so far, so good'!

Regards,

Mick
 
KwKw, I too want to thank you for your labors and detailed reply.

Like Mickeyg., it is a little above my head--but not that much. But one quick--and I think an important one--question:

Why did you spend so much time on the TrueSynch Desktop?? The TrueSynch, I thought, was to transfer the SK date to a Palm device. It did not create data. Right? So again, why spend so much time on it? Or to put it another way: what does the TrueSynch Desktop have to do with out "ToDo" problem?

Thank you.
 
Hello bigdent, mickygriff,

the important part is to get a due date later than the year 2005 printed in the "due date" column of the ToDo list. I did not manage this and I doubt that this is ever possible with simple binary patching (as the data format used for due dates does not seem to be every ready to hold that data).


For anything more invasive than changing some bytes in the software binary (like changing the internal due date format or "misusing" Call entries as ToDo entries), the source code is really cruicial.

For non-technicians: Source code is like the ingredients of a very complex meal, along with a very precise recipe to create that meal out of the ingredients. Binary code (like we users have in the computer) is like the ready meal, ready to be used, but very difficult to change.

If you have a ready tomato soup and you realize that you are tomato-allergic, you cannot easily change the tomato soup into an onion soup, because you have to remove all the tomato out of the tomato soup. You would need a full chemical laboratory and a dedicated research program to do that.

It is much cheaper to just take the tomato soup recipe and replace tomatoes by onions and create another soup.

That is why it is of utter importance to have access to the source code (the precise recipe), at least for us "cooks" (programmers). (This is also why "open source" and "free software" is getting weight these days.)

So it might be more effective to find out the persons (software engineers) who worked for StarFish|Motorola|Intellisync at the time, talk with them, they might have a private copy of the SideKick|TrueSync Desktop source code. I do not expect copyright to be a problem (because no one cares, companies who might care do not exist anymore and because all of you are legitimate buyers of the software licence).

It also might be worth to contact press|media regarding this issue to create some pressure to companies. (They do not want to get a bad image just because they do not care.)

Regards,
kWkW.

 
Hello Gyula,

I'm user of the Motorola Accompli 008 device which is an PDA and a smartphone. The only software capable of syncing with this device is TrueSync Desktop, as far as I know. I do not want to stop using ToDos on the desktop and on the Accompli 008 device just because some programmers did bad work.

Because I'm a programmer myself, I'm (as a matter of principle) capable of changing software, even software without sourcecode. Reverse engineering (the process of understanding software at the finest detail level without having access to sourcecode) is one of the highest arts of computer science.

So I spent time on this because I am bugged by errors other people did and because I should be able to tackle this, maybe seeing this as a sport.


This is also not my first reverse engineering. For example, I managed to change the firmware of the controller of the fan of my laptop computer in order to make less noise when the fan is switched on. (Most notebook fans start roaring for just some seconds and then go silent for some seconds and the start roaring again. This behaviour is very annoying and distracting. Smooth steady slow fan operation is much more pleasent.)

 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top