• Welcome! The TrekBBS is the number one place to chat about Star Trek with like-minded fans.
    If you are not already a member then please register an account and join in the discussion!

LCARS Program Links

orion24

Ensign
Red Shirt
Hello Everyone,

I just resurrected my old site LCARS Program Links, It's a site that has links to other sites that has LCARS Programs and info sites on it. So come on over and check it out. Here's the URL: http://lpl.50webs.com/

orion24
 
From time to time I still try to think of a ways in which lcars could help us design future computer systems.

Most of this stuff is simply fan-ware-- software which tries to recreate the appearance of TNG, purely for the aesthetic pleasure. Some do provide text editors and little games and things, however the one's I've taken a look at do sacrifice much of the the user friendliness of the computer in order to create this appearance, which in my opinion is a step backwards, not forwards.

I'm coming at this from the opposite angle. To think of the user-friendliness and machine intelligence of TNG and bring that to today's PC, where the end product might bare no resemblance to lcars in appearance.

Its really hard to come up with ideas though, as most of the things I try end up being less user friendly than what we already have (ie, windows).

We're just so used to just typing in data and pushing objects around the screen with arrays of little buttons and pointers, I'm struggling to find of an interface that is truely superior. Because for this kind of interface, Windows does a pretty good job of it.

What I'm looking to develop is a computer that doesn't need step by step instructions to carry out complex tasks, but can handle complex instructions, with an interface that makes this kind of interaction possible.

The only plus I have is for highly portable highly modular software.

So if any of you guys have any ideas, I'm all ears... big pointy ones. :)
 
Last edited:
From time to time I still try to think of a ways in which lcars could help us design future computer systems.

What I'm looking to develop is a computer that doesn't need step by step instructions to carry out complex tasks, but can handle complex instructions, with an interface that makes this kind of interaction possible.

The only plus I have is for highly portable highly modular software.

So if any of you guys have any ideas, I'm all ears... big pointy ones. :)


And we can name it "Skynet."

Atavachron
 
I think Alicebot/AIML (XML) provides useful verbal command parsing. Not sure how well any speech interface would work. But so far I can't find a way to translate the verbal commands into computer or web applications. Not being a programmer myself....
 
Ok peeps.

Since I joined this forum and expressed interest in how lcars could inspire us to develop superior computer systems, I've been asked a few times now to think of ways in which lcars (as we see it on screen) could be reinterpreted as an alternative desktop for today's mouse and keyboard systems.

I want to make it clear that this isn't really my interest, but I have today given it a half hour of thought, and this is what I've come up with:

lcarsxpbb8.gif


How it works

application space
This is where the GUI for the current application is located.


Task in view, title
The name of the application currently in view. Below this may be a subtitle, such as a file name or some other relevant information expressing what the application in view is currently doing.


task manager button
brings the task manager page into view in the application space.
This gives an overview of all applications running on this machine.
Lists applications by number, name, priority, processor usage. When the task was started, who stated it, comments can be added as well as embelishments to flag a task as important, or lock-outs to demand security clearance to access or close it.
The task manager generally gives the ability to adjust task priorities, to duplicate tasks, or to cancel them. Also the ability to move tasks up and down in the task bar, or to toggle a task's visibility in the task bar. Also the ability to switch to a task from here, rather than using the taskbar.

Multiple tasks may be selected and a "task transfer" button pressed which will initiate the transfer of these tasks from this station to another. This action moves the selected tasks into a transfer list located on the system control page.

Also an option to close all tasks/applications.


task bar
lists tasks currently running on this system. Typically used to list those tasks we need to switch between easily. This works rather like the windows task bar. Click the task you want to work with.


task in view
highlights the task currently in view in the application space. No further explanation needed.


application menu
pressing this bar brings a dropdown menu below the bar, or rolldown tool window below the bar, overlaying the application space. These menus are applicable to the application, such as those typically found in windows software: File Edit View etc.
Pressing the bar a second time will close these menus so that they don't occlude the application space.

The D at the end of the application menu bar could operate like the "close" button in windows. Since this desktop uses windows switching, there is no point to minimise and maximimise buttons.


system control button
brings the system control page into view in the application space. This allows a user to log in or out as well as perform network operations. It is possible here to access the network neighbourhood, to start/close/manipulate applications on other systems. It is also possible here to transfer tasks running on one computer by use of the transfer list (we can either move tasks in or out).

Another option in this page is defining a "system profile". This could be a name given to the currently loaded set of applications together with the and files/operations they are running. The user then has the ability to save this profile. More on this later.

system menu
analogous to the application menu, this brings a dropdown menu for system functions. Typically this will comprise of a "start menu", as well as a button for alternative display modes, such as:
(1) standard. As shown
(2) Split screen, where the taskbar and application menu and application space is doubled up width-wise to give a view of two applications simultaneously, side by side.
(3) Full screen, more application space, where only a system menu appears along the top edge of the screen (as a bar), and the application menu appears along the bottom of the screen (as a bar).

