#1
  1. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Nov 2009
    Posts
    2
    Rep Power
    0

    Application - Google DATA & USB Webcam


    Hello,
    I'm yet to begin working on my Graduate project and current researching about the technologies I'd use.

    I need:
    • To take Webcam snapshots, not video.
    • Cross-platform compatibility (This is important)
    • Be able to use Google DATA APIs
    • Have a decent GUI


    I know the Google DATA APIs work with Java, .NET, PHP, Python, Obj-C.

    I'm familiar with C, have done good amount of scripting in PHP, used very little of Java, C++, .NET.
    I know my programming basics are strong, so I shouldn't have much trouble learning new a language.

    I wanted an expert opinion about which language to use.

    I searched on devshed forums regarding good cross-platform languages, and I find a lot of people recommending Java and Python.
    But i haven't found any information regarding which of these languages have a good support of webcam integration.

    Any help here would be appreciated.
  2. #2
  3. No Profile Picture
    Lost in code
    Devshed Supreme Being (6500+ posts)

    Join Date
    Dec 2004
    Posts
    8,317
    Rep Power
    7170
    PHP really isn't meant for anything other than web application development, I would not recommend it for this.

    JMyron is a library for Java that deals with webcam support. It's based on a C++ library which you could use directly from C++ too. I would recommend Java or C++ for this.
  4. #3
  5. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Nov 2009
    Posts
    2
    Rep Power
    0
    yea, i knw PHP isn't the language for my application. I'm looking for a desktop application.

    Which of Java and Python are truly cross platform?
    And how steep is the learning curve for both of the languages?
  6. #4
  7. Moderator Emeritus
    Devshed Supreme Being (6500+ posts)

    Join Date
    Feb 2002
    Location
    Austin, TX
    Posts
    7,186
    Rep Power
    2265
    Java meets the criteria you're in need of for this project.

    Functionally, Python is going to give you similar capabilities as PHP. Yes, you can do GUI's in both, but neither language was really designed for building GUI's.

    Java is cross-platform, has standard toolsets for GUI's (SWT and Swing being the most common); plus, the Google API you'll be using works with Java.

    My $.0000002
    DrGroove, Devshed Moderator | New to Devshed? Read the User Guide | Connect with me on LinkedIn
  8. #5
  9. No Profile Picture
    Contributing User
    Devshed Loyal (3000 - 3499 posts)

    Join Date
    May 2004
    Posts
    3,417
    Rep Power
    887
    I agree with E-Oreo and drgroove. Java is the way to go here because it's nearly universal. Python is not something that has a wide install base for you to work from. You'll find it on every *nix server and probably a lot of Linux desktop machines, but it's almost not existent on Windows and probably isn't installed on the Mac's either in most cases. There is a tool you can use to package a Python application as a stand-alonge EXE, but that's not going to be very portable. You'd have to have different one compiled for every OS at the very least.
    I no longer wish to be associated with this site.
  10. #6
  11. No Profile Picture
    Contributing User
    Devshed Regular (2000 - 2499 posts)

    Join Date
    Jul 2006
    Posts
    2,270
    Rep Power
    1737
    Originally Posted by drgroover
    Functionally, Python is going to give you similar capabilities as PHP.
    And more. PHP's design niche is web applications, while Python functions well as a general programming language. Thus, it functions well as a language outside of the web server environment.

    but neither language was really designed for building GUI's.
    How would you characterize a language as designed for building GUIs? That a GUI toolkit is part of the platform? That's a very debatable point, but even if I agreed, I could always point to Tkinter, which is part of Python's standard library. If you mean GUI designers, Python has them too.

    And Google exposes its APIs in Python as well as Java. You may have a good case for Java, but you are unfairly dismissive of Python.

    Originally Posted by jwdonahue
    Python is not something that has a wide install base for you to work from. You'll find it on every *nix server and probably a lot of Linux desktop machines, but it's almost not existent on Windows and probably isn't installed on the Mac's either in most cases.
    Python is pre-installed on Mac OS X.

    There is a tool you can use to package a Python application as a stand-alonge EXE, but that's not going to be very portable. You'd have to have different one compiled for every OS at the very least.
    With executables, the assumption is that you intend it for Windows. It would be very odd if you packaged Windows executables for Linux or for Macs. Portability is definitely not the goal with py2exe, the tool you refer to.

    I'm not dismissing your recommendations for Java, and it's a language worth considering, but both of you dismiss Python so quickly, and with questionable statements. Python is an excellent language and should be considered as well.
    When you ask a question, be prepared to tell us: what have you tried? If you think you don't need to try anything, we will never be interested in helping you. If you agree with the link, and you refuse to answer that question, you are being a hypocrite.

    Need help with broken code? Your question should be like a good bug report: (1) It has the smallest number of steps to reproduce the problem you see (2) It tells us precisely what you expected to see and (3) It tells us what you saw and how it differed from what you expected. We need all three to help you.
    Want better answers? Tell us what you Googled for and what steps you took to answer your own question.
  12. #7
  13. No Profile Picture
    Contributing User
    Devshed Loyal (3000 - 3499 posts)

    Join Date
    May 2004
    Posts
    3,417
    Rep Power
    887
    Originally Posted by Oler1s
    Python is pre-installed on Mac OS X.
    Ok so combined with all the *nix servers in the world, we're talking an installed base of maybe 25 or 30 percent of all the machines on the internet? Perhaps too optimistic? I wonder how many cell phones have Python interpreters installed?

    But the OP didn't actually specify that the application would have to be widely and easily distributable, so perhaps Python still fits the bill? I suspect the "Webcam snapshots" part of the criteria may be inclusive of cell phones, so Python is probably not the way to go.
    I no longer wish to be associated with this site.
  14. #8
  15. Moderator Emeritus
    Devshed Supreme Being (6500+ posts)

    Join Date
    Feb 2002
    Location
    Austin, TX
    Posts
    7,186
    Rep Power
    2265
    Originally Posted by Oler1s
    And more. PHP's design niche is web applications, while Python functions well as a general programming language. Thus, it functions well as a language outside of the web server environment.

    How would you characterize a language as designed for building GUIs? That a GUI toolkit is part of the platform? That's a very debatable point, but even if I agreed, I could always point to Tkinter, which is part of Python's standard library. If you mean GUI designers, Python has them too.

    And Google exposes its APIs in Python as well as Java. You may have a good case for Java, but you are unfairly dismissive of Python.

    Python is pre-installed on Mac OS X.

    With executables, the assumption is that you intend it for Windows. It would be very odd if you packaged Windows executables for Linux or for Macs. Portability is definitely not the goal with py2exe, the tool you refer to.

    I'm not dismissing your recommendations for Java, and it's a language worth considering, but both of you dismiss Python so quickly, and with questionable statements. Python is an excellent language and should be considered as well.
    Sorry. Wasn't trying to dismiss Python. Python is great. Yea Python.

    FWIW, though ... and I hate to get into this whole "programming language as religion" thing... but, I'm gonna go out on a limb and state that, if the parent poster is looking to be gainfully employed as a developer once they've attained their graduate degree, knowing, being experienced in, and having as many projects under their belt in java as possible is going to be more of a boon for them than being a python, php, perl, or any other 4gl language expert. It's not something I'm personally terribly happy with - esp considering my PHP chops are x10000 better than my Java chops - but, it is what it is. I steer folks who are still in school or are up-and-coming developers on DS towards Java, as they have a better chance of securing a job where they'll be doing Java development, and less of a chance securing employment knowing a 4gl language.

    Python is fantastic. So is PHP. As a PHP developer, I made a fourth of what I made as a Java developer. It took longer to find gigs when I was out of work as a PHP developer, and the companies I worked for as a PHP developer were smaller, with less options for promotions and raises, than as a Java developer.

    Just my experience, though... again, Python is a great tool, but I tend to provide advice on multiple levels, not just technical.

    Hope that makes sense...
    DrGroove, Devshed Moderator | New to Devshed? Read the User Guide | Connect with me on LinkedIn

IMN logo majestic logo threadwatch logo seochat tools logo