Platinum Partner
java,coldfusion

6 Reasons Why Our Start Up Company Uses ColdFusion

I run the start up company ChallengeWave, a workforce wellness motivation engine helping companies get employees more involved in their health and have fun doing it. We use ColdFusion as our platform and to put it simply: it helps us do more with less. After reading the many posts bashing .NET as a poor choice for start up companies, I wanted to explain how ColdFusion helps our start up company.

We face challenges common to many software based start up companies. First, our competitive landscape is filled with established players with more resources than us. Our customers want new features and modules to support their business, and they want them now. We must evolve our product to stay ahead of competitive products and gain marketshare. We've got to balance new features with product maintenance and keep our future costs in line. It's on us to compete by being leaner, keeping operations efficient and using our nimbleness to turn around features and modules much quicker than our competition. To keep an aggressive product development velocity we must use a rapid development platform. To keep customers happy we also need a scalable, easy to administer platform.

For those of you who haven't kept up with the growth and maturation of ColdFusion over the years, I'll mention some of the top reasons we've settled on ColdFusion and how ColdFusion helps ChallengeWave.

Groovy, Erjang, Rhino, Jython, JRuby follow in the footsteps of ColdFusion

The power of dynamically typed languages on the JVM needs no preamble. Groovy, Erjang, Rhino, Jython, JRuby and others are some of the prevalant examples. ColdFusion was one of the first major dynamically typed languages on the JVM, when it was rewritten from the ground up in about 2001 from its legacy C++ platform to run entirely on Java.

ColdFusion supports objects, Object Oriented programming constructs, data structures and other important language features, but it doesn't necessarily enforce types unless you tell it to. We use the dynamic nature of ColdFusion to develop and refactor software quicker than our statically typed counterparts.

We Operate at Higher Levels of Detail

ColdFusion is more than a language, it's also a platform. The ColdFusion platform is optimized for rapid development of web and mobile applications. As a start up company with limited people resources, we need to be efficient in how we divide our time in feature development, maintaining software, marketing, on boarding new clients and meeting with investors/mentors (and not going off the deep end :) ). With ColdFusion, I focus on what I want to build, not the low level implementation details outside my realm of caring. I avoid the ceremonial musings of many other platforms and I complete my work efficiently and maintainably.

As a matter of fact, there are hundreds of things I can do cheaper and faster with ColdFusion. Take a quick look at 10 ColdFusion 9 one liners by Sam Farmer and the equally compelling 10 ColdFusion 8 one liners by Sam Farmer.

ColdFusion provides high level ways to work with:


For example:

Query a Database

<!--- Create new Query Object --->
query = new Query(sql="SELECT person_id, name FROM Person");
<!--- Bind SQL command --->
results = query.Execute().getResult();

Define a Hibernate aware, ORM ready object

component displayname="Artist" persistent="true" output="false"
{
 property name="id" fieldtype="id" type="numeric" ormtype="int" generator="native";
 property name="firstName" type="string" ormtype="string";
 property name="lastName" type="string" ormtype="string";
}

Create New Object and Save Through Hibernate:

artist = EntityNew("Artist", { firstName="Jackson", lastName="Pollock" } );
EntitySave(artist);

Note: configuration happens automatically, no horsing around with Hibernate config files unless you want to.

This speed in development allows us to do more with less. We get features done faster and push quality code out the door quickly. Some ColdFusion detractors point to ColdFusion as a paid platform, unlike 'free' platforms like PHP. ColdFusion is rather inexpensive, and the cost savings come within the first 20 hours of developer time saved. Besides, we only pay for production licenses. Development, Staging, QA, and Hot Backup production licenses are at no additional charge.

Running a start up is about being efficient with resources. Those folks that would spend $20,000 in labor costs or opportunity costs to get out of paying $1,200 for a production license of ColdFusion probably don't have much business sense anyways.

Good Tooling

