What real business problems are you solving with dfinity?

Or perhaps can be solved with dfinity?

How are you interacting with real world APIs? I saw someone created a message queue to send emails by translating Motoko events out into the real world of HTTP and other protocols.

While I certainly wish I can build a Shopify, I’m more inclined to build a Shopify app that thrives, standing on the shoulders of giants as you may say. But such a system’s quite difficult currently in Motoko. Are there good solutions or upcoming solutions to interop dfx better with the internet?

Is there a testing library in the works?

3 Likes

The Internet Computer (IC) is a blockchain-based cloud computing platform. Many use cases for traditional cloud computing services are also applicable to the IC. I would estimate that online gaming has seen more enthusiasm among developers here recently, but there has been more media attention around open-internet services like LinkedUp and CanCan. I find this Reversi game to be particularity inspiring. The IC is very flexible though, and in many cases, the limits are your imagination! Checkout some projects from the Tungsten Demo Day to get inspired.

That said, and as you point out, there are limitations, such as making a direct call to an external endpoint without going through the ICQS or a similar service. Perhaps it’s best to start a different thread on why we require deterministic computation and its implications for system design and user experience. I don’t dispute the implications are significant, but many perceived handicaps turn out to be quite manageable. I stand by the design decisions we made here to optimize for security and the best possible user experience.

Some would argue that building on the shoulders of giants comes with risk. How did it workout with Zenga building Farmville and Mafia Wars on Facebook? A public cloud like the IC is uniquely capable of derisking businesses in ways that other cloud service providers are not.

Motoko is not the only language to target the IC. Any language that can compile down to WebAssembly can be made to work. I am aware of projects in AssemblyScript, C, Go, Haskell, and especially Rust. The IC would not be a general-purpose platform if it did not support general-purpose programming languages like these. Also worth mentioning that the ability to auto generate JavaScript bindings for a canister interface is a pretty nifty tool to have in the bag.

Testing should improve significantly once dfx ships with an IC replica simulator instead of the IC replica itself.

4 Likes

It would be good to explain it in the developer guide. Not ily the justification but also recommended workarounds for calling web APIs, generating strong random numbers or secrets, etc etc

3 Likes

Absolutely, I strongly agree!

2 Likes