Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I am tasked with building a piece of software that interfaces with a MySQL database, in order to allow the user to pick songs to play and que using a touch screen, and then they are shown simultaneously on a second monitor as videos.

Questions:

To allow both displays to work, would it be best to write two pieces of software (one for each display or just the one)

I have never written code for a touch screen (other than mobile development, are there certain libraries to use, how would one go about it)

I plan to use VLC to play the videos, is there a language that would be best for that

In order to create a truly stunning GUI should I use a specific language

If I know all the dimensions, should I worry about fluid layouts?


Sorry for the many questions, its this is my first solo commercial piece of software so I am looking to get a solid game plan.

Also I was sure if this was best suited to SO or here, so please correct me if I was wrong.

The languages I was considering were: C#, JAVA, python.

share|improve this question

2 Answers 2

up vote 2 down vote accepted

While I don't think you have given enough information about the hardware and environment settings to get good answers, I will go for the most portable solution possible: C++ with QT.

Here are the reasons:

share|improve this answer

This answer is .NET specific because I'm a .NET developer. I'd use C# as my language:

  1. You can handle multiple monitors in .NET by using the Screens.AllScreens property, then finding the screen boundaries, and then positioning your app windows as necessary. That would suit you if you wanted to use a single application across two monitors (this assumes that the touchscreen would be a second or primary monitor to whatever machine you'll be running this on. Or, you could choose to build two applications and use WCF to relay commands and information back and forth. Personally I would try and build 1 single application spanning both monitors.

  2. See item #4 - you'll need to familiarize yourself with XAML UIElements but yes, .NET fully supports touch input.

  3. Yes, there is a .NET interface to VLC that you can use and it works very well.
  4. To create a stunning user interface it's less about the language and more about the presentation framework. Again I'm biased, but .NET has great options for you to present with - here's a MSDN Quickstart tutorial on touch input with .NET.

And even if you know that the dimensions are going to be for your current monitor(s) you should still try to make the display fluid. What would happen if you opt to later upgrade to a larger monitor or a new touchscreen with different screen dimensions?

And one last thing to mention: if you'd like to create a killer GUI in .NET, I'd give ExpressionBlend a serious look.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.