7 ms·
I am trying to reinvent the web. Replacing HTML/JS/CSS with a language called ALFI. It is stupidly simple in its design but still very powerful. Similarly to H
by jezze 6y ago
I am trying to reinvent the web.
Replacing HTML/JS/CSS with a language called ALFI. It is stupidly simple in its design but still very powerful. Similarly to HTML you use it to create widgets, place them, and define their behavior. It is humanly readable like HTML but line-based instead of markup-based. Instead of nesting it uses references. This allows it to be streamed.
A big difference is that the language itself doesn't allow styling (like CSS), the downside being you get less flexibility but the upside being it will render correctly on any display with any resolution.
For this I have also written a new type of web browser called NAVI which takes ALFI code and produces (somewhat) beautiful widgets and renders them using OpenGL.
Source for both ALFI and NAVI:
https://github.com/jezze/alfi https://github.com/jezze/alfi
My own ALFI website:
http://www.blunder.se/ http://www.blunder.se/
You need NAVI to actually browse blunder.se properly. otherwise you will just see ALFI code. Also this is still very early so all features are not done yet.
- rsify 6y agoMind posting some screenshots?
- jezze 6y agoSure! Just ignore my dwm desktop row on the top. http://www.blunder.se/screenshots/s1.png http://www.blunder.se/screenshots/s1.png http://www.blunder.se/screenshots/s2.png http://www.blunder.se/screenshots/s2.png http://www.blunder.se/screenshots/s3.png http://www.blunder.se/screenshots/s3.png
- drusepth 6y agoI checked out the repo, but didn't have high hopes when there weren't any screenshots in the README. But these look great! You should definitely show them off. Adding them to the repo for others to see might generate the tinest bit more excitement for people stumbling on the project. :)
- Jaxkr 6y agoAre widgets stateful in any way? Could this be used to create more efficient (and constrained) client side apps without JavaScript?
- LordDragonfang 6y ago>ALFI is stateless so a typical use-case would be to have a regular web server serving ALFI queries as responses from regular HTTP requests (like GET, POST, etc). So, no
- jezze 6y agoOne thing does not exclude the other. The sites are stateless like Lorddragonfang already said. This doesn't mean you can't make nice client side apps and you surely don't need to use javascript to do it. What js does is that it allows you to dynamically update the contents of your website like changing an image when you hover over it for example. This is something you can actually do with ALFI by itself without having to depend on a second language like js. I'm glad you asked this question.
- 6510 6y agoget rid of the white background
- LordDragonfang 6y ago>A big difference is that the language itself doesn't allow styling (like CSS), the downside being you get less flexibility but the upside being it will render correctly on any display with any resolution. HTML without styling will render correctly on any display with any resolution. The facts of the history of the web tell us that people want custom styling, though, and businesses want it even more, because marketing says so. Your widgets need styling for each device they're rendered on, in which case you're back to the exact original problem as HTML and CSS. All you've done is move the problem to someplace else. Frankly, I don't see why this isn't a markdown extension, since that seems much better suited to solving your base problem and is WAY more readable than the mess you have currently (which only seems readable to someone versed in high-level programming, either functional or OO)
- tobr 6y ago> The facts of the history of the web tell us that people want custom styling, though, and businesses want it even more, because marketing says so. Wait, what? Are we on different webs? The facts of the history of the web tell us that some of the most popular services for publishing are Facebook, Twitter, LinkedIn, Medium, etc - places that allow for very limited custom styling. I think you misunderstand what OP is trying to do, and are criticizing them for not instead making a thing you already know.
- filleduchaos 6y agoI think it's very, very obvious that "custom styling" here is referring creator styling, not user styling, so I'm not sure that you're in a position to be criticising the person you're responding to for "misunderstanding".
- tobr 6y agoIf I read you right, you’re saying that I’m the one misunderstanding OP? It’s honestly not clear to me what the difference between “user” and “creator” would be in the context of this discussion. Could you elaborate? Since a “creator” is also a user of the web, I guess you mean “user” as in someone who only consumes content? I’m confused by that since nothing in the discussion seems to be about user stylesheets.
- dnautics 6y agojust fyi, something similar called the gemini project as released recently. https://gemini.circumlunar.space/ https://gemini.circumlunar.space/, not saying either one is better or worse, but it might either be an avenue for collaboration or at the very least to get validation that your idea is one that people want!!
- warpech 6y agoFingers crossed for this! I've worked on a similar problem in the past and I dreamed about a solution like this. I guess that alternative or even non-graphical interfaces (like CLI or voice) are possible? If someone else is interested in a less radical version of this topic, maybe you can share some insights here https://news.ycombinator.com/item?id=23737903 https://news.ycombinator.com/item?id=23737903
- jezze 6y agoYou could make a browser that renders ALFI in a text-only mode using say ncurses. When I designed ALFI I always had this in mind.
- spiralganglion 6y agoYou should join the future of coding community. It's full of like-minded people working on similar projects. https://futureofcoding.org https://futureofcoding.org
- dineshdb 6y agoHave you considered developing a WebExtension?
- jezze 6y agoYes but I haven't looked into how much work it would be. I think this might be essential in order to reach a wider audience because I think people want to be able to use the same browser to surf both ALFI and regular websites. Would be awesome for this to work in Firefox and Chrome.