There are several good IDEs available for ColdFusion. My favorite is ColdFusion Builder (Eclipse based). I also use CFEclipse (also eclipse based). Others use Textmate, E, IntellijIDEA, Coda, Dreamweaver, and Notepad++.

Not to mention, there are heaps of other ColdFusion Open Source libraries and projects freely available.

ColdFusion also has lots of open source frameworks to use, like Unit Testing frameworks, Model View Controller frameworks, Dependency Injection/Inversion of Control frameworks and more. This plethora of pre-built tools gives us additional leverage in building our applications. ChallengeWave specifically uses:


Scalable

ColdFusion is a scalable platform and can handle heavy load. I've helped build massive systems in ColdFusion and as with most dynamically typed languages, system scalability is a function of application tuning, database tuning and the appropriate caching systems in place. One project I worked on was the web store for the Stand Up 2 Cancer telethon. This telethon was carried on all 6 major TV networks and was watched by an estimated 18.3 million of people over a period of 6 hours. The amount pledged to fight cancer was over $80 million dollars. The store was subject to extreme surge load and ColdFusion handled the load just fine.

Clustered caches are a vital part of a high performance and high redundancy architecture. Working with the built in ehCache integration is very straightforward and easy. Mike Brunt did a quick tutorial on Clustering EHCACHE With ColdFusion.

Interoperable

Part of our business is integrating our software into the existing HR software our clients use. With ColdFusion, we can easily integrate with other technologies and maintain those integrations cost-effectively. ColdFusion can create and consume SOAP, XML, JSON, Java objects, databases of all types, AMF, REST, .net assemblies, SMS gateways, Message Queues and PDF forms.

Take a look at this 45 second video by Brian Kotek on a single ColdFusion object powering an Ext grid, XML, JSON, WSDL, and a Flex app via AMF (Code sample here).

ColdFusion objects configured as Remotely Accessible (access="remote") are automatically published as JSON or SOAP resources. So putting up APIs is simple and ceremony free.

Also, since ColdFusion is built on top of the JVM and is compiled down to Java byte code, we have the option of using any existing Java libraries and frameworks.

Community

The ColdFusion community is vibrant, supportive and filled with great people. ColdFusion developers are some of the most friendly, accessible and helpful colleagues out there.

Some of my favorite resources are:

Some of my favorite conferences are:

Some of my favorite ColdFusion startups are:

For more community resources around ColdFusion, check out: Charlie Arehart's CF411

Conclusion

Using ColdFusion gives our start up a set of extra hands and a great set of software development tools to build the best systems for our customers. Without the capabilities ColdFusion brings to the table, we would need extra developers or be farther behind our competition. If you are in need of a rapid development platform for your business, consider ColdFusion.

If your organization would like to provide a fun way to engage staff in developing healthy lifestyles, consider ChallengeWave. ChallengeWave is a way for organizations to reduce benefit costs and get a more productive workforce by getting staff more interested in their health. ChallengeWave helps staff start and stick with healthier lifestyles by connecting them with each other in short term health related competitions where they compete with or against others. Everyone in the organization can be supported, challenged, motivated and have fun improving their health.

About the Author

Dan Wilson is a North Carolina Entrepreneur focused on improving the health and well-being of Americans through innovative technology. Dan and his team designed and developed the ChallengeWave suite of services to help businesses increase employee population health. ChallengeWave creates and reinforces motivational relationships between peers for health improvement. ChallengeWave drives personal reform.

In addition to directing ChallengeWave, Dan consults with businesses on a range of technology and health matters. Recent clients include T-Mobile USA, RTI International and Mayo Clinic. Dan is a frequent conference speaker on health and technology topics at leading events in the United States and Australia.

{{ tag }}, {{tag}},

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}
{{ parent.authors[0].realName || parent.author}}

{{ parent.authors[0].tagline || parent.tagline }}

{{ parent.views }} ViewsClicks
Tweet

{{parent.nComments}}