To get you started, first pick a programming book and learn, sharpen your programming skills. Then, along the way, keep thinking about what you believe is missing on Ubuntu. Once you're done, either :
A- go join an open source project that is already working towards that goal. If needed, relearn new programming language (knowing more than one programming language is definitely a plus, it has zillions of benefits)
or
B- start your own project solving the said problem. Give up when you find out it's too much work and then go back to A. This solution will have the advantage of making you learn what are the challenges in making a good program from scratch.