SlideShare a Scribd company logo
1 of 24
Wikipedia Mobile App with
       PhoneGap
           Ted Chien
  Secretary, Wikimedia Taiwan
    htchien@wikimedia.tw
Agenda
•   Wikipedia and Mobile
•   Wikipedia Mobile and PhoneGap
•   PhoneGap Resources
•   Wikipedia Mobile App Project
•   How to Join the Project?
WIKIPEDIA AND MOBILE
Wikipedia on Mobile
    (Early Stage)



          • HTML & WML hybrid
            webserver.
Search Results & Browsing
Wikipedia Mobile App - iPhone
           • Open code base
           • Translated to over 25+ languages
             through community translations.
           • Geo-location of articles.
           • Over 150,000 downloads each
             month.
           • Download from iTunes Store:
             http://itunes.apple.com/app/wik
             ipedia-mobile/id324715238
New Mobile Gateway in 2011
           • Ruby Based, open sourced.
           • Collapsible Sections.
           • Works on tons of cell phones.
           • Active community improving
             code base.
           • Available for 35+ Wikipedia
             projects.
           • Project URL:
             http://tinyurl.com/4uykd6e
Next Step
• Continue to improve Mobile Gateway.
• Wikipedia Mobile App on all Mobile Platforms.
  – Wikipedia Mobile 1.0 for Android scheduled for
    end/November, 2011.
  – More platforms to come….
• More information
  – Wikimedia Mobile Projects:
    http://meta.wikimedia.org/wiki/Mobile_Projects
WIKIMEDIA MOBILE APP AND
PHONEGAP
App Features and Roadmap
• http://meta.wikimedia.org/wiki/Mobile_Proje
  cts/App_Features_%26_Roadmap
PhoneGap
• Apache S.F. project: Apache Callback (Oct.
  2011).
• Free open source Web Standards framework.
• New FreeBSD & MIT license.
• Based on HTML5/CSS3/JavaScript.
• Build app once, deploy to multiple mobile
  platforms.
• Support native features.
PhoneGap
           • Has community
             to provide
             useful Plug-ins
             and Tools.
PhoneGap Supported Platforms
•   Android       •   Windows Phone
•   iOS           •   Symbian
•   BlackBerry    •   Bada
•   webOS         •   Mac OS X
Why PhoneGap?
• Easy to create WebApp with native features
  and deploy to native App Stores.
• Consistence UI behavior on more mobile
  platforms.
• HTML5/CSS3/JavaScript are supported on
  most platforms.
• Can debug the code with Chrome DevTools,
  Apple Web Inspector or PhoneGap Weinre.
Why PhoneGap?
• Tech support from nitobi (now Adobe) is
  responsive.
• PhoneGap is open sourced on GitHub, thus
  their code is very easy to be verified.
PhoneGap Resources
• How to Start:
  – http://phonegap.com/start
• API Reference:
  http://docs.phonegap.com/en/1.2.0/index.ht
  ml
• Wiki: http://wiki.phonegap.com
WIKIPEDIA MOBILE APP
PROJECT CODE
Wikipedia Activity
• assets/www/index.html
  – Includes JS frameworks to use.
  – Includes PhoneGap plug-ins.
  – Includes app logic.
  – Includes platform-specific codes.
  – Defines main UI, and initialize with main.js.
  – Defines app menu items.
• assets/www/app.css
  – Defines main UI styles.
Wikipedia App Logic
• MediaWiki API:
  – assets/www/js/mediawiki.js
  – http://www.mediawiki.org/wiki/API
• Search: assets/www/js/search.js
• Bookmarks: assets/www/js/bookmark.js
• History: assets/www/js/app_history.js
Wikipedia App Logic
• NearByMe: assets/www/js/geo.js
  – Directly executes NearMePlugin to start the
    NearMeActivity in Android and shows nearby
    Wikipedia geo-locations (WikiItemizedOverlay).
    Then do related actions in Android.
  – Get returned result from Android in NearMePlugin
    and callback to PhoneGap JS engine to show the
    Wikipedia article in WebView.
• You need to get GMap API key first so you can
  see details in MapView.
Wikipedia App Logic
• Settings: assets/www/js/settings.js
• Select Text: assets/www/android/platform.js
  – Directly executes SelectTextPlugin in Android to
    select the text on WebView.
• Share page: assets/www/android/platform.js
  – Directly executes Share plugin in Android to share
    the web page URL.
