Java, Java everywhere

Would you believe that 18.0% of developers that SD Times surveyed said that their organizations are running J2EE 1.4 in production environments? That’s the version of the Java server-side platform that was officially released in November 2003. That shows the persistence of deployed platforms. If it ain’t broke, don’t upgrade it.
What about new versions? 44.8% said that they are running Java EE 5 (which came out in May 2006), and 54.3% have some servers running Java EE 6 (which was released in December 2009).
It shouldn’t be a surprise that so many systems are running out of date versions of Java. I’ve run into shops that still have old version of Netware, and are running quite out-of-date versions of Windows Server, DB2, Oracle – you name it. Given the costs and risks of upgrading, unless there’s a clear reason to do, developers and IT administrators are going to be conservative. Can’t blame them.
Those numbers are from brand-new research conducted by SD Times – our Java & SOA Study, completed in December 2011.
I’ll share another data point: the most popular Java IDEs in use in the developer’s organization. These add to more than 100% because some organizations run multiple IDEs:
Eclipse JDT: 65.3%
Oracle NetBeans: 25.8%
Oracle JDeveloper: 16.9%
IBM WSAD: 13.2%
IBM RAD: 12.4%
Apple Xcode: 10.8%
JetBrains IntelliJ: 9.9%
Genuitec MyEclipse 9.4%
The rest all scored below 9% utilization. Interestingly 14.3% of respondents said that vi and vim are used with Java, and 9.3% said that their organization uses emacs.
Is your organization using obsolescent versions of server platforms? Leave a comment.
Z Trek Copyright (c) Alan Zeichick

The secret joy and danger of software updates

The message popped up in my email last week: Canon was offering a firmware upgrade for my DSLR. Why was I in such a hurry to download and install it? Why do I get such pleasure from updating firmware, such delight in seeing new versions of mobile apps for my Android, iOS and Windows Phone devices? New maps for my GPS? Updated drivers for my printers? No idea.
The camera’s firmware update wasn’t even important, and wouldn’t even affect anything relevant to me:
Firmware Version 2.1.2 incorporates the following change: Optimizes the camera’s performance when using certain UDMA 7-compatible CF cards released in February 2012 or later.
Yes, the brand-new UDMA 7 spec allows for faster data throughput – but my trusty 32GB Compact Flash card is UDMA 6. I have no plans to buy a new memory card any time soon. But still, my psyche wouldn’t let me do anything else until the camera’s firmware was safely updated.
I’m also one of the first kids on the block to install updates to my notebook operating system, virus updates, application service packs – you name it.
Am I crazy? Perhaps. But it’s a dangerous game that I play.
While updates can fix bugs and add features, they can also contains introduce new problems and even remove functionality. For example, anyone who installed Security Update 2012-001 to Mac OS X 10.6 “Snow Leopard” suddenly couldn’t run PowerPC-based applications. Oops.
And in another situation, several years ago, I bricked a perfectly good Garmin Quest GPS doing a firmware update. Sadly, it was out of warranty. And now it’s dead.
In a casual or personal environment, it’s fine for individuals to choose to be early adopters. In a business environment, of course, even the most innocuous-seeming software updates should to be tested before deployment. That’s true whether the update is for a server operating system, critical software, a mobile app or an embedded platform. While employees chafe under IT’s apparent paranoia, it’s vital to realize that firmware and software updates can’t always be backed out – and IT must remain in control.
The word of caution for developers: Realize that many of your customers will want to download upgrades – but many customers may not want to upgrade. Perhaps they are worried. Perhaps they have policies. Perhaps they have other dependences that preclude your upgrade.
For example, Apple is pushing everyone to migrate from its MobileMe service to iCloud. Just one problem: iCloud requires that all Apple devices run at iOS 5 or Mac OS X 10.7.2 or later. However, one of my Macs is on Mac OS X 10.6 because it runs a business-critical PowerPC application under Rosetta. Yet MobileMe will be turned off on June 30, 2012. Apple is putting me into an impossible position. This does not make me happy.
Be a good software provider. Don’t nag your customers to install your latest bits. Don’t force them. Don’t bully them. Don’t deprecate older versions of your platform gratuitously, or set arbitrary deadlines to force customers to migrate. It’s not nice, whether you’re Apple or small ISV. Don’t do it.
Oh, look – a new driver just came through for my Brother printer. Excuse me, I have to go install it.
Z Trek Copyright (c) Alan Zeichick

Why my MacBook Air is turning into a giant iPad

For a while, mobile devices were expanding to become more like desktop computers. They gained real web browsers, full-featured email clients, installable applications, oodles of functionality. The pendulum has turned, and now desktops/notebooks are constricting to become more like mobile devices. This is not good news.
The most common examples, of course, are the Windows Phone-inspired Metro user experience for the forthcoming Windows 8, and the App Store and Launchpad in Mac OS X 10.7 Lion.
The next version of Apple’s desktop/notebook operating system, OS X 10.8 Mountain Lion (the “Mac” part of the name is being dropped) takes the metaphor a step farther. I’m referring to a security feature called Gatekeeper. In its initial incarnation, at least, Gatekeeper will be optional. But what about OS X 10.9, I wonder?
Let’s back up a step. Unless you jailbreak your iPhone or iPad, you may only install apps that have been vetted by Apple and which are carried in its App Store. The only exception is that developers can – after juggling certificates – install their own test software on their own devices.
End users accept that smartphones are walled gardens. You buy it, but the device is controlled by hardware manufacturer, operating system maker and carrier. By contrast, desktops/notebooks are generally 100% yours. You can do anything to them you want: swap operating systems, modify the internals, and install any software your little heart desires.
This is changing. And the change isn’t only from Apple.
With Gatekeeper on OS X 10.8, says Apple, “The safest place to find apps for your Mac is the Mac App Store. That’s because the developers who create them are known to Apple, and the apps are carefully reviewed before they’re accepted in the store. If there’s ever a problem with an app, Apple removes it.”
Yup. Apple can uninstall applications from your Mountain Lion-based system.
In this version of the platform, you are given three choices about installing downloaded applications: To tell your system to only install apps from the Mac App Store; to let software come from the Mac App Store or from developers that Apple has approved; or from anywhere.
There are no guarantees that the third option will remain in future version of the platform.
Now, this isn’t only about Apple, and in fact, I wouldn’t be surprised to find similar functionality appear in Windows 8 or its immediate successor. But even so, Microsoft is looking to restrict the bootloader on forthcoming ARM-based Windows notebooks to block users from installing other operating systems. As Ars Technica reports, “All Windows 8 systems that meet Microsoft’s certification requirements must use UEFI firmware with Secure Boot enabled.”
Android, iOS and Windows Phone smartphones are walled gardens controlled by vendors. The MacBook Air and Windows 8 notebooks are going the same way.
Z Trek Copyright (c) Alan Zeichick

Radio moves from analog waveforms to digital packets

What’s the traffic like? No, not on the notoriously backlogged US-101 cutting through Silicon Valley, not on Route 128 around Boston, not even “The Four Oh Five” in Los Angeles. I mean the traffic through your office’s Internet connection.
A friend of mine who administers a mid-size business network says the lion’s share of traffic across his broadband connection is Spotify. “It was the highest packet TX/RX set on the WAN, by a very large margin,” he wrote to me.
We laughed about this, and about how the world changed.
In the 1970s, if employees were allowed to listen to music in their offices and cubicles, it was probably on a transistor radio. In the 1980s, it was a Walkman cassette player, and later on, a CD player. Of course, starting in the early 2000s, everyone listened to an iPod or another music player through those ubiquitous ear buds.
Today, workers listen to streaming packets across the Internet. Perhaps it’s music over Spotify or Pandora. Perhaps it’s an Internet radio station offering some classic rock or talk shows. Nearly every broadcast radio station, of course, promotes streaming services, often specifically targeting business workers in their cubicles.
The irony, of course, is that sometimes those workers are streaming Beatles, Black Eyed Peas, Björk or Bieber packets from the very same radio stations whose signals are permeating their offices. In fact, the audio fidelity is usually higher on that old-fashioned transistor radio.
That’s why in my own office, I don’t stream music over the Internet. What’s playing is my own music library (ripped from CDs and stored in iTunes) or a local FM station using a 15-year-old Grundig YB-400 receiver.
Of course, not all offices are near good radio stations. Radio signals don’t always penetrate the bowels of modern concrete-and-steel buildings. I’m not condemning the use of Internet radio, Spotify or Pandora, per se — but I am concerned about the bandwidth they consume. When those services’ high-QoS packets dominate our business networks and Internet connections, we should pay attention to this trend.
What does streaming media mean from a developer perspective? If you are building a streaming media service, please please please make sure that your service is not wasteful of bandwidth. A single user’s bandwidth impact is trivial. Dozens or hundreds of users are not trivial.
Be a good citizen by build good caching into your player apps, so that you can lower the required QoS on your packet headers. Perhaps even offer the option to adjust audio bitrate and compression (“CD level” vs “FM Quality”) so that long-term streamers can reduce the network load.
Does your organization have a problem with streaming media consuming too much bandwidth? Do you have HR policies that prohibit their use, or firewall policies that shut them down? Tell me what you think.
Z Trek Copyright (c) Alan Zeichick

