Shop OBEX P1 Docs P2 Docs Learn Events
Anyone interested in a new SPIN IDE? — Parallax Forums

Anyone interested in a new SPIN IDE?

Keith LeinenbachKeith Leinenbach Posts: 25
edited 2012-01-26 18:02 in Propeller 1
Mid last year I purchased an s2 robot for myself and my child from a shop in Chicago. I must say it was a wonderful experience and soon I was fully entranced in programming new things for the little red guy to do. Addicted I purchased various other parts from the Parallax store as well as a Quick Start board and the Gadget Gangster board. While I found the Propeller Tool nice, I have certain features I wanted while programming so I made my own IDE interfacing through the Propellent DLL. That is one of the great things about Parallax, they let you do things the way you want. Anyway, about six weeks ago, I decided others might want the tool too, so I polished it up for distribution. The IDE should be ready for beta next week.

Screen Shot

ocspin.jpg


Features

- Parameter Hints for functions as you type (for both your files and those you link to as objects)
- Long descriptions of functions pulled from the source code and updated as you work
- Function lists, with the ability to click on them and advance to them in the source
- Help for built in functions
- all those other IDE sort of things like code multi-file editing, highlighting, search, undo, etc.

The Question

I have more ideas for the tool too and I'd love to support it and add to it. So here is the question. Would there be an interest in paying say $30 for such a tool so that I can support it and move forward? Or am I dreaming and free is the only way people like tools.

Thanks,
Keith Leinenbach

