TSOT Ruby / Rails Presentation Night - Part 1
Jan 20, 2008 16:03

On January 8th 2008, I gave the main presentation at TSOT's Ruby / Rails Presentation night. In it, I announced my new company Shindig and Shindig's first product, the S.O.S. Here is the first part of the presentation, with slides and more-or-less what I said. The presentation was in two parts: business and technical. This is the 'business' part. The technical part will be covered in future posts.


Hi, my name is Andrew Burke. I've been a freelance application developer for over ten years or so. I started doing web pages back in the 90s and then moved to Lotus Notes, worked at a consulting firm in the states for a few years, and then came back to Toronto to go back to freelance work. I moved to Java around 2000/2001, and have also done some PHP on the side. I got into Rails in mid-2005 and have been working as exclusively as possible in Rails since then.

Tonight I want to talk to you about a project I've been working on for the last year or so, called the S.O.S., or Store Ordering System. One of the things I like about going to events like this and DemoCamp is the opportunity to see what other people are doing, and what kinds of software is out there. I generally work alone, or as the sole 'computer guy' in a company - so it's always great to learn new things, and see what other people are wrestling with.

The S.O.S. is business-to-business software - specific software for a specific business niche. Since this is the first of the Presentation Nights, I'm not sure who is in the audience, and what kind of work you do - knowing Toronto and Rails, I'm guessing it's more of a consumer venture and design crowd - so I'm going to give a quick overview of what software is like in the business world.

On an airplane over the holidays, I was watching that new BBC series, 'Planet Earth' - and while watching the 'Oceans' episode, I realized that there is a biosphere of software in the corporate world.


