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"
|
Nicholas Lentz
|
If you are going to do TI-82/83 and TI-85 emulation, then I think that it should support programs larger than 12K, both in the emulator, and TI-86 programs.
|
Reply to this comment
|
11 September 1998, 19:25 GMT
|
|
Re: Article: "Creating the Ultimate GUI"
|
Scott
(Web Page)
|
Why does it have to be GUI to be a shell? YOu people are too wussy. You write hard assembly code to make something so hard to use. Why not make a UNIX or LINUX type shell. Sure, it is harder to use, but it takes almost no space because of the no graphics. Plus because of no graphics it could include some useful utilities that ususally can't be done. It could have a meter that tells you how much power is left in the batteries. It could automatically delete reals, lists, and other things you set it to do. I always delete all my reals and lists, so I really want something like that. It could also have a clock and timer functions. There are so many little handy things you could have just for sacrificing ease of use, if only I knew ASM I would do it. You could delete xstat, ystat, and fstat. You could reset defaults without resetting calculator. You could change which buttons do what just for fun. Also link controls would be cool. How about SND83,82,89,and 92 in addition to SND85? the shell's look would be simple, it wouldn't exist! THe shell shouldn't have a look. It would be like DOS. It could be called COS (Calculator Operating System). Not just a shell. It could replace all the stuff built in to the calc. WHen you start up you get a command prompt like > or : or something. Then there would be commands to do everything. Pressing the Graph button would type graph and press return automatically and open up the graph program. Why not abuse the power and let this thing take over the whole calculator. Sure it would be harder to use by a lot, but it wont be impossible. And it will make your calculator much more powerful.
|
Reply to this comment
|
11 September 1998, 21:19 GMT
|
|
Re: Article: "Creating the Ultimate GUI"
|
Adam Newhouse
(Web Page)
|
Something that I have always wished there was on the TI-86 was the ability to store variable contents to a string, not just an equation variable, and vice versa. Like if there was a string that was "10", you could convert it to a variable that equals 10. If this could store list contents to a string this would be even better.
|
Reply to this comment
|
12 September 1998, 03:09 GMT
|
|
Re: Article: "Creating the Ultimate GUI"
|
Chris
|
Battery Power meter in the menu bar or somewhere on the main screen is a must. I hate always having to run sysmon to find battery power. This would probably be difficult, but how about making a gui for dumb people to play games, and including a command prompt to satisfy all the people that like using dos. When you make your text editor, you should make some kind of program that can convert *.txt files into the editor files. This would make it possible to download something like one chapter of a book a day, and then download the next when you are done. Try to make something that would allow you to put your name at the top, or something like "Property of Blah Blah Blah"
There is a lock mem routine in Rascall, you might ask scabby how he did it. 10k is no problem, and this is the best thing I've heard in a while. Go phillip!
|
Reply to this comment
|
13 September 1998, 05:17 GMT
|
|
Re: Article: "Creating the Ultimate GUI"
|
Levi
|
Great idea this GUI!!
How about you give me a tip! How can I make icons appear in the menu window??
Mail me please!
Ps: Where can I find a book (English or Portuguese) that explains how to program in Assembly . I know a litttle bit os Basic, but...it's limited!
Thank you!!
Levi
|
Reply to this comment
|
14 September 1998, 00:00 GMT
|
|
Re: Article: "Creating the Ultimate GUI"
|
dave
|
hey, i don't wanna rain on anyone's parade, and don't get me wrong, all these ideas are great, but realistically...IT'A CALCULATOR!!!
|
Reply to this comment
|
14 September 1998, 01:49 GMT
|
|
Re: Article: "Creating the Ultimate GUI"
|
Stephane Cocquereaumont
|
This is a great idea !
I have an OS for the HP48, you can take more infos on http:\\www.mygale.org/11/shellos
But this soft have taka a *very* long time to be created, this is a very hard job !
Good Luck !
Stehane
|
Reply to this comment
|
21 September 1998, 10:33 GMT
|
|
Re: Article: "Creating the Ultimate GUI"
|
Anchal Nigam
|
It is excelent. What you have chosen to add is a good idea. 10 k not that much. That would leave 80 k or so for games, more then enough. Keep working.
|
Reply to this comment
|
23 September 1998, 22:34 GMT
|
|
Re: Article: "Creating the Ultimate GUI"
|
The Man
(Web Page)
|
I think all the stupid monkeys who think they konw how to program should shut up and let the man do his stuff. If your so good at programming then make your own fucking Shell the way you want it. Untill you can do that just shut the fuck up.
|
Reply to this comment
|
24 September 1998, 07:16 GMT
|
|
1 2 3 4 5 6 7
You can change the number of comments per page in Account Preferences.
|