Illumination Software Creator Beta 1

illumiconHere we go.

Last month I started talking about some general ideas for what I would like to see in a new software development tool.

And now, I am proud to present, Illumination Software Creator 1.0 Beta 1.

The Illumination Software Creator allows you to visually create your application by linking together colorful building blocks of functionality.

Once your application has been designed, you can then build it to run on Desktops (Linux, Windows & MacOS X – Powered by Python and GTK), Nokia Internet Tablets (Maemo – Powered by Python and GTK) as well as JavaScript rich web applications.  All without any changes to the structure of your application.

iscexamplehelloworldHere is a screenshot of a simple application.  You’re typical “Hello World” type of application.

And, of course, much more complex examples are available from the Illumination Examples page (more examples are on the way).

A quick list of what, exactly, makes Illumination so cool:

  • Extremely easy to learn.  Anyone can develop their own applications without learning C, Java, Python, HTML5, etc.
  • Can create software for multiple platforms (and in multiple languages) without any modifications to the project itself.  Desktop, hand-held or web… it’s all possible from the same project.
  • The user interface designer allows you to tweak the layout of your windows for each platform… without making any modifications to the rest of your project.  Great for re-arranging your interface for small devices.
  • Generates the full source code for your project.  For the experienced developers: this means you get a complete, and highly modular, set of source code files that you can then modify to your hearts content.

ISC Beta 1 UI EditorIllumination was architected to make it as easy as possible for us to add additional new platform to support.  Building applications for Android phones?  Adobe Flex/AIR applications?  .Net/Mono? WebOS?  iPhone?  We think this is important.

Version 1.0 will ship with support for three distinct platforms (Desktop, Nokia Tablet, Web).  And we don’t plan to slow down.

The retail price for Illumination Software Creator will be $99.  During the Beta period it is, of course, completely free to use without limitation.

Up until 1.0 ships, we’re offering a discounted “Early Adopter” price of $29.  (A little way of saying “thank you” for helping us with your feedback.)

Things to note before diving in to Beta 1:

  • This is very much *beta* software.  Some features are not available.  Others may be buggy.  (Honestly it works quite well, but there are some bugs in there.)
  • Beta 1 only has a limited sub-set of blocks and user interface controls available.  This allows us to concentrate our testing on critical pieces of functionality first.  More controls and feature blocks will appear in Beta 2.
  • Beta 1 only runs on Linux.  Beta 2 and 3 will bring full support for Windows and MacOS X.  If you just can’t wait to try it… install Linux.
  • Beta 1 focuses on Desktop Python applications.  Internet Tablet and rich web applications will become available in subsequent Beta releases.
  • Tutorials are coming soon.  For now, the example projects are the best way to explore what Illumination can do.
  • If you encounter bugs, or have any feature requests, feel free to post them in the comments here or email them to webmaster [at]

With all that said I won’t hold you any longer.  Go.  Download Beta 1.  Grab a few example projects and experiment.

