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"
|
Philibob
|
If we can get this shell pulled off, it's gonna be the best thing since PCI slots. Like most other people, I can't program ASM but I can do BASIC, but I can still see that this shell is very possible, but very difficult.
I agree that we should NOT attempt a knock-off of windows, for both reasons of liability and conveience. I suggest that we not have a "start bar" constantly wasting 8 precious rows of pixels at the bottom of the screen. Instead, why not a form of the "custom" menu that you can pop up and put away at the press of a button. This keeps your screen clean and allows it to be resident even when running asm or using the EOS (aka built-in TI-OS). Not to mention, captain bill winky gates and his team of man-eating lawyers won't come looking for our scalps.
Also, icons ARE very important in recognizing the difference between variable types. It's either that or file extensions, which will take up less ram but more of that coveted screen space.
Someone complained that they already have some of these features on the 89. That's great. I'll just give away my 86 and buy a new one every time TI makes a calc with a higher number. We don't all have high-paying jobs; I'm sure as heck not going to spend $150 without a darn good reason.
And now, my wish list:
Sync with PC/Calc - The 86 will already automatically recieve data from the computer via link port when running at the home screen. Why not at the shell, too? Heck, you could also make it auto-recieve from other calculators!
Schedule, Phone numbers, etc. - (I know you guys already mentioned schedule) Why buy a sharp wizard? We've got the RAM, the capability, why carry two things around all the time?
Don't worry, you people are going to hear from me again soon. I'm going to mock-up some screen shots and place them on my otherwise empty web page.
-Philibob
|
Reply to this comment
|
9 September 1998, 22:53 GMT
|
|
Re: Article: "Creating the Ultimate GUI"
|
Eric Matthews
|
This OS seems amazing, but it seems as though a lot of people are criticizing the necessity of it. No, it is not all "that" necessary, but still, an OS such as this, could be an amazing accomplishment to the TI86 community. Some of my suggestions may have already been stated, but they are still some of my opinions:
1) A way to link up with the 82 and 83, maybe even the 89's eventually. Some type of program, or notification that the link is connected and/or sending would be nice. This way we know if it is actually sending/receiving, etc.
2) The start menu isn't necessary as they say, but it is a nice addition, I would like seeing how much free RAM I have left in a start menu interface.
3) I love the idea of making BASIC descriptions for programs.
4) The idea of having an Explorer like interface, so that when linked, the calculators can browse the others files, this would be a nice addition. Sort of like the Network Neighborhood approach.
5) Also, I read in the Assembly-86 mailing list the other day, on an article that told of a variable that was difficult to get rid of, using this, wouldn't a recycling bin, or something like it, be available? The recycling bin may waste space, but it is great for the times where you accidently click on the wrong file to delete.
6) A clock would be a nice component, but I do not think it is worth the extra space for it as a main part of the GUI.
I agree that the OS should be more based on the needs of the calculator, and not solely based on games, but it still can hold quite a bit at 96k. If the OS could be under 10-15k, why are we complaining? Some people are using Greyscale images that are taking up all 96k and we don't see everyone complaining on those? Still, the idea of this OS for the 86 is truly amazing, and if I had the programming experience needed, I would. Yes, I know that a majority of my writing was based on others responses, but they had a lot of great ideas in my opinion. Good luck to all the programmers and authors that are working on this. Thanks.
- Eric Matthews
|
Reply to this comment
|
9 September 1998, 23:49 GMT
|
|
|
|
|
Re: Re: Article: "Creating the Ultimate GUI"
|
Eric Matthews
|
Another thing that I forgot about at the time was something along the lines of a variable editor or string editor within the OS. It would be nice to add, remove, edit the variables, lists, etc. This way, if there was a TIOS for the math work, it would be possible to just stay in the OS and not have to worry about booting it each time you wanted to be in it. With the TIOS, this way we could do our school work on it, then return to the Shell without exiting and rebooting like all the other OSes do. A variable, table, graph, etc. editor would be nice. One other thing, a BASIC program editor, or a quick jump into the built in editor would be nice.
|
Reply to this comment
|
11 September 1998, 00:23 GMT
|
|
Re: Article: "Creating the Ultimate GUI"
|
Patrick Wilson
|
I have a few GUI Guidelines I would like to submit myself.
Plug In Support
The Idea of components is nice, but a API, or application programing interface is better. It would allow other asm programmers to design their own additions to the shell that are independent of the origional creator of the shell.
Picture Editing
One majorly overlooked area in ALL shells so far is the ability to create and edit pictures. It might not be important but it would be nice to sit in class and doodle while the teacher is ranting and raving about the correct pronounciation of "Onomotopia".
Emulation
Forget the 82 and 83. Most of the good games are for the TI-85 ANYWAY! What we need is a good emulator plugin that emulates USGUARD, Rigal, ZShell, and PhatOS, or any other shell for the 85. Also, whats the good about an emulator when you can't get the actual program on your calculator without a bunch of muss and fuss.
Conclusion
Most of the comments to this artical are negative against the idea of the start bar. I agree. But listen to this amazing idea. Remember autohide? That little check box in the startbar prefferences window in Win95? Well, get the idea?
Just my two hundredths of a Dollar!
|
Reply to this comment
|
10 September 1998, 00:48 GMT
|
|
RESPONSE TO POSTINGS
|
Philip
|
Ok maybe I should of been more clear in my article, but this is not WindowsCE. If you take ASE and add Icons, Better TI-Basic program support, and Compression capabilities, then you have the the raw shell I mentioned above. Then there is the add-on components (which include: Emulation, String viewer, Explorer with linking capabilities, Icon Editor, and Icon library, and more) then basically you have what I described in my article. This type of shell is like ASE but allows users to expand the shells' capabilities to fit their needs and wants. The shell simply adds some things that ASE didn't have and puts them in a more graphical environment.
>Yes, hiding the Start Bar is a great idea.
>Yes, this shell was created with a calculator in mind, not a computer.
>Yes, I admit a clock is pointless, but I mentioned it anyway.
>No, this shell would be no more difficult to program then ASE was.
|
Reply to this comment
|
10 September 1998, 01:40 GMT
|
|
Zig Zag- lets inovate this shell
|
Matt
|
ok, i know you all are tired of hearing that the windows knock off is bad- im sorry, but i have ot agree.... to compensate, i have a better Idea. I need all of the shell programers to hop on over to www.xanadu.com and locate the page for Zig Zag. this is a program, currently only available for Linux (BTW, the person who mentioned commenting th code like linux earlier has an excellent idea) this program has revolutionized the way data is organized.... it is designed for wearable computers, but i think that it would be great for the TI, if not that, how about something more original.. truthfully, imj all too thrilled with navagating a windows style gui with an arrow pad.... the best thing we can do for the TI 86 at this point with shells, is to create on to seamlessly integrate with the calculator OS. This may require taking some hex dums like was done to get the 85 running asm, but it may be worth it... also, there is another problem ive noticed, 2 actually, the programs menu always gets too full, and the custom menu is never big enough..... maybe the shell would be as simple as making it possible to run asm programs from the menu without asm( and also the ability to have popup lists or scroll boxes with customizable features for at least the first five custom menu buttons. also, i have noticed the lack of ability to rename programs and files already on the calc.... let me know what you think.... i have many more ideas, but i dont feel like typing them out over the next hour..... although i will add: the ability to eit built in menus.. (add to them only.. and chagne additions)
ok, let me know what yall think... cause i might have more ideas for ya yet...
|
Reply to this comment
|
10 September 1998, 02:59 GMT
|
|
Re: Article: "Creating the Ultimate GUI"
|
Tom
|
This shell does seem like a great idea, and i also agree with the person who said that 82/83 emulation isnt needed. What we need to do first, is get the program running ti85 programs well (better than ASE, and definatly better than Rascall) then work our way down. The problem with those two shells, or so it seems, is that they tried to do too much at once.. make it too catchy to people than actually deliver. I guess im just saying if you are gonna work on this, take your time.. there isnt a hurry to get it put out. I'd rather wait for an extra few months for a release than have to deal with a low quality end product. Also, if a team is going to be assembled to work on this, i'd like to be in it, and to the original writer of the article: Release the source to what you have so we dont have to re-invent the wheel.
|
Reply to this comment
|
10 September 1998, 03:09 GMT
|
|
K. I. S. S. Principle
|
Matt
|
Oh yes, one more thing... this is a must know for every programmer...It is a motto i go by whenever i take up a programming job whether for Batch file programmin, TI basic, java, C or even simple HTML. it is called the KISS Principle
it stands for Keep It Simple Stupid....
Live it
Love it
Learn it
a windows knock off - heck even the real thing, doesnt make it possible to do this.... and it is one of the reasns i hate macs tooo.. but thats another story.. if ya want it, ask.
Matt
|
Reply to this comment
|
10 September 1998, 03:09 GMT
|
|
Re: Article: "Creating the Ultimate GUI"
|
Jolt
|
I think no matter how you make your shell(which looks awesome, by the way), you should definitly include a well programmed text editor. I hate to say it but the ones out now for the 86 are terrible.
That idea of windowed programs(that leave the status bar showing) is AWESOME.
I'm not an ASM programmer, but would it be possible to write a program that would replace the customer menu and replace it with the status bar of your shell? THat would be the best. I imagine that area of memory NONWRITABLE, though.
|
Reply to this comment
|
10 September 1998, 20:43 GMT
|
|
Re: Article: "Creating the Ultimate GUI"
|
Greg
(Web Page)
|
I love your idea totally!! It would be cool if you could run everything from a shell. Even though I love your idea I think it is a little bit far fetch. I would love for someone to prove me wrong though. If anyone is trying to make this spectacular shell...............Good Luck!!
|
Reply to this comment
|
11 September 1998, 01:13 GMT
|
|
Re: Article: "Creating the Ultimate GUI"
|
Curtiss Howard
(Web Page)
|
Another Windoze knock-off? Give me a break. Now I don't want to look like I'm flaming here, but it seems like the people writing shells are in serious need of an original thought.
Didn't we go down this road with Usgard before? Whatever happened to that cool GUI and the shared libraries... oh yeah, it was too bloated, so Andreas took it out.
Seriously, please stop trying to turn a calculator into a bloated Windoze box. That's another thing... seems like just about every TI'er I've ever seen on the lists worships Windoze. Ugh, use a REAL OS.
|
Reply to this comment
|
11 September 1998, 05:11 GMT
|
|
Re: Article: "Creating the Ultimate GUI"
|
tenalibabu
|
Ohhh baby!! ohh baby i think i will have a heart attack. If somebody makes that shell with all the features that pompous Philip thought of I am definetly clairvoyant about the ti-86.
I mean you have time, explorer and all this other stuff. I think what the asm experts such as Mathew shepcar,jimmy mardell and the others should do is start a chain program. Start this gui and wherever they are stuck or bored pass it on. Of course this is my opinion and definetely i dont know if they will even do it. Really glad to see this!!
|
Reply to this comment
|
11 September 1998, 05:51 GMT
|
|
<<<<<< LATEST NEWS >>>>>>
|
Philip G.
|
I am currently working with a well known asm programmer to create this shell.
Thanks for all you praises and flames. They will help tremendously in the creation of this shell.
Be watching for a news blurp on ticalc.org in the next couple of days which should include a screenshot and what we decided the shell should include.
So far these are my ideas:
1. Less of an association with Windows95. [I caught the tip :-)]
2. Icons (option can be turned on/off)
3. The ability to rename a program, delete it, view it (strings), hide it, move it to other folders, uncompress, compress, change icon and more
4. Possibly the ability to quit or shutdown the shell in the middle of a game or program and then when restarting the shell, the game begins right where you left off (Still working on this idea)
5. TI85, 82, and 83 emulation. Thinking about making this a component to the shell. (Then programmers could improve the emulation component)
Emulation should be better than ASE.
6. TI-Basic program descriptions and Icons
7. Auto-decompression and recompression so when running a compressed program, it automatically uncompresses and then recompresses when it ends. Can be turned on/off. Compression module will be a component.
8. No clock
9. Password function
10. Free Ram and program size
COMPONENTS:
1. Compression module
2. Emultion module
3. Icon editor and library
4. Text viewer amd editor
5. Simplified Explorer with folders and linking capabilities. Possibly the ability to link to a ti82 and 83 to get asm stuff.
6. In-shell Link component
7. Other programmers can make components.
Any other component ideas?
Ok, let me know what you think about this list. I probably left out a couple of things that I forgot.
|
Reply to this comment
|
11 September 1998, 11:52 GMT
|
|
|
|
|
Re: <<<<<< LATEST NEWS >>>>>>
|
Maddi
|
I don't have a TI-86, only a TI-83 ;) (me == poor student) However, I love your shell and am going to try and program something similar for the TI-83. I have a fair idea of how to do most things mentioned in the article.
So far:
(1) Compression (working on algorithms)
(2) TI-83 SOS/AShell compat. (dissecting source)
(3) Graphix similar to the ones above, with a few refinements of my own !!!
(4) Programs: Notepad (String Editor), Painter (Pic Editor), Explorer (File explorer), Linker (linking stuff)
(5) E.F.S == Extended File System. We TI-83 guys don't have the luxury of unlimited PIC vars etc, but I have worked out a way to store pix in prgm vars, strings, GDBs, etc. also.
(6) Compatiblity with the 83+'s Flash Archive AND Bryan Rittmeyers EII as soon as the drivers for the 83 become available (I hope...)
I'm not a wonderful asm programmer, but I'll give it a go....
|
Reply to this comment
|
24 April 1999, 11:31 GMT
|
|
1 2 3 4 5 6 7
You can change the number of comments per page in Account Preferences.
|