Monday, May 13, 2019

ColdFusion Isn't Just For Web Sites

Hello, all!

The technology stack you choose is often a pretty overwhelming decision depending on your comfort with tech. Will my applications be secure? Easily maintainable? Future proof? Can I find the right talent when I need it?

These are all important things a tech startup will have to consider (along with so many other non-tech things). If you don't know a REST API from a rest stop, then maybe it's an easier choice. Whatever gets the job done fastest and at the highest value is what you're concerned with.

Luckily, CFML is a solution that'll work from any point of view. Not only that, CFML applicatoin servers like Adobe ColdFusion and Lucee Server are going to be a great choice to serve up more than just your web pages. In today's world, you're not just putting up a site or a blog to run your business. You have mobile and desktop apps that don't need to see your wonderful graphics, they just need to get fast access to data that your customer's apps will know what to do with. CFML can serve up that data quickly when it's built to do so with minimal effort.

CFML is part of a whole development environment that'll take care of your online application needs. Are you going to build executable files that your customers will have download and install? No. Are you going to be able to build cloud based subscription platforms that'll automate your business tasks and respond quickly to customer needs? Yes.

Do you need an MVP by the end of the week to demo for the CEO that your online dog walking app will revolutionize the industry? With the modern CFML frameworks that are easily, and many 'freely' available, you can do it.

Is it a voice first app that needs to reach out to Google to translate across three languages? ColdFusion can do that for you, too.

Ultimately, ColdFusion can suit almost any need you have for online interactive data exchanges. So for your starup, don't pass up CFML just because you think it's a light version of a real web application. It's everything any modern startup needs to get up and running quickly. In future posts, I'll provide examples of how you can take advantage of this opportunity.

Thursday, October 18, 2018

Just Start It - Rapid Startup Development Is Key

Lean On Me-thodology

When you’re ready to take the plunge and start out on a new entrepreneurial adventure, if you don’t know what to expect, it can be pretty overwhelming. Sometimes, your greatest resource is time, but as with anything, if you take too much, it can also be trouble. “So, then,” you may ask, “how does one avoid taking too much time when there is so much to do?” Luckily, just like there are good software engineering methodologies, there are also good startup development methodologies, such as Lean. The point of a Lean methodology is to get your startup going ASAP and cut the planning and theory down to what’s necessary. 
If you like things done yesterday, you’re going to love this.  If you always take a more cautious approach to life, I’m sure you’ll still be able to appreciate a methodology where you learn just as much through practice and experience while minimizing waste and funding requirements.

Ideas, Action, Go!

What is Lean, exactly? While you may come across different textbook definitions, at its heart, Lean is about providing the value your customers want in a product or service while simultaneously reducing the resource waste in your process through continuous trial, error and improvement. 
So, for you, that means you get an idea, take the first steps to make your idea a reality, share it when it’s at its minimally viable stage and continuously improve it on its way to being production ready. It’s your baby that is born whether you’re ready or not. From that point forward, you’re going to nurture it on a daily cycle knowing that with each misstep is an opportunity to make tomorrow better. Don’t let the possibility of mistakes hold you back. They’re going to happen. You’re job is to make sure your startup gets the right knowledge and right action based on each misstep.

Listen And Learn

Of course, you’re going to have to have a way to know that you’re actually improving the product or service your startup provides. To do this, you’ll need to get feedback from your most important testers, your customers. While you can’t please everyone all the time, it’ll be essential to take their input and develop your set of key performance indicators to guide you to your next iteration. Whether it’s a formal survey or just a chat about what worked and what didn’t you’ll get the sort of valuable insight that error logs won’t give you.
Now, based on the KPIs  you establish, you’ll want to jump on to the next cycle of development. This is a process you’ll have to continuously do to deliver a better product quickly. Continuous delivery is its own methodology and philosophy, but however you implement it, make sure you’re meeting the customer’s need for value, thoroughly testing and monitoring it once everything is live.


Motivation is going to be your own best metric when it comes to the success of your startup. A great idea implemented with miniscule motivation has a lot less chance of success than a mediocre idea implemented with great enthusiasm. The energy you get from each success is what is going to keep you moving. Sure, the failures are going to feel draining as well, but it’s the motivation that’ll keep you going forward until that moment when it all comes together.  
So, what does Lean have to do with motivation? Well, when you’re running Lean, you’re hitting your goals quickly and seeing that each completed goal is actually taking you one step closer to the success of your startup. Sure, many of us like to have it all right now, but once you get into the habit of appreciating incremental improvements, then you’ll certainly get to achieve that special moment where you can take in the entirety of the process and bask in the warmth of winning. Then, you need to jump right on to the next set of incremental improvements.


Finally, you may wonder what does this all have to do with your startup and ColdFusion. Well, if you’re startup is tech based and web based, ColdFusion may be the perfect tool to get you working leaner, faster, stronger and better. ColdFusion was born out the idea of speedy productivity and has only gotten better over the years. As one of the first Rapid Application Development platforms for web apps, CFML has evolved to meet the needs of new generations of developers. 
Some examples that take extra advantage of the ease and power of the CFML language are faster prototypes, easily learned and implemented frameworks, and open source projects that help get you moving forward, even when it’s your cash reserves that are pretty lean. Also, as security has evolved and improved with each release, ColdFusion is a battle tested and web native platform to help your startup succeed. 

Tuesday, September 25, 2018

APIs Are Key - Connect With Your Market, Connect With The World

