Got an idea for a new programming language? Thinking about implementing one on a new platform? It may be easier than you think. Early in my teaching career, I got interested in the problems that confront – and sometimes discourage – novice programmers. One of the problems that beginners had (and probably continue to have) is that they focus more on syntax than on semantics. That is, they get so hung up on how to express something in, say, C or Java (syntax) that they neglect to ensure that what they are trying to express actually makes sense (semantics).
I’ve participated in the construction of web apps off and on for at least a dozen years. But now – assuming that app refers to a robust, non-trivial business application – I’m beginning to question whether the web is an appropriate platform for developing and deploying them.
In theory, building a server-based application without a dedicated fat client seems to be a Really Good Idea. About ten years ago, I wrote an unpublished paper extolling the virtues of the web browser as a ubiquitous generic client. A that time, Electronic Software Distribution (ESD) was a hot topic as enterprises struggled to ensure that employees were using the right versions of desktop software, especially dedicated clients; recent experience at a former employer indicates that ESD is still an issue. The ability to transform a generic client into the latest version of a particular client on the fly, simply by connecting it to a particular server-based app, had obvious appeal.
Tableizer is a free online tool for converting spreadsheet data to an HTML table. I tried it out on some Excel data I had for making a divider used on woodworking projects to lay out dimensions based on the Golden Ratio.
It’s amazing how bloggers who use mobile devices extrapolate from that experience to the use of computers in general. They also infer from the simplicity of some mobile device apps (nearly always iProducts) that people who use them suffer from equivalent simplicity of mind – excluding the bloggers themselves, of course.
I recently commented on a premature obituary of the PC – done in by cell phones that can search Google. Now we learn from Dustin Curtis that not only are real computers dead, but the files stored on them are just as dead. For example, Curtis tells us that
Mere mortals don’t think of things on their computers as “files.” People think about digital representations of things the same way they think about real physical things: they think about photos, videos, text documents, articles, and people. A “file” on a computer is just a universal container for one of those things.
As most readers know, Facebook has adopted a strategy of aggressively exposing – and marketing – its users’ information. Rather than seeking users’ permission to share their information, FB has generally assumed permission and left users who wish to protect their privacy to find their way through FB’s labyrinth of menus and options. The path through this byzantine maze inspired one commentator to label FB’s privacy settings an “evil interface”.
Steve Jobs’ decision to bar Adobe Flash from his iProfit kingdom has triggered all kinds of silly commentary. Much of it centers around the standards-based Utopia that mostly Apple-centric pundits hope will be ushered in by HTML 5. Few of these commentators seem fazed by the fact that waiting for HTML5 to bring rich internet applications (RIAs) to the whole Web is like waiting for the Cubs to bring a World Series championship to Chicago. While north-siders were waiting for deliverance, the White Sox delivered.* The problem (summarized here) is that HTML 5 – as promising as it is – can’t deliver.
I’ve been using Palm devices since the original 3Com Palm Pilot debuted in 1996. My fifth and final Palm device (thee PDAs and two phones) was my blue Verizon Centro. It was a great phone. I had it loaded with dozens of applications that I had been using for several years. It synced with the Palm Desktop, which had been continually upgraded since that original Palm Pilot.
But the Centro was just a phone with a lot of local apps. Email didn’t work very well; neither did the clunky browser; the screen was too small anyway. It connected to the Internet with all the speed and convenience of a 1200-baud modem. So I waited patiently for the Palm
Pre to become available on Verizon. But by the time it arrived, it was too late; the Droid had gotten there ahead of it. So after some indecision (Pre or Droid, Droid or Pre), I ordered a Droid from the Verizon web site and vowed to activate it immediately upon delivery.
The transition turned out to be almost as challenging as replacing a desktop PC. All those Palm OS apps would have to be replaced or done without. Fourteen years of accumulated PIM data – calendar, contacts, and dozens of memos – would have to be migrated, as would my Palm-compatible security vault with 140 password and account entries. The Palm Desktop itself would be useless and the days of a single click keeping handheld and PC in sync would be past.