OSIVA is an acronym meaning “overly simple image viewing application.” The name is not a joke, it is an assessment. The word “simple” is used with the third meaning:
bare(a): apart from anything else; without additions or modifications; “only the bare facts”; …
Specification 1: Simple, meaning no GUI
Images are to be displayed simply as images, with no additional GUI elements. The word “overly” is the admission that such a presentation is probably not rich enough to allow the user to do all the things they want to do. Osiva is a challenge to do something that probably cannot not be done very well.
Hence the Osiva “iconbar” and the right click menu. Both are capitulation to function creep that violate the prime specification. When Osiva was first built there was no icon bar. All the functions were performed using the keyboard only. The iconbar was a sales tool to let users know some of the things that they could do.
Specification 2: Simple, meaning images are shown in the shell
To extend the simplicity. osiva will operate in the context of the shell. Images are manipulated directly within the shell, with no additional backgrounds or borders. Masks are applied against the shell. Transparency is open to the shell. Osiva should be a simple tool that can be very useful, because it does basic image compositing operations against whatever is beneath it.
Specification 3: Do everything with images except edit them
The operations you can do with osiva are intended to be simple: zoom, pan (actually just move), rotate, skew, mask transparency, alpha transparency — that’s it. Pretty much everything you can do with an image without actually editing it. Osiva is not an image editor, but it should be good at manipulating images.
Specification 4: Handle large data sets elegantly
Finally, osiva must work with large groups of images. This is where osiva fails badly under the current implementation. Osiva works great for a stack of small images, but for an SD card from a camera it fails miserably. All images dropped into osiva are read into RAM, at full resolution, which of course cripples the host completely.
Someday osiva will be a compositional tool. Osiva is ultimately intended to be an animation creator, animating and rendering a list of images into a video format, according to the “slide show” settings. But for now osiva will remain a simple image viewer.
In the short term osiva needs to support more image formats, but mere support is not enough. The GIF and JPEG decoders used in osiva are relatively fast. One possibility for providing format support is to expose a plug in model and use the same PNG, BMP, etc decoders that every other application uses, but then osiva would take as much time to open those images as every other application does.