If you're using ColdFusion in your startup, one of the questions you should be asking yourself is if you're making the most of it. ColdFusion, like many other tech platforms, is useful in so many ways, and the number of ways seems to keep growing every year. One of the most important aspects of technology is communication, and that's where ColdFusion rocks! Data flowing back and forth quickly and easily is not only the basis of business, but it's fast becoming the basis of everyday living. One of the best ways to get your startup moving in that direction is to use CF to build your company's API (application programming interface). You need something that serves your data to your customers as well as allows you to benefit from other business services, too.

What Is An API

As mentioned, API stands for application programming interface. Basically, it's a standard set of programmed functions that you expose publicly, or privately, through a server that, when called by another program, makes something happen. Similar to you opening up a web page, your browser is sending a request to a web server that requests data associated with the URL you entered. Just as ColdFusion can be used to serve a company's website, the dynamic programming nature of CF can be used to send back data that is pulled from your database and formatted in any number of ways for you as a consumer. So, an API is your best option to share your data with customers who need it, or fulfill a request that helps make your customer's life easier. It's the modern communication standard that shows no sign of stopping.

There are different types of APIs available from RPC (Remote Procedure Call) to REST (Representational State Transfer) or any other SOA (service-oriented architecture) style setup, but those details are a bit more involved. For simplification, we'll use a REST API as the primary example of what you'll want to incorporate into your business. That's because at its core, a REST API is pretty much a URL request where you don't get back a web page, but rather you get back a serialized, formatted file (JSON, XML, HTML, etc.) that any third party app can use to interpret the results. REST is also a popular approach these days, but that doesn't mean it's the ultimate answer for everything.

Why Use An API

Do you have a product to sell? You can fulfill an order through an API. Do you have inventory you need to monitor in real-time, just have your app make a request by way of your API so everyone is up-to-date on what's available. Whether you're adding employees to your record system or checking blockchain mining results, your programmed API is the way to go. In a world where new devices are being brought to the masses almost daily, you want to have an interface for those devices that works if a request is coming through a smart refrigerator or your phone.

So, that's all well and good, but you may now be asking, "How can I get one of these wonderful APIs for my startup?" The best answer may be that you make it, or at least your developers do. Luckily, ColdFusion has been on top of the API game and kept up with the modern architecture needed to rapidly create your API. From roll-your-own options to pre-built building blocks that you simply have to put together, ColdFusion is an environment that makes processing your customer's requests quick and easy. It also makes development and maintenance less of a headache as you grow.

ColdFusion And APIs

If your startup idea were to create a veterinary records service based on blockchain, ColdFusion could easily be a way for veterinary office management software to do a URL request to your CF server, validate a pet's medical history and serve up the results, ASAP. ColdFusion, Adobe and Lucee engines, have administrative dashboards that make setting up REST paths easy for you. You have to concentrate on developing the business logic, but once your idea is in place, you can put it out there for the world to use, or just your office area.

Along with the ColdFusion built in tools, modern CFML has plenty of frameworks you can implement for even greater control over your content. From REST development frameworks such as Taffy, ColdBox and Preside to FW/1, there are plenty of good frameworks to build out your REST APIs in proven, maintainable methods.

While this post isn't going into all the detail of creating the API for you, a few resources to explore further are available.

Adobe ColdFusion:

Lucee Server:

Make Your APIs Better

So, now you may have an idea of how to get set up with your own API and why it's one of the essential things you'll need to do with a modern startup. Whether your startup is based on blockchain or bicycle chains, you'll need to consider how you get your business message out into the world and how the world can reach you. Even if you're just marketing with social media, knowing how to use their APIs is a first step to mastery of the tech to please your customers. Some things you'll want to keep in mind when creating an API are standardization, maintenance, documentation, discoverability and scalability. An API is more than just a web page for devices. Using a framework that enforces industry standards will go a long way towards allowing others to easily help build up your company through third party apps and plug-ins.

Following modern programming practices is also important because you may not know how many developers will need to know your platform over the years. Documentation is also essential.  APIs should be created so they are usable with minimal training. Using a tool like Swagger to build your API will help on many levels when it comes to documentation and design. Discoverability is related to the documentation and design aspect of your API. Using only the hypertext nature of a REST result, a consumer application should be able to know how to traverse your API's functions from the root without additional special instructions. While this may be more important for a RPC APIs, making sure your REST API follows industry standards will go a long way towards getting users to trust what you have to offer.

Finally, scalability is something you'll need to take into consideration as well. Whether you have a few users a day or a million, you'll want an design an infrastructure that can accommodate them all easily. Whether this means building an additional API gateway will be up to you. The ColdFusion API manager can help take you along the path, but if you're planning for enterprise scale, that'll be something to look into from the start.

Connect With Your Market

Ultimately, what you do with your API is going to be up to you. Just like any new business venture, there aren't any hard rules that guarantee success. You could build a perfect API, but if it's not the kind that your customers want, then it might as well not exist. Your API should help you connect with your market. If that's users in the general population or other businesses, building a means to connect is always to your advantage. If you don't have an API today, maybe you should think about areas that you'd like to enhance your startup and consider how an API can help. Once you have the tools in place and set up right, expanding your market share will be significantly easier.

Monday, September 17, 2018

Your Startup and ColdFusion - Why Open Source is the Way to Go

The first thing that usually comes to mind when open source software is brought up is that it's free.  Yay! There are different interpretations of what "free" means to your business. From the free operating systems to free CRMs and free bookkeeping software, open source has plenty of options these days. If you can't quite afford to buy Office licenses for all your employees, you can consider the open source LibreOffice option. In this way, getting up and starting your business means you're not limited by your account balance like you used to be.

