UPDATE
Please do not post game ideas. I am not looking for game ideas here.
I am looking for ideas like; "Network browser", "File encrypter", "Notepad-clone", "Rss feed generator".
Hello world.
I have been programming on and off for some years, mainly with game development. Now I am interested in refining my skills in application development, and I feel like getting down and dirty with creating at least one usable application. I am quite wandered in C#, but I feel as if I haven't really done "usable" application yet.
In game programming, people often get the advice to start with some simple games such as pong, tetris and pacman. Pong focuses on getting input, rendering and collision working basically. Tetris adds problem solving through algortihms. Pacman adds more problem with agent behaviour.
I would like to get inspiration for a simple application that solves a problem. That is - a "window application Pong program". What would you recommend being a newbie application problem that fulfilles the following requirements?
- Usability : The application should solve a recurring popular problem
- Difficulity : The problem should not be too advanced, yet not too simple
- Timespan : The application should take no more than two weeks to solve for a single programmer
- Feature-"rich" : The application should consist of menues, allowing users to config the program
- Platform : .Net 2.0+, C#
I would also want to play around a little with custom user controls.
Some of my own ideas include notepad-clone, mspaint-clone, simple file transfer program. While I guess these make up good exercises for aspiring application developers, I'd like to hear more from you. What makes a good beginnners application for programmers?
ACCEPTED PROJECT #1
I decided making a simple file encrypter. Actually, the library I wrote supports any stream, but I use it only for file encryption. I can't say that I have much of an application going on. I have a menu to open files for encryption or decryption, and an option window where you can set algorithm password and initialization vector. Looks boring. Feels boring. I am considering throwing in a file browser in it, to spruce things up. But then I could just integrate with shell.
At the moment, it only supports symmetric algorithms. Any symmetric algorithm deriving from System.Security.Cryptography.SymmetricAlgorithm should work, but I have only tested it with AES.