My 2 friends and I are preparing our senior project idea for next year. I need some of different ideas while deciding the base environment of the project, especially from software developers/engineers who worked in huge software product developments.
- We have limited human resources (just us, 3 students), limited time and very limited fund.
- The project aims to office environments like Outlook, Thunderbird.
- It will run on the desktop, not web
- GUI will be really rich with customized widgets/dialogs like Outlook
- We want to start selling it and opening maybe a small company. So it is not just a senior project for us and we take it serious.
- Even if we can't open a company, we want this project to be a good reference at our CV, especially for when searching jobs in USA.
- Speed of the software is of course important, but realiability (crashes in a commercial software product is not acceptable for customers right?) and bringing the project to a usable state as fast as posible are more important.
- It will be like MS Outlook, with many features in the single client. (More than Outlook actually if we count.)
- Also we want this project to carry our practical skills to a better place
- We use C++ and Java really good, but we never worked within a large project like this so we can't see how the environment effects our needs in the long term
We have two environments to choose from (Java Swing and C++ Qt) and we are proficient in those, but because of the factors I described above, we should decide which one is better.
What would be your advise for a project with those criterias?
Our fears for Java:
- Slowing the software because it is really a big project.
- Especially we are afraid of the GUI's speed.
Our fears for C++:
- Developing time consuming
- Definitely more bugs will occur
- More time or money to develop and maintain (harder to find good C++ developers than Java developers right?)
- Making that much customized GUI with Qt might be really hard
- Libraries won't be reusable for a mobile web interface (at least easily)
PS: It is not an email client. It will be used in office environments like Outlook, but not as an email client. Outlook is a good picture to represent it.