SlideShare a Scribd company logo
1 of 15
Geogad   Your Personal Mobile Tour Guide




         “Cloud” Computing
           Georgi Dagnall, CEO
              Geogad, Inc.
             Santa Clara, CA
          gdagnall@geogad.com
Elevator Pitch

                      Geogad

    organizes and distributes in-depth local and
    historical info

    by latitude and longitude

    for travelers to easily explore their destinations

    using their cell phones and media players

    by leveraging the mobile web and GPS and
    other location finding technology

    and targeting content, services, and advertising
    based on a traveler's location and interests
Mobile And User Customizable
Opinions on the Cloud

From Wikipedia:
Cloud computing is Internet-based computing, whereby shared
resources, software, and information are provided to computers and other
devices on demand...

Internet – Day 1
Cloud computing is a paradigm shift following the shift from mainframe to
client–server in the early 1980s. Details are abstracted from the users,
who no longer have need for expertise in, or control over, the technology
infrastructure "in the cloud" that supports them.

Internet – Day 2
In general, Cloud computing customers do not own the physical
infrastructure, instead avoiding capital expenditure by renting usage from
a third-party provider. They consume resources as a service and pay only
for resources that they use.

http://www.techcrunchit.com/2009/10/01/larry-ellison-still-hates-cloud-computing-nonsense-video/
Designing for the Cloud

What does Geogad do? (What do you want to do?)
Stream video
Convert video/audio
Resize JPEG images
Manage professional and UGC (comments, ratings, sharing, etc.)

                                 Delivered To
                      Web site, downloaded zipped files,
                     Mobile web, Android app, iPhone app

How does Geogad do it? (How do you want to do it?)
Server-side: Java, C++, PHP, Ruby on Rails, etc.
Client-side: HTML, CSS, Ajax, Android/Java, iPhone/Objective C
Databases: MySQL, PostgreSQL, Hadoop, etc.
Ad Servers: Google AdSense, OpenX. etc.

Extras: Drupal, Google Maps, Google App Engine, Wordpress, etc.
Open Source Is Not Free

Economics of Open Source
Free but no support or customization.

MySQL purchased by Sun for $1 billion
          → Sun bought by Oracle for $7.4 billion

ffmpeg


Open source video converter. Command line and many, many libraries to sort
through and build

Kaltura


Open source video converter and distribution platform
Charges for hosting and streaming video from their servers

AdSense vs. OpenX (OpenX Market)


Over $30 million in funding ($10 million in C round in May 2009)
Hosted signups > 10K in first 6 months
Free download of OpenX 2.8 – 3000 users, monthly run rate of more than 10
billion impressions in just six weeks since launch
Video Across Platforms

Ffmpeg – can handle almost anything that you give it. Written in C.

1. Web – Flash flv files
2. Mobile Web – 3gp, low-res, low frame rate MP4
3. Android – Progressive download- MOOV atom at front with MP4BOX
4. iPhone – If streaming live or video greater than 10 minutes long, video
       must be available in different bit rates (96k, 256k, and 800k)
    and segmented in time (10 seconds).*
Ffmpeg command for 96K H.264 Video File
ffmpeg -i <in file> -f mpegts -acodec libmp3lame -ar 48000 -ab 64k -s 320×240 -vcodec libx264 -b
96k -flags +loop -cmp +chroma -partitions +parti4×4+partp8×8+partb8×8 -subq 5 -trellis 1 -refs 1
-coder 0 -me_range 16 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt 200k -maxrate 96k -bufsize
96k -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 30 -aspect 320:240 -g
30 -async 2 <output file>

More video formats for more devices on the way.
Consider Brightcove, Kaltura, or other video distribution networks. Not
free, but neither is your time.
* http://www.ioncannon.net/programming/452/iphone-http-streaming-with-ffmpeg-and-an-open-source-segmenter/
OpenX Downloaded

Campaigns and banners created by webmaster but viewable by
advertisers.

Build or buy tools to let advertisers manage their own campaigns.

Build your own automatic payment system for your advertisers.

PHP → Java, Jsp pages
Geogad Across Platforms

Finding tour stops
1. Web - Java/JSP/Ajax
2. Android/iPhone – Java servlets
3. Mobile web - WURFL

Create an API from the start
Tips For Mobile Apps


Reuse servlets between mobile apps
sending string using standardized
data protocols – XML, JSON

Ping server to confirm network
connection – YouTube
Reduce image downloads with
sprites for batch downloads. App
appears to work much faster.
WURFL

WURFL - Wireless Universal Resource File
Huge volunteer-created open source XML-based list of mobile
phones and their capabilities
 <device id="apple_iphone_ver1" user_agent="Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en)
AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A538a Safari/419.3"
fall_back="apple_generic" actual_device_root="true">

 <group id="display">
  <capability name="physical_screen_height" value="74"/>
  <capability name="dual_orientation" value="true"/>
  <capability name="physical_screen_width" value="49"/>
  <capability name="max_image_width" value="320"/>
  <capability name="resolution_height" value="480"/>
  <capability name="resolution_width" value="320"/>
  <capability name="max_image_height" value="360"/>
 </group>

  <group id="sound_format">
   <capability name="aac" value="true"/>
   <capability name="mp3" value="true"/>
  </group>

</device>
WALL To All

WALL - Wireless Abstraction Library
Uses Java tag library to support multiple feature phone browsers
and markup languages, i.e. WML 1.X, CHTML, and XHTML MP


<%@ taglib uri="/WEB-INF/tld/wall.tld" prefix="wall" %><wall:document><wall:xmlpidtd />
  <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><wall:load_capabilities />

  <wall:head>
    <wall:title><%= metatitle %></wall:title>
    <wall:menu_css />
  </wall:head>
  <wall:body>
    <wall:hr />
    <wall:br />
             [JSP and WALL code goes here]
  </wall:body>
</wall:document>
WALL Example

Managing Device Capabilities
<wall:block>
 <% if ((tID > 0) || (ctID > 0)) {%>
 <c:if test="${capabilities.gif}">
    <wall:a href="<%= prevLink %>" title="Previous" >
       <wall:img src="images/leftgreen.gif" alt="Previous" />
    </wall:a>
 </c:if>
 <wall:a href="<%= prevLink %>" title="Previous" >Prev</wall:a>
 <% } else {%>
 <c:if test="${capabilities.gif}">
    <% if (secID == 0) {%>
    <wall:img src="images/leftgray.gif" alt="Previous" />
    <% } else {%>
    <wall:a href="<%= prevLink %>" title="Previous" >
       <wall:img src="images/leftgreen.gif" alt="Previous" />
    </wall:a>
    <% }%>
 </c:if>
 <% if (secID == 0) {%>
 <wall:font color="gray">Prev</wall:font>
 <% } else {%>
 <wall:a href="<%= prevLink %>" title="Previous" >Prev</wall:a>
 <% }%>
 <% }%>
 <wall:b>(<%= (secID + 1) %> of <%= maxsec %>) </wall:b>
WALL Example


 Managing Images and Screen Sizes
<% if (format.indexOf("audio") != -1) {%>
<c:choose>
  <c:when test="${capabilities.resolution_width >= 240}">
     <wall:img src="<%= srcImgFile %>" alt="<%= tsname %>" />
  </c:when>
  <c:otherwise>
     <wall:img src="<%= srcImgFile2 %>" alt="<%= tsname %>" />
  </c:otherwise>
</c:choose>
<% } else {%>
<c:choose>
  <c:when test="${capabilities.resolution_width >= 320}">
     <wall:img src="<%= srcImgFile %>" alt="<%= tsname %>" />
  </c:when>
  <c:otherwise>
     <wall:img src="<%= srcImgFile2 %>" alt="<%= tsname %>" />
  </c:otherwise>
</c:choose>
<% } %>
Geogad   Your Personal Mobile Tour Guide




           Georgi Dagnall, CEO
              Geogad, Inc.
             Santa Clara, CA
          gdagnall@geogad.com

More Related Content

Viewers also liked

Viewers also liked (12)

People Say About Sally, Client References
People Say About Sally, Client ReferencesPeople Say About Sally, Client References
People Say About Sally, Client References
 
Di Bawah Bayang-bayang Krisis: Laporan Tahunan AJI 2015
Di Bawah Bayang-bayang Krisis: Laporan Tahunan AJI 2015Di Bawah Bayang-bayang Krisis: Laporan Tahunan AJI 2015
Di Bawah Bayang-bayang Krisis: Laporan Tahunan AJI 2015
 
