Git Product home page Git Product logo

7guis's People

Contributors

alex-sumner avatar alstrup avatar bjorn avatar carloslfu avatar cs-util avatar davedx avatar dependabot[bot] avatar eugenkiss avatar evgeniy-kunitsa avatar fpereiro avatar girkovarpa avatar greggirwin avatar jacalz avatar jcelerier avatar joakin avatar miguel-cv avatar mirohs avatar mrgibus avatar nuhvi avatar o0101 avatar petelomax avatar polymeris avatar spdegabrielle avatar suvjunmd avatar swhgoon avatar tdryer avatar tomasmikula avatar triptych avatar vmakoed avatar webpro avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

7guis's Issues

Enhanced Contrast

This is from accessibility features. Enhanced contrast and increased font sizes are important for people with low vision. This can be introduced as either reading system settings or a separate toggle to any of the GUI-s.

In principle, it should be possible to have separate "enhanced contrast" theme without special casing every single widget.

Input Method Editor

Ensuring that GUI framework Input Method Editor is important for multiple languages. This means being able to integrate with environment input facilities.

As a test:

  • CRUD should allow using IME to input text.

This is also needed for proper #32 support.

More info:

Enhancement: localization

Nowadays pretty much every GUI has to be localized. This is actually rather difficult, because simple GUI libs use the text as identifier (which becomes impossible if localized) and complex GUIs are further more complicated.

Something like a localized calculator (latin, arabic, rome, chinese, japan number systems and operation names) could be a nice showcase of the GUI library capabilities.

enhancement: treeview

Every good, complete ui toolkit needs to be able to render a tree view. It would be great to add a task that incorporates one.

Contribution in Lide

Hi, Eugen.

I want to participate with this contribution in Lide framework.

Can you include it in this portal, please?

Thanks.
7GUIs-HCano-Lide.zip

HERNAN CANO M
Systems Analyst
Medellín, Antioquia, Colombia

Speech-To-Text / Text-To-Speech

Speech to text / Text to speech can be quite important for accessibility. This could be an extension to any example that contains text input.

This would test how well GUI-s integrate with accessibility features.

For all examples, except circle drawing:

  • Speech-To-Text: It should be possible to interact with the app by voice alone.
  • Text-To-Speech: It should be possible to navigate the app blindfolded.

Drag and drop

I'd suggest adding some sort of manual drag and drop test to the guis as well.

The reason is that it requires getting positional information from two different objects which have no inherent relationship as well as dealing with strong speed requirements from event -> render.

Remove or edit github pages

Since the whole content of this repository including github pages was moved we should do at least one of the following:

The reason for this is dublicate content and to not confuse visitors landing on this page.

And BTW: I would prefer option 4) since this would inform google & co correctly, that the page was moved.

Update website?

Are there any plans to update the website. It seems last deployment was more than 2 years ago.
thanks

Add honorable mention: datepickers

It may be a good idea to have some sort of honorable mentions section for tasks that don't fall totally within the 7GUIs vision but that can be good exercises.

Datepickers seem like a good candidate for evaluating GUI frameworks because or how complex yet simple they can be.

Some problems faced when writing them include:

  • The two way communication between the text field and the popup.
  • The configuration of multiple allowed time spans.
  • "Replacing" the popup when the user clicks on the year to show the list of years.
  • Not all date times are valid: some never happen because of daylight saving time and others happen twice.

Benchmark idea

I was thinking about a benchmark that includes some trickier points that a lot of UI libraries do badly at, but which is important for large apps, and I don't think it's necessarily evaluated here. Namely, I'm talking about reusing, aggregating, and controlling dynamic collections of components.

Phase 1: Create a countdown timer

Properties:

  • Buttons for start/stop and reset
  • Take a duration as a parameter
  • Counts down to 0 and stops

Evaluations:

  • Managing states (running, paused, stopped, reset, etc)
  • Asynchronous data handling
  • Reusability -- you should be able to manually duplicate the timer in the window with different initial durations

Phase 2: A timer collection.

Properties:

  • A button for "add timer" and a field for "duration" that adds a new timer onto the page with the given duration
  • A button for "reset all" that resets all timers and stops them, and shows "start all" if all buttons are reset. If any one timer starts, then the button is changed back to "reset all"
  • Some text that displays the total elapsed seconds of all timers so far, counting up.

Evaluations:

  • You should reuse your code from Phase 1 without modifying or refactoring any of it (this is important).
  • How well the system can control and aggregate data from a dynamic collection of sub-components

Just a discussion issue, feel free to close or label as you see fit

Contribution in VFP

Hi, Eugen.

I want to participate with this contribution in VFP language.

Can you include it in this portal?

Thanks.
7GUIs-HCano-VFP.zip

HERNAN CANO M
Systems Analyst
Medellín, Antioquia, Colombia

Contribution in Lua

Hi, Eugen.

I want to participate with this contribution in Lua language.

Can you include it in this portal?

Thanks.
7GUIs-HCano-Lua.zip

HERNAN CANO M
Systems Analyst
Medellín, Antioquia, Colombia

Multitouch

One of the corners I've seen UI frameworks fail at is multitouch input. Good examples are pinch zoom while pressing buttons or multitrack faders.

This could be included as an extension to Timer or Circle Drawer.

  1. The Timer example could have four of those timers side-by-side and it must be possible to modify each independently.
  2. Circle drawing could use drag to create a circle and it should be possible to create multiple circles at the same time.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.