
Apply HN: Codeflow – A revolutionary programming platform - murukesh_s
Url: http:&#x2F;&#x2F;codeflow.co&#x2F; (There is a demo video)<p>Codeflow is an attempt at changing the way we program computers.<p>Most of the current programming languages are inherited from the command-line era of the 1970s. The personal computing industry have moved a lot since. The GUI revolution triggered by the mouse, touch screen interfaces triggered by the iDevices, the VR&#x2F;AR &amp; gesture&#x2F;voice based interfaces of today and so on.  But programmers are still stuck with a keyboard, are forced to remember the exact syntax &amp; commands and type things character by character, to perform even basic tasks. The resulting stream of text isn&#x27;t pretty and doesn&#x27;t convey well even to a fellow coder.<p>In Codeflow, you program by wiring independent modules on a visual canvas. The Input interface of each module is visual and therefore self-documented. We invented a completely visual expression language to connect the pieces together. As a side effect, the &#x27;code&#x27; will always looks like your brainstorming diagram.<p>Think of a modules as a mobile app. The same way you don&#x27;t read a manual to operate so many mobile apps, you don&#x27;t need a manual to figure out the configuration for individual modules, be it querying a mongo db or setting up an http listener. You definitely need an understanding of the concepts of every component, but you don&#x27;t ever need to learn the syntax or read docs for interfacing with the component.<p>It wasn&#x27;t easy, we almost took three years developing it but we believe we have achieved what we dreamed of. Apart from doing several internal projects, we also convinced and worked closely with two startups to launch their backend stack on Codeflow (http:&#x2F;&#x2F;tailslife.com, http:&#x2F;&#x2F;plento.co).<p>Codeflow will be opening for public soon and will be fully open sourced. Please upvote if you think Codeflow should be part of YC.<p>p.s. If you are interested in using the platform for your next or current work, please reach out to me - murukesh@codeflow.co.
======
twa927
Ok, so you seem to understand it's a huge problem to attack and many, many
people tried to do it and viewed it as "the next big thing" in programming
(Wikipedia page [0] lists more than 100 visual languages).

I think a possible way to a success is creating a domain-specific language
tailored for enterprise users. I think it would be extremely hard to win
"real" programmers with a visual language. There's a huge cultural clash of
the traditional programming centered around text (editors, VCS, build systems,
Unix integration etc.) and visual GUI tools that are just from a different
world.

So a tool for visually building a mobile app by a non-programmer from some
pre-built "blocks" \- yes. A general-purpose programming language - not a
chance. Why being forced to use your GUI tool, when the same structure can be
represented in text and thus supported by the multitude tools that are known
for decades?

[0]
[https://en.wikipedia.org/wiki/Visual_programming_language](https://en.wikipedia.org/wiki/Visual_programming_language)

~~~
murukesh_s
I know it's like attacking a huge army :). But if we succeed, it would be a
huge win, for all of us, right?.

I believe pure text-based programming is an overkill in modern programming. We
seldom write complicated algorithms, we mostly do plumbing of pre-written
algorithms. Why should we be stuck with directly editing text for everything,
even down to requiring library to tiniest details? Internally even flows are
also text, but you never need to edit it directly. If you really need to write
complicated algorithms, text editor is always available, like say the terminal
in mac or command prompt in windows world.

It will also work well with modern input interfaces like touch based screens
and even gesture based AR/VR systems. And as a far stretched goal, wouldn't it
be easy for AI bots to assist you with a structured program vs plain text(as
there could be a thousand way you could format text)?. Imagine you will be
telling the computer what to do instead of typing out every detail..

We have put a lot of effort into it and we believe we are one of the best
implementation till now. And we will be making it open source, so we can make
it happen together as a community.

------
tasteup
Nice idea and the demo video looks great. But trying to replace typed syntax
with a drag and drop GUI is going to be an up hill battle if you're trying to
convert existing programmers. And from the demo video, it doesn't look like
something a new programmer could pick up easily. So who is your target
audience?

~~~
murukesh_s
Great question. We understand your concern, as we all know there is a dogma
against drag & drop tools, which we believe is mostly due to the lack of
quality open source implementations. We strongly believe we can change that.
The benefits are many, like much better productivity and improved
collaboration. The cons, if any (like doing diffs without the GUI) can be
debated and worked around.

Though the paradigm as such can have greater benefits when applied to any
place where programming or automation is required (like Robotics, IOT,
Analytics etc), we are targeting general programmers (Web services to begin
with). We didn't want to tie ourselves to a niche as we might lose an
opportunity to make a huge impact. We believe we are really close to achieving
that! (holding my breath as i am typing it).

Codeflow is clearly not intended as a toy language, like MIT Scratch. We have
built some fairly complex web apps on Codeflow and they are running in
production for like 5+ months, and it took us approx. 3-5x less effort to
build them, as compared to in Node.js and was fun. With larger teams we see an
even bigger impact.

If you think about it, it's not just a drag and drop GUI, it's really an
advanced IDE that we are building. We seldom write algorithms anymore, we just
reuse what is written. If you look at Node.js ecosystem, there are more than
200,000 public modules. Almost all of them have their documentation that is
scattered across Readmes, docs and sometimes deep inside the source.
Developers spent most of their time reading and understanding that. If you
count the SaaS/API ecosystem, it might add another 10k. Imagine thousands of
developers across the world going through the pain again and again. If you are
an experienced developer, you might probably copy paste snippets and change
the parameters from existing code. You can think of Codeflow modules as
wrappers around those snippets that expose the API visually.

It will also work well with modern hardware innovations like touch screens and
high resolution graphics, which are not leveraged well by traditional
programming tools. I hope Codeflow, or an idea like it will eventually catch
up with programmers. We are giving our best shot and so far we are very
optimistic about bringing it to mainstream acceptance (fingers crossed) :-)

------
iamgopal
I once had an idea of similar product, CONFIGURATION AS A PROGRAM. All
programs are json file. Each function is a json file. All algorithm as state
machine. Operating System just move a step on each file, a step at a time.
Eventually I could not figure out which direction it should take, of AI or of
OS ?

.....

So, my point being, even if this is a very good idea, your chance of big
success will only come if you can narrow it down to specific use cases instead
of generalise it as a day to day programming. i.e. Android Visual App
Development Platform, or, Cross Platform Data Visualisation Platform with
backend connecting to google analytics etc.

Being Specific is the key here.

------
murukesh_s
Founder here.. Just to reiterate a point - we understand that this is not the
first attempt at making programming more 'visual'. Though visual programming
is pretty popular on the enterprise side, they have failed to get mainstream
acceptance.

Codeflow is heavily influenced by successful application of the paradigm on
enterprise side, especially on ETL/EAI space. We believe entire web
programming is a big integration/ETL use case. You transform data from one
form (Database) to another (Json or html).

------
wturner
Silly questions:

Can I run all my preexisting node projects through this thing and see
everything rendered as little visual blocks ?

~~~
murukesh_s
No, but you can use the Execute Node module to invoke any existing Node.js
code. Also the Engine (run-time system) is published as an NPM module so you
can invoke Codeflow project from within Node.js as well.. That way you can
make a gradual switch from existing Node.js codebase.

------
chris2chris
Small market.

~~~
murukesh_s
Why did you feel it's small? We believe it's a huge market. Software
development industry as a whole is half a trillion market as per a Gartner
report
([http://www.gartner.com/newsroom/id/2696317](http://www.gartner.com/newsroom/id/2696317)).

