Brand New Graphical Development System


55 posts   Page 1 of 3   1, 2, 3
by NuIotaChi » Sat Sep 28, 2013 11:53 am
Hi guys,

I'm looking for feedback and suggestions, about how to proceed with my project.

A bit of history for those who may be interested.... if not, then skip this bit ;)

Eleven years ago, I started work on an idea for a graphical programming system. I worked consistently on it for four years. Then, disheartened by the lack of interest, support and financial hardship, I dropped it. To continue would have required an enormous amount of work that I simply could not achieve on my own. There were also complications with getting it running with Windows..... and everybody wants Windows :roll:
Recently, I had a bit of a revelation. I could make it work relatively easily on Linux, not at program level, but rather at shell level (if that makes any sense).
Though at this level, it wouldn't be fast, it would make it very easy for both teaching programming and for makers that weren't too hot on coding.

<--- SNIP --->

So... it's a graphical programming system. Programs are designed, like circuit diagrams. There is no code.
I have decided to aim this at the Pi, simply because it fits in with education and makers.
However.... and this is the big but... I would like to earn a bit of cash from it... possibly even a living, if it goes well.

This is the question:
How would the Pi community feel about the various options:
1. Trial period, then disabled until licensed for a nominal fee, say... £25.
2. Shareware, nag screens until you pay, but no disabling.
3. Freeware, but with donations.

If anyone has opinions, preference or experience with any of these, please leave a comment.
Posts: 20
Joined: Tue Sep 10, 2013 1:15 pm
by Heater » Sat Sep 28, 2013 2:54 pm
NuIotaChi,

There is no easy way to break this to you so let's get straight to the point: No, there is no way you can do this and make money.

The has been a dream ever since Bill Gates and his 4K BASIC. That ship sailed away nearly 40 years ago.

The world is now full of languages and development environments. Many of them free and many of them open source.

When it comes to graphical programming Scratch has it covered around here.

Unless you have something extremely compelling I see no demand for it.

In the educational field I see no reason for anyone to want a closed source solution. By being closed it is the antithesis of educational in the end.

Finally:
...not at program level, but rather at shell level (if that makes any
sense).

That might need some explaining.

On the bright side, if you are really sharp you might be able, even in this modern world, to make a little money. In the style of, for example:
http://www.sublimetext.com/
or
http://www.kickstarter.com/projects/48651611/espruino-javascript-for-things
Posts: 1264
Joined: Tue Jul 17, 2012 3:02 pm
by NuIotaChi » Sat Sep 28, 2013 6:33 pm
What I meant by shell level was that it will not compile library function calls directly into the code, but rather execute separate programs. Each library will be a separate program with the required function as an argument (together with the other arguments) all memory objects will just be files in a RAM disc.

Scratch.... is er....forgive the pun, a bit Mickey Mouse :mrgreen: Though it is probably the closest thing (conceptually) to what I have.
So what happens when all those kids that learned to do simple animations in Scratch, now want to create real programs?

It's a a bit like saying we don't need potatoes because we have oven chips.

One of the problems with modern coding is that there is so much to learn. When I started programming in the 80s, it was simple because there wasn't much to the languages that were available. You only had a few keywords and commands to learn, and off you went. Now, it's just too damn complex.
It's alright for us oldies, because we've grown with the languages, but to beginners, the functionality and preparatory work necessary to perform even the simplest tasks, is overwhelming.
With the old BASIC home computers, someone learning could have instant results.
No faffing about trawling the internet trying to find out what libraries you needed to do a particular task.
No trawling through badly written online manuals to figure out how to use said library.
No disappointment in discovering that after writing some test code, it didn't work because you haven't got the library installed.
No more trawling the internet trying to find the required library.
No figuring out how to install said library.

The average kid learning to program would have given up at the first hurdle.... because it's just too much.

So how about a system where you can just browse the libraries available, and load the ones you need. Each function is listed, complete with a description of what it does. You simply drag and drop it onto the drawing board and connect it up.
Posts: 20
Joined: Tue Sep 10, 2013 1:15 pm
by NuIotaChi » Sat Sep 28, 2013 6:54 pm
Anyway... to argue about whether or not I would make miwwions from this wasn't the purpose of the initial post.

There are people out there who spend an awful lot of time creating free software. How do they manage to monetise it?
Posts: 20
Joined: Tue Sep 10, 2013 1:15 pm
by Heater » Sat Sep 28, 2013 11:06 pm
NuIotaChi

