Developer Experience (DX) and the Internet Computer

DFINITY
DFINITY
Sep 17 · 7 min read

How equipping people to intuitively develop apps and services for a global public computer will help democratize software engineering.

Image for post
Image for post

Enabling third-party developers to efficiently create and deploy software is a top priority for us at DFINITY, as we work toward enhancing the creative capacity of the web by launching the Internet Computer — an open platform where software runs directly on the internet rather than on proprietary infrastructure. Developer Experience, or DX, is a matter of focusing on the needs of developers in the way that UX prioritizes the perspective of a product’s users. With that in mind, our DX team is constantly assessing the development workflow to make improvements and eliminate pain points.

Effective DX design provides a seamless experience for programmers as they use SDKs, APIs, libraries, frameworks, and other resources to build on a given platform. It increases productivity by focusing on functionality, dependability, and accessibility. If designed successfully, the DX makes it as intuitive as possible for developers to build innovative products and services.

Read more: These Videos Teach the Basics of Building on the Internet Computer

Our DX team provides tools, languages, documentation, apps that demonstrate what can be deployed on the Internet Computer, and forums where we talk with developers and understand what their problems are so that we can help solve them. Listening to and engaging with the community is an important part of what we do.

The Internet Computer’s DX is always growing and expanding, but it’s currently segmented into the following key areas:

Tools

  • DFINITY Canister SDK: A software development kit that developers can use to create applications for the Internet Computer.

Languages

  • Motoko: A programming language specifically designed to support the unique features of the Internet Computer and to provide a familiar yet robust programming environment.

Guidance

  • Developer Forum: A friendly discussion board where developers can ask questions and explore topics of interest.

Sample Apps

  • Sample App Repo: Simple example apps in Motoko.

Human creativity unlocks the full potential of technology

In a way, DX is about nudging the users of a new technology toward an imaginative vision of its potential, which is limited only by old ways of thinking.

Read more: How Software Developers Build Better on the Internet Computer

When film made it possible to record visual scenes, for example, among the first creative uses was to shoot theatrical shorts from a static perspective toward a stage, as though viewing a play. Although it now seems basic, this initial democratization of theater was undoubtedly groundbreaking. But it was when people began moving the camera and manipulating film that the ingenuity of techniques such as close-ups, panning, and dynamic editing truly produced the new medium of cinema.

Image for post
Image for post
Exhibit A: The technology adoption curve.

Geoffrey Moore’s concept of “crossing the chasm” in the technology adoption lifecycle describes the adoption of new technology by defined groups. The most difficult chasm to bridge in the different stages of the lifecycle is between early adopters of a product (“visionaries”) and the first mainstream users (“pragmatists”).

Image for post
Image for post
Exhibit B: Twitter mapped along the technology adoption curve.

For example, when Oprah Winfrey joined Twitter during a live taping in 2009, the platform gained between 500,000 and 1,500,000 followers in the following days. That’s post-chasm. But Twitter’s success was really propelled by its visionary community, which organically introduced so many of the features (like retweets, hashtags, and @-mentions) that were adopted into the product.

This creative momentum, combined with a trusted public figure like Oprah joining Twitter, paved the way for mainstream adoption of the platform.

In pursuit of the killer app

Image for post
Image for post
Exhibit C: The evolution of the Palm Pilot to different versions of the iPhone.

Another way to cross the chasm is through the success of a clear “killer app” on a new platform, defined as an innovative, useful product that proves the core value of a larger technology.

Today, the Palm Pilot is remembered as a predecessor to modern smartphones; the through line to the ubiquity of the iPhone almost seems obvious in retrospect. But the original iPhone launched to mixed reviews when it debuted in 2007. CNET lamented the iPhone’s lack of “talk” and “end” buttons for calls, and complained that switching between interfaces was “wearisome.” TechCrunch eviscerated the iPhone, saying that the virtual keyboard was “about as useful for tapping out emails and text messages as a rotary phone.” “The iPhone is nothing more than a luxury bauble that will appeal to a few gadget freaks,” opined Bloomberg.

This reception didn’t recognize the iPhone as a new platform. As the iPhone evolved and third-party apps were introduced, its success was made possible by the trifecta of data connectivity, portability, and geolocation services that it offered new products. The advent of mobile social media, rideshare services, and the like created a wave of killer apps that forever changed our view of phones and the ways that we interact with one another.

Image for post
Image for post
Exhibit D: The evolution of decentralized apps from CryptoKitties to CanCan to an unknown app to email.

A similar paradigmatic shift is taking place right now, with decentralized technologies evolving in response to the increasing consolidation and corporatization of the internet. In the context of the technology adoption curve, no blockchain platform or application has yet truly crossed the chasm. The industry is still being pioneered by early adopters of this new paradigm.

Read more: Rebooting the Internet: Andreessen Horowitz’s Chris Dixon on the Decentralized Web

The initial use cases for a new platform may seem trivial and even frivolous, but this doesn’t invalidate its real potential. For example, CryptoKitties, an app built for the purchase and collection of digital cats, was one of the most popular initial apps for Ethereum, becoming so popular that it accounted for 12 percent of all transactions on the Ethereum network and caused significant congestion.

From a technological point of view, the early and mature manifestations of a new technological paradigm are easy to define. Helping to actualize the rapid development and adoption of decentralized ecosystems takes both vision and momentum — and creating a seamless DX is crucial to making this happen.

DX and democratization

We aim to make it as easy and intuitive as possible for people to create on the Internet Computer. If we want to decentralize power and technology, we must ensure that everyone can contribute to this future, including people who don’t already think of themselves as developers.

We’re getting rid of the gatekeepers and lowering the bars to entry. With the Internet Computer, you can create software canisters as easily as you can tweet. The democratization of software engineering is well within reach.

Restoring the internet to its free and open roots will be impossible without the intellectual curiosity and contributions of developers around the world. We want to hear your feedback on how we can provide an optimal DX — and we look forward to ushering in a more equitable era of the internet with you.

Register for access to the Internet Computer’s Sodium Developer Network at dfinity.org/sodium.

Join our developer community and start building at forum.dfinity.org.

The Internet Computer Review

A DFINITY Foundation Resource

DFINITY

Written by

DFINITY

The Internet Computer is a revolutionary blockchain hosting unlimited data and computation “on-chain.” Easily build scalable dapps, DeFi, websites, and more.

The Internet Computer Review

A DFINITY Foundation Resource

DFINITY

Written by

DFINITY

The Internet Computer is a revolutionary blockchain hosting unlimited data and computation “on-chain.” Easily build scalable dapps, DeFi, websites, and more.

The Internet Computer Review

A DFINITY Foundation Resource

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store