• About: assets/www/js/main.js
How to join the Project?
• http://meta.wikimedia.org/wiki/Mobile_Proje
  cts/Contribute
Thank You!

         Ted Chien
Secretary, Wikimedia Taiwan
  htchien@wikimedia.tw

More Related Content

What's hot

Intro to mobile apps with the ionic framework & angular js
Intro to mobile apps with the ionic framework & angular jsIntro to mobile apps with the ionic framework & angular js
Intro to mobile apps with the ionic framework & angular jsHector Iribarne
 
Building Mobile Apps with Cordova , AngularJS and Ionic
Building Mobile Apps with Cordova , AngularJS and IonicBuilding Mobile Apps with Cordova , AngularJS and Ionic
Building Mobile Apps with Cordova , AngularJS and IonicKadhem Soltani
 
Hybrid Mobile Development with Apache Cordova,AngularJs and ionic
Hybrid Mobile Development with Apache Cordova,AngularJs and ionicHybrid Mobile Development with Apache Cordova,AngularJs and ionic
Hybrid Mobile Development with Apache Cordova,AngularJs and ionicErmias Bayu
 
App forum2015 London - Building RhoMobile Applications with Ionic
App forum2015 London - Building RhoMobile Applications with IonicApp forum2015 London - Building RhoMobile Applications with Ionic
App forum2015 London - Building RhoMobile Applications with Ionicrobgalvinjr
 
Debugging and Tuning Mobile Web Sites with Modern Web Browsers
Debugging and Tuning Mobile Web Sites with Modern Web BrowsersDebugging and Tuning Mobile Web Sites with Modern Web Browsers
Debugging and Tuning Mobile Web Sites with Modern Web BrowsersTroy Miles
 
Phonegap/Cordova vs Native Application
Phonegap/Cordova vs Native ApplicationPhonegap/Cordova vs Native Application
Phonegap/Cordova vs Native ApplicationMuhammad Hakim A
 
Hybrid vs. Native app - Ionic Framework with AngularJS
Hybrid vs. Native app - Ionic Framework with AngularJSHybrid vs. Native app - Ionic Framework with AngularJS
Hybrid vs. Native app - Ionic Framework with AngularJSZvika Epstein
 
Reimagining Cordova: Building Cross-Platform Web Apps with Capacitor
Reimagining Cordova: Building Cross-Platform Web Apps with CapacitorReimagining Cordova: Building Cross-Platform Web Apps with Capacitor
Reimagining Cordova: Building Cross-Platform Web Apps with CapacitorIonic Framework
 
Test+video+upload
Test+video+uploadTest+video+upload
Test+video+uploadTianwei_liu
 
Cordova / PhoneGap, mobile apps development with HTML5/JS/CSS
Cordova / PhoneGap, mobile apps development with HTML5/JS/CSSCordova / PhoneGap, mobile apps development with HTML5/JS/CSS
Cordova / PhoneGap, mobile apps development with HTML5/JS/CSSGabriel Huecas
 
Build Consumer Apps Using Mobile SDK and Ionic Framework
Build Consumer Apps Using Mobile SDK and Ionic FrameworkBuild Consumer Apps Using Mobile SDK and Ionic Framework
Build Consumer Apps Using Mobile SDK and Ionic FrameworkSalesforce Developers
 
AngularJS on Mobile with the Ionic Framework
AngularJS on Mobile with the Ionic FrameworkAngularJS on Mobile with the Ionic Framework
AngularJS on Mobile with the Ionic FrameworkTroy Miles
 
Building mobile app with Ionic Framework
Building mobile app with Ionic FrameworkBuilding mobile app with Ionic Framework
Building mobile app with Ionic FrameworkHuy Trần
 
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)Ryan Cuprak
 
Hybrid Apps with Ionic Framework
Hybrid Apps with Ionic FrameworkHybrid Apps with Ionic Framework
Hybrid Apps with Ionic FrameworkBramus Van Damme
 
Ionic Framework: Let's build amazing apps. No Excuses!
Ionic Framework: Let's build amazing apps. No Excuses!Ionic Framework: Let's build amazing apps. No Excuses!
Ionic Framework: Let's build amazing apps. No Excuses!Matheus Cardoso
 
Introduction to the Ionic Framework
Introduction to the Ionic FrameworkIntroduction to the Ionic Framework
Introduction to the Ionic Frameworkrrjohnson85
 