...rather execute separate programs. Each library will be a separate program with the required function as an argument (together with the other arguments) all memory objects will just be files in a RAM disc.

Interesting approach. Sort of a graphical IDE for BASH scripting.

That would be slow a hell and hopeless for most programming. But if you can find a way to make shell scripting easier many people might go for it.


One of the problems with modern coding is that there is so much to learn....

Can't disagree with that. For example things like C++ have grown into massively complex languages that I don't believe anyone can master all the nuances of. What with all the other complexities you mention it's a wonder anyone ever starts down the programming road as a beginner.


The average kid learning to program would have given up at the first hurdle

Exactly. And that is why the Pi was created to provide a platform with everything included that can get you from zero to quite sophisticated programming. The language of choice being Python.

Did you checkout the Espruino link? There is a guy also wanting to provide a "turn it on and program" environment. This time it's JavaScript.


There are people out there who spend an awful lot of time creating free
software. How do they manage to monetise it?

That is a big question.

A lot of free and open source software is written by people who are paid to write it. They work for universities or companies like RedHat, IBM, Google and so on who see the benefit of having that software as open source.

Then there are open source projects that make a living providing support for their code.

There are of course those who just like to work on a project and don't expect to make money out of it. I suspect this is a minority of the code that is out there.
Posts: 1264
Joined: Tue Jul 17, 2012 3:02 pm
by ZXDunny » Mon Sep 30, 2013 8:16 am
What's wrong with using those old 8bit BASICs? Both SpecBAS and Brandy are available for the Pi, and they're way more powerful than their 8bit counterparts - yet just as easy to get into.

D.
Posts: 50
Joined: Sun Jul 08, 2012 7:57 pm
by timrowledge » Tue Oct 01, 2013 12:09 am
Scratch.... is er....forgive the pun, a bit Mickey Mouse Though it is probably the closest thing (conceptually) to what I have.
So what happens when all those kids that learned to do simple animations in Scratch, now want to create real programs?

