What even is your product?

What is your product, really? What could it become? What will it never become?

What even is your product?
Photo by Barn Images / Unsplash

There's no more overloaded word in the startup lexicon than product.

I know, it just means that thing you have.  But if that's true, then it's also the same thing every other startup has, and why they, like you, have product management, product design, product marketing, and product engineers.  It's all the same, anyway, right?

Aggregating with a word might make some conversations easier: "how big is your product team?"  "what's your product strategy?", but when we're looking for product/market-fit, using the same words leaves us without boundaries to guide our thinking.  What are we building?  What is the nature of this thing?  What are the critical pieces?  What could we become?

Ask around and it starts to feel like a conspiracy.  Doesn't anybody want to use a finer word?  At last, people chime in with words like application, app, and tool.  "Great!  What do those mean?  What's the difference?" you ask.

'I mean, they're all just different kinds of products, you know?'

Naming Things

To create order out of ​chaos​ 🐙, we categorize — that belongs to Category A, this does not.

Eventually, all ​categorization fails​ — the furry, warm-blooded, webbed-foot, venomously-spurred, egg-laying platypus rears its billed head, viruses exhibit life that's not quite living, or we realize nature is a fractal — oh, there's a Thing A inside that Thing B.

But we have to start somewhere, and while I have zero (okay, maybe an inkling of) illusions of ​Linneaus​ grandeur, a taxonomy, in this case a ladder, is another tool with which to rotate our thinking, which is how we find fit.

So fine, let's do it.

The Product & Services Ladder

1. Languages & Media

At the very bottom of this ladder, languages are comprised of interpreters (either in software or humans), and compilers (always software).  Note that I don't necessarily just mean PHP, Python, JavaScript.  Shopify (!) began as a templating language called ​Liquid,​ to build ecommerce store websites.  At Summit's core is a declarative language called ​SEL​ to describe simulations that run as Python.  I also don't just mean software at this level.  Maybe at your product's core is a language like English.  Maybe your language is video.  Or audio.  In these cases, a more precise word for language might be media.

2. Development Environments

We can choose to support that language or media with a development environment, composed of at least an editor, at its simplest, a textarea or canvas, but potentially much richer.  Richer features might include a debugger, testing, syntax highlighting.  If the language is the written word, spellchecking; if audio, various mixing and cutting features; video or graphics: special effects, blends and fades, so on and so forth.

3. Service Businesses

A lot of service businesses stop here and provide the usage of 1 & 2 on behalf of their client.  This yields a lot of media-verbing businesses: video-editing, ghost-writing, code-writing (hey!).

4. Tools, Goods, and Applications

Businesses that aren't pure services continue up the ladder and use 1 & 2 to create their own tools or applications.

Both are compiled media.  Compiled means the language they are written in (source) is no longer editable by the end user.  Borrowing from Webster's, tools are compiled (you might say forged) media (materials) that people use to help them perform a task.  In that sense, tools are the things we "carry", often in a belt or kit.

Unlike tools, applications are configurable environments.  If tools are the hammer, screwdriver, or soldering iron, applications are the workbench or table with its surrounding boxes and compartments full of tools and raw materials.  Note that if your application is an IDE (interactive development environment, #2), then your application is an IDE, which you used a (possibly different) IDE to build and compile.  Open-source applications are still compiled, but the source code (#1) is available for others to compile it.

Applications may have a sharing feature where I can invite you to look at a document or creation that I am editing in the application.  Google Docs being the canonical example.

If your product is physical, you likely call this step of the hierarchy goods: a paperback book is compiled media; so is an audio stream via Spotify, to the extent the listener cannot alter the contents.

5. WYSIWYG (No Code Maker Mode)

For a while, Summit was just a visual IDE application for writing Summit Event Language.  This got us to a certain level of fit, but most people need building blocks that are more friendly than lines of written code.  Shopify could have just been a templating language for people to create their own ecommerce stores, but they wanted to give their users higher-levels of abstraction, trading finer-grained control for good-enough and faster time-to-market.  Like Wix, Webflow, Shopify, and Bubble, *cough* Dreamweaver *ahem* we added a WYSIWYG.  Often these are called drag-and-drop UI's.  Or composers.  Google Maps is an application with API's, but they added features that allow users to compose their own maps without any coding ability.  Common components for making may be encapsulated at this level as building blocks.

6. Low-Code

Counterintuitively, it doesn't make sense to mention low-code before WYSIWYG, because low-code only makes sense in the context of no-code, where low-code provides an escape hatch, or pressure release valve.  Can't make what you wish you could using our building blocks or pre-built components?  Just hop into this advanced area, power user zone and write some raw (lower-level) code.

Note this is almost never a viewport into the source code of the application itself (certain open-source IDE's excepting), but rather a way to write macros, scripts, or logic that operate on values or objects that only make sense within the context of the application.

Google Sheets and Excel are legendary low-code examples, with access to various scripting languages that can move around values, manipulate rows, access external data — it's nearly endless.

Low-code may also be used to allow the user to create their own re-usable building blocks.  Don't like the paintbrush sets available?  Define your own!  Would you like a custom report?  Describe it here using markdown or some sort of scheme.

7. Platforms & Apps

At this point, the user of an application, which may or may not have a WYSIWYG layered on top, has created something, using the application, that they want to use, at least for themselves.  Maybe they built a map to plan their trip.  Maybe they built a spreadsheet to manage their finances.  Perhaps it's a very large logo to make their pointy-haired boss happy.

If they can save a file, or extract the asset from the application and be done, the story ends.  They may choose to view or edit that asset, report, or file in another application (csv downloads being a common example).

If, however, they can click Publish, Deploy, or Share, the application is effectively a platform.  Platforms like Facebook are a way for users to publish content (compiled media, language) for others on their social network to consume through a platform-controlled feed.  Github is platform for hosting code (shared), with features for deploying that code to hosting platforms (to run the applications described by your language/code/software).

If the platform is used to create interactive, compiled (closed-source) components that can be used, but not edited by end users, the output of the platform may be called apps (but not "applications"!).  Retool is a platform for creating apps for use by internal teams.  Summit is a low-code platform for creating external, public apps like calculators.

8.  Networks

If you have a platform and you connect users across various organizations (or individuals in a B2C context), it can become a network, rails for people to share the things with each other in a common space, like a feed, wall, or stream.

9.  Marketplaces

If users can transact or trade over this network, and your platform provides the place for them to post and publish, then you have a marketplace.

Marketplaces often get bolted on to platforms (theme marketplaces for blogging platforms, for ex).

Phew.

All Together Now

Apple developers provide a service to Apple by using the C programming language in their development environments to compile an application called Xcode, which is itself an IDE for other developers to build apps using a language called Swift.  Those apps are published to an app platform creatively called the App Store.  That app store is a marketplace for anyone on the network of iPhone users to buy and download apps.

Some of those apps are just tools.  Others provide access to other networks and platforms.  On the iPad, some apps are large enough, and the screen is large enough, to be considered applications.

Turtles all the way down.  And up.  And down again.

Starts crying.

But why?

The purpose of this ladder isn't to be The Truth, but to help you ask yourself where your product sits.

What is it?  What could it become?  What will it never become?

Summit found fit by moving from being an application down to being a language (we needed to give our users ​more flexibility​ 🐙), then to being an application with a WYSIWYG and at last, a low-code app platform.

Does it make me tired just saying that out loud? Yes.

But the sweet success you're looking for may just be a rung — or two away.