Shot of the day.
February 23, 2008
View on Georgia Straight from Cypress Mountain – one of sites of Winter Olympic Games 2010.

Vancouver, today.
![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||
products and projects |
Shot of the day.February 23, 2008View on Georgia Straight from Cypress Mountain – one of sites of Winter Olympic Games 2010. ![]() Vancouver, today.
Comments (2)
Talks about HTMLayoutNovember 22, 2007Here is a translation of the interview in Russian I gave to Alexander Sergeev from the HumanoIT. Alexander Sergeev(AS) says: My long time dream – to write a shareware program and sell it through the Internet: cash out, Brazil, Maldives, Tokyo, beaches, skiing, casinos… ahhh. This summer I almost brought it to reality… all thanks to one wonderful graphical engine. I’ll tell you right away – I didn’t finish my program yet (simple lack of time), but the summer has not gone wasted – now I know, WHAT interfaces can be developed on the desktop. For us (in HumanoIT Group) this knowledge is equivalent to its weight in gold, since we don’t develop interfaces for the web only. HTMLayout is currently the only embeddable HTML/CSS engine of this type. Here are a couple of interfaces based on the HTMLayout engine: ![]() ![]() ![]() Nobody can tell us about HTMLayout better than its author. Hence, I present to you an interview with Andrew Fedoniouk, the author of this wonderful graphical engine. Part 1: Ponderings about Web 2.0What do you think about Web 2.0: what is the essence of Web 2.0 for you as a user? As a programmer?
Please clarify what you mean by Occasionally Connected Web Applications?
Name some main differences between today’s desktop applications and Web 2.0 applications?
What do you think the main differences in UI between the two are? (let’s leave HTMLayout out of the picture for now)
What do you see as inductive UI? Wizards, oriented to perform user tasks?
AS (Alexander Sergeev): By the way, Don Norman introduced a concept called affordance – analogous to being self-descriptive. For example, scissors – it’s obvious that the fingers go into the holes
And what do you mean by productive UI?
If we go down to the level of controls and widgets – what do you see as the main difference between desktop and Web 2.0 applications?
Please name three main technologies, which you think are the basis of Web 2.0 applications? Desktop applications?
AS: You forgot about DOM.
AS: We see Web 2.0 eye to eye from the technical perspective. For me, Web 2.0 is get, parse & display: get the data (from the server), parse/process the data and display it. Get is ajax, parse is DHTML (HTML + DOM + Javascript), display is CSS. I think that it is thanks to these technologies that we now can create rich user experience in Web 2.0 applications.
AS: Yes, the last point sums up the need for usability and user-orientated UI’s What do you think web applications lack, even disregarding web-duality?
Part 2: HTMLayout EngineTell me a little about the HTMLayout library. What is it for?
So, roughly speaking, HTMLayout is a web browser, which a Windows programmer can embed into his or her program, and base its UI on DHTML?
C++ and C# is used instead of Javascript to display and process widgets (aka controls)?
There have always been resizing issues in Windows applications based on MFC/WTL – you had to manually adjust the size of the controls. On the web, I have never seen a "rubber" application, which would have automatically (upon browser window resize) adjusting control size (inputs, combo boxes, etc). Is this problem resolved in HTMLayout? What features are available in the library to simplify the resizing procedure.
Regarding components in HTMLayout. As far as I understand, on the web, I am working not with the control itself but rather with the control’s HTML-snippet. In HTMLayout, I can create the control beforehand, name and change it at the execution stage, depending on the current event and data?
AS: I.e. in such a case, when the user clicks a radio button, the background image could appear.
AS: Besides, instead of outputting a simple radio button, I can show anything? (can’t think of an example of what else I could output
AS: Thanks for the detailed example! Originally, I mistakenly thought that instead of behavior:radio; I could write behavior:"something" and instead of the radio button we would get "something" in the span. Instead, it seems that we are changing object properties here.
AS: So, behavior allows to manage the contol’s state. Please provide an example of applications which use HTMLayout?
Part 3: UI evolution tendenciesWhat do you think some of the current developing tendencies for UI on the desktop?
What if we look at the progress in the area of controls and tools for UI development? Is there progress? Do you see any tendencies here?
Back when I was still coding, I created interfaces with the help of Visual Studio’s resource editor. It took me a very long time. Even today, the interface UI developer should keep in mind the complexity of the task he is giving to the UI programmer.
IMHO, the web is far more advanced in this respect – the interface is almost completely separated from the business logic with the help of templates and templators. On the desktop, as far as I know, everything is much less cheesy.
AS: Yes, it’s not so easy to change the interface styles in VB and MFC. You have to go through all properties and change the styles in each of them. In addition, in MFC you have recompile the project as well. To develop your own control, you need to study the ActiveX/COM technologies. For me, HTMLayout is a significant step forward in separating the UI from the application’s business logic. The interface’s designer can quickly create a prototype in something like Axure (meant for web apps). Then, he or she can write the HTML code as a template for the programmer, who can add behaviors, variables, and other stuff into this template. In my opinoin, HTMLayout does and excellent job of integrating the advantages of both desktop and web technologies.
Parts 4 and 5I think it’s reasonable to leave these parts for the next article – too many letters, even for this blog. What will be in the next article:
Switching To A Secure Frequency…September 17, 2007This is a must see movie for all usability experts JavaScript closuresAugust 1, 2007Found excellent article of Richard Cornford: BTW: All principles there apply to TIScript too. HTML5, broken hopes.July 5, 2007I am tracking HTML and CSS design efforts on W3C last three years. My main area of interests is in CSS development as I think that in HTML/CSS/Script triade CSS as a technology is the weakest area. Next is the Script. And HTML appears as the most stable thing among these three. Since CSS1 we did not get anything changed in styling in principle. In particular CSS, as a technology, still failed to provide layout mechanisms needed by modern web applications. < table > markup is unbeatable yet – there are simply no equivalents for rowspan/colspan and flex length units used in tables ( remember that width=”60″ may serve role of pixels *or weight* in table layout). So advices like “tables are only for tabular data” are at least non-professional in current circumstances. It appeared initially that WHATWG would focus on “needs of real-world authors” but for some reasons group started from fixing HTML. That is what I really do not understand. What conceptually is so wrong with HTML 4.01 that we need to fix it now forgetting about two other components? (The only thing to add is < video > element that I think really makes sense in shed of lights of the Tube and others.) I believe that main problem of semantically bad markup on the Web now is not in HTML per se but, again, in CSS (and in scripting at the less extent). Lack of layout facilities in CSS forces us (real-world web designers and developers) to use markup for layout purposes more than it is really needed. Web authors, people who write content of the web are happy with the current HTML but professional web designers *are* the people who are “breaking the semantic web” now. Simply because CSS as a standard failed to provide layout features needed for modern web applications. I thought that was clear for everyone who is doing practical web design… To be short I disappointed by direction where W3C decided to move development focus these days. And yet, here are HTML5 and HTML4 differences. Could anyone tell me what all this will change in principle except of breaking of what works already? So far all corner stone Web technologies were production of concrete personalities and companies – not committees. As an example: HTTPXMLRequest ( one of features AJAX is based on) was born as a result of guerrilla’s action taken by team doing web access for Microsoft Exchange. And now the whole yahoo and google set of technologies is built on it. So is the question that worries me somehow: how Web technologies should be designed/evolve? What is the best procedure: Graphin engineMay 25, 2007I have started Graphin.dll project – portable and compact graphics engine based on AGG (agg2d in particular). Graphin url is code.google.com/p/graphin API mimics Graphics and Image objects but in plain C. In principle this is close to the <canvas> from WHAT WG . Graphin.dll includes also pnglib/zlib and jpeglib with the ability to load and save image object to/from byte vectors (and so mm files) as png/jpeg. Intention is to have graphics engine that is portable and simple to use. With Graphin it should be possible to reproduce <canvas> functionality There is nothing spectacular yet there but structure is established and couple of methods like graphics_rectangle, graphics_line, etc are written. Graphin is based on agg 2.4 and contains that agg2d thing written by Maxim Schemanarev . agg2d class was ported by Jerry Evans from agg 2.3 and contains fixes made by Maxim, myself and Pavel Korzh. New members of the project are very welcome. I am planing to use Graphin as graphics backend of multiplatform versions of htmlayout and sciter. Update: here is a screenshot of Graphin Demo project. |
|
|||||||||||||||||||||||||||||||||||||||||||||||||