Use Open Source

On top of the free stuff, there are certainly other reasons to consider the use of open source software in your startup.  For example, the total cost of ownership can be significantly decreased. This may take a bit of planning before hand, but that's what a startup is about. Rather than buying a new Windows license for all your employees to upgrade every few years, you might become a Linux company and have your IT group roll out upgrades that save you time and money. Also, depending on the types of applications you use, you can take advantage of creating a more modular architecture. Instead of being a monolith of a company, why not break up a centralized system to something that can be quickly re-implemented should there be a crisis in one area of your business?  For example, why not have multiple systems that hold your marketing landing pages, your client portal, your report generator and other online options on multiple open source servers rather than one server that can go down in the middle of the day?  All for the cost of your hosting platform only.

Open source software is also great when it comes to transparency and security. Your first reaction may be to say, "Oh, really?!" Yes, really. When you use truly open source software one of the defining attributes is that you have access to the core software code used to build the app.  You, and everyone else, have the option to see how any of your data is used.  If something looks a bit sketchy, or a bug pops up, someone can bring this to the attention of the software maintainers as well as the community. So, while you might not be inclined to review every line of the code of your next CMS, if it's open source, you can. 

Using open source also makes you part of a community.  Just like your own neighborhood community, your participation can be as much or as little as you'd like. It's always a good idea, though, to try to be a community member in good standing. As your company grows, the community you relied upon to help use your software can look to you as an example of what can be achieved. Also, if you're lucky enough to have your developers participate in the open software community, you can bet that knowledge sharing will increase.  Why let your tech knowledge base stagnate on old methodologies? 

Now, how about open source and ColdFusion? For a large part of its history, ColdFusion was known as the web app server you paid hundreds to thousands of dollars to use. For reasons, legitimate or not, Adobe (/Macromedia/Allaire) ColdFusion was never one to consider jeopardizing the quality of their platform offerings and support by breaking them up in a way that could make key components free for businesses. So what did many developers and businesses do? They looked to other open source options. Now, though, CFML can be served up by more than just Adobe CF. So, if you're looking for open source CF, Lucee Server is your answer.  If you're looking for open source package management (CommandBox), API frameworks (Taffy, ColdBox, etc.) or content management systems (ContentBox, Preside, Mura, etc), then  CFML has you covered. Bear in mind that all these come from different groups of development professionals, but variety makes finding the solution for your business better.

Share Open Source

The next thing you'll need to consider is whether or not you want to open your own business source code. Whether you should or not is one of those questions you'll answer based on your experience with the process. If you consider all the software you have available to use that is open sourced, though, maybe that should give you an idea that it's not something you should ignore. In a world where information grows exponentially everyday, you just might need to consider alternative approaches to keep up with innovation.

Opening your source code is actually less of a business model decision and more of a process decision. Would you really make money on how neatly formatted your code is or what language it's written in?  Your startup will survive and thrive on meeting a real customer need in a way that beats your competitor. How do you do that? You use and maintain a code base that is developed fast and developed well. If you're part of a community that is actively wanting to help make the software you maintain good software, then all the better. Again, your value isn't the source code, it's in the business model itself. Software is a tool for a business, and open source is a process of shared interest that makes the tool better.

So what do you do? You decide what problem your software will solve and you build to that. The ColdFusion community has become, and continues to progress to, a place of modern developer thinking. Over the years, the opportunities to share in open source CFML projects has diminished, but that's certainly changed with some key figures in the CFML world. Lucee Association Switzerland, Ortus Solutions, Group, Blueriver, etc., are all great examples of organizations that have decided to take open source ColdFusion to a new level.

What to Watch Out For

Now, while you may want to jump on board the open source train, you have to also consider a few things. For example, are you comfortable that you're code is out for the world to see? By this, I mean, is your actual business model separated enough from your code that you're not unintentionally giving away trade secrets? That could be bad. On the other hand, if you're uncomfortable with you code because of bad coding style, maybe opening the code will make you consider best practices.  That would be good. Also, if you're relying on strangers to contribute updates and bug fixes, you better be on top of your testing, security and code review.  Again, though, these are parts of your company's process that you should always consider anyways. 

By that same token, if you're using a lot of open source code, be sure to test and have security practices in place as well, especially if you're working with extra sensitive data.  The good news is, if you need to build in better security, you can do it.  Maybe share it as well.

Finally, be aware of the license which you use to release your software and under which you agree to use third party software. You're making a business, and legal, agreement here, so you'll want to make sure you know where you stand. If the time comes when you want to sell your company, you'll want to know how your choices affect the value of the code you've used and modified.

Be a Part of Something

ColdFusion is on a path that takes advantage of so many modern elements. Open source is one of the tools that needs to be embraced to make sure that this great platform will continue to meet the needs of users down the road.

The world of startups is in a state of flux like never before. Luckily, the fundamentals are still a necessary part of building a successful company with a bright future. Even in businesses that seem to be built on speculation and serve no more purpose than to gather that next round of series funding, you should consider opening your source code.  It's a process tool that works to keep your code in check. In a techno-scape where transparency is maintained by making sure everyone is distributed a copy of everything, privacy will take on a different definition. Open source software will continue to be a part of that change for the better.

Monday, September 10, 2018

Don't Be Afraid Of The CF Word

I’m a developer/entrepreneur, and I like ColdFusion. There, I said it. Okay, it probably wasn’t a big secret here, but somethings just have to be stated. All that being said, I hope anyone out there looking to start a business with a fast, reliable and powerful technology behind them will be ready to do the same. Today, ColdFusion is pushed off as a niche environment that is dying more every day. While you’re not going to find CFML listed among the top languages in current use, here are some things to consider that can still make it the right choice of a development tool for your startup.

