SlideShare a Scribd company logo
1 of 49
Download to read offline
3: Building the MIT Mobile Web




                  MIT Mobile Project Team
     Albert Chow, Sonya Huang, Eric Kim, and Brian Patt
Agenda

  Introduction
  Designing the MIT Mobile Web
  Building the MIT Mobile Web
  Technical architecture
  Browser detection
  Content generator
  Sample modules
  Q&A



                                   2
Designing the MIT Mobile Web
The mobile web?




                   4
Designing for the mobile context




                                    5
Designing for the mobile context

  Physical constraints
     Small, dense screens
     Limited input and feedback

  Technical constraints
     Data is still relatively slow and expensive
     Limited security and personalization
     Wide variety of physical form factors
      •  Screens: from 128x160 up to 480x640 pixels
      •  Input: touchscreen, numeric keypad, full QWERTY keypad
      •  Data speed: 3G “high-speed”, low-speed (dialup-class)
     Limited web browsers with very wide range of capabilities
     and standards compliance
                                                                   6
Device and browser differences




                 Nokia N70
   Sony Ericsson K750i
   Motorola RAZR v3i




    BlackBerry 8830
            Palm Treo 755p
         Motorola Q9h (Windows Mobile)
   7
Device and browser differences




                                  8
Designing for the mobile context

  Attention considerations
     Seconds vs. minutes
     Sovereign vs. transient tasks
     In situ activities

  Mobile = new opportunity
     Reach your community where they are most of the day
     Meet low-level needs in an unexpectedly useful and fun way




                                                                    9
Early design decisions at MIT

  Carefully curated content and functionality
  Narrow and shallow structure
  Simple navigation with as many accelerators as
  possible
     Consistent global navigation
     Consistent application-level navigation
     Accesskeys

  Segmentation and adaptation




                                                    10
Segmentation and adaptation

  Impossible to design for every device
  Didnʼt want lowest-common-denominator experience
  Solution: device segmentation

 Feature phones
                    Smartphones
                iPhone/iPod touch




  Flip, bar, slider phones with
 relatively basic browsers and    BlackBerry, Windows Mobile,
                                                                               11
         smaller screens
                   PalmOS
Segmentation and adaptation

   Same content & functionality across device classes
Different presentation and navigation for each device class




                                                         12
Key differences between “buckets”

  Level of:
     Rich, semantic structure (HTML)
     Style (CSS) 
     Interactivity (Javascript)

  Amount of content shown per page (pagination)
  Image sizes
  Location, organization and presentation of navigation




                                                            13
General design principles

  Feature phone and smartphone: converged on a
  simple, robust, text-centric design optimized for
  keypad navigation
  iPhone and iPod touch: take advantage of unique
  capabilities of the touch-driven platform
  Minimize distance to user goals
  Be great where we can
  Donʼt suck anywhere




                                                      14
iPhone-specific design features

  Best standards compliance – things work the way
  theyʼre supposed to
  Support for advanced CSS, including absolute
  positioning, layering, rounded corners, PNGs,
  transparency
  Full-screen mode
  Asynchronous data loading
  Layout re-flowing on device orientation change
  Apple's guides, HIG, code samples


                                                     15
iPhone-specific design features




                                  16
iPhone-specific design features




                                  17
Segmentation and adaptation

  Challenge: Devices are always changing, previous
  category lines blurring and shifting
  Future: segment by browser capability, not hardware
  category
  Better exploit strengths of emerging advanced devices
  and platforms




                                                         18
Design process

1.  User-experience (UX) mapping




                 >




                                    19
Design process

1.  User-experience (UX) mapping
2.  Visual design and prototyping
3.  Initial implementation
4.  Usability testing
5.  Remaining implementation and testing
6.  Ongoing design and development




                                            20
Conclusion

  Mobile web provides real-world daily utility for the
  college and university community
  Comes with unique and constantly evolving challenges
  Strategies for success:
     Design for the mobile context
     Segment target devices and adapt content, navigation and
     functionality
     Test and refine
     Continue to track, re-think, re-design and re-test your site as
     the mobile market evolves


                                                                        21
Further reading
  Mobile Web Design: http://mobilewebbook.com/
  dotMobi Mobile Web Developerʼs Guide: http://dev.mobi        
  Global Authoring Practices for the Mobile Web: 

     http://www.passani.it/gap
    WURFL: http://wurfl.sourceforge.net
    Device Atlas: http://deviceatlas.com
    Device Anywere: http://deviceanywhere.com
    Apple iPhone web and application guidelines (free Apple
     Developer Connection account required):

     http://developer.apple.com/documentation/
     AppleApplications/Reference/SafariWebContent 

     http://developer.apple.com/webapps
                                                               22
