For the last few years I’ve been looking for ways to reinvent the graphical user interface. My original idea was something web-based, but I did not know much about web development at the time. I toyed with Visual Basic, but it was slow and awkward. I tried with OpenGL, but it was not only too powerful for what I wanted to do, but too complex to maintain robustness. I adopted Python when it seemed capable of making custom GUIs, but alas, Tkinter is somewhat limited. Now I am back to trying a web-based using AJAX.
A little research on what can be done with AJAX has made me realize that I am not the only one who wants to reinvent the GUI. While there may not be a big push for reimagining forms and buttons, there are a few people who are giving it a shot.
People like me, people who are not satisfied with the standard widgets and controls, are probably a big part of the reason that web apps have taken off. Standard desktop development systems just do not allow for the creativity that web-based systems do, and the reason is simple: CSS.
If you have done any work with CSS, you know that isolating different aspects of a web page/application is important. HTML and JavaScript handle content and behavior while CSS handles style. This is different from most desktop development systems, such as Visual Studio, which give no power to manipulate appearance or style behavior. Controls look the same for standardization reasons. It has long been believed that users can’t handle differences in GUIs, but the diversity of websites and how the user interacts with them has shown otherwise.
The other advantage of web applications is that the standards are constantly improving. CSS is developing some new features for the next set of standards, and HTML has been constantly improving as well. The fact that so many people use these languages and that they are so commonplace gives their functionality a lot of attention. Think about how quickly Java, C++, and Basic improve compared to how fast web standards improve. Even Python can’t keep up with the pace of change on the web.
It would be interesting if someone developed a desktop application development system that harnessed the power of web apps for non-internet applications, something that is part browser but does not require a server to interact with. Just a thought.
Let me know what you think in the comments.
On the Popularity of Web Apps
For the last few years I’ve been looking for ways to reinvent the graphical user interface. My original idea was something web-based, but I did not know much about web development at the time. I toyed with Visual Basic, but it was slow and awkward. I tried with OpenGL, but it was not only too powerful for what I wanted to do, but too complex to maintain robustness. I adopted Python when it seemed capable of making custom GUIs, but alas, Tkinter is somewhat limited. Now I am back to trying a web-based using AJAX.
A little research on what can be done with AJAX has made me realize that I am not the only one who wants to reinvent the GUI. While there may not be a big push for reimagining forms and buttons, there are a few people who are giving it a shot.
People like me, people who are not satisfied with the standard widgets and controls, are probably a big part of the reason that web apps have taken off. Standard desktop development systems just do not allow for the creativity that web-based systems do, and the reason is simple: CSS.
If you have done any work with CSS, you know that isolating different aspects of a web page/application is important. HTML and JavaScript handle content and behavior while CSS handles style. This is different from most desktop development systems, such as Visual Studio, which give no power to manipulate appearance or style behavior. Controls look the same for standardization reasons. It has long been believed that users can’t handle differences in GUIs, but the diversity of websites and how the user interacts with them has shown otherwise.
The other advantage of web applications is that the standards are constantly improving. CSS is developing some new features for the next set of standards, and HTML has been constantly improving as well. The fact that so many people use these languages and that they are so commonplace gives their functionality a lot of attention. Think about how quickly Java, C++, and Basic improve compared to how fast web standards improve. Even Python can’t keep up with the pace of change on the web.
It would be interesting if someone developed a desktop application development system that harnessed the power of web apps for non-internet applications, something that is part browser but does not require a server to interact with. Just a thought.
Let me know what you think in the comments.
Related Posts: