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"
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


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

I disagree that we don't need 82/83 emulation. There are some cool games from both calculators that haven't been ported yet or won't be. Like Mega-Man 83. I want that game real bad but until they finish at least the 85 port I can't have it. But if I had a shell that had 83 emulation I could have it, at least until the 85 or 86 port was done. Also there's FFX4. I'm not sure if it's any good but I'd like to try it. And Dying Eyes for the 82. I have no idea what it's about but I want to try it. Maybe 82/83 emulation doesn't seem necessary there are some of us that want some good games from the two calcs that aren't for the 85 or 86. And maybe someone will create an awesome game for one of them. I'd want to try it until the 85 or 86 port was done if at all. As an unrelated comment, I don't know if it's possible but a shell for the 83 that has 86 emulation would be awesome!! All my friends have 83s. I'm the only one with an 86 and when they some games like Mario 86 and Sim Community 2000 they really liked them and now they want to play my calc. Like I said, I don't know if it's possible but the 83 and 86 seem a lot alike although I'm not sure how similar the assembly languages are. Maybe some can give it shot.

Reply to this comment    10 September 1998, 21:54 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: K. I. S. S. Principle
Shalupy  Account Info

Mac is a Windows knock off? Windows copied Mac. Windows is alot better though.

-Ben

Reply to this comment    28 May 2000, 20:59 GMT


Re: K. I. S. S. Principle
Tyler Kramka  Account Info
(Web Page)

i want to hear it. I'm asking!! :-)

Reply to this comment    27 April 2004, 22:40 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: Re: Article: "Creating the Ultimate GUI"
Matt

Im not sure if i was misunderstood or what, but what i meant by the custom menu (and it is practical, cuase ive seen something similar...)
is to, for each button, make another menu to pop up, since the custom menu is changeable. rahter than the traditional F1-F5 menu however, make it a windowed list, and as you use the arrow cursors to move down it, it scrolls as necessary.

as for editing the other menus in the calc (adding to them) it would be dependant upon what a good asm programer could get out of a Hex Dump.

Has anyone checked out Zig Zag yet?

Reply to this comment    11 September 1998, 05:38 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


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

there is only one problem with the programmer chain. yeah there are plenty of good programmers but most are too busy with their own programs to work on someone elses. also when you pass it on each different person will have some idea on how to better optomize it you know. so say bill gets it first, then jimmy, jimmy may totally change bills programming to what he thinks is better. then if i was bill i would get a little mad, and this would get out of hand and blah blah blah when the he double hockey sticks (hehe) is the ti-89 coming out? i want this stupid calculater. cause i got 150 to waste. well later all.

Reply to this comment    11 September 1998, 19:42 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 >>>>>>
Nate Thompson

I know someone mentioned this earlier...but why doesn't someone try to make it an all-encompassing TIOS...which lets you do almost everything (i.e. graphs, math, link, etc) without having to exit the shell....kinda like what we have with computers, you don't have to exit WIN98 everytime you want to do something else (bad example, I know)...there should at least be some concideraion into making a module for this after the intial release...I'm sure it couldn't take a lot of memory to make this module...I'm very happy someone is finally making this great shell and I can't wait to see a beta! =)

Reply to this comment    11 September 1998, 18:27 GMT


Re: Re: <<<<<< LATEST NEWS >>>>>>
Jussi Ollila

It's ok to quit the shell and load it again because it doesn't take >30sec to do it! (Anti-Windows? not. Just Anti-inpractical.)

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

Re: <<<<<< LATEST NEWS >>>>>>
Cody Zimmerman

How about a memory locking feature?

Reply to this comment    12 September 1998, 18:47 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


Re: <<<<<< LATEST NEWS >>>>>>
Peter-Paul Kurstjens  Account Info

I've got already a windows for my TI.
I have a version for the TI-83 only and it is the same as displayed on the top of this page with a start-menu etc.

I you want some tips e-mail me.

PP

Reply to this comment    12 February 2000, 13:17 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