How a Hybrid of Technologies and Ideas Created a New Way to Sell Online
DM Direct, July 2006
By Nikolai Mentchoukov
Choices are good. Having grown up in Soviet Russia, I can tell you from experience: choices are very good. With choice, you have competition, better price and improved performance. Without competition, you have communism.
Before the fall of Soviet Union, we had very little choice. If you wanted to fly, you flew Aeorflot. If you wanted shoes, you got government shoes, whether they fit or not. Everything was the same: one choice, which of course is no choice at all. (An American friend who lived in Russia jokes that technically, there were two types of every product: one for politicians, one for common man. It's true!)
So when I came to America in 1996, you can imagine my joy at having so many choices. We had choices for coffee, choices for cognac and choices for clothing; almost too many choices to comprehend, quite frankly. This new and open world was like a renaissance for me. Suddenly, anything was possible.
This is the American dream, after all: whatever you want to do, you can do it. Just work hard, think about it, build a team; and of course, stay ahead of the competition. Sooner or later, luck will come your way.
The value of choice shines very brightly in technology, especially thanks to the World Wide Web. Many programming languages mean many options for building and fixing solutions. There's C#, Perl, Java, HTML, DHTML, XML and even Flash technology. There's open-source development, which is getting very popular. And lately, there's something called Ajax, which really changes everything all over again.
Developers know that choosing the right technology can be big challenge. At the end of day, each language has advantages and disadvantages. For example, HTML is simple and elegant but is not strong. Java is powerful but runs more slowly than even DHTML and still can cause the computer to crash (some Java fans say it's not so). Meanwhile, XML provides the best communication between programs, but can be very expensive for run-time and other resources.
Then there's Flash, perhaps the most misunderstood and misused Web technology on market today. Flash can do just about anything. It is incredibly cool stuff but is so complex; quite frankly, almost nobody knows even 10 percent of its power. This is big problem because how technology is used is more important than technology itself just as the product is more important than its technology.
This is what we learned creating a Web service that combines classifieds, real-time commerce and dynamic advertising, with the ability to sell worldwide without a personal Web site.
In dot-com days, people thought technology was the product. Every new technology was so popular; people were buying stocks like crazy. The bubble bursting taught us to remember that product is czar.
At our company, there's a funny thing: nobody fully understands the technology but me. I understand it because it's my job, of course. But at the same time, all of us were trying to figure out how this technology can do something for people. We knew that was the key, not to just have cool technology but to do something useful with it.
We first built a product for completely different reasons. Back in dot-com days, I worked with Flash design studio. We created the world's first Webmercials: full-screen, animated, with sound, no download time...way back in 1999. But we discovered a very big problem. No one wanted them! (At least, they didn't want them back then. Now, we see these ads all over. Timing is everything.)
A big reason why they failed (we think) was delivery. No one had a delivery mechanism that would work effectively. So, we decided to create this delivery mechanism. While we worked on that, .Net came to life. We quickly realized the power of this new development way, and used it for our product, which we called VPAK. We built VPAK in .Net framework, and began to sell the solution as ASP under name 3CManager, for content, communication and contacts.
For 3CManager we used Microsoft's SQL Server 2000 as back-end database. It was very powerful database for managing many objects and relationships between objects; and it was not nearly as expensive as other options. So we created the system in this object-oriented way because we were hoping to be wise like Socrates: we did not know exactly how people would use the system, and we wanted to keep doors open for handling many types of uses.
Along the way we noticed a big opportunity to use this product for another purpose. We watched Google, Craig's List and eBay all working to kill newspaper classified business. We thought: how can you compete with free?
Our infrastructure was largely in place; we just needed recoding and slightly different approach. We had already created catalog builders for individuals with 3CManager, and with SQL we realized they were all in one global database, so they could be accessed in one place. The catalogs would no longer have to be emailed, the way we designed in 3CManager. People would come to the catalogs!
So the new goal was not just free posting service like Craig's List, but a full-blown online marketplace like eBay with the search power of Google, plus two new features unique to Web (that we know): a rich-media ad builder that lets people choose from stock photos and Flash file library to assemble Webmercials, then place in product-specific areas and pay only by a click, plus a real-time, one-on-one negotiation function, just like an ancient bazaar! This is what we create with the 3CDepot.
Perhaps the coolest thing about choice is that sometimes you can have your cake, and eat it, too. That's the approach we adopted for 3CDepot. Here's how:
Back in dot-com days, we figured out how to make Flash run very fast, to load with no waiting time. That's when I realized the power of Flash. It was not just for pretty pictures and moving text. This stuff could perform complex calculations, incorporate a variety of formulae, all in near real-time, and without making requests through the Web back to server. This was very big news, because Perl, CGI and other scripts always make a request back to server, which means lag time; sometimes, lots of lag time.
In America, choice means competition, which means faster time to market, which means high expectations. People want things fast, not just good. So loading time is just bad; nobody wants to wait in microwave world. So we knew that Flash could work quickly and perform calculations. And how many applications today use Flash for anything but pretty pictures? This is an advantage for us.
In building our 3CManager system, we were excited by .Net. This was very interesting technology because it provided an integrated framework for online application development. We used this environment to incorporate a wide variety of functionality: management of contacts, content and communication, including rich-media delivery, and tracking of opens and clicks.
Still, the original .Net framework placed most of work on server side. Then came Ajax, for Asynchronous Java and XML. This was a big bang in online development: it turned the Web upside down, quite literally.
With Ajax, the cool thing is that it allows you to put 80 percent of what's happening on user's computer. The funny thing is, with modern computers, this practice increases productivity significantly. In the old days (five years ago), you always had much better computer on the server side. But for ASPs, especially with so many people online now browsing sites and purchasing products, this server-side construction no longer works well. It's too heavy and not efficient.
So when we built 3CDepot, we put it together not as page by page in the old-fashioned way, but as bunch of modules that interact with the server independently. At the same time, this whole solution is connected to SQL Server 2005 database, managing all these independent processes. Running this whole thing is one very cool process, where people can advertise, look for products, negotiate one-to-one and purchase; in a way, it's a mini-Internet inside a mini-Internet.
What's interesting also is how all these technologies have been moving toward the same approach of .Net, where everything can communicate with each other via XML. Approach is the same, very object-oriented thing. Many different technologies finally came to the same level of understanding. So it's like unformalized standard, like Action Script II and C# for example; you realize it's pretty much the same way of thinking logically.
This convergence is good news for the Web, because now all these technologies have become very good at communicating with each other. The result is you can use each technology to the best of its ability, and that was our approach with 3CDepot.
It's always difficult to build something very simple. To create a product, you need many people, many different views, to understand where market goes, what people want. We realized we could not build the 3CDepot without using many technologies. We must use SQL Server 2005, C#, XML, Ajax and Flash, assembled in new .Net framework. And that's what makes our product very interesting from technology perspective.
Perhaps the coolest feature is the real-time advertising auction, which lets people increase their paid advertising budget as needed. This functionality is a combination of SQL 2005 that runs the auction algorithm, .Net that assembles everything and Ajax or Flash that delivers the dynamically built advertising content: there are two versions used for different kind of needs. This is a classic example of how powerful module-based architecture can be.
Finally, we decided to come back to the technology and see what we can optimize based on latest technologies. After the product was built, we realized so many parts of it could be improved. Because of .Net framework, and because we built the solution in many interoperable modules, we found that replacing this piece and that piece was so much easier than in the old days of programming, just last year!
Now we have a product, we have a big partner already, and we are helping people buy and sell their stuff for free if they like, while also giving options to highlight their product with our cost-per-click, product-specific, rich-media ad builder/dispatcher. It's ironic, too, that we provide this kind of choice for classifieds, since before, most people had just one paper to place such ads. Choice is good!
Who knows? Maybe it's the next big thing!