Project Goals
User Interaction
- How is Étoilé different from the desktops I'm used to?
- So, there are no applications?
- If I don't use applications to create documents, how do I create a document?
- I just want to type! Now that I have this blank document, what do I do?
- Since this is such a different method of making a document, what do I have to do if I want to send my document to someone who doesn't use Étoilé?
- Uh oh! I typed this whole letter and haven't saved it yet... wait, where is the Save command?
- How many levels of Undo do I get?
- I haven't seen any file names anywhere. What's that all about?
- That's great for pictures and videos, but what about all the text documents I have? They all look the same. And what about audio?
- So tell me more about FogVision. How does that work?
- I like the search functionality, but what's with all the zooming in and out?
- Obviously this isn't the whole system. If Étoilé uses a Unix-like base, where are my /bin and /etc folders, and where is my terminal?
- How do I update my system or install new Services?
- What is this Pick and Drop functionality I've heard about?
- What are these circular menus that show up when I click on Components?
- How can I share files between Projects?
- How do I create an alias to a file?
Development
Q: Are you trying to clone Mac OS X?
A: No.
Q: How is Étoilé different from the desktops I'm used to?
A: Étoilé is different from the most popular desktops (Windows, Mac OS X, Gnome, KDE) in a number of ways. For example, it uses the metaphor of projects instead of folders, it makes extensive use of zooming in and out for navigation, it relies heavily on an integrated search technology, is persistent and versioning, and it features a component-based document model which relies on services, rather than applications, to create a workflow.
My comment: I would say it uses metaphor of projects when it's more appropriate than folder and in a complementary way. -Quentin
Q: So, there are no applications?
A: While you can run regular applications in Étoilé, the majority of the actions you'll be performing in Étoilé will be via Services. Services are like micro programs which can be strung together to create just the application you need to fit just the workflow you want. Services come in two forms: Command and Palette. Simply put, a Command Service runs as soon as it's called, while a Palette Service creates a small window, or palette, for a more interactive process. Additionally, you can create Contexts, which are a series of Services that become activated when working with a specific type of file. For example, if you wanted to create a drawing application, you might make a Context that launches your Color Selector service, your Brushes service and your Shapes service whenever you make a new document that contains an Image Component.
Idea about applications: While we don't want monolithic applications, we can perhaps let the user build and save "contexts".. A context would be a set of palettes associated to a filetype/action. Thus you can create your own "drawing application" that can be automatically called when creating a "drawing document", and that will open/show the set of palettes you defined in this "application".
My comment: I'm not sure about the Command and Palette names and we need to specify precisely what would be their roles, probably with some use cases. Another point is Service/Component duality: you can launch any Component as a Service and use it as a basis for your own custom Contexts (this is detailed under Service entry in Glossary). Quentin
Q: If I don't use applications to create documents, how do I create a document?
A: A blank, new document can be easily created via the Document menu. Simply go to Document > New, and a white rectangle will appear on your screen. By default, this document will be in the standard A4 size; however, this is customizable. So if you're in the US, you may want your default size to be Letter. Or if you are primarily a web designer, you may want your default size to be 800 x 600 pixels. And if you don't want to "roll your own", some third parties have also developed Document Templates, which are documents already set up for certain tasks, such as spreadsheets, source code, images and audio.
I think we can have a default document like you describe, but we also should have other template for predefined work (text, image..)
Q: I just want to type! Now that I have this blank document, what do I do?
A: Étoilé makes no assumptions about the type of file you want to create when you make a new document. You probably have a good idea, though, so all you need to do is find a Component that matches your task. If you're making a text document, then you'll go to Insert > Text. You'll now see a rectangle with 8 handles show up in the middle of your document: this rectangle is your text field. You can start typing there if the size of the text box is adequate. Otherwise you're free to grab any of the handles and resize the text box to make room for other Components, such as Images, Tables, or even Video. You can get a list of all the Components at Service Components under the heading AppKit service components.
Q: Since this is such a different method of making a document, what do I have to do if I want to send my document to someone who doesn't use Étoilé?
A: One of the most essential Services is Export. Export already contains modules for the most popular cross-platform formats: PDF, JPEG, PNG, Plain Text (TXT), Rich Text (RTF), HTML, XML. Because of the modular nature of Export, new modules for other formats can be easily developed. In addition, Étoilé comes with another Service called ShareWith, which turns emailing a file in a specific format into a three click process: select a file, select a recipient from your address book, select a format. The file is automatically reformatted into the required format and sent to the recipient all behind the scenes.
Q: Uh oh! I typed this whole letter and haven't saved it yet... wait, where is the Save command?
A: There is no Save command. Unlike most other desktop environments, Étoilé assumes you want to save your hard work, whether you type letters, draw pictures, or crunch numbers. Everything you create or edit in Étoilé is automatically saved. If you're the type who tends to make a lot of temporary documents to use as "scratch paper", it's easy enough to simply select those items and hit delete. And if you do accidentally delete something you really wanted to keep, Étoilé has system-wide Undo and Redo capabilities.
Actually, the save command should be there, but act as a checkpoint (ie, the actions are anyway saved even if the save command is never called)
That's what I called New Version in the next section... I didn't want to confuse users with having Save mean one thing in their current desktops, and Save mean something else in Étoilé
Q: How many levels of Undo do I get?
A: How much RAM do you have? Étoilé saves it all, keeping track of your selections, your copies, your pastes, your deletes and your creates. Just keep tapping the Undo key until you're back to where you want to be. Also, how big of a hard drive do you have? Instead of manually saving files, Étoilé has something called Versioning. If you want to branch off of the current document you're working on to try something experimental or test some different values, click Document > New Version and your previous document will be stored as a previous step, allowing you to work on your new version. No worries about Undo here: both versions are saved and can be edited further or even Versioned again.
My comment: In some Services, it won't be always possible to have unlimited and versatile Undo, because too much RAM would be eaten very quickly. Quentin
Q: I haven't seen any file names anywhere. What's that all about?
A: While you can add a file name, we think it's easier to remember files based on what they look like or what they contain. That's also why there aren't a lot of icons in Étoilé. Rather than use icons, Étoilé uses miniaturized versions of the actual document to make it easier to quickly identify the document you're looking for.
That and metadata... name isn't mandatory, but it can also be the simplest and more effective solution, so we shouldn't just discard it :-)
Agreed, but let's also not force them to name a document if they don't want to. And let's definitely not get into the trap of giving it a name so that we as developers can identify it: the system can keep track of the file via an inode or inode/volume combo.
Q: That's great for pictures and videos, but what about all the text documents I have? They all look the same. And what about audio?
A: Étoilé's folder windows are spatial, which means you can put your files wherever you want in the window and they'll always show up in that same spot. You can organize your files by position and proximity... and if you really want a file name, you can add one and call it whatever you want without having to worry about file extensions or character limits. Additionally, Étoilé makes extensive use of FogVision, Étoilé's Search technology, to locate precisely the file you want. Audio files are always accompanied by a miniature audio player instead of an icon, allowing for quick preview of a sound. Audio files are the one place where having a file name, as well as other meta data, really makes sense.
Q: So tell me more about FogVision. How does that work?
A: It's pretty easy, actually. The one thing to keep in mind is that FogVision always begins searching at your current folder.
Simply hit the Search key and a small dialog with a text field will appear in the center of your screen. If you don't type in the dialog within 3 seconds, or you click outside of the dialog, it will disappear.
FogVision uses an incremental search, so as you type, files which don't contain your search terms will fade back.
When an absolute match has been found, that file will become highlighted.
There can only be one highlighted file on a screen at a time, and clicking the Zoom In key will zoom you in to activate that file. Possible search terms include file names, contents of text files, and metadata. All metadata is user-editable, and new metadata fields can be added and edited on a per file basis or on a batch of files.
While the concept shown here is nice, it only work if the files are already present on the screen ...
I saw it working like how OS X does filtering in the Finder -- recursive through directories, starting at the current directory. If you don't find a file you know is on your system, zoom up a level and search again
Q: I like the search functionality, but what's with all the zooming in and out?
A: Étoilé is a Project-based Desktop. That means that instead of folders, your files are contained within projects. A project is basically a folder on steroids. Projects contain their own metadata about their contents, can be written and drawn on, and, when launched, zoom in to fill the whole screen. They're like mind maps that happen to contain launchable files. Zooming is an essential part of a spatial interface, and with the Project-based Desktop, zooming helps segregate content from one another by filling the screen with the focus of your attention. It also looks pretty cool. If you would like to see a Flash demo of this functionality, please visit the Project-Based Desktop.
Q: Obviously this isn't the whole system. If Étoilé uses a Unix-like base, where are my bin/ and etc/ folders, and where is my terminal?
A: The standard Unix hierarchy is there; it's just not visible to regular users. The content that a Étoilé user normally has access to is within their home folder in a directory called workspace/; you can think of workspace/ as the base Project directory. The user's home folder also contains a preferences/ folder, which contains the preference settings/configuration files for that user. However, the user doesn't manipulate preferences/ directly. They can't even see that folder in the Étoilé GUI. Through the use of preference panels in the GUI, these config files are modified. And, for the bold, there is a Terminal service which allows access to the *nix base.
Q: How do I update my system or install new Services?
A: Updating and upgrading your system is easy. Étoilé keeps its sources in a central repository and provides a Service called System Updater which synchronizes your system with the current release. This Service can be scheduled, as well, so your system can check the source repository every week and get the most recent updates.
Q: What is this Pick and Drop functionality I've heard about?
Q: What are these circular menus that show up when I click on Components?
Q: How can I share files between Projects?
Q: How do I create an alias to a file?
Q: This sounds like Smalltalk. Why not build on top of Squeak?