Making mflow famous, marrying digital comms and PR, Brew and Seventy Seven PR
Making mflow famous, marrying digital comms and PR, Brew and Seventy Seven PRMaking mflow famous, marrying digital comms and PR, Brew and Seventy Seven PR
Making mflow famous, marrying digital comms and PR, Brew and Seventy Seven PR
 
Los mejores futbolistas europeos
Los mejores futbolistas europeosLos mejores futbolistas europeos
Los mejores futbolistas europeos
 
Linkedinpresentatie Juli 2010
Linkedinpresentatie Juli 2010Linkedinpresentatie Juli 2010
Linkedinpresentatie Juli 2010
 
Gauss jordan elimination through pivoting
Gauss jordan elimination through pivotingGauss jordan elimination through pivoting
Gauss jordan elimination through pivoting
 
Choir and Community Management
Choir and Community ManagementChoir and Community Management
Choir and Community Management
 
Innovation & Massive data
Innovation & Massive dataInnovation & Massive data
Innovation & Massive data
 
Effective Strategies for Searching Oracle UCM
Effective Strategies for Searching Oracle UCMEffective Strategies for Searching Oracle UCM
Effective Strategies for Searching Oracle UCM
 
Matrices
MatricesMatrices
Matrices
 
Personal clouds & mobiles - ambientic - fossa2011
Personal clouds & mobiles - ambientic - fossa2011Personal clouds & mobiles - ambientic - fossa2011
Personal clouds & mobiles - ambientic - fossa2011
 
052011 DEP Water Rate Proposal
052011 DEP Water Rate Proposal052011 DEP Water Rate Proposal
052011 DEP Water Rate Proposal
 

Similar to Cloud Computing in Mobile

Opera and the Open Web platform
Opera and the Open Web platformOpera and the Open Web platform
Opera and the Open Web platformAndreas Bovens
 
Device aware web frameworks for better programming
Device aware web frameworks for better programmingDevice aware web frameworks for better programming
Device aware web frameworks for better programmingSuntae Kim
 
Pinkoi Mobile Web
Pinkoi Mobile WebPinkoi Mobile Web
Pinkoi Mobile Webmikeleeme
 
