Single Icon for multiple VM running in Mac OS

Discussion in 'Feature Suggestions' started by rjgebis, Jun 1, 2006.

  1. rjgebis

    rjgebis Hunter

    Messages:
    186
    Guys

    Could you fix this so when running multiple VM at the same time you get all VM's listed under single icon in the Dock? Right now (RC1 and RC2 ) I have multiple Icons in Dock when running multiple VM. This is low prio but please fix this before GA. Good Example of this if you have multiple Finders running you have them all listed under single Finder icon in the Dock.
     
  2. luz

    luz Member

    Messages:
    87
    I suggest the opposite - multiple DIFFERENT icons!

    I do not agree - please DON'T gather the VMs under one icon (most probably, this is difficult anyway, because these are separate processes, not like multiple Finder windows).

    But my point is: With a dock icon per VM I can use Cmd-Tab to switch between VMs.

    The icons look identical now, so my suggestion is that they had the VM name instead of just "Parallels". Coolest possible solution: a miniature of the VM screen as icon, with a small Parallels Icon in a corner :) :)
     
  3. toddrubi

    toddrubi Bit poster

    Messages:
    2
    I agree with luz - Multiple Icons

    :D -- Single icon won't work for multiple guest OSes. I am testing Win 2000 Pro & XP. It is a pain not knowing which icon is what OS, and would even be harder if only one Icon showed. I like the idea of having an OS icon with a tiny Parallels icon in the upper corner. Gr8 suggestion.
     
  4. gnujon

    gnujon Junior Member

    Messages:
    18
    Multiple dock icons for a single app == a broken implementation

    :eek: Ummm.... guys, just how many Mac OS X applications do you know of that create multiple icons in the dock?

    Seriously, no application should be doing this, it just isn't how Mac OS X apps are meant to work.

    Try opening up a few Parallels VMs, and then right click on each of the identical dock icons that get created. You'll notice that in each of the contextual menus you'll get a list of all the open windows for that dock icon. And guess what? The list of windows for each of the Parallels dock icons will only ever consist of a grand total of one window. That's because for each new VM you open, a whole new instance of the application is being started. If you want to run a number of virtual machines, then you end up with many identical icons all with the same name clogging up your dock.

    This is a broken implementation of a Mac OS X app. It completely breaks the consistency of the environment. To switch between apps you either use cmd+tab or select the application in the dock. Once you've selected an application, you cycle through its windows by using the cmd-` key combination, select windows from the application's 'window' menu, or right click on the application's one and only dock icon to select from its list of windows in the contextual menu. This is meant to be consistent for all applications.

    Imagine what it would be like if every application created a new icon in the dock for each of its windows!

    Parallels have a great application here, but this flaw really spoils the Mac OS X port. :(
     
  5. macgebruiker

    macgebruiker Hunter

    Messages:
    118
    I agree that 1 icon for many VM's is the best but that said!

    I have a 2 Ghz iMac and found out that it is possible to run 2 VM's however the moment a 3rd is started the system is clearly overloaded meaning even a double click on a folder takes ages.

    So the practibility seems to be limited to 2 (at least here) and that's not too many icons.
     
  6. gnujon

    gnujon Junior Member

    Messages:
    18
    Sigh

    Two icons is still one icon too many. Honestly, it's laughable anyone would implement an app in this way.

    I'm very disappointed that this wasn't fixed before the final release. When I looked at the first couple of betas and saw it was doing this, I thought for sure it would just be a temporary hack. :(
     
  7. luz

    luz Member

    Messages:
    87
    Each VM is an application, not a document!

    How many Mac OS X applications do you know that manage multiple entirely different working environments?

    IMHO, grouping documents under a single "Application" makes sense whererver the application represents the toolset to get something done, and the documents represent the workpieces to work on. This is the case for most Mac OS X applications as we know them.

    But it is not the case for Parallels.

    Parallels alone is nothing - it becomes an "Application" only together with a Guest OS. And it becomes entirely different applications, depending on what guest is used with it.

    I perceive my Win XP VM as a completely different "Application" than my Sarge Linux VM. I want to switch between them with Cmd-Tab or clicking in the dock, quit either of them without thinking of the other. I would like to have them behave as much as two applications.

    In fact, that's how Parallels works on the technical level - each VM is a separate Mac OS X process - that's why it gets two dock icons automatically.

    So I still vote for making this fact (of one App per VM) even more apparent, by giving them different icons. Ideally, I'd like a real dock item for each of my VMs (running or not), which I can click to start my XP, Linux, whatever.

    Parallels is not exactly an application, it's more an application wrapper. Like the Java VM (you don't see all Java apps under a single "Java" application dock item!) or the Mac OS X print monitor (each printer looks like a separate application).
     
  8. gnujon

    gnujon Junior Member

    Messages:
    18
    Each VM is a document, not an application!

    But each VM is a document. Everything is a document. And in Mac OS X every application is the equivalent of an MDI application in Windows (MDI = Multiple Document Interface). The dock and the menu bar reflect this fact. The only exception to this is with applications that only ever need to open one window, for example 'System Preferences.app'.

    Actually quite a few. How about the Commodore 64 Emulator Power64? (http://www.infinite-loop.at/Power64/index.html), or how about Chicken of the VNC? (http://cotvnc.sourceforge.net/). Power64 is C64 emulator so I think you'd have to agree that it fits your definition of 'multiple entirely different working environments', each window is basically a C64 virtual machine. Chicken of the VNC is a VNC client, people frequently use this to connect to 'multiple entirely different working environments' such as Windows and Linux boxes for example. The user interaction there is pretty much identical as it is with desktop virtual machines.

    Try the above apps out and count the icons that appear in the dock. Observe how the menu options interact with the currently active window. Now tell me, if those guys can get it right, then why can't Parallels?

    I also access 'multiple entirely different working environments' using Terminal.app all the time. If I launch Terminal.app and open three terminal windows and ssh to three other computers (say for example: an HP-UX box at work, my Linux box, and my Mac Mini). Don't I then have 'multiple entirely different working environments'? But I don't have multiple Terminal icons in dock.

    Correct, and that includes Parallels. Parallels.app is (or rather it should be) a tool to manage the user's Parallels virtual machines, it should be for spawning, interacting with, and terminating, multiple Parallels VM processes (the 'workpieces'). In your own words it should 'manage multiple entirely different working environments', but in it's current form it doesn't do this at all. It's a program that implements a single virtual machine, and gives you the option to load another instance of itself. This is literally what it's doing, if you don't believe me, try this with Parallel's already running:

    Launch Terminal.app, or if it's already open you might like to open another terminal window (note that you don't get another Terminal icon in the dock ;) ). CD into the Parallels.app bundle:


    $ cd /Applications/Parallels/Parallels.app/Contents/MacOS


    Now execute the binary you find in there:


    $ ./Parallels &


    Now watch what happens. You get another virtual machine opening up just the same way you would if you had selected 'New Window...' from the File menu. The Parallels.app isn't opening a new window at all, it doing exactly what you just did from the Terminal. It's doesn't manage the virtual machines at all, it just 'clones' itself. This isn't meant to happen, if it was you would be able to launch app bundles from the Finder multiple times yourself, but you can't. Try it, double click Terminal.app again. All that will happen is that the Terminal.app you've already launched will gain the focus and become the active application. You need to select 'New Shell' from the file menu to get another window.

    But guess what?, try entering this in a Terminal window and see what happens:


    $ cd /Applications/Utilities/Terminal.app/Contents/MacOS
    $ ./Terminal &


    You'll now have two Terminal icons in your dock. So, why doesn't this happen when you open a new shell from within Terminal.app? It's because Terminal.app manages its processes like it's supposed to, like any Mac OS X app is supposed to.

    When I say 'Application' I'm simply talking about any Mac OS X app bundle that you can double-click on in the Finder to launch, not some abstract definition of what an application is, or anything else.

    If they should behave like that then they should each have different application names. They can't both be called 'Parallels', that's completely nonsensical, it's a joke. If you select 'Quit Parallels', then that should kill all your Parallels virtual machines.

    I'm sorry but you're wrong there. (See my explanation of what's actually happening above). Each dock icon doesn't have to represent a single OS process. Using the Terminal.app as an example again, new processes are started whenever you open a new shell window, and all are managed by a single instance of Terminal.app with a single icon in the dock.

    This would be a slight improvement over the current situation, but it would only work if the application name (on the left side of menu bar) was no longer Parallels, but the name of the user's VM. Basically every VM you create would need to have it's own app bundle I think.

    Wrapper eh? Well... if every VM created with Parallels had it's own app bundle, then it would be sort of like that. Maybe Parallels.app could be replaced with a ParallelsGenerator.app which could spit out app bundles for the user containing their VMs? For example: MyLinuxVM.app, MyWindowsVM.app etc, each with it's own app name and icon. That might keep us both happy, I'm not sure they would want to go down that route though. Anyway, the way the the application is at the moment definitely sucks.
     
  9. gnujon

    gnujon Junior Member

    Messages:
    18
    Each VM is a document, not an application!

    Java apps? You mean Java Cocoa apps? Well, each is a Cocoa application in it's own right, so each should have a separate dock icon. The Java VM is something that's integrated into the OS though, so you can't really compare it to any third party applications (that would be comparing apples and oranges).

    Hey did you know Apple are getting rid of the Java Cocoa bridge? I don't know why anyone would want to write Cocoa apps in Java anyway though, pretty pointless running bytecode in a VM when your app can only ever run on one platform anyway. A bit like .Net I guess ;)

    But that's fine, because each has the name of the printer as its application name. They aren't all called 'Printer' or something.
     
  10. luz

    luz Member

    Messages:
    87
    For everyday use I don't care if it is integrated into the OS (Java VM, Rosetta) or not (Parallels VM).

    I don't compare Java and Parallels technically, but for the end user it's pretty much the same: some machinery that lets me run something that does not run natively on my Mac. And in the Dock I want to see the "Something", and not the wrapper.

    EXACTLY what I'm saying all the time. I want to see a "Windows XP" item (name and icon) and a "Debian Linux" in my Dock. Or a minimized screen shot. The Parallels Icon could be a small overlay in one corner.
    OF COURSE I don't like those multiple indistinguishable "Parallels" dock items we have now. But IMHO the solution is not unifying them into one, but separate them into clearly distinguishable "apps".
     
  11. John Stalberg

    John Stalberg Bit poster

    Messages:
    3
    This could even be an option when creating new VM's. -Use a descriptive icon for the VM that correspond to the guest OS?
     
  12. tgrogan

    tgrogan Pro

    Messages:
    255
    This has to be an OSX limitation, not a Parallels problem. I run 3-5 instances of Parallels running different OSs on a 2 Ghz AMD with no problems, but some switching slowdown. Maybe you need to adjust the amount of ram allocated to each instance - or - maybe you don't have enough ram to run them in the first place. You didn't state what your configuration is so it is impossible to tell what your problem is.
     
  13. luz

    luz Member

    Messages:
    87
    Great! Thanks Parallels for adding OS logos to the dock icons!

    Exactly what I hoped for!

    For those who haven't noticed yet: Build 1940 now has doc icons including a little logo of the operating system the VM is running. So when running an XP and a Linux VM at the same time there are now two clearly distinguishable icons in the dock (and the Apple-TAB app switcher).

    Great! Thanks Parallels for that. It's a significant usability improvement for me. :)

    Just in case you run out of ideas in long winter nights ;) : Offering a selection of more logos or a way to include a custom OS logo would make this even better. For daily work I'm perfectly happy (I have a XP and a Linux running). But when testing things I have more than only one Win or Linux running, and then again the question arises: which flag or penguin is which?
     
  14. parallelmenot

    parallelmenot Bit poster

    Messages:
    4
    I think that all VMs should be under a single dock icon, because it's how everything else on Mac OS X works. It doesn't matter that VMs run in separate processes right now - that's just a technical detail that can be easily worked around.

    A big disadvantage of having separate icons is that Application Expose doesn't work as it should. Right now, you can't click on Parallels in the dock, and hit F10, to see all of the VMs side by side, as you can with other multi-window programs.

    I can tell that a lot of the posters in this thread are recent switchers who want OSX to behave more like Windows, but that just isn't the right thing to do. Perhaps this can be made into an optional feature? I think single-icon should be the default, though.
     
  15. joem

    joem Forum Maven

    Messages:
    1,247
    The problem with the one icon approach is that multiple VMs, while some users may conceptualize them as multiple windows, are actually multiple programs, so actually, to follow the Mac convention, multiple icons are appropriate. Every time you start Parallels, it's another copy of the program, not another window.

    Even coherence mode is just smoke and mirrors. We're dealing with multiple operating systems here and thinking needs to be different (think different, right). As I've said before, many times, Windows is not Mac. Wrap your minds around it.
     
  16. parallelmenot

    parallelmenot Bit poster

    Messages:
    4
    I suppose that the wishlist item would then have to be, "I'd like to be able to run all of my VMs under a single process". But this is really still the same wish - that technical limitations require Parallels to start a new process for every VM is just an implementation detail. Every time you start another VM, it's still one application: Parallels. Only the developer team cares that it's another process.

    I think we actually need smoke and mirrors to make Parallels behave more like a Mac app.
     
  17. joem

    joem Forum Maven

    Messages:
    1,247
    I don't see it as just a detail. I like the way it works now. Each VM is a separate program. It could be several Windows versions, Windows and Linux, or something else. Putting them all under one icon makes as much sense to me as putting Excel and Word under one icon because they are both part of MS Office.

    We clearly disagree on how we would like it to work. I hope if the everything under one icon is made available, it's an option since you like it and I don't.

    I guess you're viewing Parallels as the app, and I'm viewing the VM as the app.
     
  18. parallelmenot

    parallelmenot Bit poster

    Messages:
    4
    If you were using a remote desktop or VNC client, would you want each computer you connected to to have a distinct dock icon? I think you necessarily would, because you want Parallels to do so for every VM, and the only difference between a Remote Desktop client and Parallels is where the computer you're connecting to is physically located. But if you look at every the Mac Remote Desktop and VNC clients (Chicken of the VNC, RealVNC Enterprise, CoRD), you would see that every one of them uses only a single dock icon for multiple connections.

    So let's talk about SSH clients. If you would want a VNC client to use a new dock icon for every computer it connects to, you must want the same for an SSH client, because the only difference is that an SSH client only has a text-based display. But again, all of the Mac SSH clients use one dock icon / multiple windows. This is how things are done on OSX.

    So let's talk about your Application/Program distinction in the context of Safari. You say that the distinction between Application and Program merits new dock icons for a "Program", but not necessarily an "Application". Then you must agree that Safari should make a new dock icon for GMail, Writely, and every other web-based program, because they are distinct programs that just happen to be running under Safari, much like Windows and GNU/Linux are distinct programs running under Parallels.

    So if we follow your logic to the end, we don't have the Mac OS X dock at all. We have the Windows taskbar.
     
  19. joem

    joem Forum Maven

    Messages:
    1,247
    I think we should just agree to disagree here. I like the separate icons and you don't. That's what makes horseraces, right?

    I use Windows and Mac pretty much interchangeably, and like the dock and the windows task bar both just fine. I just stated what makes sense to me, and if you like something different, fine. You might not like my taste in movies, music, furniture, wall decorations, women or anything else either, nor I yours. That just makes us different people. No big deal as far as I'm concerned.
     
  20. parallelmenot

    parallelmenot Bit poster

    Messages:
    4
    This isn't a sport, joem. This is design policy critical to the foundation of OS X, and it's how we've done things since the NeXT days. But it's fair enough that you prefer every application's windows you have open to have separate dock items -- it was a very reasonable design decision for Microsoft to make in Windows 95.

    But it doesn't work on Mac OS X, and I want you to recognize this, rather than resorting to the inane cop-out phrase "Let's agree to disagree". So please, to prevent this conversation from becoming faith-based and juvenile (human interface design is a science), try this experiment.

    1) Load up two separate Parallels VMs
    2) Right click on each of them, and select "Keep in Dock"
    3) Right click on each of the, and select "Quit"

    Now, you have two identical Parallels dock items. Neither has any relation to the VM from which it originated. Click on the first one. It asks you to select a VM. Click on the second one. It asks you to select a VM.

    What are these dock items? They're just pointing to Parallels. They're not pointing to your VM. If your Parallels VMs were actually separate programs, then surely their dock items should be referring to the VM, not to Parallels.

    I think the worst thing about this, joem, is that you're defending something that's a workaround, rather than a properly designed part of the user interface. The reason that there is a dock item for every VM is that the Parallels virtualization core isn't thread-safe, so they have to resort to starting a new process for every VM. Without a bit of "smoke and mirrors" (I stress that it IS doable) they can't make them appear as a single dock item under Cocoa.
     

Share This Page