Presented at Transportation Research Board 2014 - Over the last decade mobile devices have changed how we access transportation information. However, many past data formats used in information services have been designed without the processing and energy constraints of mobile devices in mind. Newer standards, such as the Service Interface for Real-time Information (SIRI) v2.0, are including mobile-friendly features that reduce the processing overhead on mobile devices. Coupled with the advances in mobile device processing capabilities, many believe that performance is no longer an issue of concern in modern mobile phones. This paper presents an evaluation of the SIRI data format on a mobile device, which indicates that not only is performance still an issue, but that app developers should carefully consider certain software design choices to avoid exposing mobile users to extensive wait times (e.g., wait for real-time transit arrival information). The results also demonstrate that information service providers should always offer mobile-friendly interfaces (i.e., RESTful web services with JSON encoding) when possible. The benchmarking software is made available as an open-source application so that others can perform their own experiments, and so that app developers can use this library as a foundation for building new applications based on the SIRI format.
Read the full paper here - http://bit.ly/Perf_Eval_Data_Mobile_Devices
A Journey Into the Emotions of Software Developers
TRB 2014 - Performance Evaluation of Transit Data Formats on a Mobile Device
1. PERFORMANCE EVALUATION OF TRANSIT DATA FORMATS ON A MOBILE DEVICE
Sean J. Barbeau
Tatu Saloranta
University of South Florida
FasterXML, LLC
Challenges
Mobile device performance is still an issue in terms
of processing power, wireless communications, and
energy constraints. New data standards should
recognize the importance, and limitations, of mobile
devices.
Slow performance has significant
implications on app usability, including user wait
times for refreshing real-time info.
{Siri: {
ServiceDelivery: {
ResponseTimestamp: "2012-08-21T12:06:21.485-04:00",
VehicleMonitoringDelivery: [
{
VehicleActivity: [
{
MonitoredVehicleJourney: {
LineRef: "MTA NYCT_S40",
DirectionRef: "0",
FramedVehicleJourneyRef: {
DataFrameRef: "2012-08-21",
DatedVehicleJourneyRef: "MTA
NYCT_20120701CC_072000_S40_0031_S4090_302"
},
JourneyPatternRef: "MTA NYCT_S400031",
PublishedLineName: "S40",
OperatorRef: "MTA NYCT",
OriginRef: "MTA NYCT_200001"
}}
]}
]
}
}
XML - Cold vs. Pseudo-Warm Starts - Summary
JSON - Cold vs. Pseudo-Warm Starts - Summary
(n = 30)
(n = 30)
6000
25000
5000
20000
Elapsed Time (ms)
<Siri xmlns:ns2="http://www.ifopt.org.uk/acsb"
xmlns:ns4=http://datex2.eu/schema/1_0/1_0
xmlns:ns3="http://www.ifopt.org.uk/ifopt" xmlns="http://www.siri.org.uk/siri">
<ServiceDelivery>
<ResponseTimestamp>2012-09-12T09:28:17.21304:00</ResponseTimestamp>
<VehicleMonitoringDelivery>
<VehicleActivity>
<MonitoredVehicleJourney>
<LineRef>MTA NYCT_S40</LineRef>
<DirectionRef>0</DirectionRef>
<FramedVehicleJourneyRef>
<DataFrameRef>2012-09-12</DataFrameRef>
<DatedVehicleJourneyRef>MTA
NYCT_20120902EE_054000_S40_0031_MISC_437</DatedVehicleJourneyRef>
</FramedVehicleJourneyRef>
<JourneyPatternRef>MTA NYCT_S400031</JourneyPatternRef>
<PublishedLineName>S40</PublishedLineName>
<OperatorRef>MTA NYCT</OperatorRef>
<OriginRef>MTA NYCT_200001</OriginRef>
</MonitoredVehicleJourney>
</VehicleActivity>
</VehicleMonitoringDelivery>
<ServiceDelivery>
</Siri>
Elapsed Time (ms)
Mobile devices and apps have created new
opportunities to access real-time transportation
information that can save travelers time and money.
15000
4000
3000
10000
2000
5000
1000
0
0
Min.
Max.
Avg.
Cold Starts
XML (822 char)
50th percentile 68th percentile 95th percentile
Min.
Std dev.
Max.
Avg.
50th percentile 68th percentile 95th percentile
Cold Starts
Pseudo-Warm Starts
Std dev.
Pseudo-Warm Starts
Pseudo-warm starts produce a 44% performance increase when using
XML (due to a large initial overhead), and a 3.96% improvement for JSON
JSON (421 char)
Typical test response was approx. 5KB
Typical test response was approx. 4KB
Results
JSON - Cold vs. Pseudo-Warm Starts without cache read time
(n = 30)
6000
XML vs. JSON Parsing Time - All Requests
XML vs. JSON Parsing Time - Summary
18000
16000
16000
14000
14000
Elapsed Time (ms)
20000
18000
Elapsed Time (ms)
20000
12000
10000
8000
6000
5000
4000
12000
10000
JSON
8000
XML
Elapsed Time (ms)
Evaluation
European Committee for Standardization (CEN) is
evaluating v2.0 of the Service Interface for Real
Time Information (SIRI) (CEN/TS 15531) standard,
including new “mobile-friendly” features, including a
Representational State Transfer (REST) interface and
Javascript Object Notation (JSON) encoding for realtime transit arrival info.
Pseudo-Warm Start Results
Sample Responses
Opportunities
3000
6000
2000
4000
4000
2000
2000
0
1
3
5
7
9
11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49
JSON
1000
0
Min.
Max.
Avg.
XML
50th
percentile
68th
percentile
95th
percentile
Std dev.
0
XML cold start response is almost 18 seconds, over 4 times as long as the
JSON cold start response (approx. 4 seconds)
Optimizations
Improving cold starts is important, since mobile apps are
often restarted. Possible optimizations were examined.
Min.
Max.
Avg.
50th percentile
Cold Starts
68th percentile
95th percentile
Std dev.
Pseudo-Warm Starts
Pseudo-warm starts significantly improve user wait times by hiding
initialization time (cache read time) while the user performs other activities
Conclusions
• Mobile app performance is important for user
experience (e.g., waiting for new real-time info)
• Use JSON instead of XML. Cold starts with JSON were
avg. of 4 times (14s) faster than XML, with JSON
warm starts avg. of 224ms faster
SIRIRestClient Android app used to benchmark performance
An open-source mobile app was created to
benchmark real-time information transfer and
processing times between a SIRI interface (MTA Bus
Time in NYC) and a mobile device (Samsung Galaxy
S3 with Android 4.1.1, 1.5 GHz dual core processor,
2GB RAM and Jackson JSON/XML processor v2.1.2).
• Hiding initialization latency from user (via pseudowarm starts) can significantly reduce user wait time
Acknowledgements
Pseudo-warm starts can improve performance via caching Jackson objects
locationaware.usf.edu
github.com/CUTR-at-USF/SiriRestClientUI
This research was funded by the National Center for Transit Research at the
University of South Florida.
barbeau@cutr.usf.edu
tatu@fasterxml.com
Scan for full paper
Editor's Notes
Poster advice from TRB (and others)The goals in designing a poster should be:i) To attract attention,ii) To provide a clear overview of your work,iii) To provide enough material to explain the research without an oral explanation, andiv) To provide enough material to initiate discussion and questions.Suggestions from Poster Authors, Viewers, and Other Conferences (1)Simplicity and clarity are the keys to an effective poster. Simplicity - Avoid overwhelming viewers with too much information, the casual viewer should be able to identify the main messages after a quick look at the poster. Remember the full paper is on the meeting DVD-ROM and handouts may be provided. Clarity - Identify a limited number of messages viewers should take away – 3 is about the maximum number possible. The messages should be clear, novel, and important.General Design Suggestions Viewers find it easier to follow a poster printed on one large sheet with the material arranged in columns. Arrange material in a logical sequence that is clear to readers (typically starting at top left and ending at bottom right.) Strong visual contrast is critical – many people have trouble distinguishing between closely related colors. For example approximately 7 percent of the male population—either cannot distinguish red from green, or see red and green differently. Text and illustrations should be easily readable from 3 feet away. Color is a good tool to highlight important points, however too many colors make poster look “busy” and make it difficult for viewers to find the critical points. Use pictures, graphs, and tables instead of text where possible – try for 50% graphics. Text- Text should be dark on white or light paper- Long paragraphs will not be read – use short statements or bullet points.-Avoid abbreviations, acronyms, and jargon-Try to state your main results in 6 lines or less-Use sans serif fonts (ex. Arial or Helvetica) not serif fonts (ex. Times Roman)Illustrations-Charts, drawings, and illustrations should be similar to those used in PowerPoint presentations but simpler and more heavily drawn-Illustrations should include titles or labels, labeled axes and identified units****Poster Content– the specific elements will depend on the research Title, poster and paper number, author names, institutional affiliation - Letters 1 - 2” high – across the top of the poster Introduction / Objectives Statistical or Analytical Methods Summary / Results Conclusions Future Directions Acknowledgements