Comments

  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2012-01-25 14:22
    That looks really neat! I like the parameter hints idea. (They should be shown in the Parallax font, though, for correct alignment.) What kind of executable would you provide? (It doesn't require .NET, does it?)

    -Phil
  • Keith LeinenbachKeith Leinenbach Posts: 25
    edited 2012-01-25 14:26
    The executable is just an EXE with no other DLLs other than the Propellent DLL. And of course you can use the Parallax font when installed. No .net involved.
  • Roy ElthamRoy Eltham Posts: 2,996
    edited 2012-01-25 14:43
    Perhaps another option would be to put it up on google code, releasing it as open source, and let others move it forward?

    Roy
  • Keith LeinenbachKeith Leinenbach Posts: 25
    edited 2012-01-25 14:50
    They should be shown in the Parallax font, though, for correct alignment. -Phil

    Phil, sorry, I didn't get the meaning of your statement. You're talking about the attached picture. Yes, I should provide help in the Parallax font so that the help lines up correctly. No problem. I figure other issues will come up in beta as well. ;-)
  • MagIO2MagIO2 Posts: 2,243
    edited 2012-01-25 15:00
    If you could also include a terminal-panel .. maybe directly switching to it when programming the propeller has finished ... and using the propeller font there as well .... then I definitly would be willing to buy.
  • Keith LeinenbachKeith Leinenbach Posts: 25
    edited 2012-01-25 15:50
    I'll keep a list of requests and evaluate what could still be added in this release and what would be in next.

    terminal panel - I've played a bit with adding this already, so we'll see.

    Keith
  • Keith LeinenbachKeith Leinenbach Posts: 25
    edited 2012-01-26 05:55
    MagIO2

    Do you know what features of the serial terminal do people use? Just to do basic debugging or do they use all of the extended cursor placement functionality as well?

    Keith
  • MagIO2MagIO2 Posts: 2,243
    edited 2012-01-26 06:57
    Debugging via PST is propably the MAYOR usage currently, but having a terminal which also supports the propeller font together with positioning would open it for a new usage!
    For example
    - you can develop some code which in the end will run on a VGA or TV / keyboard combination. But during development you'd simply use the terminal without the need to switch keyboard/monitor or even have the hardware at hand when starting with the project. (put your QuickStart in your pocket and change the code anywhere you want without carrying around the TFT/KB ;o)
    - you can use textmode windows for showing ... dunno ... debug information ... states ... input-masks ... menus
    - you could use the characters meant for creating digital signal diagrams to implement a pocket-money Logic-Level-Analyzer
    - .....
  • Keith LeinenbachKeith Leinenbach Posts: 25
    edited 2012-01-26 09:47
    MagIO2. Wow! I guess I asked ... :lol:

    Keith
  • Heater.Heater. Posts: 21,230
    edited 2012-01-26 10:20
    Always interested in a new Spin IDE and you have some attractive features there. I need a Linux or Mac version of every thing use.
  • Keith LeinenbachKeith Leinenbach Posts: 25
    edited 2012-01-26 10:54
    Heater.

    I wish I could support these platforms, but I developed the application in Delphi. Delphi seems to be moving toward being multi-platform, but the current offering is not really useable for anything but windows. Sorry about that.

    Keith
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2012-01-26 11:10
    Keith,

    The current Propeller Tool is also written in Delphi and uses a proprietary edit module that makes it ineligible for open sourcing. This is one reason it will ultimately be abandoned in favor of an open-source, multi-platform IDE. I'd hate to see you put all that effort into it only to find yourself in the same dead-end that Parallax did. A Windows-only IDE will not enjoy the same acceptance that a multi-platform IDE would.

    -Phil
  • David BDavid B Posts: 590
    edited 2012-01-26 11:42
    I wouldn't mind paying for a useful IDE, but like others have said, two drawbacks stand out - it would be great to not be tied exclusively to Windows, and it would be good to have open code for community bug and enhancement support.

    I'd also really like to have a combined IDE/programming tool with a "terminal" for runtime interaction. I quote "terminal" because I've gotten used to using a full-featured homemade PC-propeller interactive environment that I wrote in Delphi where the PC "terminal" can receive and display messages like a terminal, but also lets you program pushbuttons for interacting with the propeller program, can receive data and plot it graphically or write it to file, etc.
  • Keith LeinenbachKeith Leinenbach Posts: 25
    edited 2012-01-26 12:00
    The current Propeller Tool is also written in Delphi and uses a proprietary edit module that makes it ineligible for open sourcing. This is one reason it will ultimately be abandoned in favor of an open-source, multi-platform IDE. I'd hate to see you put all that effort into it only to find yourself in the same dead-end that Parallax did. A Windows-only IDE will not enjoy the same acceptance that a multi-platform IDE would. - Phil

    Thanks for the advice Phil. By the way I have already fixed the help window so that it displays help in the Parallax font. Good catch!

    As for building it in Delphi, I realize the limitations. My edit module is also proprietary. But realistically, I am not looking to produce the end all of SPIN IDEs. I have found the IDE quite useful so far for myself and I think others will too. The source code people edit is all in SPIN and they will always be able to change to any IDE they wish. So by using this IDE no one will lock themselves in, but I do think they will enjoy the advantages this application can offer. I hope this will save people time and give them a pleasant experience when editing. Choices are always nice.

    So I guess what I am saying is, this is how I developed it. I had a good code base for this sort of application in Delphi. It is what it is. If you have a windows machine, I believe this will be a nice IDE to SPIN your code in.

    I will be releasing the BETA next week. I encourage you to try it out and let me know what is missing, what could be better, etc. My aim for the first release is to include the major needs and make it as smooth of an experience as possible.

    And as always, though I can't always change things, I appreciate the comments.

    Keith
  • Keith LeinenbachKeith Leinenbach Posts: 25
    edited 2012-01-26 12:11
    David,

    The "terminal" window seems to be a make it or break it feature, so I am working on adding this. Flexibility in this feature also seems to be a big deal. Besides just the basic terminal, I think this can be used at minimum to provide a more convention (however a bit intrusive) debugger. There is definitely a lot to improve on here. As for programmable feedback, if this is what people want, I have a lot of experience in this sort of thing and would love to add it in the future.

    Keith
  • CircuitsoftCircuitsoft Posts: 1,166
    edited 2012-01-26 12:59
    I wish I could support these platforms, but I developed the application in Delphi. Delphi seems to be moving toward being multi-platform, but the current offering is not really useable for anything but windows.
    Have you looked into Lazarus?
  • 4x5n4x5n Posts: 745
    edited 2012-01-26 13:33
    Will this new IDE run under Linux?
  • JasonDorieJasonDorie Posts: 1,930
    edited 2012-01-26 13:48
    Do you know what features of the serial terminal do people use? Just to do basic debugging or do they use all of the extended cursor placement functionality as well?

    I use the clear (0) and home (1) commands a lot, but I rarely use the other commands. If you do add this, it would also be good to do the disconnect / reconnect when the application loses/gains focus. I use this behavior in many of my custom debug apps so I can just alt-tab between them and the IDE without having to constantly hit buttons to disconnect and reconnect. I wish the PropTerm had the option to auto-connect when it regains focus.

    It looks really good. And I'm fine with Windows. :)
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2012-01-26 14:17
    Looks great!

    could you please explain this one a bit more
    - Parameter Hints for functions as you type (for both your files and those you link to as objects)

    Do you mean that if you declare an object "myobject", and then later on in the program you type
    myobject.

    and as soon as you type the . it comes up with all the PUB methods of that object in a dropdown menu?

    Because that would be really cool!
  • Jim FouchJim Fouch Posts: 395
    edited 2012-01-26 14:26
    When developing the terminal window/panel, keep in mind that one of the nice things about having the current Parallax terminal program as a separate program is I can float it to another monitor and watch my app running while still poking through the code. If you have a tab that is stuck inside your editor, then you can't really see code and app running at the same time.
  • tdlivingstdlivings Posts: 437
    edited 2012-01-26 14:28
    Keith
    Looks good.
    Your idea of parsing all the objects for functions and procedures is a fresh idea for an IDE.
    From your list box of functions can I drag and drop from it to the editor window and have it
    create the function in the editor for me to complete. Just saves a bit of typing as your help
    window above shows me what to type anyway, another fresh new idea.

    As a Delphi person myself I am curious as to what components you used. I have played around with
    creating an IDE myself and used PlusMemo for the editor. It handles the Unicode Parallax Drawing
    chars.

    Tom
  • Keith LeinenbachKeith Leinenbach Posts: 25
    edited 2012-01-26 15:27
    I think I let the questions pile up a bit, so I'll try to answer them.
    Do you mean that if you declare an object "myobject", and then later on in the program you type
    myobject.
    and as soon as you type the . it comes up with all the PUB methods of that object in a dropdown menu?
    Because that would be really cool! - Dr_Acula

    Yes. It narrows down the choices as you type along, including the PUB methods for objects.
    From your list box of functions can I drag and drop from it to the editor window and have it
    create the function in the editor for me to complete. Just saves a bit of typing as your help
    window above shows me what to type anyway, another fresh new idea. - tdlivings

    I like that idea. Why not?

    Jim Fouch wanted to make sure the terminal window/pane wasn't rooted inside the editor window. I agree. Good point.

    Thanks Jason for answering my question about the usage of the terminal window.

    Thanks for the input! I'm glad to see more people dropping in for their say.
    Keith
  • Jim FouchJim Fouch Posts: 395
    edited 2012-01-26 15:48
    Also, one thing I really like about the Propeller Tool, is you can drag any tab outside of the app's main window. There are many times I like to look at several objects at the same time.

    Having 2+ monitors sometimes spoils you...lol

    DSCN0897.JPG
    1024 x 768 - 161K
  • Keith LeinenbachKeith Leinenbach Posts: 25
    edited 2012-01-26 15:56
    Tom, I have implemented your request. Dragging and dropping interferes with the principle purpose of navigating to the selected function, so I added it as a right click menu item in the function list.

    So, position the cursor where you want it, right click on the function from the list, and there it is.

    As to Jim's question, I will keep the pull out tabs in mind for the future, but it is not possible in this version. I do like your monitor set up though! Now where did I leave that application window last ... :nerd:

    Keith
  • kuronekokuroneko Posts: 3,623
    edited 2012-01-26 16:52
    @Keith: How do you intend to open used sub-objects (like it's done from the tree view in the current PropTool)? I'd really hate to have to go through a file open dialog every time.
  • Keith LeinenbachKeith Leinenbach Posts: 25
    edited 2012-01-26 17:21
    kuroneko,

    First of all, there is no "Open File Dialog". But there are several ways to open files.

    1) The Objects tab will navigate to the files pointed to by the objects referenced in your current source file.
    2)You can right click on any function in your source code and through the popup menu the IDE will load the appropriate file and navigate to where the function is defined.
    3) And finally, the Open File tab gives a directory view to open random files and by default lists SPIN files in your sources directory.

    Hope I answered your question satisfactorily.

    Keith
  • Cluso99Cluso99 Posts: 18,066
    edited 2012-01-26 17:31
    Keith: The terminal window is a great feature that I use all the time. It was first introduced by Brad in bst. In the latest PropTool we can invoke PST with F12 (and usually enter to enable). There are a few things apart from cls and home. There is another cls char used also but I cannot recall atm - I use $0. The reset (DTR and RTS) controls are required. What would be nice is the cr+lf control. Some programs just use cr and others use cr+lf. A button to select this would be nice. A cursor is lacking on PST.

    If you require some primitive cursor controls. take a look at my 1pin TV object in obex. Someone has done a VT100 but I am not sure where to look. IMHO we are interested in using the PC Terminal as a debug terminal primarily, and a VGA or TV text replacement secondly. It is nice to be able to copy and paste to Notepad.

    However, with new open source tools due from Parallax shortly, I hope you effort is worth it.
  • Keith LeinenbachKeith Leinenbach Posts: 25
    edited 2012-01-26 18:02
    Cluso99,

    Thanks for the input on the terminal window. The first version will provide the basics, but I will expand it as the product matures.
    However, with new open source tools due from Parallax shortly, I hope you effort is worth it.

    I hope to differentiate this IDE tool from their offering. I have some specific additions in mind that I hope will keep people happy. That said, choice is good. Different people work in different ways. Anyway, I don't get the idea that Parallax is shooting to have only one method available. I like that about this company. I hope this continues to be the case. That way everybody wins!

    Keith
Sign In or Register to comment.