Technology, The Web, and Oxford Commas.

by Chris Mallinson


ColdFusion’s Last Stand

Should Developers Hang On?

For thousands of developers, ColdFusion still pays the bills, and likely will for some time to come, if judging only by the growth in the markets where it is most prominent. Adobe says that CF is thriving with a community of more than half a million developers, but how many of those developers are thriving with ColdFusion?

The marketing material provided by Adobe is vague about the growth of the product, focusing mainly on the growth of the developer count. This is misleading, since the amount of developers familiar with ColdFusion can’t really decline much, and those developers are not asked how much they still use CF. They also mention the amount of companies using ColdFusion. That’s like Ford announcing the amount of companies that use their trucks. Even if a huge company has an exclusive agreement with Chevrolet, I’m sure they have a Ford stuck in a garage someplace.

The marketing information is also heavily aimed at large enterprises. This is where the product is being used right now and where it will continue to be used for the foreseeable future. ColdFusion finds itself in this corporate world, where product cycles are slow and bleeding edge technology is avoided like the plague. It is rare to see a development team using the latest version of  any software, shunning it until others test and discover the bugs. To this end, I still encounter ColdFusion apps in active use that are running on version 5, soon to be 10 years old.

I once worked with a team of 5-6 developers on a ColdFusion Project. I mentioned that I was excited about the new features coming up in CF8. None of the other devs knew that there was a new version coming out, and a couple asked which version we were using.

ColdFusion has some huge benefits. In short time a developer can be brought up to speed and developers of all skill levels can contribute to large projects. Large companies love this model, since developer turnover can have lower impact on product support. I’d have no problem recommending ColdFusion for huge projects based on its capabilities, but that is not the only factor. You need to make sure your developers (who will be the source of any innovation in your project) are working with tools that inspire them to innovate.

And What About Those Developers?

Part of each developer’s inspiration needs to come from her peers, and not only the ones she works with every day. Good developers are active in the community, contributing to or consuming streams of daily RSS feeds. I’ve found the ColdFusion community to be second to none on all levels, except perhaps, their relative abundance. Anyone who has searched for a code snippet or a solution to a CF problem knows that four times out of five a Google search will land you on one of a handful of blogs for your answer. We all know who they are, and they are all fantastic and extraordinarily helpful, but they are few, and the success of the platform relies heavily on this group.

Conferences are also a wonderful forum for developer inspiration. ColdFusion is down to two or three conferences a year, occupies only a small part of the MAX conference (thankfully bolstered by an excellent community driven “un-conference”), and the content is frequently focussed on Flex, which Adobe prefers to keep arm’s length from any mention of ColdFusion. In contrast, there was a Ruby on Rails conference every week this summer, for a total of 20 in a six month span.

I find that developers are much happier working on a project using a technology that they know will be around for a while. I do my best work when I know the code I’m writing will be pasted into a future application. This helps me on my next project and helps the next developer who sees my code.

In the places where ColdFusion thrives—Fortune 500 companies, government agencies, and universities—developers are often locked into a routine that does not include innovation. I’ve seen this first hand. Innovation is inextricably paired with risk, the mitigation of which is often the most important goal in these institutions.

The Future

It’s getting easier to get an application out to the public. Finding good hosting is a breeze, and you don’t need a sysadmin to install your application. Cloud computing allows us to go from a test application on a laptop to a scalable thriving website in a day. The fact is that small development teams launching medium sized applications are using Ruby, Python, and PHP. These applications used to be out of question for enterprise use, but that is changing. Small teams like 37 Signals have seen their applications creep into some very large companies—even against their own recommendations.

Corporations have tended to choose ColdFusion when building applications in-house, but now more often than not, they are outsourcing the work, buying well tested and supported enterprise level applications that reside on external servers.

A huge benefit of ColdFusion is the time in which a server can be up and running for any size of project. It is no longer a leader in this department, and given the fact that most of the competitors are open-source projects with massive user groups, ColdFusion needs to offer a lot more to keep up. Adobe is capable of this, but only if it is profitable, and that’s not a sure thing.

ColdFusion is Not Dead

I happen to think the future of CF could be quite bright indeed. Adobe does some amazing and innovative things, and they have the ability and creative minds to build this product. My biggest fear is that growing the product will become less worthwhile for them as fewer corporations invest in their own applications. If CF is offered in a cloud computing environment (which I believe Adobe is still considering) its ability to integrate well with existing enterprise products will allow it to be a great rapid deployment option for companies of all sizes.

Chris’s Store: Amazon’s Over-Personalization

Amazon's Recommendation Engine Running on All Cylinders