What's hot (20)

Intro to mobile apps with the ionic framework & angular js
Intro to mobile apps with the ionic framework & angular jsIntro to mobile apps with the ionic framework & angular js
Intro to mobile apps with the ionic framework & angular js
 
Building Mobile Apps with Cordova , AngularJS and Ionic
Building Mobile Apps with Cordova , AngularJS and IonicBuilding Mobile Apps with Cordova , AngularJS and Ionic
Building Mobile Apps with Cordova , AngularJS and Ionic
 
Hybrid Mobile Development with Apache Cordova,AngularJs and ionic
Hybrid Mobile Development with Apache Cordova,AngularJs and ionicHybrid Mobile Development with Apache Cordova,AngularJs and ionic
Hybrid Mobile Development with Apache Cordova,AngularJs and ionic
 
App forum2015 London - Building RhoMobile Applications with Ionic
App forum2015 London - Building RhoMobile Applications with IonicApp forum2015 London - Building RhoMobile Applications with Ionic
App forum2015 London - Building RhoMobile Applications with Ionic
 
Debugging and Tuning Mobile Web Sites with Modern Web Browsers
Debugging and Tuning Mobile Web Sites with Modern Web BrowsersDebugging and Tuning Mobile Web Sites with Modern Web Browsers
Debugging and Tuning Mobile Web Sites with Modern Web Browsers
 
Phonegap/Cordova vs Native Application
Phonegap/Cordova vs Native ApplicationPhonegap/Cordova vs Native Application
Phonegap/Cordova vs Native Application
 
Hybrid vs. Native app - Ionic Framework with AngularJS
Hybrid vs. Native app - Ionic Framework with AngularJSHybrid vs. Native app - Ionic Framework with AngularJS
Hybrid vs. Native app - Ionic Framework with AngularJS
 
Hybrid app development with ionic
Hybrid app development with ionicHybrid app development with ionic
Hybrid app development with ionic
 
Reimagining Cordova: Building Cross-Platform Web Apps with Capacitor
Reimagining Cordova: Building Cross-Platform Web Apps with CapacitorReimagining Cordova: Building Cross-Platform Web Apps with Capacitor
Reimagining Cordova: Building Cross-Platform Web Apps with Capacitor
 
Test+video+upload
Test+video+uploadTest+video+upload
Test+video+upload
 
Cordova / PhoneGap, mobile apps development with HTML5/JS/CSS
Cordova / PhoneGap, mobile apps development with HTML5/JS/CSSCordova / PhoneGap, mobile apps development with HTML5/JS/CSS
Cordova / PhoneGap, mobile apps development with HTML5/JS/CSS
 
Build Consumer Apps Using Mobile SDK and Ionic Framework
Build Consumer Apps Using Mobile SDK and Ionic FrameworkBuild Consumer Apps Using Mobile SDK and Ionic Framework
Build Consumer Apps Using Mobile SDK and Ionic Framework
 
AngularJS on Mobile with the Ionic Framework
AngularJS on Mobile with the Ionic FrameworkAngularJS on Mobile with the Ionic Framework
AngularJS on Mobile with the Ionic Framework
 
Building mobile app with Ionic Framework
Building mobile app with Ionic FrameworkBuilding mobile app with Ionic Framework
Building mobile app with Ionic Framework
 
Ionic Framework
Ionic FrameworkIonic Framework
Ionic Framework
 
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
 
Hybrid Apps with Ionic Framework
Hybrid Apps with Ionic FrameworkHybrid Apps with Ionic Framework
Hybrid Apps with Ionic Framework
 
Cross Platform Mobile Development
Cross Platform Mobile DevelopmentCross Platform Mobile Development
Cross Platform Mobile Development
 
Ionic Framework: Let's build amazing apps. No Excuses!
Ionic Framework: Let's build amazing apps. No Excuses!Ionic Framework: Let's build amazing apps. No Excuses!
Ionic Framework: Let's build amazing apps. No Excuses!
 
Introduction to the Ionic Framework
Introduction to the Ionic FrameworkIntroduction to the Ionic Framework
Introduction to the Ionic Framework
 

Similar to Wikipedia Mobile App with PhoneGap

Getting Started with Mobile Websites if You Don't Know Code
Getting Started with Mobile Websites if You Don't Know CodeGetting Started with Mobile Websites if You Don't Know Code
Getting Started with Mobile Websites if You Don't Know CodeCarli Spina
 
