Stay tuned, abonneer!

Autosave, Versions en Resume

Autosave


We kennen het allemaal, we hebben het allemaal meegemaakt. Iedereen heeft in zijn PC-carrière wel eens een document niet opgeslagen, een naam gegeven die je naderhand niet meer herinnert, of een crash gehad waardoor in één klap uren aan werk verloren raakt. Zonde natuurlijk, want een tweede versie komt vaak als een haastklus over en weet de eerste versie niet te evenaren, om niet te vergeten dat het weer veel tijd kost om tot een vergelijkbaar resultaat te komen.

Daarom introduceert Apple met Lion de functie ‘Autosave’. De naam spreekt natuurlijk voor zich, documenten en ander werk wordt automatisch opgeslagen zonder dat de gebruiker hier omkijken naar heeft. Het sluiten van een document of applicatie vereist daarnaast ook niet dat de gebruiker een keuze moet maken of een document opgeslagen dient te worden of juist niet.



De werking van Autosave resulteert niet in een soort ‘mirror’-bestand dat naast het opgeslagen bestand wordt opgeslagen, maar er worden meerdere versies in hetzelfde bestand geplaatst op automatische basis. Het automatisch opslaan van deze bestanden gebeurt bij grote wijzigingen, gedurende perioden waarin het systeem niet gebruikt wordt of wanneer andere applicaties vragen om data.

De laatste feature is een interessante. Andere applicaties kunnen aan bijvoorbeeld een tekstverwerkings-applicatie verzoeken om de huidige versie op te slaan en te exporteren. Dit geldt dan bijvoorbeeld voor wanneer een gebruiker in Mail het net geschreven tekstbestand wil toevoegen aan een mail, maar deze nog niet handmatig heeft opgeslagen. Toch zal Mail de laatste versie kunnen overhandigen aan het gekozen mailadres. Logisch, intuïtief, handig.

Applicaties moeten overigens eerst voorzien zijn van een nieuw framework waarmee de bestanden worden opgeslagen, zodat ze deze verzoeken naar elkaar kunnen uitsturen. Voorbeelden van applicaties die reeds werken met dit ‘autosave-request’-systeem zijn Mail en Quick Look.

Versions


Autosave brengt in eerste instantie wel een probleem met zich mee en dat is het dilemma of de nieuwste versie van een bestand wel altijd de beste versie van dat bestand is. Om te voorkomen dat er data verloren gaat wanneer er bijvoorbeeld per ongeluk een groot stuk tekst verwijderd wordt en er direct een autosave overheen gaat, is er tevens ‘Versions’.

Ook hier spreekt de naam eigenlijk helemaal voor zich, Versions zorgt er voor dat er verschillende versies van hetzelfde bestand behouden blijven, gelijkend op Time Machine.

Versions in Mac OS X


Elke keer dat de gebruiker overigens zelf het bestand opslaat wordt ook dit als een ‘versie’ van het bestand opgeslagen. Foutje gemaakt? Door op de titel van het bestand te klikken terwijl het open is, kan je in een Time Machine-omgeving door de verschillende versies bladeren. Een handige feature is dat het zelfs mogelijk is om in deze omgeving aanpassingen te maken aan één van de documenten, waardoor het ook mogelijk is om delen van de tekst te kopiëren naar de huidige versie. Het is niet mogelijk om vanuit deze omgeving een eerdere versie van het bestand aan te passen, maar natuurlijk wel om dit bestand ‘terug te zetten’ over het huidige bestand heen.

Versions is gebouwd om samen te werken met Time Machine, waardoor hele oude versies van een bestand niet tot in den treuren worden opgeslagen op het Mac-systeem zelf. Zo wordt er niet al te veel schijfruimte opgeofferd voor Versions.

