Hey, I don't know if am wrong but I think a new idea has just striked me. We can all see that almost every program that we can imagine of has been created, thus making it difficult for us to think of new ideas or programs. But all these programs out there are good, but they are not good in a partucular field. What I wat to say that a program can be good at handling user input but it may not be very good at processing these inputs. Perhaps there could be a more efficient way of processing these inputs, but the developper has not thought of it or have concentrated too much resources in creating a program that can handles user input in the most efficeint way.

To illustrate this in a better way, lets make a comparaison in User Experience between Windows Media Player and the Modern Winamp 5.1. Winamp offers far better Music Experience than WMP but it's Video Playing Experience is bad. For WMP, it is the complete opposite.

So how can we remedy this situation. Imagine that you have created a new algorithm that can play music in shuffle mode far better that any other program that exists. Rather that building a big program just to sell this new algorithm, we could implement it in a Library
(DLL or LIB) and sell it as a proprietary and patented software. Thus we spend far much time in developing the algorithm rather than the program itself.

Recommended Answers

All 2 Replies

They're called "plugins." Winamp has them.

They're called "plugins." Winamp has them.

Yes, but these plugins contains code that could not only be used in Winamp, but linked with any program. Suppose that you want to built a search program, rather than going to create a new algorithm to search only for executable paths, you could link your program with my DLL and take advantage of my search algorithm. Think of Direct X. To built games that take advantage of Direct X 9.0, you need the .h files and the lib.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.