I knew there had to be a better way to build mobile apps
I knew there had to be a better way to build mobile appsI knew there had to be a better way to build mobile apps
I knew there had to be a better way to build mobile appsAlius Petraška
 
Simon Bates, Manifesto Digital - Mobile Application Development: Past, Presen...
Simon Bates, Manifesto Digital - Mobile Application Development: Past, Presen...Simon Bates, Manifesto Digital - Mobile Application Development: Past, Presen...
Simon Bates, Manifesto Digital - Mobile Application Development: Past, Presen...Simon Bates
 
«I knew there had to be a better way to build mobile app»​
«I knew there had to be a better way to build mobile app»​«I knew there had to be a better way to build mobile app»​
«I knew there had to be a better way to build mobile app»​FDConf
 
Cross-platform Mobile Development on Open Source
Cross-platform Mobile Development on Open SourceCross-platform Mobile Development on Open Source
Cross-platform Mobile Development on Open SourceAll Things Open
 
Making the Mobile Web Native with PhoneGap
Making the Mobile Web Native with PhoneGapMaking the Mobile Web Native with PhoneGap
Making the Mobile Web Native with PhoneGapRoy Clarkson
 
Developing a native mobile apps using Ionic&Cordova
Developing a native mobile apps using Ionic&CordovaDeveloping a native mobile apps using Ionic&Cordova
Developing a native mobile apps using Ionic&CordovaDamir Beylkhanov
 
Cross Platform Mobile Development
Cross Platform Mobile DevelopmentCross Platform Mobile Development
Cross Platform Mobile DevelopmentManesh Lad
 
PhoneGap at Facebook Mobile Hack
PhoneGap at Facebook Mobile HackPhoneGap at Facebook Mobile Hack
PhoneGap at Facebook Mobile HackPhoneGap
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGapRamesh Nair
 
Hybrid Mobile application
Hybrid Mobile applicationHybrid Mobile application
Hybrid Mobile applicationSanjay Patel
 
Building Native Apps With Titanium Mobile
Building Native Apps With Titanium MobileBuilding Native Apps With Titanium Mobile
Building Native Apps With Titanium MobileBrendan Lim
 
Hybrid app development
Hybrid app developmentHybrid app development
Hybrid app developmentHarshul Shah
 
Hybrid mobile application with Ionic
Hybrid mobile application with IonicHybrid mobile application with Ionic
Hybrid mobile application with IonicMaulik Bamania
 
Cross Platform Mobile App Development
Cross Platform Mobile App DevelopmentCross Platform Mobile App Development
Cross Platform Mobile App DevelopmentSynerzip
 
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapBuilding Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapNick Landry
 
Mobile Development: HTML5 Vs. Native
Mobile Development: HTML5 Vs. NativeMobile Development: HTML5 Vs. Native
Mobile Development: HTML5 Vs. NativeSynerzip
 
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
 
Mobile applications chapter 2
Mobile applications chapter 2Mobile applications chapter 2
Mobile applications chapter 2Akib B. Momin
 

Similar to Wikipedia Mobile App with PhoneGap (20)

Getting Started with Mobile Websites if You Don't Know Code
Getting Started with Mobile Websites if You Don't Know CodeGetting Started with Mobile Websites if You Don't Know Code
Getting Started with Mobile Websites if You Don't Know Code
 
I knew there had to be a better way to build mobile apps
I knew there had to be a better way to build mobile appsI knew there had to be a better way to build mobile apps
I knew there had to be a better way to build mobile apps
 
Simon Bates, Manifesto Digital - Mobile Application Development: Past, Presen...
Simon Bates, Manifesto Digital - Mobile Application Development: Past, Presen...Simon Bates, Manifesto Digital - Mobile Application Development: Past, Presen...
Simon Bates, Manifesto Digital - Mobile Application Development: Past, Presen...
 
«I knew there had to be a better way to build mobile app»​
«I knew there had to be a better way to build mobile app»​«I knew there had to be a better way to build mobile app»​
«I knew there had to be a better way to build mobile app»​
 
Cross-platform Mobile Development on Open Source
Cross-platform Mobile Development on Open SourceCross-platform Mobile Development on Open Source
Cross-platform Mobile Development on Open Source
 
Making the Mobile Web Native with PhoneGap
Making the Mobile Web Native with PhoneGapMaking the Mobile Web Native with PhoneGap
Making the Mobile Web Native with PhoneGap
 