I’m generally impressed with Amazon’s uncanny ability to predict the next book I will buy. On more than one occasion, I have clicked the Amazon link in my bookmarks on the day a new book comes out, only to have that book specifically recommended for me based on my buying history. I fully expect them to just start shipping them to arrive at my door the day I decide to buy them. It’s certainly not rocket science, especially given the fact that there are a handful of authors whose books I anticipate like a batter waiting for a high fastball. It’s also kind of handy at times. Amazon’s recommendation engine can also be pretty funny.

My Problem With It

Sometimes I want to see what other people like. I walk into my local Chapters bookstore in Vancouver every couple of lunch hours and wander around to see what catches my eye. I have a wide range of interests and the books I pick up for a quick skim are often outside of my regular “buying pattern”. One does not develop a well-rounded view of anything by sticking with one author, or reading from one viewpoint.

My concern is that this practice serves only to strengthen polarized views on important topics. People who buy a book by a political pundit of left or right persuasion will likely, on subsequent visits, be sold on buying a book by someone with equal leanings, and all the recommended books will be those of the same ilk, excluding books that will challenge the reader to look at the other side.

Why It Will Never Change

Stores want you to buy another book, and yet another book, and also the DVD that the author put out to capitalize on the book. Showing a customer a stack of books that reinforces their viewpoint makes them feel good, and people who feel good buy stuff. Marketing 101.

What I’d like to See

On my last visit to Amazon–the visit that prompted this post—I looked at a book by one of my favourite authors, and added it to my cart, as I do when I want to think it over for a while (Amazon will keep stuff in your cart for years). When I went back to the home page, I was shown no less than twelve books by that author, dating back to the 80s. That’s overkill to say the least. In that situation, I would expect to be shown one or two of his other books, as well as some other books on the same topic, but given that I’ve purchased many books through Amazon, they certainly have the data to present a more rounded group of books that fit my interests. It just seems as though they are trying to bombard me with as much as possible as a last-ditch attempt to get me to buy one more thing. It must work, or they would not bother to do it, but it lessens the experience for this shopper.

The Evolution of the Textbook

Each year, I’m surprised by the lack of a change to the university textbook industry. It’s been a while since I graced the halls of a university, but I will always remember the sinking feeling that overcame me as I looked at the $115 price of a very thin, yet required textbook for my discreet mathematics course. I was sure the days of the bound textbook were numbered, but little has happened on that front.

The Medium

textbook stackThere is something to be said for a real book made with paper. I still like to have books, put them on my shelf, and I actually take a bit of pleasure in folding down pages to mark my spot and occasionally write in the margins. Recently, despite preferring to turn real pages, I have taken to reading books on an iPad. I love being able to choose my books on the fly, and I find the experience closely emulates the real thing. It’s only going to get better. Backlit devices like the iPad and electronic paper devices like the Kindle each have their own ups and downs, but these different technologies will soon converge to a point where the readability is as good or better than that of printed paper.

The Environment

It’s not all about convenience. Textbooks go into landfills every year when professors decide (or are persuaded by publishers to) require a new edition of a textbook.

The motor vehicle branch thinks it’s okay to glue a piece of paper to my driver’s license to indicate an address change. Why can we not just stick a post-it note in a math text-book if we discover a previously unknown fraction?

We’ve all seen university students on the bus. You’d think they were about to climb Everest with those backpacks. Imagine if we replaced all their textbooks and notebooks with a device that could contain all their course material, and allow them to record their notes (as well as audio and video) from their classes. The books themselves could become living documents. The benefits of this model are huge.

  • Riding a bike to school becomes possible
  • Course materials are easily downloaded, and always up to date
  • Professors, students and TAs could makes shared notes IN the textbooks.

All of this would have happened years ago if it were not for the industry that makes billions of dollars a year charging university students for books. They fight tooth and nail to prevent access to electronic versions of textbooks, since that would make the free distribution as easy as handing out flyers. Keeping textbooks in their current form is the only way they can ensure they get cash for each copy.

A Solution

Universities should roll the cost of course materials into the tuition – if those materials are actually required for the course. I’ve no doubt that this “solution” would be met with criticism, not the least of which would come from textbook publishers. Because of this, the costs would likely be such that profits are maintained. It will take some bravery on the part of the first educational institutions to propose this as a solution.

As soon as textbooks are available in full electronic glory, they will be available for free download. There will never be a way around that inevitability. Adding a textbook surcharge to tuition will ensure that textbook manufacturers get their cut. They will argue that the books will then be available to the general public as free illegal downloads with general impunity. That is true, but with the paper textbooks, it is extremely easy to find quality textbooks that are a few years old, and hardly out of date, for almost nothing. There are very few people who want to learn a subject outside a university setting who pay full prices for textbooks.

The Future

