SlideShare a Scribd company logo
1 of 33
Angelo Coccettini – September 2013
The Ostia Antica Park is one of the largest and most important archaeological
sites of ancient Rome. With its fifty hectares, its buildings and its streets, it
testifies the development of a large urban and commercial center during the
imperial age. Ostia was the most important port of the antiquity, the gate of
Rome on the Mediterranean sea.
This document describes the development of an archeological guide for Android
devices.
At the time of the writing these Apps are the only digital guides of Ostia Antica
for Android devices.
An Archaeological Guide for Android devices
Angelo Coccettini – September 2013
An Archaeological Guide for Android devices
The main menu of the app for Android smartphone and tablets
Angelo Coccettini – September 2013
Specifications
• 3 Languages: english, french and italian selectable within the App
• 4 layouts with different color scheme selectable withing the App
• Listview architecture for small smartphone
• Master detail architecture for large smartphone and tablets
• Unified application for Android marketplace
• Content in HTML
• Picture Gallery
• Suggestion of three different itineraries
• Monuments geolocalization
• Custom Artwork
• Zoom full screen for images
• Rotation support
Angelo Coccettini – September 2013
Application Architecture
The app uses a unified interface that adapts to screen resolution. This has been
implemented using Android Configuration Qualifiers
Angelo Coccettini – September 2013
Application Architecture for Tablets
For large Smartphones or Tablet the application uses the Landscape mode in
Master/Detail configuration. On the left side of the screen a Listview displays the
items, while the detail of the selected item is displayed on the Right side of the
screen.
Angelo Coccettini – September 2013
Layouts
The application offers 4 different layouts for a optimal contrast in darkness or
strong lightning. The layouts can be switched directly from the interface.
Black Elegance Modern Touch Pompei Style Roman Era
Angelo Coccettini – September 2013
Layout Implementation
Layout have been implemented using the Android Theme functionality. The
Theme allows developers to customize any elements of the interface and even to
change the Theme runtime. The theme definition is stored in the file theme.xml
located in the values folder.
Each theme define, for a given
property name (e.g. textColor) a
different value stored in the
styles.xml file. So, if the
Theme.Black_Elegance is
selected, the textColor point to
the value defined in
textColor_be stored in the file
styles.xml
Angelo Coccettini – September 2013
Layout Implementation
Angelo Coccettini – September 2013
Custom HTML Tags
The app uses standard HTML to display content. Nevertheless, we want to
intercept the click event to allow zooming images in a different Activity. This can
be done by enabling the JavaScript execution for the webview.
The jsInterface is an instance of JavaScriptInterface, a custom class that can be
used to define the methods that can be called via javascript.
Angelo Coccettini – September 2013
Custom HTML Tags
In this class we find the method showImage that take a String argument as
parameter.
Angelo Coccettini – September 2013
Custom HTML Tags
In the HTML we can now define a Javascript function as follow. When the
webview encountrer a javascript call to JSIntefacte, Android will dispatch the
request to the Java method showImage of the class JavaScriptInterface.
<script type="text/javascript">
function showImage(image) {
JSInterface.showImage(image);
}
</script>
Angelo Coccettini – September 2013
Custom Image Tag
This snipplet displays a img tag using a call to the Javascript linked to the class
JavaScriptInterface. This tag display an image in the HTML code. When the user
click on the image, the event is intercepted by the Javascript function
showImage that in turn calls JSInterface.showImage(image), passing the control
to the java method showImage(String image) in the class JavaScriptInterface.
<img align='right' onClick="showImage(‘overview_from_necropolis_h.jpg')"
class='imgright' src=‘overview_from_necropolis_l.jpg'/>
Angelo Coccettini – September 2013
Languages
The application offers the possibility to switch instantly between English, French
and Italian. The language switching impacts the contents as well every element
of the application interface.
Angelo Coccettini – September 2013
Itineraries
The TabBar at the botton of the Site Listview can be used to switch between
three suggested itineraries. The first item of the list describes the itinerary, while
the second item will show a map with the monuments that you select. It is
possible to zoom the map for a better viewing.
Angelo Coccettini – September 2013
Navigation
Disclosure indicator.
When this element is
present, users know they
can tap anywhere in the
row to see the next level
in the hierarchy or the
choices associated with
the list item.
Detail disclosure button.
Users tap this element to
see detailed information
about the list item.
Angelo Coccettini – September 2013
Menu Ostia Antica
It describes the Archaeological Park of Ostia Antica, the ancient harbour of Rome
Angelo Coccettini – September 2013
Menu Information
It gives access a submenu with useful information about the Archaeological Park
Angelo Coccettini – September 2013
Menu History
It describes the history of Ostia, from the origins till IX century A.D.
Angelo Coccettini – September 2013
Menu ‘The Site’
It gives access to the description and images of the monuments of the site. It can
be used also to select the monument based on the 3 itineraries. Each monument
has 3 submenus to display text, images and geographic location.
Angelo Coccettini – September 2013
Menu ‘The Site’
The view Pictures lists all the Computer Graphics Reconstruction of the
monument.
Angelo Coccettini – September 2013
Menu ‘The Site’
Google Map is used to display the geographic location of the monument of
interest.
Angelo Coccettini – September 2013
Menu Gallery
This view offers a categorized list of all Computer Graphic Reconstructions of the
town of Ostia
Angelo Coccettini – September 2013
Menu Options
It is used to select the layout type and the language of the application.
Angelo Coccettini – September 2013
Menu Acknowledgements
Display info on the team that has worked for this version of the application
Angelo Coccettini – September 2013
Options
The language selection is indipendent from the device settings. It is possible to
switch between English, French and Italian at runtime. The content and the
interface switch instantly.
Angelo Coccettini – September 2013
Expansion Files
The size of an application for Google Play is 50 MB. After that limits an
application must use Extension Packages to store artwork and resources. Ostia
Antica uses one Expansion Package to store the high resolution version of all
images. HTML and low resolution images are stored in the asset folder.
Angelo Coccettini – September 2013
Virtual Devices
The virtual devices installed with the SDK are too slow. Even when they use the
hardware accelerator , they are quite slow and difficult to manage. In addition,
on these virtual devices, it is not possible to use the Google services hence the
Mapview is not working. In orde to debug Google Maps on virtual devices it is
possible to use Genymotion suite that implements fully functional virtual devices
based on Oracle VM Virtualbox.
http://www.genymotion.com/
Angelo Coccettini – September 2013
Artwork
I have produces all the Artwork of the application. Here some example of
artwork for both applications.
Map tags
Map Pins
Angelo Coccettini – September 2013
Artwork
Interface
Angelo Coccettini – September 2013
Computer Reconstructions
I have reconstructed the whole town with Computer Graphics software:
• LightWave from Newtek
• CityEngine from ESRI
• Poser from SmithMicro
Angelo Coccettini – September 2013
Workflow
HUB
Export Wavefront
OBJ, MTL
PoserFusion
Layout Modeler
Angelo Coccettini – September 2013
Reconstructions
I have modeled the whole town with a uniform level of details. This mean that it
is possible to move the digital camera in any place and to produce high detailed
images. The polygon count of the whole scene (building, actors, props and
stage) is around 15.000.000 of polygons.
Angelo Coccettini – September 2013
Google Play
The Apps are published and available on Google Play
https://play.google.com/store/apps/details?id=com.betasoft.ostia.main&hl=en
angelo.coccettini@gmail.com

