Multiple users editing the same prototype

Justinmind allows multiple users to work on the same prototypes at the same time, in order to improve teamwork and enhance collaborative prototyping. These prototypes are referred to as shared prototypes in Justinmind.

Team prototyping explained

A shared prototype will let you work on your designs as a team. It’s the best way to save time and increase productivity when handling large prototypes.

A prototype’s editing permissions can be managed from the Justinmind interface, so the prototype’s owner will always have control over who’s editing the prototype at any given time.

With this feature, you can also keep track of your prototype’s history. Every prototype’s change uploaded to the server will be stored, allowing you to restore your prototype’s state at a moment in time whenever you need it.

To start sharing your prototypes, you’ll need a Justinmind online account. This will give you access to the platform that stores all of your shared prototypes, as well as their revisions.

You’ll need internet access to connect your online account and perform sharing operations. However, you can work offline on a shared prototype and save the changes once your connection has been restored.

There are a few concepts you need to be familiar with in order to get started with shared prototypes:

Key concepts

Shared prototype – a prototype that has been uploaded to a Justinmind online account and is ready to be edited by multiple users. Each shared prototype has a list of users who have permission to edit it.

Prototype owner – the user who has uploaded and shared a prototype to their online account. As well as being able to edit this prototype, they can also:

  • Invite users to edit their shared prototypes
  • Remove a user’s access to their shared prototypes
  • Rename their shared prototypes
  • Delete their shared prototype from the Justinmind server

The owner of a prototype can be changed by the owner of the account in their online account.

Prototype users – users who have an online account and can edit a shared prototype. They will be invited to edit a prototype by the prototype’s owner.

Operations for a shared prototype

These are the operations you can perform with shared prototypes from Justinmind’s User Interface module:

Operations from the File menu

From the File main menu option, you can perform the following operations:

New Shared Prototype – click to create a new shared prototype from scratch.

new shared prototype

Open shared prototype – click to open a shared prototype, selected from a list of shared prototypes you have access to.

open shared prototype

Operations from the Teamwork menu

From the Teamwork main menu option, you can perform the following operations:

Open shared prototype – click to open a shared prototype, selected from a list of shared prototypes you have access to.

If you want to work on a shared prototype, (whether you are the prototype’s owner or you have been given access to it by another user), you first need to open it.

teamwork open shared prototype

Once you’ve selected “Open shared prototype”, the following dialog will appear:

open shared prototype dialog

  1. Select a prototype to open from the list on the left-hand side of the dialog.
    • If you read “(Local copy)” next to a prototype’s name, this means that the prototype has already been opened by another user and may contain local changes. It also means that you can work offline with it.
  2. Once selected, you’ll find a description of the prototype (name, number of revisions, version of Justinmind it was created with, the account owner and the prototype owner) on the right-hand side of the dialog.
    • If you are the prototype’s owner, or the Justinmind account owner of the account where this shared prototype has been placed, you will also find the following buttons:
    • Manage users – click to manage the users who have access to the shared prototype
    • View history – click to view the version history of the shared prototype
    • Learn more about this here.
    • When you’ve selected the prototype you want to open, click “OK”.

Share prototype – click to share the current prototype with other prototyping users.

share prototype

When the “Share” option is selected, a dialog will appear. It will prompt you to choose an account to place the prototype into (if you have access to more than one Justinmind account). You will also be required to enter a name for the new shared prototype.

share dialog

Select the relevant account and click “Share”.

Another dialog screen will appear, prompting you to invite users to edit your shared prototype.

To invite users to edit your shared prototype, click the ‘+’ icon. In the dialog that appears, keep the first radio button selected to invite a user currently associated to your online account, or select the second radio button to invite a new user. You’ll need to fill in their email, first and last names, and role (regular user or developer). Then, click “OK” twice. See more on adding/removing users below.

edit shared prototype

Invited users will receive activation and invitation emails at the email address entered in this dialog.

Manage shared prototypes – click to be taken to your online account, where you can change the properties of your shared prototypes.

