|
@@ -1754,433 +1754,19 @@ The battery life on modern smartphones rarely exceeds 24 hours of typical
|
1754
|
1754
|
\end_layout
|
1755
|
1755
|
|
1756
|
1756
|
\begin_layout Part
|
1757
|
|
-Specification
|
|
1757
|
+Accelerometer classification
|
1758
|
1758
|
\end_layout
|
1759
|
1759
|
|
1760
|
|
-\begin_layout Section
|
1761
|
|
-Experimentation
|
1762
|
|
-\begin_inset CommandInset label
|
1763
|
|
-LatexCommand label
|
1764
|
|
-name "sec:Experimentation"
|
1765
|
|
-
|
1766
|
|
-\end_inset
|
1767
|
|
-
|
1768
|
|
-
|
1769
|
|
-\end_layout
|
1770
|
|
-
|
1771
|
|
-\begin_layout Subsection
|
1772
|
|
-Battery use
|
1773
|
|
-\end_layout
|
1774
|
|
-
|
1775
|
|
-\begin_layout Standard
|
1776
|
|
-The average lifetime of a typical Android mobile telephone will need to
|
1777
|
|
- be ascertained, taking into consideration typical day-to-day use of the
|
1778
|
|
- device and any additional battery drain caused by that.
|
1779
|
|
- The impact of sensor use on the battery lifetime needs to be calculated
|
1780
|
|
- or experimentally determined, and the effect of the algorithms described
|
1781
|
|
- in section
|
1782
|
|
-\begin_inset CommandInset ref
|
1783
|
|
-LatexCommand ref
|
1784
|
|
-reference "sec:Power-management"
|
1785
|
|
-
|
1786
|
|
-\end_inset
|
1787
|
|
-
|
1788
|
|
- needs to be quantified.
|
1789
|
|
-\end_layout
|
1790
|
|
-
|
1791
|
|
-\begin_layout Standard
|
1792
|
|
-Once this is complete, a selection of algorithms and suitable parameters
|
1793
|
|
- should be made for use in the classifier application (section
|
1794
|
|
-\begin_inset CommandInset ref
|
1795
|
|
-LatexCommand ref
|
1796
|
|
-reference "sub:Classifier-application"
|
1797
|
|
-
|
1798
|
|
-\end_inset
|
1799
|
|
-
|
1800
|
|
-).
|
1801
|
|
- The aim of the selection should be to ensure the best activity detection
|
1802
|
|
- whilst not severely reducing the device's battery life.
|
1803
|
|
-\end_layout
|
1804
|
|
-
|
1805
|
|
-\begin_layout Subsection
|
1806
|
|
-Location analysis
|
1807
|
|
-\begin_inset CommandInset label
|
1808
|
|
-LatexCommand label
|
1809
|
|
-name "sub:Location-analysis"
|
1810
|
|
-
|
1811
|
|
-\end_inset
|
1812
|
|
-
|
1813
|
|
-
|
1814
|
|
-\end_layout
|
1815
|
|
-
|
1816
|
|
-\begin_layout Standard
|
1817
|
|
-As discussed in section
|
1818
|
|
-\begin_inset CommandInset ref
|
1819
|
|
-LatexCommand ref
|
1820
|
|
-reference "sec:Location-analysis"
|
1821
|
|
-
|
1822
|
|
-\end_inset
|
1823
|
|
-
|
1824
|
|
-, existing algorithms to detect interesting places rely on GPS signals not
|
1825
|
|
- being obtainable indoors, which is no longer true with current generation
|
1826
|
|
- GPS chipsets.
|
1827
|
|
- It may be possible to adapt these algorithms to work instead using the
|
1828
|
|
- GSM signal strength or number of locked GPS satellites.
|
1829
|
|
- The variance of these when inside and outside a building need to be investigate
|
1830
|
|
-d to determine if this is a feasible approach, or whether an alternate algorithm
|
1831
|
|
- needs to be used.
|
1832
|
|
-\end_layout
|
1833
|
|
-
|
1834
|
|
-\begin_layout Standard
|
1835
|
|
-A suitable algorithm should be implemented which allows the user's activity
|
1836
|
|
- to be annotated with location-based context.
|
1837
|
|
- This would ideally take the form of a source and destination for mobile
|
1838
|
|
- activities, or location for static activities.
|
1839
|
|
- The goal is to be able to differentiate between
|
1840
|
|
-\begin_inset Quotes eld
|
1841
|
|
-\end_inset
|
1842
|
|
-
|
1843
|
|
-walking to work
|
1844
|
|
-\begin_inset Quotes erd
|
1845
|
|
-\end_inset
|
1846
|
|
-
|
1847
|
|
- and
|
1848
|
|
-\begin_inset Quotes eld
|
1849
|
|
-\end_inset
|
1850
|
|
-
|
1851
|
|
-walking to the shop
|
1852
|
|
-\begin_inset Quotes erd
|
1853
|
|
-\end_inset
|
1854
|
|
-
|
1855
|
|
-, although the labeling of places may be left to future work.
|
1856
|
|
- Unlabeled places (i.e., something akin to
|
1857
|
|
-\begin_inset Quotes eld
|
1858
|
|
-\end_inset
|
1859
|
|
-
|
1860
|
|
-walking to place2
|
1861
|
|
-\begin_inset Quotes erd
|
1862
|
|
-\end_inset
|
1863
|
|
-
|
1864
|
|
- and
|
1865
|
|
-\begin_inset Quotes eld
|
1866
|
|
-\end_inset
|
1867
|
|
-
|
1868
|
|
-walking to place7
|
1869
|
|
-\begin_inset Quotes erd
|
1870
|
|
-\end_inset
|
1871
|
|
-
|
1872
|
|
- instead of the previous examples) still allow for applications to tailor
|
1873
|
|
- their behaviour based on the user's previous activities at or when walking
|
1874
|
|
- to that place, so will be sufficient for an initial version.
|
1875
|
|
-\end_layout
|
1876
|
|
-
|
1877
|
|
-\begin_layout Subsection
|
1878
|
|
-Bluetooth usage
|
1879
|
|
-\begin_inset CommandInset label
|
1880
|
|
-LatexCommand label
|
1881
|
|
-name "sub:Bluetooth-usage"
|
1882
|
|
-
|
1883
|
|
-\end_inset
|
1884
|
|
-
|
1885
|
|
-
|
1886
|
|
-\end_layout
|
1887
|
|
-
|
1888
|
|
-\begin_layout Standard
|
1889
|
|
-The algorithm for classifying familiar, unfamiliar, and
|
1890
|
|
-\begin_inset Quotes eld
|
1891
|
|
-\end_inset
|
1892
|
|
-
|
1893
|
|
-familiar stranger
|
1894
|
|
-\begin_inset Quotes erd
|
1895
|
|
-\end_inset
|
1896
|
|
-
|
1897
|
|
- Bluetooth devices (section
|
1898
|
|
-\begin_inset CommandInset ref
|
1899
|
|
-LatexCommand ref
|
1900
|
|
-reference "sec:Bluetooth"
|
1901
|
|
-
|
1902
|
|
-\end_inset
|
1903
|
|
-
|
1904
|
|
-) should be implemented.
|
1905
|
|
- An experiment should then be conducted to determine whether or not the
|
1906
|
|
- data provides useful clues as to the user's context.
|
1907
|
|
- This will depend on the number of other people with Bluetooth discoverable
|
1908
|
|
- devices in the vicinity of the user.
|
1909
|
|
-\end_layout
|
1910
|
|
-
|
1911
|
|
-\begin_layout Standard
|
1912
|
|
-If there are a sufficient number of discoverable devices, then the algorithms
|
1913
|
|
- should be included in the classifier application to provide additional
|
1914
|
|
- context.
|
1915
|
|
-\end_layout
|
1916
|
|
-
|
1917
|
|
-\begin_layout Section
|
1918
|
|
-Deliverables
|
1919
|
|
-\begin_inset CommandInset label
|
1920
|
|
-LatexCommand label
|
1921
|
|
-name "sec:Deliverables"
|
1922
|
|
-
|
1923
|
|
-\end_inset
|
1924
|
|
-
|
1925
|
|
-
|
1926
|
|
-\end_layout
|
1927
|
|
-
|
1928
|
|
-\begin_layout Standard
|
1929
|
|
-The following items should be delivered:
|
1930
|
|
-\end_layout
|
1931
|
|
-
|
1932
|
|
-\begin_layout Subsection
|
1933
|
|
-Context-aware Framework
|
1934
|
|
-\begin_inset CommandInset label
|
1935
|
|
-LatexCommand label
|
1936
|
|
-name "sub:Classifier-application"
|
1937
|
|
-
|
1938
|
|
-\end_inset
|
1939
|
|
-
|
1940
|
|
-
|
1941
|
|
-\end_layout
|
1942
|
|
-
|
1943
|
|
-\begin_layout Standard
|
1944
|
|
-An Android application which:
|
1945
|
|
-\end_layout
|
1946
|
|
-
|
1947
|
|
-\begin_layout Itemize
|
1948
|
|
-monitors raw sensor data and extracts features from the device's:
|
1949
|
|
-\end_layout
|
1950
|
|
-
|
1951
|
|
-\begin_deeper
|
1952
|
|
-\begin_layout Itemize
|
1953
|
|
-accelerometer sensors
|
1954
|
|
-\end_layout
|
1955
|
|
-
|
1956
|
|
-\begin_layout Itemize
|
1957
|
|
-magnetic field sensors
|
1958
|
|
-\end_layout
|
1959
|
|
-
|
1960
|
|
-\begin_layout Itemize
|
1961
|
|
-camera
|
1962
|
|
-\end_layout
|
1963
|
|
-
|
1964
|
|
-\begin_layout Itemize
|
1965
|
|
-microphone
|
1966
|
|
-\end_layout
|
1967
|
|
-
|
1968
|
|
-\end_deeper
|
1969
|
|
-\begin_layout Itemize
|
1970
|
|
-monitors relevant data and extracts features concerning:
|
1971
|
|
-\end_layout
|
1972
|
|
-
|
1973
|
|
-\begin_deeper
|
1974
|
|
-\begin_layout Itemize
|
1975
|
|
-visible Bluetooth devices in proximity to the device
|
1976
|
|
-\end_layout
|
1977
|
|
-
|
1978
|
|
-\begin_layout Itemize
|
1979
|
|
-the current location of the device
|
1980
|
|
-\end_layout
|
1981
|
|
-
|
1982
|
|
-\begin_layout Itemize
|
1983
|
|
-the current GSM signal strength and cell ID
|
1984
|
|
-\end_layout
|
1985
|
|
-
|
1986
|
|
-\end_deeper
|
1987
|
|
-\begin_layout Itemize
|
1988
|
|
-presents the user with a method of optionally annotating this data with
|
1989
|
|
- their current activity
|
1990
|
|
-\end_layout
|
1991
|
|
-
|
1992
|
|
-\begin_layout Itemize
|
1993
|
|
-classifies the user's current activity using the extracted features and
|
1994
|
|
- a K-Nearest Neighbour algorithm
|
1995
|
|
-\end_layout
|
1996
|
|
-
|
1997
|
|
-\begin_layout Itemize
|
1998
|
|
-enhances the classification with extra contextual data inferred from location
|
1999
|
|
- or Bluetooth service:
|
2000
|
|
-\end_layout
|
2001
|
|
-
|
2002
|
|
-\begin_deeper
|
2003
|
|
-\begin_layout Itemize
|
2004
|
|
-the user's probable source and destination, if traveling
|
2005
|
|
-\end_layout
|
2006
|
|
-
|
2007
|
|
-\begin_layout Itemize
|
2008
|
|
-the user's current location, if stationary
|
2009
|
|
-\end_layout
|
2010
|
|
-
|
2011
|
|
-\begin_layout Itemize
|
2012
|
|
-the user's company, if detected
|
2013
|
|
-\end_layout
|
2014
|
|
-
|
2015
|
|
-\end_deeper
|
2016
|
|
-\begin_layout Itemize
|
2017
|
|
-attempts to conserve battery life by intelligent management and timing of
|
2018
|
|
- sensor activity
|
2019
|
|
-\end_layout
|
2020
|
|
-
|
2021
|
|
-\begin_layout Subsubsection
|
2022
|
|
-Interface
|
2023
|
|
-\end_layout
|
2024
|
|
-
|
2025
|
|
-\begin_layout Standard
|
2026
|
|
-The application should provide two different interfaces to retrieve the
|
2027
|
|
- user's context.
|
2028
|
|
- The first should be an implementation of the Android ContentProvider interface.
|
2029
|
|
- This allows third party applications to query and retrieve data (in this
|
2030
|
|
- case, the user's probable activities and context) as and when they need
|
2031
|
|
- it.
|
2032
|
|
-\end_layout
|
2033
|
|
-
|
2034
|
|
-\begin_layout Standard
|
2035
|
|
-The ContentProvider interface exposes data as a table.
|
2036
|
|
- The classifier application should therefore supply a unique ID for each
|
2037
|
|
- possible activity, the name of the activity (if labeled), the time the
|
2038
|
|
- activity was started, and the estimated uncertainty in the classification.
|
2039
|
|
- It should also expose relevant details of any context information, such
|
2040
|
|
- as related places (s
|
2041
|
|
-\begin_inset CommandInset ref
|
2042
|
|
-LatexCommand ref
|
2043
|
|
-reference "sub:Location-analysis"
|
2044
|
|
-
|
2045
|
|
-\end_inset
|
2046
|
|
-
|
2047
|
|
-) or other participants (s
|
2048
|
|
-\begin_inset CommandInset ref
|
2049
|
|
-LatexCommand ref
|
2050
|
|
-reference "sub:Bluetooth-usage"
|
2051
|
|
-
|
2052
|
|
-\end_inset
|
2053
|
|
-
|
2054
|
|
-).
|
2055
|
|
-\end_layout
|
2056
|
|
-
|
2057
|
|
-\begin_layout Standard
|
2058
|
|
-The second interface should use Android broadcast Intents to notify any
|
2059
|
|
- interested application whenever the user's activity changes.
|
2060
|
|
- This will allow applications to be notified whenever the activity or context
|
2061
|
|
- of the user changes.
|
2062
|
|
- The Intent should contain a URI which corresponds to an entry in the table
|
2063
|
|
- returned by the ContentProvider, so applications can retrieve information
|
2064
|
|
- about the user's activity directly.
|
2065
|
|
-\end_layout
|
2066
|
|
-
|
2067
|
|
-\begin_layout Standard
|
2068
|
|
-Whenever activities, places or participants are exposed in the interface,
|
2069
|
|
- they should be assigned an ID which remains consistent for the specified
|
2070
|
|
- activity, place or participant.
|
2071
|
|
- Applications can use this ID regardless of any annotations the user supplies.
|
2072
|
|
- For example, the first time an interesting place is detected it may be
|
2073
|
|
- assigned ID 42 and label
|
2074
|
|
-\begin_inset Quotes eld
|
2075
|
|
-\end_inset
|
2076
|
|
-
|
2077
|
|
-place42
|
2078
|
|
-\begin_inset Quotes erd
|
2079
|
|
-\end_inset
|
2080
|
|
-
|
2081
|
|
-, the user may then annotate this place as
|
2082
|
|
-\begin_inset Quotes eld
|
2083
|
|
-\end_inset
|
2084
|
|
-
|
2085
|
|
-home
|
2086
|
|
-\begin_inset Quotes erd
|
2087
|
|
-\end_inset
|
2088
|
|
-
|
2089
|
|
-, and some time later replace it with
|
2090
|
|
-\begin_inset Quotes eld
|
2091
|
|
-\end_inset
|
2092
|
|
-
|
2093
|
|
-old house
|
2094
|
|
-\begin_inset Quotes erd
|
2095
|
|
-\end_inset
|
2096
|
|
-
|
2097
|
|
-; the ID will be consistent across all of these labels, so any application
|
2098
|
|
- using this information will continue to function.
|
2099
|
|
-\end_layout
|
2100
|
|
-
|
2101
|
|
-\begin_layout Subsection
|
2102
|
|
-Activity condition for Locale
|
2103
|
|
-\end_layout
|
2104
|
|
-
|
2105
|
|
-\begin_layout Standard
|
2106
|
|
-As a proof-of-concept, an application should be developed which provides
|
2107
|
|
- Locale
|
2108
|
|
-\begin_inset CommandInset citation
|
2109
|
|
-LatexCommand cite
|
2110
|
|
-key "TwoFortyFourAm2010"
|
2111
|
|
-
|
2112
|
|
-\end_inset
|
2113
|
|
-
|
2114
|
|
-, a popular Android application used to alter device settings and perform
|
2115
|
|
- actions based on certain conditions, with a new condition representing
|
2116
|
|
- the user's activity.
|
2117
|
|
-\end_layout
|
2118
|
|
-
|
2119
|
|
-\begin_layout Standard
|
2120
|
|
-This will allow users to change their device settings based on their current
|
2121
|
|
- activity by creating rules within Locale.
|
2122
|
|
- Locale also allows users to post updates to popular social networking sites
|
2123
|
|
- such as Twitter and Facebook, so it will be possible for users to broadcast
|
2124
|
|
- their activities to their friends.
|
2125
|
|
-\end_layout
|
2126
|
|
-
|
2127
|
|
-\begin_layout Subsection
|
2128
|
|
-Context-aware home screen
|
2129
|
|
-\end_layout
|
2130
|
|
-
|
2131
|
|
-\begin_layout Standard
|
2132
|
|
-To demonstrate the utility of applications being context-aware, an application
|
2133
|
|
- will be developed that replaces the standard Android home screen.
|
2134
|
|
- It should dynamically adapt its layout and contents according to the user's
|
2135
|
|
- activity and other context information made available by the classifier
|
2136
|
|
- application.
|
2137
|
|
-\end_layout
|
2138
|
|
-
|
2139
|
|
-\begin_layout Standard
|
2140
|
|
-The replacement home screen needs to allow users to browse and launch applicatio
|
2141
|
|
-ns, and should expose relevant (context-sensitive) notifications to the
|
2142
|
|
- user, including notifications of e-mails, missed calls, text messages and
|
2143
|
|
- upcoming appointments.
|
2144
|
|
-\end_layout
|
2145
|
|
-
|
2146
|
|
-\begin_layout Subsection
|
2147
|
|
-User and developer guides
|
2148
|
|
-\end_layout
|
2149
|
|
-
|
2150
|
|
-\begin_layout Itemize
|
2151
|
|
-A user guide for the classifier
|
2152
|
|
-\noun on
|
2153
|
|
-
|
2154
|
|
-\noun default
|
2155
|
|
-application
|
2156
|
|
-\end_layout
|
2157
|
|
-
|
2158
|
|
-\begin_layout Itemize
|
2159
|
|
-A user guide for the Locale condition provider
|
2160
|
|
-\end_layout
|
2161
|
|
-
|
2162
|
|
-\begin_layout Itemize
|
2163
|
|
-A user guide for the Context-aware home screen
|
2164
|
|
-\end_layout
|
2165
|
|
-
|
2166
|
|
-\begin_layout Itemize
|
2167
|
|
-A developer's guide for using the information exposed by the
|
2168
|
|
-\noun on
|
2169
|
|
-classifier
|
2170
|
|
-\noun default
|
2171
|
|
- application
|
|
1760
|
+\begin_layout Part
|
|
1761
|
+Microphone, camera and Bluetooth
|
2172
|
1762
|
\end_layout
|
2173
|
1763
|
|
2174
|
|
-\begin_layout Subsection
|
2175
|
|
-Website
|
|
1764
|
+\begin_layout Part
|
|
1765
|
+Places
|
2176
|
1766
|
\end_layout
|
2177
|
1767
|
|
2178
|
|
-\begin_layout Standard
|
2179
|
|
-A website should be created containing an overview of the applications,
|
2180
|
|
- instructions for both users and developers, and links to download the applicati
|
2181
|
|
-ons.
|
2182
|
|
- The website should explain the basic ideas behind activity and context
|
2183
|
|
- aware applications, and the specific techniques used in this project.
|
|
1768
|
+\begin_layout Part
|
|
1769
|
+The Context Analyser
|
2184
|
1770
|
\end_layout
|
2185
|
1771
|
|
2186
|
1772
|
\begin_layout Standard
|
|
@@ -2339,6 +1925,17 @@ Finally, the applications should be evaluated based on their resource usage.
|
2339
|
1925
|
users to change their normal charging behaviour, and memory usage should
|
2340
|
1926
|
not be so high as to cause other applications to become sluggish or be
|
2341
|
1927
|
closed by the operating system.
|
|
1928
|
+\end_layout
|
|
1929
|
+
|
|
1930
|
+\begin_layout Standard
|
|
1931
|
+\begin_inset Newpage pagebreak
|
|
1932
|
+\end_inset
|
|
1933
|
+
|
|
1934
|
+
|
|
1935
|
+\end_layout
|
|
1936
|
+
|
|
1937
|
+\begin_layout Part
|
|
1938
|
+Conclusion
|
2342
|
1939
|
\begin_inset Newpage pagebreak
|
2343
|
1940
|
\end_inset
|
2344
|
1941
|
|