A start menu would contain the entiry library of applications available on the system, organised into categories and subcategories, using numbers to reference these categories. So 5xxxx might be the arts library. 50xxx might be the media library. 501xx might be music library. 5014x might be music players etc. Tasks can be referenced in the task bar by their reference numbers prefixed yy- for multiple instances. eg 00-50142 might be the first instance of a winamp-type music player. I'm sure that a user would soon get used to what the numbers mean in the taskbar.

Many other options can appear here in the system menu for access to system functions, like review of connected hardware, network configurations, and other control panel type things, which configure the operating mode of the whole system, not any particular application.

Another option might be a quickstart menu for the current user, where things like instant messaging, or email might be immediately at hand.

The right hand side of the system menu bar could conceivably be like the system tray/quickstart menu in windows, with a clock and quickstart icons.

The D at the end of the system menu bar could operate like a "reset" button, which initiates closing all applications and returning to standby mode.

Another system menu option might be choosing a system configuration from preconfigured sets of applications, which can be bulk loaded as a "system profile", which I mentioned earlier.

This might be suitable like if you were installing a new standard computer on the bridge, you might want to configure it as a science station, so you simply load the science station profile, which might otherwise take a few minutes to manually set up. If you quickly wanted to change stations around eg, in battle/red alert, you might want more tactical stations instead of science stations, so it would be easy with this setup to rapidly load "damage report" profile, or a "strategic analysis" profile.


And that's about it. :)

I hope this is what those people wanted me to think up.
 
Last edited:
Hi Jadzia,

WOW, That's a very detailed description. Very well thought out, I hope you do develop it. Please keep me apprised of your work.
 
WOW, That's a very detailed description. Very well thought out, I hope you do develop it. Please keep me apprised of your work.

What, you want me to make this damned thing? :lol:

Well the basic interface wouldn't be hard. The difficulty would be in the need for specially written software that integrates with the system I'd write.

There are two approaches:

(1) I provide a closed unique platform, comparable to a hybrid of XML & VBA, for users to develop applications with.

Advantages: Better integration, and all controls (eg, buttons) will be standardised. Also it should be fairly easy for people to develop applications for the system.
Disadvantages: Slower to make, and I might not finish it depending on how quickly my interest fades. Applications will run slower, as is the case with interpreted languages like VBA. Basically, everybody who wants to write software for it is dependent on me providing script support for whatever windows components they want to use.

(2) Users can write their own windows software, and make it look like lcars. My application would basically be a application manager for switching between windows programs, where these applications would run independent from my program, and could be loaded independently.

Advantages: Easy. Applications developers have all their normal resources to work with. For example, the advantage of building this over the top of windows would be that developers could make use of windows components like directx and graphics hardware for any 3d applications they wanted to make, or their tv tuner cards, or use of internet for writing chat/IM/email applications, for example.
Disadvantages: Poor integration. Many of the networking/task managing features I described in my previous post would not be easy, and in some cases not possible.


So which would you prefer?


edit:
Also another feature I thought could be used but couldn't see how to implement it effectively, involves the D often placed at the ends of rectangular bars.

I though these could be suggesting that a control doesn't fit, so the D at each end means "scroll along to see more of this control". For example in windows menus, where the menu is too big you can get up and down arrows in the menu to scroll it. Or in a toolbar if all the buttons don't fit, you get an arrow to bring a dropdown list of the invisible buttons. If lcars uses compact layouts, then maybe not everything is visible. Just a thought, but like I say, I can't see how to make it work effectively.
 
Last edited:
Ok, I'll have a think about developing something this weekend. :)


edit:

Ok I made a start on it this afternoon.

I have the basics of the interface done: the graphics elements and a few controls (elbows and boxes and buttons and things). It's enough to build basic displays with a scripted language. These are all fully rendered; they don't used predrawn graphics, so they can fit whatever screen resolution you want them to.

I'm not sure how this is going to work with widescreen though. Do we stretch the graphics from 4x3 to fit? or just allow true widescreen interfaces? Because having to cater for different sized application panes could be awkward for users to develop their applications.

Anyway, next I need to define the interface event responses to keyboard and mouse events.
When I get that bit done, I'll upload a demo. :)
 
Last edited:
When I get that bit done, I'll upload a demo. :)


Ok, this is a demo of the system.

The "OS" part works: It will read a script file and render a display. There is only event response for the OS component atm: that is the dropdown menu bars, and task switching.

demo1ve4.gif
 
We need to define a widget set for this interface. So I would like some suggestions for what they should look like and how they should function. Sample graphics can be provided to help illustrate your ideas. :)
 
OOPS, my mistake, One question, For aesthetic purposes would you have the scrolling numbers on the top left or just leave it alone?
 
I am try to make something functional, and scrolling number wouldn't really fit with that, unless they convey something both relevant and useful. :)

But that top left area is dead space at the moment. The program title can fit right across in theory, but what can we put there otherwise?

Also, this is the kind of thing I meant by widgets. These are not final ideas - I'm open to suggestions.

widgetexki5.png


For example, I'm struggling to think of what can be used for the dropdown list, or scrollbars, or some alternative to these widgets if we don't use them.
 
If you are not already a member then please register an account and join in the discussion!

Sign up / Register


Back
Top