More Related Content

Similar to Archeological guide for Android devices

Portfolio - Lee, Kyungchan / Interaction Architect
Portfolio - Lee, Kyungchan / Interaction ArchitectPortfolio - Lee, Kyungchan / Interaction Architect
Portfolio - Lee, Kyungchan / Interaction ArchitectKyungchan Lee
 
Augmented Reality Application Tutorial for Education 1
Augmented  Reality Application Tutorial for Education 1Augmented  Reality Application Tutorial for Education 1
Augmented Reality Application Tutorial for Education 1Isidro Navarro
 
Augmented reality
Augmented realityAugmented reality
Augmented realitydzubovua
 
Nippon lugano multitouch
Nippon lugano multitouchNippon lugano multitouch
Nippon lugano multitouchSilvia Zicca
 
Material design for android
Material design for androidMaterial design for android
Material design for androidVmoksha Admin
 
Introduction to Material Design
Introduction to Material DesignIntroduction to Material Design
Introduction to Material DesignMohammad Arman
 
Ball Collecting game report
Ball Collecting game report Ball Collecting game report
Ball Collecting game report Dileep Maurya
 
2012-09-13_Multiconsult and WSP European Task Force_BIM in infrastructure
2012-09-13_Multiconsult and WSP European Task Force_BIM in infrastructure2012-09-13_Multiconsult and WSP European Task Force_BIM in infrastructure
2012-09-13_Multiconsult and WSP European Task Force_BIM in infrastructureÅge Langedrag
 
