-
Notifications
You must be signed in to change notification settings - Fork 1
The Device Telemetry Stack is a software library that exposes telemetry about a visitor client-side and optionally server-side. DTS was initially motivated by the Mobile Web Framework (MWF), which required real-time information about a device server-side. Because the MWF runs on one host while apps that use it run on others, it required the supp…
License
ebollens/dts
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
///// ////// /////
// // // //
// // // ///
// // // //
///// // //////
THE DEVICE TELEMETRY STACK
==============================================================================
Copyright:
Copyright (c) 2011-12 UC Regents
License:
BSD License
==============================================================================
TABLE OF CONTENTS
1. OVERVIEW
3. INITIATIVE
3. COLLABORATION
4. LICENSE
5. CREDITS
==============================================================================
1. OVERVIEW
The Device Telemetry Stack (DTS) is a software application that exposes
telemetry about a visitor client-side and optionally server-side.
(1) At the most basic level, it provides a set of Javascript libraries that
expose browser capabilities, device size and user agent information.
(2) Beyond client-side functionality, however, it provides Javascript libraries
that pass this information via a cookie for server-side processing. This
sort of processing is complicated by the fact that a cookie is not available
server-side on first load, so DTS includes logic to solve this problem.
Consequently, server-side logic may assume the presence of DTS cookies.
(3) A step beyond basic server-side exposure, DTS supports exposing this
telemetry to some third-party server besides the hostname of the requested
page. This is done by configuring federation.php to provide an external
location for the passthru.php file, the hostname of which will be provided
with the data derived by DTS.
DTS was initially motivated by the Mobile Web Framework (MWF), which required
real-time information about a device server-side. Because the MWF is built to
run on one server, while apps that use it may run on other servers, it thus
required the support for exposure of DTS information to a third-party host.
However, recognizing that not all users desire all grades of functionality, DTS
is built under a stack architecture whereby some components may be included
while excluding others.
Further, as not all web environments operate under PHP, DTS is built to allow
for js.php and passthru.php to be pre-rendered command-line and then provided
as static Javascript files. Unfortunately, federation.php requires real-time
server-side information, but given its simple nature, this could be trivially
ported into other languages.
As DTS is currently UNDER DEVELOPMENT, it should likely not be used in a
production environment at this time. However, as an open-source project,
contributions are greatly encouraged, as some telemetry portions of DTS still
require significant work.
==============================================================================
2. INITIATIVE
The Device Telemetry Stack is part of the MWF initiative.
The MWF initiative began in early 2010 when the UCLA Office of Information
Technology and UCLA Communications began development of a framework to reach
all campus mobile users via a single platform in a reasonable and cost-
effective manner without imposing any restrictions on server-side environments
or requiring the central aggregation of data.
The MWF went into production at the beginning of Fall 2010 with the launch of
UCLA Mobile. Two release versions later, the MWF is now used in production by
more than ten units at UCLA, as well as six higher-ed institutions, while
several others are also actively involved with and contributing to the
initiative.
At first, the MWF used user agent sniffing to determine device capabilities.
However, user agent sniffing did not accurately reflect all device capabilities,
simultaneously introducing maintenance challenges in maintaining the metadata
related to these user agents.
As such, MWF 1.2 introduced a client-side method for determining device
capabilities and providing them back to the server on first page load. This new
strategy greatly improved the reliability of the Mobile Web Framework in
addressing device-by-device differences both client-side and server-side.
Borne of a desire to provide this capability beyond even the Mobile Web
Framework, the Device Telemetry Stack is a standalone, open-source application
that provides this same range of functionality.
More information about the MWF initiative is available at http://mwf.ucla.edu
==============================================================================
3. COLLABORATION
For information directly related to the Device Telemetry Stack:
Code Repository https://github.com/ebollens/dts
Documentation ...coming soon...
Issue Tracker https://github.com/ebollens/dts/issues
To get involved with the broader MWF initiative:
Home http://mwf.ucla.edu
Code Repository https://github.com/ucla/mwf
Documentation https://github.com/ucla/mwf/wiki
Documentation https://github.com/ucla/mwf/issues
Questions may also be directed to mwf@ucla.edu.
==============================================================================
4. LICENSE
The UCLA Mobile Web Framework is open-source software licensed under the
BSD license. The full text of the license may be found in the LICENSE file.
==============================================================================
5. CREDITS
5.1. PROJECT
Initiative Lead Rose Rocchio
rrocchio@oit.ucla.edu
Project Lead Eric Bollens
ebollens@oit.ucla.edu
5.2. AUTHOR
The Device Telemetry Stack is principally written & maintained by Eric Bollens
from the UCLA Office of Information Technology.
5.3. CONTRIBUTORS
Contributions have also been made by Ed Sakabu (UCLA), Nate Emerson (UCLA),
Ike Lin (UCSD) and Richard Trott (UCSF).
Beyond direct contributions, the input and suggestions of numerous others in
the MWF initiative and elsewhere have made the Device Telemetry Stack possible.
5.4. THIRD-PARTY APPLICATIONS
The Device Telemetry Stack leverages third-party applications to make available
some of its functionality:
Modernizr - http://www.modernizr.com - MIT & BSD Licenses
jsmin.php - https://github.com/rgrove/jsmin-php - MIT License
About
The Device Telemetry Stack is a software library that exposes telemetry about a visitor client-side and optionally server-side. DTS was initially motivated by the Mobile Web Framework (MWF), which required real-time information about a device server-side. Because the MWF runs on one host while apps that use it run on others, it required the supp…
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published