On 14 Apr 2010, at 08:56, Marcelo de Moraes Serpa wrote:

The server's time rules. Wherever you are in the world, when you "sign
up", the server clock starts ticking. Suppose you get 30 days of free
service. When the server has counted 30 days, you're done. Doesn't
matter how many timezones you've crossed, the server hasn't moved.

Yeah, you are right. Time is time, independent of timezone. If it's 30 days, it's 30 days here, or anywhere else, the difference is the start and end times. It gives the illusion though of time lost, if you for exampe, receive a trial end email saying your trial has expired when, for you, it's still your "last day".

However, as a side note and also to aggregate something of value to this message, timezone corrections are needed when the for the user to know when, on his time, the trial will end (if you ever show this data to the user). This can help to avoid any confusions.

Also, on applications that, for example, need to trigger actions on the user's time, GMT as a base date and a user attribute with the GMT correction is essential. Otherwise, the user would get a email he scheduled for 7:00 his time at a totally different hour (his time).

So different things: time as measurement and time as a way to identify a specific temporal spot(s). Time is always the same time as a unit of measurement, timezone-independent. When trying to schedule an event or mark points (in time), timezone corrections are often needed.

Rails is timezone aware, so that isn't all too much of a problem, as you can find in the RoR wiki: http://wiki.rubyonrails.org/howtos/time-zones

There are however ways to determine the timezone of the user without him/her having to enter it into a form. Basically, you determine the timezone offset using Javascript, as details on http://www.onlineaspect.com/2007/06/08/auto-detect-a-time-zone-with-javascript/ and then put the value in a hidden form field. The best moment to do so, would be at the time the registration for trial form is being submitted.



Best regards

Peter De Berdt

--
You received this message because you are subscribed to the Google Groups "Ruby on 
Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to