3D-ICONS- D3 1: Interim Report on Data Acquisition
3D-ICONS- D3 1: Interim Report  on Data Acquisition3D-ICONS- D3 1: Interim Report  on Data Acquisition
3D-ICONS- D3 1: Interim Report on Data Acquisition3D ICONS Project
 
Walking the Edit Presentation 2013
Walking the Edit Presentation 2013Walking the Edit Presentation 2013
Walking the Edit Presentation 2013Ulrich Fischer
 
Baparekraf Digital Talent Day: Monitoring dan Coaching Penerima Fasilitasi BD...
Baparekraf Digital Talent Day: Monitoring dan Coaching Penerima Fasilitasi BD...Baparekraf Digital Talent Day: Monitoring dan Coaching Penerima Fasilitasi BD...
Baparekraf Digital Talent Day: Monitoring dan Coaching Penerima Fasilitasi BD...DicodingEvent
 
User Interface Design COMP 1650
User Interface Design COMP 1650User Interface Design COMP 1650
User Interface Design COMP 1650Shane Min Zaw
 
Tech Trans as Learning
Tech Trans as LearningTech Trans as Learning
Tech Trans as LearningVidensemergens
 
DECORATOR PATTERN IN WEB APPLICATION
DECORATOR PATTERN IN WEB APPLICATIONDECORATOR PATTERN IN WEB APPLICATION
DECORATOR PATTERN IN WEB APPLICATIONijait
 
Multiscreen UX Design - Developing for a multitude of devices
Multiscreen UX Design - Developing for a multitude of devices Multiscreen UX Design - Developing for a multitude of devices
Multiscreen UX Design - Developing for a multitude of devices Wolfram Nagel
 
A graphic library and an application for simple curve manipolation
A graphic library and an application for simple curve manipolationA graphic library and an application for simple curve manipolation
A graphic library and an application for simple curve manipolationgraphitech
 
Wearable Technology for Museums
Wearable Technology for MuseumsWearable Technology for Museums
Wearable Technology for MuseumsGiulio Caperdoni
 

Similar to Archeological guide for Android devices (20)

Portfolio - Lee, Kyungchan / Interaction Architect
Portfolio - Lee, Kyungchan / Interaction ArchitectPortfolio - Lee, Kyungchan / Interaction Architect
Portfolio - Lee, Kyungchan / Interaction Architect
 
CityTimes
CityTimesCityTimes
CityTimes
 
Augmented Reality Application Tutorial for Education 1
Augmented  Reality Application Tutorial for Education 1Augmented  Reality Application Tutorial for Education 1
Augmented Reality Application Tutorial for Education 1
 
Augmented reality
Augmented realityAugmented reality
Augmented reality
 
Nippon lugano multitouch
Nippon lugano multitouchNippon lugano multitouch
Nippon lugano multitouch
 
Material design for android
Material design for androidMaterial design for android
Material design for android
 
Introduction to Material Design
Introduction to Material DesignIntroduction to Material Design
Introduction to Material Design
 
Ball Collecting game report
Ball Collecting game report Ball Collecting game report
Ball Collecting game report
 
2012-09-13_Multiconsult and WSP European Task Force_BIM in infrastructure
2012-09-13_Multiconsult and WSP European Task Force_BIM in infrastructure2012-09-13_Multiconsult and WSP European Task Force_BIM in infrastructure
2012-09-13_Multiconsult and WSP European Task Force_BIM in infrastructure
 
3D-ICONS- D3 1: Interim Report on Data Acquisition
3D-ICONS- D3 1: Interim Report  on Data Acquisition3D-ICONS- D3 1: Interim Report  on Data Acquisition
3D-ICONS- D3 1: Interim Report on Data Acquisition
 
Walking the Edit Presentation 2013
Walking the Edit Presentation 2013Walking the Edit Presentation 2013
Walking the Edit Presentation 2013
 
Baparekraf Digital Talent Day: Monitoring dan Coaching Penerima Fasilitasi BD...
Baparekraf Digital Talent Day: Monitoring dan Coaching Penerima Fasilitasi BD...Baparekraf Digital Talent Day: Monitoring dan Coaching Penerima Fasilitasi BD...
Baparekraf Digital Talent Day: Monitoring dan Coaching Penerima Fasilitasi BD...
 
