Many GUI toolkits for making GUIs for desktops are based on 96 pixels per inch or something similar. Most of these toolkits work well for 1080p and lower resolutions. Now, with 4K and 8K (and my dream resolution of 16K) displays, the amount of pixels involved temporarily exceeds the reasonable settings of these toolkits. That can mean areas of a GUI program that are too small, too narrow, and barely noticeable.
Yes, 4K and 8K resolution is a huge leap beyond in terms of the amount of visual information you can pack into the screen.
I ran into the very directly recently when writing a C++ program using the Fast and Light Toolkit (FLTK 1.3.3). The program logic is such that it dynamically adjusts screen areas based on the overall resolution. It is accurate to say I use a proportional layout approach that resizes various GUI widgets based on percentages translated into pixels. The results are excellent.
Except, you cannot easily control fonts in FLTK. The font size in my program is too small. I can solve it, but not the way I want. In the 1.3.x series of the toolkit, API ease of use and results falls apart in the area of fonts. After a few hours of research I learned there are code libraries from others who ran into the same issues. While they do provide font overrides for FLTK, the situation gave me pause to consider the future. Do I really want extra code at the application level for fonts? Not really. In fact, I am attempting to slim things down.
While I expect native GUI toolkits to adapt (by the way, this is not a problem for certain GUI toolkits for .NET and Java), it would probably be best to have great alternatives that are more adaptable and forward-looking. Alternatives that are heavily vector-based. Some exist, but a few of the ones I saw had issues. This is less of an issue for mobile platforms (phones and tablets) today has they have yet to reach 4K across the board but that time is coming soon.
The Silicon Valley mantra of “Fail Fast” does not work in every case. Avoid Silicon Valley mantras when working on information technology. Real life is more complicated. Facebook as a company took many years to become a major company. Apple, Microsoft, and several other large companies had and likely still have their intense moments, but good things take time.
The Galaxy Note 7 situation appears linked to attempts to get out a top grade phone weeks ahead of the iPhone 7 announcement. A laudable goal and indeed a clear act of decisive decision-making. The problem is that complex engineering cannot be rushed. Even when you have an established process.
The “good old days” of the 1980s and 1990s saw information technology and processes that was much simpler than exists today. Back then, you could rush things out and even if there were a few rough edges, you could still succeed. Today, customers expect finished items with no major show stopping aspects. Along with that, all the simplified graphical user interfaces and hardware form factors are possible because of “more” not less complexity behind the scenes. You cannot rush any of it and have a stable product.
The lesson is, if you are going to engineer a solid solution, you must take your time. Plan well. Test thoroughly and triple check everything. Otherwise, the cost may be your very way of sustaining a living.
Samsung Permanently Discontinues Galaxy Note 7
Software is not patentable. Software is a form of language. A specification, not a technology. Software enables technology. Rather, the computer itself, which is the actual technology is merely reconfigured in terms of the signals it receives, processes, and outputs based on software triggers. The computer is in the public domain as a technology, widespread, and software is the common language for reconfiguring them to do certain things following generic, repeatable steps. Things like opening a file, showing a file on a display, and sending the file to someone else. That file could be a text-message, photo, document, or set of inputs into a database or data-driven business situation.
Many computer programs, apps that are GUI based will need to be rewritten. Reporting packages, videos re-encoded, a renewed emphasis on RAW, lossless image formats, vectors formats instead of encoding pixels. Problem is pixels have great speed and support despite their forward compatibility limitations.
We all encounter a computer program that has glitches. Most of them. A common occurrence.
How much critical software from Microsoft has to be patched regularly? Quite a few. Even Windows Update itself has glitches sometimes in the course of pushing out glitch fixes.
Regular Android updates. A 5mb update here, a 20mb update there, you rack up 200mb easily just in updates. The same for iOS, Mac Os, and Linux. Continue reading