Looking for the best of the best of the best

Hard to believe it’s been 15 years since “Men in Black” appeared in theatres. The movie is one of my favorites, and a wonderful scene is when an Army officer observes that in its recruiting efforts, the Men in Black is looking for “the best of the best of the best.”
The editors of SD Times aren’t charged with monitoring extraterrestrial activity on Earth. Sure, our reporters always wear cool sunglasses, but they aren’t issued neuralizers. Bummer. Rather, our current mission is to choose the best of the best of the best in the software development industry – the top leaders and innovators.
It’s time again for reader nominations for the SD Times 100, when we recognize the companies, organizations and open-source projects that truly make a difference in our industry. Reader nominations will be open through March 30. You can fill in the nomination form here.
Who are the leaders and innovators? They lead, and the industry follows. They create new technologies. They solve problems in interesting and novel ways. They write great software, they develop methodologies, they create platforms, they release tools.
Leaders and innovators matter. People talk about them. People want to try their tools, technology and services. People try to emulate them. People want to partner with them, or become compatible with them. People worry about competing against them.
If the only people using an open-source project are the contributors to that project, it’s not a leader, at least, not yet. If the only people talking about a company are its employees, it’s not a leader. If nobody is following the organization’s work, it’s not a leader.
The SD Times 100 are decided by the editors of SD Times, but we want to hear from you, our readers. Tell us who you follow. Which projects you believe in. Where you see innovation. Where you see the best. Of the best. Of the best.
Oh, and if you see an unlicensed cephalopoid, remember to never sell it a reverberating carbonizer with mutate capacity. Agent Kay says “thanks.”
Z Trek Copyright (c) Alan Zeichick

Services change. Get used to it.

Want to pick a little fight? Talk about football. If you’re in most of the world, the 2014 World Cup is already looming on your horizon. If you’re in the United States, then you’re probably thinking about next month’s Super Bowl XLVI, the big matchup between American Football teams. (This year, I’m rooting for my native New England Patriots. Prefer the New York Giants? Let’s take it outside.)
Sports. Politics. Religion. Those are all tiny little trivial fights. If you want a big fight, look at reactions whenever Facebook changes something. The vitriol flies as millions (billions?) of users rage against Facebook’s audacity, whether it’s something minor like friend recommendations or something major like the forced migration to the new Timeline personal profile. (I like Timeline. Disagree? Let’s take it outside.)
Commercial services change and evolve, whether their customers like it or not.
• Sometimes services change in order to attract new customers.
• Sometimes services change in order to fend off competitors.
• Sometimes services change in order to directly drive revenue.
• Sometimes services change in order to improve customer lock-in.
• Sometimes services change in order to reduce costs or improve profit margins.
• And sometimes services change in order to increase customer satisfaction. (In my experience, that’s rarely the driver.)
My neighborhood has a wonderful grocery store. About a decade ago, it was looking a bit rundown. A competing supermarket did a major remodeling – and shortly thereafter, so did our neighborhood store. The results were terrible. Too few shelves, a wide-open arrangement that was pretty but had less merchandise. A few months larger, the store remodeled again. It had no choice. But each time the store changes (and the owner continues to experiment and innovate) we find the disruption annoying — then can’t find our favorite foods. We don’t like the change. After a few weeks, we get used to it. And then we don’t like the next remodel. Hey, that’s just how life is.
While the owner may say that he’s remodeling in order to make the store nicer, most of the time he’s motivated to drive revenue or cut costs. As long as he doesn’t make the store much worse in the process, and thereby lose too many customers, it’s a good business move.
What about software? When we talk about products like Microsoft’s Visual Studio or the Eclipse JDT or IBM’s DB2 – you have a lot of choices when it comes to change. Since software is delivered as bits, you can choose to upgrade to the bits or not.
• You can choose to install the new bits as soon as they come out – maybe the upgrade solves a specific problem you had, swats a scary but or offers some compelling features.
• If you’re nervous or on a budget, you might wait for first point release or service pack or even hold back for next major release.
• You might decide never to upgrade.
• Or, if the upgrade is sufficiently obnoxious, you might switch products altogether.
That only works when software is a product. What about Software-as-a-Service? When you use Facebook or the Google Calendar APIs or a hosted code repository or a hosting package, you aren’t using software. You are using a service. You aren’t buying or licensing software. Your ability to upgrade, or to sit back and wait, is totally at the whim of the service provider.
Some service providers, of course, give customers the option to migrate early to new versions of their service, or to temporarily delay the migration. Some do not give you a choice. When you buy bits, you are in control. When you use a service, you are not in control. Whether it’s Facebook, your code repository, the layout of your local supermarket or the television channels carried by your local telecommunications provider, you can either go along with the change or find a new service provider.
Sadly, few consumers understand or appreciate that services are services. They don’t understand why they can’t stay on Facebook 2008. They don’t understand why the changes don’t reflect their own desires.
That’s not how it works. Facebook isn’t making changes for the benefit of its existing customers. It’s making them in order to help its own bottom line by creating new money-making opportunities for itself and its partners, while also encouraging users to spend more time on the site (so they see more ads). The company is betting that while many customers will complain, relatively few will actually leave the service. Plain and simple.
Now, how about those Patriots?
Z Trek Copyright (c) Alan Zeichick

Put away the forklift, I’ve got FORTRAN on my mind

The smell of fresh ink. The source-code listings. The structure. The structure! I am thoroughly enjoying my review copy of “Modern Fortran: Style and Usage,” by Norman S. Clerman and Walter Spector.
FORTRAN (or as it’s now called, Fortran) was one of the first programming languages I learned and later taught. In my mainframe environment, it was COBOL, FORTRAN and PL/1, plus a little LISP. Throw in some job control language and the occasional assembler, simply to break up the monotony. What a wonderful world.
Cryptic languages like C belonged to a parallel dimension inhabited by the VAX down the hall. Foreign. Alien. Bizarre. C was for programming telephone switches. It simply wasn’t part of my department’s business-oriented computing culture.
Did you learn FORTRAN in school? Use it for numerical or scientific work? Certainly the language was a delight to program, whether you coded in the immortal FORTRAN IV (my favorite) or that new-fangled FORTRAN 77.
FORTRAN 77 was the most recent dialect from my life as a professional programmer. The object-oriented Fortran 90 (where everyone moved to writing the language as Fortran) was never part of my life, except as a spectator. But I’m fascinated by how the language has grown and evolved. The addition of generics to Fortran 2003, and now parallel processing with Fortran 2008, truly brings this ancient procedural language into the modern era.
Think about how programming languages come and go. In the big-box era, we focused on structured, procedural and imperative languages, like FORTRAN, COBOL, RPG and the rest. While BASIC was designed as a structured teaching language for timesharing systems, it caught fire with the microcomputing era. C evolved for the world of Unix and for close-to-the-hardware control systems like those phone switches. FORTH, LISP, SMALLTALK and APL were specialized tools for specialized projects.
The pendulum swing to objects. Inspired by Smalltalk, everything was about C++, Objective C and Java. And then it became about scripting languages like JavaScript, Perl, PHP, Python and Ruby. And then domain-specific languages. But in reality… we’re using a little bit of everything.
That’s the way it should be. We should update the best of the old, while also creating new tools with the latest concepts. Put away the forklift, I’m busy reading “Modern Fortran.”
Z Trek Copyright (c) Alan Zeichick

Securing the data