[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web DesignChristopher Schmitt
 
[refreshaustin] Adaptive Images in Responsive Web Design
[refreshaustin] Adaptive Images in Responsive Web Design[refreshaustin] Adaptive Images in Responsive Web Design
[refreshaustin] Adaptive Images in Responsive Web DesignChristopher Schmitt
 
Responsive UX - One size fits all @BigDesign conference #BigD12
Responsive UX - One size fits all   @BigDesign conference #BigD12Responsive UX - One size fits all   @BigDesign conference #BigD12
Responsive UX - One size fits all @BigDesign conference #BigD12touchtitans
 
[rwdsummit2012] Adaptive Images in Responsive Web Design
[rwdsummit2012] Adaptive Images in Responsive Web Design[rwdsummit2012] Adaptive Images in Responsive Web Design
[rwdsummit2012] Adaptive Images in Responsive Web DesignChristopher Schmitt
 
[cssdevconf] Adaptive Images in RWD
[cssdevconf] Adaptive Images in RWD[cssdevconf] Adaptive Images in RWD
[cssdevconf] Adaptive Images in RWDChristopher Schmitt
 
Silicon Valley CloudStack User Group - Designing CloudStack Clouds
Silicon Valley CloudStack User Group - Designing CloudStack CloudsSilicon Valley CloudStack User Group - Designing CloudStack Clouds
Silicon Valley CloudStack User Group - Designing CloudStack CloudsShapeBlue
 
HTML5 vs Native Android: Smart Enterprises for the Future
HTML5 vs Native Android: Smart Enterprises for the FutureHTML5 vs Native Android: Smart Enterprises for the Future
HTML5 vs Native Android: Smart Enterprises for the FutureMotorola Mobility - MOTODEV
 
[html5tx] Adaptive Images in Responsive Web Design
[html5tx] Adaptive Images in Responsive Web Design[html5tx] Adaptive Images in Responsive Web Design
[html5tx] Adaptive Images in Responsive Web DesignChristopher Schmitt
 
Drupalcamp New York 2009
Drupalcamp New York 2009Drupalcamp New York 2009
Drupalcamp New York 2009Tom Deryckere
 
[HEWEBAR 2012] Adaptive Images in Responsive Web Design
[HEWEBAR 2012] Adaptive Images in Responsive Web Design[HEWEBAR 2012] Adaptive Images in Responsive Web Design
[HEWEBAR 2012] Adaptive Images in Responsive Web DesignChristopher Schmitt
 
Building Mobile Websites with Joomla
Building Mobile Websites with JoomlaBuilding Mobile Websites with Joomla
Building Mobile Websites with JoomlaTom Deryckere
 
N01 cloud computing_and_gae
N01 cloud computing_and_gaeN01 cloud computing_and_gae
N01 cloud computing_and_gaeSun-Jin Jang
 
Smart Client Smart Applications_Ciaran Kirk - Intergraph Geospatial World Tou...
Smart Client Smart Applications_Ciaran Kirk - Intergraph Geospatial World Tou...Smart Client Smart Applications_Ciaran Kirk - Intergraph Geospatial World Tou...
Smart Client Smart Applications_Ciaran Kirk - Intergraph Geospatial World Tou...IMGS
 
Siruna session at Drupalcon Paris 2009
Siruna session at Drupalcon Paris 2009Siruna session at Drupalcon Paris 2009
Siruna session at Drupalcon Paris 2009Tom Deryckere
 
IoTivity for Automotive IoT Interoperability
IoTivity for Automotive IoT InteroperabilityIoTivity for Automotive IoT Interoperability
IoTivity for Automotive IoT InteroperabilitySamsung Open Source Group
 

Similar to Cloud Computing in Mobile (20)

Opera and the Open Web platform
Opera and the Open Web platformOpera and the Open Web platform
Opera and the Open Web platform
 
Device aware web frameworks for better programming
Device aware web frameworks for better programmingDevice aware web frameworks for better programming
Device aware web frameworks for better programming
 
Pinkoi Mobile Web
Pinkoi Mobile WebPinkoi Mobile Web
Pinkoi Mobile Web
 
[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design
 
[refreshaustin] Adaptive Images in Responsive Web Design
[refreshaustin] Adaptive Images in Responsive Web Design[refreshaustin] Adaptive Images in Responsive Web Design
[refreshaustin] Adaptive Images in Responsive Web Design
 
Responsive UX - One size fits all @BigDesign conference #BigD12
Responsive UX - One size fits all   @BigDesign conference #BigD12Responsive UX - One size fits all   @BigDesign conference #BigD12
Responsive UX - One size fits all @BigDesign conference #BigD12
 
[rwdsummit2012] Adaptive Images in Responsive Web Design
[rwdsummit2012] Adaptive Images in Responsive Web Design[rwdsummit2012] Adaptive Images in Responsive Web Design
[rwdsummit2012] Adaptive Images in Responsive Web Design
 
Vodafone Widget Camp
Vodafone Widget CampVodafone Widget Camp
Vodafone Widget Camp
 
[cssdevconf] Adaptive Images in RWD
[cssdevconf] Adaptive Images in RWD[cssdevconf] Adaptive Images in RWD
[cssdevconf] Adaptive Images in RWD
 
Silicon Valley CloudStack User Group - Designing CloudStack Clouds
Silicon Valley CloudStack User Group - Designing CloudStack CloudsSilicon Valley CloudStack User Group - Designing CloudStack Clouds
Silicon Valley CloudStack User Group - Designing CloudStack Clouds
 
HTML5 vs Native Android: Smart Enterprises for the Future
HTML5 vs Native Android: Smart Enterprises for the FutureHTML5 vs Native Android: Smart Enterprises for the Future
HTML5 vs Native Android: Smart Enterprises for the Future
 
Android ppt
Android pptAndroid ppt
Android ppt
 
[html5tx] Adaptive Images in Responsive Web Design
[html5tx] Adaptive Images in Responsive Web Design[html5tx] Adaptive Images in Responsive Web Design
[html5tx] Adaptive Images in Responsive Web Design
 
Drupalcamp New York 2009
Drupalcamp New York 2009Drupalcamp New York 2009
Drupalcamp New York 2009
 
[HEWEBAR 2012] Adaptive Images in Responsive Web Design
[HEWEBAR 2012] Adaptive Images in Responsive Web Design[HEWEBAR 2012] Adaptive Images in Responsive Web Design
[HEWEBAR 2012] Adaptive Images in Responsive Web Design
 
Building Mobile Websites with Joomla
Building Mobile Websites with JoomlaBuilding Mobile Websites with Joomla
Building Mobile Websites with Joomla
 
N01 cloud computing_and_gae
N01 cloud computing_and_gaeN01 cloud computing_and_gae
N01 cloud computing_and_gae
 
Smart Client Smart Applications_Ciaran Kirk - Intergraph Geospatial World Tou...
Smart Client Smart Applications_Ciaran Kirk - Intergraph Geospatial World Tou...Smart Client Smart Applications_Ciaran Kirk - Intergraph Geospatial World Tou...
Smart Client Smart Applications_Ciaran Kirk - Intergraph Geospatial World Tou...
 
Siruna session at Drupalcon Paris 2009
Siruna session at Drupalcon Paris 2009Siruna session at Drupalcon Paris 2009
Siruna session at Drupalcon Paris 2009
 
IoTivity for Automotive IoT Interoperability
IoTivity for Automotive IoT InteroperabilityIoTivity for Automotive IoT Interoperability
IoTivity for Automotive IoT Interoperability
 

Recently uploaded

Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 

Recently uploaded (20)

Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 

Cloud Computing in Mobile

  • 1. Geogad Your Personal Mobile Tour Guide “Cloud” Computing Georgi Dagnall, CEO Geogad, Inc. Santa Clara, CA gdagnall@geogad.com
  • 2. Elevator Pitch Geogad  organizes and distributes in-depth local and historical info  by latitude and longitude  for travelers to easily explore their destinations  using their cell phones and media players  by leveraging the mobile web and GPS and other location finding technology  and targeting content, services, and advertising based on a traveler's location and interests
  • 3. Mobile And User Customizable
  • 4. Opinions on the Cloud From Wikipedia: Cloud computing is Internet-based computing, whereby shared resources, software, and information are provided to computers and other devices on demand... Internet – Day 1 Cloud computing is a paradigm shift following the shift from mainframe to client–server in the early 1980s. Details are abstracted from the users, who no longer have need for expertise in, or control over, the technology infrastructure "in the cloud" that supports them. Internet – Day 2 In general, Cloud computing customers do not own the physical infrastructure, instead avoiding capital expenditure by renting usage from a third-party provider. They consume resources as a service and pay only for resources that they use. http://www.techcrunchit.com/2009/10/01/larry-ellison-still-hates-cloud-computing-nonsense-video/
  • 5. Designing for the Cloud What does Geogad do? (What do you want to do?) Stream video Convert video/audio Resize JPEG images Manage professional and UGC (comments, ratings, sharing, etc.) Delivered To Web site, downloaded zipped files, Mobile web, Android app, iPhone app How does Geogad do it? (How do you want to do it?) Server-side: Java, C++, PHP, Ruby on Rails, etc. Client-side: HTML, CSS, Ajax, Android/Java, iPhone/Objective C Databases: MySQL, PostgreSQL, Hadoop, etc. Ad Servers: Google AdSense, OpenX. etc. Extras: Drupal, Google Maps, Google App Engine, Wordpress, etc.
  • 6. Open Source Is Not Free Economics of Open Source Free but no support or customization. MySQL purchased by Sun for $1 billion → Sun bought by Oracle for $7.4 billion ffmpeg  Open source video converter. Command line and many, many libraries to sort through and build Kaltura  Open source video converter and distribution platform Charges for hosting and streaming video from their servers AdSense vs. OpenX (OpenX Market)  Over $30 million in funding ($10 million in C round in May 2009) Hosted signups > 10K in first 6 months Free download of OpenX 2.8 – 3000 users, monthly run rate of more than 10 billion impressions in just six weeks since launch
  • 7. Video Across Platforms Ffmpeg – can handle almost anything that you give it. Written in C. 1. Web – Flash flv files 2. Mobile Web – 3gp, low-res, low frame rate MP4 3. Android – Progressive download- MOOV atom at front with MP4BOX 4. iPhone – If streaming live or video greater than 10 minutes long, video must be available in different bit rates (96k, 256k, and 800k) and segmented in time (10 seconds).* Ffmpeg command for 96K H.264 Video File ffmpeg -i <in file> -f mpegts -acodec libmp3lame -ar 48000 -ab 64k -s 320×240 -vcodec libx264 -b 96k -flags +loop -cmp +chroma -partitions +parti4×4+partp8×8+partb8×8 -subq 5 -trellis 1 -refs 1 -coder 0 -me_range 16 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt 200k -maxrate 96k -bufsize 96k -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 30 -aspect 320:240 -g 30 -async 2 <output file> More video formats for more devices on the way. Consider Brightcove, Kaltura, or other video distribution networks. Not free, but neither is your time. * http://www.ioncannon.net/programming/452/iphone-http-streaming-with-ffmpeg-and-an-open-source-segmenter/
  • 8. OpenX Downloaded Campaigns and banners created by webmaster but viewable by advertisers. Build or buy tools to let advertisers manage their own campaigns. Build your own automatic payment system for your advertisers. PHP → Java, Jsp pages
  • 9. Geogad Across Platforms Finding tour stops 1. Web - Java/JSP/Ajax 2. Android/iPhone – Java servlets 3. Mobile web - WURFL Create an API from the start
  • 10. Tips For Mobile Apps Reuse servlets between mobile apps sending string using standardized data protocols – XML, JSON Ping server to confirm network connection – YouTube Reduce image downloads with sprites for batch downloads. App appears to work much faster.
  • 11. WURFL WURFL - Wireless Universal Resource File Huge volunteer-created open source XML-based list of mobile phones and their capabilities <device id="apple_iphone_ver1" user_agent="Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A538a Safari/419.3" fall_back="apple_generic" actual_device_root="true"> <group id="display"> <capability name="physical_screen_height" value="74"/> <capability name="dual_orientation" value="true"/> <capability name="physical_screen_width" value="49"/> <capability name="max_image_width" value="320"/> <capability name="resolution_height" value="480"/> <capability name="resolution_width" value="320"/> <capability name="max_image_height" value="360"/> </group> <group id="sound_format"> <capability name="aac" value="true"/> <capability name="mp3" value="true"/> </group> </device>
  • 12. WALL To All WALL - Wireless Abstraction Library Uses Java tag library to support multiple feature phone browsers and markup languages, i.e. WML 1.X, CHTML, and XHTML MP <%@ taglib uri="/WEB-INF/tld/wall.tld" prefix="wall" %><wall:document><wall:xmlpidtd /> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><wall:load_capabilities /> <wall:head> <wall:title><%= metatitle %></wall:title> <wall:menu_css /> </wall:head> <wall:body> <wall:hr /> <wall:br /> [JSP and WALL code goes here] </wall:body> </wall:document>
  • 13. WALL Example Managing Device Capabilities <wall:block> <% if ((tID > 0) || (ctID > 0)) {%> <c:if test="${capabilities.gif}"> <wall:a href="<%= prevLink %>" title="Previous" > <wall:img src="images/leftgreen.gif" alt="Previous" /> </wall:a> </c:if> <wall:a href="<%= prevLink %>" title="Previous" >Prev</wall:a> <% } else {%> <c:if test="${capabilities.gif}"> <% if (secID == 0) {%> <wall:img src="images/leftgray.gif" alt="Previous" /> <% } else {%> <wall:a href="<%= prevLink %>" title="Previous" > <wall:img src="images/leftgreen.gif" alt="Previous" /> </wall:a> <% }%> </c:if> <% if (secID == 0) {%> <wall:font color="gray">Prev</wall:font> <% } else {%> <wall:a href="<%= prevLink %>" title="Previous" >Prev</wall:a> <% }%> <% }%> <wall:b>(<%= (secID + 1) %> of <%= maxsec %>) </wall:b>
  • 14. WALL Example Managing Images and Screen Sizes <% if (format.indexOf("audio") != -1) {%> <c:choose> <c:when test="${capabilities.resolution_width >= 240}"> <wall:img src="<%= srcImgFile %>" alt="<%= tsname %>" /> </c:when> <c:otherwise> <wall:img src="<%= srcImgFile2 %>" alt="<%= tsname %>" /> </c:otherwise> </c:choose> <% } else {%> <c:choose> <c:when test="${capabilities.resolution_width >= 320}"> <wall:img src="<%= srcImgFile %>" alt="<%= tsname %>" /> </c:when> <c:otherwise> <wall:img src="<%= srcImgFile2 %>" alt="<%= tsname %>" /> </c:otherwise> </c:choose> <% } %>
  • 15. Geogad Your Personal Mobile Tour Guide Georgi Dagnall, CEO Geogad, Inc. Santa Clara, CA gdagnall@geogad.com