U.S. patent application number 13/843832 was filed with the patent office on 2014-09-18 for system and method for generating three-dimensional geofeeds, orientation-based geofeeds, and geofeeds based on ambient conditions based on content provided by social media content providers.
This patent application is currently assigned to Geofeedr, Inc.. The applicant listed for this patent is Philip B. Harris, Scott K. Mitchell, Michael J. Mulroy. Invention is credited to Philip B. Harris, Scott K. Mitchell, Michael J. Mulroy.
Application Number | 20140280569 13/843832 |
Document ID | / |
Family ID | 51533453 |
Filed Date | 2014-09-18 |
United States Patent
Application |
20140280569 |
Kind Code |
A1 |
Harris; Philip B. ; et
al. |
September 18, 2014 |
SYSTEM AND METHOD FOR GENERATING THREE-DIMENSIONAL GEOFEEDS,
ORIENTATION-BASED GEOFEEDS, AND GEOFEEDS BASED ON AMBIENT
CONDITIONS BASED ON CONTENT PROVIDED BY SOCIAL MEDIA CONTENT
PROVIDERS
Abstract
A system and method for generating a geofeed based on one or
more geofeed parameters including altitude parameters, ambient
condition parameters, and orientation parameters is provided. A
geofeed includes a collection of content, aggregated from various
content providers, that is relevant to one or more geographically
definable locations. The generated content may include, for
example, video, audio, images, text, hyperlinks, and/or other
content that may be relevant to a geographically definable
location. The content providers may include, for example, social
media platforms, online knowledge databases, individual content
creators, and/or other providers that can distribute content that
may be relevant to a geographically definable location. The system
may filter content into the geofeed and/or out of the geofeed based
on one or more geofeed parameters and/or display the geofeed
comprising the filtered content.
Inventors: |
Harris; Philip B.; (Naples,
FL) ; Mitchell; Scott K.; (Naples, FL) ;
Mulroy; Michael J.; (Glencoe, IL) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Harris; Philip B.
Mitchell; Scott K.
Mulroy; Michael J. |
Naples
Naples
Glencoe |
FL
FL
IL |
US
US
US |
|
|
Assignee: |
Geofeedr, Inc.
Naples
FL
|
Family ID: |
51533453 |
Appl. No.: |
13/843832 |
Filed: |
March 15, 2013 |
Current U.S.
Class: |
709/204 |
Current CPC
Class: |
H04W 4/185 20130101;
H04W 4/023 20130101; H04W 4/21 20180201; H04L 67/18 20130101; H04W
4/025 20130101; G06F 16/444 20190101; H04L 67/20 20130101; H04W
4/026 20130101; G06F 16/29 20190101 |
Class at
Publication: |
709/204 |
International
Class: |
H04L 29/08 20060101
H04L029/08 |
Claims
1. A method for generating a geofeed based on one or more altitude
parameters, the method being implemented in a computer that
includes one or more processors programmed by computer program
instructions, the method comprising: obtaining, by one or more
processors programmed by computer program instructions, content
that is aggregated from a plurality of social media content
providers based on one or more geographically definable locations,
the content being provided by the plurality of social media content
providers based on respective requests formatted specifically for
individual ones of the plurality of social media content providers,
wherein the respective requests comprise a first request in a first
format accepted by a first social media content provider and a
second request in a second format accepted by a second social media
content provider, the first format being different than the second
format, the content includes first content from the first social
media provider and second content from the second social media
content provider, and wherein the respective requests comprise the
one or more geographically definable locations; identifying, by the
one or more processors, the one or more altitude parameters used to
filter the content based on an altitude at which the content was
created; determining, by the one or more processors, one or more
altitude attributes that indicate the altitude at which the content
was created; causing, by the one or more processors, the content to
be filtered in or out based on the one or more altitude parameters
and the one or more altitude attributes; and communicating, by the
one or more processors, the filtered content.
2. The method of claim 1, wherein the one or more altitude
parameters are obtained based on a request for the content from a
user.
3. The method of claim 1, wherein the one or more altitude
attributes related to the first content are determined by the first
content provider such that the first content is associated with the
one or more altitude attributes when received from the first
content provider.
4. The method of claim 3, wherein the one or more altitude
attributes are generated by a barometric pressure sensor of a
device, wherein the device is used to create the first content.
5. The method of claim 3, wherein the one or more altitude
attributes are generated by a content creator who created the first
content.
6. The method of claim 1, wherein the one or more altitude
attributes related to the first content are not provided by the
first content provider, the method further comprising:
automatically determining, by the one or more processors, the one
or more altitude attributes related to the content after the
content is received from the first content provider.
7. The method of claim 6, the method further comprising:
generating, by the one or more processors, a correlation between
the first content and other content that is associated with one or
more altitude attributes, wherein the other content is known to be
created at an altitude indicated by the one or more altitude
attributes; and wherein the one or more altitude attributes are
automatically determined based on the correlation.
8. The method of claim 6, the method further comprising:
identifying, by the one or more processors, address information
related to the first content, wherein the one or more altitude
attributes are automatically determined based on the address
information.
9. A system for generating a geofeed based on one or more altitude
parameters, the system comprising: one or more processors
programmed by computer program instructions to: obtain content
associated with the geofeed, the content aggregated from a
plurality of social media content providers based on one or more
geographically definable locations, the content being provided by
the plurality of social media content providers based on respective
requests formatted specifically for individual ones of the
plurality of social media content providers, wherein the respective
requests comprise a first request in a first format accepted by a
first social media content provider and a second request in a
second format accepted by a second social media content provider,
the first format being different than the second format, and
wherein the respective requests comprise the one or more
geographically definable locations; identify the one or more
altitude parameters used to filter the content based on an altitude
at which the content was created; determine one or more altitude
attributes that indicate an altitude at which the content was
created; cause the content to be filtered in or out based on the
one or more altitude parameters and the one or more altitude
attributes; and communicate the filtered content.
10. The system of claim 9, wherein the one or more altitude
parameters are obtained based on a request for the content from a
user.
11. The system of claim 9, wherein the one or more altitude
attributes related to the first content are determined by the first
content provider such that the first content is associated with the
one or more altitude attributes when received from the first
content provider.
12. The system of claim 11, wherein the one or more altitude
attributes are generated by a barometric pressure sensor of a
device, wherein the device is used to create the first content.
13. The system of claim 11, wherein the one or more altitude
attributes are generated by a content creator who created the first
content.
14. The system of claim 9, wherein the one or more altitude
attributes related to the content are not provided by the first
content provider, the one or more processors further programmed to:
automatically determine the one or more altitude attributes related
to the content after the first content is received from the first
content provider.
15. The system of claim 14, wherein the one or more processors are
further programmed to: generate a correlation between the first
content and other content that is associated with one or more
altitude attributes, wherein the other content is known to be
created at an altitude indicated by the one or more altitude
attributes; and wherein the one or more altitude attributes are
automatically determined based on the correlation.
16. The system of claim 14, wherein the one or more processors are
further programmed to: identify address information related to the
first content, wherein the one or more altitude attributes are
automatically determined based on the address information.
17. A method for generating a geofeed based on one or more geofeed
parameters, the method being implemented in a computer that
includes one or more processors configured to execute one or more
processors programmed by computer program instructions, the method
comprising: obtaining, by one or more processors programmed by
computer program instructions, content associated with the geofeed,
the content aggregated from a plurality of social media content
providers based on one or more geographically definable locations,
the content being provided by the plurality of social media content
providers based on respective requests formatted specifically for
individual ones of the plurality of social media content providers,
wherein the respective requests comprise a first request in a first
format accepted by a first social media content provider and a
second request in a second format accepted by a second social media
content provider, the first format being different than the second
format, and wherein the respective requests comprise the one or
more geographically definable locations; obtaining, by the one or
more processors, the one or more geofeed parameters, wherein the
one or more geofeed parameters comprise: (i) one or more ambient
condition parameters used to filter the content based on an ambient
condition that existed at the time that the content was created, or
(ii) one or more orientation parameters used to filter the content
based on an orientation of a device used to create the content; and
communicating, by the one or more processors, the content that is
filtered in or out based on the one or more geofeed parameters.
18. The method of claim 17, wherein the method further comprising:
identifying, by one or more processors, the one or more ambient
condition parameters; determining, by the one or more processors,
one or more ambient condition attributes that indicate the ambient
condition that existed at the time that the was created; and
causing, by the one or more processors, the content to be filtered
in or out based on the one or more ambient condition parameters and
the one or more ambient condition attributes.
19. The method of claim 17, the method further comprising:
identifying, by one or more processors, the one or more orientation
parameters; determining, by the one or more processors, one or more
orientation attributes that indicate the orientation of the device
that created the content; and causing, by the one or more
processors, the content to be filtered in or out based on the one
or more orientation parameters and the one or more orientation
attributes.
20. The method of claim 7, wherein the first content was created by
a content creator and the other content was created by the content
creator at a different time such that the first content does not
include the one or more altitude attributes and the other content
does include the one or more altitude attributes.
21. The method of claim 8, the method further comprising:
determining, by the one or more processors, based on the address
information, a floor level from which the first content was
created, wherein the one or more altitude attributes are
automatically determined based on the determined floor level.
22. The system of claim 15, wherein the first content was created
by a content creator and the other content was created by the
content creator at a different time such that the first content
does not include the one or more altitude attributes and the other
content does include the one or more altitude attributes.
23. The system of claim 16, wherein the one or more processors are
further programmed to: determine, based on the address information,
a floor level from which the first content was created, wherein the
one or more altitude attributes are automatically determined based
on the determined floor level.
24. The method of claim 18, wherein the first content comprises
content that was created when a first ambient condition existed and
content that was created when a second ambient condition different
than the first ambient condition existed, the method further
comprising: displaying, by the one or more processors, the content
that was created when the first ambient condition existed
differently than the content that was created when the second
ambient condition existed.
25. The method of claim 18, wherein the one or more ambient
attributes related to the first content are not provided by the
first content provider, the method further comprising:
automatically determining, by the one or more processors, the one
or more ambient condition attributes after the first content is
received from the first content provider.
26. The method of claim 25, wherein automatically determining the
one or more ambient condition attributes comprises: identifying, by
the one or more processors, a date and/or time when the first
content was created; identifying, by the one or more processors, a
geo-location where the first content was created; and determining,
by the one or more processors, an ambient condition that existed at
the identified geo-location during the identified date and/or
time.
27. The method of claim 19, wherein the one or more orientation
attributes related to the first content are not provided by the
first content provider, the method further comprising:
automatically determining, by the one or more processors, the one
or more orientation attributes after the first content is received
from the first content provider.
28. The method of claim 27, wherein the first content comprises an
image, and wherein automatically determining the one or more
orientation attributes comprises: recognizing, by the one or more
processors, a landmark captured on the image; and determining, by
the one or more processors, that the image was taken while facing
the landmark based on the landmark recognition.
29. The method of claim 19, the method further comprising:
receiving, by the one or more processors, a current orientation of
a user; receiving, by the one or more processors, a current
geo-location of the user; identifying, by the one or more
processors, a set of content that was created within a proximity of
the current geo-location of the user, wherein the set of content
includes content created with the same orientation as the current
orientation of the user and/or different orientation than the
current orientation; providing, by the one or more processors, the
set of content to the user.
30. The method of claim 29, the method further comprising:
receiving, by the one or more processors, from the user, a
selection of a given orientation different than the current
orientation; and providing, by the one or more processors, at least
one of the set of content that corresponds to the given
orientation.
Description
FIELD OF THE INVENTION
[0001] The disclosure relates to systems and methods for generating
three-dimensional geofeeds, orientation-based geofeeds, and
geofeeds based on ambient conditions, where the geofeed comprises
content that is related to geographically definable locations and
is aggregated from a plurality of social media or other content
providers.
BACKGROUND OF THE INVENTION
[0002] The availability of content such as videos, audio files,
photos, text, and/or other content over networks such as the
Internet has grown at impressive rates. Many Internet and other
online service providers make this type of content available to
enable users to post and share such content through their services.
However, various limitations exist with respect to how this vast
amount of information can be effectively monitored and/or
selectively displayed.
[0003] Because of the large amount of information available from
social networks and other information providers, organizing, and
displaying the organized content in a meaningful way can be
difficult.
SUMMARY OF THE INVENTION
[0004] The disclosure relates to systems and methods for generating
a geofeed based on one or more geofeed parameters including
altitude parameters, ambient condition parameters, and orientation
parameters, where the geofeed comprises content that is related to
geographically definable locations and is aggregated from a
plurality of social media or other content providers.
[0005] In some embodiments, the system may include a computer that
facilitates generating a geofeed based on one or more geofeed
parameters. The computer may include one or more processors
configured to perform some or all of a functionality of a plurality
of modules. For example, the one or more processors may be
configured to execute a geofeed creation module, an altitude
module, an ambient condition module, an orientation module, a
communication module, a user interface module, and/or other
modules.
[0006] The geofeed creation module may be configured to receive a
request to create a geofeed based on a specification of one or more
geo-locations. The request may include one or more geofeed
parameters which may include an altitude parameter (e.g., at a
certain altitude, within a certain altitude range, below/above a
certain altitude, etc.), an ambient condition parameter (e.g., at a
certain temperature, within a certain temperature range,
below/above a certain temperature, etc.), and an orientation
parameter (e.g., "facing Southeast," "Azimuth of 125 degrees,"
"facing the White House," etc.), and/or other parameters. The one
or more geofeed parameters may be used to filter content into the
geofeed and/or out of the geofeed.
[0007] The geofeed creation module may generate a geofeed
definition that includes the specification of the one or more
geo-locations, the one or more geofeed parameters, and/or other
information related to the geofeed. The geofeed definition may be
updated. For example, the specification of the one or more
geo-locations, the one or more geofeed parameters, and/or other
information of the geofeed definition may be updated. In this
manner, various parameters related to geofeeds may be defined or
updated at the time of specifying the geofeeds and/or after the
geofeeds have been specified.
[0008] To create the geofeed, the geofeed creation module may
obtain the specification of the one or more geo-locations from the
geofeed definition and generate requests that specify the one or
more geo-locations specifically for individual ones of the
plurality of content providers. In some embodiments, the geofeed
creation module may create a single geofeed having a plurality of
geo-locations that are grouped with respect to one another. In
other embodiments, the geofeed creation module may create multiple
distinct geofeeds, which may each be associated with one or more
geo-locations that are grouped with respect to one another. In
these embodiments, each set of individual content may correspond to
a single geofeed.
[0009] The altitude module may be configured to identify and/or
obtain one or more altitude parameters that specify one or more
altitude attributes related to content. An altitude parameter may
be specified in various forms. It may be defined as a value of a
particular altitude (e.g., at 50 feet), as an altitude range (e.g.,
from 50 feet to 100 feet), and/or as a minimum/maximum altitude
(e.g., below/above 50 feet).
[0010] In some implementations, a content provider may determine or
otherwise provide one or more altitude attributes associated with
content. In this manner, the content provided by the content
provider and received by the computer may already have altitude
attributes embedded in the content. One or more altitude attributes
may be generated and/or embedded into the content by obtaining
altitude data from a device equipped with a barometric pressure
sensor and/or based on user input.
[0011] In some implementations, a content provider may not
determine or otherwise provide one or more altitude attributes
associated with content. In other words, the computer may receive
from the content provider the content not yet associated with an
altitude attribute. In such a case, the altitude module may be
configured to determine one or more altitude attributes related to
the content.
[0012] In some implementations, the altitude module may determine
the one or more altitude attributes related to the content based on
a correlation between the content and other content that are
currently associated with one or more altitude attributes. In some
implementations, the altitude module may determine the one or more
altitude attributes related to the content based on address
information where the address information may identify a particular
floor level of a building on which the place is located.
[0013] The ambient condition module may be configured to identify
and/or obtain one or more ambient condition parameters that specify
one or more ambient condition attributes related to content.
Ambient conditions may include weather-related information such as
temperature, humidity, air pressure, wind velocity and/or other
environmental conditions. An ambient condition parameter may be
specified in various forms. It may be defined as a value of a
particular ambient condition (e.g., temperature of 90.degree. F.),
as a range (e.g., from 30.degree. F. to 40.degree. F.), and/or as a
minimum/maximum threshold (e.g., below/above 90.degree. F.).
[0014] In some implementations, a content provider may determine or
otherwise provide one or more ambient condition attributes
associated with content. In this manner, the content provided by
the content provider and received by the computer may already have
ambient condition attributes embedded in the content. One or more
ambient condition attributes may be generated and/or embedded into
the content by obtaining ambient condition data from a device
equipped with one or more sensors, by querying an external database
based on one or more geo-locations and/or a creation/update time of
the content, and/or based on user input.
[0015] In some implementations, a content provider may not
determine or otherwise provide one or more ambient condition
attributes associated with content. The computer may receive from
the content provider the content not yet associated with an ambient
condition attribute. In such a case, the ambient condition module
may be configured to determine one or more ambient condition
attributes related to the content by accessing an external database
based on geo-locations and/or a creation/update time of the
content.
[0016] The orientation module may be configured to identify and/or
obtain one or more orientation parameters that specify one or more
orientation attributes related to the content. For example, a
content consumer may request a geofeed having content that was
created with respect to a particular spatial orientation. An
orientation parameter may be specified in various forms. It may be
defined as a reference point from which content was created. The
reference point may include a particular point of interest (e.g.,
"facing the White House"), a particular reference direction (e.g.,
"facing Southeast"), and/or a particular azimuth value (e.g.,
"Azimuth of 125 degrees").
[0017] In some implementations, a content provider may determine or
otherwise provide one or more orientation attributes associated
with content. In this manner, the content provided by the content
provider and received by the computer may already have orientation
attributes embedded in the content. One or more orientation
attributes may be generated and/or embedded into the content by
obtaining orientation data from a device equipped with a GPS unit
and a compass and/or accelerometer/tilt angle sensor, and/or based
on user input.
[0018] In some implementations, a content provider may not
determine or otherwise provide one or more orientation attributes
to be associated with content. The computer may receive from the
content provider the content not yet associated with an orientation
attribute. In such a case, the orientation module may be configured
to determine one or more orientation attributes related to the
content based on analyzing the content and determining whether the
content itself indicates a particular reference point.
[0019] The communication module may be configured to communicate
the geofeed comprising the content that is associated with one or
more altitude attributes, ambient condition attributes, and/or
orientation attributes, and/or other attributes that meet the
criteria defined by the one or more geofeed parameters. The geofeed
may be communicated to the content consumer via the user interface
communicated via the user interface module and/or other
communication channel.
[0020] Various other objects, features, and advantages of the
invention will be apparent through the detailed description of the
preferred embodiments and the drawings attached hereto. It is also
to be understood that both the foregoing general description and
the following detailed description are exemplary and not
restrictive of the scope of the invention.
BRIEF DESCRIPTION OF THE DRAWINGS
[0021] FIG. 1 illustrates a system of generating a geofeed based on
one or more geofeed parameters including altitude parameters,
ambient condition parameters, and orientation parameters, according
to an aspect of the invention.
[0022] FIG. 2 illustrates a process for generating a geofeed based
on one or more geofeed parameters including altitude parameters,
ambient condition parameters, and orientation parameters, according
to an aspect of the invention.
[0023] FIG. 3 illustrates a screenshot of an interface for
communicating a geofeed including content associated with an
altitude attribute that corresponds to an altitude value defined by
an altitude parameter, according to an aspect of the invention.
[0024] FIG. 4 illustrates a screenshot of an interface for
communicating a geofeed including content associated with an
altitude attribute that is within an altitude range defined by an
altitude parameter, according to an aspect of the invention.
[0025] FIG. 5 illustrates a screenshot of an interface for
communicating a geofeed including content associated with an
ambient condition attribute that satisfies an ambient condition
parameter, according to an aspect of the invention.
[0026] FIG. 6 illustrates a screenshot of an interface for
communicating a geofeed including content associated with an
orientation attribute that satisfies an orientation parameter,
according to an aspect of the invention.
[0027] FIG. 7 illustrates a graphical representation of generating
a plurality of views of geofeed content based on location and
orientation data, according to an aspect of the invention.
DETAILED DESCRIPTION OF THE INVENTION
[0028] FIG. 1 illustrates a system 100 of generating a geofeed
based on one or more geofeed parameters including altitude
parameters, ambient condition parameters, and orientation
parameters, according to an aspect of the invention. A geofeed
includes a collection of content, aggregated from various content
providers, that is relevant to a geographically definable location
(hereinafter, a "geo-location"). The aggregated content (also
referred to herein as "geofeed content") may include, for example,
video, audio, images, text, hyperlinks, and/or other content that
may be relevant to a geo-location.
[0029] The content providers may include, for example, social media
platforms (e.g., FACEBOOK, TWITTER, INSTAGRAM, FLICKR, etc.),
online knowledge databases, and/or other providers that can
distribute content that may be relevant to a geo-location. The
geo-location may be specified by a boundary, geo coordinates (e.g.,
latitude, longitude, altitude/depth), an address, a school, a place
name, a point of interest, a zip code, a city, a state, a country,
and/or other information that can spatially identify an area. The
content may be generated by content sources such as individuals,
corporations, and/or other entities that may create content. As
used hereinafter, "a location," "a geo-location," "a geographically
definable location," and similar language is not limited to a
single location but may also refer to one or more such
locations.
[0030] In many instances the created content can be automatically
tagged with information such as user identifications, date/time
information or geographic information (e.g., hereinafter, a
"geo-tag") that specifies a location where the content was created.
For example, cameras equipped with Global Positioning Satellite
("GPS") units or other location-aware systems may embed into an
image file latitude/longitude coordinates that indicate where a
picture was taken. In addition, modern hand-held devices such as
smartphones may be equipped with a GPS sensor, which allows users
to generate content (text, photos and videos) with their devices
and immediately share the content through a plurality of social
networks. Moreover, some devices allow users to manually input the
foregoing and other information for embedding into the content.
Furthermore, editing software may allow a user to embed or
otherwise associate information along with the content after the
content was created.
[0031] System 100 may include a computer 110, a geofeed API 122, a
content consumer device 160, provider APIs 140, content providers
150, and/or other components. In some implementations, computer 110
may include one or more processors 120 configured to perform some
or all of a functionality of a plurality of modules, which may be
stored in a memory 121. For example, the one or more processors may
be configured to execute a geofeed creation module 111, an altitude
module 112, an ambient condition module 113, an orientation module
114, a communication module 115, a user interface module 116,
and/or other modules 119.
[0032] Geofeed creation module 111 may be configured to create one
or more geofeeds 101 (illustrated in FIG. 1 as geofeed 101A, 101b,
. . . , 101N), as described in U.S. patent application Ser. No.
13/284,455, filed Oct. 28, 2011, entitled "SYSTEM AND METHOD FOR
AGGREGATING AND DISTRIBUTING GEOTAGGED CONTENT," and U.S. patent
application Ser. No. 13/619,888, filed Sep. 14, 2012, entitled
"SYSTEM AND METHOD FOR GENERATING, ACCESSING, AND UPDATING
GEOFEEDS" both of which are incorporated by reference herein in
their entirety.
[0033] Co-pending U.S. patent application Ser. No. 13/708,516,
filed Dec. 7, 2012, entitled "SYSTEM AND METHOD FOR LOCATION
MONITORING BASED ON ORGANIZED GEOFEEDS," co-pending U.S. patent
application Ser. No. 13/708,466, filed Dec. 7, 2012, entitled
"SYSTEM. AND METHOD FOR GENERATING AND MANAGING GEOFEED-BASED
ALERTS," co-pending U.S. patent application Ser. No. 13/708,404,
filed Dec. 7, 2012, entitled "SYSTEM AND METHOD FOR RANKING
GEOFEEDS AND CONTENT WITHIN GEOFEEDS," co-pending U.S. patent
application Ser. No. 13/788,843, filed Mar. 7, 2013, entitled
"SYSTEM AND METHOD FOR DIFFERENTIALLY PROCESSING A LOCATION INPUT
FOR CONTENT PROVIDERS THAT USE DIFFERENT LOCATION INPUT FORMATS,"
U.S. patent application Ser. No. 13/788,760, filed Mar. 7, 2013,
entitled "SYSTEM AND METHOD FOR CREATING AND MANAGING GEOFEEDS,"
and U.S. patent application Ser. No. 13/788,909, filed Mar. 7,
2013, entitled "SYSTEM AND METHOD FOR TARGETED MESSAGING, WORKFLOW
MANAGEMENT, AND DIGITAL RIGHTS MANAGEMENT FOR GEOFEEDS," are all
incorporated by reference in their entireties herein. are all
incorporated by reference in their entireties herein.
[0034] Co-pending patent application, filed concurrently herewith,
entitled "SYSTEM AND METHOD FOR PREDICTING A GEOGRAPHIC ORIGIN OF
CONTENT AND ACCURACY OF GEOTAGS RELATED TO CONTENT OBTAINED FROM
SOCIAL MEDIA AND OTHER CONTENT PROVIDERS," Attorney Docket No.
075620-0417945 and co-pending patent application, filed
concurrently herewith, entitled "VIEW OF A PHYSICAL SPACE AUGMENTED
WITH SOCIAL MEDIA CONTENT ORIGINATING FROM A GEO-LOCATION OF THE
PHYSICAL SPACE," Attorney Docket No. 075620-0417944 are all
incorporated by reference in their entireties herein.
[0035] Geofeed creation module 111 may format a request for a
geofeed specific for different provider APIs 140 (illustrated in
FIG. 1 as API 140A, 140B, . . . , 140N). The provider APIs may
facilitate receiving content from corresponding content providers
150 (illustrated in FIG. 1 as content providers 150A, 150B, 150C).
In some implementations, geofeed creation module 111 may format a
request directly for content provider 150N without using a
corresponding API. Formatting instructions may be stored at a
provider profile 134. A content consumer device 160 may request and
view geofeeds 101 created by geofeed creation module 111.
[0036] In some implementations, geofeed creation module 111 may
receive a request to create a geofeed based on a specification of
one or more geo-locations. The request may include one or more
geofeed parameters which may include an altitude parameter (e.g.,
at a certain altitude, within a certain altitude range, below/above
a certain altitude, etc.), an ambient condition parameter (e.g., at
a certain temperature, within a certain temperature range,
below/above a certain temperature, etc.), and an orientation
parameter (e.g., "facing Southeast," "Azimuth of 125 degrees,"
"facing the White House," etc.), and/or other parameters. For
example, a content consumer may search for geofeed content that
have been created when the temperature of that location of creation
was over 90 degrees Fahrenheit (.degree. F.). The request may
include a plurality of geofeed parameters in some instances. For
example, a content consumer may be interested in receiving geofeed
content that have been created at a certain specified altitude
below a certain specified temperature. The geofeed parameters which
accompany the request may be used to request from content providers
content that satisfies both of the geofeed parameters. On the other
hand, the geofeed parameters may be used to filter content into the
geofeed and/or out of the geofeed after computer 110 receives the
content from content providers.
[0037] In some implementations, geofeed creation module 111 may
obtain the one or more geofeed parameters after computer 110
receives the geofeed content from content providers. For example,
once the geofeed content related to one or more geo-locations have
been retrieved, a content consumer may specify, via a user
interface, an altitude parameter (e.g., at 50 feet of altitude), an
ambient condition parameter (e.g., above 90.degree. F.), an
orientation parameter (e.g., facing the "White House"), and/or
other parameters to filter content into the geofeed and/or out of
the geofeed.
[0038] In some implementations, the geofeed parameters including
altitude parameters, ambient condition parameters, orientation
parameters, and/or other parameters may be stored in and/or
retrieved from geofeed parameters database 136.
[0039] Altitude module 112 may be configured to identify and/or
obtain one or more altitude parameters that specify one or more
altitude attributes related to content. The one or more altitude
parameters may be user-specified and/or system-generated. For
example, a content consumer may specify an altitude parameter to
search for geofeed content that is associated with one or more
altitude attributes that meet the criteria defined by the altitude
parameter.
[0040] An altitude parameter may be specified in various forms. It
may be defined as a value of a particular altitude (e.g., at 50
feet), as an altitude range (e.g., from 50 feet to 100 feet),
and/or as a minimum/maximum altitude (e.g., below/above 50 feet).
In some implementations, altitude parameters may be defined based
on a map input. For example, a content consumer may specify a
three-dimensional geo-location via a map interface by drawing a
circle, cylinder, or sphere above (or below) ground level. In other
implementations, an altitude parameter may be specified as a text
input by entering a particular altitude value, altitude range,
altitude threshold, etc.
[0041] In some implementations, an altitude parameter may include
one or more keywords, phrases, addresses, and/or other information
that may be used to identify an altitude. For example, if an
altitude parameter includes a phrase such as "at the highest point
of Washington D.C.," altitude module 112 may convert this phrase to
an altitude value, range, and/or threshold that corresponds to the
description provided by that phrase. In doing so, altitude module
112 may access an external database and/or other database storage
that may store and/or maintain altitude data of various buildings,
mountains, etc. of the specified region. In another example, an
altitude parameter may include an address that may specify a place
located on a certain floor level (e.g., 17.sup.th floor) of a
building. In such a case, altitude module 112 may convert this
address to an altitude value, range, and/or threshold related to
that floor level based on the altitude data stored in an external
database and/or other database storage.
[0042] In some implementations, a content provider may determine or
otherwise provide one or more altitude attributes associated with
content. In this manner, the content provided by the content
provider and received by computer 110 may already have altitude
attributes embedded in the content. For example, the content may
have been created using a device (e.g., a mobile device) with a
barometric pressure sensor that may be used to capture one or more
altitude attributes at the time of creation of the content. In this
case, the captured altitude attributes may be embedded into the
content. In another example, the creator of the content may
manually input one or more altitude attributes which may be
embedded into the content.
[0043] In some implementations, a content provider may not
determine or otherwise provide one or more altitude attributes
associated with content. Computer 110 may receive from the content
provider the content not yet associated with an altitude attribute.
In such a case, altitude module 112 may be configured to determine
one or more altitude attributes related to the content.
[0044] In some implementations, altitude module 112 may determine
the one or more altitude attributes related to the content based on
a correlation between the content and other content that are
currently associated with one or more altitude attributes. For
example, a content creator may have created content via a content
provider at a particular geographical location and manually tagged
the content with one or more altitude attributes. The content
consumer subsequently posts new content at the same geographical
location but does not provide altitude information related to the
new content. In this case, altitude module 112 may determine that
the subsequent content should be associated with the same altitude
attributes as the previous content because they share a common
geographical location with one another and have been created by the
same content creator.
[0045] In some implementations, altitude module 112 may determine
the one or more altitude attributes related to the content based on
address information related to the content. For example, the
geo-tag of the content and/or the content itself may include
address information from which altitude module 112 may retrieve one
or more altitude attributes. If the address specifies a particular
floor level of a building, altitude module 112 may convert this
address to an altitude value corresponding to that floor level
based on altitude data stored in an external database and/or other
database storage.
[0046] Ambient condition module 113 may be configured to identify
and/or obtain one or more ambient condition parameters that specify
one or more ambient condition attributes related to content.
Ambient conditions may include weather-related information such as
temperature, humidity, air pressure, wind velocity and/or other
environmental conditions. The one or more ambient condition
parameters may be user-specified and/or system-generated. For
example, a content consumer may specify an ambient condition
parameter to search for geofeed content that is associated with one
or more ambient condition attributes that meet the criteria defined
by the ambient condition parameter.
[0047] An ambient condition parameter may be specified in various
forms. It may be defined as a value of a particular ambient
condition (e.g., temperature of 90.degree. F.), as a range (e.g.,
from 30.degree. F. to 40.degree. F.), and/or as a minimum/maximum
threshold (e.g., below/above 90.degree. F.). In some
implementations, an ambient condition parameter may specify a
condition caused by weather variations (e.g., heat wave). For
example, a content consumer may request geofeed content created
during a heat wave.
[0048] In some implementations, a content provider may determine or
otherwise provide one or more ambient condition attributes
associated with content. In this manner, the content provided by
the content provider and received by computer 110 may already have
ambient condition attributes embedded in the content. For example,
the content provider may access an external database and/or other
database storage to acquire one or more ambient condition
attributes related to the content. Ambient conditions may be
location-specific and/or time-specific, which means that ambient
conditions may be conditions measured at a particular location
and/or at a particular time. Thus, the content provider may query
the external database (and/or other database storage) based on one
or more geo-locations specified for a geofeed (and/or the geo-tag
associated with the content) and/or a creation/update time of the
content. In another example, one or more ambient condition
attributes related to content may be manually input by the creator
of the content. In yet another example, the content may have been
created using a device (e.g., a mobile device) including one or
more sensors that may capture one or more ambient condition
attributes of where the device is located. In this case, the
captured ambient condition attributes may be embedded into the
content.
[0049] In some implementations, a content provider may not
determine or otherwise provide one or more ambient condition
attributes associated with content. Computer 110 may receive from
the content provider the content not yet associated with an ambient
condition attribute. In such a case, ambient condition module 113
may be configured to determine one or more ambient condition
attributes related to the content.
[0050] In some implementations, ambient condition module 113 may
determine the one or more ambient condition attributes related to
the content by accessing an external database and/or other database
storage that stores and/or maintains information related to ambient
conditions. Ambient condition module 113 may obtain the one or more
ambient condition attributes from the external database and/or
other database storage based on the geo-locations specified for
creating a geofeed (and/or the geo-tag associated with the content)
and/or a creation/update time of the content.
[0051] In some implementations, when an ambient condition parameter
specifies a condition caused by weather variations (e.g., a heat
wave), a content provider and/or ambient condition module 113 may
search the external database and/or other database storage to
obtain average ambient conditions (e.g., seasonal average
temperature) based on one or more geo-locations specified for the
geofeed (and/or the geo-tag associated with the content). The
average ambient conditions may be compared to ambient conditions
measured at a creation/update time of the content. For example, if
the difference between the average temperature and the temperature
measured at the creation/update time of the content is sufficiently
large (e.g., above a certain threshold), ambient condition module
113 may determine that the content was created during a heat wave.
In this example, the resulting geofeed content may include only the
content that was created during a heat wave, allowing the content
consumer to track this type of variation in weather.
[0052] Orientation module 114 may be configured to identify and/or
obtain one or more orientation parameters that specify one or more
orientation attributes related to the content. The one or more
orientation parameters may be user-specified and/or
system-generated. For example, a content consumer may specify an
orientation parameter to search for geofeed content that is
associated with one or more orientation attributes that meet the
criteria defined by the orientation parameter. In other words, the
content consumer may request a geofeed having content that was
created with respect to a particular spatial orientation.
[0053] An orientation parameter may be specified in various forms.
It may be defined as a reference point from which content was
created. The reference point may include a particular point of
interest (e.g., "facing the White House"), a particular reference
direction (e.g., "facing Southeast"), and/or a particular azimuth
value (e.g., "Azimuth of 125 degrees"). For example, videos taken
while facing a reference point or images of celestial object viewed
from a location at particular angles may be included in the geofeed
content.
[0054] In some implementations, a content provider may determine or
otherwise provide one or more orientation attributes associated
with content. In this manner, the content provided by the content
provider and received by computer 110 may already have orientation
attributes embedded in the content. For example, the content
provider may obtain one or more orientation attributes from a
device (e.g., a mobile device) that is used to create the content.
In this example, the device location may be determined by a GPS
unit of the device. Based on the device location, the device
orientation may be determined by obtaining compass data and/or
accelerometer data from a compass and/or accelerometer/tilt angle
sensor linked to the device. In this case, the device location and
orientation information may be embedded into the content. In
another example, the creator of the content may manually input one
or more orientation attributes which may be embedded into the
content. The content creator may indicate that the content has been
created while facing the White House, for example.
[0055] In some implementations, a content provider may not
determine or otherwise provide one or more orientation attributes
to be associated with content. Computer 110 may receive from the
content provider the content not yet associated with an orientation
attribute. In such a case, orientation module 114 may be configured
to determine one or more orientation attributes related to the
content. For example, orientation module 114 may analyze the
content and determine whether the content itself indicates a
particular reference point. In this example, if the content shows a
picture of the White House while the geo-location specified for
creating a geofeed (and/or the geo-tag associated with the content)
is near the location of the White House, orientation module 114 may
determine that that the picture was taken while facing the White
House.
[0056] Communication module 115 may be configured to communicate
the geofeed comprising the content that is associated with one or
more altitude attributes, ambient condition attributes, and/or
orientation attributes, and/or other attributes that meet the
criteria defined by the one or more geofeed parameters. The geofeed
may be communicated to the content consumer via the user interface
communicated via user interface module 116 and/or other
communication channel.
[0057] Exemplary screenshots of interfaces for generated by user
interface module 116 are illustrated in FIGS. 3-6.
[0058] Those having skill in the art will recognize that computer
110 and content consumer device 160 may each comprise one or more
processors, one or more interfaces (to various peripheral devices
or components), memory, one or more storage devices, and/or other
components coupled via a bus. The memory may comprise random access
memory (RAM), read only memory (ROM), or other memory. The memory
may store computer-executable instructions to be executed by the
processor as well as data that may be manipulated by the processor.
The storage devices may comprise floppy disks, hard disks, optical
disks, tapes, or other storage devices for storing
computer-executable instructions and/or data.
[0059] One or more applications, including various modules, may be
loaded into memory and run on an operating system of computer 110
and/or consumer device 160. In one implementation, computer 110 and
consumer device 160 may each comprise a server device, a desktop
computer, a laptop, a cell phone, a smart phone, a Personal Digital
Assistant, a pocket PC, or other device.
[0060] Network 102 may include any one or more of, for instance,
the Internet, an intranet, a PAN (Personal Area Network), a LAN
(Local Area Network), a WAN (Wide Area Network), a SAN (Storage
Area Network), a MAN (Metropolitan Area Network), a wireless
network, a cellular communications network, a Public Switched
Telephone Network, and/or other network.
[0061] FIG. 2 illustrates a process 200 for generating a geofeed
based on one or more geofeed parameters including altitude
parameters, ambient condition parameters, and orientation
parameters, according to an aspect of the invention. The various
processing operations and/or data flows depicted in FIG. 2 (and in
the other drawing figures) are described in greater detail herein.
The described operations may be accomplished using some or all of
the system components described in detail above and, in some
implementations, various operations may be performed in different
sequences and various operations may be omitted. Additional
operations may be performed along with some or all of the
operations shown in the depicted flow diagrams. One or more
operations may be performed simultaneously. Accordingly, the
operations as illustrated (and described in greater detail below)
are exemplary by nature and, as such, should not be viewed as
limiting.
[0062] In an operation 201, process 200 may include obtaining
content associated with a geofeed. The geofeed may be created
and/or retrieved by computer 110.
[0063] In an operation 202, process 200 may include identifying
and/or selecting one or more geofeed parameters which may include
an altitude parameter (e.g., at a certain altitude, within a
certain altitude range, below/above a certain altitude, etc.), an
ambient condition parameter (e.g., at a certain temperature, within
a certain temperature range, below/above a certain temperature,
etc.), and an orientation parameter (e.g., "facing Southeast,"
"Azimuth of 125 degrees," "facing the White House," etc.), and/or
other parameters. The one or more geofeed parameters may be used to
filter content into the geofeed and/or out of the geofeed.
[0064] In an operation 203, process 200 may include determining
whether the one or more geofeed parameters include an altitude
parameter. If process 200 determines that the one or more geofeed
parameters include an altitude parameter, process 200 may include
determining one or more altitude attributes related to the content
in an operation 204. On the other hand, if the one or more geofeed
parameters do not include an altitude parameter, process 200 may
include determining whether the one or more geofeed parameters
include an ambient condition parameter in an operation 213.
[0065] In operation 213, if process 200 determines that the one or
more geofeed parameters include an ambient condition parameter,
process 200 may include determining one or more ambient condition
attributes related to the content in an operation 214. On the other
hand, if the one or more geofeed parameters do not include an
ambient condition parameter, process 200 may include determining
whether the one or more geofeed parameters include an orientation
parameter in an operation 223.
[0066] In operation 223, if process 200 determines that the one or
more geofeed parameters include an orientation parameter, process
200 may include determining one or more orientation attributes
related to the content in an operation 224. On the other hand, if
the one or more geofeed parameters do not include an orientation
parameter, process 200 may proceed to an operation 250.
[0067] In an operation 205, process 200 may include filtering the
content into the geofeed and/or out of the geofeed based on the
altitude parameter and the one or more altitude attributes related
to the content. For example, if a content item is associated with
an altitude value that falls outside of the altitude range
identified by the altitude parameter, the content item may be
filtered out (or excluded) from the geofeed.
[0068] In an operation 215, process 200 may include filtering the
content into the geofeed and/or out of the geofeed based on the
ambient condition parameter and the one or more ambient condition
attributes related to the content. For example, if a content item
is associated with a temperature value that does not satisfy the
ambient condition parameter (e.g., above 95.degree. F.), the
content item may be filtered out (or excluded) from the
geofeed.
[0069] In an operation 225, process 200 may include filtering the
content into the geofeed and/or out of the geofeed based on the
orientation parameter and the one or more orientation attributes
related to the content. For example, if a content item has been
created while facing a particular direction that is not the same as
the direction identified by the orientation parameter, the content
item may be filtered out (or excluded) from the geofeed.
[0070] In an operation 250, process 200 may include communicating
the geofeed comprising the filtered content. The geofeed having
filtered content may be communicated via one or more communication
channels such as, for example, SMS text, email, content delivered
to a client application such as a mobile application, a website,
and/or other communication channel. In some implementations, the
geofeed may be communicated via a user interface such as a web
page, mobile application, and/or other interface.
[0071] FIG. 3 illustrates a screenshot of an interface 300 for
communicating a geofeed including content associated with an
altitude attribute that corresponds to an altitude value defined by
an altitude parameter, according to an aspect of the invention. The
screenshots illustrated in FIG. 3 and other drawing figures are for
illustrative purposes only. Various components may be added,
deleted, moved, or otherwise changed so that the configuration,
appearance, and/or content of the screenshots may be different than
as illustrated in the figures. Accordingly, the graphical user
interface objects as illustrated (and described in greater detail
below) are exemplary by nature and, as such, should not be viewed
as limiting.
[0072] Interface 300 and other interfaces described herein may be
implemented as a web page communicated from computer 110 to a
client, an application such as a mobile application executing on
the client that receives generates the interface based on
information communicated from computer 110, and/or other interface.
Whichever type of interface is used, computer 110 may communicate
the data and/or formatting instructions related to the interface to
the client, causing the client to generate the various interfaces
of FIG. 3 and other drawing figures. Furthermore, computer 110 may
receive data from the client via the various interfaces, as would
be appreciated.
[0073] Referring to FIG. 3, interface 300 may include a geofeed (as
illustrated as a circle 301 in solid line) having content items
311-315, 321-325, and 331-332 whose latitude and longitude
coordinates reside within a geo-location specified for the geofeed.
Individual content items 311-315, 321-325, and 331-332 may be
associated with one or more altitude attributes. For example,
content item 325 may be associated with an altitude value of
zero.
[0074] When a content consumer makes a request to create a geofeed
based on one or more geo-locations, the content consumer may also
specify an altitude parameter which indicates a particular altitude
value. Interface 300 may include a circle 302 (in dotted line) that
may indicate the geofeed having content items 311-315 (shown in
solid line) that are associated with the particular altitude value
identified by the altitude parameter. Content items 321-325 and
331-332 associated with altitude values that are different from the
altitude parameter may be displayed differently (e.g., in dotted
line) from content items 311-315 and/or may be filtered out (or
excluded) from the geofeed. The geofeed comprising the filtered
content (as illustrated as circle 302 and content items 311-315)
may be communicated via interface 300 to the content consumer.
[0075] FIG. 4 illustrates a screenshot of an interface 400 for
communicating a geofeed including content associated with an
altitude attribute that is within an altitude range defined by an
altitude parameter, according to an aspect of the invention.
[0076] Referring to FIG. 4, interface 400 may include a geofeed (as
illustrated as a circle 401 in solid line) having content items
411-416, 421-425, and 431-432 whose latitude and longitude
coordinates reside within a geo-location specified for the geofeed.
Individual content items 411-416, 421-425, and 431-432 may be
associated with one or more altitude attributes. For example,
content item 425 may be associated with an altitude value of
zero.
[0077] When a content consumer makes a request to create a geofeed
based on one or more geo-locations, the content consumer may also
specify an altitude parameter which indicates a particular altitude
range. Interface 400 may include a cylinder 402 (in dotted line)
that may indicate the geofeed having content items 411-416 where
content items 411-416 (shown in solid line) may be associated with
altitude values that are within the particular altitude range
identified by the altitude parameter. Content items 421-425 and
431-432 associated with altitude values that fall outside of the
altitude range identified by the altitude parameter may be
displayed differently (e.g., in dotted line) from content items
411-416 and/or may be filtered out (or excluded) from the geofeed.
The geofeed comprising the filtered content (as illustrated as
cylinder 402 and content items 411-416) may be communicated via
interface 400 to the content consumer.
[0078] FIG. 5 illustrates a screenshot of an interface 500 for
communicating a geofeed including content associated with an
ambient condition attribute that satisfies an ambient condition
parameter, according to an aspect of the invention.
[0079] Referring to FIG. 5, interface 500 may include a geofeed (as
illustrated as a circle 501) having content items 511, 512, 521,
522, and 523 whose latitude and longitude coordinates reside within
a geo-location specified for the geofeed. Individual content items
511, 512, 521, 522, and 523 may be associated with one or more
ambient condition attributes. For example, content item 521 may be
associated with a temperature value of 105.degree. F.
[0080] When a content consumer makes a request to create a geofeed
based on one or more geo-locations, the content consumer may also
specify an ambient condition parameter (e.g., at a certain
temperature, within a certain temperature range, below/above a
certain temperature, etc.). For example, a content consumer may
search for geofeed content that have been created when the
temperature was above 95.degree. F. In this example, interface 500
may display a geofeed having content items 521, 522, and 523 (shown
in solid line) where content items 521, 522, and 523 are associated
with a temperature value that is above 95.degree. F. (therefore
satisfies the ambient condition parameter). On the other hand,
content items 511 and 512 associated with temperature values that
are below 95.degree. F. (therefore does not satisfy the ambient
condition parameter) may be displayed differently (e.g., in dotted
line) from content items 521, 522, and 523 and/or may be filtered
out (or excluded) from the geofeed. The geofeed comprising the
filtered content (as illustrated as circle 501 and content items
521, 522, and 523) may be communicated via interface 500 to the
content consumer.
[0081] FIG. 6 illustrates a screenshot of an interface 600 for
communicating a geofeed including content associated with an
orientation attribute that satisfies an orientation parameter,
according to an aspect of the invention.
[0082] Referring to FIG. 6, interface 600 may include a geofeed (as
illustrated as a circle 601) having content items 621, 622, and 631
which have been created by content creators 611, 612, and 613,
respectively. Individual content items 611, 612, and 613 may be
associated with one or more orientation attributes. For example,
content item 621 may be associated with a reference point 620
because content creator 611 created content item 621 while facing
reference point 620.
[0083] When a content consumer makes a request to create a geofeed
based on one or more geo-locations, the content consumer may also
specify an orientation parameter (e.g., "facing the White House,"
"facing Southeast," "Azimuth of 125 degrees," etc.). For example, a
content consumer may search for geofeed content that have been
created while facing the White House (illustrated as reference
point 620). In this example, interface 600 may display a geofeed
having content items 621 and 622 (shown in solid line) where
content items 621 and 622 were created while content creators 611
and 612 were facing the White House (therefore satisfies the
orientation parameter). On the other hand, content item 631 which
has been created by content creator 613 while facing the Lafayette
Square (illustrated as a reference point 630) (therefore does not
satisfy the orientation parameter) may be displayed differently
(e.g., in dotted line) from content items 621 and 622 and/or may be
filtered out (or excluded) from the geofeed. The geofeed comprising
the filtered content (as illustrated as circle 601 and content
items 621 and 622) may be communicated via interface 600 to the
content consumer.
[0084] FIG. 7 illustrates a graphical representation 700 of
generating a plurality of views of geofeed content based on
location and orientation data, according to an aspect of the
invention.
[0085] Referring to FIG. 7, graphical representation 700 may
include a geofeed (as illustrated as a circle 701) having content
items 721, 722, and 731. Content items 721 and 722 may be
associated with an orientation attribute that is common to each
other (e.g., a reference point 720) whereas content items 731 may
be associated with a different orientation attribute (e.g., a
reference point 730). For example, the creator of content item 731
may have created content item 731 while facing the Lafayette Square
(illustrated as reference point 730) while the creators of content
items 721 and 722 may have created content items 721 and 722 while
facing the White House (illustrated as reference point 720).
[0086] A content consumer 710 visits the President's Park in
Washington D.C. and searches for geofeed content around the area
using a mobile device. Based on the device location (which may be
determined by a GPS unit of the device) and the device orientation
(which may be determined by obtaining compass data and/or
accelerometer data from a compass and/or accelerometer/tilt angle
sensor linked to the device), content consumer 710 may obtain
different views of the geofeed content. For example, if content
consumer 710 holds the device facing the White House (illustrated
as reference point 720), content consumer 710 may get a front-view
711 which displays content items 721 and 722, a rear-view 712 which
displays content item 731, and/or other views.
[0087] Other embodiments, uses and advantages of the invention will
be apparent to those skilled in the art from consideration of the
specification and practice of the invention disclosed herein. The
specification should be considered exemplary only, and the scope of
the invention is accordingly intended to be limited only by the
following claims.
* * * * *