manage shared prototype

Add/Remove users – click here to modify which users can edit the shared prototype.

add remove users

This operation will let you add users so that they can edit the shared prototype, or remove their access. This operation is only available to the prototype’s owner, or the owner of the associated account.

Once you’ve selected “Add/Remove users”, the following dialog will appear:

add remove users dialog

  1. Here you’ll find a list of users who can edit the prototype
  2. Click to add a user
  3. Click to remove the selected user’s access to your shared prototype.
    • Note that removing a user from this list will lead to the loss of all their local changes in relation to the prototype.

Adding a new prototyping user

In the dialog that appears, keep the first radio button selected to add a user currently associated to your online account, or select the second radio button to add a new prototyping user.

You’ll need to fill in their email, first and last names, and role (regular user or developer). Once you’ve added all the users you wish to grant access to, click “OK” twice.

adding new user

These users will receive activation and invitation emails at the email address entered in this dialog.

View locked elements – click to display the shared prototype’s locked screens, templates, masters, data masters, variables or comments, and display which user has locked them.

locked elements

Once clicked, the following dialog will appear:

locked elements dialog

Learn more about locked elements here.

Commit all – click to upload all local changes made to the shared prototype to the server.

commit all

In the dialog that appears, you’ll find:

commit all dialog

  1. The change (modify, delete or add) made to a prototype’s component
  2. To which type of component the change has been made (e.g. template, screen, data master)
  3. The name of the component
  4. A comments box in which you can leave a comment related to the change made

Click “Ok” update all local changes.

Update all – click to upload all changes made by other users to the shared prototype.

update all

In the dialog that appears, you’ll find:

update all dialog

  1. The revision number (each time a user hits “Commit” when working on a shared prototype, they create a new revision)
  2. The date and time of the revision
  3. The name of the user who made the changes
  4. Any comments included
  5. A list of all the changes applied in this revision

Discard all changes – click to discard all local changes.

discard all changes

Discarding local changes means ignoring all changes made after the last commit. You can always discard local changes you’ve made to a shared prototype – the prototype will be reverted back to the state prior to the most recent commit.

Unlock all – click to unlock all locked components.

unlock all

Show history – click to display the prototype’s commit history. Here you’ll find all revisions and be able to create new prototypes from them.

show history

In the dialog that appears, you’ll find:

show history dialog

  1. The revision number
  2. The date and time of the revision
  3. The name of the user who made the changes
  4. Any comments included
  5. A list of all the changes applied in this revision
  6. New prototype from revision – click to create a new prototype from a previous revision of the currently shared prototype. The new prototype will not be a shared prototype, and will not record revisions automatically.

Close prototype – click to close the currently shared prototype. You will be prompted to unlock the UI elements you currently have locked before closing the prototype, and asked if you want commit your changes to the server.

close prototype

Contextual menu for UI elements in shared prototypes

When working on a shared prototype, components are locked by users so that they can be edited, without having changes overwritten by other users. Lockable components include screens, templates, masters, data masters, variables and comments. To lock a specific UI element, its container component (e.g. screen or template) will need to be locked.

Every lockable component can be locked/unlocked from its contextual menu. The contextual menu includes the following operations for shared prototypes:

contextual menu ui elements

  • Commit – click to upload the local changes of the selected component, and its dependents (if there are any).
    • Dependent elements will be shown in a dialog before the commit operation is performed.
  • Discard changes – click to discard the local changes made to the selected component.
  • Lock/Unlock – click to lock or unlock the selected component.
    • The locked/unlocked status of a component is indicated with a locked/unlocked padlock icon on the left of the component:

contextual-menu-piruletas.png-1

Lock

There are two ways to lock a prototype’s UI element:

You can simply click on the UI element as if to edit it. If someone else is also working on this prototype, a dialog will appear prompting you to lock the element:

lock

Select the “Lock automatically” checkbox to have elements you select lock automatically when working with shared prototypes. This setting can be enabled or disabled in “Preferences”.

