add language independence, AI help, and GUI Web services with Intellisense to macros
The macro recorder & editor can be improved on by giving the user the ability to change the macro's programming language, on the fly, while editing. The macro editor should have a built-in language converter.
Before you say it can’t be done, remember that we are at a point where AI is evolving so fast that the “can’t be done” list is evaporating before our very eyes, every day. Also, if Microsoft is indeed ‘Infusing AI Into Every Product and Service’ It Offers:
then why not programming itself?
So back to the improved macro language converter, I would recommend starting with some simple functionality:
This would not be limited to record-time, where if a macro is recorded in Python syntax, it would stay in Python. Rather, the editor will be able to translate from one language to another while editing just by the user selecting a different language from a dropdown.
This will attract more users to use macros, and make it easy to invest their time in learning a language.
It is time to bring back easy visual programming:
The macro editor should support a GUI UserForm editor, where you can drag-and-drop controls onto a form, and easily double-click on them to edit their code, etc., just like in the main MS Office products, Visual Studio, and VB6. Make it easy for the regular user to harness the power of their computer in general.
Make it easy to use Web-based APIs: there should be a simple GUI way to reference a Web API, like VBA currently lets you reference a COM object. You reference the library, and then you can just dim a variable as whatever types the library makes available, and you get Intellisense for all the methods. You would be able to examine the class in the object explorer, etc.
It's 2017, let's get back to making programming EASY again, and empower regular people to automate their tasks! Visual Basic 6 and VBA were a revolutionary step forward with this, but somewhere along the way, mainstream programming languages and tools threw away a lot of the ease of the visual programming aspect. The expectation changed to be that the user should educate themselves, but the truth is that a lot of the best practices and concepts are more complicated than ever. If anything, there is just more out there. Way too much information for a casual user or non-career programmer to have to know, to create working automation as with the VBA macro recorder. The world needs this kind of ease again, badly.
With VB 6 and VBA you didn't have to learn 1000 different frameworks and design patterns and protocols, it was possible to just kind of wing it. As long as you knew some basics of procedural and OO programming, you could reference a library and figure it out with IntelliSense and the object explorer.
With strong AI and machine learning, we should be able to have tools that take this even further to help regular people create tools & applications and automate tasks (and to educate people to design better while they are programming. I think a big push behind all the current user-unfriendly programming methods and complicated design patterns was prompted by all the spaghetti code that novice programmers were producing back in the early days of the Web (Perl, classic ASP, PHP, etc.) and Office. If software developers are reluctant to open the gates to programming to “the uneducated masses”, then make the tools smart enough to help them create better designs, learn better programming and/or unravel the spaghetti already there. Those capabilities are here now with AI (or quickly emerging).
I think the Macro Recorder is one of the best features of Word and Excel - not only does it help to quickly automate tasks, it also helps learn how to program macros. I am baffled by why this feature is not supported in Outlook (and all the Office apps. And even Windows Explorer! It's not like we can't already automate Windows with VBScript, why not make it easier and provide a full-featured editor like Office's VBA editor.)
So in the bigger picture, I think Microsoft ought to include this macro recorder and language translator in ALL their Office and Windows products, and the OS itself (both desktop and mobile).
This will not only make all their products more usable and easy for novices to program (and learn to program), but it will give Microsoft a HUGE edge over their competition at Apple, Google, etc.