`
`US 9,063,755 B2
`(10) Patent No.:
`(12) Unlted States Patent
`Rempell et al.
`(45) Date of Patent:
`Jun. 23, 2015
`
`
`(54) SYSTEMS AND METHODS FOR
`PRESENTING INFORMATION ON MOBILE
`DEVICES
`
`(75)
`
`Inventors: Steven H- Rempell, Novato, CA (US);
`David Chrobak, Clayton, CA (US); Ken
`Brown, San Martin, CA (US)
`
`(73) Assignee: Express Mobile, inc., Novato, CA (US)
`
`( * ) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 154 days.
`
`(21) APPI-N0~3
`
`12/9363395
`
`(22) PCT Filed:
`
`Apr. 6, 2009
`
`(86) PCT No.:
`
`PCT/US2009/039695
`
`§ 371 (C)(l ),
`(2), (4) Date:
`
`NOV. 3, 2010
`
`(87) PCTPub.No.: W02009/126591
`PCT Pub. Date: Oct. 15, 2009
`
`(65)
`
`Prior Publication Data
`
`US 2011/0107227 A1
`
`May 5: 2011
`
`(52) US. Cl.
`CPC .................................... G06F 9/4443 (2013.01)
`(58) Field of Classification Search
`CPC ....................................................... G06F 3/048
`USPC .......................................................... 715/738
`See application file for complete search history.
`
`(56)
`
`References Cited
`US. PATENT DOCUMENTS
`
`............... 725/110
`3/2004 Delpuch et a1.
`2004/0055017 A1*
`8/2004 Sidman ...........
`714/100
`2004/0163020 A1*
`
`7/2005 Benedetti .
`718/102
`2005/0149935 A1*
`2005/0273705 A1* 12/2005 McCain ......
`715/513
`
`2006/0063518 A1*
`3/2006 Paddonetal.
`................ 455/418
`
`OTHER PUBLICATIONS
`Stina Nylander et al. “The Ubiquitous Interactor-Device Independent
`.
`.
`.
`.
`Access to M0b11e Serv1ces” (Computer-Alded De81gn for User Inter-
`faces IV, Proceedings of the Fifth International Conference on Com-
`puter-Aided Design of User Interfaces CADUI’2004, Jan. 2004, pp.
`271-282).*
`.
`*
`.
`01th by exammer
`Primary Examiner 7 Jennifer To
`.
`.
`.
`Asststant Examiner 7 Xuyang X1a
`(74) Attorney, Agent, or Firm 7 Steven R. Vosen
`
`Related US. Application Data
`
`(57)
`
`ABSTRACT
`
`(60) Provisional application No. 61/166,651, filed on Apr.
`3, 2009, provisional application No. 61/1 13,471, filed
`on Nov.
`11, 2008, provisional application No.
`61/ 123,438, filed on Apr. 7, 2008.
`
`(51)
`
`Int. Cl-
`G06F 3/048
`G06F 9/44
`G06F 9/45
`
`(2013.01)
`(2006.01)
`(2006.01)
`
`Embodiments of a system and method are described for gen-
`erating and distributing programming to mobile devices over
`a network. Devices are provided with Players specific to each
`device and Applications
`that are device independent.
`Embodiments include a full-featured WYSIWYG authoring
`environment, including the ability to bind web components to
`objects.
`
`28 Claims, 18 Drawing Sheets
`
`
`100 \
`A
`
`mAuthoring 77) m Server
`121 Network
`Platform
`*________________ _._______
`
`Interface
`m Memory
`BJ
`
`123 Memory
`1J1 Autriggrling
`
`
`
`E Processor
`
`fi Device
`Routines
`
`L Screen
`
`m Input
`Device
`
`Content
`
`E Network
`Interface
`
`
` fl
`
` fl Processor
`
`
`
`
`
`
`m Memory
`1m
`
`H1 Network
`Interface
`Processor
`
`_
`see Prss
`
`u
`Device
`& .an
`
`I
`Ad b
`0 8 nc' V-
`Express Mobile, |nc.,
`|PR2021 -XXXXX
`
`US. Pat. 9,471,287
`
`
`
`Exhibit 1008
`
`Exhibit 1008
`
`Page 01 of 40
`
`Exhibit 1008
`Page 01 of 40
`
`
`
`US. Patent
`
`Jun. 23, 2015
`
`Sheet 1 of 18
`
`US 9,063,755 B2
`
`109
`
`\
`
`jig Authoring
`Platform
`
`ill Memory
`
`ll... Authering
`TQQE
`
`g,”,_,_,_MM,_,_,_,_M-].,_,_,_,_M-
`B'J
`
`ll- Device
`Reutines
`
`Eli Precessor
`
`H
`
`13; Netwerk
`
`interface
`
`HQ EA
`
`Exhibit 1008
`
`Page 02 of 40
`
`Exhibit 1008
`Page 02 of 40
`
`
`
`US. Patent
`
`Jun. 23, 2015
`
`Sheet 2 of 18
`
`US 9,063,755 B2
`
`€00
`
`\
`
`HO Authcring
`
`
`
`C4, R4
`
`Exhibit 1008
`
`Page 03 of 40
`
`Exhibit 1008
`Page 03 of 40
`
`
`
`US. Patent
`
`Jun. 23, 2015
`
`Sheet 3 of 18
`
`US 9,063,755 B2
`
`200
`
`\
`
`Pia ers
`y
`
`110
`
`
`
`Authering
`Piatform
`
`,
`Appiications
`
`Load Registry
`5
`
`
`
`gig
`WebCQmponent
`Registry
`
`Access
`Registry
`
`V
`
`~
`Appiications
`
`Deploy
`Registry
`
`Web
`
`21.0.
`
`Response
`
`Director
`
`Request
`
`Proxy
`HTTP/XML
`
`Req uest
`and
`
`Response
`
`2312
`
`Web Service
`
`PEG, 2A
`
`Exhibit 1008
`
`Page 04 of 40
`
`Exhibit 1008
`Page 04 of 40
`
`
`
`netnaPcw
`
`51023,2n.
`
`001f04teehS
`
`US 9,063,755 B2
`
`ӣ30m.tWm;m3mm,
`LOmmqu‘i
`
`
`HsaEEmumcmmbm.«mH35>»wa1
`
`cosmu=QQ<Fgmm_
`
`MiG,.
`
`
`
`50:5meEmmam
`
`mg>ma@Wflw
`
`>>w_>mama
`
`
`
`EEEEOU9:632_m3\__>
` Emcfim9:cwmeEm93.HH.05Emmy
`
`
`mmmmm‘
`
`Exhibit 1008
`
`Page 05 of 40
`
`
`
`
`
`UcwaoEmcfim9£§>fmH
`
`
`
`muSmG8&3“:—
`
`mw
`
`mwmw.mvmm
`
`chumE
`
`EELSW
`
`;Hmmmmp
`
`Ewum>m
`
`
`
`.p0Emmyac.EmaV
`
`
`
`
`
`5092239:22_m:t_>
`
`Exhibit 1008
`Page 05 of 40
`
`
`
`U
`
`m
`
`n
`
`00
`
`US 9,063,755 B2
`
`
`mmomM£81Umom
`M\\\\\\\\\\\\\\\\\\§8mmom5xmmom8gmom
`mumom
`~x\\\\\\.E3%“§§§§
`
`em:M20m28PEomtomEomfemif«b.WI.Pom00m
`
`Exhibit 1008
`
`Page 06 of 40
`
`
`
`«\«xxiixxxsxxxi‘x
`
`umom
`
`<mdE
`
`mmOm
`
`gmom
`
`mmom
`
`Exhibit 1008
`Page 06 of 40
`
`
`
`S.
`
`t
`
`m
`
`23a2
`
`5
`
`ehS
`
`00
`
`US 9,063,755 B2
`
`#mmom
`
`
`nmmmom._...m3%...§\\\\\\\\\\\\\\\\\§a.m§x§«x
`
`em:
`
`h_momEBm
`mNmoomA/t£8
` unom
`
`n...m
`
`mom
`
`Dammoo»,80m8%DoommmomWISmif.
`
`
`
`.W1.momcom
`
`Exhibit 1008
`
`Page 07 of 40
`
`Exhibit 1008
`Page 07 of 40
`
`
`
`US. Patent
`
`Jun. 23, 2015
`
`Sheet 7 of 18
`
`US 9,063,755 B2
`
`_|_
`
`309b
`
`W\WW\W\
`
`309b1
`
`
`
`
`
`
`gfiete Extereet wee Sage s' meme Ctérrteet Emme-
`§Gete Exrtemet wee Page Laseeflteti m a flew kmeeew
`gem a emaifie Page Mew
`gfiete ate-met Weft} Page mfitaeteg the “fee- Frame-
`§~fi~ete the WE‘RE Page View
`iiEe‘eeete éeeeficm fietfiefi
`gfiattaseéfieeeme gage finsewt
`gsExeeete eta fimttwtfim
`§fiete e 'Seeestfie flute Ste e Wee mew
`$253.31. Aeeéifiefim
`gem 31mm
`image Fame Kati
`éflemt Stem my: REE
`§Se§§i§ germ ere: REE m fiemerie Siege
`
`,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
`
`fifieeeme teiereefiee games;
`
`i“ S-emfit emmem Efifiashm
`
`
`, akmeifime £35m: Sieggtereeeefii
`
`f“ iEeatfie Bender Lieteeey
`
`3m Sefishmt‘t fer-m
`
`3"”? fifeggéte magmas m we.
`
`i“ ifii‘efie mewetami {meme
`
`3 09 b 3
`
`Qeesee State
`
`
`
`Bfim‘i 38mm fiffifim Semfig "
`
`
`
`309b4
`
`
`
`309b5
`
`
`
`Uhjeet Selected: Text Field
`
`HG. 3C
`
`Exhibit 1008
`
`Page 08 of 40
`
`Exhibit 1008
`Page 08 of 40
`
`
`
`US. Patent
`
`Jun. 23, 2015
`
`Sheet 8 of 18
`
`US 9,063,755 B2
`
`&
`
`\\\\\\\\\\
`
`ek
`
`'
`
`'
`
`&
`
`\\\\\\\\\.\\\\\\\\\\\\\\\\\\‘\\\\\\\“\“xxxxxx“\“xxx‘xxxxxxxxxxxxxxxxxx‘xxxxxxxxxxxxx‘
`flamm ER
`
`{39$ mimfimmkm Ssmifmmmm
`
`mmmm
`
`, Nmmmmi
`
`Sam mi:
`
`Fifi-{38'
`
`mm m
`mm {m
`
`Sf: mfi 2mm
`{Emma}
`
`mmwm:
`
`Secek Elia was:
`
`Semi Hfimae
`
` W4
`
`
`
`FEG. SD
`
`Exhibit 1008
`
`Page 09 of 40
`
`Exhibit 1008
`Page 09 of 40
`
`
`
`US. Patent
`
`Jun. 23, 2015
`
`Sheet 9 of 18
`
`US 9,063,755 B2
`
`3096
`
`30961
` Web {iampunanfi anfi WEB Service Ggeraflens
`
`
`:WWW
`
`“\v.\\u\\\\\\\\\u\\\\\u\\u\\\\\u\\\\\u\\u\\\\\u\\u\\\\\u\\\\\
`
`309e2
`
`
`
`Q“
`
`Rfiribaies EX fiéS-Efi
`
`\\\\\\\\\\\\\\\\\\3
`
`309e3
`
`309e11
`
`30964
`,,,E§§E££§§EE§EE:§§§§,W,
`
`309e5\§a§
`.
`.
`-
`,
`.~
`.
`,
`
`MHMHHMHMHHMWHM .HWHWWWHWHHWWW
`
`Shanna: Feefi
`Ggm‘mwn
`{Shanna Name
`
` .
`. .mwm
`I
`‘REEEEKS
`
`
`
`Object Selected: Page
`
`
`309e9
`
`3°9e12
`309e7
`
`309910
`
`309e6
`
`309e8
`
`
`
`FiG. 3E
`
`Exhibit 1008
`
`Page 10 of 40
`
`Exhibit 1008
`Page 10 of 40
`
`
`
`U.S. Patent
`
`Jun. 23, 2015
`
`Sheet 10 of 18
`
`US 9,063,755 B2
`
`
`
`59:91:23,9th Page:
`
`
`
`
`
`
`31 9b
`
`31 9c
`
`5‘
`
`WW
`.ficfiwaziim Spams
`zx\x\xxx\xxx\“m“mm\m“m“ ‘ m\
`,1
`4‘
`
`319
`
`319a
`
`Cfitmfiflfififikt
`Eema $31
` mat
`
`RES Elia-{3 35F
`
`NaMLsxaaE-flifecima agetfliseflmna
`RMNugsiufiemfipflmste{.F’ampan N
`
`Nwfluest—Gfiifimpfimsm :1am 49331 .5
`
`Nagfigem—Getfiaafiflaste{3232343353 E
`kkpmsasfifiemiapfimsfia{fiampani‘r‘sf
`
`Nwfluesi-fimmapfltemler—§ai§g§2t§§zafiflmmfiar
`
`\m
`k.\
`u
`.
`as“
`fikaEsasi—mhggifim
`mew tea
`Sam: 5 N S
`Weak-fir:
`Wemm:
`mafia-5
`Sim-ks-
`:F mamas gait? News
`‘Faimimngsm Rams
`FBfiflfiflifi 5.3-9an
`3F afiafimfiszgefifi
`‘Famtmlsmmfimmo
`L‘Bfififi
`Wet} Seasick
`R S 5:;
`mmm {LgemBYDQ'Es-fl
`RingMae-37w“: 8
`Sea whim
`Seami:
`Sea {313 Ringimea
`
`
`
` , fikggkfifige
`
`
`
`
`
`319d
`
`3196
`
`
`
`
`
`
`
`
`
`
`FEG. 3F
`
`Exhflfit1008
`
`Page 11 0f40
`
`Exhibit 1008
`Page 11 of 40
`
`
`
`U.S. Patent
`
`2m,2n.
`
`1
`
`US 9,063,755 B2
`
`00W1mfm0w“
`
`mmm
`
`R§.§.x5.v§»§:§
`
`mw.gn.
`
`“m
`
`w“
`
`1mmMl»memW‘mfifimmmmmmfl
`......hM“xu“ama:"§N§m§i§fiuuSmnvvugmwmw«my~.flaky“Xxx.5E:
`E9303“
`.
`
`
`
`iguana».0w...ue“533$2.‘mv‘mmwmwmmm‘:
`
`“m...HNxggiaisugfimfimfi
`mmwFmvmommrwFrw
`
`
`
`”ION.“fi/0?V/Ia;W/com
`
`
`
`
`
`
`
`.\\.N§&\\\\.\§\\\\\\\§\\\\\\§.\xxxxxx.‘8§§¢§\»\\&x
`
`
`
`NNE........:QQ._,
`
`REVMEN
`
`myr
`
`Exhibit 1008
`
`Page 12 of 40
`
`Exhibit 1008
`Page 12 of 40
`
`
`
`U.S. Patent
`
`Jun. 23, 2015
`
`Sheet 12 0f 18
`
`US 9,063,755 B2
`
`
`
`.,,,fiwmw,mm,
`
`
`
`Jigsawfimfiwwfiawfig
`
`
`
`
`
`.fiéfiéaameggfiEuwfim
`
`
`
`
`
`gmmm
`
`
`
`fiwfimmmmwwfiufim..
`
`@E
`
`38£8£8
`38A/\
`
`QNOmmom
`
`mmngmgm,..QQGERom28
`
`
`
`<@@E
`
`m©.67..
`
`Exhibit 1008
`
`Page 13 0f40
`
`Exhibit 1008
`Page 13 of 40
`
`
`
`
`
`US. Patent
`
`Jun. 23, 2015
`
`Sheet 13 of 18
`
`US 9,063,755 B2
`
`700
`
`701a
`
`701b
`
`701e
`
`HG, 7
`
`701C1
`
`701C2
`
`701d
`
`701C —>
`
`Exhibit 1008
`
`Page 14 of 40
`
`Exhibit 1008
`Page 14 of 40
`
`
`
`US. Patent
`
`Jun. 23, 2015
`
`Sheet 14 of 18
`
`US 9,063,755 B2
`
`800
`
`N
`
`& W
`
` & S
`
`Promo Code
`
`85
`
`Content Server
`
`Exhibit 1008
`
`Page 15 of 40
`
`PEG, 9
`
`ebsite System
`
`
`MS Server
`
`805
`
`Content Server
`
`Exhibit 1008
`Page 15 of 40
`
`
`
`US. Patent
`
`Jun. 23, 2015
`
`Sheet 15 of 18
`
`US 9,063,755 B2
`
`1001:)
`
`finhiia
`‘Ganwm
`fiafisway
`
`1010
`
`“"""-:~.;\(.u<-\'-c«.\-.-.»“ _
`
`Summit :2
`
`Swarm-‘3
`
`,33m \.\.\.\.\.\.'.'.'.\'\'\'\\'\'\'\\'\.'\.'\.'\.\.\.\.\.\.\.\.\.\.'.'.'.'\\'\'\\'\'\'\\'\.'\.'\.'\.\.\.\.\.\.\.\.\.\.'.'.'.'\'\'\'\'\'\'\'\'\'\.'\.'\.'\.\.\. \
`:1:
`
`
`
`V1011
`
`\
`$3M Sawmeg
`
`
`
`
`
`Nxxxxwmmum \'\'\'\'\'\'\'\'\.
`
` .-:244441.444
`mammasfmré
`em Quiémmr-
`
`1012
`1013
`
`1914
`
`
`
`
`
`
`1015
`
`1
`
`1016
`
`1017
`
`
`
`m- m.
`s
`1
`
`mafia? rmuasés
`§
`
`13mm Samar
`1
`
`
`fimFmfia~
`E
`‘
`H
`,
`:
`HTFSQP 3‘
`g
`_
`fl_”
`,,
`,
`,,,,,,,
`H,
`
`“X
`
`1020
`
`1018
`
`1019
`
`
`
`1021
`
`
`fiynamm ' H
`
`Cmmmgawer
`
`
`130
`
`Exhibit 1008
`
`Page 16 of 40
`
`Exhibit 1008
`Page 16 of 40
`
`
`
`U.S. Patent
`
`Jun.23,2015
`
`Sheet160f18
`
`US 9,063,755 B2
`
`wmwfl
`
`mmwp
`
`
`
`figuwamn3.50“an“,
`
`
`
`Emism«’21ONw
`
`ekgeheR
`
`
`
`guwxivmwno»?
`
`afimaahax
`
`
`
`«QR—Qmxflwfl
`
`9:393"
`
`BaumSmugcnt.
`Emfimtéafi\”
` vacaEmuEndné?
`ssaaouufin.\Am»..
`
`
`Sagan
`
`kw.
`
`
`
`
`
`Lanaimfisfigfiksofim‘fiwfix
`
`
`
`‘iuu \‘v\\\\”mmmm3m.«M:mxA‘~\~»‘.\,N§16<bxoRMEmasmmm\e\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\x\\\\\\\\\\\x\\\\\\\t\\x\\\\\\\\\\\\\\\\\\\\t\\\\\\\\\\fi\
`
`
`t:-xxxxxxxxx--xxxxxxxx--xxxxxxxxx-~‘xxxxxxxx-~‘xxxxxxxxx-":Lvtx==tttt§=~
`
`“cwmfibuSHE
`
`wfififi¥fi§w
`
`..x_
`
`:5am
`
`exu—
`
`anagram
`
`SA
`
`:gsuzfiq
`
`wanna1.x.
`gfiwwgfiufi
`
`3.
`
`EcufimaSE.»325:0”Q
`
`
`
`«$4..ng233E
`
`:.QE
`
`Exhibit 1008
`
`Page 17 of 40
`
`Exhibit 1008
`Page 17 of 40
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`J
`
`mS
`
`00
`
`US 9,063,755 B2
`
`mmmmmmmm
`
`
`
`
`
`
`
`
`
`
`
`FONF\\\\\\\\\\\\\\\\\\............\\\\.\\VV.\VV\V\\\..................\\.\V\V.\\\\.......................\\\\V.\.....\\\\\\\\.\.\\\\..........
`
`
`
`
`
`Emmi.EmaammmmmM‘mmmammmmemnwmMmmmmEEK;
`
`cam”
`
`
`
`mmmmmmmmfi“mam.Emmmmmmm.mE.mmmm.mmmw
`
`
`
`
`
`mammnmM.mmmmm.mmmmmmmE
`
`
`mmmmmm3,“$anmmmfi
`
`
`HWEE“.3.memmmmmwm“£33mwwfigmmm.,0:...mmmmmmm
`
`
`mmmmmmtmmmm
`
`mmmmmmmda$memmmmmmmmgUmmmmmmmammmmmmmu
`
`mmmmm
`
`mmfimmmfimmEm
`
`.mofi
`
`§§§§§§§§§§§§§§§§§§§
`
`\$§§\
`
`mmmmmmflmm
`
`.m:Em.mmm
`
`mmmmummmmmmmmmmmmmmmammmmm
`
`
`
`EmEmmmmmmamfimmmw
`
`amp
`
`Exhibit 1008
`
`Page 18 of 40
`
`E.SE
`
`Exhibit 1008
`Page 18 of 40
`
`
`
`
`
`
`US. Patent
`
`Jun. 23, 2015
`
`Sheet 18 of 18
`
`US 9,063,755 B2
`
`\\\\\\\\\\\\\xxx\x\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\xx\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\:
`____________
`
`‘
`
`//
`*
`
`\\\mxxxxxxxxxxxxxxxx\\\\\\\\x\\\\m\\\\\\\\\\\xxxxx\
`
`Query $0?
`flevice Charamerisfics
`Operator and Lassie:
`
`1301
`
`x'-
`§\\\\\\\\\\\
`
`
`
`Gmewaie
`
`i4,
`
`
`M “A 0
`
`
`
` xxx/xxx”//x/z1/1/zx/x/z22z/x/x/x/x/x/x/I/l/x/xxxxxxxz/
`
`
`
`
`
`fiespanse Director
`
`
`
`
`
`
`
`
`Query and Receive
`um. far Mamhfi‘zg Player
`
`
`
`1303
`
`figurine Apprapfiate Mayer Install:
`
`F'Iiayeer Pmfite
`flatabasa
`
`1305
`
`\
`
`
`
`Mayer Buitd Fracess
`camera}: Piayers far .38
`fmmractim iimzplame-ntatiom
`
`FEG, ’33
`
`Exhibit 1008
`
`Page 19 of 40
`
`Exhibit 1008
`Page 19 of 40
`
`
`
`US 9,063,755 B2
`
`1
`SYSTEMS AND METHODS FOR
`PRESENTING INFORMATION ON MOBILE
`DEVICES
`
`TECHNICAL FIELD
`
`The present invention generally relates to providing soft-
`ware for mobile devices, and more particularly to a method
`and system for authoring Applications for devices.
`
`BACKGROUND ART
`
`Intemet-connected mobile devices are becoming ever
`more popular. While these devices provide portability to the
`Internet, they generally do not have the capabilities of non-
`mobile devices including computing, input and output capa-
`bilities.
`
`In addition, the mobility of the user while using such
`devices provides challenges and opportunities for the use of
`the Internet. Further, unlike non-mobile devices, there are a
`large number of types of devices and they tend to have a
`shorter lifetime in the marketplace. The programming of the
`myriad of mobile devices is a time-consuming and expensive
`proposition, thus limiting the ability of service providers to
`update the capabilities of mobile devices.
`Thus there is a need in the art for a method and apparatus
`that permits for the efficient programming of mobile devices.
`Such a method and apparatus should be easy to use and
`provide output for a variety of devices.
`
`DISCLOSURE OF INVENTION
`
`10
`
`15
`
`20
`
`25
`
`30
`
`In certain embodiments, a system is provided to generate
`code to provide content on a display ofa platform. The system
`includes a database ofweb services obtainable over a network
`
`35
`
`and an authoring tool. The authoring tool is configured to
`define an object for presentation on the display, select a com-
`ponent of a web service included in said database, associate
`said object with said selected component, and produce code
`that, when executed on the platform, provides said selected
`component on the display of the platform.
`In certain other embodiments, a method is provided for
`providing information to platforms on a network. The method
`includes accepting a first code over the network, where said
`first code is platform-dependent; providing a second code
`over the network, where said second code is platform-inde-
`pendent; and executing said first code and said second code
`on the platform to provide web components obtained over the
`network.
`
`In certain embodiments, a method for displaying content
`on a platform utilizing a database of web services obtainable
`over a network is provided. The method includes: defining an
`object for presentation on the display; selecting a component
`of a web service included in said database; associating said
`object with said selected component; and producing code
`that, when executed on the platform, provides said selected
`component on the display of the platform.
`In one embodiment, one of the codes is a Player, which is
`a thin client architecture that operates in a language that
`manages resources efficiently, is extensible, supports a robust
`application model, and has no device specific dependencies.
`In another embodiment, Player P is light weight and extends
`the operating system and/or virtual machine of the device to:
`Manage all applications and application upgrades, and
`resolve device, operating system, VM and language fragmen-
`tation.
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`
`In another embodiment, one of the codes is an Application
`that is a device independent code that interpreted by the
`Player.
`These features together with the various ancillary provi-
`sions and features which will become apparent to those
`skilled in the art from the following detailed description, are
`attained by the system and method of the present invention,
`preferred embodiments thereof being shown with reference
`to the accompanying drawings, by way of example only,
`wherein:
`
`BRIEF DESCRIPTION OF DRAWINGS
`
`FIG. 1A is an illustrative schematic of one embodiment of
`
`a system including an authoring platform and a server for
`providing programming instructions to a device over a net-
`work;
`FIG. 1B is schematic of an alternative embodiment system
`for providing programming instructions to device over a net-
`work;
`FIG. 2A is a schematic of an embodiment of system illus-
`trating the communications between different system com-
`ponents;
`FIG. 2B is a schematic of one embodiment of a device
`
`illustrating an embodiment ofthe programming generated by
`authoring platform;
`FIGS. 3A and 3B illustrate one embodiment of a publisher
`interface as it appears, for example and without limitation, on
`a screen while executing an authoring tool;
`FIG. 3C illustrates an embodiment of the Events Tab'
`FIG. 3D illustrates one embodiment of anAnimation Tab;
`FIG. 3E illustrates one embodiment of Bindings Tab;
`FIG. 3F illustrates one embodiment of a pop-up menu for
`adding web components;
`FIG. 4A shows a publisher interface having a layout on a
`canvas; and FIG. 4B shows a device having the resulting
`layout on a device screen;
`FIG. 5 shows a display of launch strips;
`FIG. 6A is a display ofa Channel Selection List;
`FIG. 6B is a display of a Widget Selection List;
`FIG. 6C is a display ofa Phone List;
`FIG. 7 shows a display ofa mash-up;
`FIG. 8 is a schematic of an embodiment of a push capable
`system;
`FIG. 9 is a schematic of an alternative embodiment of a
`
`push capable system;
`FIG. 10 is a schematic of one embodiment of a feed col-
`lector;
`FIG. 11 is a schematic of an embodiment of a Mobile
`
`Content Gateway;
`FIG. 12 is a schematic of one embodiment of a system that
`includes a response director, a user agent database, an IP
`address database, and a file database; and
`FIG. 13 is a schematic of another embodiment of a system
`that includes a response director, a user agent database, an IP
`address database, and a file database.
`Reference symbols are used in the Figures to indicate cer-
`tain components, aspects or features shown therein, with
`reference symbols common to more than one Figure indicat-
`ing like components, aspects or features shown therein.
`
`MODE(S) FOR CARRYING OUT THE
`INVENTION
`
`FIG. 1A is an illustrative schematic of one embodiment of
`
`a system 100 including an authoring platform 110 and a
`server 120 for providing programming instructions to a
`
`Exhibit 1008
`
`Page 20 of 40
`
`Exhibit 1008
`Page 20 of 40
`
`
`
`US 9,063,755 B2
`
`3
`device 130 over a network N. In one embodiment, device 130
`is a wireless device, and network N includes wireless com-
`munication to the device. Alternatively, system 100 may pro-
`vide access over network N to other information, data, or
`content, such as obtainable as a web service over the Internet.
`In general, a user of authoring platform 110 may produce
`programming instructions or files that may be transmitted
`over network N to operate device 130, including instructions
`or files that are sent to device 130 and/or server 120. The result
`
`ofthe authoring process is also referred to herein, and without
`limitation, as publishing an Application.
`Embodiments include one or more databases that store
`information related to one or more devices 130 and/or the
`
`content provided to the devices. It is understood that such
`databases may reside on any computer or computer system on
`network N, and that, in particular, the location is not limited to
`any particular server, for example.
`Device 130 may be, for example and without limitation, a
`cellular telephone or a portable digital assistant, includes a
`network interface 131, a memory 133, a processor 135, a
`screen 137, and an input device 139. Network interface 131 is
`used by device 130 to communication over a wireless net-
`work, such as a cellular telephone network, a WiFi network or
`a WiMax network, and then to other telephones through a
`public switched telephone network (PSTN) or to a satellite, or
`over the Internet. Memory 133 includes programming
`required to operate device 130 (such as an operating system or
`virtual machine instructions), and may include portions that
`store information or programming instructions obtained over
`network interface 131, or that are input by the user (such as
`telephone numbers or images from a device camera (not
`shown). In one embodiment screen 137 is a touch screen,
`providing the functions of the screen and input device 139.
`Authoring platform 110 includes a computer or computer
`system having a memory 111, a processor 113, a screen 115,
`and an input device 117. It is to be understood that memory
`111, processor 113, screen 115, and input device 117 are
`configured such a program stored in the memory may be
`executed by the processor to accept input from the input
`device and display information on the screen. Further, the
`program stored in memory 111 may also instruct authoring
`platform 110 to provide programming or information, as indi-
`cated by the line labeled “A” and to receive information, as
`indicated by the line labeled “B.”
`Memory 111 is shown schematically as including a stored
`program referred to herein, and without limitation, as an
`authoring tool 112. In one embodiment, authoring tool 112 is
`a graphical system for designing the layout of features as a
`display that is to appear on screen 137. One example of
`authoring tool 112 is the CDERTM publishing platform (Ex-
`press Mobile, Inc., Novato, Calif.).
`In another embodiment, which is not meant to limit the
`scope of the present invention, device 130 may include an
`operating system having a platform that can interpret certain
`routines. Memory 111 may optionally include programming
`referred to herein, and without limitation, as routines 114 that
`are executable on device 130.
`
`Routines 114 may include device-specific routinesithat
`is, codes that are specific to the operating system, program-
`ming language, or platform of specific devices 130, and may
`include, but are not limited to, Java, Windows Mobile, Brew,
`Symbian OS, or Open Handset Alliance (OHA). Several
`examples and embodiments herein are described with refer-
`ence to the use ofJava. It is to be understood that the invention
`
`is not so limited, except as provided in the claims, and that one
`skilled in the art could provide Players for devices using
`routines provided on a platform. Thus as an example, routines
`
`4
`
`114 may include Java API’s and an authoring tool System
`Development Kit (SDK) for specific devices 130.
`Server 120 is a computer or computer system that includes
`a network interface 121, a memory 123. and a processor 125.
`Is to be understood that network interface 121, memory 123,
`and processor 125 are configured such that a program stored
`in the memory may be executed by the processor to: accept
`input and/or provide output to authoring platform 110; accept
`input and/or provide output through network interface 121
`over network N to network interface 131; or store information
`from authoring platform 110 or from device 130 for transmis-
`sion to another device or system at a later time.
`In one embodiment, authoring platform 110 permits a user
`to design desired displays for screen 137 and actions ofdevice
`130. In other words, authoring platform 110 is used to pro-
`gram the operation of device 130. In another embodiment,
`authoring platform 110 allows a user to provide input for the
`design of one or more device displays and may further allow
`the user to save the designs as device specific Applications.
`The Applications may be stored in memory 123 and may then
`be sent, when requested by device 130 or when the device is
`otherwise accessible, over network N, through network inter-
`face 130 for storage in memory 133.
`In an alternative embodiment, analytics information from
`devices 130 may be returned from device 130, through net-
`work N and server 120, back to authoring platform 110, as
`indicated by line B, for later analysis. Analytics information
`includes, but is not limited to, user demographics, time ofday,
`and location. The type of analytic content is only limited by
`which listeners have been activated for which objects and for
`which pages. Analytic content may include, but is not limited
`to, player-side page view, player-side forms-based content,
`player-side user interactions, and player-side object status.
`Content server 140 is a computer or computer system that
`includes a network interface 141, a memory 143. and a pro-
`cessor 145. It is to be understood that network interface 141,
`memory 143, and processor 145 are configured such that a
`stored program in the memory may be executed by the pro-
`cessor to accepts requests R from device 130 and provide
`content C over a network, such as web server content the
`Internet, to device 130.
`FIG. 1B is schematic of an alternative embodiment system
`100 for providing programming instructions to device 130
`over a network N that is generally similar to the system of
`FIG. 1A. The embodiment of FIG. 1B illustrates that system
`100 may include multiple servers 120 and/or multiple devices
`130.
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`In the embodiment of FIG. 1B, system 100 is shown as
`including two or more servers 120, shown illustratively and
`without limitation as servers 120a and 1201). Thus some ofthe
`
`50
`
`programming or information between authoring platform
`110 and one or more devices 130 may be stored, routed,
`updated, or controlled by more than one server 120. In par-
`ticular, the systems and methods described herein may be
`executed on one or more server 120.
`
`Also shown in FIG. 1B are a plurality of devices 130,
`shown illustratively and without limitation as device 130-1,
`130-1, .
`.
`. 130-N. System 100 may thus direct communication
`between individual server(s) 120 and specific device(s) 130.
`As described subsequently, individual devices 130 may be
`provided with program instructions which may be stored in
`each device’s memory 133 and where the instructions are
`executed by each device’s processor 135. Thus, for example,
`server(s) 120 may provide device(s) 130 with programming
`in response to the input of the uses of the individual devices.
`Further, different devices 130 may be operable using different
`sets of instructions, that is having one of a variety of different
`
`55
`
`60
`
`65
`
`Exhibit 1008
`
`Page 21 of 40
`
`Exhibit 1008
`Page 21 of 40
`
`
`
`US 9,063,755 B2
`
`5
`“device platforms.” Differing device platforms may result,
`for example and without limitation, to different operating
`systems, different versions of an operating system, or differ-
`ent versions of virtual machines on the same operating sys-
`tem. In some embodiments, devices 130 are provided with
`some programming from authoring system 100 that is par-
`ticular to the device.
`
`In one embodiment, system 100 provides permits a user of
`authoring platform 110 to provide instructions to each of the
`plurality of devices 130 in the form of a device- or device-
`platform specific instructions for processor 135 of the device,
`referred to herein and without limitation as a “Player,” and a
`device-independent program, referred to herein and without
`limitation as an “Application” Thus, for example, authoring
`platform 110 may be used to generate programming for a
`plurality of devices 130 having one of several different device
`platforms. The programming is parsed into instructions used
`by different device platforms and instructions that are inde-
`pendent of device platform. Thus in one embodiment, device
`130 utilizes a Player and an Application to execute program-
`ming from authoring platform 110. A device having the cor-
`rect Player is then able to interpret and be programmed
`according to the Application.
`In one alternative embodiment, the Player is executed the
`first time by device 130 (“activated”) through an Application
`directory. In another alternative embodiment, the Player is
`activated by a web browser or other software on device 130.
`In yet another alternative embodiment, Player is activated
`through a signal to device 130 by a special telephone num-
`bers, such as a short code.
`When the Application and the Player are provided to
`memory 133, the functioning of device 130 may occur in
`accordance with the desired programming. Thus in one
`embodiment, the Application and Player includes program-
`ming instructions which may be stored in memory 133 and
`which, when executed by processor 135, generate the
`designed displays on screen 137. The Application and Player
`may also include programming instructions which may be
`stored in memory 133 and which provide instructions to
`processor 135 to accept input from input device 139.
`Authoring tool 112 may, for example, produce and store
`within memory 111a plurality of Players (for different
`devices 130) and a plurality of Applications for displaying
`pages on all devices. The Players and Applications are then
`stored on one or more servers 120 and then provided to
`individual devices 130. In general, Applications are provided
`to device 130 for each page of display or a some number of
`pages. A Player need be provided once or updated as neces-
`sary, and thus may be used to display a large number of
`Applications. This is advantageous for the authoring process,
`since all ofthe device-dependent programming is provided to
`a device only once (or possibly for some small number of
`upgrades), permitting a smaller Application, which is the
`same for each device 130.
`
`Thus, for example and without limitation, in one embodi-
`ment, the Player transforms device-independent instructions
`of the Application into device-specific instructions that are
`executable by device 130. Thus, by way of example and
`without limitation, the Application may include Java pro-
`gramming for generating a display on screen 137, and the
`Player may interpret the Java and instruct processor 135 to
`produce the display according to the Application for execu-
`tion on a specific device 130 according to the device platform.
`The Application may in general include, without limitation,
`instructions for generating a display on screen 137, instruc-
`tions for accepting input from input device 139, instructions
`
`6
`for interacting with a user of device 130, and/or instructions
`for otherwise operating the device, such as to place a tele-
`phone call.
`The Application is preferably code in a device-independent
`format, referred to herein and without limitation as a Portable
`Description Language (PDL). The device’s Player interprets
`or executes the Application to generate one or more “pages”
`(“Applications Pages”) on a display as defined by the PDL.
`The Player may include code that is device-specificithat it,
`each device is provided with a Player that is used in the
`interpretation and execution of Applications. Authoring tool
`112 may thus be used to design one or more device-indepen-
`dent Applications and may also include information on one or
`more different devices 130 that can be used to generate a
`Player that specific devices may use to generate displays from
`the Application.
`In one embodiment, system 100 provides Players and
`Applications to one server 120, as in FIG. 1A. In another
`embodiment, system 100 provides Players to a first server
`120a andApplications to a second server 120b, as in FIG. 1B.
`In one embodiment, authoring tool 112 may be used to
`program a plurality of different devices 130, and routines 114
`may include device-specific routines. In another embodi-
`ment, the Player is of the type that is commonly referred to as
`a “thin client”ithat is, software for running on the device as
`a client in client-server architecture with a device network
`
`10
`
`15
`
`20
`
`25
`
`which depends primarily on a central server for processing
`activities, and mainly focuses on conveying input and output
`between the user and the server.
`
`30
`
`In one embodiment, authoring platform 110 allows user to
`arrange objects for display on screen. A graphical user inter-
`face (“GUI,” or “UI”) is particularly well suited to arranging
`objects, but is not necessary. The objects may correspond to
`one or more of an input object, an output object, an action
`object, or may be a decorative display, such as a logo, or
`background color or pattern, such as a solid or gradient fill. In
`another embodiment, authoring platform 110 also permits a
`user to assign actions to one or more of an input object, an
`output object, or an action object. In yet another embodiment,
`authoring platform 110 also permits a user to bind one or
`more of an input object, an output object, or an action object
`with web services or web components, or permits a user to
`provide instructions to processor 135 to store or modify infor-
`mation in memory 133, to navigate to another display or
`service, or to perform other actions, such as dialing a tele-
`phone number.
`In certain embodiments, the applicant model used in devel-
`oping and providing Applications is a PDL. The PDL can be
`conceptually viewed as a device, operating system and virtual
`machine agnostic representation of Java serialized objects. In
`certain embodiments, the PDL is the common language for
`authoring tool 112, the Application, and Player. Thus while
`either designing the Application with the authoring tool 112,
`or programming with the SDK, the internal representation of
`the programming logic is in Java. In one embodiment the
`SDK is used within a multi-language software development
`platform comprising an IDE and a plug-in system to extend it,
`such as the Eclipse Integrated Development Environment
`(see, for example, http://www.ecl