Whose fault is it when data is stolen? It’s rarely blamed on the programmers.
If a company executive leaves a laptop filled with confidential data in a taxicab, you probably wouldn’t blame a software developer. Instead, you’d presumably ask, why was that data on the laptop to begin with? I’ve often wondered why corporate executives have access to customer card information in the first place, and why security policies allowed such data to be downloaded to any end device, especially a not-locked-down laptop. But you wouldn’t blame the programmers.
If an unencrypted data backup tape disappears en route to a secure offsite facility, you’d yell at a sysadmin, not at a C++ coder. “Why wasn’t the data encrypted?” you’d want to know. “How could it be written in plain text?” That’s the fault of the backup software, or again, security policies – not programmer who wrote the applications whose data is being backed up.
Now, who do you blame when hackers violate credit-card terminals? My family’s local grocery store – Lucky’s in Millbrae, Calif. — was recently penetrated by so-called skimmers, who tampered with in-store card readers and grabbed up to 500 customers’ credit card numbers. As far as we can tell, our credit card wasn’t compromised – but you can trust that we’ll be scrutinizing the Visa bill extra closely from now on.
Certainly, you can blame Lucky’s, for not ensuring the physical security of those devices. But what about the back-end programmers for the grocery chain? How about the embedded developers of the card reader’s firmware? Or how about any number of applications that were involved, from the credit-card clearinghouse to the bank? Could programmers be anyway responsible? Could they have done something, anything, to prevent this incident?
The reality is, well, no. It’s unlikely, especially since the devices were physically tampered with. But even so, it’s impossible for programmers to anticipate every possible scenario, or to model every type of threat to a complex web of applications developed by many companies, and administered by many companies.
No series of locks and alarms can truly prevent a home from being targeted and robbed by criminals – or burned down by arsonists. And there’s an increasing awareness that there’s nothing that developers can do to sure today’s modern interconnected application 100%. But that doesn’t mean that we shouldn’t try.
Z Trek Copyright (c) Alan Zeichick

Remembering John McCarthy

Computer scientist John McCarthy passed away in October 2011. In an SD Times end-of-year retrospective, cryptographer Whitfield Diffie wrote a personal essay focusing on McCarthy’s work on the creation of public-key crypto.
Diffie’s presented a different side of McCarthy, whom I knew mainly for his pioneering work on artificial intelligence and the LISP programming language. The only time that I recall meeting John McCarthy was at the AAAI conference in 1991, back when I was the editor of AI Expert magazine.
Shortly after our retrospective was published, we received a letter from an irate reader, Peter Schow, who insisted that our tribute was all wrong:
I was stunned to read the John McCarthy tribute in the SD Times December 2011 and not see his foundational contributions to functional programming, Lisp, and artificial intelligence (he invented this phrase!) mentioned at all! His book “LISP 1.5 Programmer’s Manual” (1962) is a classic in Computer Science and is still very relevant today, especially as functional programming is undergoing yet another revival in languages like Scala and Clojure.

The title should have been entitled “Father of Lisp and AI” but instead the tribute appeared to be hijacked for the purpose of highlighting the author’s public key cryptography invention. It’s mildly disturbing that we are forgetting our history, short as it is, and you owe it to yourself to investigate the subject of John McCarthy’s lecture when he received the 1971 ACM Turing Award. I’m shocked that your editors could have let this been published and I think you owe your readers a true memorial to John McCarthy.
John McCarthy is a legend — and his work in crypto is no less important than his work in AI. He deserves to be recognized for his contributions in both areas. I’d like to thank Whitfield Diffie and Peter Schow for sharing two views of this incredible man.
(You can read another view in the SD Times obituary of John McCarthy, written by Alex Handy.)
Z Trek Copyright (c) Alan Zeichick

Introducing AnDevCon III, May 2012

AnDevCon III – the third iteration of our Android Developer Conference – will be coming back to the San Francisco Bay Area from May 14-17, 2012.
We had some excitement scheduling this conference, as those who attended AnDevCon II in November observed.
At first, we scheduled AnDevCon III for April 2012 (and publicized that in the show program we gave away at the conference). But then in mid-October, Google announced that Google I/O – its two-day tech conference for all things Google, not just Android – would be on April 24-25.
“That’s not good,” we said. So our team went back to the drawing board and found some great dates in late June – and began gearing up for a public announcement.
But then Google decided that Google I/O needed to be three days – and they changed their dates to be June 27-29. Which happened to overlap the second set of dates we had selected for AnDevCon III.
In the words of the bowl of petunias in Douglas Adams’ “Hitchhiker’s Guide to the Galaxy,” we said “Oh, no, not again!” Back to the drawing board.
Unless Google changes its mind (again), AnDevCon III will be May 14-17, 2012. As before, the first day will be pre-conference workshops; the other three days will be filled with technical classes.
We are very excited about AnDevCon III. We aren’t anticipating many changes from AnDevCon II. However, there will be lots more coverage of alternative platforms beyond smartphones and tablets. Thus, you’ll see more embedded Android sessions, an expansion beyond the single class we had on the Android-based Google TV, and also a deeper dive into Arduino.
Mark your calendars, and we look forward to seeing you there!
Z Trek Copyright (c) Alan Zeichick

Why is video conferencing so hard?

Video conferencing is difficult. Whether you’re using a phone, tablet, desktop or laptop, there are challenges everywhere.
• Video conferencing requires that all participants use the same service.
Whether it’s Skype, Oovoo, FaceTime, AIM, Tango, Fring, Google Talk, WebEx, GoToMeeting, AnyMeeting or whatever, that means a plethora of accounts – and of course, not all accounts work (or offer the same features) on all device types or operating systems. In order to get advanced features many services want you to pay for a premium subscription. When you need multiple services to be compatible with your friends, colleagues or customers, all those subscriptions can get expensive.
• Audio and video quality is really spotty.
Recently I did a video interview using Skype – I was on a T1 line in California, and the other participant was using ADSL in Florida. The images and sounds kept breaking up, synchronization was terrible, and every so often one of us would lose the picture entirely. That means breaking and reestablishing the connection between our PCs. The experience was pretty bad.
Another time I did a FaceTime chat between my iPad 2 and an industry expert using an iPhone 4. Audio and video was generally outstanding, but at one point the call dropped and we had to restart. Of course, FaceTime is only available on iOS or Mac OS X.
• Multi-party conferencing is a nightmare.
Some services only allow two parties on a video. Some can handle up 6 users sending video; a few can handle more. But again, everyone has to be on the same system. With most services, only user needs to have a premium account, but on others everyone must have a paid account.
• Ease of use and functionality is spotty.
Each system requires its own user directory. The means for users to sign into and sign out of multiple user chats varies. It’s a mess. Recording video calls? Some services have that built in, others don’t offer it at all. Some only allow the host to record. The user interfaces are uniformly terrible, and documentation is worse. I’ve never found a scalable, cross-platform system that’s truly easy to use.
Imagine if standard wireline or mobile wireless calls worked like this. “Sorry, Bob, we can’t add you to our conference call because you use Verizon.”
We are used to calling any telephone number from any telephone. Doesn’t matter if it’s mobile or wireline or even Voice-over-IP; doesn’t matter who the carrier is; doesn’t matter whether it’s CDMA or GSM. Whether you are calling Boise, Bangalore, Brussels or Brazzaville, if you know the phone number, you can make the call.
Yet with video, there’s too much manual handshaking required, and hoops that must be jumped through. Shall we use Skype or Google Chat? Oh, we can’t do AIM because I have a Microsoft Messenger account. We can’t use FaceTime because you have an Android phone. We can’t do video at all because your company has a firewall.
Picking up the phone is better than email. A video call is better than a phone call. And a video conference call is better than an audio-only conference call.
I can’t wait for this technology to mature and work properly.
Z Trek Copyright (c) Alan Zeichick

Was Apple right about Flash?