ColdFusion hasn’t died, it evolved

From its early days back in 1995, ColdFusion was created as an alternative to writing your code over and over again to accomplish a task. For example, you could quickly access a database in a few lines of code and not have to worry about creating new objects, opening your connections, passing your commands and credentials, and closing your connections to avoid memory leaks. This made it faster and more uniform to perform a common task. That idea spread to much of how ColdFusion worked, and that was a good thing. It made access to the world of web programming a reality for many.

Since that time, the same concept was applied across the capabilities of ColdFusion. In some instances it didn’t quite work out, but where it was needed, it did. The ColdFusion of today is about much more than a markup language that abstracts a few common tasks. CF became what it is today based on the original idea of Rapid Application Development, a term that still has its use for any startup. With a full and rich object oriented programming language like CFScript, a powerful markup based language like CFML, a powerful administrative GUI dashboard to keep all your instances in order, and a host of add-ons and packages, frameworks, and CMSs at your fingertips, ColdFusion became an all-in-one package for creating a web based service that can meet the needs of any startup. Since it’s all built on Java, you get the additional flexibility of implementing ColdFusion across multiple application servers and connectivity with multiple web servers to meet your needs.

ColdFusion is what you want it to be

One of the great things about ColdFusion today is that it is as much about a philosophy of getting projects done quickly as well as efficiently. With the possible exception of a powerful, open source and modern IDE, ColdFusion has everything you need readily available to make an idea a reality as quickly as you want. That is not to say that there are not other great tools that fulfill similar needs, but many of those will have proprietary limitations that’ll be a consideration for your budget. Do you want to run your service off of an in-house server? Obviously ColdFusion will have you covered. Do you want a cloud based solution that’s scalable and secure? Using ColdFusion will handle that too. Do you think you’ll need convention over configuration solutions that can be put together with under a requirement for behavior driven development? They can all be quickly implemented with modern CF.

Do you like a particular Java application server? Tomcat, Jboss, Wildfly, Jetty, etc? Go ahead and use the one you like to host your Lucee app. Do you have a particular web server that meets your desires? Apache Web Server, NGINX, IIS can meet your needs. Linux based or Windows? Sure. Containers? Why not?

The point is that ColdFusion isn’t something that locks you in as a developer and an entrepreneur. As a developer, you want something reliable. Eventually, you’re going to hear any developer’s opinion about the tech stack the other guy is using, or the stack they were forced to use. Opinion, though, isn’t what you’re building your business on. You’re building it on results.

ColdFusion gets the job done

If you have an idea for a web based application that you need to build quickly and scale efficiently, ColdFusion can get it done. CF isn’t going to be the right tool for each job, but when used for what it was intended, you’re not going to have a lot to complain about. Do you need to custom build your own ticketing system that’ll easily integrate with your web portal? CF is there. Do you want a system that reads in 5 gb log files and sorts lines based on category type instantly? Maybe CF isn’t the most efficient tool for that, but it could certainly be useful in making it accessible.

“Don’t use ColdFusion”

That’s what they’ll tell you, and it’ll be your choice to listen or not. “Developers will be too difficult to find.” Well, ColdFusion is easily taught because many options follow modern development practices and the coding style can meet your needs. “ColdFusion is dying.” ColdFusion hasn’t endured this long because it’s dying. Legacy applications alone wouldn’t justify the continued development of new options and modern frameworks. Somewhere, someone is seeing the cost analysis that says there’s still plenty of life in ColdFusion yet, so let’s build on that. “Your intellectual property will be more difficult to sell.” If the time comes that you’re looking to sell off your company, the power behind your process will have a greater effect than which language you wrote you killer app in. Integration may be an issue, but whose to say writing it in .NET Core will make you more attractive to a Java shop if they come calling?

We’re living in an age where you can speak to your house and ask for a restaurant recommendation and the house’s smart systems will use AI and machine learning based on your preferences and day of the week to tell you where to go. The next step will be that the house will call an autonomous car to pick you and your family up for a great night’s experience. While ColdFusion won’t be handling all of the development tasks, there’s certainly no reason your CF startup can’t be a part of that process flow.  So don't be afraid to use the CF word.  ColdFusion FTW!

Thursday, September 6, 2018

You Want To Get Your Statup Going? Then CRAM It.

Apache Web Server

If you have a startup idea, tech or not, you’re going to have to decide on a technology stack. Today, for almost any business to succeed and grow, technology is going to have to get involved. Why not go with a stack that offers the speed and reliability of one of the most established back end processing systems available. Depending on what you’re processing, CRAM may be your answer. From simple websites to a more complex microservices architecture, a CRAM stack may be all you need to quickly prototype, test and build out your next great solution. It also doesn’t hurt that you could even get access to all this technology for free from the comfort of your most comfortable chair.


Any entrepreneur has a lot of uncertainty when starting out on a new venture. Whether you think you’re going to follow a well established path or revolutionize an industry, you can only know so much. After all, if you only did what everyone else was doing, you’ll be lucky to keep up with the competition. That’s why reliability and speed are your competitive advantage with ColdFusion. As a rapid web application plat form that you can use for almost any web app you want or need, CF gives you a host of functionality packaged together that just work right out of the box. You want to generate PDF reports or process images by the hundreds? If it’s not mission critical, or even if it is, forget hours researching packages that may or may not meet your needs. Visual debugging tools, unit testing, task scheduling, etc are readily available with no more effort than typing out a CFML tag or CFScript function. And talk about reliability, ColdFusion has been doing all this from the start of the world wide web revolution.

The next issue is price. As an entrepreneur, you’re going to have expenses. No one said success was cheap. Lucky for you, the price you pay to get your startup up and running can go from a great value at a reasonable expenditure to downright free. In my previous post, Considering your CFEngine, I go over the options of ColdFusion engines. Adobe has a price tag that puts some people off at first glance, but as an entrepreneur, you know price ultimately comes second to value. Lucee Server may be your cup of tea if you love the power behind open source software and a community of developers helping to support you in your efforts.


Maybe you’re thinking, “Hey, ColdFusion sounds great for handling my online requests, but what if I want an unbelievable user interface?” Well, React could be just what you’re looking for. If you want to build a mobile website application with all the power and flexibility of a native web app, React is the JavaScript library that can help. A JavaScript libray is responsible for many of the wonderful effects and functionality you see when you go to a webpage. SPAs (single page applications) or PWAs (progressive web apps) or CNNs (:0) or whatever, React is the library that turns your customer’s browser into an interactive experience. All that power mixed in with a ColdFusion back-end can take you far. And that’s just the start. The browser wars aren’t slowing down, so imagine what you’ll be able to offer your customers when they look at their mobile device. If you can imagine it, you can either do it today, or will tomorrow. If you want an example of what you can do, check out the React Example Projects.

Apache Web Server

The Apache WebServer is an open source web server, that, like ColdFusion, has some history behind it. When you have ColdFusion and React covering your front- and back-end processing, you also need something that’ll serve up your result to your customers. That’s Apache Web Server.

As an entrepreneur, you don’t always know what you’re going to do with your technology right out of the gate. With Apache Web Server, you get the advantage of an open source web server that has faithfully served a majority of the internet for years as well as the advantage of playing with more options than you’ll ever really need. While that may be a bit overwhelming if you don’t know what you’re looking for out the gate, it’s still nice to know that if you have a new idea about how you want something to work, a reliable workhorse like Apache Web Server can be there to help. Performance, logging, security, a vast wealth or help resources and more are what make Apache Web Server a great option for your technology stack. And, again, don’t forget FREE.


Let’s not forget that the power in technology comes from it’s ability to serve up the data your customers want or help you hold on to the data your customers give you in exchange for your goods or services. The place you’re going to most likely store your data is a database. MySQLis an open source relational database management system (RDBMS) you’ll want to consider. It’s open source, but it’s powerful enough to handle enterprise systems, which is does. MySQL is a ubiquitous database that you’ll need to hold whatever data you have and process and retrieve it quickly. While there are a lot of different data query solutions popping up, from NoSQL to GraphQL, MySQL gives you the flexibility to take advantage of those or just use Structured Query Language. One of ColdFusion’s great advantages out of the box was interacting with a database in the easiest code ever. MySQL is a solid option today, and will be for a while to come. FREE.


As an entrepreneur, you walk the fine line between wanting the latest tech so you don’t fall behind and the established tech so you don’t have to bother reinventing the wheel. All the options above will help you take advantage of every way NOT to do something as well as provide the platform to grow from a one man shop to an enterprise solution. If you’re an entrepreneur who only has a passing knowledge of technology, you at least know the advantage of speed, reliability and a support community. CRAM has it all. If you’re an entrepreneur whose tech background is unsurpassed, you’ll probably have an opinion about this stack vs your favorite. But, as an entrepreneur, you’ll also realize that technology’s value isn’t in the label, it’s in what you get out of it. So, feel free to CRAM it.

Monday, September 3, 2018

How to Train Your ColdFusion Developer

There are two types of startup entrepreneurs.  Those who love, live and breathe technology and those who don’t.  Both kinds, though, will ultimately have to deal with training their ColdFusion developers as they come on board.  On the one hand, it’s a bit of a hassle, but on the other hand, it’s a chance to shape the culture and expectations of some of your most important resources, your employees.

Be A Guide, Not A Task Master

When hiring a developer, any developer, you’ll have certain expectations. Usually, those are spelled out on the job notice. The thing is, though, that until bots are fully designing and implementing your code, you’re going to have to deal with humans.  Humans have a great capacity for learning new things, particularly when allowed to fail and learn from those failures.  So, encouraging a new developer to bring up new ideas is a plus.  Obviously, few of those ideas will be grand slams until a familiarity with the environment is established, but it is still important to show the new employees what is expected, why it’s expected and how it’s done.  Then, find out if they have any questions. If they never seem to have any questions, ask them to explain the process back and listen to how they describe things.  This will be useful in knowing how your developer’s mind works and how you can work to their strengths.  Sometimes you may have to fall back on the “that’s just how things are done” argument, but only as a last resort.

How does this apply to ColdFusion? Well, unless you’re lucky enough to have access to the perfect ColdFusion developer right off the bat, you’re going to have to train them.  These days, there are tons of code out there that use CF that was written by less code savvy individuals than we’d like to admit.  The fortunate thing is that ColdFusion is a powerful development environment that is easy to pick up. Unfortunately, writing good CF code will take learning additional discipline since you’re not inherently forced into good coding practices to succeed.  Have your employee practice writing code that’ll accomplish a necessary task, then find out why they chose the process they did.  If there is a better way, bring it up.  An understanding of the code use in context will always be necessary.

Be Clear About Expectations and Provide Reference Materials

