Prototype Yodabox::A

From Inforail
Jump to: navigation, search

Philosophy

  • Almost no questions asked
    • most of the choices are determined automatically
    • reasonable default values will be proposed
  • Completely unobtrusive
    • makes itself visible only if something is wrong
    • conservative use of system resources such as bandwidth, CPU cycles or RAM
  • As automated as possible
  • Simple
    • rely on third party tools for scheduling, synchronization, compression, integrity checks, encryption, etc
    • sacrifice uber-flexibility; pretty not bad backups are better than no backups at all
  • Reliable
    • handle edge cases well
    • if failure is the only option, fail gracefully
  • Proactive - predict failure before it occurs
    • warn that there might be no space for the next backup
    • increase the postpone delay if there were several postpones already
    • check if the target device is available
  • Clear and humane - when something doesn't go well, make it clear what exactly is wrong
    • which files were not copied, why it happened
    • do so without using tech-slang

Assumptions

  • People will be willing to buy an external storage device large enough to hold their data, as long as they can be certain that data are safe
    • for a regular person, it is cheaper to buy a bigger hard disk than to think about delta backups
  • An Internet connection is available
    • It may not be very fast
    • But people are willing to wait, as long as:
      • it is clear how long they have to wait
      • it is guaranteed that when the process is finished the data are safe

What it is not going to do

  • Backups on CD/DVD - because finding something on a disc is very difficult
    • People prefer a one backup to rule them all approach, rather than
    • having try multiple discs before stumbling upon the right one
      • or consulting an index in order to find where the file is supposed to be (assume that the index will always be lost)
    • Large files that span across several discs are difficult to handle and involve additional complexity

Edge cases

  • a file is locked by a process
    • wait, try later
    • stop the process in a polite way
    • kill the process of all else fails
  • target disk not connected
  • low free space
  • network connection down
  • abort the backup process in case of emergency
    • misalignment of planets
    • power outage
    • battery on laptop is about to die

Sketches

Backup-ui-sketch.png Backup-notifications.png