Alright guys, when do I get to have this?

So at this point, high-end desktop computers have between 4-24GBs of RAM, and solid state drives are commonplace in 16-64GB capacities, and available even larger for heavy users. Point is, fast, large drives are readily available, and slowly becoming standard.

My question is, at what point can I expect these technologies to allow not only multitasking, but also, as I shall temporarily coin it until a better term comes along, simultasking?

Allow me to explain. I define Simultasking as a computational paradigm that allows a single object in memory to be simultaneously accessed and edited by multiple applications. This means without having to save and reload; I mean actually having two windows side-by side, and being able to edit the same file in both, watching the updates in real-time.

Here’s a practical example. Say I’m working on a model in Blender, and I want to texture it. So I go through all the UV unwrapping shenanigans and I open up the UV texture in GIMP. While I paint it, I can watch, through my other monitor, the exact effect of the paint directly on the model. Not only that, but I can also open up an instance of MyPaint, since I like its brushes a lot more, and paint in there, while still having GIMP open for occasional level adjustment and tweaking with textures. All three windows open on two monitors, all updating at the same time.

Alright, so you all understanding the inner workings of memory management better than me, you’ll probably argue this is impossible. But if you think it is, please don’t bother me with standards of possibility as compared with current standards and conventions. For example, if there’s no way I can perform the aforementioned scenario because, say, Blender and GIMP don’t have support for .ora, or because the decompression methods or editing variables used by each program are different and mutually incompatible, I don’t care, because that has nothing to do with possibility. On the other hand, if there’s an honest-to-goodness reason why this absolutely couldn’t happen, I shall humbly, albeit sadly, accept my mediocre future.

In lieu of such reasons though, seriously guys, how soon can I Simultask?

This is something that computers were able to do for quite some time now (it’s a software feature, so basically, as long as you had multitasking, which is more than 10 years).

Multiple applications can share memory, and can therefore modify common data structures. The more difficult parts are actually related to usual multi-threading issues, where one has to manage what gets written, and when, so that multiple threads (or, processes, in your case) don’t overwrite the latest changes with an outdated copy of the data.

Really, the way to do it, is to create a server process, which will manage data access, apply the necessary changes in the proper order, and then send the latest updates to the applications that need them. These updates can happen as slow as you want, or as fast as the hardware will allow. Also, the client-server design allows for a persistent view between applications on different machines, over the network (if that’s what you want).

This is essentially how you would create the “multiple applications - single data set” view.

It’s a very simplified description, but I think that’s basically how the Verse protocol works.

You can also watch Eskil Steenberg demo it in this video (starts at 13:22): http://vimeo.com/18423305

I checked it out and I haven’t seen any decent support for this since 2009. Is there any way to use Blender with a Verse server in 2.59/2.6?

You’re right; it was more than ten years. The first version of UNIX offered preemptive multitasking in 1969.

Of course, if you’re only talking about personal computers, it was 1985 on the Commodore Amiga.

Just in case you were curious. :slight_smile:

-Ron T.

I don’t know.

But, I think I answered your original question: This is already possible, and was for a while.

Definitely curious. :slight_smile:

And yea, I was thinking about personal computers.

Thanks.