At the top of the biosphere are the whales: giant, slow-moving, expensive, resource-intensive software. Enterprise Resource Planning systems like S.A.P., or custom-built solutions by large firms like IBM Global Services and Accenture. These have entire departments or sub-companies devoted to building and running them. On the one hand, these are so large and expensive - and the approval and buy-in has to be done by such senior-level staff (VP, CIO, CEO) - that their momentum carries them forward regardless of whether they actually work or not (this is the kind of software where the consultants who made the original bad system are 'punished' with a $25-milllion maintenance contract, since they're the only ones with the knowledge of how to work with the system.) On the other hand, when these are done right, they are the key to staying competitive for places like Dell, Wal-Mart, etc.


At the far other end of the scale are the little creatures: Phytoplankton, blue-green algae, cyanobacteria, krill. They're small and simple, but they constitute something like one fifth of the biomass of the entire earth. The equivalent to this in the business software world is ... spreadsheets and email. Spreadsheets were the original killer app for getting microcomputers into offices - it started with VisiCalc on the Apple II. It's still the most commonly used business software. It's simple, flexible, provides a combination of database and word-processing features with calculations and graphics. Everyone from interns up to the CEO can quickly slap together a spreadsheet to reflect some kind of business situation - and if they want to 'collaborate' they can attach it to an email. Wikis, intranets, groupware, all of that is a minor distraction from what really gets work done in the business world: email.

By the way, wouldn't it be great if someone could figure out how to turn spreadsheets and email into real applications? Well, it's called Lotus Notes, and it didn't quite work as cleanly as expected.


In between these two scales are the fish - custom-built applications. There are lots of them and they come in many different shapes and sizes. Some of these are built internally by I.T. departments in larger companies, some are built by high-end consulting firms, some are built by smaller firms or independent developers (like me), and many are built by a middle-manager who thinks he's a programmer, or the CEO's nephew who just learned Visual Basic or PHP.

These kinds of applications are an expensive roll of the dice. When people talk about how most I.T. projects fail, these are the projects that they're talking about. A company could easily spend five or six figures and take months or years to build one of these applications, and it may not work, or not meet the business requirements, or do neither.


What's happened in the last few years with the spread of the web and the rise of fast and flexible languages and frameworks like Ruby and Rails, is commercial web-based business apps. These are like dolphins: it's a marine mammal like a whale, but it's smaller and more nimble; it's quite a bit like a fish, but smarter and more capable. Many business functions are similar across different companies, and so they don't need expensive customized solutions. There is already a market for the obvious big things, like CRM and Human Resources - but since these apps can be built by small companies or individuals, they can focus on smaller and underserved niches.

One of the great advantages with this new kind of software is the low level of commitment required from customers. The applications can be built by small teams or even individuals, so they don't cost as much - even less if the production cost can be spread among multiple companies. Since they're web-based applications, you don't need to buy and maintain server hardware or install flaky client applications on your staff machines. Many of these applications are sold on a subscription model - if you don't like the software and stop using it, just stop spending the monthly fee. Because the costs are low and there are no in-house hardware requirements, the decision to start using these applications can stay at a department manager's level or below and it can be set up almost instantly - instead of the years it might take for a CEO or CIO to decide on a big piece of infrastructure. This means that sales and customer relationships is more about good looking web sites and functional software rather than lots of business lunches and golf games.


So, I'm starting a company to produce this kind of software. It's called Shindig - or more exactly, "Shindig Digital Constructions Inc." I'll still be doing dev work for people while things get off the ground, but the main focus is going to be hosting, selling, and managing web applications.

The web site is still getting polished up, but when it's ready, it'll be at www.shindigital.com. The company has a logo and working software that people are already using, but doesn't really have a polished website yet. This puts us ahead of a lot of Web 2.0 companies, that have a logo, a slick website, but no working software!


Shindig's first application is called S.O.S. - the Store Ordering System. It helps manage signage programs, generally for retail operations.


The S.O.S. helps manage signage programs, including production, fulfillment, inventory, shipping, and catalogue management. I'm guessing that there aren't that many people in the audience who are really interested in the nuances of signage fulfillment, so I'm going to skim over the actual functionality and focus on where the application fits in the sign business. If you're really interested in how all of this works, drop me a line and we can talk later.


The sign industry has a few quirks. A lot of the big money is in large retail operations, such as HMV, The Beer Store, Winners, etc - these are large companies with hundreds of locations and a national or sometimes international scope, and they like to have standardized signage programs that they can use in all of their locations. However, the sign making industry consists of a lot of small and medium local producers. If you've ever had to get business cards printed (I'm just starting a company - I'm dealing with that right now) you'll know that a city like Toronto has dozens if not hundreds of printing places, from Kinko's and two people with a laser printer in their garage to much larger shops with back warehouses full of large loud machines. The sign industry is like that, too. Every city or town has an entire ecosystem of custom woodworkers, graphic artists, large-format printers, metal and plastic cutters, project managers, brokers, installers, electricians, lighting specialists, etc. Figuring out who makes what and where can be a full-time job.


This problem is made worse by how the retail companies tend to view signage. Most of these companies have whole divisions and heavy I.T. infrastructure devoted to getting their retail product (DVDs, clothes, beer, etc.) from their suppliers to a network of warehouses and out to their hundreds of retail operations across the country or world. However, if someone drives their fist (or car!) through the front window of one of their shops (if you have 400+ locations, this can happen somewhere as often as once a week) and new 'we take VISA and here are our opening hours' window decals need to be reordered ASAP, this is usually assigned to the already-overworked 'promotions coordinator' at head office.

Actual product is the key revenue source for these companies, and there can be millions of dollars worth of it on the road at any given time. On the other hand, replacing broken or worn signs, or making sure a new location has all of the display elements it needs, is a cost, and not a very big one for these kinds of companies. However, signs still need to be made, shipped, and installed quickly and accurately.

What usually happens is that this already overworked office employee has to collate faxes, emails, and phone calls from the various store managers, and then coordinate with warehouse staff to see if any replacements are still in stock somewhere, and a network of producers if new stuff needs to be made, and then track the production, shipping, and installation of these things - usually by building a lot of complicated spreadsheets and emailing them around.

The Store Ordering System is designed to make this person's job a lot easier.


I'm going to give a quick demo of what the S.O.S. does - but since this is the TSOT Ruby/Rails Presentation night, I want to make a quick digression on Ruby and Rails. The S.O.S. is built entirely in Ruby on Rails (with PostgreSQL underneath, if you want to know). While commercial applications like Twitter have a large volume of small simple elements and relatively simple logic, business applications like the S.O.S. have smaller user volume, but more complicated objects and logic. The elegance and cleanness of Ruby and Rails really help manage this complexity, and make the application code much easier to write, read, and maintain.

(I then gave a quick demo of some parts of the S.O.S. and discussed some programming techniques that I've found useful in building the application. More detailed descriptions of the S.O.S. will be appearing on this site soon, and I'll be covering the programming techniques in the next few blog posts.)

Other Blog Posts
This Is Nowhere: Bloomsday Halifax This Is Nowhere: Why an HTML/JavaScript Single-Page App With GPS Is A Bad Idea This Is Nowhere: GPS and Wayfinding and More UX This Is Nowhere: The Single-Button UX This Is Nowhere: Don’t Just Stand There! This Is Nowhere: Finding My Duck Finding Burgers Fast: My DIY Halifax Burger Week Site "This is Nowhere" at PodCamp Halifax 2018 The Diary Diaries: Fixing Remembary's Facebook Connection Special Leap Day Edition of "Some Weird Things About Time" What's Up With Remembary Can't get pg_dump To Work Now That Heroku Has Upgraded Postgresql to 9.4? The Best Thing I Ever Did To Promote My App If You Build It, They WON'T Come #deployaday, My Big Hairy Plan for 2015 Extracting Plain Text from an NSAttributedString My Year of "Hits" Part 2: Remembary Rolling My Year of "Hits" Part 1: Remembary Rises (and Stumbles) Handy Little Test Method to Check for Translations in Rails Apps My Suddenly Slow-Waking MacBook Air Indie App PR: Keeping Control of Your Tone A Quick Note on 'clone' in Rails 3.2 My eBook Apps 2: iOS, JavaScript, and Ruby My eBook Apps 1: Introduction Quick Tip: No Sound on Mountain Lion My Upcoming Talk at PodcampHFX 2012: My Year of "Hits" starshipsstarthere.ca: Building at the Speed of Funny Screencast Tips Remembary's Cool New Picture Support Indie App PR 2: Keeping On Top Of User Feedback Indie App PR 1: How to Handle an App Disaster Giles Bowkett Diary Project 2 Remembary Video Congratulations! Welcome to Your Nightmare! How My iPad App Remembary Took Off Why You Should Have an App in the App Store (Even If You Probably Won't Make Any Money) PodCampHFX Remembary Presentation - Part 3 How I Used MailChimp Autoresponders to Promote Remembary PodCampHFX Remembary Presentation Part 2 PodCampHFX Remembary Presentation Part 1 Why AdWords Ads Don't Work for iPad Apps Remembary is Sponsoring PodcampHFX Why Can't I Resize my Views in Interface Builder? Momento and Remembary Concerning Remembary iPad-Friendly eBooks of Gracian's Art of Worldly Wisdom Project Report: PTOS2 A Quick Note on Encryption We're all LUsers Thoughts on HAML Friday Afternoon Hack - Getting Beyond the Basics Halifax Friday Hack and Back to Basics Quote from Wil Shipley FutureRuby Make Web Not War Busy Week I: Toronto Ruby Job Fair Employment.nil - the Toronto Ruby Job Fair Code Count: Ruby on Rails vs. C#/ASP.NET A Brief Note on Twitter The Hub Halifax and Mobile Tech for Social Change Deep Thoughts on Microsoft From The Accordion Guy The Two Kinds of Defensive Programming Presentation - Fixing Careerious: From C#/.NET to Ruby on Rails Enterprise! Presenting at Ruby on Rails Project Night - May 7th New Name and New Look for Careerious/Clearfit FutureRuby and More From Unspace Health Tips for Programmers This tables meme won't die Careerious - Ruby and Rails vs. C#/.NET Yeah I Use Tables For Layout, So Sue Me The Different Kinds of Done Giles Bowkett's RubyFringe presentation OfficeTime: Great Time-Tracking App for OS X Back With A New Look Non-DRY Feed torontorb Keeping Your Sanity With The Command Design Pattern shindigital Is All Grown Up! (according to the spambots) Startup Stars? I'm so bored! The Magic Words for RMagick Jennifer from Operations You see? Naming is HARD Business Software as Process Documentation Deployment note: 'execve failed' Steve Jobs on Market Research Why Canada Is Better for Entrepreneurs "Program first and blog second" Toronto Tech Collage The MacBook Air Is A Roadster RubyFringe! Quote of the Week: Steve Yegge Starting Up: Cards Great design tool: browsershots.org Starting Up: The Logo Quotes Of The Day: Hedge Fund Interview TSOT Ruby / Rails Presentation Night - Part 1 Moneyworks: Accounting Software for Canadians on OS X Starting Up: The Name Nice logo, but why is your site so bland? Welcome to shindigital.com