A ColdFusion developer, particularly a new one, may have a background in other programming languages. This is great, but it can also set up conflict surrounding the use of ColdFusion and why certain things are done the way they are.  Whether one is the ‘right’ way to do things is usually debatable.  It is at this point where it may be useful to have a company code style guide and standard operating procedure in a readily available place for reference. ColdFusion CFML and CFScript are loosely typed.  For a startup, this means that unless you have a reference that spells out what the expectations are, you may have one person using variables one way and another developer using it another way.  While it may work in production, the maintenance time in deciphering someone else’s intention can be costly.   The true value in code is less about the syntax itself and more about getting things done efficiently, but syntax elegantly implemented in a way that your current and future developers can read quickly is priceless.

As for reference materials, there are a number of websites available that can provide the CF specific documentation for syntax and processing. Learn CF In A Week, Try CF, Adobe CFML Reference, CFMLife, etc. are just a few.

Trust and Verify

When a startup is starting up, speed is the name of the game. This is one of the reasons a rapid application development platform like ColdFusion is valuable.  Being able to prototype functionality, build an application and test it quickly is one of the ways CF excels. As mentioned before, this is also something that’ll have to be reviewed before allowing your new developer’s code into production, or even the primary code base.  Code review and QA testing will need to be reviewed and enforced early on.  In many startups, your code is what your business is built on.  Making sure it follows standards and meets expectations before merging it back into your master code repository will be a primary concern.  You don’t want to have to hold your developer’s hand with every project, but creating and enforcing standards early on will go a long way towards keeping your code in check and helping newer developers work well within your organization.

Show Me Your Documents, Please

When you start training your developer, remember that you may have an easier time if there are multiple ways you can explain a concept.  What is means is, you should have your code’s documentation created and made available.  Sometimes a visual representation of the workflow helps to explain a process better than a wall of text.  Hopefully, when starting a development project, you have created some sort of explanation of what you’re looking for and what needs to happen within a program.  If these are created and kept up to date for maintenance purposes, be ready to share this.  If there is no documentation, then get some.  Some CF developers may not see the value in creating formal documentation, but an hour of writing may be what saves your company a day of code exploration during a crisis.

Finally, bear in mind that on boarding a new employee is a process that takes time.  Also, no one process will always work for all employees, but establishing a common baseline will go a long way towards keeping your sanity.  As a startup entrepreneur, you’re going to have a lot to think about.  If you’re not the one personally training new developers, you still should keep these points in mind and make sure that your lead is keeping things in check.

Wednesday, August 29, 2018

The More The Merrier

I just wanted to put a quick acknowledgement out there about a recent blog article that I encountered about a company putting ColdFusion to use for their products.  More specifically, they're using the Lucee Server CFML engine.  Check it out and read about the benefits they get out of a professional development environment that quickly helps users master their finances.  You can read the article at

Monday, August 27, 2018

Is ColdFusion a Secure Option for My Startup?

ColdFusion has been around the block a time or two.  It's seen ups and it's seen downs when it comes to implementation.  From version to version, ease of use versus security has always been an important consideration.  From the early days of the web when security was important, but not the primary factor, ColdFusion implemented security components. Some made you feel good, but didn't offer what you hoped.  Other security tools were there, but developers didn't use them properly. Unfortunately, hackers have been poking at CF since the beginning. The fortunate news is that Adobe and the CF community has been listening and responding. As of today, ColdFusion is at the top of its game when it comes to security, so your startup should be ready to take another look at the advantages of rapid application development balanced with modern security methods.

The Past

When ColdFusion was first developed in the early days of the web, it was the wild west of things.  As long as you knew some HTML and how to upload a few pages to a host server, you were considered programmer material.  Adobe ColdFusion (or rather the original developers, Allaire) saw the advantages of offering a fast environment for developing web pages that easily interacted with databases and processed forms. This was embraced by a world that was moving quickly. Unfortunately, with great power came great responsibility, and many early developers didn't have the advantages of security training that are available today.

As a consequence of a lack of security standards and methods, ColdFusion was vulnerable to a number of attacks that made headlines.  The smallest efforts, such as sanitizing their database inputs or locking down a port or two were often overlooked, and ColdFusion was blamed.  Sometimes justifiably, though certainly developers who didn't know what they were doing had more than their share as well.

When ColdFusion eventually became a part of Adobe, a company focused on web marketing tools, the focus on security of a full web environment suffered as well...for a while. Bad PR led many to look to other options.  ColdFusion was the easiest target to blame for many hacker attacks.  Some were due to a fault in the architecture, but lessons were learned.  From those lessons came a stronger platform for web development and security.

The Present

Today, ColdFusion is as viable an option for developing your company's web based tools as any, even more so than some. With years of experience in developing the ColdFusion product and related products, modern CF hasn't had any headline grabbing issues in years.  The newest option, open source CF engine Lucee, also has the advantage of being designed with security from the start. All that being said, it is still on the application development team to do their due diligence and make sure they're following best practices and avoid the complacency that often accompanies a product that works so well.

