It's funny why I did this, after all, it is not difficult to use UI to do the same thing, why?
I think there are a lot of developers who are terminal enthusiasts, the simplest thing is to type a command followed by "enter", for any product, a terminal interface is the easiest entry point.
Is this true? I'll figure out how true this is. What do you think?
The project - https://github.com/varchar-io/visit
As a developer, I think that using the CLI can sometimes, but not always, be easier and faster than the web UI. The major appeal of a CLI, in my opinion, is that it allows integrating your product in automation like shell scripting or a CI/CD pipeline. The CLI probably sits in between the UI and an API.
Yeah, I think you hit the key point. I personally treat CLI as a "shortcut" most of the time.
Think you answered your question in your comments. Web/UI is for end users and CLI is for developers, generally speaking. Sometimes there is a small group of expert users (product analysts for example who are usually proficient in SQL) who sit in the intersection but building Web/UI always has broader appeal.
Totally makes sense!
Terminal Enthusiast - Someone who loiters around an airport.
Yes I think lots of developers like using terminals. I'm not one of them though. I do use it though, but only if I need to really.
The sample image looks interesting. Thank you for sharing! IMHO, I find the most difficult part is to generate the data csv rather than feeding the input to the program. What's your opinion on this?
I am also very curious about another thing: why did you choose to publish a binary executable of your program instead of opening sourcing on github? When I follow a github link, as an engineer, I usually expect to learn from other engineers how interesting projects are implemented rather than downloading a binary executable.
Hi Iven, thanks for your comment! I don’t have opinions on which problem is more in need. I think different people faces different challenges in different stages. I focus on data presentation rather than data processing because I think the last mile to deliver data as a good story is interesting.
Regarding open source, the project link I pasted has all source code as well as released binary with MIT lic in public, so I don’t know if you missed anything or I misunderstood it.
I apologize if I wasn't clear on what I was curious about. The first question was from a purely user perspective. I guess I wanted to know who your target audiences are. How do they generate the input CSVs? My second question is about the context of your project. I understand your source code relies on columns.ai api calls. I am trying to understand whether columns.ai algorithms are open-source and how stable it is. In fact, I've never heard of it and I guess I am just genuinely curious.
Thanks, Iven. Very good questions.
Columns itself is a user experience product run on top of a query engine called Nebula which is open-sourced as well - check it out here https://github.com/varchar-io/nebula
CSV is the simplest source of data to work with, to be honest, I just tried to figure out if a command-line interface is useful at all, if yes, we definitely could extend it to all other source types that we support, such as cloud storage, HTTP, Spreadsheets, SQL DB, data warehouse and Kafka streams, fully compatible with Columns API https://columns.ai/dev
Now back to your first question, it's a $1M question to me, I'm in fact navigating a few different scenarios. Currently, our direct target is non-technical people who want to communicate with data, Columns is a one-stop shop for them to collaboratively do storytelling and sharing.
Not sure if I elaborated it clearly, but really appreciate the conversation with you.
Thank you for the detailed reply! Good luck!