Building the Social Web: the Layers of the Smartup Stack
<Smartups Series Part 5 of 5>
As a Social Web architect and an open source advocate I frequently write, think, and promote the notion and ideals of the Open and Social Web. My work in the areas of user-centric control (identity, privacy, rights, data portability), federated Social Web models, future-of-money projects, and W3C standards groups has shaped my views presented here.
Soon after publishing my 4-part smartup series (almost a year ago), I began to think about key parts of what has become this article. I've had bits and pieces of this article jotted down in various places. Over the past three months, the ideas have coalesced into a cohesive framework. With a recent and lengthy process of helping a potential smartup try to find its foundation, I've been motivated to assemble, clarify, and share my views on what I call the layers of the smartup stack.
If you've carefully read my previous installments in my smartup series you will have discovered–in part–the message that is expressed here. However, in my previous articles, the message was buried in lengthy verbiage, charts, and indirect references. This next installment in the series seeks to clearly present the framework of the smartup stack.
Smartups are Socially Transformative
Smartups look to operate beyond the stale disruptive technology mantra; the smartup vision is not simply a paradigm shift. Instead, smartups are best described as innovating at the intersection of technical, social, and cultural evolution. As such, well thought-out and executed smartups are revolutionary entities.
One key differentiator between a startup and a smartup is that smartups recognize they are tech startups with a Social Web Engine. Nonetheless, smartups cannot divorce themselves from the primacy of their foundational technology.
The layers of the smartup stack embrace the uniqueness of each smartup while recognizing the interconnectedness of the greater community. No matter the grand vision of a given smartup, all smartups share the same DNA at their foundation. They are tech-reliant, Internet-based companies. To drive home this point, I must share some observations before getting into the details of the smartup stack.
If it Quacks Like a Duck
Before we explore the layers of the smartup stack in depth, I first want to address an odd trend–although it's not yet clear if this actually is a trend. Over the past several months, I've heard similar statements from several unrelated Internet startups—the notion that they are not tech startups.
Instead of thinking of themselves as tech startups, they believe they have a higher-calling, claiming to be some flavor of socially-focused company. This may be the result of more and more non-tech-oriented business people forming Internet-based startups, but whatever the cause, in my opinion, it must be nipped in the bud.
Now if I had heard that sentiment from two unrelated parties, I would not think much about it. But hearing that statement from several unrelated parties has made me pause and think.
Were Facebook and Twitter tech startups? Of course. Were they also social startups? Yes to that question as well. At the early stages of your smartup, don't get too bogged down in mission semantics. Whatever label you wish to slap onto your smartup, whatever moniker gives you that warm fuzzy feeling, if you are building a platform that requires the Web-based or Mobile-based Internet–especially one that requires a big-data approach–then your smartup by its very nature is a tech-dependent company at its rock-bottom core.
Smartups are greater than the sum of their technologies. As we explore each additional layer of the smartup stack, greater emphasis is placed on the social, economic, and cultural frameworks.
Since smartups can often be classified as Social Web startups as well, the reliance on Internet technologies is even greater. What does this mean? It's essential that your smartup's engine properly models, captures, facilities, and manages vast amounts of social interaction. That's accomplished in large part via your chosen and developed technologies.
This is one of the key differentiators between a startup and a smartup. Whereas a startup might not transcend its technology, a smartup recognizes that it is a tech startup plus a Social Web Engine. Social is built into the smartup stack. But even so, a smartup cannot divorce itself from the primacy of its foundational technology.
An Internet startup is tech at its core. Your smartup is also tech at its core. However else you fancy seeing it, and irregardless of how you envision its future, all other facets of your smartup are either layers on top of or pieces integrated into the core tech platform.
This is the message of this article. Without its defining core technologies, your smartup cannot be anymore than vaporware or an ephemeral dream. Without its defining core technologies, your smartup cannot become an engine of social change.
The Rise of the Data Civilization
In the conclusion of Stephen Wolfram's excellent article entitled Advance of the Data Civilization: A Timeline, he states that the "systematization of data and knowledge provides core infrastructure for the world." Technologies have evolved over time, increasing the rate of collection, processing, and dissemination of that data to help turn them into knowledge.
To our globally-connected and insatiably data-hungry community, in my view, the Internet is perhaps the most relevant class of innovation. The Internet is becoming not only the preferred repository of most of our data but also the accelerator of the systematization of data and knowledge that Wolfram discusses. Our civilization is more dependent on data today than ever before—and that dependence will continue to increase.
As humanity races toward the Internet of Things, data–and lots of it (big data)–will be a fundamental supporting sublayer to our everyday lives. The Internet is becoming the platform on which our society, culture, and economy depends. The Internet is an essential partner in much of our current and future innovations. Don't discount the importance of the Internet and its underlying technologies. Technology is at the core of our society's future and your smartup's success.
Technology as Platform, Engine, and Change Agent
All Internet-obligate companies have some type of a vision and mission, usually backed by a set of closely-held ideals that flavor their implementation of that vision. Whatever that vision may be, the fundamental foundation of any smartup is its technological platform. And as you will see in this article, the platform does encompass more than just core code technology.
The technological platform is the center of, the innermost layer, of the smartup stack. Why is this the case? Because technology is the enabler of the wonderful and fantastic vision your smartup has for the world. Your smartup plans to leverage the power, reach, and socially-transmutational forces of the Internet. To do so requires that you envelope your vision with those technologies that can help bring your vision to fruition.
Whereas it is fabulous that you want to change the world, your Internet-obligate company mandates a technological base. Make sure that base is as strong as it can be. Architect it properly and build it correctly from the start.
Don't let some branding game cloud your judgement about the key components to your smartup's future. Remember that your company is at the startup stage. It is not at the growth to maturity stage. You are building the foundation of your vision—a vision that should indisputably be much greater than its technological underpinnings and will be if you do it right. But in order to get to that next stage, you need to come to terms with the seeds of your humble beginnings. There will be plenty of time to expand your focus, to embrace your greater ideals.
Whereas technology is at the center of the smartup stack, you will see in this article that smartups are greater than the sum of their technologies. As we explore each additional layer of the smartup stack, the focus shifts more and more to the outside. Greater emphasis is placed on the social, economic, and cultural frameworks. This will help integrate your vision into the real world. It will help bridge your metaspace creations with their meatspace participants.
A Story About Placing Too Low a Value on Tech
In its earliest stages, a smartup needs technical vision, leadership, and a strong, core smartup engineering team. This cannot be achieved via consultants or outside help. The expertise must be internal to your smartup.
To be a successful smartup, you cannot settle for substandard design or mediocre construction, thinking that you can always retrofit, remodel, or augment your technological platform later. Although you can find stories of companies who did just that, they are the exception and not the norm. They should not be deemed as the virtuous model—unless your goals are slanted toward quick profits and you place a lower value on your user community.
To defend this point, I'll share with you the story of my brother. As a successful sales executive with a number of large telecom-focused companies, he shifted his sights to working with Internet startups. In his last two positions, the startups he was helping placed too low of a value on the importance of technology. One of them used off-shore, overseas help, the other used in-country contract help. The end results were the same.
Within a year or two of joining, both of these startups were in trouble primarily as a result of their failure to understand the fundamental importance of having high-quality, in-house technical expertise. The first startup was a failure as the quality of the product did not meet the requirements of the vision and the time to execute was too slow. The second was also a failure, even though they contracted local, in-country help from those who were considered experts in their field.
The reasons for failure might seem different in each of the above scenarios, but the heart of the problem is simple. Neither of the startups had an internal technical founder. Neither of the startups had a high-value, internal engineering team.
Why is this important? Only an internal, skilled technical team can fully appreciate the startup's vision. Only an internal, skilled technical team can fully understand which technologies need to be leveraged. A technical founder also has a broader understanding of the business climate, and is fully aligned with the company's vision, having helped craft it from the start. Outside technical help will never have the passion, drive, determination, motivation, and vested interest–both emotionally and financially–in seeing a startup's vision to fruition.
Another crucial reason to have a technical founder? With technology advancing at an accelerating rate, it's not practical to think that hiring outside consultants to keep you abreast of the constantly-changing competitive landscape with respect to your technology will ever be effective. You need someone internal to your team whose job it is to not only understand this changing competitive landscape, but also be able to adeptly leverage new innovations to forward your vision.
If your approach to building your company's tech platform is to contract out-of-company services–via cheap overseas code-cutting sweatshops, in-country consulting companies, or work-for-hire programmers–then you fail to comprehend the intrinsic value that technology plays in your success. Your approach is flawed and living in the past. It is a Web 1.0 and Web 2.0 attitude.
This approach, while often viewed by non-tech founders as an innovative, out-of-the-box solution to tight budgetary constraints, can often be a myopic, closed-minded attitude that is penny wise and pound foolish. The return on investment received by leveraging a seemingly less expensive technological approach upfront is often many orders of magnitude lower than that gained via properly utilizing higher-quality, in-house technical expertise.
The let's-use-cheap-programming-sources attitude is analogous to eating white bread versus wholegrain organic bread. Whereas consuming white bread may seem prudent as it costs you a lot less up front, you may end up paying for that mistake many times over down the road. It can literally be a fatal error in consumptive judgement.
A smartup realizes that it needs to invest its resources wisely. Although a calorie is a calorie–and a dollar is a dollar–the form in which you choose to ingest your calories is essential to good health. Don't setup your smartup for an early demise by allowing it to ingest poor-quality platform design and code execution.
As my bother's story reveals, startups that seek to economize on tech investment upfront are in for a nasty surprise. His story with these two startups is not unique. The odds of that are statistically insignificant. His experience is a powerful lesson and a salient warning. You get what you pay for.
Investing in talent is like investing in the stock market. If you make investment decisions primarily based on the face value (market value) of a given equity, you'll miss great opportunities. What you pay up front is not what matters. What you get in return for any investment should be your primary consideration and concern.
Whereas it is fabulous that you want to change the world, your Internet-obligate company mandates a technological base. Make sure that base is as strong as it can be. Architect it properly and build it correctly from the start.
Remember this one point if you fail to process anything else from this story. Programmers are a dime a dozen, good programmers cost more, but finding the talent capable of executing a bold, visionary idea is difficult. A smartup developer can never be outsourced.
I implore you, at your smartup's inception, do not relegate technology to a lesser position. Building a smartup requires focusing on the proper priorities in the proper sequence. While there will come a time when it is prudent to shift more focus to higher-level layers within the smartup stack, the technological platform has the highest priority in stage one.
The Layers of the Smartup Stack
With a clear understanding of the key role that technology plays in all smartups, we can now explore each layer of the smartup stack. Layers can connote horizontal levels upon which other material is placed or stacked. But in the view presented here, layers are rings that surround and bind to any lower and higher concentric-ring partners.
It is practically impossible to singularly architect and build each of the smartup layers without regard to their immediately contiguous layers. However, I will present each layer as if it was a well-defined and self-sufficient entity. The reality is that at all stages of building out your smartup stack, the interconnections to and interdependencies on other layers (inner and outer) must be carefully explored and considered. This is yet another reason why your smartup must have in-house technological expertise from the start.
Smartup's do not build software. Smartup's create ecosystems. Like an ecological food web, your smartup can be viewed as an organism that is linked to and interdependent upon other organisms and system services. Many of these services are outside your smartup's immediate control. A smartup must architect its ecosystem to work in symbiotic harmony with the greater Web community.
To that end, a smartup leverages and relies upon open source tools and open Web standards. As we will discuss in the section about the outermost smartup stack layer, smartups also give back to the Open Web movement as best they can.
The Inner most Layer: the Technology Platform
As we've already spent considerable time above driving home the message that technology is at the very core of every Internet-obligate smartup, it should come as no surprise that the center of the smartup stack is the technology platform. There are four pieces that comprise the technology platform. As pervious smartup articles discuss two of these pieces in depth, I will not present much additional detail about them.
Each piece of the tech platform layer relies on Open Source tools and standards where ever possible. Although a smartup creates its own technology in aggregate, it leverages code libraries, tools, and standards to help make the process of building out their platform quick and efficient.
At this stage you will be proportioning your smartup's time between product iteration (which means more coding), marketing your MVP, and customer development. Although you must find the proper balance between these three activities, the primary focus of this process is on building out your smartup's foundational technology platform.
Here are the four pieces of the tech platform:
Schemaless Backend
Semantic Web / LOD Stack
Responsive Codebase
Modern Web Standards
Schemaless Backend
I've written an entire smartup article on the virtues of NOSQL versus SQL, so I will not repeat anything here except to say that some smartups may need to use an RDBMS as well for part of their overall data warehousing needs. The main point is that smartups are big-data players and as such they need to utilize the best technology for modeling, capturing, and managing that data. NOSQL databases are, by and large, the preferred choice.
Semantic Web / LOD Stack
I've also written an entire smartup article on the Web of Data. Suffice it to say that Semantic Web technologies, which some prefer to refer to as Linked Data technologies, enable the linking of data and allows for the serendipitous discovery of new connections with other datasets.
Smartups understand the value of and participate in the Web of Data. Smartups realize that data is the unit of exchange on the Web, not documents. Instead of Hyperlinks being the engine of exchange, it is Hyperdata. Data is the energy, the food, exchanged between participants in the Social Web. Semantic Web technologies facilitate the flow of information between "habitats", between communities.
Responsive Codebase
This is the most generic-sounding piece in the tech platform layer. I will not delve too much into this piece of the tech platform layer as it deserves its own full-length article (perhaps the sixth installment in my smartup series).
There is not one preferred or recommended framework, language construct, or codebase that all smartups use. Different smartups use different code-creating tools. They pick those that they are most comfortable with and that serve their particular tech needs. However, there are some clear trends and, therefore, advice that can be offered to each smartup.
The broadest bit of advice is that Internet-coding technologies are evolving to catch up with and meet the needs of a more data-intensive world. Although a smartup CTO should use tools with which he or she feels comfortable, that does not mean that they can be complacent, that they should not spend time exploring and learning some of the newer options.
For instance, a smartup will choose an object-oriented coding style versus a procedural-coding style. But that does not mean that all smartups have to code in PHP, Python, or Ruby. There are some promising, new, convention-breaking language platforms that are the current rage in the Web dev world. One of these is NodeJS—a highly-scalable, high-concurrency, event-driven framework.
Another major smartup trend that epitomizes the Responsive Codebase mantra is moving as much of the processing away from the server side as possible (Web-1.0 and 2.0s thick-server approach). The focus is on creating what are referred to as fat- or thick-client applications. In other words, the browser or mobile device handles considerable more of the processing, relying a lot less on the server.
Another trend is the use of light-weight code libraries. When properly utilized, they allow a smartup to react more quickly and be nimble in their coding practices. As an example, one light-weight code library that my newest smartup uses is JSON-LD. It brilliantly facilitates cross-piece integration and as such can be categorized as falling into both pieces two and three in the tech platform layer.
A final smartup trend is preferred data formats. According to a recent report, 55 percent of all new APIs have support for JSON and a staggering 20 percent of new APIs support only JSON. This demonstrates the quickly-growing trend of utilizing JSON as a preferred data format (see slides 22 & 23). It also indicates that for data interchange, the reliance on XML is fading fast.
Modern Web Standards
Smartups support, adopt, and utilize Web standards. HTML5 and CSS3 are currently among the two most important Web standards. There are of course other standards, whose utility will vary among smartups, but these two should be utilized by all smartups.
The Second Layer: User-control and Economic Engine
The next layer of the smartup stack contains two sublayers that interconnect via their direct connections with the technology platform. Once again, this illustrates the importance of the technology platform as being a fundamental, foundational layer to all smartups.
These two sublayers are:
User-centric Rights & Control
Future-looking Economic Engine
User-centric Rights & Control
As I have written much about user-centric control over identity, privacy, usage rights, and data portability in the past, I will gloss over most of the details. If you're interested in learning more about my viewpoints on these topics, simply search my website.
All smartups believe in and understand the importance of returning as much control over data as possible back to the users. They realize that it not only makes sense from the standpoint of being good social stewards, but also it makes good business sense as well.
With support from the smartup's tech platform, users have significant power over each piece of data that they contribute, that they generate. Further support for users' rights and control can be provided through novel, user-friendly legal contracts.
Future-looking Economic Engine
I've been interested in future-of-money projects and theories for sometime—particularly in how technology, specifically Internet tech, is leading to a revolution in how value is exchanged. This is why I am a charter member of the newly-announced W3C Web Payments Standards Community Group.
I believe that new micropayment frameworks and economic models are essential to not only the healthy growth and long-term viability of a truly Social Web, but also to our greater global society. The future of money and of economic self reliance rests in the emergent properties of the social-driven superorganism. Centrally-controlled currencies will eventually give rise to decentralized currencies and instead of tightly controlled and regulated markets, self-regulation via distributed command and control processes will become the norm.
Smartups are on the bleeding edge of this economic revolution. Smartups thus play an important part in helping to push new payment frameworks and economic models. They are intimately involved in evolving economic models and understanding the need for a universal payment mechanism for the Web—a mechanism that will facilitate the proliferation of alternative currencies, friction-less payments, crowdfunding, and general value exchange.
One payment framework that my smartup will be leveraging is PaySwarm. It is described as, "an open standard that enables web browsers and web devices to perform micropayments and copyright-aware, peer-to-peer digital media distribution." I believe that PaySwarm can become one of the central pillars to any smartup's future-looking economic engine.
The Third Layer: the Smartup Social Engine
This layer integrates with the innermost two layers of the smartup stack. The focus is more on the user interface (UI) and the user experience (UX).
When combined with the first two layers, this layer comprises what can best be described as the Smartup's Social Engine. It is the internal platform that contains any intellectual property (IP). It is the fully-functioning application that provides the smartup's unique product and service offering.
Although basic UI/UX considerations were made during the initial MVP testing, proving, and refinement phase, it was a Lean UI and Lean UX process. The Social Engine Layer is where a smartup spends considerable time perfecting its full-blown UI and UX. Issues such as tight integration with the the User-centric Rights & Control and Future-looking Economic Engine sublayers are addressed. Issues with proper social interaction flow are addressed.
At this level in the smartup stack, the focus begins to shift more toward the outside, toward the physical usage of the service, and not its technical underpinnings. Toward that end, pathways with which others can interact, integrate, and extend the smartups services are developed and engineered. These become the domain of the next layer.
The Fourth Layer: Outward-facing Connections
A key vision of the smartup model is to encourage and enable outside parties–3rd-party developers and other smartups–to contribute to and expand upon your smartup's vision. To bring that goal to fruition, a smartup makes anywhere from one to three of the following sublayers available to outside parties. How many sublayers are offered depends on the type of smartup and its overall needs and vision.
The three possible sublayers of the fourth smartup stack layer are:
Smartup API Access
Smartup Open Source SDK
Smartup Standards Group
Smartup API Access
By and large, the vast majority of smartups publish a set of APIs that allow outside parties select access to their datasets. As discussed in the final layer section below, the use of APIs by outside parties can be a major catalyst in a smartup's growth and success.
Smartup Open Source SDK
The Software Development Kit (SDK) sublayer is more accurately termed an Application Development Kit (ADK) sublayer. The notion behind this sublayer is that there are core codebase modules that may very well be primed for open sourcing. We will see below in the discussion of the final layer of the smartup stack why open sourcing some (or all) of your smartup's codebase can significantly accelerate the development and evolution of your platform.
Smartup Standards Group
This sublayer is the least-frequently encountered sublayer in the smartup world. The purpose of this sublayer is to standardize key pieces of a smartup's platform.
Above, in the second layer section, I briefly mentioned PaySwarm. That is a perfect example of a smartup opening up some of its work, exposing their efforts to the open standards process. The newly-announced W3C Web Payments Standards Community Group will focus its efforts around core working technology—mainly PaySwarm.
If your smartup has key technologies that could benefit the greater Social Web by becoming a part of an open standard, then you are encouraged to offer up as much of your technology as possible to make that happen.
The Final Layer: the Smartup Ecosystem
This last layer is perhaps the most difficult one to describe in a few paragraphs. The goal is to freely offer unrelated, 3rd-party smartups and developers tools that they can leverage to help build out, evolve, and expand upon your smartup's original vision. At the same time, the access that you provide to your smartup's datasets and technology allows them to create their own paths to success. This is what I term a smartup's ecosystem.
The sublayer offerings in the fourth layer enable the creation of a motivated, loosely-organized team of volunteer coders that can and will help expand upon and evolve your technology—at least that part of your technology to which you allow 3rd-party access. The power that a corps of ecosystem partners can bring to your smartup's success cannot be emphasized enough.
As an example, think of what happened when Automattic–the original makers and copyright holders of WordPress–open sourced the codebase. This led to the eventual, very-large ecosystem of WordPress theme shops, plugin developers, and consultants. It also allowed for Automattic to gain an exceptionally cheap (as in cost) and talented labor force which it continues to use to this day to help it build out the WordPress codebase. That is one of the powers of crowd-sourced software development via open source practices.
Twitter is another great example of the virtues of creating an ecosystem. In its early days, Twitter not only welcomed, but strongly supported and encouraged 3rd-party developers and startups to help expand their ecosystem. They published a rigorous set of APIs that allowed for developers to gain access to many of the datasets Twitter captured. In return, the 3rd-party developers were able to create new features and services that augmented the Twitter experience. This led to a number of successful companies that seemed to pop up over night, swirling around the core of Twitter.
Without these ecosystem partners, Twitter may very well not have succeeded. Unfortunately, as Twitter continues to struggle with figuring out how it can monetize its success, it has cracked down on their ecosystem partners in recent months, making many of them wonder if they can trust Twitter anymore. Twitter's brilliant ecosystem strategy may be coming to a close.
Facebook was also an early creator of an ecosystem of developers. They offered limited API access, created their Open Graph ontology, and even open sourced a few of their key technologies. However, for the most part, Facebook required (and still does) that the apps of 3rd-party developers live within the siloed confines of the Facebook universe. Facebook is not a proponent of the Open Web, Open Standards, or user-centric control.
Of course, neither Automattic, Twitter, or Facebook are considered smartups. Although they do support–each to differing degrees–some level of open source involvement with their projects, they fail the smartup test with respect to many of the other smartup stack layers detailed above.
Conclusion
You don't build a startup, you build a company. Whereas the word startup is an enticing concept, it is nothing more than a brand, it connotes nothing more than the early stages of a company. Each stage has its own specific needs and foci. Smartups are no different in this regard.
As mentioned above, many Internet-based startups do not transcend their technology but smartups have a vision beyond their technology. Even so, smartups recognize that–as Internet-obligate entities–they cannot divorce themselves from their technological foundations.
A smartup first builds a strong, foundational layer of technology upon which it then layers on additional functional components. Each of these components–also called sublayers–help push the smartup closer to its vision. To fully actualize its vision a smartup must create the conditions that enable, encourage, and support a system of ecosystem partners. In unison with its ecosystem partners, a smartup works toward providing services that empower users to pursue some of their passions and fulfill some of their goals.
Past Smartup Series Articles
Part 1: Web 3.0: Powering Startups to Become Smartups
Part 2: Web 3.0 Smartups: the Social Web and the Web of Data
Part 3: Web 3.0 Smartups: Moving Beyond the Relational Database
Part 4: Web 3.0 Smartups: the New Web Business Space
</Smartups Series Part 5 of 5>
How to Get Me Involved in Your Smartup
Interested in getting me involved in your smartup? Please see my 7-by-7 rules.
Jeff Sayre's Blog
