Shop OBEX P1 Docs P2 Docs Learn Events
SimpleIDE Version 0-5-0 Available — Parallax Forums

SimpleIDE Version 0-5-0 Available

jazzedjazzed Posts: 11,803
edited 2012-03-18 15:33 in Propeller 1
Hi All,

Please download and test SimpleIDE version 0-5-0 from: http://propside.googlecode.com

This release includes many fixes and several new features. New features are:
  • Added Jen's beautiful program Icon - jury's still out on this
  • Added File Menu Close and Close All
  • Up to last 5 files tracked in File Menu
  • Project Menu with New Project, Open Project, Save Project, etc....
  • Added Workspace folder in Properties for New Project dialog
  • Up to last 5 projects tracked in Project Menu
  • Last directory tracking for file/project Open, Save As, etc...
  • Find and Replace dialog Ctrl+F replaces old Find feature
  • Added Board Type to project file save
  • Added Ctrl+Tab for tab editor queue scrolling
  • Added Source Browsing Ctrl+Left Click to find declarations
Please use this thread for bugs reports or feedback.

Thanks,
--Steve
«1

Comments

  • trodosstrodoss Posts: 577
    edited 2012-03-05 09:19
    @Jazzed,
    This was based on the 5 minutes I had to look at the new build. It works great overall! The "New Project" dialog/process seems to work well.

    -It took a while to realize it was creating a sub-directory, .side file, and .c with the same name, however that is "by design" (so you are not prompting for extra information).

    -It looks like there are still some issues with colorizing the text. In comments, if the single line comment ("//"), and quotes are used in the comment, the code colorizes the quoted text like a string literal. This can be seen in the comments section of code like /C-VGA/vgademo.c
    Untitled.png



    Minor things:
    - It looks like the "help" and "about" both have content, however they are both different. Is one a placeholder? Are the actual help files going to be hosted on that Google site maybe?

    - There was code in the workspace directory after a fresh install. Was that intentional? It looks like it is duplicates of what appear in sub directories (and things like pong.zip).

    - The default board type is the "ASC" rather than the "QUICKSTART." I figured it was at least worth mentioning, since I would think either PROPBOE or QUICKSTART would be the most logical defaults, considering.

    Thanks!
    --trodoss
    502 x 356 - 9K
  • jazzedjazzed Posts: 11,803
    edited 2012-03-05 10:21
    trodoss wrote: »
    @Jazzed,
    This was based on the 5 minutes I had to look at the new build. It works great overall! The "New Project" dialog/process seems to work well.
    ....

    Excellent report and comments. Thanks for the feedback so far. Please beat it up more if possible.
    Let me know if the Find Declaration source browsing features are intuitive enough.

    I'll assume the "hang problems" are gone and will close the bugs without feedback.

    The Serial Port Terminal is performing the best that I can get it to work on windows, unless there is a horrible problem, I'll consider the reported bugs fixed.
    RE your comments:

    -New Project process:
    I'll add some text explaining what's happening.

    -Colorizing:
    Gee ;) Looks like I only fixed it for the /* "text" */ case.

    -About/Help:
    About is just the splash, program name/version, and program copyright.
    Help has a help pointer and copyright information. Yes, actual help will be hosted.

    -Code in workspace:
    Sorry about that I forgot to check before making a package. Cleaned up now.

    -Default Board Type:
    The default board is based on the project opened. However PROPBOE could be selected by arrangement.
    BTW, found a bug in "Set Project (F4)" this morning. I'll post a SimpleIDE.exe that fixes it later.
    The bug happens if you do this sequence:
    1. Menu-File-New
    2. Edit file and Menu-File-Save (Ctrl+S in windows). Program asks user to name file and save as ....
    3. Menu-Project-Set Project (F4) ... this should make a project named after the newly saved file, but doesn't.
    I have ideas for future features, but can't commit to many right now.

    The main things left to do are make Linux/Mac distributions and verify internationalization.
    I've built/run on Fedora and Debian and need to make packages for them.
    Others have built/run on Mac OSX and I'll need help with those packages.

    Once the bug reports are all squashed, I'll probably make a 1.0 release.

    Thanks,
    --Steve
  • jazzedjazzed Posts: 11,803
    edited 2012-03-05 18:27
    Here's a picture of the new "New Project" dialog in Windows7. Is it too verbose?attachment.php?attachmentid=90306&d=1331000732
    450 x 265 - 32K
  • jazzedjazzed Posts: 11,803
    edited 2012-03-05 19:38
    Attached is an updated SimpleIDE.exe It has:
    • the "Set Project after Save As" fix
    • New Project dialog enhancements
    • a Serial Port Console enable/disable bug fix
    • added a Port Reset button
    attachment.php?attachmentid=90309&d=1331004931
    800 x 593 - 123K
  • jazzedjazzed Posts: 11,803
    edited 2012-03-07 14:06
    Hi All.

    I've uploaded a debian-linux-i686 test package to try at
    http://code.google.com/p/propside/downloads/list
    This should also work with ubuntu-linux-i686.

    You must have Propeller GCC in /opt/parallax to use the IDE.
    A new i686 propgcc_v0_2_4 package will be uploaded later today.

    An IDE dpkg for use with apt-get is being created.
    Other packages for x86_64 and i686 fedora will also be created.

    Thanks,
    --Steve
  • jazzedjazzed Posts: 11,803
    edited 2012-03-07 19:56
    I was able to run the i686 debian package on my old fedora box.
  • potatoheadpotatohead Posts: 10,261
    edited 2012-03-08 09:01
    Jazzed,

    Had time for a quick run on XP, which is my established Prop dev station right now. I'll do Win 7 over the weekend, as well as stuff some larger bits of code into it. I've some VGA graphics library code ready to tinker with.

    Simple indeed! Well done so far.

    I'll have some more feedback when I can get a longer stretch of time. It would be great to put "Done" in the log, like it appears in the the GUI screen border. I should know better, but I looked at the log for quite a while, before realizing it was actually done working! Sample screenie attached. Funny actually.

    I like the icon, it's distinctive, and frankly that's all one needs to locate and use it.

    I was able to create a project and author some code and have it build without really thinking about it too much.

    I was not able to see a difference in the GUI when I fed it broken code. Sample screenie attached. Seems to me, I should see something indicating the program isn't viable, or a warning, or something. Maybe that's on the feature list. And maybe that's in the user guide too. I ran this report "fresh", just to capture impressions for you. Now I'll go and look. :)

    Edit: I literally ran setup, slammed through the defaults, ran the program and did a few things. Very lean. I like that a lot.
    788 x 586 - 94K
    908 x 586 - 74K
  • potatoheadpotatohead Posts: 10,261
    edited 2012-03-08 09:13
    jazzed wrote: »
    Here's a picture of the new "New Project" dialog in Windows7. Is it too verbose?attachment.php?attachmentid=90306&d=1331000732

    Not at all. If anything I would add text to #1 "...where files will be stored.", but that's me. Not necessary at all.

    I would recommend something I see one of the vendors I deal with doing: adding check boxes to the explanatory text. Like the moment the project workspace path is defined, the green check symbol appears, and it would appear where "1)" does, if it were indented a shade more. If it becomes undefined, or broken, a red "X" appears there, and the OK button won't become active until there are two green check boxes. This latches the user into either cancelling, or progressing, with feedback as to successful input.

    On dialog open, it would look like what you've posted up, only "OK" wouldn't be active. The symbols appear after some input has happened. Essentially, trade input error messages on "OK" for feedback before allowing the "OK" to be executed.
  • jazzedjazzed Posts: 11,803
    edited 2012-03-08 09:47
    potatohead wrote: »
    ... It would be great to put "Done" in the log, like it appears in the the GUI screen border. ...

    -Ouch :) Ok, on my todo list now.

    -I see you added bad code to a file that was not compiled.
    You have to save untitled as some file and either "Set Project" F4 or add the file to your existing project.
    The only files that get built are ones listed in the side project. Not sure how exactly to make that clear.

    -I like your suggestions on the new project dialog.
    The easiest to quickly implement is setting cancel as default until the project parameters are ready.
    I'll add todos for that and the check marks - of course i'll need check marks on the properties page too.

    Thanks for your test drive time.
    --Steve
  • Christof Eb.Christof Eb. Posts: 1,237
    edited 2012-03-08 11:44
    Hi Steve,

    SimpleIDE looks great!
    I installed the win-setup. With Win7/64.
    The hello.c could be downloaded to my demoboard and it worked.
    But if I change the source it still loads the old a.out. I cannot find the new a.out. Should it be written to the "workspace"?

    error: failed to open "a.out"

    Thanks a lot!
    Christof
  • Christof Eb.Christof Eb. Posts: 1,237
    edited 2012-03-08 12:04
    OK, I reinstalled into C:\propgcc and now I can make changements. I had had C:\MyProg\propgcc.

    Christof
  • jazzedjazzed Posts: 11,803
    edited 2012-03-08 14:04
    Hi Steve,

    SimpleIDE looks great!
    I installed the win-setup. With Win7/64.
    The hello.c could be downloaded to my demoboard and it worked.
    But if I change the source it still loads the old a.out. I cannot find the new a.out. Should it be written to the "workspace"?

    error: failed to open "a.out"

    Thanks a lot!
    Christof

    Hi Christof,

    Glad things are working now. I've been thinking about that a.out thing for a while. I'll probably remove it before builds since it's bound to cause more trouble as is. The new a.out should be written to the workspace/project folder where the .side project sits.

    Let me know if you have any more trouble or concerns.

    Thanks,
    --Steve
  • potatoheadpotatohead Posts: 10,261
    edited 2012-03-08 15:06
    "how to make that clear"

    Well, that makes sense now... Bet it would have after glancing through the docs too. (I won't until this evening) If I have a clarity idea, I'll post it.
  • potatoheadpotatohead Posts: 10,261
    edited 2012-03-08 22:43
    Ok, I see where things went wrong. In my quick test, I had set the project to one that worked, while believing the broken file was part of that project, which is what I believe you just wrote to me earlier. (long day today)

    The core problem is communicating project focus and then managing it. The application does communicate it nicely, but the user is free to just do something they won't find productive, which is the rub, because it's a friction point.

    Three basic schools of thought on this.

    One is to add features such that they can come to control the program in ways that will help them be productive. Give them options and add more verbose errors / hints to get them where they need to be. Features may be added to manage features... Thick.

    A second is to limit actions, improve discoverability, leading them to a productive action. Identify one primary use case and nail it, leaving the user to adjust how they work and manage themselves, keeping application scope small, barrier to use low too, efficiency high, even though it might not address more complex use cases in an ideal way. It just works, and is lean, only necessary features are added and maintained. Make assumptions and just design them to be very good and livable assumptions, so that things remain lean and productive. User will adapt to workflow, instead of school number three below.

    A third school of thought is to make some basic assumptions, and of course with that comes some bloat because different users would prefer to make different assumptions. Both one and three increase complexity, though they do also improve efficiency after a time. Basically one and three enlarge the scope of things with little tweaks here and there to deal with use cases. Features end up with lots of options, and there are some features to manage features. Thickest.

    Might I suggest "friction free" as a guide to resolution of these things? I've seen this in action on some higher end CAD programs to great result! I have not been a fan for years, but I am a recent convert as I see new user / transitioning user adoption of complex software seriously improve. The metric I've used over the years is days of billable training per 100K of software sold. It's a third of what it was a few years ago. Impressive.

    This is Simple IDE. Make some assumptions, and deny unproductive behavior. Any user who grows to be adept enough to feel over-constrained by this is ready for a real IDE, right? That is my take anyway. Besides, a lean tool is in scope, given a full featured, pro one is in progress.

    Applying that to this use case would work along the lines of school of thought number two, where the application simply builds the project associated with the file that has the focus, and it dynamically updates the file tree on file tab focus change. (screenie attached for discussion)

    simple-project.jpg


    I see the project name above the file tree. I would add Build Project = [name], which indicates what the build command will do.

    Remove the "set project" option, as it won't be needed. If a user wants to build a project, they simply select a file tab associated with that particular project. Some flexibility is lost, but a feature goes away, and the discoverability goes up, in that quickly bonking on tabs will reveal this behavior, and it's friction free because no config options or decisions need to be made. Build will then just build.

    In the case of an unsaved file being present when the user requests a build, ask them "save all tabs, or build from disk?" and call it good. There might be a more pure, friction free answer here, but I don't feel good about a "just save it" assumption, nor do I feel good about a back-door, build from RAM to file kludge that hides it. Going all or nothing reinforces the idea that it only makes sense to build from a known coherent state. A user could optionally save a tab or two, leaving one unsaved, and then build from disk anyway, and that's a niche case more than not. Pretty low friction there, IMHO.

    If this level of feedback / suggestions is outta line, just let me know. I deal with UI issues a lot, and am sharing some of the productive trends I've experienced the last few years. Honestly, I like this application and would love it to be just nuts great, simple, fast. :)

    Short story: Design that problem away. Edit: If possible, given all the necessary use cases. Thought about it this morning, and there may well be some use cases that don't work well. I don't know what is worth what.
    1024 x 613 - 61K
  • photomankcphotomankc Posts: 943
    edited 2012-03-09 07:08
    Just wanted to check back in and say I am having a lot more luck with this latest version. So far I have not had any issues running the demos or loading programs.
  • potatoheadpotatohead Posts: 10,261
    edited 2012-03-09 07:50
    Me neither, once I sorted out the project deal. This program is lean and mean. Enjoyable. I particularly like the clean set of compiler options. Nice and clear and effective.
  • trodosstrodoss Posts: 577
    edited 2012-03-09 08:21
    potatohead wrote: »
    This program is lean and mean. Enjoyable. I particularly like the clean set of compiler options. Nice and clear and effective.
    I haven't had any real issues with this version either. It is a very nice application!

    It is nice to have the compiler options in a pane on the page, although having the ability to hide the left-hand panes in the main window would be nice (although not absolutely necessary) so that you can have the full window available for source code editing. I think of that more as "project (compile) settings." Putting it in a place (like a "project settings dialog," buried in another action) would make it much less flexible, so I would say don't move it...just give an option to hide it.
  • jazzedjazzed Posts: 11,803
    edited 2012-03-09 09:12
    trodoss wrote: »
    .... I would say don't move it...just give an option to hide it.

    Glad to hear things are working. As for hiding, look at the attachment

    I didn't mention this in the docs,but there is a grab bar between the panels. Mouse-over those areas and you will find them. Click and drag the project side panel and build status all the way left and down respectively - the panels will disappear. You can drag them back out/up.

    The Windows7 scheme doesn't make the grab bar very clear like in the default Mac OSX and many Linux window managers.
    Regarding "untitled *" tabs. I'm looking at creating a warning dialog to handle this and other changed tab editors' text.

    Unfortunately unlike SPIN, C is a language that can have many modules that are only connected by the build process and just having the visible file be the one to compile is very impractical.

    One could say put all your module code into headers, but that will just make lots of potential C customers angry. Some C++ users do put module code into headers, but I'm not sure I can justify forcing that practice on everyone. So unfortunately, the way it stands now is the way it will be.
    I'm looking at adding some candy features once the Mac OSX package is ready. Some being considered are:
    1. Context sensitive library function help.
    2. Block indent.
    3. Editor Properties such as tab space count (tabs are replaced by spaces).
    4. Secret features.
    Of the candy features, the first is most important to me because it forces me to do some special testing.

    Thanks,
    --Steve
    798 x 590 - 106K
  • potatoheadpotatohead Posts: 10,261
    edited 2012-03-09 09:40
    Secret features... :)

    Jazzed, that makes a lot of sense. It just hit me this morning: This kind of thing could be resolved with a "Top 10 video" When you get farther down the road, maybe I can help produce one, or just do one. Ten things that will get you rocking on Simple IDE. Have it last 10 minutes, they watch it, done! We use these kinds of things all the time for the CAD / PLM stuff. Never tried it with something like this.

    And what you just mentioned is why that kind of thing that keeps me from being a huge fan of the "school number two" above. I've seen it put to good use, but I've also seen stuff too dumbed down, limited. Sometimes it's a good path, other times not. Hope tossing it out there was not a worry.

    FWIW: I'm doing some programming with it this weekend. With just the feature set it has right now, I like it a lot, because there is enough to get stuff done in a lean way, which keeps me on the task of C programming, not tool / config management. Highly desirable. That is actually a significant obstacle for those of us who jump in, want to do something, then get out and on to the next thing, whatever that is.
  • Heater.Heater. Posts: 21,230
    edited 2012-03-09 10:37
    I haven't had a moment to try this yet but from the comments it sounds like Jazzed has out done the Arduino IDE in simplicity and power.

    Outduino?
  • JonnyMacJonnyMac Posts: 9,197
    edited 2012-03-09 21:33
    Agreed; Steve has done a great job on this. No fuss, muss, or hassles. Really fantastic for C newcomers like me.
  • jazzedjazzed Posts: 11,803
    edited 2012-03-11 11:07
    Regarding "untitled *" tabs. I'm looking at creating a warning dialog to handle this and other changed tab editors' text.

    Here's a new dialog to warn against unsaved non-project files.

    attachment.php?attachmentid=90498&d=1331488402
    I'm looking at adding some candy features ....

    Forgot to mention the program needs some features for writing .pex files and running them from SD card.
    There is also a list of minor enhancements and fixes to make before another release.

    Hopefully I can finish these today ....
    365 x 136 - 31K
  • BatangBatang Posts: 234
    edited 2012-03-11 23:03
    HI jazzed,

    This is a feature request.

    Can we have a setup option to change the IDE font size, some of us are getting on a bit and need to squint.

    And also perhaps be able to set the font so I could use my preferred programming font i.e. Droid Sans Mon.

    Regards

    David
  • Martin HodgeMartin Hodge Posts: 1,246
    edited 2012-03-11 23:24
    Batang, that font looks great. But how do you use it having no slashed zero? It would drive me crazy.
  • jazzedjazzed Posts: 11,803
    edited 2012-03-12 13:22
    Batang wrote: »
    Can we have a setup option to change the IDE font size, some of us are getting on a bit and need to squint.

    And also perhaps be able to set the font so I could use my preferred programming font i.e. Droid Sans Mon.


    I'll look into adding a font dialog in the edit menu. I could use "propably" use ZoomIn/ZoomOut for font size control. No promises just yet ....
  • jazzedjazzed Posts: 11,803
    edited 2012-03-12 19:42
    @Batang,


    I've added font controls for selecting a font and for resizing in the editors.


    Here's a Mac OSX snapshot:


    attachment.php?attachmentid=90536&d=1331606406




    Here's a Gnome Linux snapshot:


    attachment.php?attachmentid=90537&d=1331606929




    Here's a Fedora 16 KDE Linux snapshot:


    attachment.php?attachmentid=90541&d=1331607813




    Here's a Windows7 snapshot:


    attachment.php?attachmentid=90542&d=1331608456
    1024 x 592 - 90K
    897 x 618 - 92K
    904 x 593 - 123K
    1024 x 677 - 99K
  • BatangBatang Posts: 234
    edited 2012-03-12 21:32
    HI jazzed,

    Excellent effort, is this a patch or is it in the full download from code.google?

    David
  • BatangBatang Posts: 234
    edited 2012-03-12 21:38
    Martin Hodge
    Batang, that font looks great. But how do you use it having no slashed zero? It would drive me crazy.

    Hi Martin,

    Never thought about that actually, In the environments I use i.e. visual studio, keil etc I use I have always setup the syntax highlighter colors for strings and numerics etc.

    You could pull the font into a font editor and add the line in the zero:)

    Cheers.
  • jazzedjazzed Posts: 11,803
    edited 2012-03-12 22:10
    Batang wrote: »
    Excellent effort, is this a patch or is it in the full download from code.google?

    Just a patch right now. Find attached.

    Some bug fix info and explanations.

    Untitled/unsaved files that are not project related will raise a warning message box to let user know files are not part of the project.

    Added "Done. Build Succeeded!" to compiler status. If build fails, some basic guidance is provided.

    Fixed string in one line comment highlighting // "hello".

    New project dialog will not show OK until fields have reasonable data in them.

    Source browsing: Back could return to the wrong line. That is fixed now. References to Find Declaration are now Browse Declaration. The "Back" arrow will be disabled if the Browser stack is empty.

    Menu->Program replaces Menu->Debug. Menu->Debug is reserved for something else later on.

    The blue COG (looks like a tire) replaces the old Set Project icon for clarity.

    Build output files are now removed before the build so that old ones don't accidently get loaded.

    I've added a new project option "SDCard Load Type" ... it will not work with the old propeller-gcc package. There are some issues we've had to fix and they are not ready yet.
  • jazzedjazzed Posts: 11,803
    edited 2012-03-12 22:53
    Batang wrote: »
    In the environments I use i.e. visual studio, keil etc I use I have always setup the syntax highlighter colors for strings and numerics etc.


    Maybe this will help.

    attachment.php?attachmentid=90554&d=1331617985
    979 x 758 - 131K
Sign In or Register to comment.