Cloud Computing in Mobile

1,135 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,135
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Cloud Computing in Mobile

  1. 1. Geogad Your Personal Mobile Tour Guide “Cloud” Computing Georgi Dagnall, CEO Geogad, Inc. Santa Clara, CA gdagnall@geogad.com
  2. 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. 3. Mobile And User Customizable
  4. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 15. Geogad Your Personal Mobile Tour Guide Georgi Dagnall, CEO Geogad, Inc. Santa Clara, CA gdagnall@geogad.com

×