I've built IDE, now what?
I've built SkyAlt to make my programming better. Now I wanna give it to programmers out there.
Here are possible use-cases for SkyAlt right now:
Learning how to code
There are plenty of platforms already. Repl.it is really hot these days.
Internet of Things
Node-RED has been around for some time and has a big community and eco-system already.
In-house(Internal) tools
This market is huge! There are really good companies: Airtable, Retool, Zapier.
Internet-scale Operation system
There are tens of companies which try to build Internet-scale computer(not OS): Ethereum, Dfinity, NEAR Protocol, etc.. Most of them are in private beta stages. Only a few published their product and I see many unsolved problems. I like this challenge a lot!
The problem which spread through the whole tech industry(and far beyond) is artificial trust, which is "created" by manipulating users and customers by shaping the brand and promising stability and security. You can see it in growing pressure on social networks and app stores. The core problem is that back-ends are black boxes and their owners can change the rules anytime. There is no way how cloud providers and SaaS companies can provide real trust.
That cloud of problems can be solved with blockchain and transparent governance. For example, try to imagine a P2P app store where everything is source-available(or open-source) and rules would be set by the community. No data lock-in and all apps are transparent and run all the time, no matter what. In other words, what we need is mathematical proofs, that we can trust!
My long-term vision for SkyAlt is an Internet-scale Operation system. SkyAlt will be the platform, where you build, debug, test, deploy and update secure decentralized apps as simple as possible. It's one holistic language for front-end and back-end. The difference between internet-scale computer and OS is that the computer is a bottom layer(machine code, assembler, bytecode), compare to OS, which is a place way more accessible to humans.
Many people work on the solution, but there is still a lot of blockchain R&D that needs to be done. It's too early, I can't build DApp platform right now, but can I market it?
Ok, so I need something which attracts developers and is very useful for them today. The important part is that what they build today they will have to be able to re-use it in the future to build DApps(decentralized applications). Luckily, the other use case for SkyAlt is building in-house software and I can see how In-house and DApps use-cases overlap.
The many startups who try to build blockchain computers face the chicken-egg problem. No one knows what the killer DApps are in this new space, so it's not easy to attract developers. In my case, I wanna build a community of developers on the in-house tools market which is huge and predictable already. So today developers can build in-house tools and later they may run that code(or parts) on the internet-scale computer.
Even I'm not making a DApps platform right now, the direction of the in-house tools must be compatible with the long term vision. So SkyAlt has to be open-source(Apache 2.0), unlimited and free. Competition on the in-house tools market must charge their customers, but I'll monetize through the DApps platform, so you can make in-house tools for free and it's gonna stay like that. The source code is under Apache 2.0 without any extra clause, so there is no other way anyway.
Let's see the competition on the in-house tools market. Airtable and Zapier are very easy to use, so their typical user is not a programmer. On another side when they don't support your use-case, you can extend it, but you have to know how to code.
Retool is different. First of all, you can build GUI with drag & drop, but you don't write code in one main editor, instead you write chunks of code into pre-define attributes in panels. From my point of view, this is it's a weakness because code is split across GUI. If it was in one text(file), you can review and understand it quicker.
SkyAlt is different, because everything that you do, you can see as code in a text file, but in more and more situations you can use GUI to generate and shape that code without writing anything. Debugging is also fun. I've started to add new APIs to support this new direction(In-house apps) and I've built 3 demos.
I've already mention Retool. This demo recreates project which you can see on their home page or youtube.
I was really interested in achieving the same result with few lines of code. And If you think about it, what they did in the video are these few steps.
The code is both(back/front-end) in one! I didn't write the whole code. It was created by dragging & dropping, auto-complete, and writing a few expressions aka parameters.
In the background, I run MariaDB, which is connected through ODBC. In the video, you can see step-by-step debugging and how the final app works.
The hardest part of this demo was to create the connecter(guide) which connects to google analytics. This is not in the video. Then It was quick to write REST call, which downloads data, which are then projected into the chart.
You can pick the color, set start & end dates, and change time-step(hourly, daily, etc.).
With this demo, I tried to go low level. It downloads tiles from the OSM server, computes tile's positions on the screen, and draw them. You can set latitude, longitude, and zoom of the camera in edit boxes at the bottom. It also draws map scale at the left-bottom corner and can visualize position with markers. Tile files are cached on disk.
I like the challenge of building Internet-scale OS. But It's too early. On another side with a platform where you can build in-house software, I can control and predict the future much better. This should create a community of developers who will re-use their code for building DApps later.
This is only the beginning. There is so much more and it's coming.
Milan Suk
25th January, 2021