1. Field of the Invention
The present invention relates to visual identifiers for digital data. In one application the invention provides a method of generating a pictorial identifier associated with a computer object in a computer system. Other methods and systems are provided.
2. Background Art
The following discussion of the background of the invention is intended to facilitate an understanding of the invention. It should be appreciated that the discussion is not an acknowledgment or admission that any of the material referred to was published, known or part of the common general knowledge of the person skilled in the art in any jurisdiction as at the priority date of the application.
Numerous studies have shown that in a graphical user interface users can often misplace files and have trouble navigating through a variety of commands and data storage structures. This problem has been called the “lost in hyperspace” problem and is the subject of a number of alternative graphical user interfaces.
Furthermore, many people have trouble locating files in systems which they visit regularly. One empirical study even describes someone trying to find a file that they had created earlier the same day. Other studies have show that users generally have trouble establishing a sense of place.
Sophisticated navigation mechanisms addressing impaired way finding and place blindness have been addressed most often by focus plus context approaches in which a warped view differentially enlarges the focus region while displaying much or all of the entire space at a smaller scale. These approaches include both distorted presentations such as fisheye views and the use of simulated perspectives to diminish distant objects.
Such sophisticated navigation systems do not entirely address the problem of objects becoming lost in hyperspace. For example, if the space is both large and relatively featureless, then showing the surrounding context will not entirely eliminate place blindness. Furthermore, the problem is only exacerbated in fisheye and other distorted views wherein a changing focal point can result in large or even drastic changes to the display.
Other systems employ visual thumbnails showing a diminished view of the front page of a number of documents. Thumbnails are mainly effective for some forms of image data, and one recall test has even found that document thumbnails are no more effective than generic icons.
It is an object of the invention to provide the public with improved methods and systems which assist in navigation or, at the very least, provide the public with a useful choice.
According to a first aspect of the invention there is provided a method of generating a pictorial identifier for a computer object, the method comprising: generating a pictorial identifier according to a modelling approach based on at least a part of a textual identifier of the computer object; wherein the part of the textual identifier is not tied to any type identifiers associated with the computer object and the modelling approach is generally characterised by generating pictorial identifiers that are visually different from pictorial identifiers generated from substantially different textual identifiers.
Preferably the modelling approach is generally characterised by generating pictorial identifiers resembling pictorial identifiers generated from substantially similar textual identifiers. In these arrangements the level of similarity between textual identifiers needed to generate a similar pictorial identifier is preferably controlled by an adjustable threshold.
The part of the textual identifier may comprise part of a name identifier of the computer object and/or part of the content of the computer object, said parts not being tied to a type identifier associated with the computer object. The content of the computer object may include the time stamp, author, number of words and other identifiers.
In arrangements of the invention it is possible to provide a fundamentally different approach to the lost in computer space problem. By providing a pictorial identifier that is characterised by resembling pictorial identifiers generated from substantially similar textual identifiers and being visually different from a pictorial identifiers generated from substantially different textual identifiers the visual skills of the user can be exploited to provide an improved navigation system. Embodiments provide substantial benefits over standard generic pictorial icons and textual identifiers. Pictorial identifiers may include drawings, doodles, and pictures.
Preferably the modelling approach is based on the part of the name identifier as well as a part of the name identifier tied to a type identifier associated with the computer object. This preferably allows for pictorial identifiers to be distinguished on the basis of both file types associated with the computer object and those parts of the name identifier not tied to a file type. In these embodiments the pictorial identifier for a particular computer object is easily visually distinguishable from those of other computer object of with different identifiers or file types.
Preferably the modelling approach involves determining which computer applications are associated with the type identifier so that the similarity arising from name identifiers being tied to type identifiers associated with similar computer applications is recognised by the modelling approach. The type identifiers may be tied to one or more computer applications.
Preferably determining which computer applications are associated with the type identifier includes querying a file type association module.
Preferably the modelling approach is based on the entire name identifier, in the common case of computer objects with an assigned name. In these arrangements each name identifier is attributed a distinctive appearance in the pictorial identifier. The name identifier is selected in preference to other possible data attributes because the name embodies the role and meaning of the object from the user's point of view. The modelling approach exploits this to allow computer objects with similar names and hence similar roles and meanings, to have similar pictorial identifiers.
Preferably the method includes proactively generating pictorial identifiers for a plurality of computer objects according to the modelling approach, upon name identifiers of computer objects being modified or created.
Preferably the method includes generating pictorial identifiers for a plurality of computer objects according to the modelling approach, upon the user opening a directory structure containing the objects.
Preferably the modelling approach is further characterised by generating pictorial identifiers of intermediate complexity.
Preferably the modelling approach is further characterised by generating pictorial identifiers that are distinctive on an overview scale as well as a thumbnail scale.
Preferably the method includes sorting a plurality of name identifiers into sub-groups according to the similarity of the textual identifiers, the modelling approach being additionally based on the structure of the sub-groups.
Preferably sorting involves determining the closest match among the textual identifiers and creating a new sub-group if the distance between the closest match and the textual identifier is greater than a threshold. The distance is preferably calculated using a distance calculation module.
Preferably generating involves mutating a pictorial identifier associated with the sub-group into which the textual identifier of the computer object has been sorted. Preferably all pictorial identifiers in a subgroup are generated from or comprise a base pictorial identifier.
Preferably the modelling approach is further characterised by generating pictorial identifiers such that they comprise a plurality of line segments. The modelling approach may be based on a scribble algorithm.
Preferably the computer object is a computer file and the pictorial identifier provides an icon for representing the computer file in a graphical user interface. In other arrangements the computer object may, for example, be a hyperlink in a computer file pointing to another file.
According to a second aspect of the invention there is provided a method of associating a pictorial identifier with a computer object comprising:
Preferably the modelling approach is based on the part of the name identifier as well as a part of the name identifier tied to a type identifier associated with the computer object.
Preferably the pictorial identifier resembles pictorial identifiers associated with substantially similar textual identifiers of yet other computer objects and the level of similarity between textual identifiers needed to generate a similar pictorial identifier is controlled by an adjustable threshold.
Preferably the modelling approach involves determining which computer applications are associated with the type identifier so that the similarity arising from name identifiers being tied to type identifiers associated with similar computer applications is recognised by the modelling approach.
Preferably the modelling approach is based on the entire name identifier.
Preferably the method includes proactively generating pictorial identifiers according to the modelling approach, upon name identifiers of computer objects being modified or created.
Preferably the method includes generating pictorial identifiers for a plurality of computer objects according to the modelling approach, upon the user opening a directory structure containing the objects.
Preferably the modelling approach is further characterised by generating pictorial identifiers such that they comprise a plurality of line segments.
According to a third aspect of the invention there is provided a method of generating a pictorial identifier for a computer object, the method comprising: generating a pictorial identifier according to a modelling approach based on at least a part of a file name preceding a file name extension associated with the computer object, the modelling approach being generally characterised by generating pictorial identifiers resembling pictorial identifiers generated from substantially similar name identifiers and being visually different from pictorial identifiers generated from substantially different name identifiers.
Preferably the file name extension comprises a type identifier consisting of a file name suffix in the form “.*”, where the asterisk represents any number of acceptable characters excluding the period symbol.
Preferably the pictorial identifier is generated based on the entire file name which file name includes the file name extension.
Preferably sorting a plurality of name identifiers into sub-groups according to the similarity of the name identifiers, the modelling approach being additionally based on the structure of the sub-groups.
Preferably the method includes sorting involves determining the closest match among the name identifiers and creating a new sub-group if the distance between the closest match and the name identifier is greater than a threshold.
Preferably generating involves mutating a pictorial identifier associated with the sub-group into which the name identifier of the computer object has been sorted.
According to a fourth aspect of the invention there is provided a method comprising: providing a pictorial identifier generated according to a modelling approach based on at least a part of a name identifier of the computer object; wherein the part of the name identifier is not tied to any type identifiers associated with the computer object and the modelling approach is generally characterised by generating pictorial identifiers resembling pictorial identifiers generated from substantially similar name identifiers and being visually different from pictorial identifiers generated from substantially different name identifiers. Preferably the pictorial identifier is provided on a display.
Preferably the method includes sorting a plurality of name identifiers into sub-groups according to the similarity of the name identifiers, the modelling approach being additionally based on the structure of the sub-groups.
Preferably the sorting involves determining the closest match among the name identifiers and creating a new sub-group if the distance between the closest match and the name identifier is greater than a threshold.
According to a fifth aspect of the invention there is provided a system for generating a pictorial identifier for a computer object, the system comprising:
Preferably the modelling approach is based upon on the part of the name identifier as well as a part of the name identifier tied to a type identifier associated with the computer object.
Preferably the means for ensuring ensures that the pictorial identifier generated resembles pictorial identifiers generated from substantially similar textual identifiers and the system includes threshold means for controlling the level of similarity between textual identifiers needed to generate a similar pictorial identifier, according to an adjustable threshold.
Preferably the system includes means for determining which computer applications are associated with the type identifier so that the similarity arising from name identifiers being tied to type identifiers associated with similar computer applications is recognised by the modelling approach.
Preferably the means for determining comprises means for querying a file type association module.
Preferably the system includes means for proactively generating pictorial identifiers for a plurality of computer objects according to the modelling approach, upon name identifiers of computer objects being modified or created.
Preferably the system includes means for generating pictorial identifiers for a plurality of computer objects according to the modelling approach, upon the user opening a directory structure containing the objects.
Preferably the means for generating is characterised by generating the pictorial identifiers of intermediate complexity.
Preferably the means for generating is characterised by generating pictorial identifiers that are distinctive on a thumbnail scale and an icon scale.
The system may comprise a computer-readable medium such that the means for generating comprises first code means and the means for ensuring comprises second code means. Alternatively the system may further comprise a computer system and means for displaying the pictorial identifier on a display. The system may include a Java system module.
The embodiments described provide scenery as a fait accompli with human visual perception being setup to rapidly learn a somewhat arbitrary mapping between appearance and content.
This is in contradistinction to thumbnail approaches which are not characterised by provided distinctive pictorial identifiers but are rather based on such things as textual content indistinguishable as a thumbnail. Other systems provide only textual identifiers.
According to another aspect of the invention there is provided a method of generating a pictorial identifier for a computer object, the method comprising: generating a pictorial identifier according to a modelling approach based on at least a part of a textual identifier of the computer object; wherein the textual identifier is not tied to any type identifiers associated with the computer object, the modelling approach being characterised by generating differing but visually distinctive identifiers for different computer objects based on the textual identifier.
Preferably the textual identifier comprises an assigned name or a numeric data identifier. Examples of textual identifiers therefore include someone's anonymous health record number or an oil field sensor that dumps data to a numbered database every hour.
Preferably the modelling approach is characterised by generating pictorial identifiers resembling pictorial identifiers generated from substantially similar textual identifiers of computer objects and being visually different from pictorial identifiers generated from substantially different textual identifiers of computer objects.
The modelling approach may be based on the part of the name identifier as well as a part of the name identifier tied to a type identifier associated with the computer object, so that the similarity arising from name identifiers being tied to type identifiers associated with similar computer applications is recognised by the modelling approach.
According to another aspect of the invention there is provided a method of generating a pictorial identifier for a computer object, the method comprising: generating a pictorial identifier according to a modelling approach based on at least a part of a name identifier of the computer object; wherein the part of the name identifier is not tied to any type identifiers associated with the computer object and the modelling approach is generally characterised by generating pictorial identifiers resembling pictorial identifiers generated from substantially similar name identifiers and being visually different from pictorial identifiers generated from substantially different name identifiers.
In arrangements of the invention it is possible to provide a fundamentally different approach to the lost in computer space problem. By providing a pictorial identifier that is characterised by resembling pictorial identifiers generated from substantially similar name identifiers and being visually different from a pictorial identifiers generated from substantially different name identifiers the visual skills of the user can be exploited to provide an improved navigation system. Embodiments provide substantial benefits over standard generic pictorial icons and textual identifiers. Pictorial identifiers may include drawings, doodles, and pictures.
Preferably, the modelling approach is based on the part of the name identifier as well as a part of the name identifier tied to a type identifier associated with the computer object.
Alternate aspects of the invention are directed to the shape grammar methods described herein. These methods are particularly advantageous and the present invention is not to be taken as limited to the other aspects described above.
Throughout the specification, unless the context requires otherwise, the word “comprise” or variations such as “comprises” or “comprising”, will be understood to imply the inclusion of a stated integer or group of integers but not the exclusion of any other integer or group of integers.
The invention will be better understood by reference to the following description of several specific embodiments thereof as shown in the accompanying drawings in which:
It is to be appreciated that the following discussion is intended to support the present invention. It should be appreciated that the discussion is not an acknowledgement or admission that it is permissible to judge the invention against any of the prior art material disclosed hereunder, or in the specification as a whole.
Referring to
The part 19 is tied to a type identifier 21 associated with the computer object 14 via a file type association module 23. Such an association is understood by virtue of part 19 having the same value “java” as the type identifier 21. In this manner name identifier 16 can be said to include a type identifier 27 comprising part 19. The remaining part 18 of name identifier 18 is understood as comprising another name identifier 25.
According to the method 10 the modelling approach 15 is characterised by the pictorial identifier 12 resembling pictorial identifiers generated from substantially similar name identifiers and being visually different from pictorial identifiers generated from substantially different name identifiers.
In this connection
It is noted that whilst the modelling approach 15 of
Upon an examination of
The other name identifiers 26 each includes file name type suffixes “tex”, “java” or “class” and as a whole are clearly different. This difference provides the visual differences between pictorial identifiers 35 and the other pictorial identifiers 22.
In the embodiment operating system 30 associates the “java” and “class” identifiers with Java and with Java code file types. The “.tex” identifier 34 is associated with a LaTex publishing format file type. Java is a well-known high-level object orientated programming language and LaTex is a publishing standard.
As illustrated in
In a similar manner “JSE” file name extensions and “JS” file name extensions are respectively associated with Jscript script and JScript encoded script files and a JavaScript host application. The “JSE” file name extensions and “JS” file name extensions are additionally associated with a JavaScript Editing application separate from the JavaScript host application. The registry interface 36 shown in
In
Whilst the pictorial identifiers 46 and 48 resemble each other, they are nonetheless not identical as the type identifiers “class” 57 and “Java” 58, being the suffixes of the name identifiers 42 and 44 have a decided influence on the modelling approach 15.
As illustrated in
Furthermore, the file association module 23 able to determine that both “java” and “class” type identifiers 57 and 58 are associated with computer application “SUN” 59. The modelling approach 10 takes this into consideration when generating pictorial identifier 46 and provides an consequent resemblance in the pictorial identifiers 46 and 48, reflecting the similarity arising from name identifiers 42 and 44 both being tied to type identifiers associated with computer application “Sun” 59. In this name, pictorial identifiers 46 and 48 are more similar that would be the case if say the “class” file type was associated with computer application “Emacs” 60 and not “Sun” 59.
In
Whilst there may be an odd occurrence where an pictorial identifier 22 from a name identifier 26 does not resemble a pictorial identifier 22 from a fairly similar name identifier 26 the modelling approach 15 used in the method 10 nonetheless generally, as in more often than not, serves to achieve providing pictorial identifiers resembling pictorial identifiers generated from substantially similar name identifiers 26, so as to provide a marked improvement to the user. The improvement is discussed in more detail towards the end of this disclosure with examples.
When name identifier 68 is renamed from “psGR1.java” to “doodlePrim.java” the operating system 30 springs into action. Thus, as shown in
It is to be recognised that in other embodiments no action is proactively taken. Rather the method 10 awaits an instruction from the user to change the pictorial identifier of a computer object. This methodology allows the user to makes use of the mental image of the pictorial identifier already formed in his or her head rather than forcing the user to remember a revised pictorial identifier. Thus in these arrangements a pictorial identifier, or its association with a computer object, is changed only upon instruction from the user.
In the arrangement of
After creating pictorial identifier 66 the old pictorial identifier 76 associated with computer object 70 is deleted and the new pictorial identifier 66 is associated therewith as identified by connection step 78.
The process of sorting involves determining the closest match among the name identifiers 72 and creating a new sub-group if the distance between the closest match and the name identifier 68 is greater than a threshold. On the modification of name identifier 66 the operating system 30 accordingly performs the following simple algorithm.
Procedure One-level-cluster(Newname)
find the closest match among existing filenames if this distance<threshold then
Given that “doodlePrim.java” is similar to “nacathPrim.java” and “BubblePrim.java” there are two close matches from the name identifiers 26 shown in
The threshold distance can be altered to control the number of clusters created. If desired it can be set to a small number or zero, causing all pictorial identifiers to be as distinct as possible, regardless of the similarity of the corresponding textual identifiers.
In each of the groups 62, 64 a base pictorial identifier 80 of the pictorial identifiers 22 is associated with the corresponding sub group 62, 64. Each of the other pictorial identifiers in each respective the group 63, 64 is generated by mutating the pictorial identifier 80 of that group. This is illustrated in
After the pictorial identifiers 22 have been generated and associated with corresponding computer objects 14, the pictorial identifiers 22 are provided on display 29, shown in
In this embodiment the pictorial identifiers 22 are also generated as required, say upon a user entering a directory structure. The method 10 does however first check to determine whether the generation of the pictorial identifiers 22 is required. If the generation is not required because say the pictorial identifiers are stored in a related directory, no action is taken.
According to another embodiment shown
The system 10 further includes means 116 for determining which computer applications 118 are associated with the type identifier 112 so that the similarity arising from name identifiers being tied to type identifiers associated with similar computer applications is recognised by the modelling approach. This is illustrated as per
Mathematically, a simple and approximate definition of complexity is the number of vertices in random polygons.
Various procedural modeling approaches including fractals, solid textures, L-systems are candidates for generating the pictorial identifiers 22. Among these possibilities shape grammars have been successfully applied by the applicant. Although shape grammars have been adopted other approaches might be equally suitable. In this embodiment the modeling approach 15 generates a unique pictorial identifier 22 for every possible name identifier. Furthermore the approach 15 is deterministic in the sense that repeatedly generating a pictorial identifier based on the same name identifier of a computer object will not cause the pictorial identifier to change. Although the pictorial identifiers 22 are in some sense arbitrary, in that there is no immediate correspondence between the pictorial identifiers 22 and the name identifiers 26. The modeling approach 15 will generate the same pictorial identifier for the same name identifier.
The procedure for synthesizing pictorial identifiers 22 starts by identifying similar name identifiers 26 using the sorting algorithm discussed above. Subsequently, the operation of the mutation provides pictorial identifiers 22 that are unique for unique filenames (those not part of a sub-group).
In the process the pictorial identifiers 22 generated are assigned to the name identifier, which in this embodiment comprises the whole file name by using a hash of the filename to seed a pseudorandom generator used in the shape grammar.
For filenames that are members of a sub-group, a hash of the first name added to the sub-group provides the pseudorandom seed used to generate base pictorial identifier 80 for each sub-group. The prototype is then “mutated” to obtain the pictorial identifier for remaining filenames in the subgroup.
A shape grammar consists of a set of shapes (terminals), a set of markers (non-terminals), a set of productions that replace particular configurations of markers (and possibly shapes) with other configurations of shapes (and possibly markers), and a start configuration. Markers are non-drawing shapes that serve to orient and scale productions. A production is applicable when an affine transformation can be found that makes its left side identical to a configuration of markers somewhere in the image. The literature on shape grammars and related techniques is broad and includes many distinct formulations.
While most work on visual grammars has focused on modeling the properties of specific objects (a particular tiling, or a particular plant species in the case of L-systems), the present embodiment provides a much more diverse range of distinctive shapes. Classic shape grammars allow a marker to be rewritten with any applicable rule, and it is the selection of the particular rule that produces different shapes from the same grammar. As the number of rules increases, the approach of applying rules independently and at random can lead to incoherent collections of parts rather than diverse but coherent patterns. To address this issue, this embodiment advantageously ensures that all instances of a particular marker are rewritten in the same way at each step. Thus, for example, in the radial production of
For reference it is noted that
This restriction having all instances of a particular marker rewritten in the same way at each step can be formalized by adding identifier generation and matching notations. An identifier generator i returns a unique identifier each time it appears. The matching symbol “” (underscore) appearing on the left side of a production matches any identifier. With these definitions the grammar can be notated as a tuple (N,T,M,P), where N is the set of nonterminals, T is the set of terminals, M is a set of markers Mi that may be expanded into either non-terminals or terminals, P are the production rules, and M1 is the start symbol.
A simple grammar using the radial 121 and along-a-path 125 productions comprises
A sample derivation from this grammar is:
This derivation generates a shape grammar:
i.e. “an n-gon with n-gons around the perimeter with lines coming off of them, and inside the main n-gon a curving path with lines coming off it.”
A derivation is complete when either every Mi has been rewritten to a terminal, or a user-specified maximum recursion level is reached. The complexity of the derivations can also be approximately controlled. Each generator calculates a complexity estimate as the sum of some intuitively assigned constant value for itself, plus the summed complexities of its children. Derivations more complex than a specified threshold are discarded and replaced by the derivation resulting from an incremented pseudorandom seed. During rendering, lines whose cumulative scaling is smaller than a threshold such as 1.5 pixels are discarded.
Arguably a grammatical formalism is not the simplest explanation of this construction. The construction can also be elegantly expressed using the higher-order function construct in functional languages such as scheme and ML (a higher-order function is a function that returns a function, as distinct from a function that returns a function pointer, as in C++). Scheme pseudocode is provided below for the radial production 121 shown in
Schema Language shape=grammar psedocode
Note that in calling generate-child the construction is not just randomly picking an applicable predefined production, rather, a particular production is in effect being invented by fixing free parameters of what might be considered a “parameterized production”. The parameters selected in the outer lambda are called “meta” level parameters. The result of the meta-level evaluation is a derivation that may still have some random parameters to be evaluated (in the embodiment these include random parameters that give a “sketch” feel to the individual drawings).
This division of evaluation into a “meta” stage and a second stage involving a more fully specified grammar can also be seen in the formal grammar description above. Whereas grammars are generally defined in terms of fixed symbols, the notations Mi and _ can be viewed as inventing marker symbols and matching them to particular rewrites; the result of evaluating all M and _ is then a grammar with fixed symbols.
With regard to implementation, the simple grammar in
While the set of generators and their various parameters were intuitively chosen, the particular choice is not crucial to the results. To give a better feel for the types of parameters that were used, the full set of parameters for the radial generator are described next.
The parameter n is the number of vertices in the n-gon. Boolean variables hasVertex, hasMouth control whether the markers at the vertices and in the center will be expanded (markers 1, 2 in
The actual random parameter choices use several random generators each defined in terms of the standard uniform [0,1) pseudo-random generator rnd( ). rndprob(p) returns true if rnd is greater than p. rndin(a,b) returns a random value in [a,b]; both integer and float versions of this routine are used. rndinLowbias(a,b) is similar but is biased toward smaller values by squaring the underlying pseudo-random value (i.e., a+rnd( )2*(b−a)). The parameter choices for radial are:
Objects with similar names should have similar visual identifiers. A first step toward this goal is to select a pairwise string distance function. Existing procedures such as the Levenshtein edit distance and the (normalized) longest common subsequence are candidates. In this embodiment a variant of normalized common sub-sequence that counts all common subsequences (of length>3), weighted by length is used to determine distance. This choice was motivated by the consideration that the files finalReport.doc and finalRevReport.doc are probably related.
The complete filename distance employs an ad-hoc weighing of this measure computed on the ‘name’ part of the file-name and a binary comparison of the file extension. Since the extension indicates the file type, however, it could be best to directly control the pictorial identifier appearance through grammar parameters or the choice of a grammar rather than participating in the string distance.
Given the string distance, a simple one-level incremental name clustering procedure is adopted that easily maps onto the shape grammar construction. As before the following pseudocode describes the clustering algorithm:
To create similar pictorial identifier for similar sorted (clustered) filenames, the pictorial identifier for the first filename in the cluster is “mutated” to create the remaining pictorial identifiers.
In the construction described in relation to
Another issue with this scheme is that the clustering threshold and the amount of variation generated by a “mutation” should be mutually tuned. As a fail safe the user should be able to force generation of new icons if the existing ones are not satisfactory, and the user could have access to some of the parameters of the synthesis procedure.
The design for the shape grammar employed in
The pictorial identifiers 22 of
The compute times for these identifiers 22 range from insignificant to a minute or even more, as some pictorial identifiers contain many thousand short antialiased line segments. On relatively slow computers the generation of the pictorial identifiers is assigned a low priority background task, similar to the file indexing tasks in current operating systems.
Once the pictorial identifiers 22 are available they are associated with corresponding computer objects and are integrated in the user interface.
The file browser 122 provides an interface which because of the form of icons 124 is effectively used by humans in many contexts. To verify this several user studies were performed.
Study 1
In the first study, users were asked to find files, specified by filename, in a “file browser” displaying files in a simulated folder, using either distinctive (pictorialID) icons or generic (plain document) icons. A grid of 6×4 files was chosen as representative of a typical number of files in a single folder. In a within-subjects (paired samples) design, each user searched for 2 files, 3 times each, for each type of icon. The order of file targets for each subject was randomly chosen. This repeated search task tests a combination of visual search and short term icon memory: users quickly learn the association between filenames and pictorialIDs and can thus use the pictorialID to aid in search. The study was implemented as a Java applet that uploaded timing data to a server. The 25 users who completed the study required an average of 23.2 seconds to complete the four pictorialID searches, versus 30.5 seconds for the generic-icon searches (paired t-test p=0.029), an improvement of approximately 30%. We would expect an even greater advantage if users were allowed to learn the icons over more than three trials.
The first study did not test pictorialID memory over more than a few minutes, and the file names were specified. Arguably in real life a user tries to find a file based on a memory of the contents of the file, and on vague memory of the file name and location. People are typically not given the file name and told to search for it.
Study 2
In a second study conducted, the aim was for the users to learn a more natural association between the icon and the “contents” of the file, and then to search for a file specified by those contents. Users were first trained using a modified version of the game “Concentration.” Although a game might not seem the most apparent choice, it makes a good substitute for the natural task of working with files and directories as there is no explicit need to memorize the association between the file “contents” and the name or icon. The task can be done entirely by memorizing the locations of the various cards, and would be very similar to what would be true for pictorialIDs. The users would not explicitly memorize the associations.
How users performed under these circumstances was investigated as follows.
A screenshot 130 of the concentration game is shown in
The 21 users who completed both days were 37% correct with pictorialIDs, and only 24% correct with generic icons, a significant difference (p=0.017, heteroscedastic). In the second task, users searched for a card, as in the file search task of Study 1, except that the card was specified by its “content” (the associated country) rather than by name. In this task users with pictorialIDs averaged 8 correct selections out of 20, versus 2.08 correct for the generic condition, p=0.007.
Several subjects were asked to sketch and describe icons from memory two days later. They produced reasonable sketches 132, as shown in
Approximately six weeks following this study accessible group of four of the former subjects were shown a printed page containing a 4×4 grid of icons, nine of which they had seen six weeks previously. All were more than 80% correct in identifying the previously seen icons.
The results of the studies are summarized in the following table:
PictoriallDs do not require a radical change to current desktop interfaces, and they complement existing research on spatial navigation schemes. The experimental results are both strong and easily obtainable. The potential efficiency demonstrated here (e.g. a 30% increase in search speed after only a few minutes of use) is most advantageous.
In
It is preferred that pictorialIDs 132, such as those in browser 134 of
Referring to
The second grammar rule 138 has a radial instance that generates a square 156 from each M2 marker, the square 156 having M4 markers 158 at each vertex and a M5 marker 160 centrally located therebetween. According to the grammar rule 138 the M5 marker 160 is replaced by null. While this comprises part of the grammar rule 138, it is shown in the
The third grammar rule 140 has an instance which replaces each M4 marker with a line. The grammar rule 140 comprises a rotation rule which preserves symmetry so as to operate on the second derivation 162 to provide a third derivation 164.
The fourth grammar rule 142 has an instance which replaces each M3 marker 165 in the third derivation 164 with a path consisting of four M1 markers 166 and one M2 marker 168. The grammar rule 142 is further configured to operate on the M3 marker 165 of the third derivation 164 to provide an inverted “J”. Thus grammar rule 142 generates a fourth derivation 170.
The fifth and sixth grammar rules 144 and 146 respectively replace M6 and M7 markers with a line terminal rule. The final derivation 172 generated thus comprises pictorial identifier 134. In operation the grammar 136 o 146 rules are chosen according to a seed generated from each name identifier. The generation of the seed is divergent in the sense that pictorial identifiers resemble pictorial identifiers generated from substantially similar name identifiers and are visually different from pictorial identifiers generated from substantially different name identifiers.
The distinctive visual appearance of the computer objects may be assigned directly to the data itself or to the space around the data and the scenery may take have 2D or 3D appearance. The approach of assigning appearance directly to the data is arguably more effective than placing scenery around the data. By assigning appearance to the data, “places spatial locations are provided” for simply by the user recognizing the objects in those places.
Pictorial identifiers should be tuned for the human visual system. Some psychological studies have shown an inverted-U curve of image preference as a function of complexity, i.e., a preference for intermediate complexity, with complexity being defined as the number of vertices in random polygons.
The noise image resulting from randomly chosen pixels is maximally complex from entropy and algorithmic complexity points of view, yet such images are not perceptually very distinct, human observers are unable to see the complexity in these images. Thus, it is preferred that the pictorial identifiers be of intermediate rather than the highest possible complexity.
Scenery should be as distinguishable as possible, not just under close examination but also in an overview in which many data items are visible and each is small. This indicates that distinctive detail should be generated across a range of scales, which in turn suggests a scale-recursive construction. The range of scales should include icon and thumbnail scales as would be shown on a computer display.
It is noted that computer users tend to organize their work into directories or folders containing from dozens up to perhaps several hundred items each, while on the other hand existing data spaces contain many thousands or millions of items. On this basis a desirable modelling approach should be able to synthesize very large numbers of distinct icons of which subsets of several hundreds of icons should be distinguishable at a glance and without study.
In the real world one may select a good restaurant by reputation without knowing its appearance, but on a second visit one may find it again having easily learned its appearance. Similarly, one cannot always guess the appearance of a book due to arrive in the mail from knowledge of its subject matter, but its somewhat arbitrary appearance is almost instantly learned and remembered once it is seen. One proviso is however, that a book usually “looks like a book” despite its variable appearance.
The main point is that one does not need appearance to be consistently correlated with anything in order for recognition. Scenery is presented as a fait accompli and the human memory being setup to rapidly learn this somewhat arbitrary mapping between appearance and content.
By being based on visual cues is faster than searching for the name of that object among a wide variety of other names can be provided. Textual strings such as filenames generally serve as the ultimate identifier of digital objects and a filename generally represents the meaning of the file to the user while this meaning often cannot be formally determined from the contents of the data. For example, consider the three filenames NIHfall, NIHfall cover, NIHold containing respectively a report, a corresponding cover letter, and a backup copy of an earlier version of the report. Content analysis would find the two versions of the report to be more similar than the report and the cover letter, but in the user's mind the report and its cover letter belong together as indicated by similar naming.
According to the embodiment described objects with similar file names generally have similar visual identifiers. Contrasting the datavizualisation by thumbnails reflecting content and the pictorialIDs as generated according to the embodiment results in the following table.
The complete parameters for the shape grammar are described below for reference.
In the parameter descriptions:
Around-a-spiral
The spiral algorithm is
The ppr is adjusted so that there are at least two revolutions in the spiral.
Around-a-Shape and Relaxed Inside
Both of these are implemented with the same code, with a boolean variable hasOC controlling whether a child is generated around the outline.
The outline is created with either a Fourier series or FFT filtering of noise, according to the variable fourier. Fourier series generation produces a more regular or coherent outline. Pseudocode for the Fourier series is:
The number of interior children is 2n, and each child is scaled down by mdin(0.1,2)/2n.
Along a Path
The outline is created with either a Fourier series or FFT filtering of noise, according to the variable fourier. The code is similar to that for the relaxed inside generator, except that a subrange of the synthesized outlines between parameter 0,0.7 is used to produce an open, a periodic curve, whereas relaxed inside uses the full 0,2*pi range of the outline. The number of children placed along the curve is 2n.
Scribble
The scribble generator traces a path attracted by random or patterned attractors and damped by “friction”. In the random case attractors are randomly distributed throughout the unit square centered on the origin. Patterned attractors X[i], Y[i] are distributed in a “zig-zag” pattern according to the code:
The attractors are applied in sequence, with a new attractor taking effect when the line has approached a preset distance (0.03) from the current attractor. The attractor force is in the direction from the current point to the attractor. The scribble algorithm is best described in code:
Symmetry
The symmetry generator draws nothing itself but applies its child in an n-lateral radial symmetry. If n=2 the child is mirrored.
Line Generator
Although line serves as a terminal in the grammar we also use it as a non-terminal with these parameters:
Figure Generator
The figure generator produces an animal-like arrangement of generators. Most generators are forced to be line, while the “head” is allowed to be a line or radial.
Throughout the specification, unless the context requires otherwise, the word “comprise” or variations such as “comprises” or “comprising”, will be understood to imply the inclusion of a stated integer or group of integers but not the exclusion of any other integer or group of integers.
Thus the scope of the present invention should not be limited to the specific examples of the foregoing description, but rather is indicated by the appended claims and their legal equivalents.