Computers will behave sluggishly, unless care and dedication is paid they don't.
I'd start from a 3D engine, a font layout system, and the huge chunk of simple and efficient open source utility libraries that have sprung up. Or slap it on top of QT if that system can be made to behave non-sluggisly.
One point is, that you need to be able to access the low levels of the system. To understand it's limitations on your higher level architecture, and on the other hand, figure out what can be made blazing fast under which circumstances and use those as your bearings as you are developing the system. With usability, and understanding of end user being on the front seat. The whole time.
The point is, although the system does a great many things, there is no reason from the usability point of view those things are done in serial except legacy and poor design. A system can be made to feel immediate despite what it's doing under the skin. Delay those action, design the system with the user and her time as the first class citizen, rather than some other constraint.
Take a modern complex 3D AAA game. One of the root constraints is that it should never lag. Well, they do, obviously, but that is considered a defect more often than not.
And... Word... would need some deeper fixing on it's basic premises. As I recall I was pretty easy to break the Word 1.0 layout system in any number of ways.
Computers will behave sluggishly, unless care and dedication is paid they don't.
I'd start from a 3D engine, a font layout system, and the huge chunk of simple and efficient open source utility libraries that have sprung up. Or slap it on top of QT if that system can be made to behave non-sluggisly.
One point is, that you need to be able to access the low levels of the system. To understand it's limitations on your higher level architecture, and on the other hand, figure out what can be made blazing fast under which circumstances and use those as your bearings as you are developing the system. With usability, and understanding of end user being on the front seat. The whole time.
The point is, although the system does a great many things, there is no reason from the usability point of view those things are done in serial except legacy and poor design. A system can be made to feel immediate despite what it's doing under the skin. Delay those action, design the system with the user and her time as the first class citizen, rather than some other constraint.
Take a modern complex 3D AAA game. One of the root constraints is that it should never lag. Well, they do, obviously, but that is considered a defect more often than not.
And... Word... would need some deeper fixing on it's basic premises. As I recall I was pretty easy to break the Word 1.0 layout system in any number of ways.