Developing a native mobile apps using Ionic&Cordova
Developing a native mobile apps using Ionic&CordovaDeveloping a native mobile apps using Ionic&Cordova
Developing a native mobile apps using Ionic&Cordova
 
Cross Platform Mobile Development
Cross Platform Mobile DevelopmentCross Platform Mobile Development
Cross Platform Mobile Development
 
PhoneGap at Facebook Mobile Hack
PhoneGap at Facebook Mobile HackPhoneGap at Facebook Mobile Hack
PhoneGap at Facebook Mobile Hack
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGap
 
Hybrid Mobile application
Hybrid Mobile applicationHybrid Mobile application
Hybrid Mobile application
 
Building Native Apps With Titanium Mobile
Building Native Apps With Titanium MobileBuilding Native Apps With Titanium Mobile
Building Native Apps With Titanium Mobile
 
Hybrid app development
Hybrid app developmentHybrid app development
Hybrid app development
 
Hybrid mobile application with Ionic
Hybrid mobile application with IonicHybrid mobile application with Ionic
Hybrid mobile application with Ionic
 
Cross Platform Mobile App Development
Cross Platform Mobile App DevelopmentCross Platform Mobile App Development
Cross Platform Mobile App Development
 
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapBuilding Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
 
Mobile Development: HTML5 Vs. Native
Mobile Development: HTML5 Vs. NativeMobile Development: HTML5 Vs. Native
Mobile Development: HTML5 Vs. Native
 
tittanium
tittaniumtittanium
tittanium
 
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
 
Mobile applications chapter 2
Mobile applications chapter 2Mobile applications chapter 2
Mobile applications chapter 2
 

More from Ted Chien

Google I/O 2019 Recap
Google I/O 2019 RecapGoogle I/O 2019 Recap
Google I/O 2019 RecapTed Chien
 
Google I/O 2016 Recap
Google I/O 2016 RecapGoogle I/O 2016 Recap
Google I/O 2016 RecapTed Chien
 
維基媒體國際年會介紹
維基媒體國際年會介紹維基媒體國際年會介紹
維基媒體國際年會介紹Ted Chien
 
viWave Study Group - Introduction to Google Android Development - Chapter 23 ...
viWave Study Group - Introduction to Google Android Development - Chapter 23 ...viWave Study Group - Introduction to Google Android Development - Chapter 23 ...
viWave Study Group - Introduction to Google Android Development - Chapter 23 ...Ted Chien
 
State of Wikimedia Chapter - Wikimedia Taiwan
State of Wikimedia Chapter - Wikimedia TaiwanState of Wikimedia Chapter - Wikimedia Taiwan
State of Wikimedia Chapter - Wikimedia TaiwanTed Chien
 
行動裝置介紹與基督徒相關的應用
行動裝置介紹與基督徒相關的應用行動裝置介紹與基督徒相關的應用
行動裝置介紹與基督徒相關的應用Ted Chien
 
Android In A Nutshell
Android In A NutshellAndroid In A Nutshell
Android In A NutshellTed Chien
 

More from Ted Chien (7)

Google I/O 2019 Recap
Google I/O 2019 RecapGoogle I/O 2019 Recap
Google I/O 2019 Recap
 
Google I/O 2016 Recap
Google I/O 2016 RecapGoogle I/O 2016 Recap
Google I/O 2016 Recap
 
維基媒體國際年會介紹
維基媒體國際年會介紹維基媒體國際年會介紹
維基媒體國際年會介紹
 
viWave Study Group - Introduction to Google Android Development - Chapter 23 ...
viWave Study Group - Introduction to Google Android Development - Chapter 23 ...viWave Study Group - Introduction to Google Android Development - Chapter 23 ...
viWave Study Group - Introduction to Google Android Development - Chapter 23 ...
 
State of Wikimedia Chapter - Wikimedia Taiwan
State of Wikimedia Chapter - Wikimedia TaiwanState of Wikimedia Chapter - Wikimedia Taiwan
State of Wikimedia Chapter - Wikimedia Taiwan
 
行動裝置介紹與基督徒相關的應用
行動裝置介紹與基督徒相關的應用行動裝置介紹與基督徒相關的應用
行動裝置介紹與基督徒相關的應用
 
Android In A Nutshell
Android In A NutshellAndroid In A Nutshell
Android In A Nutshell
 

Recently uploaded

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
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
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 

