`(10) Patent No.:
`a2) United States Patent
`Mandyametal.
`(45) Date of Patent:
`Nov. 26, 2013
`
`
`US008595186B1
`
`(54) SYSTEM AND METHOD FOR BUILDING AND
`DELIVERING MOBILE WIDGETS
`
`(75)
`
`.
`ee
`.
`Inventors: Srinivas Mandyam,San Jose, CA (US):
`Krishna Vedati, Sunnyvale, CA (US),
`Kelvin Voon-Kit Chong, San Jose, CA
`(US)
`
`.
`:
`(73) Assignee: Plusmo LLC,Glendale, CA (US)
`(*) Notice:
`Subject to any disclaimer, the term ofthis
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 1190 days.
`(21) Appl. No.: 12/135,089
`
`(22)
`
`Filed:
`
`Jun. 6, 2008
`
`Related U.S. Application Data
`.
`(60) Provisional application No. 60/942,406, filed on Jun.
`6, 2007.
`
`(51)
`
`Int. Cl.
`GO6F 7/00
`GO6F 17/00
`
`(2006.01)
`(2006.01)
`
`(2006.01)
`(52) Ceo
`;
`;
`;
`se
`USPC vereeteeess: 7071632; 707/733; 707/912; 717/178
`(58) Field of Classification Search
`USPC. oe 707/617, 623, 628, 632, 633, 731-734,
`oo
`707!912, 178
`See applicationfile for complete search history.
`References Cited
`U.S. PATENT DOCUMENTS
`
`(56)
`
`5/2012 Kaminski, Jr. 0.0.0... 707/698
`8,185,507 B1*
`9/2012 Jianuetal. ......
`w TITAT4
`8,261,258 BL*
`
`707/104.1
`2001/0047363 AL* 11/2001 Peng ...........
`
`....
`.. 709/225
`2003/0208595 Al* 11/2003 Gouge etal.
`
`3/2005 Ekbergetal. ...
`... 370/338
`2005/0058108 Al*
`
`
`7/2005 Hofmeister etal.
`707/104.1
`2005/0154759 Al*
`8/2005 Myers wc 715/716
`2005/0172231 AL*
`6/2006 Prabandham et al.
`.. 719/328
`2006/0143622 Al*
`7/2006 Elliottet al. ww. 705/14
`2006/0149630 Al*
`
`... 370/401
`2006/0165105 Al*
`7/2006 Shenfield etal.
`2007/0033584 AL™ 2/2007 YU cccccccececccccsececsecereeseveee 717/168
`(Continued)
`
`FOREIGN PATENT DOCUMENTS
`Es
`WO 2005053335 Al
`6/2005eee H04Q 7/32
`OTHER PUBLICATIONS
`
`WO
`
`“Sony Ericsson 7525 White Paper”. Aug. 2006. Sony Ericsson. 64
`ages.”
`pee
`
`(Continued)
`
`Primary Examiner — James E Richardson
`(74) Attorney, Agent, or Firm — Kilpatrick Townsend &
`Stockton LLP
`
`(57)
`
`ABSTRACT
`
`Systems and methodsare provided for creating, publishing,
`sharing, and delivering mobile software applications called
`“mobile widgets” onto mobile devices. A system may include
`functionality to render a declaratory component ofa widget,
`such as HTML,andalso functionality to execute an impera-
`tive componentof a widget, which may or may not be com-
`piled and/orin a scripting or functional language. Mecha-
`nisms for providing common access to disparate device
`capabilities APIs are also provided, as are mechanisms for
`installing widgets onto mobile devices and managing those
`widgets.
`
`7,454,459 B1* 11/2008 Kapooretal. ........... 709/203
`7,890,136 BI*
`2/2011 Fujisaki... 455/556.1
`
`62 Claims, 72 Drawing Sheets
`
`121
`
`123
`
`124
`
`
`
`
`Content
`
`
`Publisher
`Client
`
`
`
`Web
`
`Service
`122
`
`
`
`Portal or
`
`
`Aggregator
`
`
`
`
`Any
`Website
`
`
`
`141
`
`140
`
`Booking, Exh. 1054, Page 1
`
`Booking, Exh. 1054, Page 1
`
`
`
`US 8,595,186 B1
`
`Page 2
`
`(56)
`
`References Cited
`
`2009/0077664 Al*
`
`3/2009 Hsuetal. oe 726/24
`
`U.S. PATENT DOCUMENTS
`
`OTHER PUBLICATIONS
`
`2007/0101291 A1*
`5/2007 Forstall etal. oc... 715/805
`2007/0101433 AL*
`5/2007 Louchetal. wo. 726/25
`aeOSSeon “i : Qsoos Marfall po asaho.
`aminski,
`Jr.
`..
`fees
`7
`........ 709/245
`2007/0250643 Al* 10/2007 Pyhalammi etal.
`
`2007/0260637 Al* 11/2007 Shenfield etal. ......... 707/104.1
`
`....
`455/414]
`2007/0275705 Al* 11/2007 Lauetal.
`
`ws 455/566
`2008/0167078 A1l*
`7/2008 Eibye.......
`
`7/2008 Louchetal.
`wee 715/781
`2008/0168382 Al*
`7/2008 Robbin etal. wc. 715/810
`2008/0168391 AL*
`
`Tomimori et al. “An Efficient and Flexible Access Control Frame-
`work for Java Programs in Mobile Terminals” 2002. Proceedings of
`the 22nd International Conference on Distributed Computing Sys-
`*
`tems Workshops. 6 pages."
`;
` Raento et al.
`“ContextPhone: A prototypingPlatform for Context-
`Aware Mobile Applications” 2005. Pervasive Computing, IEEE,vol.
`4, No. 2, pp. 51-59.*
`
`* cited by examiner
`
`Booking, Exh. 1054, Page 2
`
`Booking, Exh. 1054, Page 2
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 1 of 72
`
`US 8,595,186 B1
`
`OvI
`
`O€T
`
`[vl
`
`WTO
`
`IDAIOS
`
`wayskS
`
`(OTDID
`
`yU9yU07)
`
`rOyst|gNd
`
`Tcl
`
`qe.
`
`OLAS
`
`40[PYOdg
`
`JoyesaIssy
`
`Auy
`
`STISGOA
`
`el
`
`vel
`
`Booking, Exh. 1054, Page 3
`
`Booking, Exh. 1054, Page 3
`
`
`
`
`
`
`
`I8TTILTI9T
`
`
`
`UOUILUO7)uonnoex]Ja1opucy091
`
`
`SOTAQ]0}STTVDoaeroduryAloyere[voq
`pooF
`
`QOTAIOSSOLASouisuyq
`
`somnjeay
`
`cl
`
`It]
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 2 of 72
`
`US 8,595,186 B1
`
`081
`
`Ost
`
`
`
`
`
`Areyoudoig
`
`
`
`QOTAINGSOTARQ]
`
`(Wr5b
`
`Booking, Exh. 1054, Page 4
`
`Booking, Exh. 1054, Page 4
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 3 of 72
`
`US 8,595,186 B1
`
`External Service
`
`240
`
`and Widgets
`Personal Server System
`
`eeBioee =PIM
`ogging/ “Photo|oe]Pict| 1| |
`
`
`Publishin
`Publishing | aoisan (Email,
`|
`|Audio/V:ideo oie]
`
`
`
`
`usmng Calendar,||Multi-MediaTools ppl _
`|Applications|
`L_
`Notes
`
`230
`
`Content
`
`Booking, Exh. 1054, Page 5
`
`Booking, Exh. 1054, Page 5
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 4 of 72
`
`US 8,595,186 B1
`
`310
`
`WARS
`\S a EQN
`.
`Vecge® Oe
`.
`
`
`WidgetLaunchpad
`
` :
`MEY
`
`FIG, 3
`
`Booking, Exh. 1054, Page 6
`
`Booking, Exh. 1054, Page 6
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 5 of 72
`
`Self Serve Web and Mobile Interface
`
`400
`
`414
`
`410
`
`Application &
`Resources
`
`Billing Server
`
`Oe
`
`Purchases
`
`Costs
`
`Location Engine
`
`Sic
`
`Location Database
`
`Ad Syndication Engine
`
`Ad Repository
`
`Widget Creation Tools
`
`Hosted tools
`
`User-installed
`tools
`
`Mobile tools
`
`FIG. Hal
`
`FIG. 4a)?
`
`
`
`US 8,595,186 B1
`
`
`
`Booking, Exh. 1054, Page 7
`
`Booking, Exh. 1054, Page 7
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 6 of 72
`
`405
`
`Query
`
`Yahoo
`
`
`Search Index
`
`User Vault
`
`Content Cache
`
`API
`
`,
`Login Adapters
`
`Passwords
`
`Session Manager
`
`Scheduler
`
`API
`
`Memory Cache
`
`Store
`
`Search Adapters
`MSN
`Alexa
`
`Text/video/audio
`
`US 8,595,186 B1
`
` FIG. 4a)?
`
`Booking, Exh. 1054, Page 8
`
`|tives|
`
`Network File
`System
`
`Database
`
`Livecasting Engine
`
`5
`
`Ourees
`
`Adapters/
`Listeners
`
`Media Sync.
`
`Booking, Exh. 1054, Page 8
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 7 of 72
`
`US 8,595,186 B1
`
`412
`
`407
`
`408
`
`Mobile Applications
`
`Device Detection
`
`API
`
`Signature
`Resolution
`
`Device
`Database
`
`Text Data
`Sources
`
`Pull Adapter
`
`CO
`
`Application
`Repository
`
`Content Adapters
`Video Data
`Sources
`
`Polling Server
`
`470
`
`Sync Engine
`
`Ccompression
`
`Protocol Handler
`
`Difference Engine
`
`Content
`Transformer
`
`Prefetch
`
`Processors
`
`Others (images,
`audio, etc)
`
`Push Adapter
`
`)
`
`
`
`> 402
`
`NS DownloadRequestHandler
`
`
`
`
`ae471
`Neto]
`|te a
`
`411
`
`Transcoder (e.g. video,
`HTML,audio,etc)
`
`Logging
`
`417
`
`WebInterface
`
`415
`
`FIG. 4a)3
`
`Booking, Exh. 1054, Page 9
`
`Booking, Exh. 1054, Page 9
`
`
`
`yOSPIM, LSP
`
`SSP
`
`4soHUoreoddy
`
`CSP
`
`
`
`oulsuqspy
`
`
`
`oursuqoUAS
`
`jurogAnju
`
`uorsssIdw07)
`ouIsUSULIOpusy
`
`SuIoUaIayIC]WsywOQ
`
`
`SIOSPIAAHING-21d
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 8 of 72
`
`seg,Aepoy,,OL]
`
`OUT
`
`Io}Da][9D
`
`oSeqiegWASundog
`
`S[dVstmuo}jeJ
`
`JO3PI,
`
`AJousoday
`
`US 8,595,186 B1
`
`9SbOLT
`
`IvI
`
`O91
`
`(QtDID
`
`ISP
`
`Booking, Exh. 1054, Page 10
`
`Booking, Exh. 1054, Page 10
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 9 of 72
`
`id,
`
`BEYSIDE
`
`US 8,595,186 B1
`
`(Qsbib
`
`Booking, Exh. 1054, Page 11
`
`Booking, Exh. 1054, Page 11
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 10 of 72
`
`US 8,595,186 B1
`
`Tes
`
`ceWw
`
`OES
`IPEIPTTTRE
`
`EL
`
`Booking, Exh. 1054, Page 12
`
`Booking, Exh. 1054, Page 12
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 11 of 72
`
`US 8,595,186 B1
`
`600
`
`\O
`
`phacbesFe
`
`ss
`Mt2
`
`seh
`
`Ab
`
`601
`
`Booking, Exh. 1054, Page 13
`
`Booking, Exh. 1054, Page 13
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 12 of 72
`
`US 8,595,186 B1
`
`BOG3MRURAR
`
`HeiOnJveupery
`
`ANSLOUy
`
`
`
`Hisaepweuspe
`
`8193p
`
`Booking, Exh. 1054, Page 14
`
`Booking, Exh. 1054, Page 14
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 13 of 72
`
`US 8,595,186 B1
`
` -
`
`OOL
`
`Booking, Exh. 1054, Page 15
`
`Booking, Exh. 1054, Page 15
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 14 of 72
`
`US 8,595,186 B1
`
`ninyy
`
`AARSOREtieaep
`
`SEESOMERSOLYBY
`
`Booking, Exh. 1054, Page 16
`
`Booking, Exh. 1054, Page 16
`
`
`
`U.S. Patent
`
`Nov. 26, 2013
`
`Sheet 15 of 72
`
`US 8,595,186 B1
`
`c
`oS
`oo
`
`96
`S
`Se
`
`on
`S
`ca
`
`804
`
`801
`
`g
`
`YaoTn
`
`805
`
`806
`
`802
`
`Booking, Exh. 1054, Page 17
`
`Booking, Exh. 1054, Page 17
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 16 of 72
`
`US 8,595,186 B1
`
`FIG.&(6)
`
`Booking, Exh. 1054, Page 18
`
`Booking, Exh. 1054, Page 18
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 17 of 72
`
`US 8,595,186 B1
`
`Fo
`
`WikiesWEPes
`
`[16
`IAA [06
`
`yosolinnyyeagayddy
`£,208,NG,UACWBA
`
`4Sea
`
`iD)
`
`Booking, Exh. 1054, Page 19
`
`Booking, Exh. 1054, Page 19
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 18 of 72
`
`US 8,595,186 B1
`
`
`
`pEpEqumMapsteBpimnsaqoyy
`
`}XSUBY]UOpayeisulpue
`
`paaymeyau
`
`Meeemee
`
`
`
`UOISsesLOHEZIUOIOUAS
`
`Booking, Exh. 1054, Page 20
`
`Booking, Exh. 1054, Page 20
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 19 of 72
`
`US 8,595,186 B1
`
`Generate CAPTCHA
`
`User Enters Data
`
`Validate CAPTCHA
`
`Validate User-
`
`Show Form
`With CAPTCHA
`
`Entered Fields FIG, 10
`
`1006
`
`Booking, Exh. 1054, Page 21
`
`Booking, Exh. 1054, Page 21
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 20 of 72
`
`US 8,595,186 B1
`
`Mobileclient accesses
`download page
`
`Display Form
`
`1108
`
`1100
`
`Userregister on mobilesite
`(similar flow to web
`
`User Enters Data
`
`oo,
`Application is launched
`
`1109
`
`1101
`
`1105
`
`withthewr(MSISN
`used as unique ID)
`
`User data saved and
`unique ID generated
`
`Client generates
`
`1110
`
`1102
`
`1106
`
`(MSISDNis sent)
`registration)
`response code
`tetneserver
`onto device
`
`Create Download
`1
`Package w/ Unique ID
`
`Client transmits
`de
`to
`
`1103
`
`1107
`
`User downloads package
`
`1104
`
`FIG. 11
`
`Booking, Exh. 1054, Page 22
`
`Booking, Exh. 1054, Page 22
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 21 of 72
`
`US 8,595,186 B1
`
`pesaisigospuno,ypaissisar10}yoo]
`
`
`
`
`
`JOAJOSOIPIIO]SI89I98(]
`
`
`
`odA}ByepOy}10F
`
`
`
`
`
`yOUfUOSyNBJop9s—)
`
`
`
`
`
`IOAOSOISIATOSAIJOILFUOD
`
`
`
`
`
`SOLYUAPAAfOSalPUIS
`
`
`
`
`
`ssouarajoidJasnJon)
`
`sosUeyospudsJUIT7)
`
`
`AyioudsayeyjUST[D
`
`
`
`
`SOSUBYDSPUSSISAS
`
`
`Ayuoudsaye}JOAIaS
`
`SUIJLIMIOAO“IOAIOS0}
`
`
`SUIPLIMIOAO“JUDTTD0}
`
`
`
`SOBSUBYOIOAIOS
`
`
`
`sodueyoJwala
`
`
`
`SJUT[OpureJaAIag
`
`
`
`posueyoseyeyep
`
`STI
`
`
`
`
`
`
`
`WIMwonezTmomouAs
`
`ysonbar
`
`JOAJOS
`
`
`
`
`
`3SE]SPUISURT)JUSIT
`
`
`
`duwiejsouyaziuorauAs
`
`
`
`POATOOSI4SE]SB[JOMSe
`
`
`
`JoyHUsp!eyep
`
`
`
`soredulodJaAlag
`
`
`
`
`
`QUIPoLIpoUtyseTJOAdoouosjysurese
`
`
`
`JalyTuap!ejepjse]pue
`
`
`
`Jeynusp!eyep
`
`
`
`4SO}BlSIJUST]JSO]B]SIIOAIOG
`
`
`
`
`
`SOSUBYOspudsJOT)SosueyospuosJOAIOg
`
`yUsT[> eqepJOayesseyJaAIOG
`
`ClOID
`
`9021
`
`S0CTvoel
`
`JOAIOS0}UAT]07
`
`
`
`
`
`
`
`Booking, Exh. 1054, Page 23
`
`Booking, Exh. 1054, Page 23
`
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 22 of 72
`
`US 8,595,186 B1
`
`OEElpeo919‘WOLV‘SSViv
`
`
`
`
`
`yodxqTAXJoo}amydeoyusaqVy1
`
`OTel
`
`OO
`
`JOZI[BULION
`
`pSOzEl
`
`yasp)
`
`©)
`
`OPETOCET
`
`IOs()
`
`OO)
`
`
`
`OcelJoo)Azequsuru0dVY1;OIel
`
`RepMey
`
`Ol€l
`
`
`
`
`
`adeI0}¢>_
`
`OLY
`
`
`
`OLETWI‘Oul
`
`6SID
`
`OcET
`
`Jasso[g
`
`as)
`
`‘Lote
`
`Booking, Exh. 1054, Page 24
`
`Booking, Exh. 1054, Page 24
`
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 23 of 72
`
`US 8,595,186 B1
`
`Client connects to the
`
`1400
`
`Server computes the
`
`server
`server’s current load
`polling interval
`
`1401
`
`Exceeds threshold ?
`
`Yes
`
`Issue commandfuture
`incoming requests to slow
`
`1402
`
`1403
`
`interval
`
`Client sets new polling
`
`1404
`
`FIG. 14
`
`Booking, Exh. 1054, Page 25
`
`Booking, Exh. 1054, Page 25
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 24 of 72
`
`US 8,595,186 B1
`
`Fetch content through
`polling or push adapters
`
`Transcoding
`
`1501
`
`1505
`
`Detect content type
`
`(with caching)
`Insertions
`(with caching)
`(with caching)
`
`1502
`
`1506
`
`Store (cache) data
`
`Delivery
`
`1503
`
`1507
`
`Filter data
`
`FIG, 15
`
`Booking, Exh. 1054, Page 26
`
`Booking, Exh. 1054, Page 26
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 25 of 72
`
`US 8,595,186 B1
`
`
`
`
`
`
`
`JossaiduioD/JoposugqOsplA,ommdes)OsplAJoposag[auuRY)OSprA,ZS(}
`
`
`
`
`
`
`
`QSBI0}S
`
`
`
`
`
`
`
` COPIA,=yorqae|dOaplAJoo,SurddrjDcopra
`
`0991
`
`orglO€9T
`
`IDATOOSY
`
` OSPLA,CD0691S9910991OL9T
`
`syoeo
`
`
`-OU{/SUMOJSUBL],
`
`
`
`
`
`
`Bayou)OSplA,0891
`
`porapudi-aigSdooptApoaes)I‘bVT.Ci
`
`Booking, Exh. 1054, Page 27
`
`Booking, Exh. 1054, Page 27
`
`
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 26 of 72
`
`US 8,595,186 B1
`
`Mobile client requests a
`web page
`
`point back to transcoding
`server
`
`1705
`
`1730
`
`Store cookies sent by the
`
`Cacheresult
`
` Rewrite embedded URLsto
`website
`Sendto the client
`Get rules to apply
`Apply rules one-by-one
`
`1710
`
`1735
`
`Server fetches web page
`with cookies for the user on
`that web site
`
`1715
`
`1740
`
`Loop
`until
`finished
`
`1720
`
`1725
`
`FIG, 17
`
`Booking, Exh. 1054, Page 28
`
`Booking, Exh. 1054, Page 28
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 27 of 72
`
`US 8,595,186 B1
`
`Mobile device connects to
`server via web browser
`
`Mobile device connects to
`server via mobile
`application
`
`Collect device fingerprint
`
`Analysis module queries
`device database
`
` Exact match ?
`
`Find next ranked result
`
`Fallback
`
`FIG. 18
`
`Booking, Exh. 1054, Page 29
`
`Booking, Exh. 1054, Page 29
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 28 of 72
`
`US 8,595,186 B1
`
`0L61sulsug
`
`
`
`Io}svopeorgTonezMomMuXg
`
`
`
`ourdugs[npoy|
`
`uoljeorday
`
`SIDAIOS
`
`0z61
`
`
`
`
`
`Of6TOT61s$99INOS1U3}U07)
`
`
`
`
`
`SUIpOosueL],uoNesaissy90M0g
`
`
`
`SOOINOSJUSJUOL)
`
`0961
`
`SIOUDISI']SPI,OS61>Ov6r
`
`O861
`
`6lDID
`
`ayoey)
`
`Booking, Exh. 1054, Page 30
`
`Booking, Exh. 1054, Page 30
`
`
`
`
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 29 of 72
`
`US 8,595,186 B1
`
`20(a)
`
`
`FIG,20(6)FIG,20(c)
`
`FIG.
`
`2010
`
`Booking, Exh. 1054, Page 31
`
`Booking, Exh. 1054, Page 31
`
`
`
`Nov.26, 2013
`
`Sheet 30 of 72
`
`US 8,595,186 B1
`
`FIG,20)
`
`20(d)
`
`SS)
`
`SQ
`
`Ne
`
`FIG,
`
`8
`
`Lit
`
`Booking, Exh. 1054, Page 32
`
`U.S. Patent
`
`S
`o
`
`Booking, Exh. 1054, Page 32
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 31 of 72
`
`US 8,595,186 B1
`
`
`
`FIG,20(h)
`
`204)
`
`FIG,
`
`2070
`
`Booking, Exh. 1054, Page 33
`
`Booking, Exh. 1054, Page 33
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 32 of 72
`
`US 8,595,186 B1
`
`
`
`
`
`FIG,21(6)FIG,21/6)
`
`21/4)
`
`FIG,
`
`Booking, Exh. 1054, Page 34
`
`Booking, Exh. 1054, Page 34
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 33 of 72
`
`US 8,595,186 B1
`
`
`
`FIG.21(6)
`
`21(d)
`
`FIG,
`
`Booking, Exh. 1054, Page 35
`
`Booking, Exh. 1054, Page 35
`
`
`
`U.S. Patent
`
`US 8,595,186 B1
`
`Nov.26, 2013
`
`Sheet 34 of 72
`
`
`
`Booking, Exh. 1054, Page 36
`
`Booking, Exh. 1054, Page 36
`
`
`
`U.S. Patent
`
`Nov. 26, 2013
`
`Sheet 35 of 72
`
`US 8,595,186 B1
`
`eSSs
`
`Sek RR
`as
`
`vs
`we
`
`
`
`
`
`FIG,226)
`
`FIG,22)
`
`FIG,2H)
`
`Booking, Exh. 1054, Page 37
`
`Booking, Exh. 1054, Page 37
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 36 of 72
`
`US 8,595,186 B1
`
`bn70
`
`2H(6)
`
`23(6)
`
`FIG. :SeeeteeTeee)
`FIG.
`FIG.
`
`23(a)
`
`Booking, Exh. 1054, Page 38
`
`Booking, Exh. 1054, Page 38
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 37 of 72
`
`US 8,595,186 B1
`
`RyyS
`QD
`&
`
`wm
`
`nN
`
`&
`
`=Q
`
`Q D
`
`d
`
`2360
`
`2320
`
`Booking, Exh. 1054, Page 39
`
`Booking, Exh. 1054, Page 39
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 38 of 72
`
`US 8,595,186 B1
`
`FIG,2h)
`
`FIG,21)
`
`
`
`FIG,23g)
`
`Booking, Exh. 1054, Page 40
`
`Booking, Exh. 1054, Page 40
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 39 of 72
`
`US 8,595,186 B1
`
`S
`
`=S @
`
`D
`
`Booking, Exh. 1054, Page 41
`
`=ret
`
`=o
`
`l
`
`<
`
`Q Q
`
`D
`S
`
`:
`
`or
`
`:
`
`Booking, Exh. 1054, Page 41
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 40 of 72
`
`US 8,595,186 B1
`
`
`
`FIG.246)
`
`FIG,
`
`24(d)
`
`2450
`
`=N Q
`
`D
`S
`
`
`
`Booking, Exh. 1054, Page 42
`
`Booking, Exh. 1054, Page 42
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 41 of 72
`
`US 8,595,186 B1
`
`BAL
`
`BeBAGS.
`
`(V<7OID
`
`OLS?
`
`OSE
`
`OLS?
`
`(ceDID
`
`Booking, Exh. 1054, Page 43
`
`Booking, Exh. 1054, Page 43
`
`
`
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 42 of 72
`
`US 8,595,186 B1
`
`&
`%
`BS
`
`Sebott
`%ntti,
`
`OCSd
`
`GkAIC.BEE
`
`Bedtoi
`
`LAL,
`
`Booking, Exh. 1054, Page 44
`
`Booking, Exh. 1054, Page 44
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 43 of 72
`
`US 8,595,186 B1
`
`
`
`FIG.25g)
`
`FIG.25)
`
`wy
`re
`m~
`
`Booking, Exh. 1054, Page 45
`
`Booking, Exh. 1054, Page 45
`
`
`
`peay(eia
`
`
`
`Zh
`
`HIud“uoRor4ysuos
`
`340NAMB46ah
`
`SLOIDUCSBunesnppuezey(2
`
`
`
`_SAYBSOLHYHS
`
`BrasOL
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 44 of 72
`
`US 8,595,186 B1
`
`O19C
`
`SONSTEono82-1uo
`
`Booking, Exh. 1054, Page 46
`
`Booking, Exh. 1054, Page 46
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 45 of 72
`
`US 8,595,186 B1
`
`SANiiiAAAAAAZe.
`
`theChamps
`Roteon
`
`.
`
`48
`
`ti1
`at
`
`
`
`
`Sarkozybecarneoffi
`
`26(d)
`
`BM
`eos
`EI
`
`
`
`JonthedayMicola
`
`omt
`
`r
`
`jallyident,Thereisnotmuchto
`
`Pre
`
`FIG,266
`
`
`
`FIG.26(e)
`
`FIG,
`
`Booking, Exh. 1054, Page 47
`
`Booking, Exh. 1054, Page 47
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 46 of 72
`
`US 8,595,186 B1
`
`STISucicoudEBOU)StStWa“Obs
`
`iH)DOUTNE t
`Tadalfej+4Ne
`HpEpaes
`
`$h
`-{
`
`
`
`pamciiog/oyoyd&1ouStsigy“ory
`
`am4
`
`iHCRATESTWOAS
`SE]YOOY|Jays&yng[fyuEs
`
`
`
`
`7ndhetaALuuofhepisy}yybeu
`
`yoy
`
` SEmUUOYSBU)“SDLLOBY]LUDAL
`
`
`
`
`
`
`BrieBusFuquasoe
`
`O}ou-days0peySAE)
`
`Booking, Exh. 1054, Page 48
`
`Booking, Exh. 1054, Page 48
`
`
`
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 47 of 72
`
`US 8,595,186 B1
`
`J0lusesoupySununonGL
`
`
`
`
`sasehasnoyuaelb40Ssuayyuue
`
`JoqessigGugaau&404payes
`
`OeDID
`
`te[Sou]eaOUOy!3US7°A
`
`
`
`“LEBeyugguraaaaPaihia
`
`2002
`
`Booking, Exh. 1054, Page 49
`
`Booking, Exh. 1054, Page 49
`
`
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 48 of 72
`
`US 8,595,186 B1
`
`
`
`
`FIG,27)
`
`
`
`or AMcMichaeltotherightfaed
`
`AC.Lemonpas
`
`FIG.2716)
`
`(aye FIG,
`27d)
`
`ROQAA
`
`oS
`wy
`te
`iN
`
`Booking, Exh. 1054, Page 50
`
`Booking, Exh. 1054, Page 50
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 49 of 72
`
`US 8,595,186 B1
`
`OGLPeOLIES
`
`O]paysndseyoyalsOLABLEomeAeaos
`
`Gogg|OL/€S2NHAizfie
`
`
`
`
`
`JaACD“ee
`aLeuss?SEHu20590
`
`(ecSID
`
`Booking, Exh. 1054, Page 51
`
`Booking, Exh. 1054, Page 51
`
`
`
`
`
`
`
`U.S. Patent
`
`OLS?
`
`OSLE
`
`O18?
`
`Fynibueg
`ABINIOS
`
`ATTIIIPLITIoo.
`
`PQfend,OyLey)
`
`y$
`
`Nov.26, 2013
`
`Sheet 50 of 72
`
`US 8,595,186 B1
`
`cual
`
`(alecOID
`
`OC8C
`
`(p97DID
`
`Booking, Exh. 1054, Page 52
`
`Booking, Exh. 1054, Page 52
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 51 of 72
`
`US 8,595,186 B1
`
`ABADSS
`
`SHUpu-usapeibueg
`
`Booking, Exh. 1054, Page 53
`
`Booking, Exh. 1054, Page 53
`
`
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 52 of 72
`
`US 8,595,186 B1
`
`s
`
`Gonstruction
`at 880 SB and
`
`101 junction
`
`x%zg
`
`SOE:
`
`Booking, Exh. 1054, Page 54
`
`Booking, Exh. 1054, Page 54
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 53 of 72
`
`US 8,595,186 B1
`
`3010
`
`
`
`+ 3
`
`Booking, Exh. 1054, Page 55
`
`Booking, Exh. 1054, Page 55
`
`
`
`U.S. Patent
`
`Nov. 26, 2013
`
`Sheet 54 of 72
`
`US 8,595,186 B1
`
`Scan local cache for
`headlines by
`Article Publish Date
`
`Filter headlines by
`Unreadarticles
`
`Filter headlines by
`weights
`
`Filter out from special
`tagged feeds
`
`Display
`
`Addbasic information
`including traffic, weather
`
`Include advertisements
`from local ad cache
`
`Render Dynamic Info
`
`3110
`
`FIG. 31
`
`Booking, Exh. 1054, Page 56
`
`Booking, Exh. 1054, Page 56
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 55 of 72
`
`US 8,595,186 B1
`
`3205
`
`3225
`
`
` User | requests widget
`a
`|
`to be shared
`User 2 request synchronization
`
`ser specifies other party’s
`unique identifier (phone
`number, name, email, etc)
`as well as a messagefor
`the other user
`
`oo,
`Mobile client connects to
`the hroniz for
`syneironizaion
`
`‘
`Request transmitted to the
`
`Server looks up in the
`pending add queue and
`
`removesfrom the addlist
`
`Server looks up user and
`saves the add request in
`the other user's widget/
`widget data add queue
`
`;
`Pending request
`transmitted to the user
`
`User accepts add request
`
`Server adds to user 2's
`account
`
`FIG. 32
`
`3250
`
`Booking, Exh. 1054, Page 57
`
`Booking, Exh. 1054, Page 57
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 56 of 72
`
`US 8,595,186 B1
`
`JOSMOIQOIOI (syuawaya
`
`UoIssosduO7)Bye
`Josred
`"IWLHX403
`
`JosredJOSMOIQOIONA
`
`TIALLHX405
`
`S314’)
`
`suryoe)
`
`
`
`sodegSAINV
`
`
`
`
`
`(sodegI9AI9gJUST)
`
`
`
`(sadeutorpne
`
`‘oopta)erpaumnyny]
`
`
`QUISUGJOIONA,
`
`JOIOPUSYWALHX
`
`
`
`aYoe7)1U0.]
`
`JOZN9SEY
`
`seaue)Aeidsiq
`
`S9ee
`
`OLEE
`
`
`
`syosprasyINg-o1g
`
`yndutwo)
`
`ceDID
`
`Booking, Exh. 1054, Page 58
`
`Booking, Exh. 1054, Page 58
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 57 of 72
`
`US 8,595,186 B1
`
`IH
`
`FIG,34
`
`3420
`WS
`
`CoCOMEDSNS
`
`SS
`
`SEEEEEESSR,
`
`oS
`
`Booking, Exh. 1054, Page 59
`
`—e
`
`y
`
`Booking, Exh. 1054, Page 59
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 58 of 72
`
`US 8,595,186 B1
`
` is Geetline
`
`3550
`
`TNakae
`
`
`
`
`
` os Basic Babbor
`
`Booking, Exh. 1054, Page 60
`
`Booking, Exh. 1054, Page 60
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 59 of 72
`
`US 8,595,186 B1
`
`Ov9E
`
`rs
`
`Josie
`
`ape
`
`O19¢
`
`079¢
`
`
`
`OLE0S9E099¢
`
`I3B10IS
`
`ULONeLd
`
`
`
`IOJONTIONadequey
`
`0206
`
`
`
`deayySldV
`
`0e9¢
`
`9¢DTD
`
`Booking, Exh. 1054, Page 61
`
`Booking, Exh. 1054, Page 61
`
`
`
`
`Nov.26, 2013
`
`U.S. Patent SCLE
`
`
`
`MirrrrcccrercrrrrrrrnscsrssssvsssssiiittrrrerrcrmnrirrrrrcrrrrMtttrtrsssssrrrrrrrrrssteHneHTTTIITA:
`
`Sheet 60 of 72
`
`US 8,595,186 B1
`
`lpamaeyuy
`
`Booking, Exh. 1054, Page 62
`
`Booking, Exh. 1054, Page 62
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 61 of 72
`
`BRS
`
`US 8,595,186 B1
`
`STILE
`
`WeDED
`
`Booking, Exh. 1054, Page 63
`
`CEs
`aS
`
`ACESag
`2a
`
`Booking, Exh. 1054, Page 63
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 62 of 72
`
`SSLE OOLE
`
`US 8,595,186 B1
`
`SOLE
`
`Booking, Exh. 1054, Page 64
`
`Booking, Exh. 1054, Page 64
`
`
`
`Sheet 63 of 72
`
`3810
`
`US 8,595,186 B1
`
`Booking, Exh. 1054, Page 65
`
`U.S. Patent
`
`Nov.26, 2013
`
`=B
`
`S
`SSH
`
`Booking, Exh. 1054, Page 65
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 64 of 72
`
`US 8,595,186 B1
`
`N \\N\ 3
`
`3S
`
`3835
`
`3860
`
`3845
`
`855
`
`andevtenadentereriienstientttiadiadnttetiddens
`
`38(6)
`
`3850
`
`FIG.
`
`Booking, Exh. 1054, Page 66
`
`Booking, Exh. 1054, Page 66
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 65 of 72
`
`US 8,595,186 B1
`
`
`
`Booking, Exh. 1054, Page 67
`
`Booking, Exh. 1054, Page 67
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 66 of 72
`
`US 8,595,186 B1
`
`3910 a——s
`
`Mobile user publishes a
`.
`new widget around an
`soccer season
`
`So,
`
`‘
`
`é
`c
`ee)
`2
`:
`q
`Emily's 2005
`soccer season
`
`°
`
`f :
`
`:
`
`: i
`
`g
`:
`:
`\
`
`2
`a’
`"NaegggnyNOSANNANAAINNENNRONSNNNNAHNNRANIRNNONRANNNOSSAAAANNSAINANONIAAASNHEAAIONADDSAHSANNEARANRAIAINIANNASIAN
`
`3920
`
` She posts new content to it
`
`periodically from her phone at
`each soccer game
`
`4dFa?
`
`Users who subscribe
`to this widget get
`periodic information
`updates from this
`personal channel
`
`}
`
`cececerereseereesesreesnl
`Ceprensrriecerreccerreserereee:
`
`
`*s,sy, 3940
`
`
`3910
`
`FIG. 39
`
`Booking, Exh. 1054, Page 68
`
`Booking, Exh. 1054, Page 68
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 67 of 72
`
`US 8,595,186 B1
`
`Userselects type of
`mobile widget
`
`Receive Widget
`description
`
`Generate image
`choices for widget
`
`Present choices for
`Widget content
`
`Receive content
`details
`
`Generate and publish
`
`Mobile Widget
`
`4006
`
`FIG, 40
`
`Booking, Exh. 1054, Page 69
`
`Booking, Exh. 1054, Page 69
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 68 of 72
`
`US 8,595,186 B1
`
`Developercreates widget
`using wizard or with APIs
`
`Client requests a widget
`
`references
`
`Widget archive is uploaded
`
`Consult cache, If not in
`cache, perform application
`assembly and save to
`cache
`
`4135
`
`Cache of assembled
`widgets
`
`Analyzer unpacks
`validates compiles and
`optimizes
`
`Compile scripts with other
`scripts that the widget
`
`Application Repository
`
`Indexedfor searching
`
`4125
`
`Delivery
`
`4150
`
`4155
`
`FIG. 41
`
`Booking, Exh. 1054, Page 70
`
`Booking, Exh. 1054, Page 70
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 69 of 72
`
`US 8,595,186 B1
`
`YZELLEyetuleUMWMLEE__
`LeWEyyYY,
`
`Yi
`
`pe%)_
`
`es
`
`deaMEIeyVEL,
`
`Booking, Exh. 1054, Page 71
`
`Booking, Exh. 1054, Page 71
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 70 of 72
`
`US 8,595,186 B1
`
`po)oo
`
`YYvOEE
`LLYNawoe
`
`
`
`OEP
`
`Booking, Exh. 1054, Page 72
`
`Booking, Exh. 1054, Page 72
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 71 of 72
`
`US 8,595,186 B1
`
`EEZiabdbseesohare%jeeLPTSereneeLATEDLeSiiSeeeEeeeseeseesOEOEEeeesesOEOEE
`
`
`72,LOeeREAEONHEMEPOLEEES
`sayER23éCORaLE6i4.
`
`OCbY
`
`WN
`INV
`
`te
`
`BEDBR
`
`FOeUREDySUA2?palsapas|
`
`BEESATAESSSS“SG
`
`
`
`
`
`TAGWgBeSEPADAAHECSTIEDSLIGOMOLSESlayADE
`
`SYSGARBPEMAATSOESIGHSTSA
`
`BELRANTSTSOSCHRESALIDGaleGyor“5TapWie
`
`
`
`SHEAGDAYERCEESECESTEDSUNTAGAHYPRRLR,
`
`
`
`
`ots,SEUESTTCYaTTSd
`
`
`
`
`
`FBGOfMMMifasOATES]LadleggODHE4
`
`eh,UNEATENCS
`
`BRSCTSeTESSBSTS03aaR
`
`Booking, Exh. 1054, Page 73
`
`
`
`
`
`Haasraathyedbahay
`
`Booking, Exh. 1054, Page 73
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 72 of 72
`
`US 8,595,186 B1
`
`SMTA
`
`BiotSHEL|BOOTORWie
`
`8SERREPARPBS
`
`Binge:
`
`
`
`Bigeysut
`
`“yhoo:ae
`
` NeYSIS
`
`
`
`BUOYDURAALUyf
`
`OO]BLrie“tos:Ang
`
`
`
`QIQENRUEFae“Wompureue.sanudyooqarpcuucs.
`
`
`
`
`
`
`
`-Chit
`Ty
`
`SS VS
`
`
`
`sobpdqanazuoyeryAULA
`
`
`
`SABASAS.PDLATTELUCASSBE
`
`FageMscedUNa
`
`
`
`
`
`SayColdSassenlge
`
`
`onsh)Sigbushueyer
`
`SBAIEHAUGHOURHpiBg
`ieG7Vy““
`
`marnewebhey£
`
`NS.
`
`isaLe,Lo
`
`& <
`
` SHURAES
`
`SS
`
`< :SEG
`A
`
`i8
`
`SgENEHEeH
`
`
`SRRI
`
`Booking, Exh. 1054, Page 74
`
`Booking, Exh. 1054, Page 74
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`US 8,595,186 B1
`
`1
`SYSTEM AND METHODFOR BUILDING AND
`DELIVERING MOBILE WIDGETS
`
`CROSS-REFERENCE TO RELATED
`APPLICATIONS
`
`This application claims the benefit of U.S. Provisional
`Patent Application No. 60/942,406, filed Jun. 6, 2007, the
`entire content of which is incorporated herein by reference.
`
`BACKGROUND
`
`2
`gramming interface for the widget applications to access a
`common device capability of the mobile devices.
`A methodfor executing a widget software application is
`provided. The method includes rendering a declaratory
`markup language component of the widget application,
`executing a compiled programming language componentof
`the widget application, and automatically downloading wid-
`get applications or descriptions of widget applications from a
`network location to the mobile device without receiving user
`instructions for said widget applications. Executing the com-
`piled programming language component includes making
`available to the widget application an API to access a device
`service of the mobile device.
`A software widget application is provided and configured
`for installation and execution on a mobile device. The appli-
`cation includes code written in a declaratory markup lan-
`guage and code written in a programming language, where
`the code written in a scripting language containsa call to an
`APIaccessing a device service of the mobile device.
`An application is provided including a software widget
`configured, when compiled, to be installed and run on a
`plurality of different mobile devices, each device having an
`operating system that runs software applications written in a
`programming language that is different than programming
`languages supported by the operating systems of the other
`devices, wherein the devices have a commondeviceservice,
`the devices having different device services APIs for access-
`ing the device service, the widget being configured to access
`the device service only through a single API distinct from
`each of the device services APIs.
`
`20
`
`25
`
`30
`
`1. Field
`The present disclosure relates to applications and user
`interfaces for mobile computing devices, and particularly to
`methods and systems for creating, publishing, sharing, and
`delivering mobile software applications.
`2. Description of the Related Art
`Cell phone data usage is on the rise. Phones may support
`the wireless application protocol (WAP), an international
`standard for applications that use wireless communication
`from mobile phones. Mobile data applications include SMS
`and the WAP browser, an Internet browser for accessing
`mobile websites. Interactive and specialized kinds of appli-
`cations are also in use.
`Mobile usage patterns are different from desktop usage.
`Users may be on the move, in a movieline, on public trans-
`portation, or in a coffee shop and may havevery short atten-
`tion spans and may bein situations where it is very hard to
`type. Such a user may launch the browser and waits for the
`A method for creating a mobile software widget applica-
`results. By the time the results are delivered to the mobile
`tion is provided. The methodincludes accessingafirst section
`device, the user may have movedonto anothertask.
`of code written in a declaratory markup language, accessing
`Further, mobile devices may have diverse non-standard
`feature sets and user interfaces. Phone manufacturer has a
`a secondsection of code written in a programming language,
`compiling the second section of code to produce a compiled
`section, packagingthefirst section of code and the compiled
`section to produce a mobile widget application configured to
`be installed onto a mobile computing device so that a user of
`the device can repeatedly select, run, and terminate the widget
`application.
`A widget application distribution system is provided. The
`system includesa server adapted to transmit a software wid-
`get application to a plurality of mobile devices of different
`types forinstallation thereupon, wherein each mobile device
`type includesa distinct API to a mobile device servicethatis
`commonto all of the mobile device types, a software widget
`application stored on the server, the widget application com-
`prising a first component including programming language
`code and a second componentincluding declaratory markup
`language. The widget application is configured to utilize the
`mobile device service without directly accessing any of the
`distinct APIs.
`
`different way of presenting the user interface on the mobile
`device. Menus maybe uniqueto a particular device, and users
`mayhaveto learn where the application modules are and how
`to perform device setup. At any given time, there may be
`multiple mobile models supported by multiple mobile opera-
`tors with diverse physical layouts, including QWERTYkey-
`boards, keypads, thumb wheels, joy sticks, styluses, roller
`balls, etc.
`
`SUMMARY
`
`A system is provided for executing a widget application
`installed on a mobile device, including a declaratory markup
`language renderer for rendering a declaratory markup lan-
`guage componentof a widget application on a display of the
`mobile device, a compiled programming language execution
`engine for executing a compiled programming language
`component of a widget application installed on the mobile
`device, a mobile device API, adapted to be accessible to a
`widget application, and providing access to a device service
`API ofthe mobile device, and a widget managerconfigured to
`automatically download widget applications or descriptions
`of widget applications from a network location to the mobile
`device, without receiving user instructions for said widget
`applications.
`Software is provided which includesa plurality ofdifferent
`widget-executing engines for executing software widget
`applications installed on a plurality of different types of
`mobile devices, where each of the mobile device types is
`adapted to run software applications written in a program-
`ming languagethatis distinct from programming languages
`supported by the other mobile device types, and all of the
`widget-executing engines provide a commonapplication pro-
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`A widget application distribution system is provided,
`where the system includes a server having gallery of widget
`software applications, the server configured to allow users of
`mobile computing devices to browse the gallery of widget
`applications from the mobile devices, each of the widget
`applications configured to be installed onto one ofthe mobile
`devices, the server configured to receive requests for down-
`loading selected ones of the widget applications from the
`mobile devices, the server configured to respond to a request
`to download a widget application by electronically sending
`the widget application to be downloadedandinstalled to the
`mobile device that sent the request to the server.
`A method for synchronizing information with a mobile
`device is provided, including maintaininga first version ofthe
`information on an electronic storage, the information com-
`
`Booking, Exh. 1054, Page 75
`
`Booking, Exh. 1054, Page 75
`
`
`
`US 8,595,186 B1
`
`3
`prising one or more of (1) widget software applications con-
`figured to be installed onto the mobile device and repeatedly
`selected, run, and terminated, (2) network content used by
`widget applications, and (3) logged datarelatedto activities
`of widget applications, receiving a synchronization request
`from a mobile device having a second version ofthe infor-
`mation,
`the synchronization request
`including a mobile
`timestamp and mobile identifier related to the information,
`the mobile timestamp indicating a time at which the second
`version of the information was last updated, and comparing
`the mobile timestampto a local timestampandlocal identifier
`stored in the storage, the local timestamp indicating a time at
`whichthefirst version of the information on the storage was
`last updated, and determining, based on the timestamps and
`identifiers, whether the information has been changed on the
`mobile device, the storage, or both since a previous synchro-
`nization request.
`A system for synchronizing information between a server
`and a mobile device is provided. ‘lhe system includesa server
`comprising a server data store and a conflict resolver, the
`server data store being configured to store a version of the
`information, the information comprising one or moreof(1)
`widget software applications configured to be installed onto
`the mobile device and repeatedly selected, run, and termi-
`nated, (2) network content used by widget applications, and
`(3) logged data related to activities of widget applications,
`and a mobile device comprising a synchronization engine and
`a mobile data store, the mobile data store being configured to
`store a version of the information, the mobile device config-
`ured to transmit s