Vu Hoang Anh Nguyen – T00638696
Activity #7
Part A – IP
AutoPaint Case Study
1. What exactly was the issue?
Frank purchased an AutoPaint machine despite the following: The AutoPaint machine
is covered worldwide patents and its use is controlled by the owner of the patents. The
machine can be used to produce paintings, which should be used by the owner of the
machine but cannot be used to produce paintings for resale. Any such use is an
infringement of the patent owner’s rights. Frank had a successful business in Canada
selling paintings produced by the AutoPaint machine. He registered the domain name
[Link].
Then, Frank received a cease and desist letter from Charlie (the inventor). The letter
states that Charlie is the owner of a registered trademark in the United States for the
mark AutoPaint. It also states that the registration and use of the domain name
[Link] is an infringement of Charlie’s rights.
1. How is it related to IP rights?
The registrations of patents or trade-marks in both the US and Canada are relevant
because IP laws are national and their enforcement is restricted to the national
jurisdiction in which they are held.
2. Was there a proven infringement?
Whether Frank’s use of [Link] infringes a registered US trade-mark depends on
whether he can be considered to have used the trade-mark in the United States. Since
his “.ca” website has been garnering attention and potential sales in the United States,
there is a strong argument to be made that Frank has been infringing Charlie’s
registered trade-mark in this country
3. What happened to the case?
The complainant, in this case, Charlie, might have established that:
- The domain name is identical or confusingly similar to a trade-mark or service
mark in which he has rights.
- Frank does not have any legitimate interests in the domain name.
- Frank registered the domain name and is using it in bad faith.
4. How much money is involved in it?
In trade-mark infringement suits, monetary relief may also be available, including:
Vu Hoang Anh Nguyen – T00638696
- defendant’s profits
- damages sustained by the plaintiff
- legal costs
- the remedy of accounting of profits
5. Is there any lesson learnt from this?
- Understand the different types of IP and how these may be combined to
effectively protect your business assets (goods and services) most cost-effectively.
Understand the rights granted, the application processes, the subject matter
covered, the relative cost, and where IP protection should be sought, based on
potential markets for goods and services.
- Be aware of intellectual property and contractual limitations on the operation of
your business. This is known as “freedom to operate” and should be analyzed in
consultation with experts in business plans, accounting, and law. It will likely
require the services of a professional search company for corporate records and
IP-related issues.
Part B - Characteristics of software development
Q1. Research on internet to find SOLID design principles. Explain them in your own
language and comment do you agree with these principles or not?
SOLID design principles:
- Single Responsibility
A class should have one and only one reason to change. If there is more than one
motive for changing a class, then that class is assumed to have more than one
responsibility, which results in high coupling. This kind of coupling leads to fragile
designs that can break in unexpected ways for any change requirements.
- Open/Closed
Classes should be open for extension but closed for modification. We should design
modules that never change. When requirements change, we extend the behaviour of
such modules by adding new code, not by changing old code that already works.
- Liskov Substitution
Subtypes must be substitutable for their base types. Substituting a subclass for a class
should preserve correct program behaviour. When this principle is violated, it tends to
result in a lot of extra conditional logic scattered throughout the application, checking
to see the specific type of an object. This duplicate, scattered code becomes a
breeding ground for bugs as the application grows.
- Interface Segregation
Vu Hoang Anh Nguyen – T00638696
No client should depend on methods he does not use. Interfaces should belong to
clients, not to libraries or hierarchies.
- Injecting Dependencies
High-level modules should not depend on low-level modules; both should depend on
abstractions. Abstractions should not depend on details. Details should depend upon
abstractions. When writing software, it often happens that we implement it such that
each module or method specifically refers to its collaborators, which does the same.
This type of programming typically lacks sufficient layers of abstraction, and results
in a very tightly coupled system, since every module is directly referencing lower-
level modules.
Q2. There is one more principle found “You Aren't Going to Need It (YAGNI).
Yes, there is a principle called KISS (Keep It Simple, Stupid). Both YAGNI and KISS guide
us to keep the code as simplest as we can. Fancy and extra features should be avoided.
Q3. Documentation is also a big recommendation in programming.
Yes, documentation is a big recommendation in programming. Providing program
documentation helps:
- Keeps track of all parts of a software or program.
- Maintenance is easier.
- Programmers other than the developer can understand all aspects of the software.
- Improves overall quality of the software.
- Assists in user training.
- Ensures knowledge de-centralization, cutting costs and effort if people leave the
system abruptly.
Vu Hoang Anh Nguyen – T00638696
Works Cited
Canadian Internet Registration Authority. (n.d.). Retrieved March 07, 2021, from
[Link]
DevIQ. (n.d.). Solid. Retrieved March 07, 2021, from [Link]
Innovation, Science and Economic Development Canada. (2021, February 10). Canadian
Intellectual Property Office. Retrieved March 07, 2021, from
[Link]
Program documentation. (n.d.). Retrieved March 07, 2021, from
[Link]
gies_program_documentation.htm