Shop OBEX P1 Docs P2 Docs Learn Events
Would you use a Java application user interface with Propeller ? — Parallax Forums

Would you use a Java application user interface with Propeller ?

jazzedjazzed Posts: 11,803
edited 2008-07-02 12:43 in Propeller 1
Hi,

I'm curious how many people would use a Java application on their computer as a windows-like user interface to Propeller or another micro-controller. I'm not Apple-aware, so I don't have a clue there. Windows XP will run Java applications as will Linux and other platforms. Please help me in judging current user interest in Java applications by taking the poll in the link below. The poll is a little slow to start, so please be patient.

Thanks,
--Steve

http://www.micropoll.com/akira/mpview/443385-96874

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔

Comments

  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2008-06-28 18:47
    Your poll assumes the only option to a Java frontend is a "Windows program". There are other cross-platform options besides Java (e.g. Perl/Tk).

    -Phil

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    'Still some PropSTICK Kit bare PCBs left!
  • jazzedjazzed Posts: 11,803
    edited 2008-06-28 18:57
    Well I wasn't asking about Perl/Tk or Tcl/Tk [noparse]:)[/noparse]

    What other GUI options would users consider? I'll make another poll for that if given enough input.
    I am interested in serving as many users as possible with one solution and will be greatful for your input.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
  • HarleyHarley Posts: 997
    edited 2008-06-28 19:12
    jazzed,

    Please explain to those of us that have no idea what you are proposing.

    I run Parallels on an iMac with XP. And have used ViewPort and PASD for debugging.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Harley Shanko
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2008-06-28 19:31
    jazzed said...
    Well I wasn't asking about Perl/Tk or Tcl/Tk
    I guess what I meant was: if a person wanted to use neither Java nor a Windows program, there's no way to answer your poll. Your last option might better be phrased, "No, I prefer not to use Java."

    -Phil

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    'Still some PropSTICK Kit bare PCBs left!
  • LeonLeon Posts: 7,620
    edited 2008-06-28 19:37
    Some people might like to do it with C# or Visual C++.

    Leon

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Amateur radio callsign: G1HSM
    Suzuki SV1000S motorcycle

    Post Edited (Leon) : 6/28/2008 7:45:57 PM GMT
  • jazzedjazzed Posts: 11,803
    edited 2008-06-28 20:41
    I'm interested in serving the most users and in what form a GUI application product should take for interacting in a convenient way with Propeller or other uC devices at a user level. If there is something more widespread in serving that audience than a Windows or Java application, then that is useful information, and I welcome helpful suggestions toward that goal.

    A poll helps to narrow the focus of effort or in this case reveal other preferences. I didn't answer vampyr's "which board" poll at first because I have more than one solution, and that was not on his list; I ended up answering Protoboard though because that's the one I use the most.

    If you don't use windows and it's applications or java applications in windows or linux, that's fine by me. More sophisticated users like developers will do their own thing whatever that is, may have some special preference, or just have an agenda ... whatever.

    Phil your point is valid; while reading your response I just didn't consider Perl/Tk as something that many people would use. Obviously polling is something new to me. Thanks for trying to be constructive.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


    Post Edited (jazzed) : 6/28/2008 8:57:25 PM GMT
  • Mike GreenMike Green Posts: 23,101
    edited 2008-06-28 21:37
    jazzed,
    I think it's too early to use a poll. First you have to explain what you're proposing along with some examples, then you ask for feedback. Once you have some more unstructured information, it's time to use polling to narrow those choices down.

    For example, are you proposing something like the user interface portions of Selmaware's StampPlot Pro? What would be your limitations? What's your intent? Are you interested in making something primarily for sale or do you have a particular application in mind for one of your own projects and you'd like to generalize it to make it useful for more people and more applications?
  • jazzedjazzed Posts: 11,803
    edited 2008-06-28 21:51
    Thanks Mike.
    If you read the other thread I started today, it has more details on one purpose of one such GUI. As we alll know, "There is nothing new under the sun." There are many useful and some not so useful variations on old ideas. I never dreamed Speedracer or Maxwell Smart would show up on the silver-screen [noparse]:)[/noparse]

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
  • PyrotomPyrotom Posts: 84
    edited 2008-06-29 01:48
    I use Java to interface with Prop applications. It works well using the javax.comm package on the Java end and the FullDuplexSerial object on the Prop. The javax.comm package is fine in the Windows world, but is not supported by Sun for Linux or Mac OS X. or those you have to go with a commercial package from SerialIO.com or the open source version from rxtx.com. If your product bundled the rxtx implementation it could be pretty much cross platform, which would make it usable by even those who won't touch Windows with a ten foot pole....
  • hippyhippy Posts: 1,981
    edited 2008-06-29 01:55
    For me it boils down to how much messing about is involved. Maybe I've been spoiled by SETUP.EXE; download, click, wait for completion, click the desktop icon and it works, but that's the way I believe it should be.

    If a Java App requires some JavaSDK or some particular version or classes it had best install that and configure it for me automatically without asking me anything which requires thinking about, without messing anything else up and runs as it's meant to once it's installed. The same applies to any form an App takes.
  • jazzedjazzed Posts: 11,803
    edited 2008-06-29 02:24
    Pyrotom said...
    I use Java to interface with Prop applications. It works well using the javax.comm package on the Java end and the FullDuplexSerial object on the Prop. The javax.comm package is fine in the Windows world, but is not supported by Sun for Linux or Mac OS X. or those you have to go with a commercial package from SerialIO.com or the open source version from rxtx.com. If your product bundled the rxtx implementation it could be pretty much cross platform, which would make it usable by even those who won't touch Windows with a ten foot pole....
    @Pyrotom,
    That's a good point on javax.comm .... Most of my serial work on Linux was via an external·terminal server so that javax.net was all I ever needed to do useful work. A generic terminal server daemon would not be hard to write for linux, solaris, or unix assuming one does not exist already.

    @Hippy,
    If you load a java applet on a web browser today, what happens? Do you have a Sun Java Console in the browser Tools menu tab? Java2 which has been around for almost a decade requires 1.4 vintage or something close. As you mention, I too would be quite annoyed if I have to do something special to install an application.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
  • AleAle Posts: 2,363
    edited 2008-06-29 08:01
    Jazzed:

    The rxtx package is the only cheap way for the 3 platforms and java. It cannot be used from a browser, and requires some sort of installation. I normally like to know what an app does when it is installed. Especially to know it is not going to mess anything else smile.gif. Make a demo ! (If you are pointing remotely in the right of LabView... thing can get pretty interesting, and useful!).
  • jazzedjazzed Posts: 11,803
    edited 2008-06-29 20:05
    Hi Ale,

    Looks like rxtx is a nice direct connect package (requiring jdk1.5+). I wouldn't expect small users to have external terminal servers (concentrators) however convenient they are to use. Big advantages come with using external terminal servers in group software/hardware developments. I found the "conc" linux package that would take the place of a terminal server within the PC, but as with all "big" linux ideas configuring/installing on just any box is prone to fits and starts of getting the right set of dependent packages installed. I prefer a self-contained system in that light.

    LabView's instumentation and graphical programming ideas are of course intriguing but look like "tons" of work.

    I was more interested in finding out from this community whether or not Java applications would be used. I mean an application started with "java -r someapp.jar" or otherwise installed and not in a web browser as with Java2 applet "permission" to access system resources.

    The poll results so far show using a Java app is no problem for most who care. At this point however, it seems building Windows applications with blah.net would serve the most "customers" especially with today's virtualization tools.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
  • AleAle Posts: 2,363
    edited 2008-06-29 21:07
    jazzed said...
    The poll results so far show using a Java app is no problem for most who care. At this point however, it seems building Windows applications with blah.net would serve the most "customers" especially with today's virtualization tools.

    Java can be run on more platforms smile.gif. I particularly refuse to install any m$ cr*p (I use VM;ware either on Mac or on Linux) to run the proptool and the PC Instruments logic analyzer front end. That's too much. I hope I can make my pPropellerSim good enough to program propellers wink.gifm but I'm an exception.

    Anything you do will serve a community, and that is good enough ! (Starting with what serves you is not a bad idea).
  • hippyhippy Posts: 1,981
    edited 2008-06-29 22:13
    @ Jazzed : I'm using Firefox 2.0.0.14. Java is enabled, but when I go to a page with a Java Applet it tells me I need a plugin, if I opt for install plugin it faffs around for a while then tells me install failed. I downloaded the JRE manual install from Sun but launching the .exe and nothing much happens. Firewall log shows it's connecting out to Sun then silence, it's gone from the task list.

    smile.gif
  • Timothy D. SwieterTimothy D. Swieter Posts: 1,613
    edited 2008-06-29 23:48
    I like the idea of Java applications. Two weeks ago I started sketching an idea for a Java application that connects to the Propeller. The application I am sketching is for a specific interface to a project, so it isn't a generic program for the public. I have read a couple books on Java, but haven't programmed much other than demo programs, so it should be a fun little attempt to get a "real" program running.

    Thanks for the tips above on the serial I/O. I knew I would have to do some research regarding compatiability, but Pyrotom's response above will help me narrow down my research.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Timothy D. Swieter

    www.brilldea.com·- uOLED-IOC, RGB LEDs, TLC5940 driver PCB
    www.tdswieter.com
    One little spark of imagination is all it takes for an idea to explode
  • PyrotomPyrotom Posts: 84
    edited 2008-06-30 00:35
    Here's what the Sun site says about the Java serial interface javax.comm:

    The Java Communications 3.0 API is a Java extension that facilitates developing platform-independent communications applications for technologies such as Smart Cards, embedded systems, and point-of-sale devices, financial services devices, fax, modems, display terminals, and robotic equipment.
    The Java Communications API (also known as javax.comm) provides applications access to RS-232 hardware (serial ports) and limited access to IEEE-1284 (parallel ports), SPP mode.
     
    Implementations of the API are currently available for Solaris SPARC, Solaris x86, and Linux x86. Each of Sun's available implementations works with the Sun Ray thin client product line, and include portmapping extensions to allow an administer to specify the locations of ports as well as their visibility, names, and in some cases annotated reference. (Also see Sun Ray compatible USB / Serial Adapters)
     
    API serial features:
    Enumeration of ports (administrator and user configurable port mapping)
    Port configuration (baud rate, speed, stop bits, parity)
    Access to EIA232 standard DTR, CD, CTS, RTS and DSR signals
    Transfer of data over RS-232 ports
    Hardware and software flow-control options
    Receive-buffer threshold control
    Asynchronous event option for notification of:
    Data available on an RS-232 port
    Port hardware line level changes
    Port ownership changes within a single JVM
    
    



    Curiously enough they don't mention the Windows support, although it is supported and works very well. Mac OS X is one of the few major platforms Sun doe not support.
  • jazzedjazzed Posts: 11,803
    edited 2008-06-30 01:01
    Pyrotom,
    Your original post mentions not being able to use javax.comm on solaris/linux, but this quote contradicts that ....
    Not being critical of that, but I'm now quite confused; have you (or anyone else here) tried using the package on a linux box?
    I have a server if you have a sample test app I could try.


    Ok, the 3.0 page says no support for Linux, etc.... Was able to get RXTX working on my linux box without too much trouble. At least I didn't have to·go through the PITA of installing a bunch of new packages on my old server.

    Now to install it on Windows, and try it out ... Ok, works for me. I don't have mingw, but I do have cygwin installed. There is a MAC OS-X directory in the RXTX-2.1 .. package; does it work?

    Key Questions: Does the average Windows user need mingw or cygwin to use the RXTXcomm package? Does the MAC variation work (I don't have a mac)?

    Thanks,
    --Steve

    P.S. could you reformat your quote a little with some strategic LFCRs so the posts don't get spread to wide? TIA

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


    Post Edited (jazzed) : 6/30/2008 4:34:05 AM GMT
  • Keith DKeith D Posts: 15
    edited 2008-06-30 11:55
    Hi Jazzed

    I have, in the past, written software that uses the RXTX java utility to communicate with a GPS module, and it worked well (as I recall it does use the same interface as the Java Comms package, but I think you had to change the packages you relied on!)

    As far as an application to control a propeller goes I think it would be difficult to build a generic package that everyone could use as there is always going to be functionality missing or screens that do not make sense for your current project! Though perhaps an API framework application would be good but it would still require individual development for each individual user.

    My personal suggestion to you would be if you need your own application, start a sourceforge project and start writting some code (get at least a demo up and running) then announce it on the forum. If people are interested they may join up as developers on sourceforge but remember that the project may take a life of it's own and may not go in the direction you wanted for your own project!

    As far as using RXTX on windows I seem to recall I used a zip archive and extracted the files into their correct locations (you could package these as part of the install)

    BTW if you do start a sourceforge project let me know and I will join!

    Cheers
    Keith
  • jazzedjazzed Posts: 11,803
    edited 2008-06-30 19:07
    Hi Keith,

    Would be nice to have another set of eyes (or more) on a project. I have something in mind,
    but haven't settled on it completely.

    So, now I've finally found a *good* reason to move beyond j2sdk1.4[noparse]:)[/noparse] RXTX won't give me
    a pointer on port.open unless I use SDK5+. Ugh. Added: Seems to work on my Linux server ....

    I wasn't thinking of a generic program for propeller; just interested in identifying the best
    packaging in software for whatever the product is without having to maintain 3 code bases.

    By the way. It is very curious to me that folks need more info on a project before answering
    my initial query. Yes, of course one needs to make sure a reasonable tool is used for a task,
    but to me a GUI is a GUI regardless of whether it's done in VB6 or AJAX.
    Seems that people think too much sometimes; I know I do [noparse]:)[/noparse]

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


    Post Edited (jazzed) : 6/30/2008 7:31:33 PM GMT
  • Keith DKeith D Posts: 15
    edited 2008-07-02 12:43
    Hey Jazzed

    No problem, give me a shout when you create a project (I only program in Java and C so if you end up using any other language I won't be of much use!!)

    Glad you have RXTX working, I work on the windowz platform so I can prove it works on other platforms! Are you using any specific IDE? I use Eclipse for work and home use (If you use anything else I will endevour to build an eclipse project as well) but prefer maven over ant at the moment (as it will download/update any libraries you need for the project without them being in the repository!)

    I take it from your post packages == languages, in which case for a multi platform application java is one of the easiest to port, but there are still gotchas that you need to be aware of!

    We all think too much at times, but we also have our own interpretation of your original question (that's the problem with English!!). I only program in C and Java and as my current work requires me to use Java that will be my language of choice for any PC based work I do. Infact I have just ordered an OpenMoko FreeRunner which will become my target platform for any further UI applications I write aimed at communicating with the propeller (and I believe it supports Java!)

    Cheers
    Keith
Sign In or Register to comment.