ticalc.org
Basics Archives Community Services Programming
Hardware Help About Search Your Account
   Home :: Community :: Articles :: Creating the Ultimate GUI
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 :-)

[Practical User
Input]
[Practical User Input]

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.

[Icons]
[Icons]

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 :-)

[Start Bar]

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).

[Explorer]

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!

[String Viewer and
Editor]

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: Article: "Creating the Ultimate GUI"
Philip

The icons thing is just for fun and you really don't need it. I was trying to show shell developers that icons are possible on a calculator. They would also allow programmers to make custom icons for their programs. Basic programmers could also have icons (see my article update below) I never programmed the shell myself. Some of the screenshots I've had for a while and others I made right before writing this article.

Reply to this comment    9 September 1998, 08:59 GMT


Re: Re: Re: Article: "Creating the Ultimate GUI"
Timendus  Account Info
(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: Re: Article: "Creating the Ultimate GUI"
jeremy

i gotta say that having it start up whenever you turn on the calculator would have to be easy enough. cause if you look at other programs like ashell, or mario, or repton, you just hit the power button and it turns off the calculator. then when you turn it on it is rigth back where you were. so granted that you shut down the calc the right way it should be quite easy. though i know nothing about asm at all so i don't know how to do it. ask bill or scabby. by the way. im going to buy a ti-89 the second i can find one near me, so you good programmers get some good asm tutorials ready cause im waiting to learn assemble on that calc. =)

Reply to this comment    10 September 1998, 19:48 GMT


Re: Re: Re: Article: "Creating the Ultimate GUI"
adam

you are right about that but thats not what he meant. he means programs like on86 that turn on regardless of how you turn it off (except from shell)

adam

Reply to this comment    5 November 1998, 22:53 GMT

Re: Re: Article: "Creating the Ultimate GUI"
Filja Maddok

What if you just want to turn the calc on to do a simple math problem?

Reply to this comment    12 April 1999, 01:15 GMT


Re: Re: Article: Creating the Ultimate GUI
bear88  Account Info

If you're gonna have it turn on everytime the calc does, then it should be a Flash APP & you could just have the Start-Up APP run it when the calc is turned on.

Reply to this comment    28 March 2004, 18:13 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: Re: Article: "Creating the Ultimate GUI"
S.T.L.
(Web Page)

<<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.>>
You know, that's just what I was thinking as I read that part of the article. :-D

Reply to this comment    9 September 1998, 06:06 GMT


Re: Re: Article: "Creating the Ultimate GUI"
tenalibabu

oh no!! we all dont wear watches. It looks kind of embarassing when you are in a class and you keep looking at your watch. The teacher starts degrading you because you look like you want to get out of that class. Well anyway enough of my jibberish. I would love a clock which would run like a watch (as in never stop) even if the calc is turned off. Probably isn't possible.

Also, do some of those games and shells with the shut off feature really turn off the calc when pressed the button. I don't think they do because once i turned it of through my shell and my batteries were low after a while. I heard the same from a friend of mine also. I could be wrong, so slap a message on my face.

bye

Reply to this comment    11 September 1998, 06:02 GMT


Re: Re: Re: Article: "Creating the Ultimate GUI"
Cody Zimmerman

Yes shutting down the calc through a shell does work. I've had my 86 for three months and I've always used a shell and the shut down feature. I also use my calc a lot since newer and better than my old 83. But whenever I check my battery power with System Monitor it says that I still have like 84% of my battery power left. Maybe it doesn't turn the calc off like if you use 2nd [Off] but it definitely goes into extermely low power at least. Ask the programmer of whatever shell you use to find out for sure.

Reply to this comment    11 September 1998, 21:33 GMT

Re: Re: Re: Re: Article: "Creating the Ultimate GUI"
brentes
(Web Page)

I was looking at the source code of something that shuts the calculator down and I think it just turns the screen off... it is like a call like _screenoff or something like that....

Reply to this comment    5 September 1999, 04:42 GMT


Re: Re: Re: Re: Article: "Creating the Ultimate GUI"
Free_Bird Account Info
(Web Page)

Most shells use the ports to turn of the screen and timer interrupts, and then execute a HALT, which waits for an interrupt: ON interrupts, because timer interrupts are deactivated. Then it turns the screen back on and if necessary the timer interrupts. If tried to see what TI-OS does, and it seems to be about the same. Strange thing: according to TI-OS, it remains at 38h, ex af,af'! Anyone know why?

Reply to this comment    20 February 2000, 10:50 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: Re: Article: "Creating the Ultimate GUI"
Philip

The shell wouldn't have component information buil-in. When you tried to run Explorer from the start menu for example, the shell would look for Explorer and if it didn't find it, it would give a message like "Component not found!". Searching through the Ram for a program or component only takes a small amount of bytes. Adding components would be easy too, and add almost nothing to the size of the raw shell.

Reply to this comment    9 September 1998, 09:09 GMT


Re: Re: Article: "Creating the Ultimate GUI"
lord_nightrose Account Info
(Web Page)

MOO!

Reply to this comment    22 January 2002, 23:56 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

Re: Re: Article: "Creating the Ultimate GUI"
Robert

Yeah, we need a modem in these Calcs Someone needs to think of a way to do that, lol =)

Reply to this comment    11 September 1998, 00:15 GMT


Re: Re: Re: Article: "Creating the Ultimate GUI"
David Phillips

Actually, that's already been done with the 85 and 86. The GraphLink converts the link port to the standard RS232 protocol, or the serial protocol used by your PC.

To connect a modem to your calc, you need a graphlink and an external 9600 baud modem. There is a program called RTerm which simply turns your 85/86 into a terminal to be used with a modem (or or works as a chat program).

This could be fun. The author of RTerm said you could call local BBS's and stuff. I'd love to try, but I don't have an external 9600 modem...

Reply to this comment    11 September 1998, 06:04 GMT


Re: Re: Re: Re: Article: "Creating the Ultimate GUI"
Kupare

I have one but I have no Idea where to find a bbs in my area.. or how to use one

Reply to this comment    12 September 1998, 03:21 GMT

Re: Re: Article: "Creating the Ultimate GUI"
Alan Johnson
(Web Page)

Cmputer for Internet, calculator for math (and games)

Reply to this comment    12 September 1998, 22:13 GMT


Re: Re: Article: "Creating the Ultimate GUI"
Andrew Rusterholz

Just wanted to point out that the abbreviation seen in the screenshots for Windows CE is "WinCE" or "Wince" - something I do often when using Windows 98, CE, or NT!!!!!!! How appropriate! =)

Reply to this comment    21 December 1998, 18:03 GMT

1  2  3  4  5  6  7  

You can change the number of comments per page in Account Preferences.

  Copyright © 1996-2012, the ticalc.org project. All rights reserved. | Contact Us | Disclaimer