This the first part in a follow up from a 2011 YouTube series I put together called Making Websites Faster. It follows up on some basic assumptions about writing Rails apps that have been outlined on this blog post.
It was supposed to be four parts. Well, that's growing.
Widgets Inc's Platform
You probably think this is where I start talking about the cloud. In a bit.
I hail from an old manufacturing town, which is but one of the reasons I always use Widgets Inc. as an example. Widgets Inc. sells physical widgets that are machined by large Widget dies.
They have a large AS/400 based product inventory control system. It's integrated all over the plant floor. It's integrated with some of their most major customers and suppliers. You're not replacing it, don't even think about it.
A few years ago, Widgets Incorporated's vendor for this application, started offering a SOAP/XMLRPC option. They have a product based off this for the different vendors to integrate with, but as you can guess, no one can figure out how to use it. Even some of the higher dollar purchasers can't afford a consultancy to figure this out, let alone bring people on full time as they probably really should.
Before you say this is contrived, it's how the "enterprise" works for most of the manufacturing sector.
Widgets comes to you wanting a catalog with online ordering. While you're at it, they'd like an overhaul of some of their basic meta pages and their landing page system for sales leads.
They don't want it to cost a whole lot, but volume is sufficient enough and integration is difficult enough to warrant skipping managed Rails application deployment environments.
They take about 10M uniques a month and project that they're going to be doing quite a bit of volume through the web site as far as sales go.
There's another snag. There are two separate iOS apps about to hit for Widgets Inc. Yes, my how progressive they are for manufacturing, but you really gotta keep up, and you have to support it. Here they are:
- An app for iPad which is meant for their 200 member strong global sales force. They can't just use the site, it's an app because there is integration with their CAD drawings and machining specs to ensure the customer is getting what they need.
- A kiosk type marketing tablet app, meant to showcase success stories, tell a bit about Widget's history, showcase some parts, and take emails and such for followups. It's a prototype right now, with minimal investment. This app has to be able to run offline, as it the tablets will live in places where there is no connectivity.
With both apps, once the payload is processed, appropriate parties should be emailed once the API is hit and the magic happens.
App one needs invoices and an intro letter for first time customers. Very basic.
App number two has requirements that are a little more complex. You see, Widgets Inc., founded by Mom and Pop Widget in 1902, is a family company. They know the customers in their sector can spot a form letter a mile away (and who can't really). The followup email has to be carefully crafted to ensure the customer is satisfied and the sales lead is converted. Since this is a MVP, they'd also like to know whether it's worth their while to continue investing in this program.
Your task, should you choose to accept it:
- Create a platform that's fast, no matter someone's position on the globe. It should be tolerant of being mentioned by Oprah.
- Track as much metric information as possible to ensure every department is doing the right thing and that they have the tools to further the growth of the business.
- Create a catalog with ordering and provide the same (and more) tools via an API.
- Create a landing system that works via API as well as the web. It needs to work well with iPad app #2, but also work well with all of the print, radio and Internet advertising that Widgets does.
- It needs an admin interface for when a customer calls in with a query. Having a customer explain every step they've done isn't just difficult, it's a "telephone game" where you're likely to get the wrong thing told to you. You need to be able to re-trace all the steps they've taken, to understand where they've been. If someone needs a line item amended, or they just want to call a whole order in, your customer service department should be able to handle this.
- The app should be able to be run for under $1000 a month. Any activity beyond this needs to be quantified.
Rails can't do this? You're right. Rails can do this with the help of the ecosystem you've already probably chosen to implement around your app, and probably still come in under the $1000 a month benchmark.
In the next post, we'll do some initial planning. We'll figure out how to implement a few white lies to get to Oprah scale. We'll sketch out the site map, and talk about strategy to each leaf of the tree, as well as figure out the best strategies for implementing each requirement.