As you may have seen a few weeks ago, Adobe is giving up on Flash for mobile devices, and is embracing HTML5.
Flash doesn’t run on Apple’s iOS devices. That’s not news, of course. Flash has never run on the iPhone, iPod touch or the iPad. This was a big deal several years ago, especially when the iPad was introduced – how could Apple claim that the tablet provided access to the Internet when so many popular Flash-based websites wouldn’t work?
Pundits declared Apple arrogant in its refusal to install a Flash runtime on its iOS devices. In early 2010, Adobe claimed that the Apple was creating a closed ecosystem with its portable computers, and that Flash was an open technology.
In April 2010, Steve Jobs fought back with his thoughts on Flash. He argued (convincingly in my opinion) that the opposite was true: that Apple, by pushing Web developers to use HTML5 instead of Flash, was on the side of open standards, and that Adobe’s Flash was a closed proprietary system. Jobs further argued that Apple had never seen a Flash implementation that performed well on portable devices.
Since that time – a year and a half – iOS’s lack of Flash has become less and less of an issue. As a consumer who owns both a iPhone and an iPad, certainly I found fewer and fewer websites that relied upon Flash. And although you can run Flash on Android devices (and I own both Android phones and tables), to be honest, this was never a significant reason for me to pick up an Android device instead of an Apple one.
In large part, that’s because developers of popular websites did exactly what Jobs predicted. They either moved away from Flash entirely, or created parallel graphics display systems that sniffed out iOS devices and offered them an HTML5 experience.
Once a website starts down that road, it’s nearly inevitable that the site will abandon Flash altogether sooner or later. I won’t miss it.
It looks like Adobe won’t miss it either. On Nov. 9, the company’s official blog wrote that “Flash to Focus on PC Browsing and Mobile Apps; Adobe to More Aggressively Contribute to HTML5.
The blogger, Danny Winokur, an Adobe vice president, wrote, “HTML5 is now universally supported on major mobile devices, in some cases exclusively. This makes HTML5 the best solution for creating and deploying content in the browser across mobile platforms.” Yes.
What’s the future of Flash? Adobe says that it is still developing it as a PC-based technology. Adobe has turned its Flex development environment over to the Apache Software Foundation. Flex has been open source software for some time, and while Adobe is expected to continue contributing to its development, Apache will now be calling the shots.
I wonder how long Adobe will hold out on Flash. As a desktop-only platform, it’s not very compelling. The future belongs to HTML5.
Z Trek Copyright (c) Alan Zeichick

Picture-perfect software

A four-day weekend doesn’t mean four days without work, not in today’s modern economy. However, a holiday does offer a nice healthy opportunity for improving my life/work balance. Although I spent a lot of time in the office over this year’s Thanksgiving holiday, it also meant time pursuing various hobbies – specifically photography.
On one level, photography is an artistic endeavor. It’s little changed from my youth when I shot medium-format and 35mm film and developed the black-and-whites in my high-school darkroom. Composing shots, developing film, making prints and displaying my favorites was an analog, creative process.
Today, there’s obviously still an artistic aspect to photography. Taking closeups of butterflies at the California Academy of Sciences in San Francisco, or catching whales playing near Pacifica Pier, or shooting a fast-paced girls’ soccer game (AYSO under-14 – one of my best friends is the coach) is about having a good eye and feel for the photograph, not about having expensive technology.
Everything else about photography is about hardware and software, some embedded, some desktop, some living in the cloud.
• The proprietary microprocessor inside my Canon EOS SLR runs sophisticated firmware that couples the image sensor, auto-focus sensor and some AI to get the shot, while calculating exposure and stabilizing the image.
If you shoot RAW images (which I do), the bits are then transformed by codecs and then stored onto the camera’s memory card.
If you shoot JPEG images, there is more embedded software to apply creative post-shooting image transformations and real-time file compression before being written to the memory card.
Every so often, Canon offers firmware updates for my cameras, sometimes to fix bugs, sometimes to improve performance and sometimes to offer new functionality.
• My Mac accesses the same file system and copies the raw image files onto a hard drive. While the software there is not photography-specific, the operating system is essential for managing my digital images.
Adobe’s Lightroom software helps me manage all the photographs in my library – tens of thousands of them, all indexed in a super-fast metadata-rich database. Lightroom also contains tools for manipulating the images files, using efficient algorithms, and can exporting them in other formats – or even upload to online services.
• Occasionally I need to do more sophisticated manipulation of the images, and in those rare cases the tool-of-choice is Adobe’s Photoshop CS5 – which is not only incredibly sophisticated software, but which also has plug-in capabilities.
But wait, there’s more:
• I often share my photographs on Facebook or upload them to Google’s Picasa service. Both those services are built around massively distributed databases with strong backup. Facebook uses a map/reduce-based system for distribution of metadata about the photographs, letting all my friends, friends of friends, and others see the pictures, see if they’ve been tagged, read and add comments, recognize faces, and so-on. My mind boggles when considering the data/metadata infrastructure within these social-media giants.
• If I want to print the images, my Canon ink-jet printer also has some pretty advanced algorithms to transform the bits into the 10 specific colors of its pigment tanks, and implement dithering patterns to create even more apparent colors.
Have I written any photo software? Nope. But between embedded firmware in my camera and printer, desktop software on my iMac, and Web-based software in the cloud… there a lot to think about while setting up that perfect shot of Thanksgiving dinner.
Z Trek Copyright (c) Alan Zeichick

David Gerrold, Tribbles, cookbooks and more

You are undoubtedly wondering, “What’s going on with the SD Times team? What are those editors up to?” Let’s find out:
• Do you like tribbles? Read our new online column by David Gerrold, a longtime programmer and writer of the landmark episode of Star Trek, “The Trouble with Tribbles.” See his introductory piece, “Looking Backwards,” here.
I had the pleasure to work with David in the early 1990s, when he was a contributor to Computer Language Magazine and its CLMFORUM on CompuServe. It’s a pleasure to welcome David to SD Times as a columnist and blogger. Hint: Keep off his lawn.
• You may have noticed that former SD Times columnist J.D. Hildebrand began blogging for us a few months ago. J.D., a long-time technology writer, is the former editor of Computer Language Magazine, Unix Review, Windows Tech Journal and Embedded Systems Programming. He was one of the debut columnists in the very first issue of SD Times, in February 2000, and we welcome J.D. back to the team. Read his blog posts here.
• Click here to see a new online section, Developer Cookbook. Assembled by Don Williamson, a marketing exec at GrapeCity – but, more importantly, a world-class barbecue chef – this fun new part of our website demonstrates that there’s a lot more to programmer cuisine than pizza.
What about events?
• We recently completed our fantastic Android developer conference, AnDevCon II. It was a huge success. I am delighted to announce that AnDevCon III will be June 25-28, 2012, back in the San Francisco Bay Area. We are building its website, and will share more details soon.
• If your organization uses SharePoint, please join us at the next SPTechCon: The SharePoint Technology Conference. David Rubinstein, editor-in-chief of SD Times and conference chair for SPTechCon, has created an incredible program of workshops, technical classes, keynotes and a lot more. It’s in San Francisco, Feb. 26-29, 2012.
Happy Thanksgiving to all of our U.S. subscribers from everyone at SD Times. May your turkey be moist, and your yams be sweet.
Z Trek Copyright (c) Alan Zeichick

Mister Tweetman

Wait, oh yes, wait a minute Mister Tweetman
Wait Mister Tweetman.
Mister Tweetman refresh and see
If there’s a Twitter in your queue for me
I been waiting such a long time
Since I was DM’d from that girl of mine.
There must be some tweets today
From my girlfriend so far away
Please Mister Tweetman refresh and see
If there’s a tweet, a Twitter for me.
I been standing here waiting Mister Tweetman
So patiently
For just a tweet, a little Twitter,
Saying she’s returning home to me.
Please Mister Tweetman, refresh and see
If there’s a Twitter in your queue for me
I’ve been waiting, a long long time
Since I’ve heard from that girlfriend of mine.
So many days you passed me by
See the tear standing in my eye
You didn’t stop to make me feel better
By leaving me a tweet or a Twitter.
Mister Tweetman refresh and see
If there’s a Twitter in your queue for me
I been waiting such a long time
Since I was DM’d from that girl of mine.
You gotta wait a minute, wait a minute
You gotta wait a minute, wait a minute
You gotta wait a minute, wait a minute
Hit refresh and see, one more time for me.
Deliver the Twitter, the sooner the better…
Ahh……
Z Trek Copyright (c) Alan Zeichick

On slide rules and smartphones