Share Button
  • Leif Andersen

    Hm…Well, it has a LONG way to go, but it looks like it could be potentially very powerful. However, when it gets a bit further, you should really try to get this on some bigger websites, as this has the potential to create a lot of buzz.

    Some things you need to consider:

    1. It should be more clear how to destroy links. Once you realize you need to click on the box it’s originating from, and remove it that way, that’s fine, but you should also be able to select the link. Also, when you delete the box the link is pointing too, the link should be deleted as well, it’s somewhat funky to have a link just dangling off into nowhere.

    2. More options. It’s great for messing with primitives, but what happens when I want to change properties on higher objects? Yes, you do have a window builder interface, but to the left you have a properties window, it needs more options, take a look at androids XML properties window for example. (Don’t rip it off completely though, as it itself has some annoying quirks).

    3. While you’re at it, how about some OOP principles here, this would be the perfect candidate for that sort of thing. You have the ‘window’ and other UI elements down, but what happens when I want to create my own things? Say I’m building Super-Special-Awesome-Painter-Pro-Edition, and I want a standardized color chooser across my app, the only current way I can do that, is to create a color panel object, and copy/pasta it to my harts content, let me build my own objects please. Not only would it make this thing 100x more useful, it would clear up a lot of the UI issues I’m going to get to in a moment.

    4. The UI needs a bit of work. Unless the OOP properties I mentioned earlier get implemented, I see projects becoming a big mess, very fast. What you should do, is be able to build something like classes in other languages. Then, you can just drag them and drop them in other places. Then, you can have a very simple ‘main’ panel.

    5. Spaces in the file directory? Erm…not the biggest of deals, and I know it’s becoming less and less of an issue. But if one of the big features you promote is portability, you should probably fix that, please.

    6. Maybe it’s just me, but you don’t have very many good ways to deal with program flow. There doesn’t seem to be any way to make a while loop (other than, say, linking a window back into itself). Yes, you’re trying to make a very ‘interface design’ type of editor, but I can see program flow still being very important.

    Anyway, good luck, and I hope this program goes well for you.

  • Bryan

    Great feedback Leif! I’ve gotten a bunch of emailed in feature requests and bug reports already, and it has bee absolutely awesome how detailed it all is.

    Here’s my responses, by the numbers.

    1) The “dangling link” bug is sitting on my to-do list. I’ll have that fixed for either Beta 2 or 3.

    2) More options is on the radar. Just want to get the basics 100% solid first. (Gotta have a solid foundation!)

    3) It’s going to be post-1.0, but here’s the plan: To be able to build “block sets”. Basically create your own block (or type of block) that you can set any number inputs and outputs on. Essentially an object (kinda). The architecture for this is already in place, but we haven’t even started on the UI to make it look right. So it’ll be after 1.0 is out.

    4) See 3. :) Also on the to-do list: scrolling and zooming.

    5) Noted.

    6) Basic loops and conditionals are in the “language” but the UI is disabled in Beta 1 (same with file handling and a few other tidbits). We wanted to have the first Beta to be focused on the simple core to make sure we fleshed out the critical bugs there before opening up more to the world.

    Thanks again for the feedback! Much appreciated!

  • Tommy Brunn

    I can’t seem to be able to download the example projects. It says the link is broken. How about bundling a few of them with the application? I’m sure anyone who first downloads this will need them.

    Also, sometimes the blocks seem to move off the canvas for no apparent reason (for example when switching block set), and since there’s no way to move around the canvas I can’t get rid of them or move them back.

  • Mats

    Just tested for two minutes, but found a problem with nordic characters in that time. åäö crashes the built app.

  • Cd-MaN

    It is an interesting effort to try to guide non-programmers in the world of programming, and personally I don’t think that tools like this are of that much help. During my lifetime I’ve seen a lot of efforts with such tools (just think of Logo, Squek, Real Basic, etc) and the only ones I see some value in are the game creators, using which creative, but not necessarily programming person to create a virtual environment.

    IMHO, we need better programming, not more programming. I see daily “professional” programmers (generally speaking, not about by job) doing things worthy of the Daily WTF, who refuse to use basic techniques like CI, unit testing or static analysis and thing that you can write programs by creating a patchwork of different fixes.

    We need to educate both them and the stakeholders! If 90% of the existing programmers would work at a professional level, we would have all the programs that we need in the world, functioning with much fewer flaws than they are today!

  • Virgil Dupras

    Isn’t the Calculator example a proof that this concept can’t work? A calculator is hardly a complex application, yet, the limitations of the visual interface are already apparent (overcrowded spaghetti mess). A real application implemented with this software would be unmaintainable.

    Maybe it could work if it was marketed to kids, for learning purposes (but then again, doesn’t such an app already exist?).

  • Bryan

    Tommy: Ack! The Example download links got borked up when I updated the page. They’re good now. As for the “block off the screen bug” We’ve gotten a few reports of that now. We’ll get to the bottom of it.

    Cd-MaN: Logo, Squeek and RealBasic are all amazing projects. And none of them have nearly any resemblance at all to Illumination. Workflow, base concepts and technology stack are wildly different. But I do see your point! Proper education on existing technologies is key! Though, from my point of view, it’s not about “More Programming”… but more about “Creating something that needs creating”.

    Virgil: Ha! Not at all! :) A few interesting things to note about the calculator example 1) It took about 5 minutes to do from start to finish. 2) It was done completely without any looping or conditionals (if statements) which are features that were disabled for Beta 1. 3) It’s actually very simple to follow the logic flow of the program at a glance. Sure there are criss-crossing lines, but you can quickly see what, exactly, is happening. 4) As features are added to Illumination (such as the ability to create your own Blocks of Blocks, any such issues with larger projects will go away.

    Thanks again for the feedback! Beta 2 (Which includes highly updated Build Error Checking, which should resolve a lot of the issues being seen) should be available later today.

  • Pingback: » Illumination Software Creator 1.0 Beta 2()