Vertical Market ASP
ObjectivesBeaumonde wanted to move from being a simple modelling and talent agency web development shop to a full-service Application Service Provider. At the time I was contacted by them, this early stage startup had about 20 people and had just raised their first financing round, but didn't have any senior technology decision makers. They had an existing Microsoft web solution that had been developed by an offshore firm. It initially met client needs, but was an awkward design that wouldn't scale to meet the needs of the number of clients Beaumonde hoped to attract, and it didn't allow them to innovate quickly.
BackgroundMy first assignment was to perform the platform selection for a new system which would address the failings of the current one. The new system would be initially developed locally by a small team of contractors and full-time employees, and subsequent modules would be developed off-shore.
I chose to reimplement their solution using the ArsDigita Community System. This cross-platform, open source web development platform is based on AOLServer with an Oracle back end. Because of it's roots in serving high-traffic web sites like AOL (~25 Billion hits/mo), this solution has bulletproof availability and scalability built into it in an easily accessible Tcl scripting API. Although a bit of a niche product, the learning curve is exceedingly shallow compared to Java application servers, and the bulk of the sourcecode is not just available but easily comprehensible. I saw the modest risk of going with a less popular platform (something I hate to do) more than offset by the expedited development time and shallow learning curve. We were able to get a team of 6 productively coding web pages on the platform in about a week. The framework had hooks for everything we needed to do:
I've used so many products that solve only half the problems with putting up a high-reliability web service - ACS saves me from implementing the other half yet again and is an amazing time-saver.
Since our client web sites were completely graphics based, page delivery speed was very important. We evaluated different content delivery networks (CDNs) and decided on Clearway. Their techonolgy consists of a web server agent that watches your filesystem and mirrors changes between your web site and their network of edge servers. The agent will rewrite pages on the fly so that image tags point to locations on their edge servers, based on the destination of the user requesting the page. It was a very slick solution that required little work to implement on our part, and the price was significantly less than their competition.
The other initiative we took to speed up web page delivery was using Microsoft's Channel Definition Format. Since all our clients are required to use Internet Explorer to administrate their site, we provided them with a channel that pushed all model images from our server to their browser cache. This takes the CDN model to it's logical extremely - namely pushing the images right down to the browser cache. This made sense for our clients, because they'd be hitting the site frequently, and sacrificing a little disk space was a small price to pay for extreme site responsiveness. I wish CDF's were a little more intuitive for the end-user to set up, but it's an extremely useful technology.
An important by-product of our channel research was the creation of a mobile channel. This allowed end-users to download specially prepared pages directly to their Windows CE device for mobile browsing. This required incredibly little work once we'd worked out the right format for delivering content via CDF, and was a great marketing asset.
The 6 people involved with developing this site all kept in touch using the peer-to-peer collaboration product called Groove. It was a vital component to coordinating a distributed development project, and far exceeded our expectations. It enabled secure file sharing and instant message between a team that was located at 4 different sites, and was far more usable and flexible than server-based project management solutions. As someone who deals with the limitations of server architectures on a daily basis, I can't overstate the elegance with which Groove offers a compelling vision of what comes next.
ResultsBeaumonde completed a successful migration of their product to the new platform. A scalable sales demo was put into production, and we were able to produce requirements documents and functional mockups for the next generation product.
ObjectivesI was approached by this early stage mobile e-commerce start-up to design their web infrastructure. Their goal was to deliver targeted advertising to mobile devices via wireless technology.
The client needed to deploy hundreds of wireless kiosks to public spaces throughout the country which would synchronize advertising content and usage logs with a centralized data warehouse on a scheduled basis.
The big challenge in the wireless space was the rapidly evolving positioning of vendors and services. Different pieces of the solution were be delivered by different vendors : Oracle Mobile, PumaTech, AvantGo, Inktomi, Palm, Vindigo etc. Because of the relative immaturity of the space, most vendors were evolving their business models through aquisition, and it wasn't clear who's service would be around in even a year or two.
ResultsI performed extensive vendor due diligence in the fields of mobile content and e-commerce, wireless, and embedded systems over the course of two months. The simple build vs. buy decisions I normally face were more complex - build vs. buy vs. partner, with vendor and partner business models having a half-life of about six months.
The ultimate deliverable was a vision document that outlined all the requirements for the system in a loose way, so that the vendors selected would be able to write a functional specification using tools and partners they were familiar with.
This document also highlighted the major risks inherent in putting such a distributed system into production including:
Both risks are compounded by the large number of servers which need to be put into production.
I avoided being overly specific in term of what tools and products would solve their problems, beyond recommending Linux as their embedded platform. Linux had support for the necessary wireless protocols, had a large developer base, and could easily handle the web service requirements. This meant one platform to run their remote systems and web farm, easing hiring requirements and streamlining their architecture.
The client used this document to present their project to technology, marketing and design vendors, and I helped the client evaluate the proposals that were received.
Corporate Web Site
On this project, I was brought in by a management consulting firm to provide architecture expertise to a local technology firm. The marketing department was getting crushed by the web site feature and maintainence requests from the rest of the organization. They sought a management consulting firm to perform a gap analysis which would identify the difference between their current web site infrastructure and the one required by the organization. I was brought on board to serve as a techology architect, and perform a systems audit and recommend solutions based on the findings of the other team members. I participated in requirements gathering exercises and authored multiple Requirements Documents for the different releases that the client had identified. I evaluated a number of internationalization and content management platforms to assess their suitability. I also authored the technology section of a Project Plan that described the resources needed to meet their requirements.