User Interface Design COMP 1650
User Interface Design COMP 1650User Interface Design COMP 1650
User Interface Design COMP 1650
 
Tech Trans as Learning
Tech Trans as LearningTech Trans as Learning
Tech Trans as Learning
 
C space-flyer
C space-flyerC space-flyer
C space-flyer
 
DECORATOR PATTERN IN WEB APPLICATION
DECORATOR PATTERN IN WEB APPLICATIONDECORATOR PATTERN IN WEB APPLICATION
DECORATOR PATTERN IN WEB APPLICATION
 
Multiscreen UX Design - Developing for a multitude of devices
Multiscreen UX Design - Developing for a multitude of devices Multiscreen UX Design - Developing for a multitude of devices
Multiscreen UX Design - Developing for a multitude of devices
 
A graphic library and an application for simple curve manipolation
A graphic library and an application for simple curve manipolationA graphic library and an application for simple curve manipolation
A graphic library and an application for simple curve manipolation
 
Wearable Technology for Museums
Wearable Technology for MuseumsWearable Technology for Museums
Wearable Technology for Museums
 
3d from images
3d from images3d from images
3d from images
 

Recently uploaded

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 

Recently uploaded (20)

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 

Archeological guide for Android devices

  • 1. Angelo Coccettini – September 2013 The Ostia Antica Park is one of the largest and most important archaeological sites of ancient Rome. With its fifty hectares, its buildings and its streets, it testifies the development of a large urban and commercial center during the imperial age. Ostia was the most important port of the antiquity, the gate of Rome on the Mediterranean sea. This document describes the development of an archeological guide for Android devices. At the time of the writing these Apps are the only digital guides of Ostia Antica for Android devices. An Archaeological Guide for Android devices
  • 2. Angelo Coccettini – September 2013 An Archaeological Guide for Android devices The main menu of the app for Android smartphone and tablets
  • 3. Angelo Coccettini – September 2013 Specifications • 3 Languages: english, french and italian selectable within the App • 4 layouts with different color scheme selectable withing the App • Listview architecture for small smartphone • Master detail architecture for large smartphone and tablets • Unified application for Android marketplace • Content in HTML • Picture Gallery • Suggestion of three different itineraries • Monuments geolocalization • Custom Artwork • Zoom full screen for images • Rotation support
  • 4. Angelo Coccettini – September 2013 Application Architecture The app uses a unified interface that adapts to screen resolution. This has been implemented using Android Configuration Qualifiers
  • 5. Angelo Coccettini – September 2013 Application Architecture for Tablets For large Smartphones or Tablet the application uses the Landscape mode in Master/Detail configuration. On the left side of the screen a Listview displays the items, while the detail of the selected item is displayed on the Right side of the screen.
  • 6. Angelo Coccettini – September 2013 Layouts The application offers 4 different layouts for a optimal contrast in darkness or strong lightning. The layouts can be switched directly from the interface. Black Elegance Modern Touch Pompei Style Roman Era
  • 7. Angelo Coccettini – September 2013 Layout Implementation Layout have been implemented using the Android Theme functionality. The Theme allows developers to customize any elements of the interface and even to change the Theme runtime. The theme definition is stored in the file theme.xml located in the values folder. Each theme define, for a given property name (e.g. textColor) a different value stored in the styles.xml file. So, if the Theme.Black_Elegance is selected, the textColor point to the value defined in textColor_be stored in the file styles.xml
  • 8. Angelo Coccettini – September 2013 Layout Implementation
  • 9. Angelo Coccettini – September 2013 Custom HTML Tags The app uses standard HTML to display content. Nevertheless, we want to intercept the click event to allow zooming images in a different Activity. This can be done by enabling the JavaScript execution for the webview. The jsInterface is an instance of JavaScriptInterface, a custom class that can be used to define the methods that can be called via javascript.
  • 10. Angelo Coccettini – September 2013 Custom HTML Tags In this class we find the method showImage that take a String argument as parameter.
  • 11. Angelo Coccettini – September 2013 Custom HTML Tags In the HTML we can now define a Javascript function as follow. When the webview encountrer a javascript call to JSIntefacte, Android will dispatch the request to the Java method showImage of the class JavaScriptInterface. <script type="text/javascript"> function showImage(image) { JSInterface.showImage(image); } </script>
  • 12. Angelo Coccettini – September 2013 Custom Image Tag This snipplet displays a img tag using a call to the Javascript linked to the class JavaScriptInterface. This tag display an image in the HTML code. When the user click on the image, the event is intercepted by the Javascript function showImage that in turn calls JSInterface.showImage(image), passing the control to the java method showImage(String image) in the class JavaScriptInterface. <img align='right' onClick="showImage(‘overview_from_necropolis_h.jpg')" class='imgright' src=‘overview_from_necropolis_l.jpg'/>
  • 13. Angelo Coccettini – September 2013 Languages The application offers the possibility to switch instantly between English, French and Italian. The language switching impacts the contents as well every element of the application interface.
  • 14. Angelo Coccettini – September 2013 Itineraries The TabBar at the botton of the Site Listview can be used to switch between three suggested itineraries. The first item of the list describes the itinerary, while the second item will show a map with the monuments that you select. It is possible to zoom the map for a better viewing.
  • 15. Angelo Coccettini – September 2013 Navigation Disclosure indicator. When this element is present, users know they can tap anywhere in the row to see the next level in the hierarchy or the choices associated with the list item. Detail disclosure button. Users tap this element to see detailed information about the list item.
  • 16. Angelo Coccettini – September 2013 Menu Ostia Antica It describes the Archaeological Park of Ostia Antica, the ancient harbour of Rome
  • 17. Angelo Coccettini – September 2013 Menu Information It gives access a submenu with useful information about the Archaeological Park
  • 18. Angelo Coccettini – September 2013 Menu History It describes the history of Ostia, from the origins till IX century A.D.
  • 19. Angelo Coccettini – September 2013 Menu ‘The Site’ It gives access to the description and images of the monuments of the site. It can be used also to select the monument based on the 3 itineraries. Each monument has 3 submenus to display text, images and geographic location.
  • 20. Angelo Coccettini – September 2013 Menu ‘The Site’ The view Pictures lists all the Computer Graphics Reconstruction of the monument.
  • 21. Angelo Coccettini – September 2013 Menu ‘The Site’ Google Map is used to display the geographic location of the monument of interest.
  • 22. Angelo Coccettini – September 2013 Menu Gallery This view offers a categorized list of all Computer Graphic Reconstructions of the town of Ostia
  • 23. Angelo Coccettini – September 2013 Menu Options It is used to select the layout type and the language of the application.
  • 24. Angelo Coccettini – September 2013 Menu Acknowledgements Display info on the team that has worked for this version of the application
  • 25. Angelo Coccettini – September 2013 Options The language selection is indipendent from the device settings. It is possible to switch between English, French and Italian at runtime. The content and the interface switch instantly.
  • 26. Angelo Coccettini – September 2013 Expansion Files The size of an application for Google Play is 50 MB. After that limits an application must use Extension Packages to store artwork and resources. Ostia Antica uses one Expansion Package to store the high resolution version of all images. HTML and low resolution images are stored in the asset folder.
  • 27. Angelo Coccettini – September 2013 Virtual Devices The virtual devices installed with the SDK are too slow. Even when they use the hardware accelerator , they are quite slow and difficult to manage. In addition, on these virtual devices, it is not possible to use the Google services hence the Mapview is not working. In orde to debug Google Maps on virtual devices it is possible to use Genymotion suite that implements fully functional virtual devices based on Oracle VM Virtualbox. http://www.genymotion.com/
  • 28. Angelo Coccettini – September 2013 Artwork I have produces all the Artwork of the application. Here some example of artwork for both applications. Map tags Map Pins
  • 29. Angelo Coccettini – September 2013 Artwork Interface
  • 30. Angelo Coccettini – September 2013 Computer Reconstructions I have reconstructed the whole town with Computer Graphics software: • LightWave from Newtek • CityEngine from ESRI • Poser from SmithMicro
  • 31. Angelo Coccettini – September 2013 Workflow HUB Export Wavefront OBJ, MTL PoserFusion Layout Modeler
  • 32. Angelo Coccettini – September 2013 Reconstructions I have modeled the whole town with a uniform level of details. This mean that it is possible to move the digital camera in any place and to produce high detailed images. The polygon count of the whole scene (building, actors, props and stage) is around 15.000.000 of polygons.
  • 33. Angelo Coccettini – September 2013 Google Play The Apps are published and available on Google Play https://play.google.com/store/apps/details?id=com.betasoft.ostia.main&hl=en angelo.coccettini@gmail.com