A former community discussing the business of software, from the smallest shareware operation to Microsoft. A part of Joel on Software.
We're closed, folks!
Doug Nebeker ("Doug")
The human condition can be defined as “the positive and negative aspects of existence as a human being”. It’s the inescapable part of being human and something we cannot change without evolving into something non-human.
Enter “The Programming Condition: The positive and negative aspects inherent in writing code to produce a software programme.” The act of writing software is, in itself, a means to an end. The ultimate purpose is to produce a set of electronic instructions that achieve a machine driven task, that is, a programme.
The positive aspect of this is that with programming, we can repeat, many times over, the same set of instructions with little or no extra effort. It’s like magic, and it puts programmers on the level of wizards!
We are all very aware of the negative aspects of The Programming Condition:
1. It is time consuming to learn the programmes that others have built when we want to add on or make a change.
2. The time required to learn problems leads to excessive documentation, which then has to be kept up to date.
3. The impact of small changes not being understood in the context of the entire programme, and the knock-on effect thereof.
4. Big programmes get very complex very quickly.
5. Different programmes don’t generally talk to or leverage each other very well unless specifically built for that purpose. (The common username and password login programme has been written millions of times!)
The good news is that unlike humans, computer programming is, and always has, evolved very quickly. In the beginning, there was machine code: 1s and 0s. Then Assembly Language came and put the 1s and 0s into words. Over time many higher level languages have developed to address The Programming Condition. Some, like JAVA, have allowed us to move away from specific machinery and have allowed more machines to be programmed -, while others, like Visual Basic, have attempted to address the complexities of computer programming -. More recently scripting languages, which don’t require compilation, have attempted to address the speed of delivery of a programme.
Unfortunately, for all the good programming languages have done, they have still not adequately addressed some of the inherent negatives involved in the act of programming. If they had been addressed, then every business that could afford a PC could have custom software designed and developed for their specific needs. Just take a moment to imagine the implications of that! The cost, however, has proved too steep and the risk of failure too high.
In part this failure to do so, has been driven by good software developers needing to be of above average intelligence to even start trying to negate the negatives of The Programming Condition.
We are on a quest to address these negative parts of The Programming Condition. We want a language that can be used by every developer, in every country, in some way, shape or form to help them reduce the negatives and get more of their electronic instructions out and into the world.
We are interested in your views. We want to know if what we are doing is good for business. Would you use it, and why? http://warewolf.io/download
Thank you for your thoughts.
Firstly, I'm not going to download your software, as your website doesn't give me any idea what it is.
Secondly, why do you think you will succeed when so many other smart and well funded people have failed?
Thanks for the response Andy.
>Firstly, I'm not going to download your software, as your website doesn't give me any idea what it is
Im sure you are not the only one in this situation. We have been running a private release until now and this has not been an issue. I think the issue is more than just the download page, but applies to the enitre site. Thanks.
>Secondly, why do you think you will succeed when so many other smart and well funded people have failed?
Great question. Im not sure Im smart. Either way, the space is still open because others have failed. I believe we need to push the boundaries regardless. Our prototype has been in production for 2 years and is proving to be very successful.
Thanks again for the input.
I'd really like to see some screenshots to be able to figure out how it works. Just text is never going to convince anyone.
I am particularly interested in how your system would cope with complexity. For example, in my day job I build complex web applications for business clients, typically 1,000+ screens, 100-200 tables, 200-500 reports and 200-1000 users. All the usual Enterprise-ish requirements apply, e.g. full audit trail, monitoring, versioning, change-management, etc, etc.
If your system is capable of supporting scenarios like that, then I'd be interested in knowing more, but please put some screenshots on the website. Oh, and think of a better name "werewolf" spelt wrong, with a trendy suffix, is not really very good.
@Barney, sorry man, but Lisp is pretty much a perfect language. You can't improve on that.
Also visual programming is a pipe dream. You will never be able to achieve the needed expressiveness to tackle complex problems with visual programming. Even the elders of our craft who played with it aeons ago gave up and went back to writing Lisp and Smalltalk.
The shocking thing is: Even horrid languages like Java are more expressive and suitable for writing software than any visual programming system out there.
As the others said: your first order of business needs to be getting something on the site which convinces me of how much easier / faster etc. I can deliver software using your system.
Experience tells programmers that learning new programming languages / tools is hard and time consuming. You'll need to work very hard at convincing them on the roi before they'll download.
Monday, July 15, 2013
Thanks Scorpio, Jeremy, Jonathan. I have commented on your input below. I appreciate your time and effort.
>I'd really like to see some screenshots to be able to figure out how it works
Thanks Scorpio, great point.
>I am particularly interested in how your system would cope with complexity
It is designed to reduce complexity by making everything visual, It is easy to see how and where something needs to be tweaked or done. This is the goal, I'm not sure if we hit it, hence asking for the feedback.
>think of a better name "werewolf" spelt wrong
Thanks for the input
Thanks for your thoughts Jeremy. Im not seeing custom software being available to all sizes of business so I have to consider that the right language for line of business hasn't evolved yet.
>Experience tells programmers that learning new programming languages / tools is hard and time consuming
Agree 100% Jonathan. This is one of the reasons we are doing what we are doing.
Thanks again everyone.
>It is designed to reduce complexity by making everything visual
This has been tried lots of times before and it has never really succeeded, except for very limited domains.
I teach kids how to programming using the 'scratch' visual programming environment. Its great for creating little games and animations. It would be hopeless for creating commercial software.
Also if it is visual, there is no excuse not to have some screen shots!
+1 to Andy, that's what I was thinking.
>This has been tried lots of times before and it has never really succeeded, except for very limited domains.
Hi Andy. The current implementation has worked extremely well for orchestration of business logic/rules that need a level of transparency between IT and business. The company is moving their LOB dev onto the platform. It will not do well for game development.
>Also if it is visual, there is no excuse not to have some screen shots!
Agreed, schoolboy error on our part. We have made an amendment to the download page and will obviously do a lot more in the launch website. Thanks for your help.
"It is designed to reduce complexity..."
Law of Conservation of Complexity: Complexity is conserved in any non-trivial system.
You can't really reduce complexity. The best you can hope for is reducing *apparent* complexity via abstractions, such as making it "visual", but ultimately this is either limiting or broken.
Please forgive me if I shout.
IT'S "SNEAK PEEK", NOT "SNEAK PEAK"! GAH!
Ahem. Sorry. That's one of my all time pet hates.
Monday, July 15, 2013
Thanks Scropio. We will start talking about making things simpler rather than reducing complexity.
What you seem to be doing is abstraction, which is a dangerous path, but YMMV.
The screenshot you put up makes it look a bit like Microsoft BizTalk server, which was popular-ish ten years ago, but nothing to do with creating applications (more like plumbing/glue, what people used to call "middle-ware").
It would be worth spending a bit of time proof reading your website as there are errors in the English.
I might check back later if you put up a better website which explains what problem you're solving and shows some meaningful screenshots, etc. In the meantime, I wish you well with your endeavours.
Thanks for all the input Scorpio.
In past I had worked with a few tools that use that visual approach. BPM implementations, BPEL, custom engines such as Vitria and Oracle OSB...
THEY ALL SUCK!
Oh on so many levels.
The main promise -- to let the non-programmers to make or at least read the code -- was never delivered. Instead, one have to hire more specialized (i.e. more expensive) programmers.
For a programmer by trade the tools was nothing but an inhibitor. It takes a few keystrokes to make an assignment in a text-based languge. It takes a seconds of mad clicking to perform the same operation in a visual tool.
And then commit... and the storage format is usually XML, and so no automatic merge for ya! Merge was (is) always a PAIN!
So, NO, ME NOT GONNA USE IT.
Monday, July 15, 2013
Textual commands is much richer than visual commands. As an example consider command line vs windows file manager.
Robocopy C:\A C:\B /COPYALL /XD "%Source%\aaa_css" /XF %Source%\index.php %Source%\favicon.ico %Source%\google5fxxxx5f9a.html /E /R:0 /DCOPY:T
With file manager we can drag and drop.
Sure. We can create dialogs, different icons for different types of copy, checkboxes etc. But then it is probably more complex than the line above.
I think "visual programming" is suited to specialized domains. Specially providing description. For example: relational database diagram showing relationship between tables, xml specs -in other words "Structure" rather than complex Turing complete processes.
You can keep evolving your model to get around the inherent impedance between visual and text, but then you have to sacrifice the original purpose of such model.
Simplicity of representation.
Complexity of representation will cost you IQ points with your audience.
Monday, July 15, 2013
Amazing to have a long essay and then just describe "what we are doing" and a link.
Could there not be even a one sentence description of "what we are doing" rather than a page long preamble about programming and the human condition in general.
Based on the comments in this thread, it sounds like the OP has a graphical programming language that works on all platforms and has some sort of ultimate project management features.
Seems he made a demo video.
It's really similar to Apple's Automator.
This sort of thing seems like a good idea for new programmers.
It tends to bogs down quickly with complexity.
And it always seems to turn out that the novice programmers/regular folks it is intended for still can't figure it out.
Obviously for doing something like selecting random numbers in the video, it's faster just to type some python, and you end up with code that is easier to understand as it takes up much less room than these huge boxes.
OK. Ready-to-use random generator. Drag-and-drop, viola!
Now let's solve the following problem I had just a week ago with another similar tool -- Oracle OSB. We need to generate a random number formatted as GUID, but the last section of GUID must always contain only decimal digits.
Oracle OSB luckely only uses "boxes" for main flow control; the actual computations are done with XQuery, which is a powerful enough language.
How would I attack the task above with Warewolf?
Monday, July 15, 2013
Since everyone is coming down hard on this, I thought I'd offer some encouragement. These sorts of tools are never popular with programmers - often for good reasons - but there have been companies that have succeeded in this space. The first one that pops into my head is Ironspeed (http://ironspeed.com), which has done quite well. Outside of the crud / business app world, there are other genres where visual programming tools dominate, such as measurement and control systems (LabVIEW) and ladder logic / PLC programming. And of course, over the years there have been a number of 4GL tools.
So if you have a vision, have executed it well, and have an existing customer base that is happy with your product, I would not get discouraged by the feedback here.
Having said that, I think you're wasting your time pitching to BoS. 4GL tools have been around for a long time, most with the promise of revolutionizing software development, so your philosophical statements about software development come off as rambling and cliched. But I assume independent software developers are not your target market. You're better off working on your website and getting the word out to your actual market.
+1 to everything Nicholas said
You are never going to produce something that is viable alternative to a Java/C++/PHP etc stack for professional programmers. So don't even try. You'll just end up with something that isn't flexible/scalable enough for programmers and is too complicated for non-programmers.
My suggestion would be:
-work out which narrow niche you can best target
-tweak the product and marketing to appeal to that niche
-try really hard to get some lead customers in that niche
If you are successful you can try to broaden the appeal later.
What would be a good niche to target? I have no idea. Talk to the contacts you have in businesses.
Tuesday, July 16, 2013
BTW you might find it useful to go through this list of 10 questions:
(better late than never!)
Tuesday, July 16, 2013
Hi, I have some suggestions...
about your website:
- put a screenshot on the first page.
- link those vimeo videos (with thumbnails)
- remove that annoying crying wolf from the videos.
about your product:
- market it to professionals looking to automate tasks (not to developers)
- let users create simple (mobile) apps and prototypes
- make it clear what is the target platform of the generated software (web (js)?, android? Windows desktop?)
Néstor Sánchez A.
Tuesday, July 16, 2013
Great feedback Néstor. Thank you.
Wednesday, July 17, 2013
This topic is archived. No further replies will be accepted.Other recent topics
Powered by FogBugz