Recently uploaded (20)

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
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
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 

Wikipedia Mobile App with PhoneGap

  • 1. Wikipedia Mobile App with PhoneGap Ted Chien Secretary, Wikimedia Taiwan htchien@wikimedia.tw
  • 2. Agenda • Wikipedia and Mobile • Wikipedia Mobile and PhoneGap • PhoneGap Resources • Wikipedia Mobile App Project • How to Join the Project?
  • 4. Wikipedia on Mobile (Early Stage) • HTML & WML hybrid webserver.
  • 5. Search Results & Browsing
  • 6.
  • 7. Wikipedia Mobile App - iPhone • Open code base • Translated to over 25+ languages through community translations. • Geo-location of articles. • Over 150,000 downloads each month. • Download from iTunes Store: http://itunes.apple.com/app/wik ipedia-mobile/id324715238
  • 8. New Mobile Gateway in 2011 • Ruby Based, open sourced. • Collapsible Sections. • Works on tons of cell phones. • Active community improving code base. • Available for 35+ Wikipedia projects. • Project URL: http://tinyurl.com/4uykd6e
  • 9. Next Step • Continue to improve Mobile Gateway. • Wikipedia Mobile App on all Mobile Platforms. – Wikipedia Mobile 1.0 for Android scheduled for end/November, 2011. – More platforms to come…. • More information – Wikimedia Mobile Projects: http://meta.wikimedia.org/wiki/Mobile_Projects
  • 10. WIKIMEDIA MOBILE APP AND PHONEGAP
  • 11. App Features and Roadmap • http://meta.wikimedia.org/wiki/Mobile_Proje cts/App_Features_%26_Roadmap
  • 12. PhoneGap • Apache S.F. project: Apache Callback (Oct. 2011). • Free open source Web Standards framework. • New FreeBSD & MIT license. • Based on HTML5/CSS3/JavaScript. • Build app once, deploy to multiple mobile platforms. • Support native features.
  • 13. PhoneGap • Has community to provide useful Plug-ins and Tools.
  • 14. PhoneGap Supported Platforms • Android • Windows Phone • iOS • Symbian • BlackBerry • Bada • webOS • Mac OS X
  • 15. Why PhoneGap? • Easy to create WebApp with native features and deploy to native App Stores. • Consistence UI behavior on more mobile platforms. • HTML5/CSS3/JavaScript are supported on most platforms. • Can debug the code with Chrome DevTools, Apple Web Inspector or PhoneGap Weinre.
  • 16. Why PhoneGap? • Tech support from nitobi (now Adobe) is responsive. • PhoneGap is open sourced on GitHub, thus their code is very easy to be verified.
  • 17. PhoneGap Resources • How to Start: – http://phonegap.com/start • API Reference: http://docs.phonegap.com/en/1.2.0/index.ht ml • Wiki: http://wiki.phonegap.com
  • 19. Wikipedia Activity • assets/www/index.html – Includes JS frameworks to use. – Includes PhoneGap plug-ins. – Includes app logic. – Includes platform-specific codes. – Defines main UI, and initialize with main.js. – Defines app menu items. • assets/www/app.css – Defines main UI styles.
  • 20. Wikipedia App Logic • MediaWiki API: – assets/www/js/mediawiki.js – http://www.mediawiki.org/wiki/API • Search: assets/www/js/search.js • Bookmarks: assets/www/js/bookmark.js • History: assets/www/js/app_history.js
  • 21. Wikipedia App Logic • NearByMe: assets/www/js/geo.js – Directly executes NearMePlugin to start the NearMeActivity in Android and shows nearby Wikipedia geo-locations (WikiItemizedOverlay). Then do related actions in Android. – Get returned result from Android in NearMePlugin and callback to PhoneGap JS engine to show the Wikipedia article in WebView. • You need to get GMap API key first so you can see details in MapView.
  • 22. Wikipedia App Logic • Settings: assets/www/js/settings.js • Select Text: assets/www/android/platform.js – Directly executes SelectTextPlugin in Android to select the text on WebView. • Share page: assets/www/android/platform.js – Directly executes Share plugin in Android to share the web page URL. • About: assets/www/js/main.js
  • 23. How to join the Project? • http://meta.wikimedia.org/wiki/Mobile_Proje cts/Contribute
  • 24. Thank You! Ted Chien Secretary, Wikimedia Taiwan htchien@wikimedia.tw