What does mobility mean to you? To many of us, it means smartphones like Android devices, the iPhone, a Windows Phone, or even a BlackBerry. For others, particularly those who live in the past, it means a slide rule.
The notion of mobility came up at AnDevCon II – the Android Developer Conference put on by BZ Media, the company behind SD Times and News on Monday. Held in the Bay Area last week, we had more than 1200 registrants, nearly all of whom were interested in my historical slide rule collection.
The most popular model, according to an informal poll, was the Pickett N600-ES (pictured). It’s a little aluminum slide rule carried on five Apollo space missions as a backup computer by astronauts like Buzz Aldrin. Folks were also fascinated by my Nestler 23, a German model favored by scientists and engineers like Albert Einstein and Werner von Braun.
Slide rules are a curiosity today. But the applications for a smartphone are boundless.
During his keynote talk, Bruce Jones, a developer evangelist at HTC, painted the picture of tablet apps that might let musicians draw and edit the notes of a score with their finger or pen on digital staff paper – and then hear the song.
During a Q&A session, while I was running around a room with a wireless microphone, I had the idea for an app that would let attendees enter a queue to ask questions by pressing a button. When it was their turn to talk, their phone display would show a green indicator – and then they could speak right into their phone, and their voice would be amplified by the room’s P.A. system. Who needs a microphone when you have a smartphone and WiFi?
Perhaps those apps already exist – if not, they will soon, I’m sure.
What ideas do you have for smartphone apps?
Z Trek Copyright (c) Alan Zeichick

Google searches and quantitative methods

Oh, the joy of random Google searches! Earlier today I was looking for something regarding software testing – the details don’t matter to this story. But one of the Google search results brought up a 2008 issue of an English-language Romanian publication called Journal of Applied Quantitative Methods – and the reference had my name in it.
Odd, that.
The article in the JAQM was entitled “Testing: First Step Towards Software Quality,” by two scholars, Ioan Minhea Iacob and Radu Consantinescu. It referenced a brief story that I wrote for SD Times back in 2005 called “Quality is Hot, H1-B Visas Are Not,” which presented survey results from a BZ Research study.
After getting over the all-too-human reaction of being flattered that my newspaper story was quoted in a scholarly journal, I read the Iacob/Constantinescu paper. Fascinating. The authors laid out a solid approach to software testing in an engineering organization, make the case for a formalized approach toward training both developers and testers. Not only that, but they present a potential curriculum that can be applied to either academic courses or professional development.
To quote the conclusion of the paper – which I urge you to read:
Efficiency and quality are best served by approaching testing activities in a structured and scientific way, instead of the, unfortunately, usual ‘monkey-testing’. The effectiveness of testing effort can be maximized by selection of appropriate testing strategy, good management of testing process, and appropriate use of tools to support the testing process. The net result would be an increase in the produced software quality and a decrease in costs, both of which can only be beneficial to a software development organization.

However, in order to be able to put quality processes into place, the appropriate knowledge is needed. The quality engineering should be recognized as a standalone area of study and treated as such in the computer science universities and faculties curricula in the emergent software development market that Romania is. Taking the right path can never be too early; it can only be too late.
It’s a good paper, and I’m glad to have stumbled across it.
Changing the subject entirely: AnDevCon II, our Android developer conference, is Nov. 6-9 in the San Francisco Bay Area. As the conference chairman of AnDevCon II, I’m excited about how fast this event has grown, and am looking forward to meeting our speakers, attendees and sponsors there. I hope you’re one of them – if so, please flag me down and say hello.
Z Trek Copyright (c) Alan Zeichick

No, I am not satisfied

Every time I make a restaurant reservation online, I am sent an email survey after the meal. Every time I get my car serviced, I’m asked about my satisfaction. After I buy something from an increasing number of online merchants, I’m asked to rate the transaction. Stay at a hotel. Watch a movie. Send an e-card to a friend for his birthday.
“Give us your 2 cents, we’ll give you $5,” offers CaféPress.
“Thank you for booking your recent reservation through OpenTable. We would appreciate your feedback about your experience at Ruth’s Chris Steak House?” asks OpenTable.
“As a valued HHonors member, your feedback is important to us. We invite you to take a few minutes to complete a survey about your stay at Hilton Anaheim,” requests Dave Horton, Global Head of Hilton Hotels.
“Thank you for staying at Millennium Knickerbocker Hotel Chicago. We would appreciate it if you would spare a minute of your time to share your opinion of the hotel with us. Your evaluation of our people, facilities and services will provide us the opportunity to work toward serving you better on your future visits,” writes David Cockburn, Senior Vice President of Operations for the U.S. Region of Millennium & Copithorne Hotels.
“We understand you recently had work completed at your Acura dealership and wanted to be sure we’re meeting your service expectations. Your experience is unique and we’d appreciate hearing about it,” says an unsigned Acura email.
Even my dentist sends out post-visit electronic surveys.
If you don’t fill out surveys, you are reminded and reminded. Acura sent out three reminders to fill out the post-service questionnaire, on Oct. 13, Oct. 14 and Oct. 17.
At least CaféPress is offering some compensation for my time. But no, I don’t want to fill out a survey every time I stay in a hotel, eat in a restaurant, get my oil changed or buy a t-shirt.
Post-transaction surveys make sense. One reason is metrics – they truly want to see their scores rise. This is true both of the local Acura dealer and also of the Acura nationwide organization, which needs to learn about both exceptional and troubled dealers.
Another reason is to deflect customer complaints, especially public ones that can harm the merchant’s reputation. Cranky consumers love flaming online and bricks-and-mortar vendors on Yelp or Twitter.. The theory is that if Hilton gets me a survey fast, perhaps I’ll be less motivated to go onto Yelp. Plus, of course, Hilton has an opportunity to intervene and get me to retract my diatribe.
The downside is that I’m drowning in a sea of post-transactional surveys. My family had three cars serviced in October. To date we have received 10 – 10! – survey requests about those service visits.
Let’s look at this from the software development perspective. It is easy to set up the online surveys with Web landing pages, automatic emails, and reminder tracking for non-responders.
In fact, it is too easy to set up those surveys. Because the incremental cost of each survey is approximately US$0, we have no reason to hold back from surveying every transaction, no matter how small. We have no reason to hold back from sending reminder after reminder after reminder.
We are not serving our customers. We are harassing them by burying them in requests for customer feedback.
Next time a line-of-business manager asks you to set up an automated post-transaction survey with lots of emailed reminders, please bring up this possibility…. Or at the least, add it to the survey.
Z Trek Copyright (c) Alan Zeichick

Occupy Babylon 5

Z Trek Copyright (c) Alan Zeichick

Measure twice, scoop once

If you don’t measure, you don’t know how you’re doing. You don’t know what works and what doesn’t. You can’t figure out what to fix. And you can’t determine if your fixes actually work.
Or, as the well-known but oft-ignored saying goes, “You can’t manage what you can’t measure.”
Do you make coffee? Every morning I make a pot at home. For many years, I’ve scooped out the coffee until it looks about right. Most mornings the coffee tastes good. Some mornings it’s incredibly delicious. Some days it’s too strong. Some days it’s too watery.
That changed in September, after I read an article in the New York Times, “Tipping the Balance for Kitchen Scales.” The author, Farhad Manjoo, uses making consistently delicious coffee as one of his anecdotes. He explained that if you use volumetric measures (like a scoop) you’re not getting a consistent amount, due both to variations in the density of the substance as well as in the accuracy of eyeballing the quantity.
Following Mr. Manjoo’s advice, we purchased an inexpensive Oxo digital kitchen scale. I tried scooping out coffee the old way, and then measured the results. The average was around 120 grams, which made pretty good coffee — but there could be a 20-30 gram swing. Even so, 120 grams wasn’t bad.
Then we started experimenting. 120 grams. 110 grams. 100 grams. 80 grams. 70 grams.
It turns out that my family loves the coffee when we use 75 grams of ground beans per pot. That’s significantly less than what we had been making. Each day our morning coffee is consistently perfect. (A pound of beans goes a lot farther too, yielding 6.0 pots instead of 3.7 pots.)
Put down the coffee scoop and open your development dashboard. How efficient are your architects, developers, designs, testers, managers? Do you know? Have you measured source lines of code created per day? Analyzed function points? Looked at defects or security flaws per KSLOC? Counted the requirements added or changed per iteration? Elapsed time per defect remediation? Variation from time or cost estimates per feature? Time spent on non-refactoring rework? Developer time spent on non-development activities?
There are a gazillion metrics specified by ISO and CMMI, as well as other best practices widely known in our industry. Do you use them?
You can’t manage what you don’t measure.
If you don’t measure, you don’t know what is working well, and where you need to improve. If you don’t measure, you don’t know if your fixes are making things better or are making things worse. If you don’t measure, you can’t drive toward consistent performance and consistent delivery.
Best of all, as my caffeine experience showed, measuring not only makes the coffee more consistently delicious, but less expensive as well.
Z Trek Copyright (c) Alan Zeichick

What, exactly, is Android?