Another way to lock an element is through the contextual menu of the container component. Right click on the container component (e.g. screen or template) and from the contextual menu that appears, select the “Lock” option.

lock-option-1

Unlock

To unlock an element, right click on the container component and select the “Unlock” option.

unlock-1

If the element you are unlocking has local changes you haven’t yet committed, you will be prompted to either commit or discard them. Click “Commit all” to commit them or “Cancel” to discard them.

commit unlock

Once edited and saved, we recommend that you unlock elements so other users can edit them too.

For more information on ‘Commit’ and ‘Discard’ operations, click here.

Note: you can only unlock UI elements that are currently locked by you.

If you are the owner of a shared prototype, you also have the power to unlock elements someone else has locked. In order to do so, just remove the user who has the elements locked (“Add/Remove users”). Elements will be unlocked but the user will lose their local changes.

Operations for the owner of the shared prototype

If you own a shared prototype or you are the owner of a Justinmind online account that stores shared prototypes, you can perform the following advanced operations.

All of these operations can be accessed from the same dialog that pops up when selecting “Manage shared prototypes” from the “Share” main menu option.

When you’ve selected “Manage shared prototypes”, a new dialog will appear with a list of all the shared prototypes you own or have stored in your account and you have permission to modify:

operations prototype owner

  1. Click the “Manage Users” button to manage the users who have access to the shared prototype. The “Add/Remove users” dialog will appear. For more information about adding/removing users, see the Add/Remove users section above.
  2. Click the “Owner” gear icon to change the shared prototype owner.
  3. Click the ‘X’ to delete the selected prototype from the server. By deleting a shared prototype, you will delete all revisions as well.

Changing the shared prototype’s owner

This specific operation can only be performed by the owner of the Justinmind online account where the shared prototype is stored. 

When you click the dear icon, another dialog with a list of all possible owners will appear. Note that only Justinmind account owners can take on the role of prototype owner. 

The prototype’s owner will be identified with an Avatar icon:

shared prototype owner

Deleting a shared prototype

When you click the ‘X’ in the Manage shared prototypes dialog, a confirmation dialog will pop up before executing the operation:

deleting shared prototype

Enter “DELETE” to confirm the operation.

This operation will delete the prototype and all its shared information (revisions, invited users and history). Once deleted, none of the users who were working on this prototype will be able to commit changes and their prototypes will convert into local prototypes so they can still keep working on them.

Working offline with shared prototypes

If for any reason you don’t have internet access,you can work offline on your shared prototypes. However, you won’t be able to commit, update or lock new elements until your internet connection has been restored.

Whilst offline, you will only be able to work with your currently locked elements. It’s important to lock the elements you are going to work with before starting your work offline.

How to work offline

When opening a shared prototype, your connection to the servers will be checked. If Justinmind can’t establish a connection, a dialog will pop up asking you what you would like to do:

work offline

Click “Work offline” if you want to open a locally-stored copy of the prototype and work on it offline. A new dialog will show all the locally-stored copies available. Select the desired prototype and click “OK”.

work offline dialog

Save changes when working offline

When working offline with a shared prototype, changes can’t be committed until your connection has been restored. However, you can save changes locally, and commit them once the connection is restored. To do so, go to the “File” main menu option and select “Save a copy”. Choose where you want to save your local copy and click “Save”.

Synchronization checks

When working with a shared prototype with an internet connection, Justinmind performs synchronization checks with the servers to detect differences between the user’s local copy and the servers’ copy of the shared prototype.

These checks may detect when a prototype has been deleted from the server, when your permissions to modify a prototype have been revoked, or when the prototype has been modified by other computers using the same user.

Some of these checks will generate a message (e.g. “Prototype deleted” or “Permissions revoked”):

synchonization checks

However, if the problem is related to lock synchronization, a dialog will appear with the following options:

synchronization dialog

  • Revert to last revision – click to open the last prototype revision. Note that you will lose all local changes.
  • Work offline – click to start working on the prototype as a local copy