Points to remember:

  • Stay up-to-date with your product if any new updates are released for your version.  Support for a version from Adobe has a shelf life of around 6-7 years for the most part.  Not too bad.
  • Keep up to date with your hotfixes.  A patched and tested web service is something you'll always need to have, no matter the platform.
  • Use server monitoring tools.  Today's world offers more web services that monitor, analyze and threat detect than ever before, so supplement your CF.
  • Use HTTPS.  Today, it's pretty much the standard thanks to Google, but make sure your applications that aren't indexed are just as well using SSL or TLS.
  • Remove the factory setting for admin access.  ColdFusion has a great administrative interface, but it's something you want to make sure only you can access.  Whether that means blocking access by IP or disallowing access from your web server, do it.
  • Intrusion detection.  That may not necessarily be at the CF level, but prevention is worth an ounce of cure.
  • Sanitize all your CF form inputs and verify any database arguments before they can even reach your DB code.
  • The latest edition of ColdFusion (CF2018) has handy new performance monitoring tools that accompany standard and enterprise editions of the software.  Use it to watch for any unusual spikes of activity and keep notifications on.
  • Continuous deployment.  This is probably more directly tied to your code than ColdFusion, but security is everyone's responsibility.
  • Finally, test, test and test again.  In today's world, you don't rely on one or two technologies to be a great web service.  From ColdFusion to Javascript, CSS, cloud hosts, application servers, web servers, downloaded Docker containers and more, much more, you need to make sure everything works together on a daily basis.  

The Future

Obviously, technology is an ever changing thing.  What is relevant today may be a minor point tomorrow.  What is a virtually insignificant factor today may become the Achilles heel of your company. So, keep up on what's going on in the tech environment related to your startup.  Maybe the temptation is to pass that off to your tech people and focus solely on your executive strategy.  As the one in charge, that is your right, but do so at your own peril.  Even if you're a pizza artist who only takes orders online and has pizzas delivered by UberEats, you're still in the tech business, too.  While pizza artists may not be coding their own web GPS displays in ColdFusion, just like that pizza guy, you want to know your technology for your startup.  ColdFusion is just one option, but it's a pretty good one that can securely take you into the future.

Keep asking questions of yourself and your company.  What security issues are likely, and what are unlikely.  Then, remind yourself that the unlikely scenarios are actually pretty likely. Adobe ColdFusion has the benefit of a multi-billion dollar software company behind it to respond when security issues affect CF, as they have shown.  Lucee has the agility and open source nature to give you the control over every aspect of your security if you wish.  Evaluate and take advantage of these as you see fit.

In Conclusion

ColdFusion has had a mixed past with security.  Today, if you look online hard enough, you'll find plenty of old news stories of attacks and vulnerabilities related to CF as it has matured through the years, just like most technologies.  Just know that CF has responded to fix issues it has had, just as any responsible company would.  If you want fast, and secure, you get that with CF.  That's not to say you can let your guard down as a startup leader, but it's good to know that you can get ease, speed and security in one great platform.

Monday, August 20, 2018

ColdFusion in the Cloud

Something you need to consider once you've decided you want to use ColdFusion as your platform for building your business is how you'll set it all up. There was a time when it was a pretty straightforward decision because you had limited options.  Basically, you could buy a hardware server and install ColdFusion behind a web server using a license you bought from Adobe.  Otherwise, if you found a reliable CF host, you could go that route and leave the maintenance to someone else. As with any IT solution, there are a lot more details involved, but I'm sure you get the idea.  Your business relied on investing in and maintaining your data center or hoping the host you chose knew what they were doing when trouble came to town.

These days, you have many more options with how to set up your ColdFusion environment for efficient use of resources, reliable up-time and security.  That isn't to say that all of these will come cheap, but what's nice is that you can be in control of the costs as much as you want...down to the second.  While you can still buy your servers and install your own CF apps, it is nice to have choices.  The best option these days for the right balance of price and reliability is the cloud. Microsoft Azure, Amazon Web Services (AWS), Google Platform, Digital Ocean, etc are all options that let you do things like set up a VPS or host Docker containers that have your applications built in.


A VPS is a virtual private server.  It's basically a virtual machine that is segmented for your use from a cloud provider.  It's like a full server, but you don't have to worry about the details of a hardware based machine.  Depending on what sort of managed approach you take, you may still have to be the one who worries about updates, security and data archiving, but at least you're not having to call on some poor, overworked soul at 1am to come in and change a failed hard drive only to find out no one backed it up since three failures ago.

With ColdFusion, you can install it just like it's on your own physical machine.  You can use the Adobe ColdFusion installation package or the Lucee installation option.  Depending on the OS, you can set up CF behind a web server and you're ready to start.  That may mean handling all the configurations, but other than hardware, you have the same level of control as you would get with  your own box.


The latest option for the modern CF enthusiast is using containers.  Usually, this will mean a Docker container with your CF application image built in.  While Docker is pretty much a VM approach as well, it's done in a way that you can put all the components you need into a virtual box (a container) and Docker takes care of letting your application interact with the system on which it's hosted.  It's like putting your fish tank on a shelf.  You supply the fish you care about and put them into a standard fish take and put it on the shelf to be admired.  You don't care about the shelf it sits on because it's the fish that matter.  The same goes for you application.  This means you focus your time where you really want and make sure you can innovate as quickly as you need to.

In Conclusion

These are just two options you can look into that are readily available in the cloud.  With many companies already well established on these platforms, you can be sure that you're not dealing with untested technology.  As a startup, you need to get going and get going quickly.  ColdFusion is just one quick option to get started, but also deploying on to an environment where everything is built as you need and you control the cost is just another quick step toward success.

Thursday, August 16, 2018

Considering your CF Engine

One of the things I've been thinking about as of late is exactly which flavor of ColdFusion I should be using for my startup.  These days, the options are pretty much Adobe ColdFusion or Lucee Server.  There is also the OpenBD CFML engine, but as far as I can tell, development is no longer active on it, which is a shame.  From its start in the BlueDragon days, OpenBD was a pretty reliable alternative when no other existed.

When it comes to deciding on which server will provide the sort of use I'm looking in a business, the following are my major consideration:

  • Price
  • Support
  • Scalability
  • Future Proofing

