PDA

View Full Version : Suggestions for a Bachelor Thesis Project!



Aerivan
May 30th, 2011, 01:41 PM
Next spring I'm doing my Bachelor Thesis Project in Software Development and have started thinking about what I should make. I figure I have two possible choices if I want to do something that will be used and apprechiated.


I ask a company to specify something they need.
I build something for the ubuntu/linux community.


I'd really prefer the second option since I'm a huge fan of open scource and would like to contribute something to the community. But what would be the most used/apprechiated? That's where you come in!

What kind of application do you miss in linux? Is there something you think would be a great tool or convenience? Do you have an interesting idea for a game? Any thoughts are welcomed!

The main thing for me is that it should be a piece of software that many people can benefit from.

The project spans over about 16 weeks and the ideal conclusion would be to make the software available through the repositories when it's done.

I hope we can together come up with some fun and interesting ideas! ;)

jhonan
May 30th, 2011, 02:15 PM
Is this a 'Thesis' or a Dev Project?

NovaAesa
May 30th, 2011, 02:34 PM
I'm having trouble thinking of something that could be built in 16 weeks that the Ubuntu/Linux community doesn't already have.

Can you do any of these in 16 weeks? http://www.fsf.org/campaigns/priority-projects/

Aerivan
May 30th, 2011, 04:45 PM
Is this a 'Thesis' or a Dev Project?

It's a dev project. The reason why I frased it that way is because I live in Sweden and the system is a bit different. :)

ZarathustraDK
May 30th, 2011, 04:54 PM
I want:
http://unyildadakan.com/wp-content/uploads/2011/02/Clippy.jpg

j/k ;)

Aerivan
May 30th, 2011, 05:00 PM
I'm having trouble thinking of something that could be built in 16 weeks that the Ubuntu/Linux community doesn't already have.

Can you do any of these in 16 weeks? http://www.fsf.org/campaigns/priority-projects/

I'm not sure anyone could "do" those in 16 weeks. ^^ Besides, most of that is work that's already begun. I could certainly make a contribution though I'm not sure if it would make a great project.

Examples of what people have done before is games for android or in java, a simulator of logical gates designed as a teaching aid, a "context aware" scheduler that notifies you of things you need to do when you're in the vicinity of where you should do it (android). Some people even made a bar with a home made touch screen interface.

Here are some links to stuff others have done (though obviously not stricktly software develoopment):

http://www.youtube.com/watch?v=zvLWSZTRRR8
http://www.youtube.com/watch?v=sJxM18o9EPs
http://www.youtube.com/watch?v=u7nvt1AQE8w


You work in groups of 5 so you can do pretty heavy projects. :)

Aerivan
May 30th, 2011, 05:02 PM
I want:
http://unyildadakan.com/wp-content/uploads/2011/02/Clippy.jpg

j/k ;)

That would be awsome! xD Though in linux he'd have to have super-powers... I wonder if if clippy could actually be made usefull?.. ;)

alex2399
May 30th, 2011, 05:23 PM
How about a help guide (visually/demo/interactive) to learn computer & technology use in general and Ubuntu for normal human beings without falling into the fallacies of abrreviations/pre-supposed knowledge of the operator/human- instead of user centered?

Thus for the normal user, that is not interested in technicalities, issues, updates, security babble, latest dev versions, speed, MIPS, CPU, etc... Persons that just want to know how to use a system, what is (im)possibe etc...

Aerivan
May 30th, 2011, 05:31 PM
How about a help guide (visually/demo/interactive) to learn computer & technology use in general and Ubuntu for normal human beings without falling into the fallacies of abrreviations/pre-supposed knowledge of the operator/human- instead of user centered?

Thus for the normal user, that is not interested in technicalities, issues, updates, security babble, latest dev versions, speed, MIPS, CPU, etc... Persons that just want to know how to use a system, what is (im)possibe etc...

What did you have in mind for the format? Video, text, game or something else? :)

Maheriano
May 30th, 2011, 05:46 PM
For my fourth year project I did a national database where all UPC would be in a database so you could search for a product online and it would bring up all the stores nearest you that had the item and the prices they had it at. It would flip the economic supply/demand curve to pretty much eliminate consumer surplus because nobody would be overpaying for items, they'd get it at the lowest possible price they could. Stores could no longer overcharge because they're a shopping giant, they need to compete with the lowest seller online and are fighting for the consumer's business instead of relying on their own footprint.

Another idea that I would do if I were to do it again would be a home automation project. I have my house set up with X10 and I'd love to have the time to develop a front end application for it instead of running things from the command line.

