Center for the Handheld Web
Comment Received on Center for the Handheld WebI got the following comment, and my reply was too long for LiveJournal to take as a comment. Here is the original comment and my reply:
Center for the Handheld Web(Anonymous) 2006-11-09 05:25 pm (local) (from 12.105.152.42) Hi. I am a reformed technologist who received a forward of your email about the proliferation of Web 2.0 technologies across the mobile Web. I wanted to share my thoughts as this is an area of interest to me personally. First, I’d like to comment on your assertion that Javascript will obtain popularity across mobile browsers. Javascript is a TERRIBLE technology as evidenced by the lack of standardization, propensity to be used for hacking, ability to be turned off inside a browser, and extreme difficultly to write effective, concise code. What is really sad to me is AJAX and Web 2.0 related technologies. This is what happens when you put technologists in charge of technology! Technologists are very much interested in the power of their technology and how their technology is better than previous technologies. The running theme here is “technology.” But technology is not dictated by the technologists, it is dictated by the consumer,and if the consumer does not spend their dollars on it, then it is not a good technology. I am a strong supporter of Pip Coburn’s Change Function and a staunch naysayer of the Grove/Moore disruption/price theory. To return this sentiment to
the mobile web, AJAX is an extension or a horrid technology. I have a chef friend who once said “if your sauce tastes bad, don’t reduce it (simmer the liquid to concentrate the flavor) because you’ll end up with a sauce that tastes a lot more like… bad.” So that’s what I don’t like… what DO I like? Well, I like Flash a lot. It’s OO, very simple to write, much richer, provides better usability, and natively and quite easily can communicate with a server in the background. Unfortunately for the US, Flash Lite is only experiencing strong adaptation in Asia at the moment. Here in the states, Java (J2ME) rules the mobile world. Java is similar in nature
to Flash of course, but much more difficult to write. But I do like Java as a mobile delivery platform. The second biggest problem for the mobile web is that every carrier runs a
different OS with different capabilities, and that’s not going to change. The BIGGEST problem for the mobile web are the devices themselves. Only crazy technologists think that the current devices are going to obtain worldwide acceptance. Does the general public have SUCH A PROBLEM with their current technology (laptops, wireless internet, mobile phones) that they’re absolutely dying to switch to their mobile devices for their Web content delivery? No, I don’t think so. And I think we’re pretty far away from a mobile device that is actually easy to navigate, not to mention the fact that the screen real estate is a major issue. So to sum up, I think that working on a solution for the mobile web is a bit like trying to solve a problem that doesn’t exist. The ultimate for me would be open-source mobile OS like Linux, and/or I think the Firefox brand could proliferate themselves on the mobile web. The bottom line is that it is foolish to attempt to translate a desktop experience to a mobile device. And we could officially kill anybody’s interest in the mobile web if we start using Javascript
and AJAX… the first day that people start getting viruses and spam as frequently as they do on Windows (God bless Unix), the public will lose trust. So what’s the solution? PROMOTE AJAX AND JAVASCRIPT, THEN START A COMPANY THAT BECOMES THE MCAFFEE OF THE MOBILE WEB. Have a scotch and call it a day. Thanks, David hipsurgery@gmail.com My Reply:David: Thanks for the comments. Here are a few thoughts in return... comment on your assertion that Javascript will obtain popularity across mobile browsers. Javascript is a TERRIBLE technology as evidenced by the lack of standardization, propensity to be used for hacking, ability to be turned off inside a browser, and extreme difficultly to write effective, concise code. Interesting comment. As a part of our Web design & implementation sequence, we teach JavaScript/ECMAScript to our students, even the non-programmer "New Media" folks. We teach them to write JavaScript/ECMAScript that works cross-platform and cross-browser. Our experience is that the language designers mostly succeeded in their efforts to create a scripting language simple enough that non-programmers can learn to write usable code very rapidly. Tell us more about your assertions that JavaScript/ECMAScript is being "used for hacking" please, as I am not sure to what you are referring. As to turning things off in the browser, well anything but the HTML can be turned off by the user. How is that particular to JavaScript/ECMAScript? Don't get me wrong, I was simply speaking to the spread of existing Web browsing technologies to handheld devices. By having the trio of HTML and JavaScript/ECMAScript and CSS present in the handheld browser (even in a sub-set form), we allow existing Web content authors to "build on prior knowledge". They can rapidly learn to create content either aimed specifically at the handheld Web or that adapts itself to the display device. That educational concept of "building on prior knowledge" is a powerful one in the real classroom with real students. You also assert that: AJAX is an extension or a horrid technology. Please say some more about that. What makes "AJAX" useful to real Web site developers is that it allows non-blocking asynchronous I/O to happen, and the updating/changing of just a particular spot/area on the display device. This allows rich applications to happen with reasonable responsiveness. What would you sugggest people use instead? That question is not about what you would like to have available to content. Rather, the question is about what actual existing and ubiquitous technology you would use instead for controller code that allows non-blocking async I/O?? That is a critical need for responsive connected applications. In addition, you say: what DO I like? Well, I like Flash a lot. Flash is indeed a fun technology. It is quite problematical as a tech upon which to base site interactivity, however. It is proprietary and closed-source technology, for one thing. Thirty years of hacking for a living taught me the lesson that proprietary and closed-source technology almost always ends up being a problem in the end. In addition, the experiences of real-world site maintenance support the contention that it takes much more technical expertise to support an ongoing and changing Flash-based site than one using HTML/CSS/JavaScript. Many designers produce Flash-based sites simply because that is the technology they know ("if all you have is a hammer, then everything ends up looking like a nail"). Many companies report excess difficulties and costs in maintaining Flash-based sites, simply because they end up having to pay outsider experts to do simple content maintenance they (rightfully) think their own staff should be able to learn to accomplish. My daughter's company is now in the process of a site redesign with a new design house, simply because they got tired of having to get a design house to do simple content changes. Theirs was a Flash-based site, but shall be no more. More to the point, the move to conform "ActionScript" (the scripting language used to create interactivity and dynamic elements in Flash apps) to be close to standard JavaScript/ECMAScript would seem to support my assertions above. "ActionScript" and JavaScript/ECMAScript are now (deliberately) so close to each other that we are able to use Flash in the first scripting-oriented course in our Web Design & Implementation sequence (basic HTML and CSS and graphics, and simple rollovers first, then Flash and ActionScript to introduce more interesting interactivity and dynamicism). It turns out to be far far easier to get their brains engaged in learning scripting initially this way, because they are starting out with building vector-based animations containing dynamic elements and user interactivity. That sort of animation is fun for the kids to build and thus more engaging to the average student. The next course in the sequence takes them deeper into HTML and CSS, and introduces JavaScript/ECMAScript to drive dynamic elements and interactivity in a browser context. Our experience has been that these technologies ("ActionScript" and JavaScript/ECMAScript) are so close together now that students have absolutely no problem shifting from using one to using the other. They are both really about the same things: driving dynamic elements and interactivity with the user. You also assert: Java is similar in nature to Flash of course As someone who made a living in industry writing a lot of code in Java and who has taught the language quite a bit, that assertion leaves me rather confused about what exactly you mean. Flash is a vector-based "method for adding animation and interactivity to web pages" [see wikipedia for a nice overview]. As they say at the wikipedia article: More recent versions include ActionScript, a scripting language which has syntax similar to JavaScript and so supporting JSON syntax (a variation on ECMA) You also say The second biggest problem for the mobile web is that every carrier runs a different OS with different capabilities That, of course, is the whole point of using a scripting language within a browser context. And so pretty much all but the lowest-cost handheld devices now seem to either ship with a browser or allow installation of a browser (often Java-based for portability). The browser with scripting and HTML and CSS is a platform-neutral tool to support user interactivity with Websites. That on a mobile device seems to me to present the potential for a powerful extension of the Web into people's everyday lives. You then go on to say: we could officially kill anybody’s interest in the mobile web if we start using Javascript and AJAX… the first day that people start getting viruses and spam as frequently as they do on Windows (God bless Unix), the public will lose trust. What exactly does "getting viruses and spam as frequently as they do on Windows" have to do with JavaScript and AJAX?? One of the points of using browser-based things like JavaScript and async I/O via AJAX is to avoid the OS-specific problems endemic on Windows, and JavaScript is a tool to avoid problems like this.
|