SlideShare una empresa de Scribd logo
1 de 49
Descargar para leer sin conexión
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

Más contenido relacionado

Similar a 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 a 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
 

Último

Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Nikki Chapple
 
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessWSO2
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...Karmanjay Verma
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxAna-Maria Mihalceanu
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Karmanjay Verma
 
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
 
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
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...itnewsafrica
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentMahmoud Rabie
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfAarwolf Industries LLC
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFMichael Gough
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
 

Último (20)

Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
 
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with Platformless
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#
 
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
 
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
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career Development
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdf
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDF
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
 

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