The service was initially built with Java, but CafePress.com came to realize that developing on that platform was slow, problematic, and was otherwise preventing them from moving their business forward. CafePress.com is now using the Microsoft .NET Framework and has seen a vast improvement in their ability to develop new features and solutions. The ability to quickly bring new ideas to market is resulting in increased sales.
CafePress.com offers an outsourced e-commerce solution that allows individuals, groups, and companies to sell a wide variety of merchandise without the typical hassles and overhead of doing business online. The company manages every aspect of doing business online, including e-commerce services, product manufacturing and sourcing, fulfillment, and customer service. In just minutes, anyone can set up a store selling imprinted merchandise, such as T-shirts, mugs, and more, with no setup fees and no inventory investment.
The service was originally built using Java. In time, the company came to realize that they were spending too much time patching components together and maintaining their development framework, and not enough time developing new features and solutions.
“We were running into serious compatibility problems with the previous solution,” says Fred Durham, Chief Executive Officer, CafePress.com. “After an upgrade from the vendor, the issues still existed so we decided we could not wait any longer for the vendor to fix things and needed to find a new framework to develop around. Previously we had been using a combination of Java tools, runtimes, beans, and libraries. It became clear to us that a single framework would be far more productive. We wanted to get out of the cycle of maintenance and constant patching, and into new application development again.”
“Along with the .NET Framework, we examined BEA WebLogic and Orion. The .NET Framework proved to have everything we wanted—the richest library, and the best price point,” says Durham. “We were able to do a 100 percent conversion of all our systems in less than four months from initial testing to complete rollout. For a time during the transition, we had Java and the .NET Framework running side by side without problems on our live Web servers.”
The company is now using the application server features of the Microsoft .NET Framework, including Microsoft ASP.NET to build their solutions. “A user simply uploads images and CafePress.com’s servers superimpose those images onto product shots of items like T-shirts and mugs,” explains Durham. “The user’s store is then filled with products for sale without having to produce any actual merchandise in advance. Customers purchase items though the user’s Web site and on the back end CafePress.com processes the payments.” CafePress.com also has a manufacturing facility that accesses a private Web site where work orders, images, and product specifications are automatically accessed as needed to manufacture and deliver the products.
CafePress.com now uses the .NET Framework exclusively for every part of this service—utilizing ASP.NET pages, custom ASP.NET controls, and .NET-based console applications for various administrative tasks.
Making the switch to the .NET Framework was easy and quick, and has resulted in significant advantages for CafePress.com. The most significant benefit involves development time. For CafePress.com, turning new ideas into features and services in a timely fashion is critical. Developing with the .NET Framework is allowing CafePress.com to quickly produce and add new features to their service, and to produce customized solutions to meet the needs of larger customers.
The advantages go beyond the improved developing capabilities of the .NET Framework: The CafePress.com Web site has realized impressive performance increases.
“We are a start-up in the classic Silicon Valley model—moving fast and bringing things to market at the bleeding edge,” says Durham. “We evaluate products based on their ability to advance our business.” For CafePress.com, the ability to quickly add features to their service and to develop new service for larger customers is critical to their success. The .NET Framework allows the company to move quickly in the increasingly competitive Internet industry.
“Since moving to the .NET Framework, our development speed has increased dramatically,” says Durham. “Project cycle times have been reduced to approximately one-quarter of the previous development cycle times. That means more features and services for our users. With the .NET Framework, we can much more easily develop custom code for larger clients. It also means we offer more services and features at large. Again, this is because development times are compressed and the lines of code needed have dropped significantly.”
An Efficient Platform
The reason that CafePress.com is realizing improved development times is because the .NET Framework provides a single development platform and eliminates the integration and maintenance issues that plagued the company when they were working with Java.
“Our development environment was messy,” says Durham. “We had been using Borland Jbuilder for Java Code and HomeSite for HTML. We could never find a useful Java-based imaging library, so we were forced to use an OCX control. To use that we also had to use a COM-to-Java component from yet another vendor, with routine compatibility problems. The JDBC driver was ineffective and crashed periodically. Java is supposed to have everything, but it doesn’t. We had to cobble together a lot of stuff from different vendors. We found developing in this environment to be highly inefficient. We were spending far too much time patching and maintaining our development process, when we should have been spending that time bringing new features and services to market.”
The Microsoft .NET Framework Software Development Kit (SDK) contains a wealth of resources—including DLLs, tools, compilers, and samples—that enable developers to build efficient, powerful, and scalable Web-based applications and services. It provides companies like CafePress.com with a single framework for developing new applications.
“In the end, what really solidified our decision to adopt the .NET Framework was the incredibly rich class library that handled all the application plumbing you could ever think of,” says Durham. The .NET Framework class library is a comprehensive, object-oriented collection of reusable classes that can be used to develop applications ranging from traditional command-line or graphical user interface (GUI) applications to applications based on the latest innovations provided by ASP.NET and XML Web services. “The class library saves us time. Our applications don’t have to be built from the ground up anymore. It reduces the amount of code we have to produce and test.”
One project that CafePress.com was able to undertake because of the improved development environment of the .NET Framework is called “Strip of the Day.” One of CafePress.com’s partners is Dilbert.com—the online home of the popular Dilbert comic strip. What CafePress.com had envisioned was a feature that would allow people to order any comic strip printed on a variety of merchandise. Previously, only select strips from the past were available. Every Dilbert comic strip is now available on CafePress.com’s array of merchandise, including today’s strip.
“We had wanted to do this with Dilbert.com for a long time,” says Durham. “When we were on the Java platform, we always knew that developing this feature would be troublesome and would take too long. Simply put, we never got around to it because we knew what we were in for. With the .NET Framework, we developed this feature in just one week. Since implementing this feature, sales have increased dramatically—perhaps a four or five times increase in sales. More projects like this are in the works. Previously, these projects would not have even made it to our development list.”
Improving Web Site Performance
Moving to the .NET Framework has not only benefited the company because of the improved development environment, it has also resulted in improved Web site performance. Web traffic is significant for CafePress.com, a Webby Award recipient. Monthly traffic for CafePress.com runs at about 50 million hits. “The performance increase after moving to the .NET Framework was unbelievable,” says Durham. “The machines used to run at about 50- to 70-percent utilization and now run at about 2- to 3-percent. I have never heard of such an increase in performance.”
“We’re supporting about 5,000 concurrent sessions, and 10-20 pages per second with imaging, plus lots of dynamic database page views,” says Durham. “We had five dual processor machines that have now been converted to one machine. There’s no way we could have done that with Java.”
“We handle about 1 million unique visitors a month on a single server that refuses to go above 200-megabytes of ram usage even though it has 1 gig installed, and never goes above 3 percent CPU utilization. We sustain a 5 megabit per second average throughput. Where’s the top end? I have no idea.”
Posted: November 11, 2001