Eve Developer Diary, March — Part 1: UI
incidentalcomplexity.com
incidentalcomplexity.com
A lot has changed even in the ~3 months since the work in this post occurred, so it's not reflective of where we are now. But I'll stick around here to answer any questions relevant to this post or Eve in general.
Edit: I wasn't anticipating this would be on HN today, but it is, so here is part 2 with the rest of the story: http://incidentalcomplexity.com/2016/06/22/mar2/
I doubt that.
Instead of "superset of Excel functionality" I should have said "superset of Excel semantics".
Incidental Complexity is our dev blog, which we've been using to update people about our work. We are developing in the open, so you can see what we're up to on our GitHub: https://github.com/witheve/lueve
[0] https://community.eveonline.com/news/dev-blogs/behind-the-sc...
[1] https://community.eveonline.com/news/dev-blogs/tranquility-t...
Unfortunately, this led to the situation where our platform couldn't progress past our GUI. This might have been okay, except we didn't know what the GUI should look like. We've tried grids, graphs, wikis, madlibs, and everything else. The GUI was kept in a constant state of flux, so our entire platform was.
So we wised up and made a protocol and a text syntax to interface with the Eve server. By loosely coupling the platform and the GUI, we can now progress them at different rates.
To be clear, we don't intend that the language will be exposed to non-programmers through the REPL. However we've always expected that developers will be our first users, and we want to have some tools they're familiar with. At the same time, we are still developing UI concepts for non-programmers, trying to hone in on what works.
But one of the nice things about Eve is that it effortlessly distributes to multiple nodes/users. So yes, we support the case where users are working cooperatively on the same document.
For example, that's the way the REPL works. Let's say my team is making a website about dinosaurs. On my machine, I add a stegosaurus entity to the database with several attributes: discovered, average length, average height, etc.
Now my colleagues have immediate access to this information. If one of them had a query open asking "What dinosaurs are in the system?" then their view would update with stegosaurus immediately.
In turn, I could use her list in another way e.g. to render it in a browser with links to each dinosaur's Wikipedia page.
As of collaboration ... it could be clients/single-server or fleet of apps synchronizing with each other. Gut feeling: later one has greater potential. Can work in standalone and team modes, no?
Imagine a developer and a designer working together on an app. The developer is writing the backend code for the app in the syntax he is comfortable with, and the designer is making the UI in something like Sketch. With Eve, this workflow will blend together seamlessly.
The counter() function you're referring to was implemented in GridEve, which was an experiment on the UI. It was written in C# and used a different (and abandoned) backend. It was a local-only app, so the timer ran on the local machine.
Time in the client/server architecture is something we have to give a little more thought to, since we're still trying to get things working in a timeless world.
But actually, while it's completely useless on a PC, a usable graphical environment is clearly needed for the tablet market, so I don't understand why they are so insistent on pushing the 4GL / application builder approach from the early 90ies.
Actually not much about Access in that. Their stated goal, OTOH, is to make an Excel like tool.
>But actually, while it's completely useless on a PC
Huh? If done right, it will be extremely useful on a PC, the same way Excel is, but as an avenue for far more programmability than Excel.
>so I don't understand why they are so insistent on pushing the 4GL / application builder approach from the early 90ies.
Because that approach is also of the 21st century and onwards.
It's rather us, programmers, who insist on dragging the conventional approach (not to mention crude text-based tools like Emacs and Vim) against the times. Besides the 4GL/application builder space left unexplored, Lisp Machines and Smalltalk environment were more advanced than what we use today in a lot of ways.
You cannot be more programmable than Excel, because VBA is deeply integrated and it already is fully programmable. The question is: how will Eve solve the GUI vs. scripting dichotomy that, in my opinion, is pervasive throughout all "innovative" programming environments.
> Besides the 4GL/application builder space left unexplored, Lisp Machines and Smalltalk environment were more advanced than what we use today in a lot of ways.
I completely agree with this.
Well, Excel itself, just the cells, are already "turing complete" so, in once sense you cannot get "more programmable" than that either.
But I meant that Eve aims to "give better expressive power for programming compared Excel using a same-ish cell model" (so, without VBA required).
Not to be confused with the Space themed excel-simulator that is Eve Online.
I suspect that I'll recall it at 2am tomorrow.
Thanks.
Some are technical, some are not. But the ones around the time of major tech changes are the most interesting. For instance, when they implemented "time dilation" a few years back.
Not played for a year or two, but that's coming off the back of a 10 year eve-habit. It always makes me smile when I see it randomly mentioned on HN and suchlike.
PS. Free Larkonis Trassler.