[[!meta title="Tails Installer"]]

[[!toc levels=2]]

Vision
======

Installing Tails onto a USB stick is probably the most common and
recommended scenario when started with Tails as this allows incremental
upgrades and persistence.

But as of 2014, getting Tails installed on a USB stick requires having a
first temporary Tails to boot from and then running Tails Installer.
Also, due to the way Tails Installer partitions the USB stick, this
requires having two USB sticks and going through manual installation
steps, often using command line.

We want to eliminate the need for a first temporary Tails and have Tails
Installer available on Linux, Windows, and Mac OS.

As part of the ISO verification process we also want to push more
verification logic to Tails Installer. See the [[blueprint on ISO
verification|verification]].

Tails Installer is also used to do full upgrades. We want to move this
to Tails Upgrader. See the [[blueprint on Tails Upgrader|upgrade]].

Roadmap
=======

<a id="2015"></a>

2015
----

In 2015 we will work on porting Tails Installer to Debian. This is a
first step before having Tails available on any other platform. 
This requires rethinking the scenarios in which Tails Installer is 
used ([[!tails_ticket 7046]]) and adapting its interface accordingly.

Those are the improvements that we propose for 2015:

- Implement "Install from ISO". (([[!tails_ticket 8865]])
- Adapt the splash screen to work outside of Tails (no "Clone"
  option).
- Rework the wording of the main interface. ([[!tails_ticket 8866]])
- Add visual and textual context to main interface.
- Add a splash about creating persistence after rebooting.
- Backport Tails Installer to Jessie ([[!tails_ticket 8805]]).

This will have to be coordinated with the Ubuntu release calendar.
Ubuntu 15.10 is planned to be freezed in August 2015.

<a id="bonus_for_2015"></a>

Bonus for 2015
--------------

The following improvements would be a nice addition to the roadmap for
2015.

First of all:

1. Autodetect if the destination key has Tails already, without making
   this visible to the user yet, but that's a prerequisite for the
   next steps.
2. Simplify the splash screen a bit thanks to the autodetection code:
   merge "Clone and Install" and "Clone and Upgrade" into one single
   "Clone" button: Depending on whether the destination device already
   has Tails installed or not, dynamically change the label of main 
   action button to "Install" or "Upgrade" (for the second device).
   (Note: this breaks the "re-installing Tails from scratch" use case, 
   but IIRC we already have documented how to uninstall Tails, so that's 
   no big deal). ([[!tails_ticket 9006]])
3. If the destination device already has Tails installed, add a second
   button below or side-by-side with the "Install" button with the label 
   "Upgrade". This allows to choose once more to either reinstall Tails 
   from scratch or to upgrade the exisiting installation.
4. When using the installer in Tails (as opposed to using the installer
   from another platform), remove the splash screen and add a "Clone" 
   button to the main interface. ([[!tails_ticket 8859]])

And then:

- If using the installer outside of Tails, point to the website to 
  download the ISO. ([[!tails_ticket 8867]])
- Make it possible to "Upgrade from ISO" from
  the command line. See the [[Debian Hacker|bootstrapping#tools]] bootstrapping path. ([[!tails_ticket 8861]])
- Make it possible to "Install from ISO" from
  the command line. See the [[Debian Hacker|bootstrapping#tools]] bootstrapping path. ([[!tails_ticket 8861]]).
- Store version of Tails on destination key after install and upgrade. ([[!tails_ticket 8863]])
  - This would allow to display version in "Target Device". ([[!tails_ticket 8862]])
- Have Tails Installer available on Mac OS as there is currently no suitable other
  installation technique using a graphical interface.

Future
------

- Push more ISO verification logic to Tails Installer. See the
  [[blueprint on ISO verification|verification]].
