Glad to see an Electron application that finally has a decent, native-looking, unsurprising UI :-).
(Edit: sadly, I'm only half-joking. I was thinking about how fun it would be to extend this so as to bridge the host and the guest via e.g. a socket, so that I could get notifications about UI events inside the machine on the host, which would give me Visual Basic 6's UI builder and all the greatness of a 21st century machine, so that I could finally whip up an UI without yelling profanities at the CSS reference and in less than umpteen hours of tinkering with stuff that clearly just wasn't built for this. Thing is, halfway through, I really began thinking this might make sense a little and that depresses me. /done editing)
That being said, if anyone's curious what else can be achieved in this manner, there's a bunch of nice demos here: https://github.com/copy/v86 .
> give me Visual Basic 6's UI builder and all the greatness of a 21st century machine, so that I could finally whip up an UI without yelling profanities at the CSS reference [...] that clearly just wasn't built for this
Can I interest you in a VB6-y design/code/deploy tool with no CSS or JS? It's all in Python, even in-browser: https://anvil.works
After watching the demo and reminiscing of my beginnings in programming experimentation, I feel like this paradigm will become the de-facto way to produce an app in the future. At least basic CRUD apps which are still tons of standard boilerplate today. I could see this mapping to React(+Native) and generating mobile apps, etc. The future is bright! Great work on this!
Yep :) When you load the uplink library, it makes an HTTPS connection to Anvil from your code, so it can be anywhere as long as it can make outbound requests.
Well, the web still isn't up to the UI ease of programming of the operating system it was started on (NeXTSTEP). With all the standards and work, you would think a VB6 or Interface Builder could actually be built for the web.
I know what you mean, and I've often wondered why this hasn't happened yet. I honestly think that a big reason why this has not yet happened is that most of the young folks who are equipped with the kind of free time and expertise to do it have no idea how easy Visual Basic was. And not just VB6 -- NeXTStep/OpenSTEP, Delphi... They were never exposed to the successes -- and many, many failures -- of the RAD environments of the 1990s.
(I've been toggling bits and writing C for a living for a long time now, I certainly suck at anything web-related).
You look at enthusiastic web developers telling you that Electron is easy if you couple it with React (I think?) or Photon, and I mean, they're sort of right if you're comparing it to GTK (or ohgodohgodohgod MFC). But if you've touched Visual Basic, NeXTStep (or Cocoa, or GNUStep), or even Qt for that matter, it seems anything but easy.
It's illuminating to show someone who's reasonably apt with computers but never wrote much code (save, maybe, for some Excel formulas) how to write the "canonical" currency converter app from the NeXTStep docs. You need to explain pretty much four concepts to get them to grok how things work in Visual Basic: what a form is, what an event is, what an event handler is, and how you get and set data from and to UI elements. You can whip it up together in 30 minutes, tops, and they can do a variation on that topic all by themselves the next day. You need half that time just to explain what CSS is and how to center most things with it, and then you get into the whole renderer process vs. main process thing. Eww.
I suppose the other big reason is that things like branding and recognition are touted as Really Important (TM), so no one really wants to design a tool that helps you build an interface that looks like any other interface (somewhat ironic, considering how uniform and compliant web design is in 2018).
I often lament that the kind of empowerment things like Visual Basic --and before it QBasic, BASICA, and the 8-bit micro BASICs-- brought us pretty much no longer exists in modern computing. Allowing people to easily build their own tools to solve their own problems is a big part of what personal computing is all about as far as I'm concerned, and there's just no effort put into it today.
Even on something like Linux, which you'd think would have a community favorable of the concept, you instead have a bunch of elitists declaring that only professional C greybeards should even be allowed to change the background color.
> I often lament that the kind of empowerment things like Visual Basic --and before it QBasic, BASICA, and the 8-bit micro BASICs-- brought us pretty much no longer exists in modern computing.
But, it does: tools that are superior to these in almost every imaginable dimension (including the ease by which a novice can ramp up if they devote energy to it) are bundled with most desktop/laptop OSs, and, a couple clicks away in the app stores of at least one of the two major mobile platforms.
There is a complete lack of interest in most of the userbase, though.
Bullshit. There is nothing like what VB6 was being shipped with anything today.
PowerShell or Python are about as close as you get to BASIC in terms of things that are shipped with the OS, but they're an order of magnitude or more as complicated and do basically nothing as far as creating GUIs, which really aught to be much much more straightforward in 2018 than it is.
I feel that lament, but I wonder what problems people have now, that aren't more easily solved with an existing desktop program or an app?
(implying that all easily solved problems have been solved many times over, which makes now different from the 1990s. And modern solutions are more complex to reflect more complex computing reality).
Why do people still pipe commandline tools together to do things? Hasn't someone written a program to solve their problem?
There are an infinite number of problems, and being able to construct your own tools to solve them is still enormously useful. It's one of the reasons Excel is still so popular.
> modern solutions are more complex to reflect more complex computing reality
This is a convenient lie developers tell themselves to justify their complexity fetish instead of thinking about how to simplify things.
This is a convenient lie developers tell themselves to justify their complexity fetish instead of thinking about how to simplify things.
VB dates back to 1991, with its last release in 1998. Before popular email, before people wanted high-res photo processing and music file tagging, before people wanted to write their own 3d games, before ordinary people wanted cross-platform tools, when everything was ASCII and that was fine, before people had cloud backups or wanted to cross-post their Wordpress blogs to Twitter, before they wanted to integrate with Philips Hue bulbs or have their code run on an rPI, or integrate with an XML web service or a REST API or download 10GB of mapping data and look for patterns in it.
If you're going to argue that the computing landscape is no different to 20 years ago in complexity, and the tasks people want to do are no different, it's going to be a tough argument.
But if you do argue that, then you have no problem because VB still exists and you can buy it on eBay. If you think nothing's changed, that should be as good a solution as it ever was, right?
Why do people still pipe commandline tools together to do things? Hasn't someone written a program to solve their problem?
Processing 10GB of data is not fundamentally different from processing 1k of data. Copying data, whether to disk or the internet, again is not fundamentally different. Keeping data consistent was the same problem in 1980 as it is today. All that has changed is the scale.
> Do ordinary people do that?
Yet another excuse, imagining that the user is some drooling moron who never uses tools correctly and things must be as crap as they are because we have to cater to them. Linux desktop has been targeting this user for over a decade, where has it gotten them?
Processing 10GB of data is fundamentally different, in the sense that the data you want to process is going to be more complex - many 1kb files, or a pile of structured map data or weather data or something that you aren't going to want to write your own parser for - there are surely more common data formats now than there were decades ago.
Copying data to/from the internet isn't "fundamentally" different, it's normally different. Python requests module, Beautiful Soup, a good XML and JSON library will get you a lot further than plain VB code when working with internet things. It's not only scale which has changed, there's more kinds of things to do, and more existing popular large systems to tie into, and the desire to make use of more existing libraries to build on.
Yet another excuse, imagining that the user is some drooling {disinterested person} who never uses tools correctly
That pretty much is my experience of non-geeks using computers.
things must be as crap as they are because we have to cater to them. Linux desktop has been targeting this user for over a decade, where has it gotten them?
As I said, you claim VB is some pinnacle of computing which we've lost, but it's still there. You also claim that nothing has changed and nothing needs to be different, so I'm still at a loss how you can then say that there's nothing today like VB was for normal people. If VB exists and you think nothing is different .. what's wrong?
(Edit: sadly, I'm only half-joking. I was thinking about how fun it would be to extend this so as to bridge the host and the guest via e.g. a socket, so that I could get notifications about UI events inside the machine on the host, which would give me Visual Basic 6's UI builder and all the greatness of a 21st century machine, so that I could finally whip up an UI without yelling profanities at the CSS reference and in less than umpteen hours of tinkering with stuff that clearly just wasn't built for this. Thing is, halfway through, I really began thinking this might make sense a little and that depresses me. /done editing)
That being said, if anyone's curious what else can be achieved in this manner, there's a bunch of nice demos here: https://github.com/copy/v86 .