The concept of the general knowledge in any scientific field is really just a large, abstract wiki—including the required bitching and arguing on the comments page. Id like to see textbook move towards collaborative living documents. I think it is important to maintain the concept of individual voices in science as well as the arts, but general concepts would certainly benefit from this format.

Before I get flamed by the lovers of bound paper books, I must say that I count myself among that group. As I’ve stated, I love real paper books, but we need to change things up a bit in education.

An Emerging Market for the iPad

There’s a fantastic article in the New York Times about a boy whose life has been changed by the iPad. It mirrors many of my experiences with my son, so I’m reposting this article I wrote for the Hands and Voices Newsletter.

When my son Scott first saw an iPhone, he was four years old. He’s a curious little guy, and if he sees something with a screen on it, his curiosity takes over. He took the iPhone in his hand, and started to use it. He did not play with it or examine it. He used it. It had taken him a few seconds to realize that he could drag and touch items on the screen. Within a minute he had found the photo application and was flipping through family pictures like he had been doing it for years. Apple’s intuitive design had almost completely removed the learning curve.

When you first learn to use a computer, you need to learn a new way to interact. Most of us didn’t take too long to learn how to use a mouse to manipulate a cursor on the screen, or learn how to use a keyboard to command a computer to perform an action. What we don’t realize is that our brain really needed to work hard to learn how to do these things – rewiring itself to interact using mouse and a keyboard. We accept this learning curve because in the long run, it gives us an efficient way of integrating technology in our every-day lives. The ubiquitous nature of the keyboard and mouse is great for the majority, but for those who have difficulty seeing, hearing, moving, or with learning itself, it can be a different story.

Touch screen interfaces rely on our inherent instinct to touch the things with which we want to interact. They require less motor control because the movements are not scaled down to match the size of a mouse pad, and they are not unrelated to the task, like those used to type commands on a keyboard. Both of these things reduce the time required to learn a task, and increase the user’s confidence.

Companies have been making computers that are modified or designed specifically for users with disabilities for many years, but given the small production volume, these units have been extremely expensive, rarely near the cutting edge of technology and without a wide range of software choices. All that changed this year when Apple introduced the iPad – a handheld tablet-style computer with a touch-screen interface. The device takes the touch interface familiar to iPhone users and scales it up to a size more useful for standard computing tasks. In making a computer that is amazingly easy to use, Apple has opened the door for people with disabilities to use the same computer as the rest of their peers. This alone is an advantage, especially for kids, who want little more that to fit in with their friends.

I felt a sense of normalcy and acceptance. Using an iPad, which could become as commonplace as the Blackberry and iPhone, is not yet another thing that makes me different. I wasn’t using a strange, unfamiliar device to communicate…

- Glenda Watson Hyatt  (a writer with cerebral palsy)

The iPad costs around $500 for a base model. Compared with a cost of $5,000 – $10,000 typical of a touch screen laptop used by many kids with special communication or mobility requirements, it is easy to see why parents of kids with disabilities and the agencies that assist them are snapping up iPads as fast as they can. In the first few months of production, software developers have come up with hundreds of different applications meant to assist people with special needs, many of them at very low costs. There are signing and captioning applications for the deaf, high contrast and screen reading programs for those with vision loss, communication aides for people with physical disabilities, and organizational programs that are doing wonders for kids with autism. There are even devices on the market designed for attaching iPads to wheelchairs.

Let’s not kid ourselves. Tech companies don’t often design their products specifically to be accessible to people with disabilities. They are trying to bridge the digital divide by making their products attractive to a greater amount of people, many of whom would not normally be interested in high-tech devices. The market for high-tech products has traditionally been young and prosperous individuals, but as that market becomes saturated, companies will begin to target occasional and first time tech users. To do this, companies are making their products easier to use and more accessible. Ironically, it is the power users – the early adopters – who will appreciate these innovations just as much, since making things easier to use makes the whole experience better for everyone, especially those who use the devices the most

Scott tries out his new iPad after cochlear implant surgeryWhen Scott awoke from his second cochlear implant surgery, and had had a bit of time to figure out where he was, we handed him an iPad. He had been a brave little guy, and we had wanted to get him one since the product was announced. He was so happy he could watch a movie in his hospital bed, and his favourite spelling games he knew from the iPhone were so much easier to see on the bigger screen. His iPad is a valuable tool to help him learn at school, and a great comfort at the end of a busy day to curl up in a chair and look at family photos.

Lone Mac – Parallels to the Rescue

The following is a guest post I wrote for the Parallels Blog.

I’m a web developer working at a huge company, and as far as I know, I’m the only one using a Mac. We develop web based software for several clients and naturally maintain a myriad of servers with various staging and development environments. This means keeping local versions of Windows based server software, as well as client code and databases—a difficult task for our company issued Dell laptops—trusty and quick little things, but due to our long upgrade cycles, simply not up to par. I switched over to the Mac world about five years ago, and I’ve been using Parallels for testing websites in Windows for almost that long. Then I had an idea. What if I used my MacBook Pro as my main machine and used Parallels to load the development environments as I needed them? I’m really glad I tried it, because it has given me the best of both worlds.

