Thursday, January 05, 2006

Update - Finally a written object storage

Updated the source ;) I dont believe I got to this position... here is a list of components coded so far: SaturnMemory, SaturnChunk, SaturnItem, SaturnData, SaturnFolder, SaturnFile, SaturnProperty and finally SaturnType. The code compiles but has not been tested... I plan to do bug testing when I have something usefull to test with which is after the window management is written. If you look at the code, it's got loads of comments, so if any of you want to go through the code and point out bugs to me... that would be helpful. So what's now... as I said in the previous article, I will now be working on the drawing model. OK... so I want to let you know of some of the user interface policies/issues/ideas that Screens I plan to do for the 1.0 release: 1. No Tap Count - Screens is not going for the least number of taps. Yes... if you think you will be able to do simple tasks in the least amount of taps... use PalmOS. Screens is all about balance of all features in a usable design. The least number of taps does not mean the easiest to use or the fastest way to get to something. You dont have some kind of time-limit on your taps... so sometimes two quick taps is better than one long one. You will notice this alot when you deal with objects since nearly everything pops up a context menu when you tap on it. Yes folks... 2. No Secret Pen Tricks - No tap and hold... I have thought of this feature time and time again and just dont see to find any justice for it. I know you many of you are used to left-click defaults and right-click context menus but for Screens... the left click IS the context menu. I know its going to take time to get used to this... Screens is not trying to please anyone by copying some other OS (you know who) by these windowing shell features. I want to try out new things and what better way then with a new project. No double taps either or any other combination of secret drags and drops. Everything is visually visible in Screens and I plan to keep it that way. When you drag & drop an object, you will know exactly what its going to do. You wont have to guess what the action will be (move, copy or maybe poof like in MacOS), you select the action. While this does mean an extra click for the default... I think it makes the feature more worth while for a extended use than guessing the default behaviour of things. Many wish the UI would just know what I want... I dont... I want to tell it what I want because sometimes even I dont want to do what I think or prefer. 3. Extensive use of the 'Go' slider - Yes... The sliding icon bar is going to be used as a very central part of Screens. The slider is a flim strip like bar which sits above the widget bar and when you tap on the sphere in the widget bar, it will popup the slider. The slider is your gateway to launch applications, switch between applications, goto settings, the applications menu and so on. I realy hope you will like this idea and I am sure it will get refined as time goes by. No one has gone this way before. You can find an old editorial I made on the idea here: http://screensenvironment.blogspot.com/2004/08/icon-based-menus.html 4. The Widget bar - The widget bar sits at the bottom of the display with the go icon in the center (the icon raises a bit higher out of the bar). You can tap any unused area in the widget bar to show the Widgets window which you can add new widgets to the bar. Tap any widget to show a window representing the widget, so tapping the Time shows the 'Diary' window where you can see a today like screen. The default has mostly an empty bar with the time on the right. It allows to put any of the features you use the most on the bar as your personal preference goes. Dragging widgets off the bar - remove the widgets but not with a poof but rather undock them where you can either close them, put them back on the widget bar or have them hovering above all other windows like post-its. While widgets will be code based at the beggining, I see a future of script style widgets as well. 5. Hybrid Browsing - Yep... Screens is going to be more spatial than any other spatial system known to date. Everything has its color, position etc. But it doesn't mean that if you want to dig down some folders that you have to be spatial about thier location. Screens extends the browsing to not just a navigational OR spatial browsing but rather a spatial AND navigational browsing. You can position all folders and document windows in your locations (wont have much use on such a small screen but when we get to terminal futures...you will get the picture) but you can also dig down in a navigational window to any folder you want like a link refers to another object, a navigational window can refer to a spatial window showing it in another size and position and even a different view. Think of it as a temporary clone... That is... Everytime you dig into a folder in a navigational window, it makes a copy of the spatial window and applies the navigational window settings to that spatial window copy (like the view, size, position) and so on. Your original spatial window is not affected. Only when you make changes to the spatial window are the changes kept. I find this a difference between temporary browsing (navigational) and common browsing (spatial). 6. Sessions - Ever wanted to stop your current task, just to do another quick task and return to your other task but forgot what the original task was when you finished the first one? Well... Screens understands your problem. Screens allows you to work on windows that are to do with a specific task or session and if you want to suddenly work on a new task, you can just create a new session and it puts a half transparent layer on top of your existing work and allows all new windows opened to do with another task. Want to return to your previous task, you can either switch to its session or close the new session. The advantage here is that any change you make on one session such as moving windows does not affect the layout of another session. I believe that looking up a contact or creating a quick appointment or jotting down a note wont distrubt your workflow. Sessions can be created automaticly like when you get an email notification, if you tap on the notification, it creates a new session for you to read, reply and manage the email message. Once you are finished... return to what you were doing before hand. This is just a tip of the iceberg of innovation I have in my head just waiting to be implemented for Screens... Enjoy the teaser of words ;)

No comments: