Building the Social Web: the Layers of the Smartup Stack
By Jeff Sayre
<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, data portability, and rights), 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. 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. They are socially transformative ecosystems.
The power that a corps of ecosystem partners can bring to your smartup’s success cannot be emphasized enough.
The layers of the smartup stack embrace the uniqueness of each smartup while recognizing the interconnectedness of the greater community. In this regard, 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. This mindset requires a broader view of your smartup’s role in society. A smartup’s ultimate goal is to create greater value than is captured.
No matter the grand vision of a given smartup, all smartups share the same DNA at their foundation. They are tech-reliant, Internet-obligate companies. If you need some convincing of this fact, please see my article, Putting the Tech Back into Social Web.
The Layers of the Smartup Stack
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.
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 were 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 one reason (among many) why your smartup must have in-house technological expertise from the start.
As mentioned above, smartup’s do not build software, they create ecosystems. They recognize that there is great benefit to being linked to and interdependent upon others in a larger system. As many of the system services are outside of a 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 in order to embrace an ecosystem approach.
The Inner most Layer: the Technology Platform
As mentioned above, technology is at the very core of every Internet-obligate smartup. The center of the smartup stack, then, is the technology platform. There are four pieces that comprise the technology platform. As previous 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
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.
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. This is why the ultimate goal of each smartup should be to create more value than is extracted from the ecosystem.
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.
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
</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.