EXHIBIT 10 (k)
[LOGO]
Digital Lava Inc.
August 28, 1998
Xx. Xxxxx Xxxxxxx
Lesson Lab, Inc.
00000 Xxxxx Xxxxxx Xxxx.
Los Angeles, CA 90025
Dear Xxxxx,
This letter shall serve as a formal Agreement between Digital Lava, Inc.
("Digital Lava") and Lesson Lab, Inc. ("Customer."). Customer desires that
Digital Lava perform custom development and programming services in connection
with Digital Lava's VideoVisor Product ("VideoVisor") to allow Customer to
customize VideoVisor as set forth in Attachment A hereto.
1. Services. Digital Lava shall provide the Services set forth on Attachment A
hereto and shall deliver to Customer all work product, documentation and
results of such Services (the "Deliverables") according to the Delivery
Schedule set forth on Attachment A. With respect to the performance of
Services, Customer will neither direct nor supervise Digital Lava's
employees or staff with respect to said individuals' tasks or
responsibilities without Digital Lava's express written consent. Digital
Lava intends to perform the Services at Digital Lava's premises.
2. Acceptance. Customer shall have [10] business days after delivery and
installation of the Deliverables (or re-installation resulting from
correction of defects by repair or replacement of the Deliverables) to
evaluate and test the Deliverables to determine that they conform with
Attachment A hereto. If Customer, in its best business judgment, determines
that the Deliverables fail to conform to the requirements of Attachment A,
it shall immediately notify Digital Lava in writing, specifying in detail
the reasons that Customer believes the Deliverables fail to conform.
Digital Lava shall have [15] business days in which to correct and resubmit
the Deliverables to Customer. Customer shall then have [3] business days in
which to re-evaluate and test the Deliverables for conformance with
Attachment A, and shall notify Digital Lava as set forth above of any
nonconformance. Digital Lava shall have [5] business days in which to
correct and resubmit the Deliverables to Customer. Customer shall then have
[2] business days to re-test the Deliverables, and to provide Digital Lava
with notice rejection of the Deliverables for nonconformance. Silence shall
be deemed to be acceptance. If Digital Lava fails to correct the
Deliverables to conform to Attachment A within such time period, Customer
may terminate this Agreement. Upon acceptance of such Deliverables, Digital
Lava shall provide ongoing maintenance and support pursuant to Section 3(b)
of this Agreement.
3. Fees and Payment.
a. Progress Payments. In consideration for the rights and obligations set
forth herein, Customer will pay Digital Lava according to the Payment
Schedule set forth on Attachment A. By executing this Agreement,
Customer confirms the budget for the work, and the charges and
purchases set forth in Appendix A hereto. If Customer wishes to
enlarge the scope of the Services or implement additional features or
subtasks, the parties shall agree upon the costs therefor in advance
in writing.
b. Upgrades and Support. If Customer desires to receive continuing
support and upgrades beyond those set forth on Attachment A, it agrees
to pay Digital Lava an amount equal to Forty Percent (40%) of Payments
due for Services. Any such support and upgrade fees will be due in
cash at the beginning of the year for which such support will be
provided. Note: This was not discussed with Xxxxxxx. We can put this
in and choose to waive it.
c. Expenses. Customer will reimburse Digital Lava for incidental expenses
and disbursements incurred by Digital Lava related to travel and
lodging, shipping, and any other incidental expenses incurred in the
performance of the Services. Digital Lava shall bear sole
responsibility for expenses incurred to acquire the necessary tools to
perform the Services. If Digital Lava needs to procure any third party
computer software, hardware, other office supplies or any other
subcontracted services or products to implement, perform, or install
items set forth in Attachment A, which purchase will exceed $1000,
Digital Lava will notify Customer in advance, and obtain approval for
the amount of the purchase plus any applicable sales tax.
d. Billing. Digital Lava will invoice Customer for reimbursable
incidental expenses and disbursements and any Customer approved third
party purchases on a monthly basis. The invoice will include a report
itemizing the expenses and third party purchases. Customer shall pay
all invoices within 30 days of receipt, and shall not make any
deductions thereto.
4. Termination.
a. By Digital Lava. Failure of Customer to make payments to Digital Lava
in accordance with this Agreement shall be considered substantial
nonperformance and cause for termination. If Customer fails to make
payments when due, Digital Lava may, upon seven days' written notice
to Customer suspend performance under this agreement. Unless payment
in full is received by Digital Lava within seven days of the date of
the notice, the suspension shall take
effect without further notice. In the event of a suspension of
services, Digital Lava shall have no liability to Customer for delay
or damage caused Customer because of such suspension of services.
b. By Customer. Customer shall have the right at any time to terminate
this Agreement on thirty (30) days' written notice. In the event of
such termination, and provided termination is not as a result of
Digital Lava's unremedied breach of this Agreement, Customer shall pay
Digital Lava then accrued payments due under the Delivery Schedule,
plus the pro-rated portion of the next payment, if any, due with
respect to items being worked on up to the time of termination, plus
reimbursable expenses, plus twenty percent (20%) of the total charges
due through the date of the termination. Should Customer wish to
delete specific subtasks, Customer will notify Digital Lava
immediately in writing. As long as said deletions represent less than
twenty percent of the labor cost for the project, Customer shall not
be liable for the twenty percent termination penalty.
c. Termination for Breach. Either party may terminate this Agreement upon
seven (7) days' written notice to the other party in the event the
other party materially breaches this Agreement and fails to cure such
breach within fifteen (15) days' written notice from the non-breaching
party.
5. Ownership. All right, title and interest in and to the object code only of
the Deliverables shall be owned by Digital Lava; provided, however, that
Customer shall have the perpetual, non-exclusive right to use the
Deliverables as set forth in this Agreement. No license or other rights in
the Deliverables is granted hereby.
6. Warranties of Digital Lava. Digital Lava represents, warrants and covenants
that: (i) it has the full power to enter into this Agreement and perform
the Services provided for herein, and that such ability is not limited or
restricted by any agreements or understandings between Digital Lava and
other persons or companies; (ii) any Deliverables, information or materials
developed for, or any advice provided to Digital Lava, shall not rely or in
any way be based upon confidential or proprietary information or trade
secrets obtained or derived by Digital Lava from sources other than Digital
Lava unless Digital Lava has received specific authorization in writing to
use such proprietary information or trade secrets; (iii) Digital Lava will
not enter into any contracts or otherwise obligate Customer in any way
without Customer's express approval; and (iv) Digital Lava will use its
best efforts to complete the Services in a timely, competent and
professional manner.
7. Indemnification. Customer hereby agrees to indemnify, hold harmless and
defend Digital Lava and its employees, contractors and agents from all
claims, damages, costs and expenses, including reasonable attorneys' fees
and litigation expenses, arising out of or in connection with any Customer
product by the Customer, Customer's content, Customer's website or
Customer's materials (not including the Customer's client parties),
including, without limitation: (i) infringement or violation, or alleged
infringement or
violation, of any copyright, patent, trademark, trade secret, right of
publicity, right of privacy, or other proprietary rights of any third
party; and (ii) unfair trade practice, defamation or misrepresentation.
Digital Lava hereby agrees to indemnify, hold harmless and defend Customer
and its employees, contractors and agents from all claims, damages, costs
and expenses, including reasonable attorneys' fees and litigation expenses,
arising out of or in connection with the Deliverables, including, without
limitation: (i) infringement or violation, or alleged infringement or
violation, of any copyright, patent, trademark, trade secret, right of
publicity, right of privacy, or other proprietary rights of any third
party; and (ii) unfair trade practice, defamation or misrepresentation.
8. Limitation of Liability. NEITHER PARTY SHALL, UNDER ANY CIRCUMSTANCES, BE
LIABLE FOR LOSS OF PROFITS OR CONSEQUENTIAL, INCIDENTAL, SPECIAL OR
EXEMPLARY DAMAGES, ARISING FROM OR RELATED TO THIS AGREEMENT, WHETHER SUCH
CLAIM ARISES IN TORT OR IN CONTRACT, AND EVEN IF THE PARTIES HAVE BEEN
APPRISED OF THE LIKELIHOOD OF SUCH DAMAGES OCCURRING. EXCEPT IN RESPECT OF
LIABILITY WHICH IS BY LAW INCAPABLE OF EXCLUSION, IN NO EVENT SHALL EITHER
PARTY'S LIABILITY FOR ANY REASON EXCEED THE TOTAL SUMS PAID UNDER THIS
AGREEMENT.
9. Confidential Information. From the date of execution hereof for a period of
three (3) years from termination of this Agreement, neither party shall
use, disclose, or permit any person to obtain any confidential information
of the other party, including any materials developed or generated
hereunder (whether or not such confidential information is in written or
tangible form), except as specifically authorized by such party. As used
herein, confidential information shall mean a whole or any portion or phase
of any marketing plans, business plans, sales information, customer lists,
scientific or technical information, design, process, procedure, formula,
or improvement relating to the development, design, construction, and
operation of a program that is valuable and not generally known to a
party's competitors and any other information of a party of which the other
party becomes aware of as a result of this Agreement and which is indicated
to be confidential or, if not so indicated, which could reasonably be
interpreted to be confidential. The parties agree that, in the event of a
breach or threatened breach of the terms of this confidentiality provision,
the non-breaching party shall be entitled to an injunction prohibiting any
such breach. Any such relief shall be in addition to and not in lieu of any
appropriate relief in the way of money damages. The parties acknowledge
that Confidential Information is valuable and unique and that disclosure in
breach of this confidentiality provision will result in irreparable injury
to its owner.
10. No Assignment. Neither party shall assign, transfer or otherwise dispose of
this Agreement or any rights or duties hereunder without the prior written
consent of the other, provided that either party may assign this Agreement
pursuant to a sale of substantially all of its assets, a merger, or
consolidation.
11. Arbitration. Any controversy, dispute or question arising out of, in
connection with or in relation to this Agreement or its interpretation,
performance or nonperformance, or any breach thereof, shall be determined
by arbitration in the County of Los Angeles, State of California, in
accordance with the rules then obtaining of the American Arbitration
Association. The cost and expenses of such arbitration including the
compensation of the arbitrator(s), the prevailing party's attorney's fees,
and the stenographer employed by them, shall be paid by the party against
whom the arbitrator renders a decision. The decision of the arbitrator
shall be final and binding upon the parties hereto and may be entered as a
final decree or judgment in any court of competent jurisdiction.
12. Miscellaneous. This Agreement and Attachment A attached hereto and
incorporated herein constitute the entire agreement between the parties,
and supersedes any and all agreements, whether written or oral, and may
only be amended or modified by a written instrument signed by both parties.
IN WITNESS WHEREOF, each of the parties hereto has caused this Agreement to be
executed by a duly authorized representative as of the most recent date shown
below.
Accepted:
Digital Lava, Inc.
By: /s/ Xxxxxx X. X. Xxxxxxxx
-----------------------------------
Xxxxxx X. X. Xxxxxxxx
Chief Executive Officer
Date: August 28, 1998
Accepted:
Lesson Lab, Inc.
By: /s/ Xxxxx Xxxxxxx
-----------------------------------
Xx. Xxxxx Xxxxxxx
Chief Executive Officer
Date: August 28, 1998
Attachment A
Statement of Work
PURPOSE
The purpose of this document is to establish the statement of work for the
contract development that Xxxxxxx (provide name of entity) is contracting with
Digital Lava Inc.
PAYMENT SCHEDULE
This work will be performed for the contract amount of eighty thousand dollars
($80,000).
o Twenty-five percent (25%) will be due upon signing the agreement. That is
expected to occur no later than August 31, 1998.
o Twenty-five percent (25%) will be due upon delivery of the specification.
That is expected to occur no later than September 25, 1998.
o Twenty-five percent (25%) will be due upon delivery of a prototype. The
timing will be dependent upon the specification.
o Twenty-five percent (25%) will be due upon delivery of the solution. The
timing will be dependent upon the specification and the prototype.
PROJECT DESCRIPTION
The objective of the project and the contracted development is to enable Xxxxxxx
to gain programmatic control of VideoVisor and the VideoVisor database. This
programmatic control will enable Xxxxxxx to customize the behavior of VideoVisor
and to augment VideoVisor's function to tailor it for Xxxxxxx'x unique
applications.
Xxxxxxx also desires to add the equivalent of Events Types and Events to the
VideoVisor database.
Lastly, there are some discrete VideoVisor enhancements that are desired that
must be implemented by Digital Lava staff and cannot be implemented externally
since the support does not yet exist within VideoVisor for those functions (to
be defined below).
APPROACH
The general approach will be to provide programmatic access to the VideoVisor
control and to the VideoVisor Logical Database.
DETAILS
The following details are currently known. Additional details will be exposed in
the specification phase of the project.
1. Queries of physical video position and logical video position. In general,
queries will be supported programmatically by providing documentation and
sample applications that demonstrate how to traverse the VideoVisor object
model. Consider the following (logical - not actual) example where a
programmer would like to determine the current physical video position. The
programmer would create an assignment statement such as:
physicalPositionVariable = object.video.currentPosition.physicalFile()
Digital Lava will be responsible for the following:
o Documentation of the object model.
o Creation of sample applications illustrating the appropriate use of
the object model for the class of queries that Xxxxxxx would like to
make.
o Consultation to Xxxxxxx'x programmer(s).
2. Writing to the VideoVisor database. External programs may write to the
VideoVisor database through the Logical Database Component. The Logical
Database Component provides two significant functions in this context:
o It insulates the application from the physical database complexities,
structure, changes, etc. and provides an object interface to the persistent
data store for VideoVisor.
o It provides input validation, error messages and assures the referential
integrity of the physical database. Thus, this is not a requirement of the
external application.
Digital Lava will need to perform the following tasks:
o Documentation of the logical database model.
o Promotion of any private methods or properties to public methods or
properties. This will require:
o Further documentation
o Creation of the input validation, error messages, etc. to support
the promotion from a private method or property to a public
method or property.
o Creation of sample applications illustrating the appropriate use of
the logical database model for the class of operations that Xxxxxxx
would like to perform.
o Consultation to Xxxxxxx'x programmer(s).
3. Events and Event Types. Events and Event Types are not presently supported
in the VideoVisor object model or the Logical Database component.
Implementing Events and Event Types as they are implemented in vPrism is
not consistent with the direction of VideoVisor. However, there is a
solution that is consistent that will be described below.
It is important to add the notion of a clip that is not associated with a
playlist to the next evolution of the VideoVisor database. This is
necessary to support publishing from the VideoVisor database substrate.
These clips will require unique naming, ordering, and all of the
classification support that will be useful for the creation of playlist and
the reuse of the clips once defined. To do this, Digital Lava will need to
do the following with respect to unassociated clips:
o The business rules for input validation, error messages, etc. will
need to be defined.
o Support and documentation for these data elements will need to be
added to:
o Physical database
o Logical database component
Once the support for clip publishing has been implemented in the physical
and logical database, then Xxxxxxx will be able to implement the precise
Event and Event Type handling that he desires. Since clips will be
identified uniquely in the logical database, Xxxxxxx can access them in the
manner described above in items one and two. Events and Event Types are
built on the foundation of clips. Xxxxxxx can create any event or event
type desired in a parallel database or in the same physical database as the
one used by VideoVisor. The main difference here is that Event Type and
Event support will not be available through the VideoVisor logical
database. However, with consultation from Digital Lava, Xxxxxxx can create
his own "event logical database" that handles all of the business rules for
input validation, error messages, etc. that he will need for supporting
events and event types as Xxxxxxx defines them. This will not burden
VideoVisor with "analysis" function and at the same time present the
architecture and substrate for Xxxxxxx to take full control of the behavior
of analysis events, the post processing, and the user interface around
them.
4. VideoVisor Enhancements. Support for the following enhancements to
VideoVisor will need to be made by Digital Lava.
a) Second parallel stream. Support for a second parallel reference stream
will need to be added. The most likely use of the parallel stream will
be to select from a second camera source. Only one stream will be
rendered at a time. It will be a requirement that these streams be
synchronized in time. VideoVisor will need to be enhanced to:
i) Define the source of the second stream
ii) Provide a mechanism for selecting which stream is rendered in the
video control window
iii) Provide a mechanism that allows the user to preview the stream
not being displayed in the video window (we will need to work out
how we preview a stream which is not
a video stream - e.g. audio). This preview is only updated when
the user stops the video control in order to minimize processor
requirements.
b) Display toggle between physical file time and logical playlist time
for the video control LCD display. Note that this is only supported in
the case where the playlist is comprised of a single physical video
file.
c) Copy video frame (with markup, if any) to the clipboard.
d) Copy video position to clipboard and append dlcommand:vidpos= prior to
the video physical file position.