Building the MIT Mobile Web
Building the MIT Mobile Web

How to start building a mobile web site:
1.  Select modules
2.  Find data sources
3.  Select devices to support
4.  Set up server


…or use the MIT Mobile Web, which will be open
 sourced



                                                 24
MIT Mobile Web modules




                          25
Criteria for module selection

  Whatʼs most useful on the go
  Most readily available data sources
  Avoided “screen scraping”
     Takes more development time

     Not robust 




                                          26
System architecture




                                 Browser Detection

       iPhone
          Smartphone
             Feature Phone
                Other
                                                                                  


                                 Content Generator
                                                 
 People      Campus     Shuttle      Events                Student    Emergency
                                                Stellar
                                                      
                               3Down
 Directory
         
     Map
    Schedule 
   Calendar
              Careers
      Info




 MIT
         MIT
                   MIT
        MIT 
                                                           Careers
    Emergency  
     3Down 
LDAP  
       IMS
           
                       NextBus      Events
     Stellar
                .mit.edu
                                                            Office
                     .mit.edu
Server 
     Server
                Server
     Server 
                                                                                               27
System configuration

  Hardware (Virtual Server): 
     CPU: Intel Xeon 3GHz
     Memory allocation: 2 GB
     Storage: 15 GB
     VMWare

  Software: 
     Operating system: Red Hat Enterprise Linux 4
     Web server: Apache 2.0.52
     PHP 5.2.5, MySQL 5.0.18, Python 2.4.4


                                                      28
Browser detection




                         Browser Detection




                            Feature
 iPhone
   Smartphone
                   Computer
                                                
   Spider
                                                         
                             phone


                                                             29
WURFL

Wireless Universal Resource File (WURFL)
  Open source data source
  Attempts to catalog all mobile devices
  Initial goals:
      Determine screen size
      Determine phone features

  Current implementation:
      Distinguishes phones from computers
      Updated database of User-Agent strings
      Keywords to pick smart phones (iPhone, iPod, BlackBerry, …)




                                                                      30
User agent strings

Complicated and non-standardized
  iPhone:

  Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en)
  AppleWebKit/420+(KHTML, like Gecko) Version/3.0
  Mobile/1A538a Safari/419.3
  BlackBerry:

  BlackBerry8130/4.3.0 Profile/MIDP-2.0 Configuration/
  CLDC-1.1 VendorID/105
  Search for closest match



                                                       31
Content generator

  Three different HTML templates – one for each
  “bucket” of devices
  Each HTML template includes its own CSS (style
  sheets) and images

                             Content generator
                                             

   Module
     Data
                  Selects
                                            
                                                                Web
  Generates                                                     page
              Device
    data
                               Smart
                                            
      Feature 
               type
      iPhone
      phone
       phone
                         template 
   template
   template  

                                                                   32
People Directory




                    33
People Directory mobile backend

  LDAP (Lightweight Directory Access Protocol)
     Uses standard query language
     Widely used
     PHP has a built in interface




                          Mobile
      Query
          Request
       People                    MIT
                         Directory 
              LDAP 
                         Module  
                Server
          Mobile Site
                 Results


                                                            34
Optimized for mobile experience

  Difficult/slow to type on
  mobile devices
  Optimize search results:
     Single letter = first initial of first
     or last name
     Default sub string search
     Exact email matches at the top




                                             35
3DOWN

  Status of major services at
  MIT, such as internet, email,
  and telephone
  Backend: RSS (Rich Site
  Summary) Feed
     Contains title and content
     Widely used, such as Wordpress
     and New York Times




                                       36
RSS good for mobile devices

  RSS is list oriented
  Phones are good at displaying lists
  Easy to reformat content for mobile devices




                                                  37
Stellar – web version




                         38
Stellar – mobile version




                            39
Stellar backend

  Stellar uses several different data sources
  Aggregate into a custom XML (eXtensible Markup
  Language) feed
     Course guide is an XML feed
     One RSS per class for course announcements
     Not given access to protected information

  Why use XML? 
     Easy to inspect
     Easy to expand to any text based data
     Widely used for internet applications


                                                    40
Campus Maps – web version




                             41
Campus Maps – backend

