Internet Explorer is dead (June 15, 2022)
Summary
There are two main ways SuperMemo is dependent on Internet Explorer:
- rendering and editing HTML (WYSIWYG)
- import of pages, pictures, videos, etc.
Dependence in rendering and editing HTML does not affect the user in any other way but hosting all bugs and problems that are still part of mshtml, and will possibly never be remedied. Most of those problems have easy workarounds and are not a big deal for the user.
Import from Internet Explorer is optional. The same operations can be accomplished with copy&paste from any browser. Imports from other browsers would be welcome but are currently not available.
The unit that encapsulates mshtml code has been released years ago as open source, however, no code has ever been submitted as a suggestion to improve SuperMemo. That code is more likely to benefit developers who would like to use Internet Explorer in their own projects.
SuperMemo 19 will focus on better support for other browsers (esp. Edge and Chrome)
Suggestions
- Make it less Windows-dependant, especially regarding the HTML engine. I would suggest to implement Gecko, which is Open Source and less prone to the sometimes bizarre behavior of the buggy IExplorer engine. I am getting a dll error at least one time out of five, no matter if I reinstall Windows or even if I change machine. It is a non-destructive error, but it is SO annoying. Plus, implementing an internal HTML engine would make possible to customize the engine to further enhance SuperMemo capabilities and porting to other platforms (MacOSx..) would be easier.
- I am also using Firefox, but I suggest supermemo continues to stick to IE unless supermemo is REALLY interested in migrating to other platforms. After all, IE is installed in EVERY Windows based PC, not so for firefox. If IE is as buggy as you said, download IE 7 and use IE only for supermemo (which is what I am doing). Users simply hate seeing "to use supermemo please go to bla bla website and download a multi-megabyte file" I guarantee if that happens, supermemo would lose lots of potential users.
==> By implementing a custom INTERNAL engine, as I said, there would be no need to download additional components. That's the point, no dependence on external stuff. And the number of potential users would increase, by including the non-Windows users.
- IE might be installed on most computers, but I refuse to use it. Which means I can't use supermemo efficiently. Seems ridiculous to me. Why force people to use IE? It's much too prone to virus/adware attacks, is much more difficult to use than firefox and is clunkier to use.
- Agree. I don't use Internet Explorer and I think that SuperMemo relies definitely too much on it. I was hoping that the 2006 version would be more flexible, but I was wrong. I can't use the Wikipedia import functionality because my default browser is Firefox!
Problems
- mshtml is currently the best documented and most reliable HTML control; implementing a shell for a single HTML control is prohibitively expensive and will inevitably result in a volley of bugs and complaints while individual components are not succifienty open, documented or not sufficently supported (e.g. as with Mozilla ActiveX Control)
- Internet Explorer 7 (beta) does not reduce some of mshtml errors produced at click or at paste. It does not seem to improve editing interface much either. It seems most of the work went into improving the interface and auxiliary functionality, not MSHTML/DOM
Ideas
- As SuperMemo's interface to Internet Explorer is open source, anyone can attempt to port it to work with other HTML controls to see the feasability of his or her own idea. Once such a port is made, the whole HTML support might be delegated to a DLL so that no recompile was needed except for the DLL itself.
- Since this comment was made 12 years ago in 2006, may I ask whether it is still the case that the interface to Internet Explorer is open source?
- What about the Mozilla ActiveX control? I believe it's made to be compatable with mshtml.
- Both Firefox and Chrome have addons that let users open an instance of IE directly in their FF/Chrome browser without opening up IE. Examples are IE View/IE Tab. That way, when you are browsing in FF/Chrome and see something you want to import to Supermemo, you can just use these extensions without going through the pains of opening up the full IE browser. Maybe make Supermemo able to read those instances of IE somehow. I tried it before, but the current Supermemo only seems to read the sites if it's opened in the actual IE browser, which was a bit of a hassle.
- Why not write the program so that one could be browsing the web, then right click, and have all the options of Supermemo come up in the right click menu bar? This would seem to save a lot of time copying and pasting into super memo. You could just pick out individual sentences right away.
TEdgeBrowser
"What's new in Delphi 10.4" says the following:
Edge Browser Control
- 10.4 includes a new VCL web browser component, TEdgeBrowser, that uses Microsoft's new Edge WebView2 based on Chromium. This offers a much more modern HTML engine and a secure one, compared to the old TWebBrowser based on Internet Explorer.
- the classic TWebBrowser component has been extended, allowing browser controls in an existing application to use either the existing Internet Explorer or Edge browsers for display, depending which browser is available on the system
Comment
If switching rendering engine to EdgeHTML becomes feasible, with the ongoing effort to bring MathML support to Chromium it would become, in the near future, a viable support alternative for regular mathematical rendering–i.e. what users often suggest in the form of LaTeX support without reliance on web scripting of any kind. MathML is already supported by office software (e.g. LibreOffice), encyclopedias such as Wikipedia, and popular scripting solutions such as MathJax can translate between LaTeX and MathML markup for static rendering into other programs. MathML aims to be interoperable with CSS, which would also bring benefits in the building of HTML components embedding MathML (e.g. easier occlusion of formulae via CSS).
It would, on the other hand, introduce interesting challenges for existing collections, where expected rendering of markup created by SuperMemo relies on a combination of Internet Explorer quirks and Compatibility mode (e.g. references don't render properly in IE Standards mode–cited only as an example, as references rather seem to be composed into the HTML at run time, and not a proper part of elements since long ago).
Internet Explorer is dead
As of June 15, 2022, the IE is "dead". However, its death is low, and imports still work. It is the functionally of individual sites that dies slowly.
As of June 17, 2022, we did not have any reports on the "death" of IE from the point of view of SuperMemo.
Limiting/eliminating dependence is one of the strategic goals for SuperMemo 19, however, SuperMemo 18 did not change in its usefulness on June 15.
See also
- Using SuperMemo with other Internet browsers
- Does the Import web pages feature work with other browsers than Internet Explorer?
- Can SuperMemo work without Internet Explorer?
- A possible method for importing from Firefox and other browsers
- Buying SuperMemo in other browsers than Internet Explorer
- Add COM Components to enable scripting to automate importing from any web browser
- New Spartan browser vs. SuperMemo's dependency on Internet Explorer