Eco-friendly ideas in computer programming

Some spiritual signs have shown that it would probably be good to continue this project by eco-friendly innovation, which can successfully help both the environment and our economic state. However, there is not much energy for it, so we should probably choose only one thing and implement it, either as part of this project or another. This means that the sole purpose of this subpage is to collect good ideas that may be implemented by us (programmers, mathematicans) and not only by other people, and then maybe choose one from these ideas, as a suggestion service. The actual implementation of this suggestion may be done by a for-profit project, not necessarily part of this project. As the other ideas will be public as well, they can be implemented by others, and maybe this living publication will help making their jobs more eco-friendly, like David Hilbert's historical speech about a list of unsolved mathematical problems had its effect on mathematics. The essence is that we take care of the relationship of computers and the environment here, and computer is a machine that could be used for more reasons and more efficiently, if proper software were available to us. Also, note Arpad Fekete's goals when starting this project. However, the poor security level of operating systems might prevent us choosing this way, and might urge us to choose activities that do not last more than one day, and can be published immediately, or those kinds of activities which do not need computers. Building state-of-the-art software usually needs state-of-the-art hardware and security measures. We can imagine eco-friendly innovation even without computer technology.

What is this part NOT about (-1)

There are common ideas like electric energy saving for different hardware and operating systems, but many operating systems already support what is important, so we could only help much if we had the opportunity to improve the default behaviour of a famous operating system, but it is very hard. We might have other good ideas also to change computers in the large scale (e.g. hardware, ROM, operating system, Internet), but their implementation is as far from us as politics, for example, so these ideas are not included in this list. There are also programming ideas that might help in eco-friendly education, like games or ecological footprint calculators, or help in environmentalist research and modelling, like the ideas in the Azimuth Code Project, but here we take care of those eco-friendly ideas only which have good effects not only due to research/education/promotion, as the great part of the theories necessary for protecting the environment is already available today, and the publicity would probably not help much without motivation, ethical education and community. There are also ideas in programming which might help in logistics, waste management, forestry, sailing, or other jobs related to the environment, but it would be hard to create a software competitive against the concurrence (other software) without the thorough knowledge of the specialty, and it is not even certain that it would be worth the effort. The best ideas should be both achievable, testable and usable by a solitary programmer, and potentially efficient in protecting the environment.

The control idea (0)

The ideas here should be really fit for us, and better than those which we invent for others. That's why all of them should be better than the best idea for us in "Environmental theory and ideas", the development of an eco-friendly font, and maybe the continuation of these efforts by more fonts (each with the horizontal/full metrics of a famous font) or different software for these fonts. This idea seems to be really good, by the way, but at the present time it would be too hard to work on it without pay, and there are also many competitors like the award-winning EcoFont. Anyway, it is so interesting that it's perfect for a control idea, so all our other ideas should be better (for us). Starting from 1 (the best so far), the enumeration of our ideas follows... in priorities, the ease of implementation and the mathematical curiosity of the job matter most.


Creating better software for file/fileset compression

: File/fileset compression is much more efficient today than it was, say, ten years ago. Technology like 7zip, PAQ or the WebP image compression method beat the old technology, but they are probably still not the best. With better compression technology, it is possible to use less hardware storage for the same tasks (but note that it is also possible to use more processing power for them). It is also possible to use slow compression in order to make decompression quicker, which would probably be good for software package formats like CAB. This means that different kinds of compression methods fit for different purposes, and one of these purposes is to lessen hardware needs (and another is to keep the information more secure from hardware errors at the same time). This way, for example, one DVD would be enough for a software installer that would otherwise need two DVDs, or a Linux distribution could put its complete source code together with its executables on less CDs. If we worked hard on compression technology, it might also be possible to have fun with mathematics and win the Hutter Prize (and even if the Hutter Prize may be related to artifical intelligence, Arpad Fekete does not believe that). Drawback: even if we invent a great compression technology, it is not guaranteed at all that someone will use it on optical drives, and "data easily fills the available space" on other drives, as well as the property of the rich.

Anyway, this would have been the chosen idea.


Creating better audio/video/image file formats/codecs/players

: Optical (CD/DVD) disks are mostly used for music, video and images. If the contents of these disks could be compressed significantly better, some CD/DVD sets would need less disks, reducing the consumption that harms the environment. If the decompression does not need too much more processing power, it is probably good to work on things like this, and maybe in the other case as well. When designing file formats for music/video, it is important to define first what information should these file formats contain (e.g. pixel images by a given FPS - frames per second - value is the easiest), and coding this information in a practical/lossless/compressed manner would be a nice mathematical task. Drawback: musicians tend to release only a few songs at a time fit on one CD, and most of the movies fit on one DVD, and even if they do not, Blu-Ray disks have appeared on the market. (However, similar technology could help saving the quality of the data written on CD/DVD, by properly placed redundancy, and more independence between parts of data. Actually, this might interest people more than compression.)


Adding/removing hidden information to/from different file types

: Sooner or later humankind should realize that people can hide anything in computer files, including, but not limited to, information about nuclear weapons, or naked pictures about anyone recorded by a hidden camera in a house for rent. That's why it is necessary to draw some attention to this issue by effective demonstration, as well as to provide a free option to remove every possible hidden information from images and almost any other file (even text files) that users upload to, or download from the Internet, even at the cost of the loss of quality or being undeterministic / random. The loss of quality is necessary, for example, when the pixels of an image contained the information by an unknown encryption method. Consequently, people shall respect the original sources of information more. It would probably be a noble thing to implement the automatic removal of hidden info, which could later be used by social networking sites like FaceBook. More importantly, this can have some eco-friendly side-effects like limiting technology, or reducing overpopulation by urging people wait before begetting children until they have an own house. Sadly, it's probably good that computer security is low, because it limits the development of other harmful technology, but as we want more privacy and financial/legal security, it would still be better to increase computer security (for which we also have some ideas), and limit the spread of harmful technology by some other means, e.g. the way described here and by other ideas. Drawback: even if we create this software, it is not guaranteed that the majority of websites will use it (or something like it), so people could use it for malicious reasons, which might do wrong to our fame.


Making it possible for two persons to use the same computer simultaneously

: There may be some computer games in which the players are not active simultaneously, but are limited to their own turns, but these games in the example cannot be played at one computer, only in a network, as this function is not implemented (programmed, realized) in them. A software created for this purpose (i.e. to implement that feature generally) might make it more convenient to play with these kinds of games. There may also be computer games which are played in a network too, but simultaneously in real time. However, by setting the keys in the right way and splitting the screen into two parts it would be possible in theory to play them at one computer, if there were a software which made that possible. For games requiring the whole monitor, the whole keyboard, or the mouse all the time, it should also be possible to attach two monitors, two keyboards or two mouses to our one computer, and use them with this software. This way two persons could use one computer simultaneously, and in case of games, this may even be attractive. It may also be fun to browse the Internet together at one computer, or use the methodology of "Extreme Programming". Drawback: creating this software may be hard, as it needs to work together with the operating system.


Creating an eco-friendly friend finder, community builder portal

: (Internet-only idea...) As the ethics of humankind is deteoriating and many people meet in discos, it may be harder and harder for the good people to find one another and form local communities or relationships. For example, if someone comes to the faith of Natural Theology or Philosophical Theism, it could be very difficult to find people in the same faith nearby, if there is no established community about it yet. The same might be true for other kinds of spirituality or lifestyle important to some people, like environmentalism itself. Most of the love finders do not offer to specify, for example, that someone is still a virgin and searches for a virgin, but for some people, it may still be important to marry in that way. Other people may be more liberal but still wanting to observe a law against overpopulation which could be specified. Other people may only search for a frugal spouse. So there should be an ideal website for these searching people, without evil conditions in the legal notices of their websites, and allowing them to assign themselves to some classes from a wide choice sorted into categories (e.g. mathematicans, millionaires, existentialists, men, etc), and also specifying the classes which they search for, and also specifying what is important from these searching conditions, so the website could show both potential partners or potential communities. These potential communities would be called virtual communities, and come into being automatically, with a forum topic, and if enough of their members wanted it, they could form a real local community, or at least organize a meeting (note that this website, if implemented by us, would not support communities too harmful to the environment). Otherwise, some of these local communities might not be born, and more people would spend time on the Internet. Drawback: the implementation of this might need significant financial resources, and its success is not guaranteed.


Creating a proper website for local barter

: (Internet-only idea...) There are already websites which allow successful local barter, but in fact, these websites were not designed for this purpose. On websites for local classifieds it is not local barter which dominates, and the people willing to swap rarely have things which are mutually interesting, and on a book-swapping website it is impossible to limit the receivers to only local people, and thus the swapping is probably not economical due to the postage fees. However, if we joined the advantages of both kind of websites, then it would be worth capitalizing on this opportunity for much more people. In order to increase the range of exchange, it would be worth using virtual credits on the website, and the users could decide how much virtual credits do they ask for their stuff. These virtual credits could be spent on the purchase of the things on the site, but the website would deduct some percent from it for the costs of maintenance and other causes, from which the owners of the website could equally buy some used things on the site, or even sell them in a shop. This way this local exchange website would work in a similar way as the now-popular local money, with the difference that virtual credits should not be converted to/from real money for marketing reasons. For reusing stuff, the exchange of used things can have a relatively high environmentalist value. Drawback: the implementation of this might need significant financial resources.


Increasing communication for efficiency

: (Internet-only idea...) Computers and the Internet help making the communication among people more effective, and this communication may make the protection of the environment more effective. For example, communication may help people decide what events should happen, and these different events should happen where the demand is the greatest for them. This way more people can disengage with the same use of energy, which also means that less energy is needed for the disengagement of the same number of people. This could be implemented by a software for voting, and this software would be available both from mobile devices and on the Internet. For example, people could vote about what movies they would like to watch in a cinema for old movies, what performances they would like to watch in a theatre, where should the next concerts of a band take place, what books should have movie versions, etc. There are also cases when it is good for the people if other people do not choose the same opportunities as themselves, for example, if they want to spend their holidays on a place where there won't be a great multitude of people, or if they would like to work at a place, and do a job for which there is not much competition. The duty of the software would be to utilize the power of communication at the decision making in more and more similar cases. Drawback: the implementation of this might need significant financial resources.


$-mail, or paid electronic mail to very important people

: (Internet-only idea...) There are some very important or famous people who do not publish their email addresses because they fear they would get too much unwanted messages (SPAM), but at the same time, they would like to be available on the Internet as a contact for other very important people. This problem could be solved by charging the sender for every message, with a fee that would discourage spammers (or that which is specified by the recipient). In this case, the service fee is a feature, not a drawback. For increased security, the implementation of this kind of messaging could be limited to only one website. Some people already communicate using website messages instead of emails. Otherwise, it would also be possible to forward the paid message to the secret email address of the VIP person, and even receive the potential response and convert it into a format that hides the secret email address. Some famous but poor recipients might even be able to earn money if they get a share from the prices of messages sent to them, and/or the messages answered. Now the question is, how this would protect the environment? It would probably make some decision-makers more accessible to petitioners (as only those messages matter which are read), and make large-scale common decisions easier, while common decisions are probably better for the environment. Drawback: this would make some other decision-makers less accessible.


Coding SMS's and making mobile devices multi-user

: (Idea for mobile devices only...) From notebooks to mobile phones many kinds of mobile devices have appeared on the market. Among these, there may be some that support only one user, but applications can be downloaded to them. For a device like that, it might be possible to create an app which simulates the multi-user mode. This can be useful for the members of poor countries, because a family could afford only one such device there. This way there may be less mobile devices bought, which could lessen the pressure on the environment. Ideally, the multi-user mode would hide the private data of a user from the other users, and it's probable that this can only be achieved by encrypting the SMS's sent, and decoding the SMS's received. Thus only those SMS's would be encrypted which are sent from a device where the application is installed. However, it may be possible to make the spreading of the app quicker by adding the function of compressing SMS's in order to make room for more information in an SMS, and the encryption and compression would be done by one algorithm. (But note that there may already be patented algorithms for SMS compression.) Drawback: Arpad Fekete is quite far from developing to mobile devices, which chiefly has material reasons; so he doesn't even know if this idea can be achieved, and whether it was implemented by others. Anyway, it is not likely that many members of poor countries would pay for the software.