Web Map Services (WMS) 
  Generates a map
  Based on picture size, frame size, and map elements
  to display
  Parameters passed via URL
  Widely used standard
  Requires a two step process:
     Request frame
     Request picture



                                                         42
Campus Maps – backend 

  Example: Map of W20 (Student Center)
  Parameters :
 
 

?request=getmap&version=1.1.1&
 
image size   
width=220&height=160&
 
building 
selectvalues=W20&
 
frame 
bbox=708882,495087,709896,495825&
 
map elements to 
layers=Greenspace,Roads,Parking,
 
display 
Buildings



                                                       43
Campus Map – mobile version




                               44
Shuttle Schedules
  Created a data file of the published bus schedule
  Stored in MySQL database




                                                       45
Shuttle Schedules

  Route maps hand-drawn for different screen sizes




                                                       46
Summary of MIT Mobile Web

  Module selection:
   1.  Usefulness (e.g., People Directory, shuttle, etc.)
   2.  Easy to integrate data sources = less interface
       code
     Open data standards (e.g., LDAP, RSS, and XML)

  Device optimization / selection:
     UI optimized for three categories (“buckets”)
     iPhone, smartphone, and feature phone

  Optimized mobile experience
     Only display essential information (device dependent)
     Code to reduce the amount of input needed

                                                               47
Q&A
Thank you!

Design:
Eric J. Kim
eric@chemicalcreative.com


Development:
Albert Chow, Sonya Huang, and Brian Patt
MangoText
mangotext@mit.edu


                                            49

More Related Content

Similar to Developing the MIT Mobile Web

Getting Mobile with Mobile Devices: Using the Web to Improve Transit Accessib...
Getting Mobile with Mobile Devices: Using the Web to Improve Transit Accessib...Getting Mobile with Mobile Devices: Using the Web to Improve Transit Accessib...
Getting Mobile with Mobile Devices: Using the Web to Improve Transit Accessib...w4a
 
Mobile Web Best Practices
Mobile Web Best PracticesMobile Web Best Practices
Mobile Web Best PracticesJames D Bloom
 
Ibrussels For Stedenlink
Ibrussels For StedenlinkIbrussels For Stedenlink
Ibrussels For StedenlinkKoen Delvaux
 
Road to mobile w/ Sinatra, jQuery Mobile, Spine.js and Mustache
Road to mobile w/ Sinatra, jQuery Mobile, Spine.js and MustacheRoad to mobile w/ Sinatra, jQuery Mobile, Spine.js and Mustache
Road to mobile w/ Sinatra, jQuery Mobile, Spine.js and MustacheBrian Sam-Bodden
 
Cross platform mobile app
Cross platform mobile appCross platform mobile app
Cross platform mobile appHong Liu
 
Mobile for PHP developers
Mobile for PHP developersMobile for PHP developers
Mobile for PHP developersIvo Jansch
 
Jason.O Keefe.Genuitec.Presentation.Final
Jason.O Keefe.Genuitec.Presentation.FinalJason.O Keefe.Genuitec.Presentation.Final
Jason.O Keefe.Genuitec.Presentation.FinalAjax Experience 2009
 
Mobilise your ASP.NET website
Mobilise your ASP.NET websiteMobilise your ASP.NET website
Mobilise your ASP.NET websiteMatt Lacey
 
Bringing Wireless Sensing to its full potential
Bringing Wireless Sensing to its full potentialBringing Wireless Sensing to its full potential
Bringing Wireless Sensing to its full potentialAdrian Hornsby
 
Leverage web technology in a mobile world
Leverage web technology in a mobile worldLeverage web technology in a mobile world
Leverage web technology in a mobile worldDieter Blomme
 
Mobile internet campaigns
Mobile internet campaignsMobile internet campaigns
Mobile internet campaignsReinoud Bosman
 
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There TodayHTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There Todaydavyjones
 
Designing for mobile user experience
Designing for mobile user experienceDesigning for mobile user experience
Designing for mobile user experienceSameer Chavan
 
Evolving Mobile Architectures
Evolving Mobile ArchitecturesEvolving Mobile Architectures
Evolving Mobile Architecturessgleadow
 
Total Browser Pwnag3 V1.0 Public
Total Browser Pwnag3   V1.0 PublicTotal Browser Pwnag3   V1.0 Public
Total Browser Pwnag3 V1.0 PublicRafal Los
 