When it comes to Adobe ColdFusion, price has been a major issue for some time now.  As a developer, many of us look for options that we can practice with and implement on our own.  This is a big reason why open source software is a big draw.  Unfortunately, Adobe ColdFusion has a pricing structure that was never a great incentive to developers who can't look past price when it comes to learning a platform.  From a business standpoint, this is also an issue, but not one that should disqualify ACF right out of the gate.  The two tiers of ACF are the standard edition ($1,499) and the enterprise edition ($8,499).  For a small business that is software focused, the standard edition's price tag is actually not that bad.  Just like many things you buy for a startup, the ACF platform is an investment.  For the price of two usable laptop computers, you have access to rapid app development, a huge library of tools from report generation to .NET integration and more.  The enterprise edition is even better if you have to handle multiple instances.

Lucee server is an option that is much nicer to the pocket book, at least on the face of it.  Lucee is an open source CFML engine, and a very good one at that.  As an fork of the Railo CFML engine, it has been actively developed for a number of years and has grown a knowledgeable community who not only embrace the open source software approach, but who seek to move the applications forward into the realm of modern development practices in a way that a  larger corporation can take time to do.  Also, as an open source project, you're able to adjust the software as needed if it came down to that, but thankfully the development is on-going and I've seen new features come up with each version that make Lucee very attractive.


Adobe ColdFusion is, obviously, an Adobe product.  This is one of the big draws that have helped it over the years when it comes down to selecting a product partner.  With each new version, which have a release cycle of about two year per, a generous support period of around 7 years is not unusual.  This is great news for a startup, especially since it means that there will be someone to call on and active patching and updates to accommodate growth.

Lucee does have a level of support as well, though it is not as formal as ACF.  With tons of group posts and slack channels to engage with current developers, answers and help with Lucee and realted issues are usually pretty close by.  From a developer perspective, that's great, though from a startup perspective, the unpredictable nature of support can be a turn off.  In the end, though, a good CF developer can find the solution at a cost of additional time.  Then again, support from a major corporation is no guarantee that you'll get your product up and running more quickly either.


When it comes to scalability, I'd have to say that Adobe ColdFusion and Lucee Server are on similar levels for a startup.  If you use ACF standard edition, you get the engine and integration with the Apache Tomcat app server right out of the box.  With Lucee, you get the engine and a host of available open source options for the application server at your disposal.  From Apache Tomcat to Wildfly to JBoss, there are plenty of scalable Java app servers you can choose from.  All you have to do is deploy your Lucee WAR file onto your application server and you're good to go.

Future Proofing

As a startup, one of the things you should consider is how your software platform will be working years from now.  One thing to remembers is that changing your platform after it has been doing its job for a couple years is no small task.  If you choose a software solution, particularly a custom solution, you'll need to remember that the cost to switch is far more involved than the cost of the software.  From development time to possible customer disruption, you'll encounter a lot more than you can actually plan for right out of the gate.  So, making sure your software is going to stick around a while is important.  As mentioned before, Adobe ColdFusion has had a release cycle of a couple years, and with that comes support.  At this time, Adobe CF hasn't slowed development of their platform, though they have plenty of room to grow to keep up with the latest developer architecture and buzzwords.  From a startup standpoint, ACF is pretty future proof, at least for the foreseeable future.

Lucee Server, is an open source project.  Unfortunately, Lucee came about as a forked project due to a number of issues with Railo.  For all intents and purposes, Railo is dead, so if you had started with that brand, you'll have had to change to Lucee.  The good news is that Lucee was all Railo under the hood, so transitioning wasn't too bad at all.  The only reason I bring this up is that it may give pause to think that this line of CFML engine was once in trouble.  Today, from a startup standpoint, I don't believe it's on any sort of similar course that should prevent the use of Lucee, but as with any open source project, it'll be something to consider.

In Conclusion

These issues are all ones that have been rattling around in my mind as I consider the options available for my startup.  Both servers have made great strides in the last couple of years to change CFML from the "dying" language is was to a modern platform that is not only comparable to stacks like .net or node.js, but can beat them in many areas, especially as a mature technology. Personally, I've had experience enough with both technologies to know that great effort has been put forward to keep them very compatible, but there are differences that you'll have to test for if you plan to start on one platform and move to the other.  Consequently, that is my startup plan at this point.  Startup with Lucee and move on to the powerful REST and containerization options that Adobe is cooking up for this version and the future ones. 

Saturday, August 4, 2018

Welcome to the CFStartup Project!

What's all this about?  Well, it's my attempt to break away from the 9-to-5 and start up my own business.  The details of the business will develop over time, but I do know it'll have a significant development component.  What do I want to use for my development environment?  As you may have guessed, I'm using the ColdFusion platform.  This blog is all about my attempt to show that ColdFusion still has a place among the modern developer toolset.

Today, there are at least a couple flavors of CF that a startup can choose from.  Along with the decision whether to use Adobe ColdFusion or Lucee server, there are a number of development styles, cloud services, and frameworks to choose from.  As my new business venture launches, I'll describe what works for me and why.

So why go through this?  Well, CF hasn't had the greatest public relations lately, but it still has its place along side the more popular web application platforms.  It's not a perfect solution, but nothing is.  It is at least a mature technology that has made great strides over the last few years to simplify MVC, microservices, REST APIs, and more.

If you haven't used CF in a while, now is a great time to take another look at this great addition to the developer toolbox.  With the rapid development capabilities CF has always had, along with the latest modern development tools, a startup can go pretty far. Time to put my money where my blog is.