WO2005022371A2 - Time display method and apparatus - Google Patents

Time display method and apparatus Download PDF

Info

Publication number
WO2005022371A2
WO2005022371A2 PCT/GB2004/003568 GB2004003568W WO2005022371A2 WO 2005022371 A2 WO2005022371 A2 WO 2005022371A2 GB 2004003568 W GB2004003568 W GB 2004003568W WO 2005022371 A2 WO2005022371 A2 WO 2005022371A2
Authority
WO
WIPO (PCT)
Prior art keywords
disc
scale
line
lines
observer
Prior art date
Application number
PCT/GB2004/003568
Other languages
French (fr)
Other versions
WO2005022371A3 (en
Inventor
Sean Adrian Zoega
Mark Johnson
Original Assignee
Sean Adrian Zoega
Mark Johnson
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sean Adrian Zoega, Mark Johnson filed Critical Sean Adrian Zoega
Publication of WO2005022371A2 publication Critical patent/WO2005022371A2/en
Publication of WO2005022371A3 publication Critical patent/WO2005022371A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0338Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of limited linear or angular displacement of an operating part of the device from a neutral position, e.g. isotonic or isometric joysticks

Definitions

  • the present invention relates to a method and apparatus for displaying to an observer an analogue representation of time.
  • the present invention also relates to a method for launching an application on a computing device.
  • a clock comprising a minute hand and an hour hand.
  • Each hand extends from a central point, and indicates a location on a scale extending around that central point.
  • the hour hand has a relatively short length and the minute hand has a relatively longer length.
  • the minute hand is swept at a rate proportional to the rate at which minutes elapse, whilst the hour hand is swept across the scale at a rate proportional to the rate at which hours elapse. That is, the minute hand makes twelve revolutions of the scale for each revolution of the hour hand.
  • analogue clock as described above are known. Aesthetically pleasing backgrounds may be applied to the scale. It is also known to provide a clock including a second hand, and in such a clock a third hand is provided which rotates sixty times more quickly than the minute hand.
  • an apparatus for displaying to an observer an analogue representation of time by pointing to first and second locations on a scale which extends around a central point and represents time wherein the apparatus is arranged to display a first line to the observer which extends in a direction from the central point to the first scale location and the apparatus is arranged to display a second line to the observer which extends in a direction from the central point to the second scale location, the first and second lines being swept across the scale in the same direction as time elapses at different rates proportional to elapsed time measured in different units, and, when the lines extend in different directions from the central point, an area defined between the first and second lines on one side of the first line being visually distinct from an area defined between the first and second lines on the other side of the first line.
  • the scale may represent minutes and hours, the first line may be swept across the scale at a rate proportional to elapsed minutes, and the second line may be swept across the scale at a rate proportional to elapsed hours.
  • the first and second lines may be defined by edges of first and second rotating overlapping sheets. Surfaces of the sheets may define the visually distinct areas.
  • the first sheet may rotate at a higher rate than the second sheet.
  • the sheets may be in the form of radially split discs. A leading edge defined by the split in the first sheet may be arranged to pass in front of a trailing edge defined by the split in the second sheet on alternate passes of the split in the first disc past the split in the second disc, and behind the trailing edge of the second sheet on the remaining passes.
  • a peripheral edge of the second sheet may be mounted on a guide which rotates on a first drive, and the centre of the first sheet may be mounted on a second drive a shaft of which extends through the guide.
  • the first disc may be alternately located between the second disc and the guide on the side of the second disc remote from the guide.
  • the guide may define a ramp arranged to lift the leading edge of the first sheet towards the second sheet when the leading edge of the first sheet is between the guide and the second sheet.
  • the guide may include a cam mechanism which on alternate passes of the split in the first disc past the split in the second disc lifts the trailing edge of the second disc above the level at which the leading edge of the first disc is supported by the ramp and on the remaining passes pulls the trailing edge of the second disc below the level at which the leading edge of the first disc is supported by the ramp.
  • the cam mechanism may comprise a spring which pulls the trailing edge of the second disc towards the guide, and a cam and push rod which extends through the guide to bear against the adjacent disc.
  • the cam mechanism may drive the push rod towards the adjacent disc and alternate passes of the split in the first disc past the split in the second disc.
  • the cam mechanism may comprise a static main gear and a planetary gear the axis of which is supported by the guide.
  • the planetary gear may mesh with the static main gear and rotate with the cam which acts against the push rod.
  • time may be displayed to the observer on a display connected to an electronic device.
  • the electronic device and display may be part of a mobile telephone.
  • Computer program code may be downloaded to the electronic device to cause the electronic device to display time to the observer.
  • a method for displaying to an observer an analogue representation of time by pointing to first and second locations on a scale which extends around a central point and represents time comprising displaying a first line to the observer which extends in a direction from the central point to the first scale location and displaying a second line to the observer which extends in a direction from the central point to the second scale location, sweeping the said first and second lines across the scale in the same direction as time elapses at different rates proportional to elapsed time measured in different units, wherein when the lines extend in different directions from the central point, an area defined between the first and second lines on one side of the first line is visually distinct from an area defined between the first and second lines on the other side of the first line.
  • the method may be implemented by an electronic device.
  • the method may be implemented using a mobile telephone.
  • the method may comprise downloading computer program code to cause the electronic device to display a representation of time to the observer.
  • a plurality of images files may also be downloaded to the electronic device.
  • One of the images may be displayed between the first and second lines on one side of the first line, and another of the images may be displayed between the first and second lines on the other side of the first line.
  • Said image files may be coded such that they are operable only on a predetermined electronic device.
  • the method may comprise generating a first security code on the basis of a file containing the images and data related to the electronic device, delivering said first security code to a user, generating a second security code at the electronic device, and allowing said images to be displayed only when said second security code matches said first security code.
  • the invention also provides a data carrier carrying computer program code means to cause a microprocessor to execute procedure in accordance with the method described above.
  • Portable computing devices such as mobile telephones and portable digital assistants typically have a limited range of input devices.
  • Mobile telephones typically have a keypad having number keys numbered 0 through 9.
  • many mobile telephones have a joystick input device which can be used to navigate through menus provided by the mobile telephone to cause the mobile telephone to carryout various functions. On some telephones, this joystick can be pressed inwards.
  • a menu is displayed by pressing the joystick, and then navigated by moving the joystick in directions corresponding to up and down, and sometimes left and right, before pressing the joystick to select a menu item.
  • Navigating through a menu of items as described above can by time consuming, and it is desirable to allow selections to be made without navigating through the menu.
  • One possible solution would involve the provision of additional buttons on the mobile telephone, each button being configured to launch a particular application.
  • mobile telephones are of a relatively small size, it is not possible to include many such buttons without undesirably increasing the size of the mobile telephone.
  • a method of launching an application on a computing device the computing device being in communication with an input device moveable in a plurality of directions.
  • the method comprises receiving first data indicating first movement of said input device, said first data indicating a first direction and receiving second data indicating second movement of said input device, said second data indicating a second direction.
  • the said first and second directions lie within a common plane.
  • the application is launched in response to receipt of second data within a predetermined time period of receipt of said first data.
  • the invention allows an input device which can be used to generate data indicating a plurality of directions in a common plane such as a joystick, to be used to directly launch an application. That is, a predetermined plurality of movements such as movements corresponding to up/down can be used to launch a particular application.
  • Launching an application may involve causing the computing device to begin execution of a particular program, or may alternatively simply select one of a plurality of applications which are running for display on a display device.
  • the application which is launched may provide a representation of time, and more particularly may provide a representation of time of the form described above.
  • the first and second directions may be different.
  • the first and second directions preferably lie on a common axis within the plane.
  • the input device may have a default position, and may be moveable to a first position to generate said first data, and to a second different position to generate said second data.
  • the default, first, and second positions may lie on a common axis as is the case where the input device is a slide switch, or on a common arc as is the case where the input device is a joystick.
  • the first movement may be rotational movement of said joystick about its pivot point in a first movement direction
  • said second movement may be rotational movement of said joystick about its pivot point in a second movement direction.
  • the input device may alternatively be a scroll wheel.
  • the computing device may be a limited resource portable computing device such as a mobile telephone or portable digital assistant (PDA).
  • PDA portable digital assistant
  • Figure 1 is a perspective exploded view of components making up a first electromechanical embodiment of the invention
  • Figures 2, 3, 4, 5 and 6 show respectively the analogue representation at time presented by the apparatus illustrated in Figure 1 respectively at five minutes to midnight, midnight, five past midnight, half an hour past midnight and one o'clock in the morning;
  • Figure 7 is a schematic illustration of an alternative method for putting the invention into effect
  • Figure 8 is a flow chart of activities carried out by the method of Figure 7;
  • Figure 9 is an illustration of a seconds display provided in some embodiments of the present invention.
  • Figure 10 is a schematic illustration of a mobile telephone
  • Figure 11 is a schematic illustration of movement of a joystick provided by the the mobile telephone of figure 10.
  • Figure 12 is a flowchart showmg how a plurality of movements of the joystick of figures 10 and 11 can be used to cause display of a clock of the type illustrated in figures 2 to 6.
  • the illustrated device comprises a first sheet 1 mounted on a drive shaft 2 which is driven by a conventional clock movement (not shown) so that the shaft 2 rotates about its axis once per hour in the direction of arrow 3.
  • the first sheet 1 is in the form of a split disc, the split in the disc extending radially from the axis of the shaft 2 and defining a leading edge 4 and a trailing edge 5 on opposite sides of the split.
  • the apparatus also comprises a second sheet 6 which is mounted on a guide 7 that is driven by the clock mechanism so that the guide 7 rotates in the direction of arrow 8 once every twelve hours.
  • the guide 7 has an upstanding peripheral edge 9 and, on its surface facing the sheets 1 and 6, defines a ramp which terminates in an edge 11.
  • the raised peripheral edge of the guide 7 extends from the edge 11 around the most but not all of the periphery of the guide 7.
  • the sheet 6 is in the form of a split disc, the split extending radially and defining a leading edge 12 and a trailing edge 13. Although not shown in Figure 1, the trailing edge 13 of the disc 6 will be close to but downstream from the ramp edge 11.
  • a fixed main gear 14 is located behind the guide 7, and washers 15 are located between the guide 7 and the main gear 14 to ensure easy relative rotation between those two components.
  • a planetary gear housing 16 is mounted to rotate with the guide 7, the gear housing 16 supports a planetary gear 17 which rotates with an annular cam member 18.
  • the cam member 18 defines a ramp-like cam surface 19 against which a push rod 20 bears.
  • the push rod 20 extends through an opening 21 in the guide 7 to bear against the adjacent disc 6.
  • a spring 22 is arranged to bias the adjacent disc against the projecting end of the push rod 20 so as to maintain the push rod 20 in contact with the cam surface 19.
  • the gear ratio of the main gear to the planetary gear is 11/2. This means that if the push rod is retracted at midnight, it will be extended 12/11 of an hour later when the splits in the two discs are aligned shortly after one o'clock. The push rod will be pulled back after a further 12/11 of an hour, extended after a further 12/11 of an hour and so on. As a result of this timing relationship, and the presence of the ramp edge 11 and the spring 22, as the leading edge 4 of the minute disc one approaches the trailing edge 13 of the hour disc 6, the trailing edge 13 of the hour disc 6 is alternately lifted above or pulled beneath the level at which the leading edge 4 of the minute disc projects above the ramp edge 11.
  • the push rod 20 will have been extended, lifting the trailing edge 13 of the disc 6 above the level at which the leading edge 4 of the disc 1 will project over the ramp edge 11.
  • the leading edge 4 of the disc 1 moves behind the disc 6 and as time passes progressively more and more of the disc 1 will be covered by the disc 6.
  • the splits in the discs will again be aligned with the disc 6 wholly in front of the disc 1.
  • the discs 1 and 6 are visually distinct.
  • the disc 1 could be black whereas the disc 6 could be white.
  • the discs could carry any visually distinct images.
  • Figure 2 shows the appearance of the apparatus at 11.55 at which time most of the disc 1 is obscured by the disc 6.
  • the radial line 5 represents the trailing edge of the disc 1 and the radial line 13 the trailing edge of the disc 6.
  • Figure 3 shows the apparatus at midnight at which time the splits in the two discs are aligned with the disc 1 wholly behind the disc 6.
  • the line in Figure 2 labelled 12, 13 represents the split in the disc 6.
  • the trailing edge 13 of the disc 6 will be pulled back by the spring 22 ( Figure 1) such that the leading edge of the disc 1 (which is not visible in Figure 3) is positioned so that with further relative movement between the discs the leading edge 4 of the disc 1 will appear above the trailing edge 13 of the disc 6.
  • Figure 4 shows the appearance of the apparatus at 12.05, the line 4 representing the leading edge of the disc 1 and the line 12 the trailing edge of the disc 6.
  • Figure 5 shows the apparatus at 12.30 and figure 6 the device at 1 o'clock when once again the radial splits in the disc 1 and 6 are aligned by the disc 1 is wholly in front of and obscuring the disc 6.
  • the "hour hand” and “minute hand” are indistinct. It may therefore be desirable to provide some way of differentiating the two lines which represent hours and minutes.
  • the current hour may be indicated by providing LED's at twelve scale locations representing different hours, and illuminating the LED which is associated with the current hour. Thus the LED's supplement the information which can be obtained from the clock of Figures 2 to 6.
  • the method of displaying time described above may be used to display minutes and seconds, with a value in hours being displayed using alternative means, such as a conventional "hour hand".
  • the apparatus is strikingly visually distinct from a normal clock face and therefore combines the essential characteristics of any analogue display, that is intelligibility, with a stylish design.
  • a computer program is arranged to display to a user a clock of the form illustrated in Figures 2 to 6.
  • the computer program can be implemented on any suitable platform, in a preferred embodiment of the invention, the clock is displayed to a user by means of a mobile telephone.
  • a user's mobile telephone 100 communicates with a webserver 101 to allow the mobile telephone 100 to acquire the components necessary to display the clock.
  • a main component is a computer program known as a player which allows the mobile telephone to operate a clock in accordance with the invention.
  • the user requests this program from the webserver using any suitable means.
  • the user may be required to pay an operator of the web server for the clock, and in such circumstances credit card payment or any other suitable payment means may be used.
  • the computer program downloaded from the web server 101 typically allows the mobile telephone 100 to display a clock in which the segments are each a solid colour.
  • the program may be configured so as to allow the user to select these colours.
  • the clock may be caused to display different images on different segments, in place of solid colours. These images may again be downloaded from a web server, and the computer program may then be configured to display the downloaded images.
  • Appendix 1 shows C++ source code for an application which displays to the user the clock of the invention.
  • the source code will be readily understandable by one skilled in the art, but for ease of reference fragments of the source code are now described in further detail.
  • Appendix 1 shows an object oriented implementation for the clock, in which the clock is represented using a CswatchClock class.
  • the constructor of that class sets an iClockSpeed variable to EclockSpeedRealTimeHours (the value of which is set in an associated header file) shown in Appendix 2.
  • the UpdateTime ( ) method calculates the size of segment which is to be coloured differently from the background.
  • the method calculates values for two floating point values numberOf SmallUnits and numberOfLargeUnits which in normal operation respectively denote the positions on the scale which represent minutes and hours.
  • a Get Time function is called with pointers to variables which can be set to hold the current time in terms of hours, minutes, seconds and milliseconds.
  • a switch statement acting on the iClockSpeed variable and containing five different case statements (including a default statement) is then executed.
  • the first case statement executes, which causes the variable numberOfSmallUnits to be set according to the following equation:
  • variable numberOfSmallUnits contains a value in minutes.
  • variable numberOfSmallUnits contains a value in hours.
  • the first case statement sets a variable smallUnitRatio to be equal to 360/60. That is, smallUnitRatio represents the number of degrees by which a clock hand should move when time is incremented by one minute. Similarly a variable largeUnitRatio is set to be equal to 360/12. That is, largeUnitRatio represents the number of degrees by which a clock hand should move when time is incremented by one hour. Having set these variables, the case statement terminates and the variables numberOf DegreesStart and numberOf DegreesEnd are used to compute the current position of the lines which define the borders of the two sectors of the clock. These variables are set by simply multiplying numberOfSmallUnits (i.e. a minute value) by smallUnitRatio, and numberOfLargeUnits by LargeUnitRatio.
  • the other case statements included in the switch statement are used for alternative embodiments of the invention.
  • the second case statement is used when it is desired to generate a clock depicting minutes and seconds.
  • auxiliary means such as a conventional clock hand for example, are used to indicate the time in hours.
  • the intersections of the sectors provided by the clock of the invention are then used to indicate minute and second values.
  • the Draw method defined within the CswatchClock class attends to drawing of the clock on a display. This is accomplished by making calls to standard library functions with appropriate parameters computed using variables aDegreesStart and aDegreesEnd which are in use set to the numberOfDegreesStart and numberOf DegreesEnd variables set in the UpdateTime ( ) method.
  • Figure 8 shows a process for downloading both a compiled version of the computer program described above known as a player, and suitable images for display on the sectors of the clock.
  • a user requests the player application which comprises one or more suitable object files created from source code such as that described above.
  • This player is then delivered to the user's mobile telephone.
  • the player maybe requested from the mobile telephone using WAP or another suitable protocol.
  • the player may be requested from a PC using a webbrowser, and the user may specify a telephone number to which the player is to be delivered. The delivery can then be effected using a suitable protocol such as WAP.
  • the telephone When the player has been downloaded to the telephone, the telephone is able to display time using a clock of the form shown in Figures 2 to 6.
  • the user is able to download pairs of images which are applied to the sectors of the clock. A preferred method for the download of such images is now described.
  • a user requests a package file containing a pair of images using a mobile telephone. Payment is then made by the user to the operator of the website.
  • the website calculates a security code by combining a file name associated with the package file, a unique identifier of the telephone, and the number of bytes contained within the package file to generate a security code.
  • a user downloads a package file. This is identified by a unique package name.
  • a package file includes a background image, and first and second clock face images.
  • the background image displays a surround for a clock face, including a conventional scale which may contain the numbers 1 to 12 as in a conventional clock.
  • the clock face images are images which are to be applied to the sectors of the clock.
  • Several data items are required to generate the security code. Some data is obtained from the package file, and other data is input by a user. The following data items are used: the package name (an ASCII string obtained from the package), A unique identifier of the user's telephone (often an BVIEI number), and four buffer lengths which are stored from within the package file.
  • the user is also asked to input an email address. It will be appreciated that email communication could, in some embodiments of the invention, be replaced by communication via, for example, SMS messages.
  • the security code is generated as follows: Create an empty string which is referred to as [1] For each data item listed above: Create an MD5 hash of that data item (this produces a thirty-two character string) Append this to [1] This is repeated for each data item, and a new MD5 hash is created from the appended results (which together form a 7*32 character string). This generates a new thirty-two character string referred to as [2].
  • the security code is then this eight character value.
  • the security code is then forwarded to the user.
  • the package file is similarly delivered to the user.
  • the player is configured to run a security algorithm.
  • the security algorithm prompts the user to input the security code.
  • the algorithm also calculates the package security code using data held at the mobile telephone, using the method referred to above. A check is then made to ensure that this security code matches the security code which was input by the user. Assuming this is the case, the clock is displayed to the user, otherwise the clock is not displayed.
  • codes input by the user are stored in a database held at the telephone, to prevent a user being repeatedly prompted to enter security codes each time a package is used.
  • the "hour hand” and “minute hand” may be distinguished by highlighting the current hour on the clock surround.
  • an icon may be superimposed upon the "hour hand” so as to differentiate the "hour hand” from the "minute hand”.
  • a further image may be displayed to provide a representation of a second component of the current time.
  • this is achieved by displaying an image as illustrated in figure 9.
  • a circle 102 is divided into two visually distinct segments 103, 104.
  • the segment 104 increases in size and the segment 103 decreases in size. That is, a first separation of the segments 103, 104 indicated 105 remains stationary while a second separation of the segments 103, 104 marked 106 sweeps about the circle in a clockwise direction.
  • 15 seconds of the current minute have elapsed.
  • the further image of Figure 9 may be located on the "hour hand" of the clock, so as to differentiate the "hour hand” and the "minute hand” as described above.
  • Some embodiments of the present invention provide a convenient way of causing a computing device to display an application such as the clock described above. This is now described.
  • Figure 10 is a schematic illustration of a mobile telephone 110. It can be seen that the illustrated mobile telephone has a display screen 111 on which a clock of the form illustrated in figures 2-6 can be displayed. The mobile telephone further comprises a set of 12 buttons 112 forming a keypad comprising number buttons marked 0 to 9 a "*" key and an "#" key. Additionally, the illustrated mobile telephone comprises a joystick 113 movable in a plurality of directions. Figure 11 schematically illustrates directions in which the joystick 113 can be moved. It can be seen that the joystick can be moved in directions denoted by arrows A and B corresponding to up and down, and directions C and D corresponding to right and left. Additionally, the joystick 113 can be pressed inwards. Accordingly, the joystick 113 has five different possible directions of movement. Four of these directions (denoted by arrows A, B, C and D) lying in a common plane.
  • the joystick 113 moves about a pivot point, and rotates in first and second directions about a common arc to provide movement corresponding to directions denoted by arrows A and B of figure 11, and first and second directions about a second arc to provide movement corresponding to directions denoted by arrows C and D of figure 11. Movement of the joystick about its pivot point can be processed to generate data indicating directions corresponding to arrows A to D of figure 11, these directions all lying in a common plane.
  • a combination of movements of the joystick 113 are used to trigger display of a clock of the type described above, as is illustrated in figure 12.
  • a processor (not shown) within the mobile telephone 110 detects movement of the joystick 113 in a first rotational direction corresponding to movement depicted by arrows A or B in figure 11. Following detection of this movement, at step S2 a one second timer beings. If no further button press is received within one second, the processor returns to step SI.
  • step S4 a check is made to determine whether the joystick has been moved in the direction of arrow A (at step SI) then the direction of arrow B (at step S3), or the direction of arrow B (at step SI) then the direction of arrow A (at step S3). If this is the case, the clock is displayed at step S5. Otherwise, processing returns to step SI.
  • some embodiments of the invention allow movement of the joystick in the direction of arrow A, followed by the direction of arrow B or the direction of arrow B followed by the direction of arrow A to cause the clock application to be launched. It will be appreciated that in alternative embodiments of the invention movement in the directions of other combinations of the arrows A to D of figure 11 may be used to trigger the display of the clock application.
  • ⁇ iClockSpeed aClockSpeed
  • ⁇ void CSwatchClock Resize (int aWidth, int aHeight)
  • EclockSpeedRealTimeHours 0 , EClockSpeedRealTimeMins , EClockSpeedFast, ⁇ ClockSpeedManual ⁇ TClockSpeed;
  • ⁇ EFillPicture 0, EFillColourBlack, EFillColourBlue, EFillColourCyan, EFillColourGreen, EFillColourRed, EFillColourWhite, EFillColourYellow
  • EOutlineNone 0, EOutlineColourBlack, EOutlineColourBlue, EOutlineColourCyan, EOutlineColourGreen, EOut1ineColourRed, EOutlineColourWhite, EOutlineColourYellow

Abstract

A method and apparatus for displaying to an observer an analogue representation of time by pointing to first and second locations on a scale which extends around a central point and represents time. The method and apparatus are arranged to display a first line to the observer which extends in a direction from the central point to the first scale location. The method and apparatus are arranged to display a second line to the observer which extends in a direction from the central point to the second scale location. The first and second lines are swept across the scale in the same direction as time elapses at different rates proportional to elapse time measured in different units. When the lines extend in different directions from the central point, an area defined between the first and second lines on one side of the first line is visually distinct from an area defined between the first and second lines on the other side of the first line.

Description

TIME DISPLAY METHOD AND APPARATUS
The present invention relates to a method and apparatus for displaying to an observer an analogue representation of time. The present invention also relates to a method for launching an application on a computing device.
It is well known to display time to an observer by means of a clock comprising a minute hand and an hour hand. Each hand extends from a central point, and indicates a location on a scale extending around that central point. Traditionally, the hour hand has a relatively short length and the minute hand has a relatively longer length. As time elapses both the hour and minute hands are swept across the scale. The minute hand is swept at a rate proportional to the rate at which minutes elapse, whilst the hour hand is swept across the scale at a rate proportional to the rate at which hours elapse. That is, the minute hand makes twelve revolutions of the scale for each revolution of the hour hand.
Many forms of analogue clock as described above are known. Aesthetically pleasing backgrounds may be applied to the scale. It is also known to provide a clock including a second hand, and in such a clock a third hand is provided which rotates sixty times more quickly than the minute hand.
It is an object of the present invention to provide an alternative clock.
According to a first aspect of the present invention, there is provided an apparatus for displaying to an observer an analogue representation of time by pointing to first and second locations on a scale which extends around a central point and represents time, wherein the apparatus is arranged to display a first line to the observer which extends in a direction from the central point to the first scale location and the apparatus is arranged to display a second line to the observer which extends in a direction from the central point to the second scale location, the first and second lines being swept across the scale in the same direction as time elapses at different rates proportional to elapsed time measured in different units, and, when the lines extend in different directions from the central point, an area defined between the first and second lines on one side of the first line being visually distinct from an area defined between the first and second lines on the other side of the first line.
The scale may represent minutes and hours, the first line may be swept across the scale at a rate proportional to elapsed minutes, and the second line may be swept across the scale at a rate proportional to elapsed hours. The first and second lines may be defined by edges of first and second rotating overlapping sheets. Surfaces of the sheets may define the visually distinct areas. The first sheet may rotate at a higher rate than the second sheet. The sheets may be in the form of radially split discs. A leading edge defined by the split in the first sheet may be arranged to pass in front of a trailing edge defined by the split in the second sheet on alternate passes of the split in the first disc past the split in the second disc, and behind the trailing edge of the second sheet on the remaining passes. A peripheral edge of the second sheet may be mounted on a guide which rotates on a first drive, and the centre of the first sheet may be mounted on a second drive a shaft of which extends through the guide. The first disc may be alternately located between the second disc and the guide on the side of the second disc remote from the guide.
The guide may define a ramp arranged to lift the leading edge of the first sheet towards the second sheet when the leading edge of the first sheet is between the guide and the second sheet. The guide may include a cam mechanism which on alternate passes of the split in the first disc past the split in the second disc lifts the trailing edge of the second disc above the level at which the leading edge of the first disc is supported by the ramp and on the remaining passes pulls the trailing edge of the second disc below the level at which the leading edge of the first disc is supported by the ramp. The cam mechanism may comprise a spring which pulls the trailing edge of the second disc towards the guide, and a cam and push rod which extends through the guide to bear against the adjacent disc. The cam mechanism may drive the push rod towards the adjacent disc and alternate passes of the split in the first disc past the split in the second disc. The cam mechanism may comprise a static main gear and a planetary gear the axis of which is supported by the guide. The planetary gear may mesh with the static main gear and rotate with the cam which acts against the push rod.
Alternatively, time may be displayed to the observer on a display connected to an electronic device. The electronic device and display may be part of a mobile telephone. Computer program code may be downloaded to the electronic device to cause the electronic device to display time to the observer.
According to a second aspect of the present invention there is provided a method for displaying to an observer an analogue representation of time by pointing to first and second locations on a scale which extends around a central point and represents time, the method comprising displaying a first line to the observer which extends in a direction from the central point to the first scale location and displaying a second line to the observer which extends in a direction from the central point to the second scale location, sweeping the said first and second lines across the scale in the same direction as time elapses at different rates proportional to elapsed time measured in different units, wherein when the lines extend in different directions from the central point, an area defined between the first and second lines on one side of the first line is visually distinct from an area defined between the first and second lines on the other side of the first line.
The method may be implemented by an electronic device. The method may be implemented using a mobile telephone. The method may comprise downloading computer program code to cause the electronic device to display a representation of time to the observer. A plurality of images files may also be downloaded to the electronic device. One of the images may be displayed between the first and second lines on one side of the first line, and another of the images may be displayed between the first and second lines on the other side of the first line.
Said image files may be coded such that they are operable only on a predetermined electronic device. The method may comprise generating a first security code on the basis of a file containing the images and data related to the electronic device, delivering said first security code to a user, generating a second security code at the electronic device, and allowing said images to be displayed only when said second security code matches said first security code.
The invention also provides a data carrier carrying computer program code means to cause a microprocessor to execute procedure in accordance with the method described above.
Portable computing devices such as mobile telephones and portable digital assistants typically have a limited range of input devices. Mobile telephones typically have a keypad having number keys numbered 0 through 9. Additionally, many mobile telephones have a joystick input device which can be used to navigate through menus provided by the mobile telephone to cause the mobile telephone to carryout various functions. On some telephones, this joystick can be pressed inwards. Typically, a menu is displayed by pressing the joystick, and then navigated by moving the joystick in directions corresponding to up and down, and sometimes left and right, before pressing the joystick to select a menu item.
Navigating through a menu of items as described above can by time consuming, and it is desirable to allow selections to be made without navigating through the menu. One possible solution would involve the provision of additional buttons on the mobile telephone, each button being configured to launch a particular application. However, given that mobile telephones are of a relatively small size, it is not possible to include many such buttons without undesirably increasing the size of the mobile telephone.
It is an object of further aspects of the present invention to obviate or mitigate at least some of the problems set out above.
According to a further aspect of the present invention, there is provided a method of launching an application on a computing device, the computing device being in communication with an input device moveable in a plurality of directions. The method comprises receiving first data indicating first movement of said input device, said first data indicating a first direction and receiving second data indicating second movement of said input device, said second data indicating a second direction. The said first and second directions lie within a common plane. The application is launched in response to receipt of second data within a predetermined time period of receipt of said first data.
Therefore, the invention allows an input device which can be used to generate data indicating a plurality of directions in a common plane such as a joystick, to be used to directly launch an application. That is, a predetermined plurality of movements such as movements corresponding to up/down can be used to launch a particular application. Launching an application may involve causing the computing device to begin execution of a particular program, or may alternatively simply select one of a plurality of applications which are running for display on a display device. The application which is launched may provide a representation of time, and more particularly may provide a representation of time of the form described above.
The first and second directions may be different. The first and second directions preferably lie on a common axis within the plane.
The input device may have a default position, and may be moveable to a first position to generate said first data, and to a second different position to generate said second data. The default, first, and second positions may lie on a common axis as is the case where the input device is a slide switch, or on a common arc as is the case where the input device is a joystick. The first movement may be rotational movement of said joystick about its pivot point in a first movement direction, and said second movement may be rotational movement of said joystick about its pivot point in a second movement direction. The input device may alternatively be a scroll wheel.
The computing device may be a limited resource portable computing device such as a mobile telephone or portable digital assistant (PDA). Embodiments of the present invention will now be described, by way of example, with reference to the accompanying drawings, in which:
Figure 1 is a perspective exploded view of components making up a first electromechanical embodiment of the invention;
Figures 2, 3, 4, 5 and 6 show respectively the analogue representation at time presented by the apparatus illustrated in Figure 1 respectively at five minutes to midnight, midnight, five past midnight, half an hour past midnight and one o'clock in the morning;
Figure 7 is a schematic illustration of an alternative method for putting the invention into effect;
Figure 8 is a flow chart of activities carried out by the method of Figure 7;
Figure 9 is an illustration of a seconds display provided in some embodiments of the present invention;
Figure 10 is a schematic illustration of a mobile telephone;
Figure 11 is a schematic illustration of movement of a joystick provided by the the mobile telephone of figure 10; and
Figure 12 is a flowchart showmg how a plurality of movements of the joystick of figures 10 and 11 can be used to cause display of a clock of the type illustrated in figures 2 to 6. Referring to Figure 1 the illustrated device comprises a first sheet 1 mounted on a drive shaft 2 which is driven by a conventional clock movement (not shown) so that the shaft 2 rotates about its axis once per hour in the direction of arrow 3. The first sheet 1 is in the form of a split disc, the split in the disc extending radially from the axis of the shaft 2 and defining a leading edge 4 and a trailing edge 5 on opposite sides of the split.
The apparatus also comprises a second sheet 6 which is mounted on a guide 7 that is driven by the clock mechanism so that the guide 7 rotates in the direction of arrow 8 once every twelve hours. The guide 7 has an upstanding peripheral edge 9 and, on its surface facing the sheets 1 and 6, defines a ramp which terminates in an edge 11. The raised peripheral edge of the guide 7 extends from the edge 11 around the most but not all of the periphery of the guide 7. The sheet 6 is in the form of a split disc, the split extending radially and defining a leading edge 12 and a trailing edge 13. Although not shown in Figure 1, the trailing edge 13 of the disc 6 will be close to but downstream from the ramp edge 11.
A fixed main gear 14 is located behind the guide 7, and washers 15 are located between the guide 7 and the main gear 14 to ensure easy relative rotation between those two components. A planetary gear housing 16 is mounted to rotate with the guide 7, the gear housing 16 supports a planetary gear 17 which rotates with an annular cam member 18. The cam member 18 defines a ramp-like cam surface 19 against which a push rod 20 bears. The push rod 20 extends through an opening 21 in the guide 7 to bear against the adjacent disc 6. A spring 22 is arranged to bias the adjacent disc against the projecting end of the push rod 20 so as to maintain the push rod 20 in contact with the cam surface 19.
The gear ratio of the main gear to the planetary gear is 11/2. This means that if the push rod is retracted at midnight, it will be extended 12/11 of an hour later when the splits in the two discs are aligned shortly after one o'clock. The push rod will be pulled back after a further 12/11 of an hour, extended after a further 12/11 of an hour and so on. As a result of this timing relationship, and the presence of the ramp edge 11 and the spring 22, as the leading edge 4 of the minute disc one approaches the trailing edge 13 of the hour disc 6, the trailing edge 13 of the hour disc 6 is alternately lifted above or pulled beneath the level at which the leading edge 4 of the minute disc projects above the ramp edge 11. Assuming that initially the minute disc 1 is behind the hour disc 6 as shown in Figure 1, as the split in the disc 1 sweeps the split in the disc 6, the leading edge 4 of the disc 1 is lifted above and appears in front of the trailing edge 13 of the disc 6. This occurs because the push rod 20 will have been pushed back under the influence of the spring 22 acting on the disc 6 thereby pushing the trailing edge 13 of the disc 6 towards the guide 7. As further time elapses, more of the disc 1 appears in front of the disc 6 until after 12/11 of an hour the splits in the two discs are again aligned with the disc 1 wholly covering the disc 6. At this stage in the process the push rod 20 will have been extended, lifting the trailing edge 13 of the disc 6 above the level at which the leading edge 4 of the disc 1 will project over the ramp edge 11. As a result the leading edge 4 of the disc 1 moves behind the disc 6 and as time passes progressively more and more of the disc 1 will be covered by the disc 6. After a further 12/11 of an hour the splits in the discs will again be aligned with the disc 6 wholly in front of the disc 1.
The discs 1 and 6 are visually distinct. For example the disc 1 could be black whereas the disc 6 could be white. Alternatively the discs could carry any visually distinct images.
Figure 2 shows the appearance of the apparatus at 11.55 at which time most of the disc 1 is obscured by the disc 6. The radial line 5 represents the trailing edge of the disc 1 and the radial line 13 the trailing edge of the disc 6. Figure 3 shows the apparatus at midnight at which time the splits in the two discs are aligned with the disc 1 wholly behind the disc 6. The line in Figure 2 labelled 12, 13 represents the split in the disc 6. At this instant in time the trailing edge 13 of the disc 6 will be pulled back by the spring 22 (Figure 1) such that the leading edge of the disc 1 (which is not visible in Figure 3) is positioned so that with further relative movement between the discs the leading edge 4 of the disc 1 will appear above the trailing edge 13 of the disc 6. Figure 4 shows the appearance of the apparatus at 12.05, the line 4 representing the leading edge of the disc 1 and the line 12 the trailing edge of the disc 6. Figure 5 shows the apparatus at 12.30 and figure 6 the device at 1 o'clock when once again the radial splits in the disc 1 and 6 are aligned by the disc 1 is wholly in front of and obscuring the disc 6.
To an observer trained at reading a conventional clock face with minute and hour hands, the appearance of the apparatus can be readily inteφreted to convey a representation of time.
With the clock of the present invention, the "hour hand" and "minute hand" are indistinct. It may therefore be desirable to provide some way of differentiating the two lines which represent hours and minutes. In some embodiments of the invention, the current hour may be indicated by providing LED's at twelve scale locations representing different hours, and illuminating the LED which is associated with the current hour. Thus the LED's supplement the information which can be obtained from the clock of Figures 2 to 6. In alternative embodiments of the present invention, the method of displaying time described above may be used to display minutes and seconds, with a value in hours being displayed using alternative means, such as a conventional "hour hand".
The apparatus is strikingly visually distinct from a normal clock face and therefore combines the essential characteristics of any analogue display, that is intelligibility, with a stylish design.
An alternative embodiment of the present invention will now be described, in which a computer program is arranged to display to a user a clock of the form illustrated in Figures 2 to 6. Although the computer program can be implemented on any suitable platform, in a preferred embodiment of the invention, the clock is displayed to a user by means of a mobile telephone.
Referring to Figure 1, a user's mobile telephone 100 communicates with a webserver 101 to allow the mobile telephone 100 to acquire the components necessary to display the clock. A main component is a computer program known as a player which allows the mobile telephone to operate a clock in accordance with the invention. The user requests this program from the webserver using any suitable means. In some embodiments of the invention the user may be required to pay an operator of the web server for the clock, and in such circumstances credit card payment or any other suitable payment means may be used.
The computer program downloaded from the web server 101 typically allows the mobile telephone 100 to display a clock in which the segments are each a solid colour. In some embodiments of the invention, the program may be configured so as to allow the user to select these colours. In preferred embodiments of the invention, the clock may be caused to display different images on different segments, in place of solid colours. These images may again be downloaded from a web server, and the computer program may then be configured to display the downloaded images.
The alternative embodiment of the invention is now described in further detail. Appendix 1 shows C++ source code for an application which displays to the user the clock of the invention. The source code will be readily understandable by one skilled in the art, but for ease of reference fragments of the source code are now described in further detail.
Appendix 1 shows an object oriented implementation for the clock, in which the clock is represented using a CswatchClock class. The constructor of that class, amongst other things, sets an iClockSpeed variable to EclockSpeedRealTimeHours (the value of which is set in an associated header file) shown in Appendix 2.
The UpdateTime ( ) method calculates the size of segment which is to be coloured differently from the background. The method calculates values for two floating point values numberOf SmallUnits and numberOfLargeUnits which in normal operation respectively denote the positions on the scale which represent minutes and hours. Before setting the variables to appropriate values, a Get Time function is called with pointers to variables which can be set to hold the current time in terms of hours, minutes, seconds and milliseconds.
A switch statement acting on the iClockSpeed variable and containing five different case statements (including a default statement) is then executed. In normal operation, given that the iClockSpeed is set to EclockSpeedRealTimeHours, the first case statement executes, which causes the variable numberOfSmallUnits to be set according to the following equation:
SGCorids numberOfSmallUnits = minutes + (1) 60
Thus, the variable numberOfSmallUnits contains a value in minutes.
The variable numberOf argeUnits is set according to the following equation: numberOfSmallUnits numberOfLarσeUnits = hours H 60
Thus, the variable numberOfSmallUnits contains a value in hours.
In both equation (1) and equation (2) the variables minutes, hours and seconds have been set to appropriate values by the Get Time ( ) method.
In addition to setting the variables numberOfSmallUnits and numberOfLargeUnits the first case statement sets a variable smallUnitRatio to be equal to 360/60. That is, smallUnitRatio represents the number of degrees by which a clock hand should move when time is incremented by one minute. Similarly a variable largeUnitRatio is set to be equal to 360/12. That is, largeUnitRatio represents the number of degrees by which a clock hand should move when time is incremented by one hour. Having set these variables, the case statement terminates and the variables numberOf DegreesStart and numberOf DegreesEnd are used to compute the current position of the lines which define the borders of the two sectors of the clock. These variables are set by simply multiplying numberOfSmallUnits (i.e. a minute value) by smallUnitRatio, and numberOfLargeUnits by LargeUnitRatio.
The other case statements included in the switch statement are used for alternative embodiments of the invention. Specifically, the second case statement is used when it is desired to generate a clock depicting minutes and seconds. In such a circumstance, auxiliary means, such as a conventional clock hand for example, are used to indicate the time in hours. The intersections of the sectors provided by the clock of the invention are then used to indicate minute and second values.
The remainder of the method simply determines which of the colours will be used for the small sector and which for the large sector. Operation of the clock is as illustrated in Figures 2 to 6.
The Draw method defined within the CswatchClock class attends to drawing of the clock on a display. This is accomplished by making calls to standard library functions with appropriate parameters computed using variables aDegreesStart and aDegreesEnd which are in use set to the numberOfDegreesStart and numberOf DegreesEnd variables set in the UpdateTime ( ) method.
The other parts of the code will be readily understood by those skilled in the art.
Although an object oriented implementation has been described above, it will be appreciated that the invention can be implemented using a standard imperative programming language . Figure 8 shows a process for downloading both a compiled version of the computer program described above known as a player, and suitable images for display on the sectors of the clock. Initially a user requests the player application which comprises one or more suitable object files created from source code such as that described above. This player is then delivered to the user's mobile telephone. In some embodiments of the invention the player maybe requested from the mobile telephone using WAP or another suitable protocol. In alternative embodiments, the player may be requested from a PC using a webbrowser, and the user may specify a telephone number to which the player is to be delivered. The delivery can then be effected using a suitable protocol such as WAP.
When the player has been downloaded to the telephone, the telephone is able to display time using a clock of the form shown in Figures 2 to 6. In preferred embodiments of the invention the user is able to download pairs of images which are applied to the sectors of the clock. A preferred method for the download of such images is now described. A user requests a package file containing a pair of images using a mobile telephone. Payment is then made by the user to the operator of the website.
It is preferred that images downloaded by one user cannot be used by another user on a different mobile telephone. Therefore, when payment is received the website calculates a security code by combining a file name associated with the package file, a unique identifier of the telephone, and the number of bytes contained within the package file to generate a security code.
Details of an algorithm which can be used to generate the security code are now described. A user downloads a package file. This is identified by a unique package name. A package file includes a background image, and first and second clock face images. The background image displays a surround for a clock face, including a conventional scale which may contain the numbers 1 to 12 as in a conventional clock. The clock face images are images which are to be applied to the sectors of the clock. Several data items are required to generate the security code. Some data is obtained from the package file, and other data is input by a user. The following data items are used: the package name (an ASCII string obtained from the package), A unique identifier of the user's telephone (often an BVIEI number), and four buffer lengths which are stored from within the package file. The user is also asked to input an email address. It will be appreciated that email communication could, in some embodiments of the invention, be replaced by communication via, for example, SMS messages.
The security code is generated as follows: Create an empty string which is referred to as [1] For each data item listed above: Create an MD5 hash of that data item (this produces a thirty-two character string) Append this to [1] This is repeated for each data item, and a new MD5 hash is created from the appended results (which together form a 7*32 character string). This generates a new thirty-two character string referred to as [2].
Create a new empty eight character string [3] For each fourth character in [2] append that character to [3]
The security code is then this eight character value.
The security code is then forwarded to the user. The package file is similarly delivered to the user. Before displaying the images as part of a clock, the player is configured to run a security algorithm. The security algorithm prompts the user to input the security code. The algorithm also calculates the package security code using data held at the mobile telephone, using the method referred to above. A check is then made to ensure that this security code matches the security code which was input by the user. Assuming this is the case, the clock is displayed to the user, otherwise the clock is not displayed. In some embodiments of the invention, codes input by the user are stored in a database held at the telephone, to prevent a user being repeatedly prompted to enter security codes each time a package is used.
When the clock illustrated in figures 2-6 is displayed on a computer device such as a mobile telephone, the "hour hand" and "minute hand" may be distinguished by highlighting the current hour on the clock surround. Alternatively, an icon may be superimposed upon the "hour hand" so as to differentiate the "hour hand" from the "minute hand".
Where the clock as illustrated in figure 2-6 is used to provide a representation of time in hours and minutes, a further image may be displayed to provide a representation of a second component of the current time. In some embodiments of this invention, this is achieved by displaying an image as illustrated in figure 9. Here, a circle 102 is divided into two visually distinct segments 103, 104. As seconds elapse the segment 104 increases in size and the segment 103 decreases in size. That is, a first separation of the segments 103, 104 indicated 105 remains stationary while a second separation of the segments 103, 104 marked 106 sweeps about the circle in a clockwise direction. Thus, in the illustration of figure 9, 15 seconds of the current minute have elapsed. The further image of Figure 9, may be located on the "hour hand" of the clock, so as to differentiate the "hour hand" and the "minute hand" as described above.
Some embodiments of the present invention provide a convenient way of causing a computing device to display an application such as the clock described above. This is now described.
Figure 10 is a schematic illustration of a mobile telephone 110. It can be seen that the illustrated mobile telephone has a display screen 111 on which a clock of the form illustrated in figures 2-6 can be displayed. The mobile telephone further comprises a set of 12 buttons 112 forming a keypad comprising number buttons marked 0 to 9 a "*" key and an "#" key. Additionally, the illustrated mobile telephone comprises a joystick 113 movable in a plurality of directions. Figure 11 schematically illustrates directions in which the joystick 113 can be moved. It can be seen that the joystick can be moved in directions denoted by arrows A and B corresponding to up and down, and directions C and D corresponding to right and left. Additionally, the joystick 113 can be pressed inwards. Accordingly, the joystick 113 has five different possible directions of movement. Four of these directions (denoted by arrows A, B, C and D) lying in a common plane.
The joystick 113 moves about a pivot point, and rotates in first and second directions about a common arc to provide movement corresponding to directions denoted by arrows A and B of figure 11, and first and second directions about a second arc to provide movement corresponding to directions denoted by arrows C and D of figure 11. Movement of the joystick about its pivot point can be processed to generate data indicating directions corresponding to arrows A to D of figure 11, these directions all lying in a common plane.
In preferred embodiments of the present invention, a combination of movements of the joystick 113 are used to trigger display of a clock of the type described above, as is illustrated in figure 12. At step SI, a processor (not shown) within the mobile telephone 110 detects movement of the joystick 113 in a first rotational direction corresponding to movement depicted by arrows A or B in figure 11. Following detection of this movement, at step S2 a one second timer beings. If no further button press is received within one second, the processor returns to step SI. However, if a further movement of the joystick is detected (step S3), at step S4 a check is made to determine whether the joystick has been moved in the direction of arrow A (at step SI) then the direction of arrow B (at step S3), or the direction of arrow B (at step SI) then the direction of arrow A (at step S3). If this is the case, the clock is displayed at step S5. Otherwise, processing returns to step SI.
Thus it can be seen that some embodiments of the invention allow movement of the joystick in the direction of arrow A, followed by the direction of arrow B or the direction of arrow B followed by the direction of arrow A to cause the clock application to be launched. It will be appreciated that in alternative embodiments of the invention movement in the directions of other combinations of the arrows A to D of figure 11 may be used to trigger the display of the clock application.
It will be appreciated that although this embodiment of the present invention has been described in the context of a joystick, it could similarly be implemented in the context of a slide switch moveable from a first rest position to two extreme positions. In such an embodiment of the invention, movement of the switch from the rest position to the first position to the second position within a predetermined time period may cause the clock application to be displayed. It will be appreciated that other input devices such as scroll wheels can also be used in some embodiments of the invention.
It will be appreciated that the process described above can be used to launch applications other than applications providing a representation of time.
Although preferred embodiments to the present invention have been described above, it will be readily apparent to one of ordinary skill in the art that various modifications can be made thereto without departing from the spirit and scope of the present invention, as defined by the appended claims.
APPENDIX 1
// SwatchClσck.cpp: implementation of the CSwatchClock class.
//
/////////////////////////////////////////////////////////////////////
/
#ifdef WIN32 #include <assert.h> #define ASSERT assert #else #include "eikenv.h" #endif
#include "SwatchClock.h"
#include "math.h"
/////////////////////////////////////////////////////////////////////
/
// Construction/Destruction
///////////////////////////////////////////////////////////////////// /
CSwatchClock: : CSwatchClock ( )
{ iFacelFillColour = EFillColourRed; iFace2FillColour = EFillColourBlue; iFacelOutlineColour = EOutlineNone; iFace20utlineColour = EOutlineNone; iBackgroundColour = ΞFillColourYellow; iHeight = 100; iWidth = 100; iSwappedColours = false; iFacelGrowing = true; iClockSpeed = EclockSpeedRealTimeHours; iTick = 0; iClockFacePercentageOfScreen = 100;
}
CSwatchClock: : -CSwatchClock () {
}
void CSwatchClock: :UpdateTime ()
{ double numberOfSmallUnits; APPENDIX 1 double numberOfLargeUnits; double smallUnitRatio; double largeUnitRatio; double fraction; int hours; int minutes; int seconds; int milliseconds; GetTime (&hours, &minutes, &seconds, &milliseconds) switch (iClockSpeed) { case EclockSpeedRealTimeHours : numberOfSmallUnits = minutes; smallUnitRatio = 360.0/60.0; fraction = seconds/60.0; numberOfSmallUnits += fraction; numberOfLargeUnits = (hours%12) ; largeUnitRatio = 360.0/12.0; fraction = numberOfSmallUnits/60.0; numberOfLargeUnits += fraction; break; case EClockSpeedRealTimeMins : numberOfSmallUnits= seconds; smallUnitRatio = 360.0/60.0; fraction = milliseconds / 1000.0; numberOfSmallUnits += fraction; numberOfLargeUnits = minutes; largeUnitRatio = 360.0/60.0; fraction = (numberOfSmallUnits/60.0) ; numberOfLargeUnits += fraction; break; case EClockSpeedFast : iTick ++; case EClockSpeedManual : numberOfSmallUnits= iTick % 60; smallUnitRatio = 360.0/60.0; numberOfLargeUnits = ( (int) ( (iTick - numberOfSmallUnits) / 60.0) % 60) + (numberOfSmallUnits/60.0) ; //numberOfLargeUnits = ( (int) ( (iTick - numberOfSmallUnits) / 60.0) % 60); largeUnitRatio = 360.0/60.0; break; default : ASSER (0) ; numberOfSmallUnits = 0; numberOfLargeUnits = 0; APPENDIX 1 smallUnitRatio = 0; largeUnitRatio = 0; } double numberOfDegreesEnd = numberOfSmallUnits * smallUnitRatio;// (iTick % 60) * (360/60) ; double numberOfDegreesStart = numberOfLargeUnits * largeUnitRatio;// ( (iTick +30) %60) * (360/60); if (numberOfDegreesStart > numberOfDegreesEnd) { iSwappedColours = true; } if ( (numberOfDegreesEnd > numberOfDegreesStart) && (iSwappedColours) ) { iFacelGrowing = ! iFacelGrowing; iSwappedColours = false; }
Draw (numberOfDegreesStart, numberOfDegreesEnd) ;
void CSwatchClock: :AdjustClockTick (int aDelta) iTick += aDelta;
void CSwatchClock: :SetFacelOutlineColour ( TOutlmeColour aOutlmeColour) iFacelOutlineColour = aOutlmeColour;
void CSwatchClock: :SetFace20utlineColour ( TOutlmeColour aOutlmeColour) iFace20utlineColour = aOutlmeColour;
void CSwatchClock: :SetFacelFillColour (TFillColour aFillColour) iFacelFillColour = aFillColour;
void CSwatchClock: :SetFace2FillColour (TFillColour aFillColour) iFace2FillColour = aFillColour;
TFillColour CSwatchClock: :GetFacelFillColour () const return iFacelFillColour; APPENDIX 1
TFillColour CSwatchClock: :GetFace2FillColour () const
{ return iFace2FillColour;
} void CSwatchClock: :SetClockSpeed(TClockSpeed aClockSpeed)
{ iClockSpeed = aClockSpeed;
}
void CSwatchClock: :Draw (double aDegreesStart, double aDegreesEnd)
{ const double KDegToRad=0.017453292519943296;
DrawBackground (iBackgroundColour) ; int xl int yl int x2 int y2 const int radius = GetClockRadius () ; int offsetX = iWidth/2 - radius ; int offsetY = iHeight/2 - radius; xl = (int) ( (offsetX +radius) + (sin(aDegreesStart*KDegToRad) * radius)); yl = (int) ( (offsetY ÷radius) - (cos (aDegreesStart*KDegToRad) * radius) ) ; x2 = (int) ( (offsetX +radius) + (sin(aDegreesEnd*KDegToRad) * radius)); y2 = (int) ( (offsetY ÷radius) - (cos (aDegreesEnd*KDegToRad) * radius)),- if (iFacelGrowing) { SetBrush (iFacelOutlineColour, iFacelFillColour, true) ; Pie ( offsetX , offsetY, offsetX+ 2*radius, offsetY + 2*radius, x2,y2,xl,yl) ; FreeBrush ( ) ; if (yl == y2+l) yl = y2; if (y2 == yl+1) yl = y2; if (xl == x2+l) xl = x2; if (x2 == xl+1) xl = x2; if ( ! ( (xl == x2) S S (yl == y2))) { APPENDIX 1 SetBrush (iFace20utlineColour, iFace2FillColour, false) ; Pie ( offsetX , offsetY, offsetX+ 2*radius, offsetY + 2*radius xl , yl , x2 , y2 ) ; FreeBrush ( ) ; } } else { if ( ! ( (xl == x2) && (yl == y2))) { SetBrush (iFacelOutlineColour, iFacelFillColour, true) ; Pie ( offsetX , offsetY, offsetX+ 2*radius, offsetY + 2*radius Xl,yl,x2,y2) ; FreeBrush ( ) ; } SetBrush (iFace20utlineColour, iFace2FillColour, false) ; Pie ( offsetX , offsetY, offsetX÷ 2*radius, offsetY + 2*radius, x2,y2,xl,yl) ; FreeBrus ( ) ; }
} void CSwatchClock: :Resize (int aWidth, int aHeight)
{ i idth = aWidth; iHeight = aHeight ; HandleResize () ; } int CSwatchClock: :GetWidth()
{ return i idth;
} int CSwatchClock: :GetHeight ()
{ return iHeight;
}
TClockSpeed CSwatchClock: :GetClockSpeed()
{ return iClockSpeed;
}
TOutlmeColour CSwatchClock: :GetFacelOutlineColour ( ) const
{ return iFacelOutlineColour;
} APPENDIX 1
TOutlmeColour CSwatchClock: :GetFace20utlineColour () const return iFace20utlineColour;
TClockSpeed CSwatchClock: :GetClockSpeed () const return iClockSpeed;
void CSwatchClock: :SetBackgroundColour (TFillColour aFillColour) iBackgroundColour = aFillColour;
TFillColour CSwatchClock: :GetBackgroundColour() const return iBackgroundColour;
void CSwatchClock: :SetClockFacePercentage (int aPercentage) iClockFacePercentageOfScreen = aPercentage;
int CSwatchClock: :GetClockRadius () float radius = (iHeight > i idth ? iWidth/2 : iHeight/2) ; //Scale clock to the percentage of the screen required radius = (radius * iClockFacePercentageOfScreen) / 100; return (int) radius; }
APPENDIX 2
// SwatchClock.h: interface for the CSwatchClock class.
//
/////////////////////////////////////////////////////////////////////
/
#ifndef SWATCHCLOCK H
#define _SWATCHCLOCK_H__
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
typedef enu
{ EclockSpeedRealTimeHours = 0 , EClockSpeedRealTimeMins , EClockSpeedFast, ΞClockSpeedManual }TClockSpeed;
typedef enum
{ EFillPicture = 0, EFillColourBlack, EFillColourBlue, EFillColourCyan, EFillColourGreen, EFillColourRed, EFillColourWhite, EFillColourYellow
}TFillColour;
typedef enum
{ EOutlineNone = 0, EOutlineColourBlack, EOutlineColourBlue, EOutlineColourCyan, EOutlineColourGreen, EOut1ineColourRed, EOutlineColourWhite, EOutlineColourYellow
}TOutlmeColour;
class CSwatchClock
{ public : TClockSpeed GetClockSpeedO ; bool iSwappedColours; int GetHeight () ; int GetWidth ( ) ; void Resize (int aWidth, int aHeight); CSwatchClock () ; APPENDIX 2 virtual -CSwatchClock () ; void UpdateTime ( ) ; void AdjustClockTick(int aDelta); void SetFacelOutlineColour ( TOutlmeColour aOutlmeColour) ; void SetFace20utlineColour ( TOutlmeColour aOutlmeColour) ; TOutlineColour GetFacelOutlineColour () const; TOutlmeColour GetFace20utlineColour () const; virtual void SetFacelFillColour (TFillColour aFillColour); virtual void SetFace2FillColour (TFillColour aFillColour); TFillColour GetFacelFillColour () const,- TFillColour GetFace2FillColour () const; virtual void SetBackgroundColour (TFillColour aFillColour); TFillColour GetBackgroundColour ( ) const; void SetClockSpeed(TClockSpeed aClockSpeed); TClockSpeed GetClockSpeedO const; void SetClockFacePercentage (int aPercentage); int GetClockRadius ( ) ; private : virtual void Pie (int aXl, int aYl, int aX2, int aY2, int aX3, int aY3, in aX4, int aY4 ) = 0; virtual void SetBrush (TOutlineColour aOutlineColour, TFillColour aFillColour, bool aFacel) = 0; virtual void DrawBackground (TFillColour aFillColour) = 0; virtual void GetTime ( int *aHours, int *aMinutes, int *aSeconds, int *aMilliseconds) = 0; virtual void HandleResize () = 0; virtual void FreeBrus () = 0; private : int iTick; bool iFacelGrowing; void Draw (double aDegreesStart, double aDegreesEnd) ; TFillColour iFacelFillColour; TFillColour iFace2FillColour,- TFillColour iBackgroundColour; TOutlineColour iFacelOutlineColour; TOutlineColour iFace20utlineColour; TClockSpeed iClockSpeed; int iClockFacePercentageOfScreen; //The % of the screen that the clock face is to use protected: int iHeight; int iWidth;
};
#endif // SWATCHCLOCK H

Claims

1. A method of launching an application on a computing device, the computing device being in communication with an input device moveable in a plurality of directions, the method comprising: receiving first data indicating first movement of said input device, said first data indicating a first direction; receiving second data indicating second movement of said input device, said second data indicating a second direction, and said first and second directions being within a common plane; and launching said application in response to receipt of said second data within a predetermined time period of receipt of said first data.
2. A method according to claim 1, wherein said first and second directions are different.
3. A method according to claim 1 or 2, wherein said first and second directions lie on a common axis within said plane.
4. A method according to any preceding claim, wherein said input device has a default position, and is moveable to a first position to generate said first data, and to a second different position to generate said second data.
5. A method according to claim 4, wherein said default, first, and second positions lie on a common axis.
6. A method according to claim 4, wherein said default, first, and second positions lie on a common arc.
7. A method according to any preceding claim, wherein said input device is a joystick.
8. A method according to claim 7, wherein said first movement is rotational movement of said joystick about its pivot point in a first movement direction, and said second movement is rotational movement of said joystick about its pivot point in a second movement direction.
9. A method according to any preceding claim, wherein said computing device is a mobile telephone.
10. A method according any preceding claim, wherein said computing device is a portable digital assistant.
11. A method according to any preceding claim, wherein said application displays a representation of time.
12. A data carrier carrying computer readable instructions configured to cause a computer to carry out the method of any preceding claim.
13. A computer apparatus configured to launch an application, the computer apparatus comprising: a program memory storing processor readable instructions; and a processor configured to read and execute instructions stored in said program memory; wherein said instructions comprise instructions controlling the processor to carry out a method according to any one of claims 1 to 11.
14. An apparatus for displaying to an observer an analogue representation of time by pointing to first and second locations on a scale which extends around a central point and represents time, wherein the apparatus is arranged to display a first line to the observer which extends in a direction from the central point to the first scale location and the apparatus is arranged to display a second line to the observer which extends in a direction from the central point to the second scale location, the first and second lines being swept across the scale in the same direction as time elapses at different rates proportional to elapsed time measured in different units, and, when the lines extend in different directions from the central point, an area defined between the first and second lines on one side of the first line being visually distinct from an area defined between the first and second lines on the other side of the first line.
15. An apparatus according to claim 14, wherein the scale represents minutes and hours, the first line being swept across the scale at a rate proportional to elapsed minutes and the second line being swept across the scale at a rate proportional to elapsed hours.
16. An apparatus according to claim 14 or 15, wherein the first and second lines are defined by edges of first and second rotating overlapping sheets, surfaces of the sheets defining the visually distinct areas, and the first sheet rotating at a higher rate than the second sheet.
17. An apparatus according to claim 16, wherein the sheets are in the form of radially split discs, a leading edge defined by the split in the first sheet being arranged to pass in front of a trailing edge defined by the split in the second sheet on alternate passes of the split in the first disc past the split in the second disc, and behind the trailing edge of the second sheet on the remaining passes.
18. An apparatus according to claim 17, wherein a peripheral edge of the second sheet is mounted on a guide which rotates on a first drive and the centre of the first sheet is mounted on a second drive a shaft of which extends through the guide, the first disc being alternately located between the second disc and the guide and on the side of the second disc remote from the guide.
19. An apparatus according to claim 18, wherein the guide defines a ramp arranged to lift the leading edge of the first sheet towards the second sheet when the leading edge of the first sheet is between the guide and second sheet, and the guide includes a cam mechanism which on alternate passes of the split in the first disc past the split in the second disc lifts the trailing edge of the second disc above the level at which the leading edge of the first disc is supported by the ramp and on the remaining passes pulls the trailing edge of the second disc below the level at which the leading edge of the first disc is supported by the ramp.
20. An apparatus according to claim 19, wherein the cam mechanism comprises a spring which pulls the trailing edge of the second disc towards the guide, and the cam driven push rod which extends through the guide to bear against the adjacent disc, the cam mechanism driving the push rod towards the adjacent disc on alternate passes of the split in the first disc past the split in the second disc.
21. An apparatus according to claim 20, wherein the cam mechanism comprises a static main gear and a planetary gear the axis of which is supported by the guide, the planetary gear meshing with the static main gear and rotating with a cam which acts against the push rod.
22. An apparatus according to claim 14 or 15, wherein time is displayed to the observer on a display connected to an electronic device.
23. An apparatus according to claim 22, wherein the electronic device and the display are part of a mobile telephone.
24. An apparatus according to claim 22 or 23 wherein computer program code is downloaded to the electronic device to cause the electronic device to display time to the observer.
25. A method for displaying to an observer an analogue representation of time by pointing to first and second locations on a scale which extends around a central point and represents time, the method comprising displaying a first line to the observer which extends in a direction from the central point to the first scale location and displaying a second line to the observer which extends in a direction from the central point to the second scale location, sweeping the said first and second lines across the scale in the same direction as time elapses at different rates proportional to elapsed time measured in different units, wherein when the lines extend in different directions from the central point, an area defined between the first and second lines on one side of the first line is visually distinct from an area defined between the first and second lines on the other side of the first line.
26. A method according to claim 25 wherein the scale represents minutes and hours, the first line is swept across the scale at a rate proportional to elapsed minutes, and the second line is swept across the scale at a rate proportional to elapsed hours.
27. A method according to claim 25 or 26, wherein the method is implemented by an electronic device.
28. A method according to claim 27, wherein the method is implemented using a mobile telephone.
29. A method according to claim 25, 26, 27 or 28 comprising downloading computer program code to cause the electronic device to display a representation of time to the observer.
30. A method according to claim 29, wherein a plurality of images are also downloaded to the electronic device, one of the images files is displayed between the first and second lines on one side of the first line, and another of the images is displayed between the first and second lines on the other side of the first line.
31. A method according to claim 30 comprising coding said images such that they are operable only on a predetermined electronic device.
32. A method according to claim 31, comprising generating a first security code on the basis of a file containing the images and data related to the electronic device, delivering said first security code to a user, generating a second security code at the electronic device, and allowing said images to be displayed only when said second security code matches said first security code.
33. A method according to any one of claims 1 to 11 in combination with the method of any one of claims 25 to 32.
34. A data carrier carrying computer program code means 9 to cause a microprocessor to execute procedure in accordance with the method of any one of claims 25 to 33.
PCT/GB2004/003568 2003-08-29 2004-08-19 Time display method and apparatus WO2005022371A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0320383.3 2003-08-29
GB0320383A GB0320383D0 (en) 2003-08-29 2003-08-29 Time display apparatus

Publications (2)

Publication Number Publication Date
WO2005022371A2 true WO2005022371A2 (en) 2005-03-10
WO2005022371A3 WO2005022371A3 (en) 2005-07-21

Family

ID=28686657

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2004/003568 WO2005022371A2 (en) 2003-08-29 2004-08-19 Time display method and apparatus

Country Status (2)

Country Link
GB (1) GB0320383D0 (en)
WO (1) WO2005022371A2 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5088070A (en) * 1991-05-06 1992-02-11 Timex Corporation Selecting apparatus for a multimode electronic wrist instrument
US5191320A (en) * 1990-12-15 1993-03-02 Sony Corporation Of America Variable scale input device
EP0588210A1 (en) * 1992-09-08 1994-03-23 Hitachi, Ltd. Portable radio telephone set
WO1998019292A1 (en) * 1996-10-27 1998-05-07 Art-Advanced Recognition Technologies Ltd. A pattern recognition system
US5825353A (en) * 1995-04-18 1998-10-20 Will; Craig Alexander Control of miniature personal digital assistant using menu and thumbwheel
EP1006477A2 (en) * 1998-12-04 2000-06-07 Sony Corporation Means for controlling the operation of an information processing apparatus
US20010015718A1 (en) * 1998-09-14 2001-08-23 Hinckley Kenneth P. Method for displying information responsive to sensing a physical presence proximate to a computer input device

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5191320A (en) * 1990-12-15 1993-03-02 Sony Corporation Of America Variable scale input device
US5088070A (en) * 1991-05-06 1992-02-11 Timex Corporation Selecting apparatus for a multimode electronic wrist instrument
EP0588210A1 (en) * 1992-09-08 1994-03-23 Hitachi, Ltd. Portable radio telephone set
US5825353A (en) * 1995-04-18 1998-10-20 Will; Craig Alexander Control of miniature personal digital assistant using menu and thumbwheel
WO1998019292A1 (en) * 1996-10-27 1998-05-07 Art-Advanced Recognition Technologies Ltd. A pattern recognition system
US20010015718A1 (en) * 1998-09-14 2001-08-23 Hinckley Kenneth P. Method for displying information responsive to sensing a physical presence proximate to a computer input device
EP1006477A2 (en) * 1998-12-04 2000-06-07 Sony Corporation Means for controlling the operation of an information processing apparatus

Also Published As

Publication number Publication date
GB0320383D0 (en) 2003-10-01
WO2005022371A3 (en) 2005-07-21

Similar Documents

Publication Publication Date Title
AU2022201419B2 (en) User interfaces for watches
AU2019337519B2 (en) Content-based tactile outputs
AU2020269232B2 (en) Clock faces for an electronic device
US20190258323A1 (en) Physical diagonal keyboard
US10564721B2 (en) Systems and methods for using multiple actuators to realize textures
US8875054B2 (en) Hybrid knob/slider control
EP2449434B1 (en) Wristwatch with a touch screen, and method for displaying on a touch-screen watch
US8527896B2 (en) User interface menu with hovering icons
EP2406701B1 (en) System and method for using multiple actuators to realize textures
KR101761082B1 (en) Systems and methods for using textures in graphical user interface widgets
US20230236547A1 (en) User interfaces for indicating time
GB2328597A (en) User interface for navigating among,organizing and executing program,files and data in a computer system
FI118100B (en) Selector
WO2005022371A2 (en) Time display method and apparatus
US20040095346A1 (en) Display arrangement for mobile terminals
EP2450776A1 (en) User-interface for controlling a data processing system using a joystick
WO2023141212A1 (en) User interfaces for indicating time
DK201970259A1 (en) Content-based tactile outputs
FR2869427A1 (en) Information display system for computer aided design application, has pointer position and displacement control unit with display unit having indication unit to indicate presence of pointer in related zone of banner

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase