Creating the Ultimate GUI
|
Posted on 8 September 1998
The following text was written by Philip
Gossling: Here are some ideas I thought up over the past year that I would
love to see in future GUI shells for the TI-86. Your eyes will also be entertained by the
cool screen shots I've included! :-) I actually tried making a GUI with the ideas below, but
I wasn't as good at ASM then, so I quit the project, and now I'm too busy! So I'm throwing
out my ideas to anyone who will take the bait :-) 1.
PRACTICAL USER INPUT. A shell on a calc should be built with a calculator
keypad in mind, not a mouse. My shell would use no mouse pointer. F1 would always be the
Start menu. F2-F5 would be the categories of programs, with F2 being the Desktop (the
first screen you see when starting the program), and then Games, Math and Utilities. The
arrow keys move a highlighting bar that highlights the programs, and 2nd runs the selected
program. Key input in the shell should be simple and fast, with nothing that wouldn't
really be feasible for a calculator. 2.
ICONS. Lets face it, icons are cool. So far these have only been experimented
with in Aurora, which was too slow and impractical. Icons however can still work on a
calculator. If I remember right, Aurora used 8x8 sprites placed above the program name.
This wasn't very smart. This layout just doesn't work on the 86 screen very well. However,
If you make the icons 7x7 sprites and place them to the immediate left of the program name,
you can fit lots of prgm names on one screen. You could also have the screen scroll down to
fit more programs. The shell should also have a built in icon editor that would attach
the icons to a program, so icon files wouldn't clutter the RAM. Icons should be able to be
attached and detached from files. If a program has no icon with it, the shell should
provide it with a temporary built in icon according to the file type. The shell should
also have a small icon library so users can choose from pre-maid icons that they can assign
to variables. Users could also add their own designs to the library. Now wouldn't that be
awesome :-) | 3. START BAR. Notice the
Windows-like Start Bar at the bottom of the screen in the shell screenshots. You'll notice
it displays different info in each screen shot. This is an interesting concept I came up
with. The bar could be personalized to have quick jumps to categories using the F2-F5 keys,
show a clock, the Free RAM, the date (if a clock was made), and more, maybe even a special
welcome message. If you want to do some quick calculations and stay in the shell, then
press F1(Start) and select the Calculate icon to do some math, and the start bar will
remain on the bottom of the screen, allowing you to stay in the shell and run progs
quickly. The math you could do would be limited though. If Windows add-on programs were
created for the shell, they could leave the start bar on the screen and just display the
program output above the bar. 4. TIME CLOCK. I think this is possible
to do, though I don't know exactly how it would keep accurate time when running an assembly
program. If it was done, you could display the date, have calendars, and have schedule
programs, etc. Maybe even a calculator-based student planner. You could also change APD
settings or see how long a program would take to run....(just some ideas). | 5. EXPLORER. A Windows explorer
for a calculator? I though this shell was supposed to be practical! An explorer would be a
great addition to the future GUI shells. My concept (see screenshot) is called RAM
Explorer. It allows you to view, delete, and get info on EVERY TI variable in the RAM (not
just programs). By clicking on the RAM icon, you can see all the variables, displayed on
the right, and info about the RAM (mem free, etc.). You can move these files into folders
that you create to organize them. How will folders work? Easy! My concept of a folder is
simply a TI string variable with a header that lets the shell know its a folder. Then after
the header, the string contains the names of all the files in the folder. The shell then
searches for these files and displays them! The RAM Explorer can be personalized to show TI
variable's built in icons (see icon screenshots) or variable type (as shown in screenshot
above) or variable size, or both. You can also use the STO-> key to move variables or
folders to other folders or the category folders like the Desktop. Explorer would also have
a built in linking program so you could receive stuff or send whole folders' contents to
other calcs. Also, when receiving a huge program with tons of sub-programs and variables
(like many TI-BASIC games), the Explorer will automatically create a folder (if you want)
that contains all the variables downloaded. Then if you hate the program and want to erase
it, you just delete the folder. No more will you have to search through 98k for all the
variables the program used to be sure its all out of the ram! Talk about useful! Talk about
cool! | 6. STRING VIEWER AND EDITOR. (This is
what the Notepad program is for) The GUI should have the ability to view strings in a
window in menu-text and provide the ability to edit the string or create a new string with
menu-text. There would also be formatting characters like the new-line character. With
icons added to the strings you could personalize them, like make help files, etc.
7. EMULATION. The GUI has to have emulation for the TI-82, TI-83 and TI-85.
This is the standard was set by ASE and Rascall, and should definitely be included in all
future shells. The shell should assign icons to emulated programs. 8.
COMPRESSION. The ability to compress and uncompress strings and programs.
9. WINDOWS PROGRAMS. The Ability to create programs that will run as if
they were integrated into the interface. They will run in windows, and the start bar will
remain on the screen. This is simple to do, but the program's output must be above the
start bar and the program must have input routines to activate the start bar. You could
also give programmers the addresses in the GUI of the time and where other useful info is
stored. 10. COMPONENTS. If you want WindowsCE without the Explorer,
or without the text editor, or you just want emulation and a desktop, then just erase or add
the components you want. The GUI should NEVER have the Explorers and Icon Editors and so on
built in. The shell should search for these programs on startup and if they are not there,
then the program will still run fine, you just wont have those abilities. This will allow
users to customize the size of their shell to fit their needs. Wouldn't all this
stuff in one GUI be huge? Anyone who is knowledgeable in ASM would see that all these
things can be accomplished in probably under 10k. And remember about components.
That's All for now. If I come up with anything else I'll update this article. Please post
questions, comments, and ideas for what you would like to see in future GUI shells. Also,
If anyone wants to create a shell like this (maybe create a programming group) then let me
know. I am a good artist and graphic designer who is also knowledgeable in Assembly. I just
don't have time with college and a full time job to create a shell like this myself. I
will help with art and ideas if you need them.
|
|
Reply to this item
|
Re: Article: "Creating the Ultimate GUI"
|
Chris
|
I sorta agree with the graphics thing (see above) but it could be a component. There should be one shell, with as many components as possible, made by other programmers. I think that it looks great. I think all your ideas are great ... it looks by the screenshot that you practically wrote it already.. why don't you release the program to make it easier on others? i'd like to help but i'm just started Z80
|
Reply to this comment
|
9 September 1998, 02:15 GMT
|
|
|
|
|
|
|
|
Re: Re: Re: Article: "Creating the Ultimate GUI"
|
Timendus
(Web Page)
|
I've recently wrote a simple (Basic) sprite routine that uses 8*8 sprites, stored in a binary way, so they take up only eight numbers (=between 8 and 22 bytes). I think this would be the easiest and smallest way to give a Basic program an icon:
PROG:ANYBASICPROG
::"Discription", {255,255,255,255,255,255,255,255}
: - Rest of the program-
For a program with an entirely black icon.
I'll soon try to make an ASM program to read and display that information, but I have a feeling there are much more capable programmers to help you on the details. I am a man of ideas...
|
Reply to this comment
|
17 April 2002, 16:41 GMT
|
|
Re: "Creating the Ultimate GUI"
|
Matt Wilborne
(Web Page)
|
WoW! That's a great llokin Shell. If you could pass that on to a programmer who is interested, it should be finished. Although that shell looks like I imagined Window 2000, which is not yet done. I would also like some help on how to make a shell: Tikki-Lord@Prodigy.Net
-Matt-
|
Reply to this comment
|
9 September 1998, 02:16 GMT
|
|
Re: Article: "Creating the Ultimate GUI"
|
JoJo
(Web Page)
|
that would be totally awesome. I think that 10/96k isn't too much to ask for if the program was how that was described. Including icons wouldn't be a problem either, i think that is cool too. It is a great idea, if ony he had time. this message was pretty pointless. oh well.
|
Reply to this comment
|
9 September 1998, 02:37 GMT
|
|
Re: Article: "Creating the Ultimate GUI"
|
Dan
|
I think that this is a great idea. I have a suggestion though (if somebody were to make it), it should run everytime the calc is turned on. This would be really awesome to have, especially with the ability to delete what you think it doesn't need. Somebody should really consider this.
|
Reply to this comment
|
9 September 1998, 03:50 GMT
|
|
Re: Article: "Creating the Ultimate GUI"
|
Cody Zimmerman
|
AWESOME!!!! This shell sounds so cool, useful, and intricate. Please pass it onto a programmer. I definitely like your idea on putting game variables into individual folders. A clock isn't necessary I don't think since we all have watches anyway. Compression is an awesome idea especially if it's like the GPC described in S.T.L.'s article that can double or 1.5x your memory capacity. TI-82, TI-83, & TI-85 emulation are a must. TI-83 hasn't been done yet although CLEM is implememnting it into Dynamic Shell. There some TI-83 Asm games I really want but they haven't been ported yet or aren't going to be ported. Like Mega Man 83-ASM or FFX4. And having emulation for these would mean less time porting for the 86 for programmers and more time making new games. I don't think 10K is too much. I have every game that I want on my calc (except The Quest III which isn't done yet. By the way, does anyone when that'll be done?) and I still have like 25K free. You have to pass this on to another programmer to finish. PLEASE!!!!!
|
Reply to this comment
|
9 September 1998, 03:54 GMT
|
|
Re: Article: "Creating the Ultimate GUI"
|
Jeff Min
(Web Page)
|
I think this shell would really kick ... uh... really be cool. :) I'm no ASM programmer, but speaking from a general programming standpoint, most of the graphics wouldn't waste too much memory, as someone mentioned above. If you look at the screenshots, most of the graphics (besides the icons) could probably be made with a few line or box routines. As for the icons, their usefulness is somewhat dubious, but nevertheless pretty cool. Once again, an icon routine couldn't be that bad, and each icon would only be 49 bits raw. Still, I guess it all adds up. And even if these features were component based, how much programming overhead do you think implementing the components would take? Kind of saying, "You can get rid of this 1K component, and that 2K component, but to do that, I'll have to add another 3K to the code."
|
Reply to this comment
|
9 September 1998, 06:39 GMT
|
|
Re: Article: "Creating the Ultimate GUI"
|
Miles Raymond
|
I saw a lot of references/similarities to WindowsCE. Now, I have to let you know that I am a die-hard WindowsCE fan, but hate Microsoft; I especially love H/PCs. Now that you know I have a somewhat biased opinion, I'll let you know that you GUI is a great idea. But, wouldn't it be easier just to port WinCE over? Besides, the lawsuits filed by Microsoft after this GUI is created will leave someone broke. Granted, the UI will let all of the Win95/98/CE dummies use a TI-calc with no learning. But, with all of the above-mentioned, I'd still use your shell, regardless of UI or the 'brand name' (rather: feel) of a Microsoft product. I love the customization one could do... the icons and explorer expecially.
-Miles Raymond
P.S. When will the integrated web browser be available?
|
Reply to this comment
|
9 September 1998, 07:17 GMT
|
|
1 2 3 4 5 6 7
You can change the number of comments per page in Account Preferences.
|