Het is overigens ook mogelijk om vanuit de titel van een venster een document een duplicaat te maken, terug te gaan naar de laatst geopende versie of een bestand te vergrendelen. Dat laatste houdt in dat een bestand niet gewijzigd kan worden totdat hier expliciet toestemming voor is gegeven. Bestanden worden automatisch na twee weken niet gebruikt te zijn vergrendeld door Lion. Deze periode is aan te passen in de opties van Time Machine.

Het is helaas niet mogelijk om Versions van een bestand op te roepen vanuit andere applicaties of Finder. Het bestand moet hiervoor echt geopend worden door dezelfde applicatie.

Resume


Een andere feature die nauw verbonden is met Autosave en Versions is dan ook ‘Resume’. Deze naam maakt net als de andere twee al redelijk wat duidelijk over de functie ervan.

Het kan wel eens voorkomen dat je je systeem heel snel moet afsluiten omdat je even de tijd bent vergeten. Het proces dat daarop volgt kan ik sommige gevallen erg vervelend zijn omdat bij het sluiten van het programma voor elk openstaand venster gevraagd kan worden of het opgeslagen moet worden, of juist niet. Dankzij Resume wordt er gewoon een nieuwe versie van het bestand aangemaakt dat bij de volgende start weer aanwezig is.



Daar blijft het echter niet bij, want Resume werkt systeemwijd. Bij het afsluiten of opnieuw opstarten van een systeem kan er middels Resume voor worden gekozen om het systeem in de huidige status opnieuw te laten starten. Dat betekent niet alleen dat de geopende applicaties direct opnieuw worden geopend, maar tevens dat deze op exact dezelfde locatie zullen staan met dezelfde scrolpositie, venstergrootte en andere aspecten.

Net als voor de andere twee features op deze pagina geldt, de ontwikkelaar moet de API’s hiervoor inbouwen zodat de applicatie er gebruik van kan maken.

Resume voor multitasking


Eén van de dingen die gebruikers niet meer kunnen missen bij iOS is multitasking. Natuurlijk ondersteunt OS X dit al vele jaren en vraagt men zich misschien af wat hier anders aan kan. De manier waarop kan anders. In iOS sluit de gebruiker een app en kan deze later weer terugkeren naar diezelfde app, welke in dezelfde status verkeert als wanneer de gebruiker hem sloot. Apple voert deze wijze van openen en sluiten nu ook in bij Lion.

Als je een applicatie opent en een tijdje gebruikt en vervolgens weer sluit, zal deze de volgende keer dat je hem opent in de staat worden geopend zoals je de boel achterliet.

Automatic Termination


Met de introductie van Snow Leopard werd de API ‘Sudden Termination’ geïntroduceerd. Applicaties die deze API ondersteunen kunnen aan OS X kenbaar maken wanneer het veilig is om ze af te sluiten, mocht het systeem meer resources vereisen.

In Lion wordt Automatic Termination ingevoerd, waarbij applicaties via een nieuwe API kunnen aangeven of het OS om bevestiging mag vragen van het programma om afgesloten te worden. Dit houdt in dat OS X de applicatie zonder bevestiging van de gebruiker kan sluiten, mocht dit nodig zijn om geheugen vrij te maken.

Applicaties zullen slechts toestemming kunnen geven wanneer ze niet in gebruik zijn. Dit houdt in dat een applicatie natuurlijk niet de actieve geopende applicatie mag zijn, maar ook niet zichtbaar is voor de gebruiker, dus ofwel geminimaliseerd, ofwel geen geopende schermen.

Automatic Termination roept overigens ook de Autosave-API aan om de laatste versie van geopende vensters op te kunnen slaan, voor een volgende start van het programma. De gebruiker zal er dus weinig van merken wanneer een applicatie gesloten wordt, bij de volgende start van het programma is er namelijk niks veranderd.

Het proces dat een applicatie draaiende houdt blijft nog wel behouden, het zij inactief om geheugen te besparen. Wanneer de applicatie echter opnieuw geopend wordt, betekent dit dat de applicatie er heel snel bij zal zijn en lijkt het voor de gebruiker alsof de applicatie helemaal niet uitgeschakeld is geweest.