LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices

Reply
 
Search this Thread
Old 11-28-2011, 04:23 PM   #1
ccolumbu
Member
 
Registered: Oct 2009
Posts: 37

Rep: Reputation: 4
1st GUI desktop application


I have about 15 years of application experience in perl/CGI/linux/mysql/apache and about 5 years of sysadmin including clusters.

I now need to create a desktop application for the 1st time.

I need some pointers on what the best way is to approach it, and maybe a senior developer to participate.

Here is a short description of what I want to create:
An application that has the equivalent of an HTML frame set with 5 frames. All the frames (for the 1st version) will be 100% wide.
The top frame will be 100px tall and should contain an html file (embedded firefox?) The 2nd frame will be 25px tall and will contain an html file. The 3rd will be 550px tall and contain a video (embeded VLC). When a video ends I need to trigger an event to play another video in the 3rd frame or display an html page in the 3rd frame. The 4th and 5th frames will be the same as the 1st and 2nd.
Frame 1 100px html
Frame 2 25px html
Frame 3 550px video/html with triggers/timers
Frame 4 25px html
Frame 5 100px html

I may be able to pay a senior developer a little, but not much. I am looking for some direction more than anything.

This will be running on a machine with an AMD C-50 CPU running Fedora 15 64-bit and LXDE desktop.

Thanks in advance.

Last edited by ccolumbu; 11-28-2011 at 04:26 PM.
 
Old 11-29-2011, 12:21 AM   #2
SigTerm
Member
 
Registered: Dec 2009
Distribution: Slackware 12.2
Posts: 379

Rep: Reputation: 233Reputation: 233Reputation: 233
Quote:
Originally Posted by ccolumbu View Post
Frame 1 100px html
Frame 2 25px html
Frame 3 550px video/html with triggers/timers
Frame 4 25px html
Frame 5 100px html
Qt 4 (that's C++) has components for displaying HTML, plus "video player" component that uses phonon.

In your situation it'll be a better idea to implement "application" as html page, and put the logic into javascript OR java applet. "Situation" means that you mention "html" 5 times in project description, and seems to be familiar with it. Or you could host it on local webserver (that'll give you perl).

Quote:
Originally Posted by ccolumbu View Post
I may be able to pay a senior developer a little, but not much. I am looking for some direction more than anything.
Unfortunately, as far as I know there's a this rule:
Quote:
Originally Posted by LQRules
There is no selling allowed in the forums. If you are interested in advertising, click here.
So if you're willing to pay somebody, you should find a freelancing resource, and try your luck there. You might be able to hire somebody who's actually very skilled from country with "emerging economy" for a fraction of cost of USA programmer. Keywords to google for are "outsourcing" "freelancer" "coder" "freelance marketplace" and "independent contractor". Can't recommend anything specific since advertising is not allowed, plus I have no experience of hiring people over internet (only being hired).
 
Old 11-30-2011, 01:25 AM   #3
ccolumbu
Member
 
Registered: Oct 2009
Posts: 37

Original Poster
Rep: Reputation: 4
I would like to address your 2nd point first.
I am not looking to hire someone, any compensation would come in the form of a few rounds of beer or a dinner or two.
I am looking for a teacher/mentor. I need to learn this application and development environment so I can create, then maintain and upgrade the application.

As to the 2nd point of writing this in Perl/HTML with a local web server I have already done that. The CPU is so slow in the machine that any video processing done in the browser by the browser hoses the machine in short order. I have several mock-ups that work fine on faster hardware, and if you play the videos directly in VLC on the desktop the CPU runs at about 10-25% tops. Put it in the browser and the CPU starts at about 60-65% and goes up 2-5% each video ultimately crashing in very short order.

My current solution uses FireFox and the mozilla-vlc plugin and while it works FireFox leaks memory. It starts at about 5% of the RAM in hits about 40% in about an hour. It crashes by hour 4. To solve this problem I added a 2nd instance of FireFox (note this is not a 2nd window, but a 2nd PID) that I start up behind the 1st window. Once it is up I kill the front window and that frees up the RAM, the presentation then continues in the 2nd instance. I do this once an hour and it has been running for about 3 days that way.

