`
`(12) United States Patent
`Mandyam et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 8.595,186 B1
`Nov. 26, 2013
`
`(54) SYSTEMAND METHOD FOR BUILDING AND
`DELIVERING MOBILE WIDGETS
`
`(75) 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 of this
`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.
`
`(2006.01)
`(2006.01)
`(2006.01)
`
`(51) Int. Cl.
`G06F 7700
`G06F I7/00
`G06F 9/445
`(52) U.S. Cl.
`USPC ............ 707/632; 707/733; 707/912; 717/178
`(58) Field of Classification Search
`USPC ......... 707/617, 623,628,632, 633, 731 734,
`707/912, 178
`See application file for complete search history.
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`7,454.459 B1 * 1 1/2008 Kapoor et al. ................ TO9,203
`7,890,136 B1* 2/2011 Fujisaki ..................... 455,556.1
`
`5/2012 Kaminski, Jr. ................ 707,698
`8, 185,507 B1 *
`8,261,258 B1* 9/2012 Jianu et al. .....
`717,174
`2001/0047363 A1* 11/2001 Peng ...........
`TO7 104.1
`2003/0208595 A1 * 1 1/2003 Gouge et al. ...
`709,225
`2005/0058108 A1* 3/2005 Ekberg et al. ...
`370,338
`2005. O154759 A1* 7, 2005 Hofmeister et al.
`TO7 104.1
`2005/0172231 A1* 8/2005 Myers ...............
`715,716
`2006/0143622 A1* 6/2006 Prabandham et al. ........ 719,328
`2006/0149630 A1* 7/2006 Elliott et al. .................... TO5/14
`2006, O165105 A1* 7, 2006 Shenfield et al. ..
`... 370/401
`2007/0033584 A1* 2, 2007 Yu ................................. 717,168
`(Continued)
`
`
`
`FOREIGN PATENT DOCUMENTS
`
`WO WO 2005053,335 A1 * 6, 2005 ............... H04Q 7/32
`OTHER PUBLICATIONS
`
`“Sony Ericsson Z525 White Paper'. Aug. 2006. Sony Ericsson. 64
`pages.
`
`(Continued)
`Primary Examiner — James E. Richardson
`(74) Attorney, Agent, or Firm — Kilpatrick Townsend &
`Stockton LLP
`
`ABSTRACT
`(57)
`Systems and methods are 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 of a widget,
`Such as HTML, and also functionality to execute an impera
`tive component of a widget, which may or may not be com
`piled and/or in 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.
`
`62 Claims, 72 Drawing Sheets
`
`121
`
`122
`
`123
`
`124
`
`Content
`Publisher
`
`
`
`Any
`Website
`
`141
`
`140
`
`Page 1 of 109
`
`GOOGLE EXHIBIT 1028
`
`
`
`US 8,595,186 B1
`Page 2
`
`(56)
`
`References Cited
`
`2009/0077664 A1
`
`3/2009 Hsu et al. ........................ T26/24
`
`U.S. PATENT DOCUMENTS
`
`OTHER PUBLICATIONS
`
`2007/0101291 A1* 5/2007 Forstall et al. ................ 715/805
`2007/0101433 A1* 5, 2007 Louch et al.
`T26,25
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`392,8. is: A. 8.392 R. R. J .
`. 45.s
`367,05564. A
`6'567 ERNI". 663,
`amin SK1, Jr. ................
`2007,0260637 A1* 11, 2007 Shenfield etal
`TO7 104.1
`2007/0275705 A* i?3007 Laletal. 455,414.
`2008/0167078 A1* 7/2008 Eibye ..........
`455,566
`2008. O168382 A1* 7, 2008 Louch et al.
`715,781
`2008/O168391 A1* 7/2008 Robbin et al. ................ T15,810
`
`
`
`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
`Sms Workshops. Pages.
`ck
`Raento et al. “ContextPhone: A prototyping Platform for Context
`Aware Mobile Applications' 2005. Pervasive Computing, IEEE, vol.
`4. No. 2, pp. 51-59.*
`
`* cited by examiner
`
`Page 2 of 109
`
`
`
`U.S. Patent
`U.S. Patent
`
`Nov. 26, 2013
`
`Sheet 1 of 72
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`Ov
`
`Iv
`
`ust]
`
`
`
`OrT
`
`O¢T
`
`Al
`
`juojuos)
`
`royst|qnd
`
`q29M
`
`SOIAIOS
`
`40[e}10g
`
`JoyesossVv
`
`Auy
`
`STISGSAA
`
`IZI
`[cl
`
`ZZI
`CCl
`
`eZ
`
`vel
`
`(OTIb
`(o)/ 6/)
`
`
`
`Page 3 of 109
`
`Page 3 of 109
`
`
`
`
`
`
`
`U.S. Patent
`
`Nov. 26, 2013
`
`Sheet 2 of 72
`
`US 8,595,186 B1
`
`09 I
`
`
`
`[8]
`
`ILI
`
`[9][
`
`| - || ~ ||
`
`| + |
`
`OLI
`
`Page 4 of 109
`
`
`
`U.S. Patent
`
`Nov. 26, 2013
`
`Sheet 3 of 72
`
`US 8,595,186 B1
`
`External Service
`and Widgets
`
`240
`
`
`
`Personal Server System
`
`230
`
`r
`
`Photo
`Blogging
`Content
`Publishing
`Pisi
`Tools
`upilsning
`Applications L-
`
`---
`
`H .
`Applications
`Personal
`...
`I
`Web
`Applications
`(Email,
`Audio/Video
`Calendar,
`Multi-Media
`pp
`Notes
`
`|-
`other
`
`Page 5 of 109
`
`
`
`U.S. Patent
`
`Nov. 26, 2013
`
`Sheet 4 of 72
`
`US 8,595,186 B1
`
`
`
`SS
`
`&
`
`&.
`
`
`
`
`
`3}}
`
`- widget launchpad N.
`
`
`
`
`
`
`
`FIG 3
`
`Page 6 of 109
`
`
`
`U.S. Patent
`
`Nov. 26, 2013
`
`Sheet 5 Of 72
`
`US 8,595,186 B1
`
`
`
`Self Serve Web and Mobile Interface
`
`Susses
`
`Application &
`Resources
`
`Billing Server
`
`Purchases
`
`Costs
`
`Location Engine
`
`S Location Database
`See
`
`Ad Syndication Engine
`
`AdRepository
`
`Widget Creation Tools
`
`414
`
`410
`
`409
`
`Page 7 of 109
`
`
`
`U.S. Patent
`
`Nov. 26, 2013
`
`Sheet 6 of 72
`
`US 8,595,186 B1
`
`405
`
`Search Adapters
`
`MSN
`
`S Yahoo
`
`Search Index
`
`Alexa
`
`
`User Vault
`
`Content Cache
`
`Login Adapters
`
`API
`
`29 Memory Cache
`
`Passwords
`
`Session Manager
`
`Store
`
`403
`
`406
`
`413
`
`Network File
`System
`
`Database
`
`Livecasting Engine
`
`S
`OCCS
`
`Adapters/
`Listeners
`
`Media Sync.
`Text/video/audio
`
`
`
`
`
`FIG 4(a)2
`
`Page 8 of 109
`
`
`
`U.S. Patent
`
`Nov. 26, 2013
`
`Sheet 7 Of 72
`
`US 8,595,186 B1
`
`412
`
`407
`
`408
`
`Mobile Applications
`N Download Request Handler
`
`Sync Engine
`C ompression
`
`Device Detection
`
`Protocol Handler
`
`API
`
`Signature
`Resolution
`
`Difference Engine
`
`Content
`Transformer
`
`S S Processors
`
`Device
`Database
`
`Application
`Repository
`
`Content Adapters
`
`Text Data
`Sources
`
`Pull Adapter
`
`Video Data
`Sources
`
`Others (images,
`audio, etc)
`
`N
`
`Polling Server
`
`Push Adapter
`
`u- rare
`u- Nomalie
`Fle
`
`Transcoder (e.g. video,
`HTML, audio, etc)
`
`471
`
`470
`
`411
`
`
`
`Loggi
`Oggling
`
`> 402
`
`l/
`
`417
`
`Web Interface
`
`415
`
`(FIG 4(a)3
`
`Page 9 of 109
`
`
`
`U.S. Patent
`U.S. Patent
`
`Nov. 26, 2013
`
`Sheet 8 of 72
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`
`
`soHUoHPoddy
`
`
`
`oursuyqoUAS
`
`4097/9),
`
`ouldspy
`
`997
`SSP
`
`ouUNY
`
`
`
`TSP Lov
`
`
`oSeqieyWASundiog
`
`CZJO[pURL[OI0}01g
`JOSMOIEOO
`
`
`
`useng,Aepo],,Wor]o8B10)$
`
`iVwed/&OUASpuNoIsyoeg
`
`S[qVstuoyeJaynpsyos
`
`
`
`
`WAVE
`
`(9), 6/7,
`
`SUIDUSIALIC]WoyWO;)
`
`
`sreSPLMHING-21d
`
`worsssrdw0;)
`
`suIsugSULSpuay
`
`193M
`
`aAyoysodey
`
`VOSPIAA
`
`qurogAnuy
`
`Page 10 of 109
`
`Page 10 of 109
`
`
`
`
`S
`
`S
`
`U.S. Patent
`U.S. Patent
`
`
`
`Page 11 of 109
`
`Nov.26, 2013
`
`Sheet 9 of 72
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`>y Q
`
`D
`
`Page 11 of 109
`
`
`
`U.S. Patent
`U.S. Patent
`
`Nov. 26, 2013
`Nov. 26, 2013
`
`Sheet 10 of 72
`Sheet 10 of 72
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`Tes
`| 89
`
`ce
`Ww
`
`ELs
`
`Mooned
`
`
`
`LAMELi
`
`OES ves
`
`
`
`****
`
`Page 12 of 109
`
`Page 12 of 109
`
`
`
`U.S. Patent
`U.S. Patent
`
`Nov. 26, 2013
`Nov. 26, 2013
`
`Sheet 11 of 72
`Sheet 11 of 72
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`©
`
`B:
`
`
`
`5
`600
`
`Page 13 of 109
`
`XS
`SS
`
`=Ps
`
`o
`601
`
`Page 13 of 109
`
`
`
`U.S. Patent
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 12 of 72
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`
`
`FEMIOGJGWS
`
`BIGJIDBRUEAE
`
`Page 14 of 109
`
`Page 14 of 109
`
`
`
`U.S. Patent
`U.S. Patent
`
`Nov. 26, 2013
`Nov. 26, 2013
`
`Sheet 13 Of 72
`Sheet 13 of 72
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`
`
`
`
`002
`
`
`
`eee
`
`Page 15 of 109
`
`Page 15 of 109
`
`
`
`U.S. Patent
`U.S. Patent
`
`Nov. 26, 2013
`
`Sheet 14 of 72
`
`US 8,595,186 B1
`US 8,595,186 BI
`
`
`
`******??***
`
`
`
`wyLe-EeDO
`
`Page 16 of 109
`
`Page 16 of 109
`
`
`
`U.S. Patent
`U.S. Patent
`
`Nov. 26, 2013
`Nov.26, 2013
`
`Sheet 15 Of 72
`Sheet 15 of 72
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`t-
`C
`
`807
`
`ex
`C
`KX
`
`808
`
`er
`
`303
`
`:
`805
`
`806
`
`N
`oOo
`O H
`oO
`is
`oO
`
`804 at
`
`
`
`Page 17 of 109
`
`Page 17 of 109
`
`
`
`U.S. Patent
`U.S. Patent
`
`Nov. 26, 2013
`Nov. 26, 2013
`
`Sheet 16 of 72
`Sheet 16 of 72
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`
`
`FIG.56)
`
`Page 18 of 109
`
`Page 18 of 109
`
`
`
`U.S. Patent
`U.S. Patent
`
`Nov.26, 2013
`Nov. 26, 2013
`
`Sheet 17 of 72
`Sheet 17 Of 72
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`911
`MicrosoftWithwm‘Surface’?
`WillAppleBeat
`
`{ | 6| 16
`
`FIG.9a)
`
`SANG
`
`me
`
`Qu
`
`y
`
`u.
`
`Sc
`
`t
`
`Wu
`
`
`
`901
`
`914
`
`
`
`Page 19 of 109
`
`Page 19 of 109
`
`
`
`U.S. Patent
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 18 of 72
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`
`
`
`
`papeqiuMops|jebpimsaqoyy
`
`}XAUBU]UOPaTeIsulPue
`
`
`
`UnIssasLOWPZIVOIOUAS
`
`passMesBL
`
`********
`
`x*******
`
`Page 20 of 109
`
`Page 20 of 109
`
`
`
`U.S. Patent
`
`Nov. 26, 2013
`
`Sheet 19 Of 72
`
`US 8,595,186 B1
`
`
`
`Generate CAPTCHA
`
`Show Form
`With CAPTCHA
`
`UserEnters Data
`
`Validate CAPTCHA
`
`Validate User
`Entered Fields
`
`FIG 10
`
`1006
`
`Page 21 of 109
`
`
`
`U.S. Patent
`
`Nov. 26, 2013
`
`Sheet 20 Of 72
`
`US 8,595,186 B1
`
`
`
`
`
`
`
`Mobile client accesses
`download page
`(MSISDN is sent)
`
`Display Form
`
`1108
`
`1100
`
`User register on mobile site
`(similar flow to web
`registration)
`
`User Enters Data
`
`Application is launched
`
`1109
`
`1101
`
`1105
`
`wERSSis
`used as unique ID)
`
`User data saved and
`unique ID generated
`
`Client generates
`response code
`
`1110
`
`
`
`
`
`1102
`
`1106
`
`Create Download
`Package w/ Unique ID
`
`Client transmits
`de to
`respect
`
`1103
`
`1107
`
`User downloads package
`onto device
`
`1104
`
`(FIG 11
`
`Page 22 of 109
`
`
`
`U.S. Patent
`
`US 8,595,186 B1
`
`
`
`SIZI
`
`ZI 6J)
`
`90ZI
`
`90ZI
`
`Page 23 of 109
`
`
`
`U.S. Patent
`
`Nov. 26, 2013
`
`Sheet 22 of 72
`
`US 8,595,186 B1
`
`I
`
`O&€T
`
`asei0ig=_
`
`OLY
`
`OLET
`
`JOZT[PULION,
`
`Ostl
`
`
`
`yodxgTWX
`
`OPEL
`
`OCET
`
`Ios)
`
`
`
`Ose!joo}ArequsuWiW0DWi
`
`.OTETC)
`
`flSID
`
`
`
`WI‘OUl
`
`OZET
`
`Josso[q
`
`2S]
`
`The,
`
`ByepMeyOIEl
`poayO19‘WOLV‘SSuVin
`
`
`
`
`
`OC)
`
`
`
`
`
`[oo]omydeoyusaqVy7
`
`OTET
`
`O
`
`Page 24 of 109
`
`Page 24 of 109
`
`
`
`
`U.S. Patent
`
`Nov. 26, 2013
`
`Sheet 23 Of 72
`
`US 8,595,186 B1
`
`Client connects to the
`Server
`
`1400
`
`Server computes the
`server's current load
`
`1401
`
`
`
`
`
`Exceeds threshold?
`
`Yes
`
`Issue command future
`incoming requests to slow
`polling interval
`
`1402
`
`1403
`
`No
`
`
`
`Client sets new polling
`interval
`
`1404
`
`F/G, 14
`
`Page 25 of 109
`
`
`
`U.S. Patent
`
`Nov. 26, 2013
`
`Sheet 24 of 72
`
`US 8,595,186 B1
`
`Fetch content through
`polling or push adapters
`
`Transcoding
`(with caching)
`
`1501
`
`1505
`
`Detect content type
`
`Insertions
`
`1502
`
`1506
`
`Store (cache) data
`
`Delivery
`(with caching)
`
`1503
`
`1507
`
`Filter data
`(with caching)
`
`
`
`
`
`
`
`FIG 15
`
`Page 26 of 109
`
`
`
`U.S. Patent
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 25 of 72
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`
`
`QSBIOISCOPIA
`
`
`
`
`
`0691S9010991OLIT
`
`
`
`~O1q/SULIOJSUBIT,OOPLA,
`
`ooo
`
`
`
`oinjde’)
`
`
`Jossoiduiog/oposuyOaplA
`OOplA,‘ih
`
`
`
`
`yorgreldOOplAJooy,smiddry>oapta
`OFTOE9T
`
`
`Joposoq]JouUeYDOOpIAZoSS
`
`TOATOOOY
`
`
`
`
`
`
`
`Page 27 of 109
`
`ayseQOBplA0891
`
`
`
`
`
`
`
`palapual-a1dsdiq7)spipeats9I‘b7.oD
`
`Page 27 of 109
`
`
`
`
`
`
`
`U.S. Patent
`
`Nov. 26, 2013
`
`Sheet 26 of 72
`
`US 8,595,186 B1
`
`
`
`
`
`
`
`
`
`Loop
`until
`finished
`
`Mobile client requests a
`Web page
`
`Rewrite embedded URLs to
`point back to transcoding
`SeWe
`
`1705
`
`1730
`
`Store cookies sent by the
`web site
`
`Cache result
`
`1710
`
`1735
`
`Server fetches web page
`with cookies for the user on
`that web site
`
`Send to the client
`
`1715
`
`1740
`
`Get rules to apply
`
`1720
`
`Apply rules one-by-one
`
`1725
`
`FIG. 17
`
`Page 28 of 109
`
`
`
`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
`
`Page 29 of 109
`
`
`
`U.S. Patent
`U.S. Patent
`
`Nov. 26, 2013
`Nov.26, 2013
`
`Sheet 28 Of 72
`Sheet 28 of 72
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`O61oursug
`
`
`
`Joseopeolgwonezmuompuks
`
`0961
`
`
`
`SISUSISI']193PlMOS6ToDOv61
`
`O861
`
`6lDID
`6I 6J)
`
`syed
`
`
`
`ouiduqJINpoyy
`
`uoyroyday
`
`SI9AIOS
`
`Oz6l
`
`
`
`
`
`O€6TO16Tsoomos3U3}U07)
`
`
`
`
`
`SUIPOOSURL],wolesaissysomos
`
`
`
`
`
`
`
`
`
`
`
`soomnogyusyuo7)
`
`Page 30 of 109
`
`Page 30 of 109
`
`
`
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`Nov.26, 2013
`Nov. 26, 2013
`
`Sheet 29 of 72
`Sheet 29 Of 72
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`
`
`
`
`(0)0,7 6/7,
`
`
`
`FIG,20(6)FIG.206)
`
`20a)
`
`
`
`
`
`(Ø0, 6./J
`
`FIG.
`
`(0)0,7 6/7,
`
`2010
`
`Page 31 of 109
`
`Page 31 of 109
`
`
`
`U.S. Patent
`U.S. Patent
`
`Nov. 26, 2013
`Nov. 26, 2013
`
`Sheet 30 of 72
`Sheet 30 Of 72
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`
`
`20)
`(/)OZ. 6)
`FIG
`
`090,
`060
`
`20(d) o
`
`See
`ey HR=
`aw
`foe
`ay
`mili
`Aa|}=
`cul
`Gah
`
`al) iro
`Rees
`oa
`7
`mi aPa
`ian
`Gen
`Lid
`
`FIG.20)
`
`(3)OZ. 6/7,
`
`FIG,
`(p)OZ. 6)
`
`oy
`
`Page 32 of 109
`
`Page 32 of 109
`
`
`
`U.S. Patent
`U.S. Patent
`
`Nov. 26, 2013
`Nov. 26, 2013
`
`Sheet 31 Of 72
`Sheet 31 of 72
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`
`
`20g)
`
`
`
`FIG,20(h)
`
`FIG,
`
`2070
`
`2080
`
`Page 33 of 109
`
`Page 33 of 109
`
`
`
`U.S. Patent
`U.S. Patent
`
`Nov. 26, 2013
`Nov. 26, 2013
`
`Sheet 32 of 72
`Sheet 32 Of 72
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`214)
`
`
`
`(9), 6/7,
`
`
`
`
`
`FIG,21(6)FIG,246)
`
`FIG,
`
`(0), 6/7,
`
`
`
`
`
`Page 34 of 109
`
`Page 34 of 109
`
`
`
`U.S. Patent
`U.S. Patent
`
`Nov. 26, 2013
`Nov. 26, 2013
`
`Sheet 33 Of 72
`Sheet 33 of 72
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`
`
`21(d)
`
`
`
`FIG.21(e)
`
`FIG,
`
`Page 35 of 109
`
`Page 35 of 109
`
`
`
`U.S. Patent
`U.S. Patent
`
`Nov. 26, 2013
`Nov. 26, 2013
`
`Sheet 34 of 72
`Sheet 34 of 72
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`
`
`
`
`FIG,226)
`
`FIG.
`
`22(6)
`
`
`
`Page 36 of 109
`
`Page 36 of 109
`
`
`
`U.S. Patent
`U.S. Patent
`
`Nov. 26, 2013
`Nov. 26, 2013
`
`Sheet 35 of 72
`Sheet 35 of 72
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`
`
`
`
`FIG,2(¢)FIG.220)
`
`22d)
`
`SS
`
`FIG,
`
`Page 37 of 109
`
`Page 37 of 109
`
`
`
`U.S. Patent
`
`Nov. 26, 2013
`
`Sheet 36 of 72
`
`US 8,595,186 B1
`
`(DeeDID
`
`(VeeDID
`
`(eeDID
`
`0L t
`
`e
`
`ere-aneautres
`
`Page 38 of 109
`
`Page 38 of 109
`
`
`
`U.S. Patent
`U.S. Patent
`
`Nov. 26, 2013
`Nov. 26, 2013
`
`Sheet 37 Of 72
`Sheet 37 of 72
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`FIG.2d)
`
`
`
`
`
`i.
`
`Page 39 of 109
`
`
`
`FIG.23(¢)
`
`5.
`
`C
`\
`er,
`KN
`
`2320
`
`Page 39 of 109
`
`
`
`U.S. Patent
`U.S. Patent
`
`Nov. 26, 2013
`Nov. 26, 2013
`
`Sheet 38 of 72
`Sheet 38 of 72
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`
`
`FIG.2h)
`
`FIG.23)
`
`
`
`FIG.23g)
`
`Page 40 of 109
`
`Page 40 of 109
`
`
`
`U.S. Patent
`U.S. Patent
`
`Nov. 26, 2013
`Nov. 26, 2013
`
`Sheet 39 of 72
`Sheet 39 of 72
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`24a)
`
`<
`
`
`DS F
`
`IG.
`
`
`
`:
`
`ot
`
`=re
`
`7a
`
`Page 41 of 109
`
`Page 41 of 109
`
`
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`U.S. Patent
`U.S. Patent
`
`Nov. 26, 2013
`Nov.26, 2013
`
`Sheet 40 of 72
`Sheet 40 of 72
`
`
`
`i
`
`
`
`3.
`
`
`
`i.
`OSPe
`
`r
`s
`e-
`
`C
`s
`s
`NE
`
`OSPe
`
`(NeeOUD
`
`Page 42 of 109
`
`Page 42 of 109
`
`
`
`
`(DeeDIB
`s:
`
`OEAR
`
`ae
`
`“ennuereeige
`
`8B
`
`g:
`tr.
`c.
`
`U.S. Patent
`U.S. Patent
`
`Nov. 26, 2013
`Nov. 26, 2013
`
`Sheet 41 of 72
`Sheet 41 of 72
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`
`
`5.
`
`5.
`
`Page 43 of 109
`
`Page 43 of 109
`
`
`
`U.S. Patent
`U.S. Patent
`
`Nov. 26, 2013
`Nov. 26, 2013
`
`Sheet 42 of 72
`Sheet 42 of 72
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`5.
`OSC
`
`
`
`SERS
`‘AiBSN
`
`WALL
`
`PBSSe
`
`LakaePReo
`
`ae
`
`Page 44 of 109
`
`Page 44 of 109
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`Nov. 26, 2013
`Nov. 26, 2013
`
`Sheet 43 of 72
`Sheet 43 of 72
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`
`
`25g)
`FIG.
`
`
`C
`oS
`ery
`rf
`wy
`-
`m
`
`Page 45 of 109
`
`Page 45 of 109
`
`
`
`U.S. Patent
`U.S. Patent
`
`Nov. 26, 2013
`Nov.26, 2013
`
`Sheet 44 of 72
`Sheet 44 of 72
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`
`
`¿??????????????????????:?? s:
`
`(VozSib(DozSib
`
`O1L9¢
`
`SINSHARY]42dNO8¢-|UO
`
`${}{}}}}
`
`
`
`SONyOUCSBuaLipsnbpuezey(2
`
`
`
`Eb-H3U6‘UdKanysuospeofe145
`
`3°WANEEeah
`
`
`
`466‘Ppnorhasapy
`
`Page 46 of 109
`
`feUO“alyUBBh
`
`SAHBSCLHHHS
`
`
`
`44ersflung»SOL9T
`
`()[97]
`
`Page 46 of 109
`
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`Nov. 26, 2013
`Nov.26, 2013
`
`Sheet 45 of 72
`Sheet 45 of 72
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`
`
`SCLUELBU)Ud630
`
`SEO2NFepayyuosaashyg
`
`
`
`
`
`
`
`C1]SOLUOUStaayWwWepisetg
`
`4uyJbLEae
`
`FremijaauuenegAzayues
`
`DID
`
`(p)9
`
`Page 47 of 109
`
`Page 47 of 109
`
`
`
`
`
`U.S. Patent
`
`Nov. 26, 2013
`
`Sheet 46 of 72
`
`US 8,595,186 B1
`
`
`
`
`
`
`
`3
`
`use|300,110||semnqffhues
`
`Page 48 of 109
`
`
`
`Nov. 26, 2013
`Nov.26, 2013
`
`Sheet 47 of 72
`Sheet 47 of 72
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`
`
`3), 6/7,
`
`! ·%
`3
`
`STIOULBRIB10SJee
`
`JyDuQeaLU&401payed
`
`
`
`PSLGUBEYSaUIUNGDSL
`
`LYey
`
`U.S. Patent
`U.S. Patent
`
`
`
`
`
`
`
`
`
`Page 49 of 109
`
`Page 49 of 109
`
`
`
`Nov. 26, 2013
`Nov.26, 2013
`
`Sheet 48 of 72
`Sheet 48 of 72
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`Jo,uu8
`U10}EUW
`
`
`
`Yihpassedvows)Ig
`
`l.
`Z
`
`eae
`
`
`
`U.S. Patent
`U.S. Patent
`
`Page 50 of 109
`
`Page 50 of 109
`
`
`
`U.S. Patent
`
`Nov. 26, 2013
`Nov.26, 2013
`
`Sheet 49 of 72
`Sheet 49 of 72
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`U.S. Patent
`
`
`
`
`
`
`
`
`
`
`
`ObeaL.om27iAa_WHZoro|O1L/£S2WHAoFRe2borkNSE.yWH20°F
`2/22imizFeK
`
`
`
`ifbG218777WH20-P0
`
`
`feideyauvagiFRey
`eSONSba)3
`
`a%
`
`(okz:6)
`
`q
`
`Page 51 of 109
`
`Page 51 of 109
`
`
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 50 of 72
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`
`
`FyMQUeSABAMOS
`
`einnrnnnehte.
`
`wae
`
`Vetiz2i
`
`
`
`Page 52 of 109
`
`
`
`yHOyencdOFLUNGLaqapis
`
`O9LE
`
`
`
`
`
`pajheggyemog1.0187
`
`Page 52 of 109
`
`
`
`ysapejbueg
`
`Nov.26, 2013
`
`Sheet 51 of 72
`
`US 8,595,186 B1
`
`E:J
`
`EMO4
`|NGyOu
`
`|WGYOU
`
`LBLYs2NOUNSPI
`
`sbhuruuypuy
`
`~
`
`
`PERLPEG?
`rorgreeny
`
`
`U.S. Patent
`
`Page 53 of 109
`
`Page 53 of 109
`
`
`
`U.S. Patent
`
`Nov. 26, 2013
`
`Sheet 52 of 72
`
`US 8,595,186 B1
`
`
`
`Construction
`at 88 SE3 and
`
`SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
`
`XXXXXXX-XXXXX-XXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXX
`
`SSSSSSSSSSS
`
`SS
`
`SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
`
`Page 54 of 109
`
`
`
`U.S. Patent
`U.S. Patent
`
`Nov. 26, 2013
`Nov. 26, 2013
`
`Sheet 53 of 72
`Sheet 53 of 72
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`SO
`3010
`
`.
`
`A
`
`Š Š Š ass
`Š
`S
`
`S. S. s Y &
`
`“~
`WG
`
`<
`‘
`
`
`
`++
`
`Page 55 of 109
`
`Page 55 of 109
`
`
`
`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
`Unread articles
`
`Filter headlines by
`Weights
`
`Filter out from special
`tagged feeds
`
`Add basic information
`including traffic, weather
`
`Include advertisements
`from local ad cache
`
`Render Dynamic Info
`Display
`
`3110
`
`FIG 31
`
`Page 56 of 109
`
`
`
`U.S. Patent
`
`Nov. 26, 2013
`
`Sheet 55 of 72
`
`US 8,595,186 B1
`
`3205
`
`3225
`
`User 1 requests widget
`to be shared
`
`
`
`User 2 requestsynchronization
`
`serspecifies other party's
`unique identifier (phone
`number, name, email, etc)
`as well as a message for
`the other user
`
`Mobile client connects to
`the server for
`synchronization
`
`Request transmitted to the
`SeWer
`
`Server looks up in the
`pending add queue and
`removes from the add list
`
`Serverlooks up user and
`saves the add request in
`the other user's widgef
`widget data add queue
`
`Pending request
`transmitted to the user
`
`User accepts addrequest
`
`Server adds to user 2's
`aCCOunt
`
`FIG 32
`
`3250
`
`Page 57 of 109
`
`
`
`U.S. Patent
`
`US 8,595,186 B1
`
`
`
`SZ99
`
`
`
`seAueO ÁÐIds[CI | ~ ||
`
`Page 58 of 109
`
`
`
`U.S. Patent
`
`Nov. 26, 2013
`
`Sheet 57 Of 72
`
`US 8,595,186 B1
`
`&
`
`
`
`
`
`
`
`& &S
`
`
`
`Sssssssssssss
`
`w
`r
`
`s
`
`Page 59 of 109
`
`
`
`U.S. Patent
`U.S. Patent
`
`Nov. 26, 2013
`Nov. 26, 2013
`
`Sheet 58 Of 72
`Sheet 58 of 72
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`acgilinge
`
`
`
`
`
`356)
`
`
`
` vi leer Reked whecdkchay
`
`tranclosest at
`
`
`Ld a oeoO
`
`
`
`Page 60 of 109
`
`Page 60 of 109
`
`
`
`U.S. Patent
`U.S. Patent
`
`Nov.26, 2013
`
`Sheet 59 of 72
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`
`
`
`
`OL9E0S9€099¢
`
`0998
`
`93P10]S
`
`9¢DTD
`
`WIFI]J
`
`
`
`JO}DITTOOaseqIeNdeayySldV
`
`0899
`
`
`
`
`
`0go¢
`
`0999
`Of9E
`
`0798
`O79e
`
`EIS
`
`Josie
`
`Alpe
`
`O19
`
`0729€
`
`
`
`Page 61 of 109
`
`Page 61 of 109
`
`
`
`Nov. 26, 2013
`Nov.26, 2013
`
`Sheet 60 of 72
`Sheet 60 of 72
`
`eaPEDPLIOOOCORTIDIECODDODDICLDDTEOPIIOCELITEEORELDIEDDUPIEDEEODELECITDEELEICETELEITET
`
`LEDCHPCEEpOIEEE:
`
`
`
`U.S. Patent
`U.S. Patent
`
`SCLe
`
`Page 62 of 109
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`OSLE
`
`OLE
`
`(olzeDID
`
`SOLE
`
`Page 62 of 109
`
`
`
`Nov. 26, 2013
`Nov.26, 2013
`
`Sheet 61 of 72
`Sheet 61 of 72
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`
`
`BOGIOUBRPGEIE:
`
`OSLE
`
`U.S. Patent
`
`U.S. Patent
`
`
`
`PeaseBigRagoneMeitsLELADLEOLOTELLEEE
`
`Page 63 of 109
`
`Page 63 of 109
`
`
`
`Nov. 26, 2013
`Nov. 26, 2013
`
`Sheet 62 of 72
`Sheet 62 of 72
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`S9/8
`SOLE
`
`U.S. Patent
`U.S. Patent
`
`
`
`SS?8
`
`SSLE OOLE
`
`09/19
`
`Page 64 of 109
`
`Page 64 of 109
`
`
`
`U.S. Patent
`
`Nov. 26, 2013
`
`Sheet 63 of 72
`
`US 8,595,186 B1
`
`
`
`-
`
`e-r
`
`z
`
`Sssssssssssssssss
`
`& 3. 3.
`
`SS
`
`R
`
`Page 65 of 109
`
`
`
`U.S. Patent
`
`Nov. 26, 2013
`
`Sheet 64 of 72
`
`US 8,595,186 B1
`
`
`
`O
`r
`CO
`er
`
`l
`er
`CYO
`er
`
`:
`
`S. Qes
`
`(r
`RS
`N S
`
`lf
`r
`CO
`rr,
`
`C
`lf)
`CO
`er
`
`S.
`S
`
`S & S & S & X S
`
`S & s
`X S
`S &
`S
`S
`& X S.
`
`Page 66 of 109
`
`
`
`U.S. Patent
`U.S. Patent
`
`Nov. 26, 2013
`Nov. 26, 2013
`
`Sheet 65 of 72
`Sheet 65 Of 72
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`?989
`3865
`
`33870
`
`
`
`380)
`
`FIG.
`
`Page 67 of 109
`
`Page 67 of 109
`
`
`
`U.S. Patent
`
`Nov. 26, 2013
`
`Sheet 66 of 72
`
`US 8,595,186 B1
`
`3.
`
`
`
`Robile user publishes a
`new widget around an
`SCC SaaS
`
`RSS
`Ernity's 2005
`SC SS
`
`Š
`She posts new content to it
`periodically from her phone at
`each soccer game
`
`|
`
`/
`
`wr s x
`
`
`
`
`
`
`
`ises who saiasciae
`to this widget get
`periodic information
`updates from this
`personal chante
`
`
`
`Page 68 of 109
`
`
`
`U.S. Patent
`
`Nov. 26, 2013
`
`Sheet 67 of 72
`
`US 8,595,186 B1
`
`
`
`User selects 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
`
`F/G, 40
`
`Page 69 of 109
`
`
`
`U.S. Patent
`
`Nov. 26, 2013
`
`Sheet 68 of 72
`
`US 8,595,186 B1
`
`
`
`Developer creates widget
`using wizard or with APIs
`
`Client requests a widget
`
`Widget archive is uploaded
`
`4135
`
`Consult cache, If not in
`cache, perform application
`assembly and save to
`cache
`
`Cache of assembled
`widgets
`
`Analyzer unpacks
`validates compiles and
`optimizes
`
`Compile scripts with other
`scripts that the widget
`references
`
`Application Repository
`
`
`
`Indexed for searching
`
`4125
`
`Delivery
`
`4150
`
`4155
`
`FIG. 41
`
`Page 70 of 109
`
`
`
`U.S. Patent
`U.S. Patent
`
`Nov. 26, 2013
`Nov. 26, 2013
`
`Sheet 69 Of 72
`Sheet 69 of 72
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`ee
`
`
`GAPEPECLEeuch
`onLLGdtuudeLA
`
`GHEELSE
`
`eyBeetfo
`
`3
`
`
`
`Page 71 of 109
`
`Page 71 of 109
`
`
`
`
`(ZO|????????????
`(),: º| (……………………………
`
`
`
`[|BSTwornonanmyecaiesnionn«AEk
`
`Ge,LEMELoyLE,
`le:
`LOOeee
`:-)
`
`YvseYea
`
`
`
`gh
`
`Vee
`
`LYYY
`LYEMOY
`
`U.S. Patent
`U.S. Patent
`
`Z
`Nov.26, 2013
`
`Sheet 70 of 72
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`
`
`Page 72 of 109
`
`Be
`
`OLEr
`
`Page 72 of 109
`
`
`
`U.S. Patent
`
`Nov. 26, 2013
`
`Sheet 71 Of 72
`
`US 8,595,186 B1
`
`
`
`
`
`Sssssssssssssssssssssssssss
`
`
`
`ff. 6/7,
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 73 of 109
`
`
`
`U.S. Patent
`U.S. Patent
`
`Nov. 26, 2013
`Nov. 26, 2013
`
`Sheet 72 of 72
`
`US 8,595,186 B1
`US 8,595,186 B1
`
`PPPEEENAANTNRNNNEN
`B
`weeks
`ES
`pie
`aeoe
`
`Le)
`?
`
`% ?
`
`esYe
`
`
`
`
`
`sofedqamaazuoysng
`
`
`
`SawerDRSprig|cad
`
`
`
`gabiog:ERE!
`
`
`
`“SIRENRUESauer“WomensUosant
`
`FngecuspadSeystrfear
`
`(ues
`
`3:35, 3, #38 ?.
`
`30hshBhigBustLeeeaiienbee
`
`basReeehtes
`
`
`
`SqLIL)OSCRIPEeupalotery08gLey]
`
`en)
`
`
`
`
`
`
`
`BUdoyLDARESA
`
`
`
`
`
`BIEUCDLigierSuEONEYE
`
`SAAN,
`wy
`S
`
`BSPRET|OTSETBaBaea
`
`SHES
`
` peoESR
`
`x&
`
`SENSE
`
`
`
`
` oyA4ieAa2og2oygBioaisisiyao2ooooaoyioa%AAaaoiogao2osAieieoaoeaooyog3aa%AAgzgggoio2iyaoeAiiya42g2oaoiyecAAoea2og2goAeA%A2agggggga%is%aeaa%g3%%3gggg4g%
`
`& SS
`
`4G3gg44gg
`
`
`
`yeLy7~S—=:
`
`
`
`OLSF
`
`Page 74 of 109
`
`Page 74 of 109
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`US 8,595,186 B1
`
`1.
`SYSTEMAND METHOD FOR 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
`
`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 web sites. 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 movie line, on public trans
`portation, or in a coffee shop and may have very short atten
`tion spans and may be in situations where it is very hard to
`type. Such a user may launch the browser and waits for the
`results. By the time the results are delivered to the mobile
`device, the user may have moved on to another task.
`Further, mobile devices may have diverse non-standard
`feature sets and user interfaces. Phone manufacturer has a
`different way of presenting the user interface on the mobile
`device. Menus may be unique to a particular device, and users
`may have to 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 QWERTY key
`boards, keypads, thumb wheels, joy sticks, styluses, roller
`balls, etc.
`
`2
`gramming interface for the widget applications to access a
`common device capability of the mobile devices.
`A method for 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 component of
`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 contains a call to an
`API accessing 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 common device service,
`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.
`A method for creating a mobile Software widget applica
`tion is provided. The method includes accessing a first section
`of code written in a declaratory markup language, accessing
`a second section of code written in a programming language,
`compiling the second section of code to produce a compiled
`section, packaging the first 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 includes a server adapted to transmit a software wid
`get application to a plurality of mobile devices of different
`types for installation thereupon, wherein each mobile device
`type includes a distinct API to a mobile device service that is
`common to 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 component including declaratory markup
`language. The widget application is configured to utilize the
`mobile device service without directly accessing any of the
`distinct APIs.
`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 of the 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 downloaded and installed to the
`mobile device that sent the request to the server.
`A method for synchronizing information with a mobile
`device is provided, including maintaining a first version of the
`information on an electronic storage, the information com
`
`10
`
`15
`
`25
`
`30
`
`35
`
`40
`
`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 component of 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 of the mobile device, and a widget manager configured 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 includes a plurality of different
`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 language that is distinct from programming languages
`supported by the other mobile device types, and all of the
`widget-executing engines provide a common application pro
`
`45
`
`50
`
`55
`
`60
`
`65
`
`Page 75 of 109
`
`
`
`US 8,595,186 B1
`
`10
`
`15
`
`25
`
`30
`
`35
`
`4
`installed on the device, the widget application configured to
`obtain a location of the device from the location identification
`module, the widget application configured to request network
`content customized to the location of the device.
`A method for providing localized content on a mobile
`device is provided. The method includes causing a widget
`Software application to access a location identification ser
`vice to determine a present location of the mobile device, the
`widget Software application being installed on the mobile
`device and being configured to be repeatedly selected, run,
`and terminated by a user of the mobile device, causing the
`widget application to select content to be transmitted to the
`mobile device based in part upon the present location of the
`mobile device, and causing the content to be transmitted to the
`mobile device.
`A computer-implemented method of receiving a widget
`application for a mobile device is provided. The method
`includes running a widget execution engine on a mobile
`device, causing the widget execution engine to conduct diag
`nostic tests on the device, where the diagnostic tests are
`adapted to test for capabilities of the device, sending results of
`the diagnostic tests to a server, and receiving a Software
`widget application from the server where the widget applica
`tion being selected based on the results of the diagnostic tests.
`A computer-implemented method of selecting widget
`applications for installation and execution on a mobile device
`is provided. The m