A Review of User Interface Description Languages for Mobile Applications

Total Page:16

File Type:pdf, Size:1020Kb

A Review of User Interface Description Languages for Mobile Applications UBICOMM 2016 : The Tenth International Conference on Mobile Ubiquitous Computing, Systems, Services and Technologies A Review of User Interface Description Languages for Mobile Applications Nikola Mitrovic´∗, Carlos Bobed∗y, Eduardo Mena∗y ∗Dept. of Computer Science & Systems Engineering University of Zaragoza, Spain yAragon Institute of Engineering Research (I3A), Spain Email: [email protected], fcbobed,[email protected] Abstract—Adapting a graphical user interface (GUI) for var- Android XML [9] or XAML [10], and did not consider ious user devices is still one of the most interesting topics today’s mainstream mobile devices and their market uptake. in today’s mobile computation. The benefits of separating the We analyze the features of mainstream UIDL languages, and specification of the GUI from its implementation are broadly accepted. However, it is not clear which are the benefits and evaluate them from the point of view of being used by disadvantages of current GUI specification languages in order to mobile applications to allow a dynamic adaptation of such define and develop multiplatform mobile applications which can specifications to heterogeneous modern mobile devices. We adapt dynamically to different devices with different features. focus on their ease of use, and the availability of visual In this paper, we review User Interface Description Languages tools, among other parameters. We consider the following (UIDLs) that can be used currently to specify GUIs in mainstream mobile platforms. We analyze their features and usefulness for two categories of UIDLs, based on their relationship with the dynamic adaptation of GUIs to heterogeneous mobile devices. All mobile platforms and Web browsers: reviewed UIDLs are suitable for developing mobile applications; however, there are no UIDLs that will truly be able to operate 1) UIDLs specific for mobile devices. These UIDLs are across multiple platforms. specifically developed for a particular mobile platform, Index Terms—Adaptive GUI; Mobile Computing. e.g., Android or iOS devices. 2) UIDLs associated with Web browsers. These UIDLs are I.I NTRODUCTION linked to one or more Web browsers, and can be used for mobile application development. The use of mobile devices and applications is increasing. Finally, for the purpose of this review, we use as an Adapting GUIs to different mobile devices is still one of the example a simple currency converter, which converts numeric most interesting problems in mobile computing as modern amounts between three currencies. This example application devices vary considerably in their properties (e.g., screen size, was developed for each UIDL that is reviewed in this paper resolution, user input controls). The benefits of working with in order to evaluate the usefulness of the provided tools, and User Interface Definition Languages (UIDLs) [1] to specify its applicability to multi-device and multi-platform use. Full GUI is that such a specification can be re-used and adapted specifications of the example application in different UIDLs to different devices automatically. This approach has been can be found in [11]. accepted by the GUI researchers a long time ago [2], and it has been applied to multiple devices in the Personal Digital The remainder of this paper is structured as follows. Sec- Assistant (PDA) era [3]. However, there does not exist yet a tion II presents the UIDLs used in popular mobile platforms. standard UIDL that is widely used by software developers, let In Section III, we review UIDLs that are associated with Web alone by mobile apps developers. browsers. In Section IV, we analyze and compare the above approaches. Finally, Section V gives some conclusions and In this paper, we review main User Interface Description future work. Languages (UIDLs) that can be used currently to specify GUIs in mainstream mobile platforms. While there is a II. UIDLS SPECIFIC FOR MOBILE DEVICES large number of research-based UIDLs (such as UIML [2], UsiXML [4], or Maria XML [5], to name a few), these UIDLs In this section, we review the UIDLs used in the market have limited support and implementation code outside their leading mobile platforms, namely, Android XML (Android) respective research institutions, and, thus, we will focus on and Storyboards (iOS); both platforms together reach a 92% the mainstream UIDLs that have strong adoption in at least of market share [12]. We also include other relevant UIDLs one of the significant technology ecosystems. for mobile devices such as XAML (Windows 10), and QML Previous UIDL reviews [6][7][8] focused on theoretical (Ubuntu OS). UIDLs, devices and platforms of the time, and their usefulness A. Android XML for Human-Computer Interaction adaptation in general, as opposed for mobile application suitability. These prior reviews Android is the most widely used operating systems when it did not analyze modern, industry accepted, UIDLs such as comes to mobile devices (i.e., smartphones and tablets): An- Copyright (c) IARIA, 2016. ISBN: 978-1-61208-505-0 96 UBICOMM 2016 : The Tenth International Conference on Mobile Ubiquitous Computing, Systems, Services and Technologies droid market share is estimated at 60.99%. It is a Linux- capabilities and adapt the interface, but it is the developer based operating system whose middleware, libraries, and APIs who is in charge of developing the application in a responsive are written in C. Android supports Java code as it uses a and plastic way [14]. Java-like virtual machine called Dalvik (substituted by ART The developer can specify behavioral aspects in Android from Android 5.x onward). In Fig. 1, we show an excerpt XML in different ways, such as event handling. Moreover, of the Android XML code of our example application and a within the Android XML document, the application developer screenshot rendered in an Android N emulator. can state implicit navigation via the definition of Intents, <LinearLayout objects which represent the intention of the application, and ... allows development of applications in a service oriented way. <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" This service oriented model allows applications to use activi- android:text="Currency Converter" ties from other applications using a built-in broker mechanism. android:id="@+id/textView" /> <LinearLayout android:orientation="horizontal" ... > GUI and UIDL development can be performed using the <TextView ... android:id="@+id/textView2" android:text="Quantity:" /> Android Studio SDK’s visual editor. Android XML is suffi- <EditText ... android:id="@+id/Qty" .../> ciently developer-friendly and can be edited manually when </LinearLayout> <LinearLayout android:orientation="horizontal" ... > required, e.g., to refine GUI behavior. <TextView ... android:id="@+id/textView3" android:text="From:" /> B. Storyboards (iOS) <RadioGroup ... android:id="@+id/From"> <RadioButton ... android:id="@+id/eurFrom" android:text="Euros" ... /> Similarly to Android, Apple’s iOS also adopts a XML- <RadioButton ... android:id="@+id/usdFrom" driven interface via Storyboards [15]. Apple’s approach goes android:text="US Dollars" ... /> <RadioButton ... android:id="@+id/gbpFrom" further than Android: Storyboards use views (similar to An- android:text="British Pounds" ... /> droid’s activities), but they can also explicitly include naviga- </RadioGroup> <TextView ... tion aspects of user interaction in the GUI specification. Thus, android:id="@+id/textView4" a storyboard provides a comprehensive view of the whole android:text="To:" /> ... application and the workflow of interactions. </LinearLayout> <LinearLayout android:orientation="horizontal" ... The set of elements provided by iOS to define UIs does not <TextView ... android:id="@+id/textView5" contain some common visual elements such as radio and check android:text="Result:" /> <TextView ... android:id="@+id/output" /> button widgets (although the platform allows custom widgets </LinearLayout> to be developed if required). In Fig. 2, we present a screenshot <Button ... android:id="@+id/convert" android:text="Convert" /> of our example application rendered in iOS emulator; note that </LinearLayout> choices are made using switches, not radio or check buttons. We have not included the iOS storyboard code due to space limitation (the full code is available in [11]). Fig. 2. Sample app as rendered in iOS emulator from its storyboard Fig. 1. Excerpt of the Android XML specification and rendering for the specification. sample app. The model adopted by iOS devices is more closed than Android applications are built using Activities, which can the one adopted by Android. When developing applications be regarded as windows in a usual desktop environment, for iOS, the developer has lower heterogeneity of devices and Services, which are background processes without GUI. than Android, but the interface guidelines are more strictly Graphical User Interfaces are defined using a XML-based dictated by the environment. The definition of the application notation named Android XML [13][9]. appearance is done via a visual editor integrated in Apple’s Given the heterogeneity of Android devices, support for Xcode environment. While in Android (and other used UIDLs) GUI adaptation to different devices is provided using layout the interface definition can be easily defined (or at least elements and visual behavior policies. Android also provides edited) by the developer without visual help, storyboard XML further mechanisms to deal with different device display language
Recommended publications
  • Assessing the Quality of Mobile Graphical User Interfaces Using Multi-Objective Optimization
    Noname manuscript No. (will be inserted by the editor) Assessing the Quality of Mobile Graphical User Interfaces using Multi-objective Optimization Makram Soui · Mabrouka Chouchane · Mohamed Wiem Mkaouer · Marouane Kessentini · Khaled Ghedira the date of receipt and acceptance should be inserted later Abstract Aesthetic defects are a violation of quality attributes that are symp-toms of bad interface design programming decisions. They lead to deteriorating the perceived usability of mobile user interfaces and negatively impact the Users eXperience (UX) with the mobile app. Most existing studies relied on a subjective evaluation of aesthetic defects depending on end-users feedback, which makes the manual evaluation of mobile user interfaces human-centric, time-consuming, and error-prone. Therefore, recent studies have dedicated their effort to focus on the definition of mathematical formulas that each targets a specific structural quality of the interface. As the UX is tightly dependent on the user profile, the combi-nation and calibration of quality attributes, formulas, and users characteristics, when defining a defect, is not straightforward. In this context, we propose a fully automated framework which combines literature quality attributes with the users profile to identify aesthetic defects of MUI. More precisely, we consider the mobile user interface evaluation as a multi-objective optimization problem where the goal is to maximize the number of detected violations while minimizing the detection complexity of detection rules and enhancing the interfaces overall quality in means M. Soui College of Computing and Informatics Saudi Electronic University, Saudi Arabia E-mail: [email protected] Mabrouka Chouchane School of computer science of Manouba, Tunisia E-mail: [email protected] Mohamed Wiem Mkaouer Rochester Institute of Technology E-mail: [email protected] Marouane Kessentini University of Michigan E-mail: [email protected] Khaled Ghedira Honoris United Universities E-mail: [email protected] 2 Makram Soui et al.
    [Show full text]
  • Using Microsoft Visual Studio to Create a Graphical User Interface ECE 480: Design Team 11
    Using Microsoft Visual Studio to Create a Graphical User Interface ECE 480: Design Team 11 Application Note Joshua Folks April 3, 2015 Abstract: Software Application programming involves the concept of human-computer interaction and in this area of the program, a graphical user interface is very important. Visual widgets such as checkboxes and buttons are used to manipulate information to simulate interactions with the program. A well-designed GUI gives a flexible structure where the interface is independent from, but directly connected to the application functionality. This quality is directly proportional to the user friendliness of the application. This note will briefly explain how to properly create a Graphical User Interface (GUI) while ensuring that the user friendliness and the functionality of the application are maintained at a high standard. 1 | P a g e Table of Contents Abstract…………..…………………………………………………………………………………………………………………………1 Introduction….……………………………………………………………………………………………………………………………3 Operation….………………………………………………….……………………………………………………………………………3 Operation….………………………………………………….……………………………………………………………………………3 Visual Studio Methods.…..…………………………….……………………………………………………………………………4 Interface Types………….…..…………………………….……………………………………………………………………………6 Understanding Variables..…………………………….……………………………………………………………………………7 Final Forms…………………....…………………………….……………………………………………………………………………7 Conclusion.…………………....…………………………….……………………………………………………………………………8 2 | P a g e Key Words: Interface, GUI, IDE Introduction: Establishing a connection between
    [Show full text]
  • How to Use the Graphical User Interface TCS Technical Bulletin
    How to Use the Graphical User Interface TCS Technical Bulletin A. Create/Edit the Graphical Interface (Build Mode) Accessing the site using the Graphical Interface requires that you first build a layout (one or more layers/tabs depending on your site). This is done using the setup wizard to upload images/backgrounds and place controllers in appropriate locations on those images/backgrounds. When finished and saved, the User accesses the site using the Graphical Interface. 1. Click the “+” button to add a layer/tab for the site. (Skip to step 7 to edit an existing layer.) 2. Name the layer/tab by clicking in the field and entering the desired name. 3. Click the Choose File button to select the desired background image from your computer’s drive and click the Save button. 4. The Place View will open showing you the layer/tab title, a Save Positions button, the background image, and a bin of available controllers along the right-hand edge of the Graphical Interface which can be placed onto the layer/ tab. 5. Drag/drop controller icons from the icon bin to the desired location on the background image. Moving your mouse over each icon will show that controller’s name. The arrows at the top and bottom of scroll bar or the scroll bar itself allow you to scroll through the available controllers. NOTE: If you have placed controller icons too close to the icon bin and you would like to move them, you may need to scroll the available controllers up or down to clear the area around an icon to allow it to be dragged/dropped again.
    [Show full text]
  • Introduction to GREET1 2011 Graphical User Interface
    Introduction To GREET1_2011 Graphical User Interface Jeongwoo Han Systems Assessment Group Center for Transportation Research Argonne National Laboratory The GREET Training Workshop Washington, DC, Jan. 31, 2012 Outline . Purpose of GREET GUI . Structure and Operation of GREET GUI . Outputs of GREET GUI . Installation and Compatibility Issues with GREET GUI . Help with GREET GUI 2 Outline . Purpose of GREET GUI . Structure and Operation of GREET GUI . Outputs of GREET GUI . Installation and Compatibility Issues with GREET GUI . Help with GREET GUI 3 GREET GUI Development GREET 1 Excel Model Fuel Cycle (or WTW) Modeling for Light Duty Vehicles 4 GREET GUI Development Receives GREET GUI Communicate Display GREET 1 Excel Model Fuel Cycle (or WTW) Modeling for Light Duty Vehicles Run 5 Outline . Purpose of GREET GUI . Structure and Operation of GREET GUI . Outputs of GREET GUI . Installation and Compatibility Issues with GREET GUI . Help with GREET GUI 6 Steps of a Typical GREET GUI Session Copyright and information screens Load GREET Model User selects/specifies fuel blending options (in the background) User reviews/modifies key assumptions for User selects simulation year(s), fuel types, fuel production, fuel transportation and vehiclevehicle type type and and other other simulation key options options distribution, and vehicle operation Run GREET Model User selects/specifies feedstock, production (in the background) and fuel market shares Generate output file for energy use and UserUser selects/specifies selects/specifies fuel fuel pathways pathways and and emission rates and input log file for a record vehiclevehicle technologiestechnologies of inputs made during the concluded session 7 Outline . Purpose of GREET GUI .
    [Show full text]
  • The Three-Dimensional User Interface
    32 The Three-Dimensional User Interface Hou Wenjun Beijing University of Posts and Telecommunications China 1. Introduction This chapter introduced the three-dimensional user interface (3D UI). With the emergence of Virtual Environment (VE), augmented reality, pervasive computing, and other "desktop disengage" technology, 3D UI is constantly exploiting an important area. However, for most users, the 3D UI based on desktop is still a part that can not be ignored. This chapter interprets what is 3D UI, the importance of 3D UI and analyses some 3D UI application. At the same time, according to human-computer interaction strategy and research methods and conclusions of WIMP, it focus on desktop 3D UI, sums up some design principles of 3D UI. From the principle of spatial perception of people, spatial cognition, this chapter explained the depth clues and other theoretical knowledge, and introduced Hierarchical Semantic model of “UE”, Scenario-based User Behavior Model and Screen Layout for Information Minimization which can instruct the design and development of 3D UI. This chapter focuses on basic elements of 3D Interaction Behavior: Manipulation, Navigation, and System Control. It described in 3D UI, how to use manipulate the virtual objects effectively by using Manipulation which is the most fundamental task, how to reduce the user's cognitive load and enhance the user's space knowledge in use of exploration technology by using navigation, and how to issue an order and how to request the system for the implementation of a specific function and how to change the system status or change the interactive pattern by using System Control.
    [Show full text]
  • Evaluation of Graphical User Interfaces for Augmented Reality Based Manual Assembly Support Jordan Scott Eh Rrema Iowa State University
    Iowa State University Capstones, Theses and Graduate Theses and Dissertations Dissertations 2013 Evaluation of graphical user interfaces for augmented reality based manual assembly support Jordan Scott eH rrema Iowa State University Follow this and additional works at: https://lib.dr.iastate.edu/etd Part of the Computer Engineering Commons, Computer Sciences Commons, and the Mechanical Engineering Commons Recommended Citation Herrema, Jordan Scott, "Evaluation of graphical user interfaces for augmented reality based manual assembly support" (2013). Graduate Theses and Dissertations. 13269. https://lib.dr.iastate.edu/etd/13269 This Thesis is brought to you for free and open access by the Iowa State University Capstones, Theses and Dissertations at Iowa State University Digital Repository. It has been accepted for inclusion in Graduate Theses and Dissertations by an authorized administrator of Iowa State University Digital Repository. For more information, please contact [email protected]. Evaluation of graphical user interfaces for augmented reality based manual assembly support by Jordan Scott Herrema A thesis submitted to the graduate faculty in partial fulfillment of the requirements for the degree of MASTER OF SCIENCE Co-majors: Mechanical Engineering; Human Computer Interaction Program of Study Committee: James Oliver, Major Professor Eliot Winer Judy Vance Iowa State University Ames, Iowa 2013 Copyright © Jordan Scott Herrema, 2013. All rights reserved. ii TABLE OF CONTENTS LIST OF FIGURES iv LIST OF TABLES vi ACKNOWLEDGEMENTS
    [Show full text]
  • GUI Vs Command Line (CLI)
    GUI vs Command Line (CLI) Windows vs Non Windows Based Two most popular ways to interact with a computer are the Command Line and the GUI (Graphical User Interface). Command line is a text only interface, while GUI is an Interface, composed of graphical symbols. Most of the times, all the general tasks performed using a GUI can be performed by a Command line and vice versa (although when it comes to advanced tasks Command line may be the only option). What is a GUI? GUI (pronounced gooey) is a type of interface that allows users to communicate with operating systems in the form of images/animations/audio as opposed to text. This interface presents the user with the information/actions available through graphical objects (like icons). Both mouse and keyboard can be used for the interaction. The user performs actions by directly manipulating graphical objects on the screen. What is a Command Line? Command Line (typically known as Command-line interface/interpreter or CLI) is a mechanism that allows interacting with the computer operating system by inputting (typing) commands. This is a text only interface, which only requires input from the keyboard (usually referred to as “entering a command”). Typically, Enter key is pressed at the end of a command, after which the computer will receive, parse and execute that command. The output of the command will be returned back to the terminal as text lines. Output may include a summary of the task and the actual result as well. To insert command in a batch mode, user can use a script file.
    [Show full text]
  • Mac OS X Server
    Mac OS X Server Version 10.4 Technology Overview August 2006 Technology Overview 2 Mac OS X Server Contents Page 3 Introduction Page 5 New in Version 10.4 Page 7 Operating System Fundamentals UNIX-Based Foundation 64-Bit Computing Advanced BSD Networking Architecture Robust Security Directory Integration High Availability Page 10 Integrated Management Tools Server Admin Workgroup Manager Page 14 Service Deployment and Administration Open Directory Server File and Print Services Mail Services Web Hosting Enterprise Applications Media Streaming iChat Server Software Update Server NetBoot and NetInstall Networking and VPN Distributed Computing Page 29 Product Details Page 31 Open Source Projects Page 35 Additional Resources Technology Overview 3 Mac OS X Server Introduction Mac OS X Server version 10.4 Tiger gives you everything you need to manage servers in a mixed-platform environment and to con gure, deploy, and manage powerful network services. Featuring the renowned Mac OS X interface, Mac OS X Server streamlines your management tasks with applications and utilities that are robust yet easy to use. Apple’s award-winning server software brings people and data together in innovative ways. Whether you want to empower users with instant messaging and blogging, gain greater control over email, reduce the cost and hassle of updating software, or build your own distributed supercomputer, Mac OS X Server v10.4 has the tools you need. The Universal release of Mac OS X Server runs on both Intel- and PowerPC-based The power and simplicity of Mac OS X Server are a re ection of Apple’s operating sys- Mac desktop and Xserve systems.
    [Show full text]
  • Building a 3D Graphic User Interface in Linux
    Freescale Semiconductor Document Number: AN4045 Application Note Rev. 0, 01/2010 Building a 3D Graphic User Interface in Linux Building Appealing, Eye-Catching, High-End 3D UIs with i.MX31 by Multimedia Application Division Freescale Semiconductor, Inc. Austin, TX To compete in the market, apart from aesthetics, mobile Contents 1. X Window System . 2 devices are expected to provide simplicity, functionality, and 1.1. UI Issues . 2 elegance. Customers prefer attractive mobile devices and 2. Overview of GUI Options for Linux . 3 expect new models to be even more attractive. For embedded 2.1. Graphics Toolkit . 3 devices, a graphic user interface is essential as it enhances 2.2. Open Graphics Library® . 4 3. Clutter Toolkit - Solution for GUIs . 5 the ease of use. Customers expect the following qualities 3.1. Features . 5 when they use a Graphical User Interface (GUI): 3.2. Clutter Overview . 6 3.3. Creating the Scenegraph . 7 • Quick and responsive feedback for user actions that 3.4. Behaviors . 8 clarifies what the device is doing. 3.5. Animation by Frames . 9 • Natural animations. 3.6. Event Handling . 10 4. Conclusion . 10 • Provide cues, whenever appropriate, instead of 5. Revision History . 11 lengthy textual descriptions. • Quick in resolving distractions when the system is loading or processing. • Elegant and beautiful UI design. This application note provides an overview and a guide for creating a complex 3D User Interface (UI) in Linux® for the embedded devices. © Freescale Semiconductor, Inc., 2010. All rights reserved. X Window System 1 X Window System The X Window system (commonly X11 or X) is a computer software system and network protocol that implements X display protocol and provides windowing on bitmap displays.
    [Show full text]
  • Chapter 6 Operating Systems
    CSCA0201 FUNDAMENTALS OF COMPUTING Chapter 6 Operating Systems 1 Operating Systems 1. Operating Systems 2. Types of Operating System 3. Major Functions 4. User Interface 5. Examples of Operating System 2 Operating Systems Operating Systems • The operating system is the most important program that runs on a computer. • Operating system is an interface between computer and user. • It is responsible for the management and coordination of activities and the sharing of the resources of the computer. 3 Operating Systems Operating Systems 4 Operating Systems Operating Systems 5 Operating Systems Types of Operating System • Real-time • Multi-user vs. Single-user • Multi-tasking vs. Single-tasking • Distributed • Embedded 6 Operating Systems Types of Operating System Real-Time • A real-time operating system is a multitasking operating system that aims at executing real-time applications. • Responds to input instantly. 7 Operating Systems Types of Operating System Multi-user vs. Single user . A multi-user operating system allows multiple users to access a computer system concurrently. Time-sharing system can be classified as multi-user systems as they enable a multiple user access to a computer through the sharing of time. Single-user operating systems, as opposed to a multi-user operating system, are usable by a single user at a time. 8 Operating Systems Types of Operating System Multi-tasking vs. Single-tasking . When a single program is allowed to run at a time, the system is grouped under a single-tasking system . While in case the operating system allows the execution of multiple tasks at one time, it is classified as a multi-tasking operating system.
    [Show full text]
  • Release Notes
    IBM PowerHA SystemMirror for Linux Version 7.2.2 Release Notes IBM Note Before using this information and the product it supports, read the information in “Notices” on page 7 . Third edition (June 2018) This edition applies to IBM® PowerHA® SystemMirror® 7.2.2 for Linux and to all subsequent releases and modifications until otherwise indicated in new editions. © Copyright International Business Machines Corporation 2017, 2018. US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents About this document..............................................................................................v Highlighting...................................................................................................................................................v Case-sensitivity in Linux...............................................................................................................................v ISO 9000.......................................................................................................................................................v PowerHA SystemMirror Version 7.2.2 for Linux Release Notes................................ 1 New functions and features.........................................................................................................................1 Software requirements................................................................................................................................ 3 Installation..................................................................................................................................................
    [Show full text]
  • Txwindows, a Multi-Platform Text Mode Windowing Library
    TxWin, a multi platform text mode windowing library Jan van Wijk A library for development of text mode applications using a windowing system including menus, dialogs and more ... Presentation contents What & Why, text-mode windowing Main features of the Txwin library Some samples and demos Current shortcomings, future ... Availability and licencing TxWin 5.xx, a text mode windowing library © 2018 JvW What is ... A text mode windowing system (UI) A user interface based on the well-known principles of GUI's like Windows and OS2-PM, but operating entirely with text screen elements (ASCII, ANSI ...) Uses UI elements like windows, buttons, lists, menus, entry fields; Is operated using keyboard and mouse. As opposed to: Graphical User Interface (GUI) environments Simple STDIO based text applications that only use the keyboard and simple sequential output to the screen TxWin 5.xx, a text mode windowing library © 2018 JvW Why text mode windowing Portable to many platforms Fast, even on old hardware Works in minimal environments like boot diskettes/CDROM (OS2, DOS, Linux ...) Appeals to command line users TxWin 5.xx, a text mode windowing library © 2018 JvW Main features Multi-platform, currently available on: DOS, 32-bits, using a DOS-extender (DOS32A) OS/2, 32-bits only, OS/2 2.x and later, ArcaOS, eCS Windows 32-bit, XP and later (no 9x or NT4) Linux, works on most distributions, console or xterm MacOS, 64 bit runs in Terminal or iTerm, API much like OS2-PM or Windows Message based, extendable to a certain degree using
    [Show full text]