2022 COMP4010 Lecture 6: Designing AR Systems
2022 COMP4010 Lecture 6: Designing AR Systems2022 COMP4010 Lecture 6: Designing AR Systems
2022 COMP4010 Lecture 6: Designing AR SystemsMark Billinghurst
 
Win j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateevWin j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateevMihail Mateev
 
CSS3: Using media queries to improve the web site experience
CSS3: Using media queries to improve the web site experienceCSS3: Using media queries to improve the web site experience
CSS3: Using media queries to improve the web site experienceZoe Gillenwater
 
Between Cocoa and Cocoa Touch: A Comparative Introduction
Between Cocoa and Cocoa Touch: A Comparative IntroductionBetween Cocoa and Cocoa Touch: A Comparative Introduction
Between Cocoa and Cocoa Touch: A Comparative Introductionlukhnos
 

Similar to Developing the MIT Mobile Web (20)

Getting Mobile with Mobile Devices: Using the Web to Improve Transit Accessib...
Getting Mobile with Mobile Devices: Using the Web to Improve Transit Accessib...Getting Mobile with Mobile Devices: Using the Web to Improve Transit Accessib...
Getting Mobile with Mobile Devices: Using the Web to Improve Transit Accessib...
 
Mobile Web Best Practices
Mobile Web Best PracticesMobile Web Best Practices
Mobile Web Best Practices
 
Ibrussels For Stedenlink
Ibrussels For StedenlinkIbrussels For Stedenlink
Ibrussels For Stedenlink
 
Uxperts mobi 2013 soa & challenges
Uxperts mobi 2013   soa & challengesUxperts mobi 2013   soa & challenges
Uxperts mobi 2013 soa & challenges
 
Road to mobile w/ Sinatra, jQuery Mobile, Spine.js and Mustache
Road to mobile w/ Sinatra, jQuery Mobile, Spine.js and MustacheRoad to mobile w/ Sinatra, jQuery Mobile, Spine.js and Mustache
Road to mobile w/ Sinatra, jQuery Mobile, Spine.js and Mustache
 
Cross platform mobile app
Cross platform mobile appCross platform mobile app
Cross platform mobile app
 
Mobile for PHP developers
Mobile for PHP developersMobile for PHP developers
Mobile for PHP developers
 
Jason.O Keefe.Genuitec.Presentation.Final
Jason.O Keefe.Genuitec.Presentation.FinalJason.O Keefe.Genuitec.Presentation.Final
Jason.O Keefe.Genuitec.Presentation.Final
 
Mobilise your ASP.NET website
Mobilise your ASP.NET websiteMobilise your ASP.NET website
Mobilise your ASP.NET website
 
Bringing Wireless Sensing to its full potential
Bringing Wireless Sensing to its full potentialBringing Wireless Sensing to its full potential
Bringing Wireless Sensing to its full potential
 
Leverage web technology in a mobile world
Leverage web technology in a mobile worldLeverage web technology in a mobile world
Leverage web technology in a mobile world
 
Mobile internet campaigns
Mobile internet campaignsMobile internet campaigns
Mobile internet campaigns
 
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There TodayHTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
 
Designing for mobile user experience
Designing for mobile user experienceDesigning for mobile user experience
Designing for mobile user experience
 
Evolving Mobile Architectures
Evolving Mobile ArchitecturesEvolving Mobile Architectures
Evolving Mobile Architectures
 
Total Browser Pwnag3 V1.0 Public
Total Browser Pwnag3   V1.0 PublicTotal Browser Pwnag3   V1.0 Public
Total Browser Pwnag3 V1.0 Public
 
2022 COMP4010 Lecture 6: Designing AR Systems
2022 COMP4010 Lecture 6: Designing AR Systems2022 COMP4010 Lecture 6: Designing AR Systems
2022 COMP4010 Lecture 6: Designing AR Systems
 
Win j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateevWin j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateev
 
CSS3: Using media queries to improve the web site experience
CSS3: Using media queries to improve the web site experienceCSS3: Using media queries to improve the web site experience
CSS3: Using media queries to improve the web site experience
 
Between Cocoa and Cocoa Touch: A Comparative Introduction
Between Cocoa and Cocoa Touch: A Comparative IntroductionBetween Cocoa and Cocoa Touch: A Comparative Introduction
Between Cocoa and Cocoa Touch: A Comparative Introduction
 

Recently uploaded

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 

