Hacker News new | past | comments | ask | show | jobs | submit login
Apply HN: Codeflow – A revolutionary programming platform
14 points by murukesh_s on April 12, 2016 | hide | past | favorite | 10 comments
Url: http://codeflow.co/ (There is a demo video)

Codeflow is an attempt at changing the way we program computers.

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/AR & gesture/voice based interfaces of today and so on. But programmers are still stuck with a keyboard, are forced to remember the exact syntax & commands and type things character by character, to perform even basic tasks. The resulting stream of text isn't pretty and doesn't convey well even to a fellow coder.

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 'code' will always looks like your brainstorming diagram.

Think of a modules as a mobile app. The same way you don't read a manual to operate so many mobile apps, you don'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't ever need to learn the syntax or read docs for interfacing with the component.

It wasn'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://tailslife.com, http://plento.co).

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.s. If you are interested in using the platform for your next or current work, please reach out to me - murukesh@codeflow.co.




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


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.


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?


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) :-)


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.


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).


Silly questions:

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


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.


Small market.


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).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: