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

A good GUI would be a great thing. Most of the ideas thus far have been good. Many people are complaining because it's like windows. Why? The Win95 interface is fine. It is very productive and easy to use(although missing many features). The problem with windows is its to bloated. MS puts so much crap in there it takes a PII400 to run it!! Im a software tech at P&W so I know allot about Win95/NT. I could list 100million problems w/it if I wanted to. But of them maybe ten would be interface related. If this GUI ever comes out(which im doubting) it will really show MS. All the features and ease of use of windows in 10K! and on a machine that probably costs 10 bucks to make. BTW, TI really should make a better machine for us. The next consolz are going to use 300Mhz MIPS+DSP processors w/32 megs ram for $200-300. Imagine this: 66mhz MIPS processor, 66mhz DSP(digital signal proccesor, see below), 1 meg of DRAM(can anyone say 10 cents), and some kind of larger permant memory(not mechanical, maybe PCMCIA type thing). All this going through a moderate quality gray scale or color LCD. It can be done for<$200.

DSP->A procesor that alters incoming data(digital signal), used in heavily math oriented functions(matrix operations for 3d effects in PSX2). A programable DSP could be used for anything! 2D\3D games, trig functions, graphs, modem emulators.

With a machine like that we could do anything. Just don't let the GUI get bloated.

Reply to this comment    7 April 1999, 23:12 GMT

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

anybody have a list of parts and/or proceedures to complete the kind of machine "Big1" is talking about?

Reply to this comment    7 July 1999, 02:04 GMT

Money
leftorium Account Info
(Web Page)

You said that current calcs cost about $10 to make.
You said that the supercalc you described would be <$200.
So multiply the current retail price by 20.
No one would buy it, no matter how sexy.

Beautiful thinking, but also remember how greedy people are.
leftorium

Reply to this comment    18 October 1999, 05:01 GMT


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

Did you say DRAM? DRAM is nothing but a grid with lots of transistors & capacitors in a matrix. The problem is though, DRAM drains quickly & must be re-suplied every few miliseconds. The 1st TI programmable calcs had DRAM and were erased every time you turned off the calc. Oh well w00t!

Reply to this comment    13 May 2002, 05:47 GMT

Power
Tony Federer
(Web Page)

Here's my ideas

BATTERY LIFE

Any shell worth its code should be able to detect how much battery life is left. I'm not sure how to do this, but with a lot of intuition, it should be possible

Once that is known, it could be made to automatically increase contrast with battery drainage.

SYSTEM TRAY

A small system tray would also be useful. A battery icon could be shaded to show battery life left and a link icon could show when the link cable is attached.

Reply to this comment    2 June 1999, 18:21 GMT

Windows CE-85
Jason
(Web Page)

I did a lot of research into a shell similar to the one you mention in this article. I had sketches, flowcharts, psudeocode, the whole nine yards. Before I got a chance to seriously start work on it, I moved out, started working full time and went back to college. Life's wierd like that. I would still be willing to help produce the shell with a team of at least three people. 2-co programmers, 1-graphics designer, and 1-debugger. I agree completely on the component idea (we programmers call that modular programming.) I think the more modular the shell is, the better off it will be. A simple Add/Remove section would be used to install and remove modules. Now we can have sound, screen savers, link programs or whatever (no matter how pointless) in our shell because we want to. The one other thing that is a necessity is relocation. This has been a big issue in the shell programming community for a long time. In order to have modular components, they must be able to exist anywhere in memory and the shell must be able to locate new modules when they are added. I am not a seasoned TI-ASM programmer. I have written a few programs, but nothing like this. In all honesty, I will need some help in writing the boot code for the OS and creating a compiler for the new functions, but if someone is willing to help me, I will give it a serious effort. If this shell is completed, it will be the last ENTIRE shell we need to write for the TI-85 for a long time because any new features can be added as components. Anyone that wants to help me (especially programmers) please e-mail me at:

noblej@yahoo.com

Thank you for you time.

Reply to this comment    16 June 1999, 07:36 GMT


Re: Windows CE-85
Chris

You had alot of good ideas, as did most people who commented on this article. There's just one thing, Z80 based calcs are becoming obsolete. The 68K proccessor is much more powerfull. I think the perfect GUI should be aimed at the TI-89. The higher resolution and sharper image alone is reason enough, not to mention the 600K(w/firmware update) available memory. With the correct use of archive RAM, there would be plenty of room for all the modules and games you could want, especialy with compression. There are 2 features that would defenitly help. The abiltiy to store lesser used LIBS in archive, and a univeral highscore list stored in RAM for use by all programs, so scores will be saved even w/archieved games.

Reply to this comment    29 June 1999, 21:24 GMT


Re: Re: Windows CE-85
RCTParRoThEaD  Account Info
(Web Page)

Plus, GRAYSCALE!

Reply to this comment    13 May 2002, 05:49 GMT

So, let''s create it!
Webman_3041

Creating the "ultimate GUI" sounds like a cool idea, but not one that one person could take on alone. What do you say that a bunch of us get together and work on it, kinda like what was done with Linux. Who knows, maybe we could even get into doing peripherals..pens, clocks, etc... If anyone's interested, E-Mail me, and we'll try to get a team together. We'll definitely need at least a couple good ASM programmers, some graphics designers... maybe eventually hardware people.... Anyway, e-mail me if interested.

Reply to this comment    11 July 1999, 07:01 GMT


Re: So, let''s create it!
j shahade

Great idea! Im happy that someone spoke up. I would be happy to help make a group. A couple of people I know might be interested in joining.

Thanks for reading!

Reply to this comment    23 July 1999, 21:52 GMT


Re: Re: So, let''s create it!
DarkPhantom Account Info

I am a TI-83+/PSE programmer. I have all the asm utilities for basic programs and could easily help. My current feat is to learn ASM. I am also trying to create a BASIC shell using my ASM utilities. I would call it midnight OS. BTW, the ultimate GUI should be like a macintosh just becuase it would just have more rendered graphics and would be less die hard uber geekish. (Note: I am a geek "he he") I am devoting my interest to this project. (I would be glad to help)

Reply to this comment    12 October 2004, 22:37 GMT

Re: Creating the Ultimate GUI
Dustin Sneath Account Info
(Web Page)

I have an idea! Lets start this thing! Everyone could do something. I can write BASIC, so thats a start. Everyone else can do ASM and we'll be on our way. Also, Consider looking at the 'USB Peripherals' article. If this OS/Shell ever made it to the TI-84, it would be important that you include support for such things.

Reply to this comment    18 December 2005, 01:57 GMT

Re: Article: "Creating the Ultimate GUI"
Eric Tollefson

