In your game design you might look at your app and say: Wow this is a piece of junk.  But is it really?  Well, likely, but how do you determine if it is a piece of junk.  Where piece of junk is defined as: Low quality.  Now if you feel that your app is low quality, what are you doing to improve it?  Are you asking others what they are looking for?  Do you play games and ask why you like that game?  Are you creating a database of sources of images and code?  Do you make sure to give credit to photos and so forth? What is the definition of quality?  If I spend $1000 to add a level of quality that my customer was not looking for and will not be profitable for them, have I reached a greater good?

Note that in the original thought of Ethics, Wealth is considered a greater good, and in my thinking that means that profit is a good thing.  You can’t get to profit by not taking time to figure out what is efficient.

First off is building low quality apps and putting them in a store unethical?

This question has come up a number of times with the students that I work with.  And I don’t really have an answer, I have three sources of what I determine if an action is ethical.  Since this is a corporate blog, I will only discuss two of them.  Let’s examine Aristotle Ethics and ACM.ORG code of conduct, quickly.

Aristotle Ethics

From: http://classics.mit.edu/Aristotle/nicomachaen.1.i.html (frankly let’s just skip the many writings from authors who have their own agenda, the source is easily readable):

Every art and every inquiry, and similarly every action and pursuit, is thought to aim at some good; and for this reason the good has rightly been declared to be that at which all things aim. But a certain difference is found among ends; some are activities, others are products apart from the activities that produce them. Where there are ends apart from the actions, it is the nature of the products to be better than the activities. Now, as there are many actions, arts, and sciences, their ends also are many; the end of the medical art is health, that of shipbuilding a vessel, that of strategy victory, that of economics wealth. But where such arts fall under a single capacity- as bridle-making and the other arts concerned with the equipment of horses fall under the art of riding, and this and every military action under strategy, in the same way other arts fall under yet others- in all of these the ends of the master arts are to be preferred to all the subordinate ends; for it is for the sake of the former that the latter are pursued. It makes no difference whether the activities themselves are the ends of the actions, or something else apart from the activities, as in the case of the sciences just mentioned.

Let’s look at that thought from so long ago,  and ask what are the ends of our endeavor, our product: To build quality apps.

So our ends are to produce a product, but we must perform activities to reach the product.  In shipbuilding, you would go through a lengthy period of practice under a master shipwright.  In our modern time, especially with software, experience is often viewed as a negative and that youth is on par with excellence (and I have no problem with that).  If your youth is important, then spending lengthy amounts of time learning would waste your youth which brings with it the loss of the production of interesting things.  But as a youth, you need practice, so where do you practice the art of software?  Software includes putting your software on display for others.  How else will you learn what is the most efficient processes are, what the end user are looking for and so forth, without having to put your stuff into public display?

So I conclude that if you create low quality apps and have to live with it in a public forum, then you will learn how to build better apps in the future.  This will lead to a greater good.  So my reading of Aristotle Ethics seem to indicate that your initial low quality apps, that you are motivated to improve, leads to a greater good within the parameters of our society.  Now if you were in a slavish apprenticeship for a number of years and the “App” master put his imprimatur on your app, then that would not map to striving to a great good.  In our society, the youth of the students is what we want to capture so supporting the quality of apps that the students produce is a necessary way to guide the student to success, a greater good.

ACM.ORG: http://www.acm.org/about/code-of-ethics

Nope not seeing any problems with the quality of initial student apps here, for instance the Microsoft Store has a certification process, so your apps acceptance is reviewed by someone at Microsoft.  Take a look at the top line statements below.

1.1 Contribute to society and human well-being.

This principle concerning the quality of life of all people affirms an obligation to protect fundamental human rights and to respect the diversity of all cultures. An essential aim of computing professionals is to minimize negative consequences of computing systems, including threats to health and safety. When designing or implementing systems, computing professionals must attempt to ensure that the products of their efforts will be used in socially responsible ways, will meet social needs, and will avoid harmful effects to health and welfare.

In addition to a safe social environment, human well-being includes a safe natural environment. Therefore, computing professionals who design and develop systems must be alert to, and make others aware of, any potential damage to the local or global environment.

1.2 Avoid harm to others.

1.3 Be honest and trustworthy.

1.4 Be fair and take action not to discriminate.

1.5 Honor property rights including copyrights and patent.

1.6 Give proper credit for intellectual property.

1.7 Respect the privacy of others.

1.8 Honor confidentiality.