U.S. patent application number 14/956714 was filed with the patent office on 2016-04-07 for method and apparatus for controlling a display of a portable electronic device.
The applicant listed for this patent is BLACKBERRY LIMITED. Invention is credited to Brian GROUX, Michael Thomas HARDY, Aaron David SCRIVER.
Application Number | 20160098974 14/956714 |
Document ID | / |
Family ID | 42353831 |
Filed Date | 2016-04-07 |
United States Patent
Application |
20160098974 |
Kind Code |
A1 |
GROUX; Brian ; et
al. |
April 7, 2016 |
METHOD AND APPARATUS FOR CONTROLLING A DISPLAY OF A PORTABLE
ELECTRONIC DEVICE
Abstract
A method and apparatus for controlling a display of a portable
electronic device are provided. The method comprises generating a
screen comprising a list on the display. The list comprises one or
more row elements, with each row element comprising one or more
column sub-elements. At least a portion of one of the column
sub-elements of at least one of the row elements is truncated. Upon
selection of a row element, the screen is enabled for scrolling of
that row element. Enabling scrolling comprises loading the
truncated portion of the selected row element into a pre-buffer.
The method further comprises receiving a scrolling input, and
updating the screen on the display to scroll the row element,
bringing the truncated portion into view. The selected row is
scrolled while maintaining the series of column sub-elements in the
row without reference to other rows.
Inventors: |
GROUX; Brian; (New Hamburg,
CA) ; SCRIVER; Aaron David; (Waterloo, CA) ;
HARDY; Michael Thomas; (Waterloo, CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
BLACKBERRY LIMITED |
Waterloo |
|
CA |
|
|
Family ID: |
42353831 |
Appl. No.: |
14/956714 |
Filed: |
December 2, 2015 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
12359443 |
Jan 26, 2009 |
9208754 |
|
|
14956714 |
|
|
|
|
Current U.S.
Class: |
345/684 |
Current CPC
Class: |
G09G 5/397 20130101;
G06F 3/0482 20130101; G09G 5/346 20130101; G06F 3/0485 20130101;
G09G 2310/04 20130101 |
International
Class: |
G09G 5/34 20060101
G09G005/34; G06F 3/0482 20060101 G06F003/0482; G09G 5/397 20060101
G09G005/397; G06F 3/0485 20060101 G06F003/0485 |
Claims
1. A method comprising: rendering at a display of an electronic
device, a list comprising: a first row having truncated data in at
least one field, the first row rendered in an initial position; and
a second row; when the first row is selected, scrolling, at the
display device, fields of the first row to render a remainder of
the truncated data in the at least one field, while the second row
remains static; and, when the second row is selected after the
scrolling of the fields of the first row, again rendering, at the
display device, the first row in the initial position after a
predetermined time period.
2-15. (canceled)
16. The method of claim 1, wherein the scrolling the fields of the
first row to render the remainder of the truncated data in the at
least one field comprises continuous horizontal scrolling.
17. The method of claim 1, wherein the scrolling the fields of the
first row to render the remainder of the truncated data in the at
least one field comprises: obtaining truncated data in the at least
one field; and storing the truncated data in a screen
pre-buffer.
18. The method of claim 17, wherein the rendering the first row in
the initial position after the predetermined time period comprises:
clearing the truncated data from the screen pre-buffer.
19. The method of claim 1, wherein the first row is selected using
an input device of the electronic device.
20. The method of claim 1, wherein the scrolling the fields of the
first row to render the remainder of the truncated data in the at
least one field, while the second row remains static occurs when
scrolling input is received at an input device of the electronic
device.
21. The method of claim 1, wherein the second row is selected using
an input device of the electronic device.
22. The method of claim 1, wherein each of the fields of the first
row contain like information.
23. An electronic device comprising: a processor and a display
device, the processor configured to: render, at the display device,
a list comprising: a first row having truncated data in at least
one field, the first row rendered in an initial position; and a
second row; when the first row is selected, scroll, at the display
device, fields of the first row to render a remainder of the
truncated data in the at least one field, while the second row
remains static; and, when the second row is selected after
scrolling of the fields of the first row, again render, at the
display device, the first row in the initial position after a
predetermined time period.
24. The electronic device of claim 23, wherein the processor is
further configured to scroll the fields of the first row to render
the remainder of the truncated data in the at least one field using
continuous horizontal scrolling.
25. The electronic device of claim 23, wherein the processor is
further configured to scroll the fields of the first row to render
the remainder of the truncated data in the at least one field by:
obtaining truncated data in the at least one field; and storing the
truncated data in a screen pre-buffer.
26. The electronic device of claim 25, wherein the processor is
further configured to render the first row in the initial position
after the predetermined time period by: clearing the truncated data
from the screen pre-buffer.
27. The electronic device of claim 23, further comprising an input
device, and wherein the processor is further configured to select
first row using the input device.
28. The electronic device of claim 23, further comprising an input
device, and wherein the processor is further configured to scroll
the fields of the first row to render the remainder of the
truncated data in the at least one field, while the second row
remains static occurs when scrolling input is received at the input
device.
29. The electronic device of claim 23, further comprising an input
device, and wherein the processor is further configured to select
the second using the input device.
30. The electronic device of claim 23, wherein each of the fields
of the first row contain like information.
31. A non-transitory computer-readable medium storing a computer
program, wherein execution of the computer program is for:
rendering, at a display device of an electronic device, a list
comprising: a first row having truncated data in at least one
field, the first row rendered in an initial position; and a second
row; when the first row is selected, scrolling, at the display
device, fields of the first row to render a remainder of the
truncated data in the at least one field, while the second row
remains static; and, when the second row is selected after the
scrolling of the fields of the first row, again rendering, at the
display device, the first row in the initial position after a
predetermined time period.
32. The non-transitory computer-readable medium of claim 31,
wherein the scrolling the fields of the first row to render the
remainder of the truncated data in the at least one field comprises
continuous horizontal scrolling.
33. The non-transitory computer-readable medium of claim 31,
wherein the scrolling the fields of the first row to render the
remainder of the truncated data in the at least one field
comprises: obtaining truncated data in the at least one field; and
storing the truncated data in a screen pre-buffer.
34. The non-transitory computer-readable medium of claim 31,
wherein the rendering the first row in the initial position after
the predetermined time period comprises: clearing the truncated
data from the screen pre-buffer.
Description
FIELD OF THE INVENTION
[0001] The present invention relates in general to portable
electronic devices, and more particularly to a method and apparatus
for controlling a display of a portable electronic device.
BACKGROUND OF THE INVENTION
[0002] As portable electronic devices and other computing devices
become more powerful, the functionality provided by such devices
continues to expand and improve. Display space, however, is an area
in which improvement is more difficult, as stringent size
constraints are often imposed on portable electronic devices. These
constraints limit the volume of information which can be provided
at any given time on the display of a portable electronic device.
As, a result, the information displayed on portable electronic
devices is often truncated, with some information remaining
invisible. Making such truncated information visible often results
in undesirable use of the portable electronic device's resources,
or negatively affects the usefulness of the originally displayed
information.
BRIEF DESCRIPTION OF THE DRAWINGS
[0003] Embodiments will be described below with reference to the
following figures, in which:
[0004] FIG. 1 shows a schematic representation of a portable
electronic device;
[0005] FIG. 2 shows a block diagram of various internal components
of the portable electronic device of FIG. 1;
[0006] FIG. 3 shows a database storing data for a messaging
application on the portable electronic device of FIG. 1;
[0007] FIG. 4 shows a flowchart of a method of controlling a
display of the portable electronic device of FIG. 1;
[0008] FIG. 5 shows an exemplary performance of block 410 of the
method of FIG. 4;
[0009] FIG. 6 shows an exemplary performance of block 415 of the
method of FIG. 4;
[0010] FIG. 7 shows an exemplary performance of block 420 of the
method of FIG. 4;
[0011] FIG. 8 shows an exemplary performance of block 445 of the
method of FIG. 4;
[0012] FIG. 9 shows an exemplary performance of block 430 of the
method of FIG. 4; and
[0013] FIG. 10 shows a schematic performance of block 445 of the
method of FIG. 4 according to a further non-limiting
embodiment.
DETAILED DESCRIPTION OF THE EMBODIMENTS
[0014] Referring now to FIG. 1, a schematic representation of a
portable electronic device is indicated generally at 20. In the
present embodiment, portable electronic device 20 is based on the
computing environment and functionality of a hand-held wireless
communication device. It will be understood, however, that portable
electronic device 20 is not limited to a hand-held wireless
communication device. Other electronic devices are possible, such
as cellular telephones, smart telephones, and laptop computers.
Referring again to FIG. 1, portable electronic device 20 includes a
housing 24 which frames a display 28. Housing 24 is constructed of
a suitable material as will occur to those skilled in the art.
Display 28 may be, for example, an LCD display, and may also be
combined with or implemented as a touch screen. Portable electronic
device 20 also includes a speaker 32 and a pointing device 36 which
in the present embodiment is a trackball. It will be understood
that in some embodiments, pointing device 36 may also comprise a
touch screen integrated with display 28. Portable electronic device
20 also includes a keypad 40 and a microphone 44.
[0015] Referring now to FIG. 2, a schematic block diagram shows
portable electronic device 20 in greater detail. It will be
understood that the structure in FIG. 2 is purely exemplary, and
contemplates a device that may be used for both wireless voice
(e.g. telephony) and wireless data (e.g. email, web browsing, text)
communications. Portable electronic device 20 includes input
devices such as pointing device 36, keypad 40 and microphone 44. It
will be noted that pointing device, which in the present embodiment
is a trackball, may also be a touch screen or a trackwheel. Other
input devices, such as a camera lens and associated image sensor
(not shown), are also contemplated. Portable electronic device 20
is based on a microcomputer that includes a processor 48. Input
from pointing device 36, keypad 40 and microphone 44 may be
received at processor 48. Processor 48, in turn, communicates with
a non-volatile storage unit 52 (e.g. read only memory ("ROM"),
Electrically Eraseable Programmable Read Only Memory ("EEPROM"),
flash memory) and a volatile storage unit 56 (e.g. Random Access
Memory ("RAM")).
[0016] Portable electronic device 20 also includes a radio 60
communicating with processor 48. Radio 60 provides wireless
communication capabilities to portable electronic device 20 by way
of a wireless link 64 connecting portable electronic device 20 to a
network 68. Link 64 between portable electronic device 20 and
network 68 may be based in a present embodiment on core mobile
network infrastructure (e.g. Global System for Mobile
communications ("GSM"); Code Division Multiple Access ("CDMA");
CDMA 2000; 3G; 4G). Link 64 may also be based on wireless local
area network ("WLAN") infrastructures such as the Institute for
Electrical and Electronic Engineers ("IEEE") 802.11 Standard (and
its variants), Bluetooth or the like, or hybrids thereof. Note that
in an exemplary variation of portable electronic device 20, link 64
may also be a wired connection and radio 60 may be a network
interface device capable of receiving the wired connection.
[0017] Programming instructions that implement the functional
teachings of portable electronic device 20 as described herein are
typically maintained, persistently, in non-volatile storage unit 52
and used by processor 48 which makes appropriate utilization of
volatile storage unit 56 during the execution of such programming
instructions. Of particular note is that non-volatile storage unit
52 persistently maintains a messaging application 80. It will be
understood that other applications are also contemplated, and that
messaging application 80 is purely exemplary. Messaging application
80 may be executed on processor 48, making use of non-volatile
storage unit 52 and volatile storage unit 56 as appropriate.
Non-volatile storage unit 52 also maintains a display application
84 for controlling display 28 of portable electronic device 20.
Display application 84 may also be executed on processor 48, making
appropriate use of non-volatile storage unit 52 and volatile
storage unit 56. Display application 84 controls display 28 by way
of display buffers (not shown), as will be described in further
detail below. It will be understood that display application 84 may
also be integrated with messaging application 80, or with any other
of the various applications which may also be maintained in
non-volatile storage unit 52 according to the desired configuration
and functioning of portable electronic device 20.
[0018] Referring now to FIG. 3, messaging application 80 may
include a database 300 containing data representing messages. In
the present embodiment, database 300 comprises a plurality of rows
304-0, 304-1, 304-2, 304-3 (generically referred to as row 304 and
collectively referred to as rows 304). It will be understood that
database 300 may comprise additional rows or fewer rows as
necessary, and that the number of rows 304 shown in FIG. 3 is
purely exemplary. Each row 304 comprises fields. For example, row
304-3 comprises fields 306-3, 308-3, 310-3, 312-3 and 314-3. It
will be understood that rows 304-1 and 304-2 similarly comprise,
respectively, fields 306-1 to 314-1 and fields 306-2 to 314-2. Of
note is that the fields of database 300 are arranged substantially
in columns. For example, fields 306-0 to 306-3 are arranged in one
column, fields 308-0 to 308-3 in another column, and so on.
[0019] The fields of each column may contain like information. That
is, fields 306-1, 306-2 and 306-3 may, for example, contain data
representing a certain category of information. It will be
understood, however, that this is not a necessity. It will be noted
that in the present embodiment, row 304-0 of database 300 acts as a
header row. The fields of row 304-0 may therefore contain data
representing the category of information contained in each
corresponding column. In the present embodiment, for example, field
306-0 contains data representing an indication that fields 306-1 to
306-3 contain information relating to the date a message was
received. Fields 308-0, 310-0, 312-0 and 314-0 likewise contain
data representing indications of other categories of
information--sender, subject, status and time received,
respectively. Rows 304-1, 304-2 and 304-3 have been completed with
exemplary data corresponding to the exemplary categories indicated
in row 304-0. It will be understood that although the body of the
messages represented in database 300 is not shown and may be stored
elsewhere, database 300 may also be extended to include the body of
a message.
[0020] Referring now to FIG. 4, a flow-chart is provided depicting
a method, indicated generally at 400, for controlling a display on
a portable electronic device. Method 400 will be described in
conjunction with its exemplary performance on portable electronic
device 20, but it will be understood that portable electronic
device 20 and method 400 may both be varied within the scope of the
present teachings. For example, it will be noted that the exemplary
performance of method 400 relates only to some columns within
database 300. As will be appreciated by those skilled in the art,
various other combinations of columns may also be used.
[0021] Block 410 comprises generating a screen on display 28 of
portable electronic device 20. In the present embodiment, block 410
is performed by display application 84. Referring to FIG. 5, the
performance of block 410 is depicted. Display application 84
manages a screen pre-buffer 88 and a screen buffer 92. It will be
appreciated that screen pre-buffer 88 and screen buffer 92 may be,
for example, comprised of a plurality of blocks of memory in
volatile storage unit 56 of portable electronic device 20. As part
of the performance of block 410, display application 84 is
configured to obtain data representing messages from database 300
of messaging application 80. It will be understood that the
determination of which data is to be obtained from database 300 may
be made in a variety of ways. In a present embodiment, for example,
display application 84 may store a width of display 28. Display
application 84 may then obtain as much data from each row 304 of
database 300 as can be displayed in the width of display 28.
[0022] As shown in FIG. 5, display application 84 manages screen
pre-buffer 88 and screen buffer 92 by obtaining the data contained
in fields 306 and 308. Data contained within fields 310-0, 310-1
and 310-2 is also obtained and stored within screen pre-buffer 92.
It will be noted, however, that a modified version of field 310-3
has been stored, indicated at 310-3'. Continuing with the
performance of block 410, display application 84 manages screen
buffer 92 to obtain data from screen pre-buffer 88. At block 410,
screen pre-buffer 88 contains only that data which will be
displayed immediately, and thus the contents obtained by screen
buffer 92 matches the contents of screen pre-buffer 88. In
completing the performance of block 410, display application 84 is
configured to generate, or render, a screen 500 on display 28 of
portable electronic device 20 according to the data contained in
screen buffer 92. Screen 500 comprises row elements 504-0, 504-1,
504-2 and 504-3. It will be noted that row element 504-0 acts as a
header row element. Each row element 504 of screen 500 comprises
column sub-elements 506, 508, and 510. In the present embodiment,
column sub elements 506 of rows 504-1, 504-2 and 504-3 contain like
information (e.g. date received), as do column sub-elements 508 and
510. The categories of information contained in respective sets of
column sub-elements are indicated by corresponding column
sub-elements 506-0, 508-0 and 510-0. It will be understood,
however, that this is not a necessity. While the entirety of row
elements 504- 0, 504-1 and 504-2 of screen 500 correspond to
portions of their respective rows 304-0, 304-1 and 304-2 of
database 300, column sub-element 510-3 corresponds to only a
portion of the data contained within field 310-3 of database 300.
The contents of field 310-3 has been determined by display
application 84 to be too long for complete display on portable
electronic device 20, and has therefore been truncated. Field
310-3' within screen pre-buffer 88 and screen buffer 92 represents
only the portion of field 310-3 which is displayed in screen 500 as
column sub-element 510-3. The remainder of field 310-3 has not been
obtained by display application 84.
[0023] Returning to FIG. 4, at block 415 a determination is made as
to whether selection input has been received to select, or focus, a
particular row element of screen 500 on display 28 of portable
electronic device 20. Selection input may be received by processor
48 from an input device of portable electronic device 20. For
example, selection input may be a touch on a touch screen, a scroll
of a trackball or a click of a keypad button. Various other
selection inputs are contemplated, as will be understood by those
skilled in the art.
[0024] If a "No" determination is made at block 415, method 400
waits at block 415 until a selection input is received. If a "Yes"
determination is made at block 415, method 400 proceeds to block
420 to enable scrolling. Receipt of selection input is illustrated
in FIG. 6, where row element 504-3 has been selected, for example
by a touch on a touch screen input device. On selection of row
504-3, display application 84 may update screen 500 to indicate the
selection by way of bolded lines surrounding row element 504-3. It
will be understood that a wide variety of other indications of
selection may be used, however, and that display application 84 as
described herein need not necessarily be responsible for such
indications.
[0025] Performance of block 420 is shown in FIG. 7. Display
application 84 is configured to manage screen pre-buffer 88 to
obtain the remainder of truncated field 310-3 of database 300. As
shown in FIG. 7, additional capacity has been used in volatile
storage unit 56 of portable electronic device 20 to store field
310-3''. Field 310-3'' contains the remainder of field 310-3
truncated from screen 500. In the present example, therefore, the
contents of field 310-3'' is, "tions to teleporter." Note that the
contents of screen buffer 92 has not yet been modified, and that
screen 500 therefore also remains unchanged aside from the optional
highlighting of selected row element 504-3. It will be noted, as
mentioned earlier, that fields 312 and 314 of database 300 are not
shown in FIG. 5. For the current exemplary performance of method
400, fields 312 and 314 are not being used in messaging application
80. As will be appreciated by those skilled in the art, messaging
application 80 may be configurable to select various combinations
of fields from database 300 for display. As such, if it were
desired to use fields 312 and 314, their contents would also be
obtained by display application 84 for screen pre-buffer 88 at
block 420 of method 400.
[0026] Returning to FIG. 4, method 400 then proceeds to block 425,
at which a determination is made as to whether the selection
received at block 415 has been lost. As will be appreciated by
those skilled in the art, selection may be lost in a variety of
ways. For example, a different row may be selected, overriding the
current selection. As a further, non-limiting example, an "escape"
key or the like on keypad 40 may be pressed which voids the current
selection without replacing it with another selection.
[0027] If a "Yes" determination is made at block 425, method 400
proceeds to block 430, at which screen 500 on display 28 is
"re-initialized," followed by block 435, at which method 400 is
terminated. The performance of block 430 will be described in
further detail below.
[0028] If a "No" determination is made at block 425, method 400
proceeds to block 440, at which a determination is made as to
whether scrolling input has been received. Scrolling input may be
in the form of a finger drag on a touch screen, or a roll of a
trackball, for example. If a "No" determination is made at block
440, method 400 returns to block 425. If a "Yes" determination is
made at block 440, method 400 advances to block 445, where the
screen rendered on display 28 is updated.
[0029] Performance of block 445 is shown in FIG. 8. Display
application 84 manages screen pre-buffer 88 to update screen buffer
92 with field 310-3''. The entire "Subject" field of the message
represented by data in row 304-3 of database 300 is now contained
within screen buffer 92. Screen 500 is then regenerated on display
28 of portable electronic device 20. The updated version of screen
500 is shown as 500' in FIG. 8. It will be noted that row element
504-3 has been horizontally scrolled to the left in the Figure to
reveal the previously truncated "Subject" field. The series of the
column sub-elements of row element 504-3 is maintained without
reference to other row elements. In other words, the entirety of
row element 504-3 is scrolled while row elements 504-0, 504-1 and
504-2 remain static.
[0030] As a result of the scrolling of row element 504-3, column
sub-element 506-3 is no longer visible and column sub-element 508-3
is only partially visible. Field 306-3 is maintained in screen
pre-buffer 88, but is no longer contained with screen buffer 92.
Field 308-3 has also been divided in 308-3' and 308-3''. Display
application 84 may divide fields of database 300 in screen
pre-buffer 88 in order to scroll a row element in a variety of
ways. Fields of database 300 may be divided dynamically by Display
application 84 in response to scrolling, as shown in FIG. 8.
Alternatively, the fields of database 300 may be obtained by
display application 84 for storage in screen pre-buffer 88 in a
divided form during block 410 of method 400. Such division may be
as fine or as coarse as desired. For example, screen pre-buffer 88
may be populated with fields of database 300 divided into data
representing individual characters or portions of individual
characters. Screen 500 may therefore be updated continuously at a
wide variety of scrolling resolutions, as desired.
[0031] Following performance of block 445, method 400 may return to
block 425. Performance of blocks 430 and 435 will now be described,
in the event that a "Yes" determination is made at block 425.
Referring now to FIG. 9, selection or focus of a row element 504 of
screen 500 may be lost during performance of method 400. As
mentioned above, selection may, for example, be lost as a result of
a different row element 504 being selected. Additionally, selection
may be lost after a certain period of inactivity. For example, if
no scrolling input is received at block 440 for a predetermined
time period, the row selected at block 415 may automatically lose
selection.
[0032] Upon a "Yes" determination being made at block 425, method
400 proceeds to block 430, at which display application 84 may
"re-initialize" display 28. At block 430, display application 84
manages screen pre-buffer 88 and screen buffer 92 to purge the
additional data obtained at block 420. As shown in FIG. 9, screen
pre-buffer 88 and screen buffer 92 have been returned to the state
found in FIG. 5, before scrolling was enabled. Memory resources of
portable electronic device 20 are thus released for other uses.
Completing the performance of block 430, screen 500' is updated and
replaced with screen 500. It will be noted that in FIG. 9, row
element 504-3 has been returned to its initial position, as seen in
FIG. 5.
[0033] Returning to FIG. 4, method 400 advances to block 435, which
terminates method 400. It will be understood that the performance
of block 435 may be accompanied by a new performance of method 400,
for example is selection was lost at block 425 due to a different
row element being selected.
[0034] In another exemplary embodiment shown in FIG. 10, as part of
the performance of block 445, display application 84 may manage
screen pre-buffer 88 and screen buffer 92 to provide a second copy
of row 304-0 (e.g. the header row) in screen buffer 92. As such, an
alternate version of screen 500--indicated in FIG. 10 as 500''--may
then be rendered, in which a secondary header row element 504-0a
may be scrolled in a similar manner to the row element selected for
scrolling.
[0035] In a further exemplary embodiment (not shown), a single
column sub-element within a row element may be scrolled, rather
than the entire row element. For example, the "Subject" column
sub-element of a row element may be scrolled to display truncated
information, while the remainder of the column sub-elements of the
selected row element remain in their initial position.
[0036] Those skilled in the art will understand that subsets,
combinations and variations of the foregoing are contemplated. The
scope of the monopoly sought is defined by the claims attached
hereto.
* * * * *