It's meant to be; it's for total beginners, intended to help learn the very basics in an engaging and kid-friendly way. A good next step while starting very direct and graphical would be EToys,(http://www.squeakland.org/) which as it happens also runs under Squeak and thus ought to run ok on the Pi. I suspect that you could implement what you are interested in within EToys relatively simply.
You could learn a bit about the system generally by watching - http://www.heidelberg-laureate-forum.or ... -alan-kay/ - the first part is fairly general historical stuff about why we still don't have decent programming systems even 50 years after SketchPad.
"Compromise", says Professor Trefusis, "is stalling between two fools"
Posts: 389
Joined: Mon Oct 29, 2012 8:12 pm
Location: Vancouver Island
by jbeale » Tue Oct 01, 2013 1:01 am
NuIotaChi wrote:There are people out there who spend an awful lot of time creating free software. How do they manage to monetise it?

Not all of them do... I think quite a bit of open source code is contributed by people working at some for-profit enterprise, who generated the code as a byproduct of the main activity. In other words they are not working full-time on the open codebase only for its own sake, but the code is in some way useful to some other larger (and perhaps closed) system, which is what actually makes money. The open code project exists because there is some advantage to having it open (eg. contributions & bug-fixes).

When some code is both open and broadly useful, it may attract a worldwide team of contributors who can together develop something that would be much more difficult for one person or one organization to create.
User avatar
Posts: 2075
Joined: Tue Nov 22, 2011 11:51 pm
by Heater » Tue Oct 01, 2013 2:20 am
timrowledge,

I was looking forward to watching that Alan Kay lecture you posted a link to. But it requires Silverlight. God I hate Microsoft. Do you have a link to any other format?
Posts: 1264
Joined: Tue Jul 17, 2012 3:02 pm
by duberry » Tue Oct 01, 2013 7:27 am
Heater wrote: that Alan Kay lecture you posted a link to. But it requires Silverlight. God I hate Microsoft. Do you have a link to any other format?

i just tryed to install it and after afew redirects i got this
Forbidden
You don't have permission to access /moonlight/redirector.html on this server.
Apache/2.2.22 (Ubuntu) Server at http://www.go-mono.com Port 80


but maybe its relay running IIS but for security they are pretending to run Apache on Ubuntu :lol:
lend me your arms, fast as thunderbolts, for a pillow on my journey.
If the environment was a bank, would it be too big to fail
so long; and thanks for all the pi
User avatar
Posts: 380
Joined: Mon Jan 28, 2013 10:44 pm
Location: standing on a planet that's evolving. And revolving at nine hundred miles an hour
by Heater » Tue Oct 01, 2013 8:10 am
Why would go-mono.com not be running Apache and Linux?
Posts: 1264
Joined: Tue Jul 17, 2012 3:02 pm
by duberry » Tue Oct 01, 2013 9:10 am
Heater wrote:Why would go-mono.com not be running Apache and Linux?

idk.. thaught it was M$ like silver light ?!
mabe i have the wrong end of the stick in that respect :roll:
either way its where i ended up after trying to download the silver light thing
another link would be appreciated tho as im not having much luck even with the silver thinger :!:
lend me your arms, fast as thunderbolts, for a pillow on my journey.
If the environment was a bank, would it be too big to fail
so long; and thanks for all the pi
User avatar
Posts: 380
Joined: Mon Jan 28, 2013 10:44 pm
Location: standing on a planet that's evolving. And revolving at nine hundred miles an hour
by Heater » Tue Oct 01, 2013 9:35 am
duberry,
another link would be appreciated tho as im not having much luck even with the silver thinge


Turns out that the Chrome browser on my Debian PC will play that video just fine.

Firefox lands me up at go-mono.com.
Posts: 1264
Joined: Tue Jul 17, 2012 3:02 pm
by rurwin » Tue Oct 01, 2013 12:17 pm
I agree, Chrome works, Firefox doesn't. It must be that FF is still not HTML 5. I'd sort of assumed it would be by now.

Unfortunately it seems the graphical environment that Alan Kay uses in the video is not at a release state yet. That's a shame; I quite fancied playing with it. However EToys is mature and can be found in a repository near you.
User avatar
Forum Moderator
Forum Moderator
Posts: 2930
Joined: Mon Jan 09, 2012 3:16 pm
by timrowledge » Tue Oct 01, 2013 7:03 pm
Not quite true; whilst the Nile related stuff he showed may not be ready for public release, it's worth remembering that his entire presentation - slides, videos, live demos of bridges bending, the EToys, every bit of it, is done within Squeak. So all of those facilities are actually out there. If that doesn't offer some scope for experimenting with UIs then I'll be very, very surprised.

Oh, and sorry to hear about the silver blight thing. Evidently my iMac must have had it installed at some point without me recalling.

Some other Alan talks -
http://www.lisarein.com/alankay/tour.html
http://www.ted.com/talks/alan_kay_share ... ideas.html
http://www.vpri.org/html/words_links/links_ifnct.htm
http://www.youtube.com/watch?v=oKg1hTOQXoY (Alan's Turing Award talk at OOPSLA 1997, seems to be missing the actual demo stuff for some reason)
"Compromise", says Professor Trefusis, "is stalling between two fools"
Posts: 389
Joined: Mon Oct 29, 2012 8:12 pm
Location: Vancouver Island
by Heater » Wed Oct 02, 2013 6:28 am
Oh, do have a search on YouTube for Alan Kay videos. There are some dating back to the time he was a young chap at Xerox (was it?) building systems for children to use. Very inspiring stuff.
Posts: 1264
Joined: Tue Jul 17, 2012 3:02 pm
by timrowledge » Fri Oct 04, 2013 12:21 am
And if you like to read rather than watch, http://vpri.org/html/writings.php
"Compromise", says Professor Trefusis, "is stalling between two fools"
Posts: 389
Joined: Mon Oct 29, 2012 8:12 pm
Location: Vancouver Island
by Jim Manley » Fri Oct 04, 2013 1:16 am
A twist on Scratch that has more power is the Blockly project at Google that grew out of a "20 percent time" project for an Android app development framework:

Image

https://code.google.com/p/blockly

There are Scratch-like jigsaw puzzle pieces that know how code statements can syntactically fit together. So, in theory, syntax errors are eliminated and no typing of keywords and program flow structures is required (e.g., matching C-style curly braces), just for data structure names and values. The twist is that Blockly can emit source code in a number of programming languages, with at least JavaScript, Python, and XML currently available, AIUI. Then, students can compare the graphical version with the source code and make changes in Blockly layouts to see how the same functionality is achieved in programming language source code.

So, Blockly makes it possible to move up from the Mickey Mouse level of children's computing education to at least the Superman comic book level. Whether that eventually leads to the Tux the Penguin level of world-class software development is more a function of an individual's persistence and imagination than the choice of programming language. I can think of much, much worse ways to introduce nascent software developers to the art, such as sitting Johnny or Jinny down in front of The Ada Language Reference Manual ... :lol:
The best things in life aren't things ... but, a Pi comes pretty darned close! :D
"Education is not the filling of a pail, but the lighting of a fire." -- W.B. Yeats
In theory, theory & practice are the same - in practice, they aren't!!!
User avatar
Posts: 1357
Joined: Thu Feb 23, 2012 8:41 pm
Location: SillyCon Valley, California, USA
by NuIotaChi » Fri Oct 04, 2013 3:23 pm
Well..... thanks for all the encouragement guys.
So what you're saying is that no-one needs it and that I should give up?

“What can one expect from a few wretched wires?".... about telegraphy
"This 'telephone' device is of no value."
"Radio waves have no practical application."
"Cellular telephony is just a niche market."
"Who the hell wants to copy a document on plain paper?".... about the photocopier
"This is typical Berlin hot air. The product is worthless"... about Asprin
....

So maybe I'm headed in the right direction
Posts: 20
Joined: Tue Sep 10, 2013 1:15 pm
by Ravenous » Fri Oct 04, 2013 3:33 pm
NuIotaChi wrote:So what you're saying is that no-one needs it and that I should give up?

I think you should build it and see if users will come.

I have a hard time seeing exactly what you're describing, and whether the code produced will be efficient enough, or functional enough. But I haven't looked at the other graphical alternatives mentioned either.

Here's a test: assuming your system is complete right now, could you draw a chart (or whatever graphical language you invent) to describe your system itself? In other words, can it be used to write itself?
Posts: 1593
Joined: Fri Feb 24, 2012 1:01 pm
Location: UK
by OtherCrashOverride » Fri Oct 04, 2013 3:45 pm
Ravenous wrote:I have a hard time seeing exactly what you're describing, and whether the code produced will be efficient enough, or functional enough.

My guess was that its something like this: http://wasteddesigns.files.wordpress.com/2012/09/k2.jpg

NuIotaChi wrote:If anyone has opinions, preference or experience with any of these, please leave a comment.

NuIotaChi wrote:So what you're saying is that no-one needs it and that I should give up?

You asked for opinions. Sorry to hear they were not the opinions you wanted.
Posts: 582
Joined: Sat Feb 02, 2013 3:25 am
by PiGraham » Fri Oct 04, 2013 3:53 pm
Ravenous wrote:
NuIotaChi wrote:So what you're saying is that no-one needs it and that I should give up?

I think you should build it and see if users will come.

I have a hard time seeing exactly what you're describing, and whether the code produced will be efficient enough, or functional enough. But I haven't looked at the other graphical alternatives mentioned either.

Here's a test: assuming your system is complete right now, could you draw a chart (or whatever graphical language you invent) to describe your system itself? In other words, can it be used to write itself?


It isn't clear what this 'Brand New Graphical Development System'. is.

What do you have, NuIotaChi? It's graphical, but you haven't shown us any graphics. It executes commandlines? It doesn't produce compilable code? What can it do? Show us something. Scratch can do some quite complex things yet you think your offering is much more serious (less 'Mickey mouse')? Show us how serious it is. What are its features and benefits? Is it much easier to learn and use than Bash scripts? Is it much faster than Scratch? What functionality does it support - networks, serial, GPIO, graphics?
Posts: 1036
Joined: Fri Jun 07, 2013 12:37 pm
Location: Waterlooville
by Tzarls » Fri Oct 04, 2013 6:38 pm
Hey, Nulotachi, I´m wondering.... why is it so difficult to run it under Windows?

Anyway, there might be some demand on the audio plugin world for something like this. Google for Synthmaker (now Flowstone) and SynthEdit. Also Reaktor and Max/MSP. People using these languages like the possibility of being able to define the processing chains without having to type lines of code (but Synthmaker has a couple of objects that enable the user to input actual code, even Assembler). Some of these programs are Windows only, some of them output executable files (or .dll files for using the mas plugins) and others just run the schematic from inside the main program . no export options at all.

Maybe have a look at the graphics processing market too.

I myself have been playing with this idea for some time now. I have a very basic prototype that works under Windows, Linux (x86 and ARM - Pi!) and maybe Mac OS (maybe because I don´t have a Mac to try it on). But my idea is a little bit different than yours - I don´t want to eliminate the text coding. I want to simplify it. My initial motivation was: "Ok, having something working by just wiring blocks together is great. But having to wire 10 blocks together just to define some math equation as a real pain. What if I could wire blocks that work the way I want because I wrote the actual code for those blocks?". Kind of a "graphical abstraction of an object oriented language".

If I ever get to get this thing commercial, I´d think of having 2 version: the free version (RPi edition, only runs under Raspbian and can access GPIOs) and the commercial version (all other Os`s). The projects built under one edition will run without change on the other. You should consider something like this. And multiplatform support is a must, IMHO.

I wouldn´t say forget about this. I would say "rethink your idea, then start from scratch".
Posts: 65
Joined: Tue Feb 26, 2013 6:59 am
by NuIotaChi » Sat Oct 05, 2013 11:05 am
Tzarls wrote:Hey, Nulotachi, I´m wondering.... why is it so difficult to run it under Windows?


It's the calling convention that screws it up, and it's not just Windows. The system is extremely multi-threaded which is a total PITA when it comes to dealing with nested calls and stacks all over the place. My solution back then, was to create an operating system that handled calls in a very different way. Again, unfortunately, because high level languages handle calls and stacks themselves, I had to write it in assembler.
It was only a couple of months ago that it dawned on me that it would be possible to create programs at command level where there are no stacks to get in the way. Systems are fast enough now to make it a feasible option.

Tzarls wrote:Anyway, there might be some demand on the audio plugin world for something like this. Google for Synthmaker (now Flowstone) and SynthEdit. Also Reaktor and Max/MSP. People using these languages like the possibility of being able to define the processing chains without having to type lines of code (but Synthmaker has a couple of objects that enable the user to input actual code, even Assembler). Some of these programs are Windows only, some of them output executable files (or .dll files for using the mas plugins) and others just run the schematic from inside the main program . no export options at all.

Maybe have a look at the graphics processing market too.

I myself have been playing with this idea for some time now. I have a very basic prototype that works under Windows, Linux (x86 and ARM - Pi!) and maybe Mac OS (maybe because I don´t have a Mac to try it on). But my idea is a little bit different than yours - I don´t want to eliminate the text coding. I want to simplify it. My initial motivation was: "Ok, having something working by just wiring blocks together is great. But having to wire 10 blocks together just to define some math equation as a real pain. What if I could wire blocks that work the way I want because I wrote the actual code for those blocks?". Kind of a "graphical abstraction of an object oriented language".

If I ever get to get this thing commercial, I´d think of having 2 version: the free version (RPi edition, only runs under Raspbian and can access GPIOs) and the commercial version (all other Os`s). The projects built under one edition will run without change on the other. You should consider something like this. And multiplatform support is a must, IMHO.

I wouldn´t say forget about this. I would say "rethink your idea, then start from scratch".


I went down this route when I started exploring this idea 11 years ago. Such methodologies are fine when it comes to real time processing and simulation, but it doesn't necessarily allow complex programs.
Software like Synthmaker (or, in fact, Mathi's Music Magic, for those who remember it ;) ) were part of the inspiration for this. One of the unfortunate things about programming with this type of system is that it requires all objects and their interconnections to be defined before the program starts. When objects and connections are created on the fly, it all gets very messy.
Posts: 20
Joined: Tue Sep 10, 2013 1:15 pm
by NuIotaChi » Sat Oct 05, 2013 11:11 am
PiGraham wrote:
It isn't clear what this 'Brand New Graphical Development System'. is.

What do you have, NuIotaChi? It's graphical, but you haven't shown us any graphics. It executes commandlines? It doesn't produce compilable code? What can it do? Show us something. Scratch can do some quite complex things yet you think your offering is much more serious (less 'Mickey mouse')? Show us how serious it is. What are its features and benefits? Is it much easier to learn and use than Bash scripts? Is it much faster than Scratch? What functionality does it support - networks, serial, GPIO, graphics?


I didn't open this thread with the purpose of discussing its appearance or functionality. The initial question was about how to monetise it.
Posts: 20
Joined: Tue Sep 10, 2013 1:15 pm