There are 2 problems with this: 1. there is a flash/visual artifact when the front FireFox is closed, 2. I don’t think this is a reliable solution for a 24/7/365 application.

Here are all the combinations I have tried to make this work as a browser application.
Languages:
Perl, PHP, HTML, JavaScript, Ajax (I tested both Perl and PHP for the backend incase that made any difference in CPU load, it didn’t)

Browsers:
FireFox, Chrome, Opera, SeaMonkey

Video embedding:
HTML5 video tag, Flash plugin, VLC mozilla plugin, quicktime plugin, windows media player embedded object

Video encoding:
OGV, WebM, H.264, FLV, MP4, AVI

If you can think of another way to do this in a browser I am all ears.
 
Old 11-30-2011, 05:53 AM   #4
SigTerm
Member
 
Registered: Dec 2009
Distribution: Slackware 12.2
Posts: 379

Rep: Reputation: 233Reputation: 233Reputation: 233
Quote:
Originally Posted by ccolumbu View Post
any compensation would come in the form of a few rounds of beer or a dinner or two.
The forum is international, so hiring a freelancer might be cheaper than a dinner for somebody on other side of the globe.

Regarding the rest of the post: Qt 4 (C++ framework I mentioned) have tutorials, so you could go through them. Qt also have bindings (many of them aren't official) for other languages but I haven't used them. The problem you may run into is the fact that displaying video is not exactly "easy" problem - as far as I know, for a long time displaying a video stream was an extremely OS-specific task that relied on many underlying components (splitter/codec/hardware accelerated sound/surfaces). As a result, GUI program that displays video is a very uncommon sight. There are libraries (such as libtheora) for working with specific video format (such as theora) but generic video stream might be a problem. Still this not my area of expertise, and Qt 4 seems to have a class for displaying video.

Quote:
Originally Posted by ccolumbu View Post
Video embedding:
HTML5 video tag, Flash plugin, VLC mozilla plugin, quicktime plugin, windows media player embedded object
Wasn't there some kind of java applet for video display? It is quite rare, but I'm pretty sure I saw something like that once or twice.

Last edited by SigTerm; 11-30-2011 at 05:58 AM.
 
Old 11-30-2011, 10:22 AM   #5
theNbomr
LQ 5k Club
 
Registered: Aug 2005
Distribution: OpenSuse, Fedora, Redhat, Debian
Posts: 5,395
Blog Entries: 2

Rep: Reputation: 903Reputation: 903Reputation: 903Reputation: 903Reputation: 903Reputation: 903Reputation: 903Reputation: 903
Given that the display of motion video is probably the most problematic part of the requirement, it seems to make sense to look at the applications that already do this. In Linux, those applications are probably in the class of Mplayer, Kaffeine, etc (multimedia applications). Most of those are built using standard GUI toolkits such as GTK, Qt, etc, and are open-source.
Given the small size of the non-video frames specified in the requirement, I would guess that the content that goes in them is probably fairly straightforward, and of some standard form. From that, I estimate that a home-grown HTML parser/renderer could be contrived to populate those other frames.

--- rod.
 
Old 12-02-2011, 08:16 PM   #6
ccolumbu
Member
 
Registered: Oct 2009
Posts: 37

Original Poster
Rep: Reputation: 4
Thanks for your feedback, I guess I will go look for someone who can teach me QT and has experience embedding VLC into it.
 
  


Reply

Tags
c++, desktop, gui, perl, programming


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
RS232 GUI application SimbadSubZ Linux - Software 2 07-26-2009 12:37 AM
how do I start a gui application and the Desktop on a remote computer threw ssh lindylex Linux - General 4 04-21-2009 08:00 AM
C gui application deathalele Programming 3 03-31-2009 04:51 AM
Remote desktop software to control desktop GUI? Phaethar Linux - Software 3 06-27-2008 09:30 AM
1st programming language for GUI Lokken Programming 10 12-25-2005 12:10 AM


All times are GMT -5. The time now is 06:12 PM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration