Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this question
On episode #41 of the Stack Overflow Podcast Jeff and Joel discussed GUI ideologies that lead to poor usability. What GUI toolkits have you seen that most beneficially influence the programmers that use them? What level of separation (between user-interface and implementation) do you find most efficient for testability and usability?
What GUI toolkits have you seen that most beneficially influence the programmers that use them?
My own, developed based on experience with computer science and the specific needs of the industry I develop for. In short there is no magic bullet just tools that you have to use experience and judgment with. What works for my CAD/CAM software, is not going to work for a web developer's website, nor for a developer of office software, and so on.
What level of separation (between user-interface and implementation) do you find most efficient for testability and usability?
For traditional applications that run on the desktop of a computer I recommend variants of the Passive View. The class responsible for creating and managing the form is a thin shell that passes events to the UI Object. The UI_Object interact with the form via a interface. In term the UI Object implements a UI_View Interface and registers itself with a View Controller that is situated lower in the object hierarchy.
The UI_Object then execute object implementing the Command Pattern which modifies the model. The command object can interacts with the various views via the interfaces exposed by the View Control.
What this does is allow you to rip off the form classes and replace them with stub classes that implement the form interfaces. The stub classes are used for automated testing especially for integration tests.
The interfaces precisely define the interaction between the Form, the UI_Object, Commands and the views. They can be designed to be relatively language agnostic so they can make porting between platform easier.
I am not as proficient with programming for the web but there are related patterns that accomplish the same thing.
I have to also caution that Passive View can be overkill. You may not want to use it for simple setup dialog (like the dialog setting up serial port parameters). This a judgment call on whether the ease of maintenance and coding is worth the added testing time. If a dialog is only called by a single command to modify some setup parameters then it is a good candidate to have it defined within the command itself.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this question
Is there a Smalltalk equivalent of Inspect tool that is available for Microsoft Windows or something like inspect option available in Web browsers
From what I've researched, Smalltalk allows run-time reflection. I think this is more related to applications developed within the Smalltalk IDE.
I'm looking for an Inspect application for independent smalltalk EXEs.
I tried posting on SuperUser, but tags smalltalk was not available. I thought I might get answers here.
Such a tool could be created as a part of the Smalltalk application. However, trying to access objects from the outside without any help from within the Smalltalk system would be challenging because Smalltalk objects change their location very often (potentially, at every garbage collection) and therefore the external tool would need to somehow deduce the new location of the object from some fixed root known to it.
Now, if what you need is for debugging purposes, you could (in theory) halt the execution of the Smalltalk system and look for the object of interest in the object memory, tracing the instance variables as well, etc., resuming the execution of the Smalltalk exe when done. None of this is easy though, and that's why it would be much better if the Smalltalk application offered such a tool as an end-user feature.
Smalltalk is a language specification with many implementations. If available, tools for "external" debugging of Smalltalk applications will be vendor/implementation dependent.
Specific techniques for debugging a Smalltalk application without obvious access to a traditional Smalltalk development environment will vary between Smalltalk implementations. For example all GNU Smalltalk debugging is done without a Smalltalk IDE.1 There have been (are?) tools for "headless debugging" of Pharo applications. 2
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
I'm looking into several javascript frameworks that can be used for e2e automated testing, mainly: Webdriver.io, theIntern and Nightwatch.
And I really want to get some feedback from developers on which framework could best support the page object pattern?
Intern supports that pattern (and it's a general enough pattern that I'd assume the other two do as well). There are a couple of ways to implement it with Intern.
One possibility is mentioned in the Intern Guide. The Command object used to control a remote browser is wrapped in another class that adds page-specific functionality.
A different style of implementation that's a bit more flexible is described here. Setting up a Command wrapper to allow more than one custom call to be chained can be tricky. The second implementation uses Command helper functions, which can be easier to work with.
Here are some of the main pain points I've experienced with various framework page object implementations:
must allow creation of elements/locators once and not repeat them elsewhere (DRY)
how it handles a basePage (ie. page elements/methods not specific to a single page (eg. hitEnter()))
how it handles repeated elements across pages (eg. a nav bar that exists on multiple pages)
does it allow for readable tests
Opinion will certainly factor into these... which is fine. Answer these questions for your framework of choice, and you'll have your answer.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
Would really appreciate your help with Tcl/Tk testing framework. I am supposed to test a windows application written with Tcl/Tk, twapi, gdi 0.9.5.1. Do you know a black-box and/or white-box test framework that will help me with GUI testing (generate mouse event, etc etc, and drive the application)? What I expect from the test framework is something like what WindowsLicker allows you to do for Swing.
Tk can generate events with the event generate command, but it will only send these events to itself. You can combine these with the tcltest package to do such testing as you require.
That said, I actually advise splitting up your code so that there is a clear separation between the GUI and the functionality that powers it (the “business logic layer”, to borrow a phrase from server architectures). You can then test your baseline functionality thoroughly without having to fiddle around with testing GUIs, which is enormously easier. Once your BLL is working robustly, testing your GUI then becomes a matter of ensuring that actions in the GUI manipulate the view correctly or translate into appropriate BLL calls (which you know will either work correctly or fail in a way that is clear).
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this question
Programmers usually don't pay much attention to user interfaces and focus more on functionalities but users first judge the product by its appearance so it is necessary to make nice user interface for web, desktop and mobile apps.
Personally I don't like to spend much time for user interface design and sometimes try to look for some examples and then modify the existing design.
Does anyone know any good web resource with collection of user interfaces for web, desktop and mobile devices?
Personally I find quince a nice site for that purpose
I use Balsamiq Mockups and their site has a good collection of mockups you can look at. Also UI-patterns and inspireUx are both really good resources.
This one may be useful: http://www.flickr.com/groups/ilovewireframes
You can also have a look at the Yahoo design pattern and particularly the wireframe stencil kit that you can use to design your user interface: http://developer.yahoo.com/ypatterns/wireframes/
Design pattern libraries are very useful, but it can be a bit dangerous to look at them and "pick your favourites". This is not how good UI design happens. Different design patterns are useful for different contexts.
You may be better off by starting with a review of competitor products, and building up your own understanding of what works and what doesn't within your applications specific context.
For the web I recommend you to take a look at those links:
http://layouts.ironmyers.com/
http://www.webreference.com/authoring/style/sheets/layout/advanced/
http://www.code-sucks.com/css%20layouts/
http://developer.yahoo.com/yui/grids/
This Design Patterns set by Chris Messina on Flickr.com seems to be good.
Not a web resource, but the user interface for BBEdit from
Bare Bones Software (text editor, Mac OS) is the best I have
ever encountered and is worth studying and emitating. What is learned from
such a study can be applied on any platform, not just Mac OS.
"Best" = simple to use for beginners, intuitive gradual discovery
of more advanced features.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 2 years ago.
Improve this question
I am looking for some tool that would help me prototype basic website structure and logistics (or simply user interface).
It should be extremely efficient in the matter of time needed to do simple changes like changing position of objects on the page. It should provide features for creating multiple pages and linking them together.
I don't need visual aspect of the thing, just the basic structure, placement of objects and logistics.
I prefer offline, free or open source solution.
Try Mockingbird, it's mainly used for user interface prototypes, but you can easily use it for flowcharts / structure diagrams etc.
Best of all it's free!
Try Balsamiq Mockups, it's excellent and quite inexpensive. Or, Microsoft's Sketchflow is great for building interactive prototypes.
In no particular order:
Sketchflow, part of Expression Blend 3
Balsamiq
Mockingbird
Axure
"I prefer offline, free or open source solution."
Then Pencil is what you need!
I've tried iPlotz recently which is an online wireframing tool and I've been impressed.
I highly recommend Mockplus Cloud.
Mockplus is a desktop-based tool for prototyping mobile, web, and apps. You are able to create interactions with simple drag-and-drop. Besides,your teamwork will be time-efficient with the collaboration feature.
The admins are always online and can solve your problems in minutes if you have any. You can learn about design and get design inspirations and resources in this group.
What’s more, this group offers many benefits to its members only.
If you join the Mockplus and the admin will offer you 40% off coupons and free UI Kits & Fonts Package. Besides, you will get life-time free tech support on Mockplus even if you are not a paid user now.
If you are looking for a place to communicate with others about product and UX/UI design, and also get a great rapid prototyping tool with saving a big budget.