KingYaba
May 30th, 2011, 06:20 PM
I want:
[IMG]
j/k ;)

I was going to mention Bonzi Buddy but I guess Clippy is better.

alex2399
May 30th, 2011, 07:04 PM
What did you have in mind for the format? Video, text, game or something else? :)

Ideally within the interface itself, highlighting the first button click, an abstract animation of how to use the mouse. A full screen to test it out on (with feedback on buttons pressed and movement) where one can do nothing wrong (important for persons with computer anxiety) and some simple tasks. Selecting icons, text, copy-pasta, the basics essentially. Might also be good to show what the different buttons on the keyboard do (Shift=uppercase, CTRL, ALT, Enter, Backspace, essentially any button that hasn't got a normal char on it) since a lot of people don't know.

Then you might go to starting, minimizing, closing, windows. Keep in mind just a window with an example text in, not a full fledged program (=distracting, cluttering and intimidating).

Then you may go to the controls of the user interface (task bars, status bars, things that are common)

When they have mastered the basics, starting a program like Gedit and typing text or Libreoffice Writer with a minimal interface. After that perhaps you may go on to internet browsers, but they would need a training completely on their own because these are pretty complex things, explaining the basics of the internet with concrete examples and on how to use it.

Also don't forget adding something playfull, like changing themes and making clear it only affects the appearance, or a small game in between like tetris and how to control it with the arrow keys.

This is not a roadmap, just to give you a line of thought when specializing on a certain group of human users. Keep it simple, not stupid. Most people aren't stupid, but they are put-off by stupid designs.
That is where your project comes into play in avoiding this and giving a human the mental "tools" to overcome these design problems.
Progress in complexity as the human operating the machine learns and gains more complex concepts of computer/technology use.

Aerivan
May 30th, 2011, 07:12 PM
Ideally within the interface itself, highlighting the first button click, an abstract animation of how to use the mouse. A full screen to test it out on (with feedback on buttons pressed and movement) where one can do nothing wrong (important for persons with computer anxiety) and some simple tasks. Selecting icons, text, copy-pasta, the basics essentially. Might also be good to show what the different buttons on the keyboard do (Shift=uppercase, CTRL, ALT, Enter, Backspace, essentially any button that hasn't got a normal char on it) since a lot of people don't know.

Then you might go to starting, minimizing, closing, windows. Keep in mind just a window with an example text in, not a full fledged program (=distracting, cluttering and intimidating).

Then you may go to the controls of the user interface (task bars, status bars, things that are common)

When they have mastered the basics, starting a program like Gedit and typing text or Libreoffice Writer with a minimal interface. After that perhaps you may go on to internet browsers, but they would need a training completely on their own because these are pretty complex things, explaining the basics of the internet with concrete examples and on how to use it.

Also don't forget adding something playfull, like changing themes and making clear it only affects the appearance, or a small game in between like tetris and how to control it with the arrow keys.

This is not a roadmap, just to give you a line of thought when specializing on a certain group of human users. Keep it simple, not stupid. Most people aren't stupid, but they are put-off by stupid designs.
That is where your project comes into play in avoiding this and giving a human the mental "tools" to overcome these design problems.
Progress in complexity as the human operating the machine learns and gains more complex concepts of computer/technology use.

It's quite an interesting idea! :) I won't have to decide until autumn but I'll definately take this into consideration. In the mean time, it wwould be nice to have as many different ideas as possible. ;)

sanderd17
May 30th, 2011, 07:37 PM
Maybe something personal and I don't know if it could be done in 16 months.

But I've been searching for a FOSS off-line navigation program for android quite a while. I had found Navit (http://www.navit-project.org/), but Navit is written in C and has almost no libraries on which it depends. As such, it creates real problems with android (in memory usage, GUI and other things) I have tried to help a bit with coding, but I don't know enough C and the accessing from Java to C was just wrong.

In my quest for navigation programs, I also came along Monav (http://wiki.openstreetmap.org/wiki/MoNav) but that seems to be not availiable for Android and I also saw travelling salesman (http://wiki.openstreetmap.org/wiki/Traveling_salesman) which is a Java library with a PC frontend. But the fact that it's Java could maybe make it easy to write a GUI for (but you would still have problems with memory and so).

For the maps, you could in any case use OpenStreetMap (wikipedia for maps), and if you have questions about OpenStreetMap, ask them. I'm one of the volunteer mappers.

I don't know if this is a good idea to do a bachelor project about, it seems also difficult if you don't have an Android phone yourself (although the emulator is good, it's not real-life). But as I said, it's a bit of a personal frustration.