Stories by Neil McAllister

7 programming myths - busted!

Even among people as logical and rational as software developers, you should never underestimate the power of myth. Some programmers will believe what they choose to believe against all better judgment.

Why developers shouldn't abandon WebOS yet

Hewlett-Packard's surprise announcement that it would end production of its WebOS smartphones and tablets left a lot of developers in a lurch (although exact numbers are hard to come by). As of now, the WebOS development community is effectively an ecosystem in search of a platform.
What next? The smartphone OS market is consolidating, with the lion's share divided between Google's Android and Apple's iOS. Either one of those would be a fine choice for WebOS developers looking to jump ship, but neither offers a development environment that much resembles the WebOS SDK. Meanwhile, Microsoft has been actively wooing WebOS developers to come over to Windows Phone 7, with promises of free smartphones, training, and tools.
Maybe all this talk of abandoning WebOS is premature. Chances are most WebOS developers are already writing apps for more than one mobile OS. That could buy WebOS some time. Despite all the doom and gloom, it may turn out that WebOS developers' best strategy might be the one that most pundits were quickest to dismiss: Stick to your guns, bide your time, and plan to remain WebOS developers once the platform finds a new home — because it's highly unlikely we've heard the last of this promising mobile OS.
Developers with dedication

Opinion: Mobile, cloud and the evolution of development

Should you build mobile applications in native code or deploy them using web technologies such as HTML and JavaScript? Developers have long been divided.
Steve Jobs originally suggested iPhone developers would be able to deploy any applications they needed through the device's built-in browser, but that was before Apple saw the light and launched its iTunes App Store.
Since then, even established websites have often chosen to deliver their content to mobile devices using native apps, rather than trying to shoehorn it into mobile browsers. Despite the improvements introduced in HTML5, many developers feel web technologies are still inadequate for the unique needs of smartphones and tablets.
If that is true, it is time for a rethink of how online information services are developed and deployed. In the past, developers built websites first, then adapted the same content for mobile apps. But in today's market, where mobile devices are increasingly the primary means by which users interact with online content, that approach is arguably backward.
What is needed is an evolution in mobile development, similar to what we saw in the early days of web applications. The first enterprise web apps did little more than screen-scrape legacy mainframe output and pretty it up for the browser. But as browser-based computing became the norm, application logic moved off the mainframe, and HTML output became the primary target. Mobile applications are undergoing the same shift. The next generation of information services will treat desktop browsers and mobile app clients as equal citizens, and the same application logic will serve content to both.
Equally important, this transition comes at the same time as another significant sea change in the IT industry, which is the move toward cloud computing. As platform-as-a-service offerings mature, it makes less and less sense for information service providers to host application logic on their own private infrastructures.
Linking devices to the cloud

HTML: A standard without boundaries?

HTML is a standard dictated by browser vendors – not an independent body.
That seems to be the message from the Web Hypertext Application Technology Working Group (WHATWG), which has announced it would be dropping version numbering from the HTML specification once work on HTML5 is complete. Henceforth, HTML will become a "living standard," with the most current version of the specification being the one maintained on the group's website. In other words, the standard is whatever WHATWG says it is this week.
Technically anyone can participate in the HTML standardisation process, via WHATWG's mailing list. But those who do so are known as "contributors," and their role is much like that of concerned citizens at a city council meeting. Actual membership in the WHATWG is an elite affair, however, and is by invitation only. Currently the total membership consists of three representatives from the Mozilla Foundation, two from Opera Software, two from Apple, one from Google, and one independent developer.
In effect, that is who is deciding the future of the web: four of the leading web browser vendors, all of whom have incentive to pile ever more features into their products to compete with alternative RIA (rich Internet application) platforms such as Adobe Flash and Microsoft Silverlight. (If you're wondering where Internet Explorer fits into all this, notice that Microsoft is not a WHATWG member.) What is more, Apple and Google are both prominent providers of web content. But hey – surely they all have our best interests at heart, right?
HTML5: A long-time coming

Opinion: Microsoft should embrace hardware hackers

Microsoft Kinect is one of the most exciting computer interface devices to come along in years. Originally known by the code name "Project Natal," Kinect uses a camera, a range sensor, and a microphone to allow the user to control computing devices using nothing more than spoken commands, motions, and gestures made in midair. Just don't expect to actually use it anytime soon – unless you have an Xbox 360 game console.
There is no technical reason why Kinect should not be able to break out of its intended gaming niche; The Kinect controller uses a standard USB interface to communicate with its host console, which is supported by every major operating system.
Sure enough, independent developers wasted no time writing drivers and other software to link Kinect to ordinary PCs. Earlier this month, hobbyist hardware vendor Adafruit offered a $1000 bounty for open source Kinect drivers, then increased the figure to $3000. It took less than a week for hardware hacker Hector Martin to meet that challenge. Since then, other enterprising developers have unveiled promising Kinect experiments based on Martin's drivers, and Google employee Mike Cutts announced two more bounties of $1000 each for novel Kinect applications.
None of this activity has been lost on Microsoft, but the reaction from Redmond has been less than enthusiastic. When contacted by Cnet, Microsoft reps responded with an email saying, "Microsoft does not condone the modification of its products. With Kinect, Microsoft built in numerous hardware and software safeguards designed to reduce the chances of product tampering. Microsoft will continue to make advances in these types of safeguards and work closely with law enforcement and product safety groups to keep Kinect tamper-resistant."

Is open-source a dead-end for desktop apps?

Fans of the open source desktop productivity suite breathed a sigh of relief this week, when a group of prominent developers announced they're breaking ties with Oracle and launching a new fork of the suite, to be known as LibreOffice. The new suite will be managed by an independent organization known as the Document Foundation. Whether the Document Foundation will be able to sustain LibreOffice as a significant competitor to Microsoft Office, however, remains an open question.
Among the skeptics is none other than the "father of Java" himself, James Gosling. Like many other former Sun employees , Gosling left Oracle earlier this year, citing conflicts with the database giant's management style and culture. Since then he has been increasingly critical of Oracle and its handling of the various open source properties it gained through the purchase of Sun — in particular, the Java platform itself.
Naturally he's a big fan of the open source model, as he explained in a recent interview for the Basement Coders podcast. "The place where it falls apart, though," Gosling says, "is for desktop software."
History seems to support Gosling's view. While there are numerous high-quality open source desktop applications available, few of them — with the exception of Firefox, perhaps — have caught on with the mainstream public. Because open source applications are generally available free of charge, this raises troubling questions about the public's perception of the quality, efficacy, and value of open source desktop software. Can the open source model can really sustain desktop application development, or is open source desktop software a failed proposition?
Where are the Office-killers?

10 reasons why the PC is here to stay

The PC as you know it is obsolete. So sayeth Apple CEO Steve Jobs, who <a href="">took the stage at the Wall Street Journal's D8 conference</a> in June to talk about what he sees as the coming "post-PC era."

What developers want from HTML

Recently I applauded the decline of Flash and other proprietary RIA (rich internet application) platforms, particularly with HTML5 promising improved support for interactivity and multimedia. Not everyone agreed with me. And like so many tech debates, there is a flip side to the HTML coin, as I was recently reminded when I took on the job of revamping a website for a friend's business.
My friend's original web developer had gone missing, leaving him in a lurch. With new products due to arrive and no way for my friend to update the site, it fell to me to pick up where the last developer left off. Like many small websites, my friend's had grown organically, beginning as simple &quot;brochureware&quot; and gaining new features over time: a contact form, photo galleries, a blog.
Nothing seemed to work as advertised. If I copied the site to a new server, it broke. If I moved it to a different directory, it broke. Each new feature was bolted onto the last.

Feature: What to expect from HTML 5

HTML 5 also continues the effort to separate web content from presentation. Developers might be surprised to see the b and i elements available in the new standard, for example, but these elements are now used to offset portions of text in generic ways, without implying any specific typographic treatment. Where the i element once implied italic type, for example, in HTML 5 it merely means &quot;a span of text in an alternate voice or mood.&quot; Similarly, the b element does not imply specifically boldfaced text, but text that is stylistically offset without having any additional importance.

Microsoft vs Google: The empire prepares to strike back

It can't be easy being Ray Ozzie. Microsoft's chief software architect is just 18 months into the job as Bill Gates' handpicked successor. Yet, depending on whom you ask, his tenure will either signal a bold new era for the company or mark the beginning of its terminal decline.

VMware proposes a new kind of OS

According to CEO Paul Maritz, VMware is building nothing less than a &quot;virtual datacentre OS&quot; &#8212; VDC OS for short &#8212; that will eventually make traditional operating systems &quot;all but disappear&quot;.
If that sounds like shameless hype, consider the source. With the price tag for basic virtualisation functionality now essentially nil, VMware has little choice but to couch its expensive enterprise product line in increasingly grandiose terms. Virtualisation itself is old hat. What VMware offers is &quot;virtual infrastructure&quot; &#8212; a fully integrated line of platforms and management tools for virtualised environments.
In some respects, VDC OS is merely the next rung on the VMware hype ladder. After all, if the media is predicting that OS vendors will put you out of business, preemptively proclaiming the death of the traditional OS is a decent tactic. If you look past the marketing, however, VDC OS is actually a fascinating concept. If VMware manages to achieve half of what it promises, it could have significant implications for application developers and customers alike.

Mozilla looks beyond developers for inspiration

The best technology products are often the product of a singular vision. Look at Apple. Look at Nintendo. These companies' enduring successes owe their existence to the presence of a strong guiding hand: someone whose exacting standards ensure that the project never strays too far from its core goals and principles.
In film, they sometimes call these people &quot;auteurs&quot;. Coppola, Kubrick, Polanski, Spielberg &#8212; you know these names by the quality of their output. They're not just personalities; they are brands. And while the names Jobs and Miyamoto may not be as widely recognised, the spirit of the auteur has had a profound impact on the technology industry, too.
Any tech company would love to have the next iPod or the next Wii. These are groundbreaking products that have gone on to dominate their markets. So how does it happen? How are technology visionaries discovered, and more importantly, how can companies empower them so that their ideas give birth to the next breakthrough products?
Mozilla Labs' Concept Series aims to find out. The Concept Series is a unique programme that invites people from around the world to contribute ideas, mockups and prototypes for the next generation of the Mozilla web browser, regardless of their skills or backgrounds.
This is an exciting development for two reasons. For starters, it's one of the first concerted efforts to bring non-programmers into the fold of open source software development. While the open source movement has produced a staggering amount of code, designers and user experience experts have been neglected for too long, and it shows. The more free software is developed with the consumer in mind, the better.
Second, this experiment gives the open source community an opportunity to prove that you don't need to be an Apple, a Nintendo or a Microsoft to deliver eye-opening products. Open source projects can do more than just clone existing software. When guided by a strong vision, they can also be a driving force for change.
Proprietary software companies &#8212; Microsoft in particular &#8212; love to tell us that this is hogwash, that open source is good at imitation but lousy at innovation. Just look at the Linux kernel, they'll say. Linus Torvalds didn't really invent an operating system; he just wrote his own version of Unix, which was already decades old.
I think that attitude sells Linus short, but it's easy to come up with a counter-example. The Mozilla Firefox web browser is not only one of the most widely used open source applications, but it also consistently outpaces Microsoft's Internet Explorer when it comes to features and support for the latest web standards.
Mind you, Firefox can trace its direct lineage all the way back to Mosaic, the original graphical web browser developed by Marc Andreessen and his team at the National Centre for Supercomputing Applications. Launch any modern web browser, in fact, and what you get looks an awful lot like NCSA Mosaic; the basic UI hasn't changed all that much.
And that's precisely the point of the Mozilla Concept Series. Mozilla Labs wants to find its own software auteurs &#8212; people with unique visions, maybe even from outside the software development field &#8212; who can shake up the world of web browsers and spearhead a new direction.
The initial concepts in the series are compelling. Adaptive Path's Jesse James Garrett &#8212; the man who brought us the term &quot;AJAX&quot; &#8212; offers Aurora, a browser concept that emphasises collaboration and contextual awareness. Wei Zhu presents a new approach to bookmarking. And Aza Raskin proposes new ways to fit web browsers onto the small screens of mobile devices.
These ideas are an auspicious start. But then, you know what ideas are like. Anyone can mock up a few diagrams and concept videos. The hard part will be translating these rough ideas into working prototypes, then actual products.
To achieve this, Mozilla Labs will need something entirely new, and perhaps even more exciting. It will need a software project governance model that not only invites input from non-developers, but formally includes them as core participants in the application design process. They will be senior participants, in fact &#8212; because, since programming ability is not a prerequisite for user interface design, programmers will inevitably be asked to implement features dreamed up by non-programmers.
How will that sit with the open source community? Will open source developers, accustomed as they are to a coder-centric meritocracy, be willing to adapt to a model in which a non-technical &quot;auteur&quot; calls the shots? Can a community-driven software development process really be guided by the vision of one person? In short, will Mozilla Labs really be able to empower non-programmers to effect change in its software, or is this all just big talk?
It's worth finding out, because poor user experience is a problem that is by no means limited to open source software. A lot of companies could do a better job of incorporating input from designers and other non-technical stakeholders into their software development processes, too. Mozilla Labs has taken an important step. I'm very interested to see what, if anything, comes next.

Oracle still top dog in tough database market

The relational database market is a lot less crowded than it used to be, and it's no surprise, considering the players have to contend with a massive software juggernaut like <a href="">Oracle</a>. According to the latest numbers from research firm IDC, <a href="">Oracle still rules the roost</a> in databases, capturing in excess of 44 percent of the overall market for 2007.

Rich internet apps transforming the browser

Since its inception, the web has been synonymous with the browser. Pundits hailed Mosaic as &quot;the killer app of the internet&quot; in 1993, and today's browsers share an unbroken lineage from that humble beginning.