Ticket #2143 (closed tweak: obsolete)

Opened 10 years ago

Last modified 8 years ago

mac-dock-processes - Mac application shows too many applications in the dock

Reported by: danvisel Owned by: pap
Priority: major Milestone: M12_RELEASE
Component: SOPHIE_END_PRODUCT Version: 2.0
Keywords: Cc:
Category: unknown Effort:
Importance: 62 Ticket_group:
Estimated Number of Hours: 0 Add Hours to Ticket: 0
Billable?: yes Total Hours: 0
Analysis_owners: danvisel Design_owners: deyan
Imp._owners: pap Test_owners:
Analysis_reviewers: pap Changelog:
Design_reviewers: pap Imp._reviewers: meddle, todor
Test_reviewers: Analysis_score: 4
Design_score: 3 Imp._score: 4
Test_score: 0

Description

This is kind of a complicated problem to describe, but it is a big issue.

  1. Start the Sophie 2.0 Author.app - the Mac download.

Result: an application called "Sophie 2.0 Author" starts up. This application is the console window for the application. After a short delay, this opens a second application - this new application has its own icon in the dock, labeled "org.sophie2.launcher.Main", and a standard Java icon. This is the actual Sophie application, but the application menu bars (in the upper left of the screen) label it "org.sophie2.launcher.Main".

Problems: The user has started one application but sees that there are two applications running. The one with the most recognizable name - "Sophie 2.0 Author" - is actually the console and not very useful to the end user; when the user switches to that application, they don't see what they think they're going to see. Another problem arises when the user tries to quit Sophie - if you quit Sophie from inside the application, you're killing "org.sophie2.launcher.Main" but not "Sophie 2.0 Author".

(A similar issue happens with Sophie 2.0 Reader - if you have both Author & Reader open at the same time, you have four applications open, two of them named "org.sophie2.launcher.Main". Server can only be started from the command line; that starts another version of "org.sophie2.launcher.Main"; that I'm less worried about.)

This is confusing the testers: usually on a Mac when you start an application, only one application opens and it has the same name as the application.

A further problem: with Sophie author, if you go on to do this:

  1. Make a new book.
  2. Insert a browser frame.
  3. Preview the book.

the result is a new application running in the dock, called "browser_embed". The user can't do anything with this "browser_embed" application except quit it. A "browser_embed" application is opened for every browser frame in the book; if you quit Sophie, all of these applications are closed (though sometimes there's an error). If, with the same book, you do this:

  1. Close the preview
  2. Preview the book

A second "browser_embed" application starts running. This happens as many times as you preview the book.

These shouldn't be appearing to the end user. I've attached a screenshot showing what's in my dock after running this - from left to right, there's the icon for Sophie Server's "org.sophie2.launcher.Main", "Sophie 2.0 Author", Author's "org.sophie2.launcher.Main", "browser_embed", and "browser_embed". What I would expect to see is just two icons "Sophie 2.0 Server" and "Sophie 2.0 Author".

Attachments

Screen shot 2009-11-05 at 7.44.06 AM.png (26.5 KB) - added by danvisel 10 years ago.
screenshot of dock showing how many applications are running.
Info.plist (1.5 KB) - added by deyan 10 years ago.
property list for the author application
Info.2.plist (340 bytes) - added by deyan 10 years ago.
property list for the browser_embed application
Archive.zip (93.8 KB) - added by deyan 10 years ago.

Change History

Changed 10 years ago by danvisel

screenshot of dock showing how many applications are running.

comment:1 Changed 10 years ago by danvisel

  • Status changed from new to s1b_analysis_finished
  • Milestone changed from X3 to M12_RELEASE

comment:2 Changed 10 years ago by deyan

  • Importance set to 62
  • Type changed from bug to tweak
  • Summary changed from Mac application shows too many applications in the dock to mac-dock-processed – Mac application shows too many applications in the dock

Batch update from file report_1.csv

comment:3 Changed 10 years ago by deyan

  • Summary changed from mac-dock-processed – Mac application shows too many applications in the dock to mac-dock-processes – Mac application shows too many applications in the dock

comment:4 Changed 10 years ago by deyan

  • Summary changed from mac-dock-processes – Mac application shows too many applications in the dock to mac-dock-processes – Mac application shows too many applications in the dock

Batch update from file 0911261.csv

comment:5 Changed 10 years ago by todor

  • Summary changed from mac-dock-processes – Mac application shows too many applications in the dock to mac-dock-processes - Mac application shows too many applications in the dock

comment:6 Changed 10 years ago by deyan

  • Design_owners set to deyan
  • Status changed from s1b_analysis_finished to s1c_analysis_ok
  • Analysis_score changed from 0 to 4

comment:7 Changed 10 years ago by deyan

  • Owner set to deyan
  • Status changed from s1c_analysis_ok to s2a_design_started

Currently, the Mac application is made by external tool. This in not needed since there is a simple way to deploy the application using mac provided java application stub and special Info.plist files.
The possible keys in the Info.plist are listed here: http://developer.apple.com/mac/library/documentation/General/Reference/InfoPlistKeyReference/Introduction/Introduction.html

The packages should have the following structure
Contents

Info.plist The property list for the current edition
MacOS

Sophie2<edition> Java application stub

Resources

appIcon.icns

Java

author-run
conf
distrib

natives

mac32i

Info.plist The property list for the browser native process

logs
META-INF
modules
org.sophie2.launcher-2.0.jar

Attached are sample plist files for the author and the browser_embed
Note that plist files are XML files.

Changed 10 years ago by deyan

property list for the author application

Changed 10 years ago by deyan

property list for the browser_embed application

Changed 10 years ago by deyan

comment:8 Changed 10 years ago by deyan

  • Status changed from s2a_design_started to s2b_design_finished

Contents

Info.plist The property list for the current edition
MacOS

Sophie2<edition> Java application stub

Resources

appIcon.icns
Java

author-run
conf
distrib

natives

mac32i

Info.plist The property list for the browser native

comment:9 Changed 10 years ago by pap

  • Status changed from s2b_design_finished to s2c_design_ok
  • Design_score changed from 0 to 3
  • Design_reviewers set to pap
  • What is described solves the problems described in the analysis but there is nothing said about how will these be incorporated into sophie build process

comment:10 Changed 10 years ago by pap

  • Owner changed from deyan to pap
  • Status changed from s2c_design_ok to s3a_implementation_started
  • Imp._owners set to pap
  • Taking for implementation.
  • Will change maven assembly descriptors author-mac32i, reader-mac32i, server-mac32i to create the proper structure for the MacOS application bundle
  • The info.plist for the browser will be included in the distrib/natives/mac32i in org.sophie2.base.natlib module. It will be requested from the FileEntryManager by the bridge.

comment:11 Changed 10 years ago by pap

  • Status changed from s3a_implementation_started to s3b_implementation_finished

comment:12 Changed 10 years ago by meddle

  • Status changed from s3b_implementation_finished to s3c_implementation_ok
  • Imp._score changed from 0 to 4
  • Analysis_reviewers set to pap
  • Imp._reviewers set to meddle, todor

Merged to the trunk at [8457].

I built it to check if it works, works... And I don't know why the solution with the browser is bad, can you explain for me...

4p

comment:13 Changed 8 years ago by meddle

  • Status changed from s3c_implementation_ok to closed
  • Resolution set to obsolete

Closing all the tickets before M Y1

Note: See TracTickets for help on using tickets.