My mind is filled with little green robots… who are they, and where are they going?
Earlier this week I attended O’Reilly Media’s debut Android Open conference, a “big tent” gathering that brought together a wide swath of the open-source ecosystem – from game developers to marketers, from chip manufactures to venture capitalists. It was an interesting and enjoyable conference – a good place to think about launching an Android-centric business.
Coming up soon, of course, is our own AnDevCon II, which is a larger but more tightly focused technical conference dedicated to technical classes and workshops on Android development. (Gratuitous plug: It’s Nov. 6-9, in the Bay Area. See www.andevcon.com.)
But back to Android Open. Talking to speakers and attendees, there was a universal concern about exactly what Android is, and what it’s becoming under Google’s direction.
On one hand, it’s pretty clear: Android is an open-source operating system for phones and tablets. Handset makers get a consistent firmware and user experience, while giving them room to innovate and differentiate. Carriers get predictability, and a smart phone that they can sell, customize and monetize. Developers get a big enough platform to sell their wares, and more flexibility than they get from Apple.
Google benefits from its investment in several ways, including:
• Commissions on apps in the Android Market.
• Opportunities to bring customers into its cloud ecosystem, such as with Gmail and Google Apps.
• And lots and lots and lots of places for advertising.
Android, however, is seen as a whole lot more than a phone and tablet platform, and as more than an app and ad delivery vehicle. For example, it is viewed as a promising embedded platform, and offers tremendous promise there. However, because Google can’t benefit directly from embedded development (no apps, no Gmail, no advertising), the company’s position and support are ambiguous at best.
Even within the handset and tablet spaces, the Android user experience and app-store experiences are fragmenting fast. I have two Android handsets, an HTC Evo and a Motorola Atrix. The user experiences are quite different – and in fact, on some handsets even vary from carrier to carrier. Don’t expect an Amazon Kindle Fire to work like a Barnes & Noble Nook Color, and don’t expect either to be like a Samsung Galaxy Tab or a Motorola Xoom.
The fragmentation in app stores is even worse. I can’t buy apps from the Amazon Appstore for Android on my AT&T-hosted Atrix. My understanding is that the Kindle Fire will only run apps that Amazon approves and offers. What’s more, app stores are proliferating like crazy. This doesn’t serve the market!
If Apple is has locked the iOS walled garden down too tight, then Google is too loosey-goosey. Device makers (and carriers) have so much room to differentiate that we’re fast losing cohesion.
Remember the days of Windows 95 and Windows NT 4.0, when Microsoft insisted upon a uniform experience and a consistent desktop? While Compaq, Dell, HP and others wanted freedom to differentiate, Microsoft understood that a Windows PC had to be a Windows PC – and enforced that rule with an iron first and a strong logo program. Of course, once the consumer or enterprise purchased the Windows PC, they could do whatever they wanted – but at least out of the box, Windows was Windows.
So what exactly is Android? Officially, it’s an operating system for handsets and tablets, yes. It’s a set of APIs. But it’s not a defined or consistent user experience for your handset or tablet. It’s not a well-defined embedded platform. It’s not a way to find, purchase and install apps for your device. It’s not a uniform way to sell or distribute apps to your customers or end users.
Android devices are selling like hotcakes – more than a million units activated per month. But without a clear identity, I’m not sure that this is enough.
Z Trek Copyright (c) Alan Zeichick

The passing of Steve Jobs

A moment of silence, please, for Steve Jobs.
I’m sure that many of you are – to be blunt – tired of reading about him already. The number of obituaries, tweets, Facebook posts, columns and remembrances treats Steve Jobs like he was a head of state, a major movie star, a world leader.
He was, indeed, a world leader, and he touched your life.
Even if you don’t own a single Apple product, even if you’ve never seen a Pixar movie, you have been affected by Steve’s drive, determination and vision. Steve wasn’t always right, but he never stopped innovating, never stopped trying to improve the world (and sell products).
There is no doubt that the early days of the personal computer revolution were massively influenced by the Jobs/Woz Apple ][. And that was only the beginning.
The Lisa and Macintosh brought the WIMP (Windows, Icons, Menus, Pointing Device) out of the laboratory and out to consumers. NeXT truly was a next-generation vision that influenced today’s Macs. There’s the iPod, the iPhone, the iPad, Toy Story, Finding Nemo and so much more.
Of course, the influence of Jobs’ vision went far beyond Apple, NeXT and Pixar products. As a tastemaker, nearly every competitor tried to emulate Jobs’ products while simultaneously differentiating from those same products. Most competitors failed.
On a personal note, my interactions with Steve Jobs were very few, and limited to a few short conversations at press events and trade shows. I can’t say that I truly knew the man. I’m not sure that I would have wanted to work for Steve. But I have incredible respect for him.
Let me share two messages. The first is from the Apple board of directors, which wrote,
We are deeply saddened to announce that Steve Jobs passed away today. Steve’s brilliance, passion and energy were the source of countless innovations that enrich and improve all of our lives. The world is immeasurably better because of Steve. His greatest love was for his wife, Laurene, and his family. Our hearts go out to them and to all who were touched by his extraordinary gifts.
Finally, please read the personal comments by the Wall Street Journal’s Walt Mossberg, who knew Steve fairly well.
May Steve Jobs’ memory be a blessing to his friends, family and all of us.
Z Trek Copyright (c) Alan Zeichick

The mobile world is taking over the desktop – or is it?

A friend of mine, Michael Willems, posted onto his blog, “…the more I see OS X Lion, Apple’s new OS, the less I like it. No – the more I hate it. It is a dumb downgrade, designed to make your powerful computer into a dumb iPad.”
Meanwhile, it’s clear that the user interface design of Microsoft’s Windows 8 operating system for desktops, notebooks and tablets, called Metro, is designed to mimic the user experience of the company’s smartphone operating system, Windows Phone 7.5.
This is a reversal of what we experienced with earlier versions of Windows-based phones. Remember the silliness of having a desktop-style user interface on a pocket device? Who wants to push the “Start” button on a phone?
Yet when it comes to innovation, it all seems to be starting on the phone or tablet, and continues right to the cloud – bypassing the desktop and also the traditional enterprise server.
Consider, for example:
• September 27: The rollout of Windows Phone 7.5 begins, and includes a Web Marketplace store. While most consumers won’t get their “Mango” for a little while yet, this shows that Microsoft is back in the game. I expect Mango-based phones to appeal to both consumers and developers. (There’s no Mango Tablet in sight; Microsoft’s tablets will run the Windows 8 desktop operating system, not the Windows Phone platform.)
• September 28: Amazon.com formally announces the Kindle Fire, a 7-inch Android tablet designed to both take on Apple’s iPad and drive business to Amazon’s store. The backend of the Kindle Fire’s new Silk browser and user experience is processing and storage in Amazon S3 and Amazon Web Services.
• October 4: That’s when Apple is expected to release its iOS 5 operating system and iPhone 5 handset. The biggest innovation in iOS 5 is iCloud, a massively revamped version of Apple’s rather pathetic MobileMe online service. iCloud provisions the iPad and iPhone directly — bypassing the iTunes desktop client.
Now, one might argue that all this consumer electronics stuff doesn’t matter. This is all about Amazon selling more books and movies, Google selling more ads, Apple selling more hardware, Microsoft selling more something-or-another. What does that have to do with enterprise software development, beyond making sure that if you’ve got some apps for your customers, partners and employees that they run correctly on those devices?
From an IT perspective, this matters a lot – because we’re losing control over our end-points. Ahh, for the good old days when mainframes ruled, and we issued our employees dumb terminals! Heck, I miss the days when IT set standards for desktops and notebooks. Today your coworkers are in the driver seat – choosing to use Macs or Windows (or Linux), picking out their own smartphones.
After our employees are seduced by Big Vendors’ marketing messages (and by brand loyalty, their favorite carriers and a broad selection of game apps) it’s our job to make it all work, which is increasingly challenging in a world filled with walled gardens.
Beyond HTML5, there’s little commonality in any of the mobile platforms. That’s our problem, of course, not the consumer’s problem.
See this article from the New York Times, “More Offices Let Workers Choose Their Own Devices.” Does this describe your organization? What effect does this have on you?
Z Trek Copyright (c) Alan Zeichick

With Windows 8, Microsoft may have its mojo back

Something funny happened to me down at Microsoft’s Build conference, held this week in Anaheim, Calif. Something rare. Something unusual.
I wanted what I saw on the keynote stage, and I wanted it bad.
I’m talking about the new look-and-feel of Windows 8. The Metro user interface. The seamless transition that it encourages between devices in many different form factors – desktops, servers, tablets and phones. The user experience looks fresh and compelling, and frankly is the most innovative update that I’ve seen to a Microsoft desktop operating system since Windows 95.
As mentioned above, it’s rare for me to have that type of reaction. I didn’t have it upon seeing the first iPhone, for example. In fact, Apple has only done that two me twice, with the MacBook Air and the iPad. (Both of which I purchased promptly when they appeared in stores.)
In fact, I can only think of a few other times I had that reaction. Upon seeing the launch of a particular version of Mathematica (I forget which version). At the launch of the Cobalt Cube, an innovative small-business server that Sun Microsystems acquired and killed. Steve Jobs demonstrating the second-generation NeXT pizza-box workstation. Not many others.
Downloading and installing the Windows Developer Preview, including tools, onto one of my lab machines is on my todo list. (Microsoft gave every paid attendee at Build a Samsung tablet with the Win8 beta and tools preinstalled, but those were not offered to press attendees like yours truly.)
What about the developer angle? Microsoft appears to be making it easy to retrofit existing Windows applications to behave nicely within the new Metro user experience; in fact, the company claims that every app that runs under Windows 7 will run under Windows 8. (Presumably, that’s for Intel x32/x64 apps and not for ARM applications.) The Metro experience is driven by JavaScript with HTML, but can also be implemented using C#, C++ or Visual Basic using XAML. No rocket science there.
Another big push with Windows 8 is to HTML5. While Silverlight and other plug-ins will still be supported, and there’s indeed a strong commitment to Silverlight, the message was clear: HTML5 is the future. That’s welcome news, of course – with Apple also on the HTML5 bandwagon, it’s the safest bet in town.
Finally, there’s the push to touchscreens. Microsoft is using the touchscreen to differentiate Windows from Mac OS X. Apple has been very clear that (at least under Steve Jobs) that touchscreens were for mobile devices, and not for iMacs. A plethora of computers built for Windows 8 – including desktops and notebooks – will have touchscreens. Let’s see where this goes: If consumers choose Windows because of this, expect Apple to embrace the touch as well.
As for now – I look forward to seeing how well the developer preview runs on a four-year-old Asus X50RL laptop. Should be interesting!
Z Trek Copyright (c) Alan Zeichick

BetaCity: Windows Phone, Android, iOS and the shape of the mobile landscape

Last week I had a great hands-on demo of Mango, the forthcoming update to Windows 7 Phone. The user interface is stunning. The integration of social media into the user experience is fast and intuitive. The incorporation of functions like OCR, barcode scanning and even speech-to-text is seamless. I love how you can “pin” information to the home screen for fast access.
Meanwhile, a developer close to me is running the Apple iOS 5 beta on an iPhone 4 and an iPad. This beta doesn’t have a cute name like Mango, but the user experience is also considerably improved, with pop-up notifications, scroll-down alerts and lots of other cool stuff. You can learn about some of those features in Victoria Reitano’s story, “Top five features iOS 5 brings to the table.”
I’ve not had any hands-on exposure to the forthcoming Android version—codenamed “Ice Cream Sandwich.” But when it comes to features for both users and developers, the current version of Android has a good head start over the current iPhone software. You can see why in Dave Smith’s story, “Six areas where Android leads iOS.”
The upshot of this is that we’re living in a time of very rapid evolution of our mobile operating systems. It’s reminiscent, in many ways, of the very rapid evolution in browsers a decade ago.
Now, more than ever, your dev team should not be locked into one platform. Whether you’re cutting native code, using cross-platform frameworks or building mobile Web apps with HTML5, you need to be supporting Apple, Google and Microsoft.
Yes, Android has zoomed past iOS in terms of sales. Yes, Apple, even in the post-Jobs area, has the best mind-share. And yes, Microsoft is coming from behind. But this isn’t a three-horse race, because that would imply that there’s going to be one winner and two losers. Rather, this is like when the U.S. had the Big Three Automakers (GM, Ford and Chrysler) or the Big Three television networks (ABC, CBS and NBC). Unless something truly unforeseen happens, we’re going to be having these three platforms coexisting and overlapping for many years to come, dominating the industry.
Don’t bet on one. Support all three. That’s the way to your customers’, partners’ and employees’ hearts.
Z Trek Copyright (c) Alan Zeichick

Apple, and Computing, After Steve Jobs

We wish Steve Jobs good health and speedy recovery — but for the tech industry, his era is over.
Jobs is arguably the most influential computer-industry executive alive today. While he certainly shares the top shelf with the likes of Oracle’s Larry Ellison, Google’s Larry Page, IBM’s Sam Palmisano and Microsoft’s Steve Ballmer, for years Jobs has been in a class all by himself.
No modern tech titan has been so intimately involved with every aspect of the business. When you look at the patents, the design decisions, the marketing concepts and the purity of execution, Jobs defined what it means to be a hands-on manager with vision.
On Wednesday, Aug. 24, Jobs announced his resignation as CEO of Apple. You’ve undoubtedly read countless stories in the general media, analysis by pundits, and tweets by your friends. At this point, don’t read too much into anyone’s prognostications; we’re all extrapolating from very little data.
For example, we don’t know how many of Apple’s recent decisions were inspired by Jobs, and how many came from Tim Cook. The newly promoted CEO had held down the fort and ran day-to-day operations during Jobs’ illness.
On the short term, Apple has many Jobs-blessed products and plans in the pipeline. But what happens when that pipeline runs dry – and when the industry shifts?
Bigger changes must come soon to Apple’s product and service mix. How much will those changes affect the company’s trendsetting sense of design, ability to create entire new technology sectors, its willingness to go it alone, its minimalistic marketing, its one-sided relationship with partners, its arrogant disdain of the media, its rampant paranoia and secrecy? Nobody knows.
Take design, the area that showcases Steve Jobs’ personal leadership and vision. When it comes to new products (beyond those already in the pipeline), Apple’s designers can either try to emulate the past by designing around a hypothetical WWJD (What Would Jobs Do?) style, or follow the instincts of a new chief designer – even if that means going in a new aesthetic direction.
Let’s hope for the latter: If Apple goes into a WWJD navel-searching spiral, that would be a disaster. You can’t invent the future by copying the past. For the sake of Apple and its customers, Cook must demonstrate strong leadership and truly make the company his own.
Z Trek Copyright (c) Alan Zeichick

Google to buy Motorola Mobility – it may be a patent play

Google – the company behind Android – is buying Motorola Mobility for US$12.5 billion.
Motorola, a U.S.-based telecommunications infrastructure equipment maker formed in the 1930s, spun off its Mobility handset subsidiary in January 2011. Perhaps the Google deal was in the cards all along. In any case, here are my first thoughts upon hearing about the pending acquisition this morning.
1. The Android platform will become more like the iPhone platform.
Apple’s iOS runs only on Apple’s hardware, and the company ties its hardware and software releases together. The benefit to consumers and developers is, of course, that the hardware and software work together as an integrated and seamless entity. The downside is that if you want an iOS-based device, you have few choices in form factor, features and functionality. It’s Apple’s way or the highway.
Android goes the other way: Google creates the operating system, but it’s up to the handset/tablet makers to adapt that software to fit their hardware. Despite everyone’s best efforts, the experience is not as seamless as you find with iOS; it’s always a compromise.
In the past, Google has designed and sold a few handsets, but they’ve been little more than glorified reference platforms. With the Motorola Mobility deal, however, Google can make sure that future devices from that company are 100% in tune with Android features (and vice-verse). This should result in a better experience on those devices, giving Apple more of a run for its money.
Note that with the Motorola Xoom tablet, we already saw Google willing to bend the rules – the version of Android released for the Xoom was not as open as previous versions of Android.
2. The other Android handset/tablet makers are not going to be pleased.
Firms like HTC, LG and Samsung have invested hugely in Android. They are not going to see one of their top competitors being brought inside the tent.
In the press release announcing its planned acquisition of Motorola Mobile, Google wrote,
Andy Rubin, Senior Vice President of Mobile at Google, said, “We expect that this combination will enable us to break new ground for the Android ecosystem. However, our vision for Android is unchanged and Google remains firmly committed to Android as an open platform and a vibrant open source community. We will continue to work with all of our valued Android partners to develop and distribute innovative Android-powered devices.”
To paraphrase George Orwell, all Android device manufacturers may be equal, but some may be more equal than others. It’s inevitable that Motorola Mobility will receive special treatment by Google, by the partner ecosystem and by consumers.
(Were I in charge of Microsoft’s Windows 7 Phone division, I’d be busy speed-dialing all the Android device makers instead of writing this column.)
3. The deal may be about patents, not hardware profits.
Success in the tablet and smartphone markets requires both innovation as well as intellectual property litigation. Patents are used offensively to delay and harass competitors, and they are used defensively to shield against lawsuits.
Once a company has amassed a sufficiently large patent portfolio, either through invention or acquisition, it can use its portfolio as a serious weapon. When multiple companies have large patent portfolios, they can cross-license with each other, shielding both from lawsuits while also raising barriers against players who aren’t party to the cross-licensing agreement.
Google might be calculating that Android will be strengthened by buying Motorola Mobility’s patent portfolio – either for the benefit of Google itself, or for the benefit of the entire ecosystem through licensing and indemnification. Given Google’s publicly stated concerns about Android patents attacks, don’t be surprised if IP turns out to be as important as device revenue in this strategic acquisition.
Z Trek Copyright (c) Alan Zeichick

Memories of two keyboards: IBM’s Selectric and Personal Computer

The IBM Personal Computer was introduced on August 12, 1981. The IBM Selectric typewriter debuted July 31, 1961. What a world of difference between the two devices – but both made a tremendous mark on global business and on today’s society.
My introduction to the IBM Selectric came in the 1970s. Through high school and then into college, I earned good money typing term papers, theses and dissertations. A good typist could earn serious money, especially if you were both fast and accurate – and, without adopting any false modesty, I was both. At first, I used a Smith-Corona cartridge typewriter, but in college I had easy access to lots of Selectric typewriters.
The Selectric II was heavenly. I could type like the wind on that beautiful, perfect, silky keyboard. Because you could change the golf-ball-shaped head, I could offer grad students and professors a couple of different typefaces – and even insert italics instead of merely underlining for emphasis. (I charged extra for pages with italics.)
I still own that Smith-Corona typewriter, and occasionally fire it up to frighten editorial interns. I never did purchase a Selectric typewriter, though. They were far too expensive, and worse, they earned a reputation for frequent breakdowns that required costly service contracts or ruinous repair bills.
The Selectric typewriter, with its type ball and lack of moving carriage, took up very little space on an office desk, and for many businesses, was a wise investment for turbocharging secretaries and typing pools. The mag tape version of the Selectric – which I never used – was a stepping-stone to the world of dedicated word processing machines. IBM made word processing machines, but that market was dominated by Wang.
It was the ridiculously high cost of dedicated word processing machines that led to early adoption of the IBM Personal Computer in many companies. A floppy-based IBM PC and printer and word processing software (such as MultiMate) was much less expensive than a Wang machine.
When the IBM PC came out in 1981, I was working as a programmer for System/370-series mainframes. Some IBM sales guys (black suits, white shirts) came out and demonstrated the IBM PC to a rapt audience. They left one with us to evaluate – this was the original model with the 4.77MHz processor, a floppy drive and a green text-only monitor. We had no idea what to do with it. Eventually, the IBMers took it away. Certainly we didn’t miss it.
Mainframe programmers didn’t want the IBM PC, but secretaries and other office workers did. The IBM PC found a place (especially when the IBM PC/XT appeared in 1983 with its built-in hard drive) doing simple office tasks – like word processing, a true business-critical application. (Secretaries weren’t happy with the IBM PC, since its early word-processing software wasn’t anywhere near as a versatile and reliable as the Wang machines machines. But the hardware and software improved rapidly, and the cost savings was huge.)
Except in the sciences and in special applications, the IBM PC was often considered a piece of office equipment, not computing equipment. A company’s IT staff rarely got involved with these stand-alone appliances, any more than they would have maintained Selectric typewriters or Wang word-processing machines.
When did IT become involved? For most organizations, the tipping point arrived by the mid-to-late 1980s, when administrators began supporting custom software, terminal access and local-area networking. The drivers for LANs, of course, was to provide shared access to expensive laser printers and file servers. Distasteful though it was to many glass-house professionals, it was clear that the IBM PCs were computers, not office equipment.
Thanks to innovations like Lotus 1-2-3 macros, Novell NetWare and the need to build and support business-enhancing software written in BASIC, Turbo Pascal and dBase II, the IBM PC turned into a true enterprise IT resource instead of a glorified typewriter. The Selectric was dead. Long live the IBM PC.
The rest, as they say, was history.
Z Trek Copyright (c) Alan Zeichick

Perforce is now versioning everything

When you find what you’re good at, double-down. That’s the message from Perforce, a company that’s well-known for its source-code management system, also called Perforce.
The company, reaching the milestone of its 15th birthday, faced a decision: What to do next? The company had been investing in and improving its SCM software for years, but wanted to find a vision, find a next step in growing the company’s offering beyond adding features in each incremental release.
Perforce’s executives toyed with the notion of trying to expand into the full range of application lifecycle management software – developing requirements management tools, for example. But that didn’t seem to fit their technological strengths, or fill a real need in the market. Instead, the company has chosen a new direction: becoming a version management company.
Along with a new modern logo and a tagline that says, “Version Everything,” the company’s founder and president, Chris Seiwald, laid everything out in a keynote address at the 2011 Perforce User Conference, held earlier this summer.
What does that mean? It means a new web content management system, Chronicle, expected soon. It means new tools for working offline, called Sandbox, due to go into beta this September. It means enhanced functions for streams, that is, containers for branching and merging. It means new back-end systems to support very widely distributed version control, including cloud-based hosted services. And it means a new developer and administrator ecosystem that brings Perforce’s customers together using social media.
Perforce sees itself expanding beyond its traditional developer audience (and a focus on source code and related media files, artifacts and blobs) into entire new markets. It’s a big transition for the company, but as it builds on its SCM foundations, I feel optimistic about the direction Perforce is taking.
Z Trek Copyright (c) Alan Zeichick

Speling misteaks mattter

When my friends and family visit restaurants, one of our favorite games is, “spot the typos on the menu.” Now, I don’t claim to be the best proofreader in the world, but spelling and grammar errors jump out at me. And while I make tons of typos in my own writing and emails, it’s because I’m often rushing and careless, not because I don’t know how to spell the word.
A typo on a restaurant menu elicits a chuckle or two — and that’s all. However, one study has shown that spelling errors on e-commerce websites can drive away business.
Similarly, nothing makes a commercial email scream “scam!” than typos in emails. Are you going to trust a half-off offer from your favorite coupon purveyor or an important notice from your bank if something is obviously spelled wrong?
In a recent BBC News story, “Spelling mistakes ‘cost millions’ in lost online sales,” the reporter said that “sales figures suggest misspellings put off consumers who could have concerns about a website’s credibility.”
One source claimed that typos on one site cut sales in half.
The BBC story quotes William Dutton, director of the Oxford Internet Institute, as saying, “In these instances, when a consumer might be wary of spam or phishing efforts, a misspelt word could be a killer issue.”
Okay, I’m sure that we all agree that customer-facing websites and email messages should have good grammar and spelling. What’s the process for ensuring that? Does your development team have one? Who writes all the web copy, and who checks and proofreads your websites and email messages to make sure that the copy is clean? What about database entries, such as product names or descriptions?
The BBC story blames poor education for the proliferation of typos on websites, as well as an increased informality on the Internet. Maybe that’s part of it. Certainly not all programmers are good spellers, and when a coder is in coding mode, he or she may not be in proofreading mode.
However, my belief is that most of the typos and spelling errors are created by busy programmers who know how to spell – but are typing too fast and who aren’t paying attention. It’s also caused by copying/pasting text that hasn’t been written by a professional copywriter, and by a lack of serious proofreading.
Everyone needs a proofreader. Everything should be proofread before it goes live. (“Spellcheck” is not a proofreader.)
We recently had a small error on one of our websites. A mailto link was set up with a prepopulated subject line – but nobody had specified what the subject line should be, and so the programmer simply wrote one. Unfortunately, what he wrote had a very minor typo – instead of describing our company as BZ Media, he typed BZ MEdia by mistake. Whoops. A small mistake, but one that a customer called out to our attention. How embarrassing.
Look at your processes. Do you have competent proofreaders? Are they seeing everything that a customer or partner might see before it goes live? If not… well, you know what do to.
Z Trek Copyright (c) Alan Zeichick