joernweissenborn / lcars

CSS Framework to style web pages like the fictional computer operating system of a popular sci-fi franchise.
http://joernweissenborn.github.io/lcars/
MIT License
333 stars 80 forks source link

Applied example #15

Open ghost opened 5 years ago

ghost commented 5 years ago

I got distracted by another project called php-desktop that I hope to wrap all this in (if I ever finish), but here's an actual application that I use (and need) which uses this CSS LCARS library.

First, here is the splash screen. It just remains until most of the screen elements have loaded. lcars01

And here is the VIDEO section. It's purpose is to upload videos from the command line and show the results, but for now the example showing ping and other commands running in real-time is most of the job done. lcars02

The ARCHIVE section checks that the mp3 and image for the podcast episode are present. It downloads our shownotes from Google Sheets too. These three elements form one huge command to upload them to where each show is archived. After a nice animation plays out, the EXECUTE button appears :) Pressing this uploads the episode, which will be formatted nicely for anyone visiting with their browser. lcars03

Here's a close up of the buttons, which are functional. lcars04 lcars04b

Pressing a button causes the text to briefly highlight. This can be done via touch screen, mouse or keyboard shortcut. lcars05

Some of the display area is used for diagnostic purposes. The button here shows whatever key is being press. lcars06

The button beneath it shows "true" if CTRL key is being pressed, otherwise, false. This means you can use keyboard shortcuts now if you don't have a touchscreen. lcars07

One section ("TEST") I use to show a screenshot of how this display looks in TNG. The colors in this CSS theme are very accurate and elements are easy to lay out if you know a bit about HTML and CSS (it took me a little longer and my code is not well organised). lcars11

Another section is a reference with joernweissenborn's LCARS demo. This provides quick access to the class names and what to expect from them. lcars12

In this shot, the 1600+ is the screen resolution, which tells me which media rules were chosen. The number counting up is the seconds since the last text animation which is useful for checking if animations lcars13 happen when they should.

It's early days, but sincere thanks to joernweissenborn for helping me make my ugly uploader look cool. I used to not like using it but now I love it :) I hope to make a lot of additions and improvements over time. I just need to think about what to do with the buttons on the left, since my CSS rules hide them on smaller screen resolutions.

joernweissenborn commented 5 years ago

WTF, you created this with this CSS?

I mean I hoped that people will do cool stuff, but this is really cool beyond I expected.

I am glad to be part of your amazing work.

What wonders me is the question if the LCARS style, besides looking cool, can really have an advantage in terms of user experienxe.

I think about things like a huge touch screen with the state of your smart home. My longtime goal with this would be to enable nice panels for light switches as well as kind of 'state maps', like the stylized Enterprise, but your sketch of your smart home.

Lot of talk, short story: keep the ideas of what one can do with it coming in!

(I will leave this open for a while for people to discuss what kind of cool stuff we can do with it :) )

Update: Fixed my english :D

ghost commented 5 years ago

Thank you my friend. For the LCARS advantage, well, I find it advantageous already. It's consistent, attractive and distraction-free. Also, with so many buttons available one display can serve almost any purpose. I don't know what I will do with all these in my example :)

For purposes that don't require detailed manual data entry - LCARS is easily the perfect choice. All IOT devices can be interfaced with beautifully this way. People in my city are working on a "smart city" project to monitor all kinds of properties via devices to present data about air quality, weather, traffic and litter. This would be ideal and if they make a public API or feed I hope to use it.

I would like to go through episodes of TNG + VOY to get more examples to make good CSS templates with using your library. The tricky part is how responsive design should behave. My application is on a server. I put the most essential part of the application in an area that works on smaller displays. Bigger displays get extra features or buttons to even change the display to something else. Maybe a mobile phone / tablet could connect to get served the additional UI.

Small Display

lcars01 2019-10-30 19_45_02

Larger Display lcars02 2019-10-30 19_46_05

jrwarwick commented 4 years ago

@tenleftfingers Amazing work. Would you consider extracting the "Small Display" into a basic html template page and submitting as separate, additional file in a Pull Request? Per Joern's guidance in other issues (e.g., #25 ) external resource files such as libraries and fonts would need to be removed or perhaps commented out.

ghost commented 4 years ago

@jrwarwick it would be late Jan before I could get time to separate out the HTM, PHP, and JS, but I'm happy to do it. Or I can send it to you sooner of you'd like to.

jrwarwick commented 4 years ago

@tenleftfingers I found your LCARS-props repository and dug into it. I ended up trying to go at it from scratch to really make it simple and basic (https://github.com/jrwarwick/lcars/tree/feature/template2). I still have a few problems I'm trying to iron out.

Maybe later we can compare, possibly have both to show basic vs. advanced technique.