I own an 83 and I'v written a TI-BASIC GUI for it that I call Windows 83. It's still in a fairly early stage and I haven't uploaded or distributed it, but I'm using how it works as an example of how I think a GUI would be better implemented. It doesn't bother with using a start menu or a menu bar or any of that, but instead just shows a screen full of icons, like the desktop of Windows 95/98 does with My Computer, the Recycling Bin and so on. One of the icons goes to the options menu to set things like passwords and pointer options, another goes to a screen that works almost exactly like the normal homescreen, except you don't have access to some of the menus, but allows almost all math operations you would need to be accomplished, and a third exits the program. All the other icons represent programs that you can run. The icons are each a 7x7 square that is designed by the user in a setup program (a process I'm soon going to improve upon), and then stored as a group in a pic file. Even though I will still probably add some features to it, it is still a fairly small program, about 2300 bytes, quite practical even for an 83. It also features a password protection option (can be turned off) that, although it uses only 8 keypresses and a fairly simple math sequence to store the password, is still pretty unbreakable without access to either the program itself (obviously, that will break almost any password) or NSA-like equpiment. Anyone who uses that on a calculator needs to find a better hobby, if you ask me. In any case, I've probably digressed a little, but my point is that I think we've got to differentiate between a "practical" GUI and one that's "cool." A lot of the feaures he is talking about are pretty "cool," but how many of them are worth wading through to just use your calculator, even though you'll only use them infrequently? I think that the idea GUI would allow easy, quick, and efficient access to all the programs on your calculator, and not have too many unneccessary bells and whistles that just get in the way for their "cool" value. My favorite example of this is the Explorer. TI programmed the standard interface for a reason. Why should we take up RAM just to duplicate it and make it look pretty? That's my two cents on GUI design.

Eric Tollefson

Reply to this comment    7 August 1999, 06:32 GMT


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

I'm sorry, but I disagree with you.

1st: The idea of this system is that you can delete all this "unneccessary bells and whistles with a high 'cool' value" if you want to (but I would absolutely keep them!).
2nd: I am 200% sure it is possible to create a cool, good looking AND practical GUI. In fact, it is my opinion that a good design in most cases makes a program more easy to use. Emphasis on GOOD design, but I must say these screenshots look good.

On the article: I LIKE IT! Three remarks:
-PLEASE make a version for Ti-83,
-It would be my advice to make icons 8*8 pixels, for compatibility's sake (with Aurora, Ti-Explorer for Ti-83, and so on),
-I fear that it is quite easy to entirely screw up the directory system, but I don't see a better way.

Okay, that's all. Lots of luck to anyone who tries to make this!

Reply to this comment    17 April 2002, 16:21 GMT

Re: Article: "Creating the Ultimate GUI"
Bean

Beautiful idea - it really is, I really don't have much to say about it.

Oh, except that 10k is a lot on a calculator - even the 96k user memory TI-86...

But then again, if you could control what components you wanted that wouldn't really be a problem.

Very nice, now someone has to make it. I know I'd download it.

Reply to this comment    9 September 1998, 01:53 GMT

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

Heh, now I never quite understood what the point of a gui is if you're going to use the arrow keys anyways. Why not just have a plain shell with say a some extra features. Making a shell overly graphical makes it big and hard to use. Most of the ideas themselves are pretty good (especially the bit about uesrs being able to choose what parts of the shell they want), but having icons just cause they're pretty is kinda silly. In any case, just my thoughts,

-Dan

Reply to this comment    9 September 1998, 02:00 GMT


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

I know what you mean. I think the cool stuff should be behind the scenes, like emulation and libraries. I really don't see the point of icons, although a 7x7 icon would take up less memory than a program type description. The Explorer, I think is a bad idea. Why not use what's already built into your calc for deleting stuff. Did you ever wonder why there are no clocks on any of the calculators? It's because a calculator can't tell accurate time. This is because as the batteries lose power, the calc loses speed. Therefore, your clock would slow down as the batteries lost power. I do like the emulation and compression ideas though, even though they aren't exactly origional.

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

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

Has anyone thought about a external clock for the TI? it could be simmalar to the b.s. "year 2k" bios fixers i've been seeing at computer stores lately.

Reply to this comment    13 September 1998, 00:31 GMT

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

Has anyone thought about a external clock for the TI? it could be simmalar to the b.s. "year 2k" bios fixers i've been seeing at computer stores lately.

Reply to this comment    13 September 1998, 00:31 GMT


Re: Re: Re: Re: Article: "Creating the Ultimate GUI"
Jussi Ollila

There are clock microchips using I^2C protocol by Siemens. Please check http://www.clinet.fi/~ozone/mbus/ for more information. But again, is a clock _really_ neccessary on a calculator? A RAM expander would be a better option, and it's really easy to make one. Drivers could be more difficult if Ozone hadn't done them already... And all 85 users, check the page! Ozone has made a really good multi-calc chat program!

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


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

Rather than a clock for a calender etc, get a timex datalink watch. it has all that crap- and best of all, it's programmable, so everyone knows you're a geek. 8P

Reply to this comment    18 January 1999, 20:43 GMT

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

I now what you mean. I used to have one of those. I loved it. They should make those watches water-proof.

Reply to this comment    20 July 1999, 20:17 GMT

Re: Re: Re: Re: Re: Re: Re: Article: "Creating the Ultimate GUI"
Brian Sipos  Account Info

The Ironman Data-Link is to 100M :)

Reply to this comment    27 October 1999, 03:17 GMT


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

Funny thing you mentioned that: I accidently jumped in a swimming pool with a similar watch... It never worked since...

Reply to this comment    17 April 2002, 16:27 GMT


Re: Re: Re: Re: Re: Re: Re: Re: Article: "Creating the Ultimate GUI"
Derek Lomibao Account Info

Even waterproof watches are not very good in the water thats why I put mine in plastic wrap first. :)

Reply to this comment    26 August 2002, 01:55 GMT


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

Why would you want to be known as a geek?

Reply to this comment    1 December 2006, 01:19 GMT


Re: Re: Re: Re: Re: Re: Re: Article: Creating the Ultimate GUI
Mathew Velasquez  Account Info

Because geeks rock

Reply to this comment    23 November 2008, 17:21 GMT


Re: Re: Re: Article: "Creating the Ultimate GUI"
glock64  Account Info

The HP49 has a clock. What I want to know is, does it tell accurate time?

Reply to this comment    5 November 2001, 00:29 GMT


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

yup! w00t!

Reply to this comment    13 May 2002, 05:53 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