I started by creating a base installation of our company’s standard image of Windows XP. Included in base install is IIS, SQL Server, ColdFusion Server, PHP, VPN clients and a set of our supported browsers. Once I have a working streamlined version of Windows as a virtual machine, I archive a copy of it and set up our development environments for some of our clients. We have different versions of server software for different clients, so I usually have three or four different Parallels VMs with various configurations.

Using Parallels in this way has almost too many benefits to mention. By setting up shared folders between my Mac and my virtual Windows environment, I can use my familiar IDEs to edit my code, and run Photoshop on my Mac—saving files directly to folders in my Windows environment. I can also use the native Mac mail and calendar apps since they integrate with MS Exchange server so nicely, eliminating my need for MS Office.

Another huge benefit is the ability to quickly setup a sandboxed environment for any given client, simply by adding their code and databases to one of my archived VMs.  This entire environment can be set up in minutes and used for myself, or given to another developer to work on, ending dreaded over-the-phone environment configuration. The suspending/resuming speed in Parallels 6 is extremely quick, allowing me to shutdown and resume VMs depending on the client. This quick switch between machines lets me allocate the maximum amount of memory and processing power from my Mac, since I don’t need to run them concurrently.

There’s also the look I get in coffee-shops. I use Spaces in Snow Leopard to switch between my Mac environment and my Windows environment—both of which I keep in full screen mode. On more than a few occasions, people do a double take when they see my Mac laptop instantly swap over to Windows and back. Sometimes I switch back and forth for no reason at all. I’m a show-off.

Finally, and by far my favourite benefit of Parallels, is that I get to use my Mac every day.

iPad Can Bridge a Gap

Multi-touch is the new interface buzz-word of the last few years, inciting a geek-frenzy after its big screen debut in “Minority Report”.  While such an interface is still a little bit far fetched for the consumer market, the multi-touch concept has made its way to consumers, notably via the iPhone and the trackpads of the Apple notebook computers. Other companies are embracing multi-touch, but I think it’s fair to say that no company has nailed it like Apple. I’ve used many smart phones and computer screens with touch interfaces, and nothing comes close to the natural feel achieved by Apple engineers.

Now, full disclosure – I’ve been called an Apple fanboy – but in this case I have objective proof, and his name is Scott. My son Scott is six years old, and his first six years have been difficult. He was born at 24 weeks gestation, just over a pound and barely able to survive.  He followed an all too common path familiar to his preemie peer group, and came through the experience with several conditions that will challenge him in life.  He is completely deaf, and has also lost much of his vision. The combination of hearing and vision loss make it very difficult to learn communication skills, and to use the tools on which our society has become dependant. Using a mouse is hard, since he finds it difficult to relate the movements of the mouse to a screen that he can only partially see.  Now Scott is a smart kid – he can figure out a lot of complex things by employing his curiosity, and he’s not afraid to try again and again.  He loves looking at pictures of people (and trains/trucks/wheels or course) and since we spend a lot of time in doctors’ offices, his Mom showed him the pictures on her iPhone one time, and he soon figured out that moving his fingers on the screen “did stuff”.  The moment he figured that out, he knew how to use an iPhone. It didn’t take him long to figure out how to switch apps, use the home button, “swipe to unlock” and make phone calls to random people. He even came within a button press of replying to an email from the CEO of my company. We now restrict him to an iPod Touch.

Apple’s touch interface removes a lot of the learning that is required to use a new high-tech device.  One almost needs to forget some of the conditioned impulses, and regress a little bit to use it. The iPad takes this a step further, more closely representing the form factor of everyday objects that we may interact with. This removes a barrier for people with disabilities.

I’ve met a lot of people with challenges that have been overcome with the use of technology. A well known example of this is Stephen Hawking, who speaks with the assistance of a computerized voice. He uses a speech synthesis system that runs on a laptop attached to his wheelchair. This is a fairly common set-up for people with disabilities, whether their disability is purely physical or if they need their device to help them form their thoughts as well as communicate. A set-up like this can get really expensive. A touch-screen laptop like the TuffTalker Convertible costs close to $10,000. Simpler devices that only show a group of pictures and say a phrase when a picture is touched can cost well over $1000. An iPhone or an iPad, with some rudimentary software (examples of which are already showing up in the Apple app store) can do all of this, cost far far less.

People with disabilities will never be a market with huge buying power, but the trend towards accessible, simple products is making the world a more welcoming place, and the classroom more inclusive.