Developing the MIT Mobile Web

  • 1. 3: Building the MIT Mobile Web MIT Mobile Project Team Albert Chow, Sonya Huang, Eric Kim, and Brian Patt
  • 2. Agenda   Introduction   Designing the MIT Mobile Web   Building the MIT Mobile Web   Technical architecture   Browser detection   Content generator   Sample modules   Q&A 2
  • 3. Designing the MIT Mobile Web
  • 5. Designing for the mobile context 5
  • 6. Designing for the mobile context   Physical constraints   Small, dense screens   Limited input and feedback   Technical constraints   Data is still relatively slow and expensive   Limited security and personalization   Wide variety of physical form factors •  Screens: from 128x160 up to 480x640 pixels •  Input: touchscreen, numeric keypad, full QWERTY keypad •  Data speed: 3G “high-speed”, low-speed (dialup-class)   Limited web browsers with very wide range of capabilities and standards compliance 6
  • 7. Device and browser differences Nokia N70 Sony Ericsson K750i Motorola RAZR v3i BlackBerry 8830 Palm Treo 755p Motorola Q9h (Windows Mobile) 7
  • 8. Device and browser differences 8
  • 9. Designing for the mobile context   Attention considerations   Seconds vs. minutes   Sovereign vs. transient tasks   In situ activities   Mobile = new opportunity   Reach your community where they are most of the day   Meet low-level needs in an unexpectedly useful and fun way 9
  • 10. Early design decisions at MIT   Carefully curated content and functionality   Narrow and shallow structure   Simple navigation with as many accelerators as possible   Consistent global navigation   Consistent application-level navigation   Accesskeys   Segmentation and adaptation 10
  • 11. Segmentation and adaptation   Impossible to design for every device   Didnʼt want lowest-common-denominator experience   Solution: device segmentation Feature phones Smartphones iPhone/iPod touch Flip, bar, slider phones with relatively basic browsers and BlackBerry, Windows Mobile, 11 smaller screens PalmOS
  • 12. Segmentation and adaptation Same content & functionality across device classes Different presentation and navigation for each device class 12
  • 13. Key differences between “buckets”   Level of:   Rich, semantic structure (HTML)   Style (CSS)   Interactivity (Javascript)   Amount of content shown per page (pagination)   Image sizes   Location, organization and presentation of navigation 13
  • 14. General design principles   Feature phone and smartphone: converged on a simple, robust, text-centric design optimized for keypad navigation   iPhone and iPod touch: take advantage of unique capabilities of the touch-driven platform   Minimize distance to user goals   Be great where we can   Donʼt suck anywhere 14
  • 15. iPhone-specific design features   Best standards compliance – things work the way theyʼre supposed to   Support for advanced CSS, including absolute positioning, layering, rounded corners, PNGs, transparency   Full-screen mode   Asynchronous data loading   Layout re-flowing on device orientation change   Apple's guides, HIG, code samples 15
  • 18. Segmentation and adaptation   Challenge: Devices are always changing, previous category lines blurring and shifting   Future: segment by browser capability, not hardware category   Better exploit strengths of emerging advanced devices and platforms 18
  • 20. Design process 1.  User-experience (UX) mapping 2.  Visual design and prototyping 3.  Initial implementation 4.  Usability testing 5.  Remaining implementation and testing 6.  Ongoing design and development 20
  • 21. Conclusion   Mobile web provides real-world daily utility for the college and university community   Comes with unique and constantly evolving challenges   Strategies for success:   Design for the mobile context   Segment target devices and adapt content, navigation and functionality   Test and refine   Continue to track, re-think, re-design and re-test your site as the mobile market evolves 21
  • 22. Further reading   Mobile Web Design: http://mobilewebbook.com/   dotMobi Mobile Web Developerʼs Guide: http://dev.mobi          Global Authoring Practices for the Mobile Web: 
 http://www.passani.it/gap   WURFL: http://wurfl.sourceforge.net   Device Atlas: http://deviceatlas.com   Device Anywere: http://deviceanywhere.com   Apple iPhone web and application guidelines (free Apple Developer Connection account required):
 http://developer.apple.com/documentation/ AppleApplications/Reference/SafariWebContent 
 http://developer.apple.com/webapps 22
  • 23. Building the MIT Mobile Web
  • 24. Building the MIT Mobile Web How to start building a mobile web site: 1.  Select modules 2.  Find data sources 3.  Select devices to support 4.  Set up server …or use the MIT Mobile Web, which will be open sourced 24
  • 25. MIT Mobile Web modules 25
  • 26. Criteria for module selection   Whatʼs most useful on the go   Most readily available data sources   Avoided “screen scraping”   Takes more development time   Not robust 26
  • 27. System architecture Browser Detection iPhone Smartphone Feature Phone Other Content Generator People Campus Shuttle Events Student Emergency Stellar 3Down Directory Map Schedule Calendar Careers Info MIT MIT MIT MIT Careers
 Emergency 3Down LDAP IMS NextBus Events Stellar .mit.edu Office .mit.edu Server Server Server Server 27
  • 28. System configuration   Hardware (Virtual Server):   CPU: Intel Xeon 3GHz   Memory allocation: 2 GB   Storage: 15 GB   VMWare   Software:   Operating system: Red Hat Enterprise Linux 4   Web server: Apache 2.0.52   PHP 5.2.5, MySQL 5.0.18, Python 2.4.4 28
  • 29. Browser detection Browser Detection Feature iPhone Smartphone Computer Spider phone 29
  • 30. WURFL Wireless Universal Resource File (WURFL)   Open source data source   Attempts to catalog all mobile devices   Initial goals:   Determine screen size   Determine phone features   Current implementation:   Distinguishes phones from computers   Updated database of User-Agent strings   Keywords to pick smart phones (iPhone, iPod, BlackBerry, …) 30
  • 31. User agent strings Complicated and non-standardized   iPhone:
 Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+(KHTML, like Gecko) Version/3.0 Mobile/1A538a Safari/419.3   BlackBerry:
 BlackBerry8130/4.3.0 Profile/MIDP-2.0 Configuration/ CLDC-1.1 VendorID/105   Search for closest match 31
  • 32. Content generator   Three different HTML templates – one for each “bucket” of devices   Each HTML template includes its own CSS (style sheets) and images Content generator Module Data Selects Web Generates page Device data Smart Feature type iPhone phone phone template template template 32
  • 34. People Directory mobile backend   LDAP (Lightweight Directory Access Protocol)   Uses standard query language   Widely used   PHP has a built in interface Mobile Query Request People MIT Directory LDAP Module Server Mobile Site Results 34
  • 35. Optimized for mobile experience   Difficult/slow to type on mobile devices   Optimize search results:   Single letter = first initial of first or last name   Default sub string search   Exact email matches at the top 35
  • 36. 3DOWN   Status of major services at MIT, such as internet, email, and telephone   Backend: RSS (Rich Site Summary) Feed   Contains title and content   Widely used, such as Wordpress and New York Times 36
  • 37. RSS good for mobile devices   RSS is list oriented   Phones are good at displaying lists   Easy to reformat content for mobile devices 37
  • 40. Stellar backend   Stellar uses several different data sources   Aggregate into a custom XML (eXtensible Markup Language) feed   Course guide is an XML feed   One RSS per class for course announcements   Not given access to protected information   Why use XML?   Easy to inspect   Easy to expand to any text based data   Widely used for internet applications 40
  • 41. Campus Maps – web version 41
  • 42. Campus Maps – backend Web Map Services (WMS)   Generates a map   Based on picture size, frame size, and map elements to display   Parameters passed via URL   Widely used standard   Requires a two step process:   Request frame   Request picture 42
  • 43. Campus Maps – backend   Example: Map of W20 (Student Center)   Parameters : ?request=getmap&version=1.1.1& image size width=220&height=160& building selectvalues=W20& frame bbox=708882,495087,709896,495825& map elements to layers=Greenspace,Roads,Parking, display Buildings 43
  • 44. Campus Map – mobile version 44
  • 45. Shuttle Schedules   Created a data file of the published bus schedule   Stored in MySQL database 45
  • 46. Shuttle Schedules   Route maps hand-drawn for different screen sizes 46
  • 47. Summary of MIT Mobile Web   Module selection: 1.  Usefulness (e.g., People Directory, shuttle, etc.) 2.  Easy to integrate data sources = less interface code   Open data standards (e.g., LDAP, RSS, and XML)   Device optimization / selection:   UI optimized for three categories (“buckets”)   iPhone, smartphone, and feature phone   Optimized mobile experience   Only display essential information (device dependent)   Code to reduce the amount of input needed 47
  • 48. Q&A
  • 49. Thank you! Design: Eric J. Kim eric@chemicalcreative.com Development: Albert Chow, Sonya Huang, and Brian Patt MangoText mangotext@mit.edu 49