Hello ListHere's my long-awaited QA review of all the "demo" pages. Again, I wouldn't have spent about 12 hours today doing this if I didn't think it was worthwhile for the IOS and the DynAPI in general. So keep that in mind as you get all these critiques. I don't think I missed anything. ;-) One thing, since I am often saying "in all browsers", it's a good sign, because even if there's a problem, at least it's consistent behaviour in all the browsers.
Without further ado, my QA review, analysis, and report. 1) There's no BGCOLOR setting the background to white, so in my browser where the default background isn't white, the pages look a bit odd. ;-) 2) On the first page, the content is centered in IE 6 only, and is not centered in the other 3 browsers. 3) When looking into the above issue, there's a <div> tag before the <body> tag. 4) In the HTML Document demo, in IE 6, when dragging the "txt1.html" icon, the image disappears, then IE starts transferring data, gets the image, then displays it. I seem to remember some recent discussion about this issue (how to cache images in IE using the DynAPI). The whole experience in IE is affected by this. Every time anything changes, all images are either reloaded or compared to the server, and it's slow. * Note: when looking at the more complex things, the entire demo is so slow I'd call it unusable or unacceptable in a real-world setting. 5) In the HTML Document demo, in Mozilla 1.5 beta, IE 6, and Mozilla Firebird 0.6.1, after "maximizing" the txt1.html window, and then closing it (upper-left corner diagonal arrow), further opening is no longer the original size but nearly the maximized size. Size isn't reset on close? Could be a good feature. But maybe should have a "maximize" flag/size, and if it's closed while maximized, also save the unmaximized size, and reopen in the maximized state, but allow it to be unmaximized to the previous size. 6) HTML Document demo does not work in Opera 7.11 browser. Now I think I remember Opera 7 support was added in DynAPI 3, so I won't test Opera 7.11 anymore. Further references to "all browsers" means all except Opera 7.11. 7) In the HTML Document demo, in all browsers: After maximizing the HTML Document, scrollbars extend beyond the screen, when they probably should not. After minimizing, the scrollbars still remain, as if there's still content going past the browser's viewable area. * Note, in Folders in Symbol Mode, I noticed if I expand a folder window beyond the endge of the browser's viewable area, scrollbars appear in the browser, and the mouse becomes "detached" from the window resize (letting up the mouse button while outside the browser window doesn't cancel the resizing, so moving the mouuuse back over the window causes the resizing to continue until the mouse is clicked and released). When I shrink the folder window again, the browser's scrollbars go away. This is the behaviour I'd expect with the HTML Document maximize/minimize/close. HTML Document resizing works as expected, with browser scrollbars appearing and disappearing as needed. 8) In Folder in Symbol Mode, in all browsers, there's no "taskbar" so it's difficult to get to windows that lie underneath other windows, unless moving or minimizing all windows above the target window. This quickly becomes cumbersome. 9) In Folder in Symbol Mode (and probably anything with a DynAPI window with scrollbars), can't scroll with the mousewheel. It scrolls the entire browser window, not the DynAPI window. 10) In Folder in List Mode, in all browsers, a user interface suggestion, is to put the files and folders on the right, (M$ Explorer style), and only Folder tree on the left side. Since I'm very familiar with windows explorer, and it's one of the good things about M$ Windoze, I'd find the Folder in List Mode much easier to use if it was set up this way, with option to choose view type (icons and filename text only, or with columns with file info (size, last modified, or whatever JavaScript has access to, which I understand it may not have much access), and sortable by clicking on the column header. Also the grid lines are somewhat distracting. Maybe an option to turn them on or off. And what about in column view mode, vertical grids as well? 11) In all demos, in all browsers, double clicking on the text label of something selects the text in addition to the expected behaviour or opening the file, folder, or starting the app. 12) In Calendar, in all browsers, has "this is not ready". Would be nice to enter some data here. 13) In ColorRGB, all browsers. Browser's scrollbars show that there's more content on the page, but there's no visible elements and there should be no scrollbars expected. 14) In ColorRGB, in all browsers. Can't type numbers into the hex value or R, G or B fields. 15) In ColorRGB, in Mozilla Firebird 0.6.1, after trying to type into the text fields, can't type CTRL-W to close the window. Somehow the key events are being captured and ignored? 16) In ColorPicker, in all browsers, the slidebar labels aren't in English, so I don't know what they do. :-) Maybe a "language" option should be considered for GUIs -- internationalization, localization, globalization, locales, whatever buzzword fits best? -- so the user can choose the desired language. 17) In ColorPicker (and possibly others, just noticed now), in Mozilla 1.5 beta. There's a message in the JavaScript console after page load, before anything user input: Warning: The stylesheet http://cyclone.he.net/cgi-bin/error404 was loaded as CSS even though its MIME type, "text/html", is not "text/css". 18) In ColorPicker, in all browsers. The new color is not remembered after clicking "ok". When opening the ColorPicker by double clicking, the old and new colors are both cyan (pale blue). 19) In ColorPicker (and probably any other draggable DynAPI window), I can drag the window to the bottom of the screen, a scrollbar appear, drag it back up, disappears. Same with the right side. But not when dragging to the left or top of the browser. This can make it hard to grab a window if you've shoved it too far to the top or left. There's no way to scroll in those directions. There's maybe three options that would be good. First option is the default, as it is now. Second and third, have boundaries where you can specify the top-right-bottom-left 'softness' or 'hardness', to either be soft or hard, hard being like a brick wall, and not allowing the dragged window to go beyond visible space, or soft being like mush, allowing a DynAPI window to be dragged anywhere, and automatically resize the viewable area in the browser and scroll the viewable area to where the dragged dynapi window will end up. (Not sure if this is possible or the complexity, but from a GUI standpoint it would be more consistent with the behaviour observed in the other two browser borders). Maybe a fourth option, is to have something like an taskbar (autohide option, always on top option), that is a dock, and have DynAPI windows be dockable and get minimized to icons with (optional text labels). 20) In ColorPicker, in all browsers, clicking in the color plane area (largest square with continuous color variations) does not move the circular color selector until the click is released. This prohibits the user from clicking anywhere and starting to drag immediately and see the colors he's currently dragging over. The user must click the circle first. It would be more user friendly to have the circle snap into place underneath the click, so dragging can continue seamlessly. 21) In Texter App Mode (and all other dragable / resiable elements), in all browsers. All four size should allow resizing of the window in the specified direction only. All 4 corners should allow simultaneous resizing in both directions specified. Currently only the lower-right is resizable. 22) In Texter App Mode (and all other dragable / resiable elements), in all browsers. There needs to be an indication when the mouse is over a button, or a draggable area. Maybe change to a reverse highlight for menu buttons, or like any apps in Windows, a little box with shading appears around the items in the menu bar. In windows when moving the mouse over a resizable element, the mouse pointer changes to some arrows. While this may not be easy to do in all browsers, you can change the thing underneath the mouse i.e. make the left border change highlighted colors when mouse over, etc.. Also, having "resizable" or "draggable" hotspots look "grippy" somehow, instead of all the same grey, might be an option, or might not. 23) In Texter App Mode, in Mozilla 1.5 beta, get this silent JavaScript error in the console when mousing over the text area. Thinking it's due to the Mozilla race condition bug or something. Error: [Exception... "'Permission denied to get property HTMLDivElement.parentNode' when calling method: [nsIDOMEventListener::handleEvent]" nsresult: "0x8057001e (NS_ERROR_XPC_JS_THREW_STRING)" location: "<unknown>" data: no] 24) In Texter App Mode, in Mozilla Firebird 0.6.1, can not type any text. Have this error in the JavaScript Console: Error: [Exception... "'Permission denied to get property HTMLDivElement.parentNode' when calling method: [nsIDOMEventListener::handleEvent]" nsresult: "0x8057001e (NS_ERROR_XPC_JS_THREW_STRING)" location: "<unknown>" data: no] Exact same error as 23, but Mozilla 1.5 beta works, oddly enough. NOTE, this may be an instance that correlates with my earlier inability to type CTRL-W to close the window in Mozilla Firebird 0.6.1. I am unable to type CTRL-W now. I maybe didn't notice the JavaScript error then as I wasn't looking. ;-) This is probably how to reproduce that condition, by triggering the known race condition bug. 25) In Texter Document Mode, in Mozilla 1.5 beta, Mozilla Firebird 0.6.1. Same error as reported in 23) and 24). The only difference, in Mozilla 1.5 beta, the error is seen once on mouse over the text area, and once on mouse out. In Mozilla Firebird 0.6.1, the error is seen three times on mouse over, three times on mouse out. Mozilla 1.5 beta allows text typing, and Mozilla 0.6.1 does not, same as in errors 23) and 24) above. However! I /WAS/ able to use CTRL-W to close Mozilla Firebird 0.6.1 (this time). Further inspection, sometimes Mozilla Firebird 0.6.1 throws one or three of the mentioned errors. Odd... 26) In Viewer Quicktime, in all browsers, when resizing the DynAPI window container thing, the Quicktime plugin does not reesize. Maybe no need to have the DynAPI window resizable if the underlying plugin isn't capable. 27) In Viewer Quicktime, in all browsers, when using the "minimize to titlebar" (I know it's a MAC thing, there's no windows equivalent, and it's NOT the same thing as a windows minimize, so that's why I call it minimize to titlebar, as opposed to the assumed taskbar in windows nomenclature), the DynAPI window minimizes nicely but it leaves the plugin visible on the screen. This is a bit silly. Maybe shouldn't be minimizable. 28) In Viewer Quicktime, in Mozilla 1.5 beta, when dragging the DynAPI window after clicking the Quicktime Plugin's play button, the image skips to the (first or last, not sure, they're both the same) image even though the sound still plays through the other frames. Maybe the window should not be draggable while a movie is playing, if there's any possible way to detect the play status. 29) In Viewer Quicktime, in Mozilla 1.5 beta, somehow by playing, dragging, and minimizing to titlebar, I managed to make the Quicktime Plugin go on top on the title bar, and now it's stuck half way up. It moves when I move the titlebar. Kind of comical. :D Have to see the screenshot to believe it I guess. http://dynapi.kicks-ass.net/DynAPI_CVSROOT/test/Michael_Bystrom_IOS_-_QA/Viewer_QuickTime_bug.gif 30) In Viewer Quicktime, in all browsers, you can resize the DynAPI window so it's smaller than the Quicktime plugin, then you can't make it bigger, unless you Maximize, close, and reopen to exploit problem in 5) above, OR if you drag the DynAPI window off the browser, let go of the mouse button, return the mouse over the browser and click. Then the DynAPI window appears saying the Quicktime plugin is hidden. You can then get one click anywhere on that DynAPI window, then the plugin appears. But if you click on the lower-right corner for resizing, you can make the DynAPI window bigger again. OR you can make it go hidden just by clicking anywhere else on the browser... so that's easier. But maybe there should be a restriction on how small you can make a window, and never make it smaller than the plugin. And if the plugin is not scalable, don't allow resizing at all. 31) In Viewer Flash, in all browsers, same issue as 30). 32) In Viewer Image, in all browsers, suggested idea, underneath the titlebar, where the menubar would be, there's no menu header items, so is there any option to disable menubars? Likewise with the bottom, where there is a long narrow reectangular area across the bottom, caused by the offset of the <-> arrows in the lower-right hand corner, this user interface realestate is being unused. Perharps this realestate can be reclaimed by folding in the <-> when considering 22) above. Or perhaps more useful info about the image could be displayed in the bottom, call it a "status bar", with original image dimensions, current dimensions, and ratio in either (or both, having an option to change it) ratio or percentage. Have the status bar be dockable, with options accessible by the menu bar header item "View" -> status bar. 33) In Viewer Image, in all browsers, perhaps have an option to scale X and Y independently (maybe beyond the scope of what we want to do, but just an idea), and have independent X/Y ratio and percentage in the status bar. 34) In Viewer Image, in all browsers, suggested idea, [got distracted, sidetracked, tired, braindead, forgot] ... oh, have a popup dialog if you want to resize the image or something, with units in pixels, width and height, and constrain proportions checkbox, etc., and other options like that. 35) In Snake, in Mozilla 1.5 beta, Mozilla Firebird 0.6.1, Game Control -> Help and Help button don't work. Arrow keys don't work. Not sure what to do to play the game. Related JavaScript Console error: ScrollPane not found in file /ios/dynapi/src/lib/snake/snake.js at line 88 column 5: this.sp = new ScrollPane(dynapi.librarypath+"/snake/files/help.html") 36) In Snake, in Internet Explorer 6, Game Control -> Help does not work. Help button acts as the same as Start button. 37) In Tetris, in Mozilla 1.5 beta and Mozilla Firebird 0.6.1, 'h' doesn't work for help. No Javascript Console errors. Seems no key input works (unless I missed something). 38) In Tetris, in Internet Explorer 6, h alerts the help as expected. However, game requires 100(!) images or so to be reloaded every time something changes position on the DynAPI window. The demo is unusable. Images are tricky to be cached in IE6. See 4) above. 39) In Tetris, in all browsers, feature suggestion. Add "help" to the "menu bar" as a "meanu header item". Help -> Keys (for instance). 40) In Everything, in Mozilla 1.5 beta and Mozilla Firebird 0.6.1, in the Javascript Console, syntax error due to 404 file not found document where JavaScript code expected. File not found: /ios/dynapi/src/lib/bystrom/util/marker.js 41) In Everything, in Internet Explorer 6, same issue as 4). App is unusable as it's too slow. The image caching is vital. Leif ----- Original Message ----- From: Michael Bystrom To: [EMAIL PROTECTED] Sent: Monday, September 08, 2003 9:48 AM Subject: [Dynapi-Dev] Hello List Hi there dynapi folks I just signed on and wanted to let you guys know that I've been playing around with dynapi for a while now and the result is IOS (internet operating system) IOS is a virtual OS. It creates a virtual desktop in your browser window. You can drag, drop, move, open, close, type and more I'm using a older version 2.55 ( I now see that you have a version 3 :) nice ) that has been modified for the Macintosh platform, the dynapi is NOT Mac friendly. I only using the dynapi for object creation and events I've written a written a bunch of new widgets that works fine on the Macintosh and windows for that matter.... :) I've just released the first version and would like you guys to help out with some debugging, code suggestions, new widgets etc... I got some cool ideas for IOS in the future and would like to see it grow. Go to http://www.michaelbystrom.com download and play I could say a million more things but I'll save it for a another day. Nice day... Michael ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Dynapi-Dev mailing list [EMAIL PROTECTED] http://www.mail-archive.com/[EMAIL PROTECTED]/