The IDE: “Mix” 
What and Why
Problem 
Writing software is hard, but... 
We have processes (e.g. Kanban, Unit testing) 
We have services (e.g. Github) 
We have technology (e.g. Git, debuggers)
Problem 
Writing ÐApps is hard. 
Diverse debugging env (eth, shh, bzz, more?) 
Different languages (Solidity, JS, …)
What’s Happening?
What’s Happening 
The many protocols 
Ethereum 
...need to debug with blockchain in specific state 
Whisper 
...need to debug with Whisper having particular messages available 
Swarm 
...need to debug with Swarm having particular data available
Solution? 
Integration, integration, integration!
Documentation 
integration 
... for as-you-write documentation health 
and preview
Test integration 
...for as-you-write information on tests passed and reasons for failures
Compiler integration 
...for as-you-write information on code 
health, valid invariants, code structure 
and canonical code formatting 
Debugger integration 
...for as-you-debug annotation on 
variable values and assertion truth 
.
State integration 
...allow testing and debugging with arbitrary 
State(s)/Blockchain(s) 
Transaction integration 
...for testing & debugging particular method 
combinations 
Blockchain/Swarm 
integration 
...one-step deploy
Git integration 
...for TODOs, undo stack, time management 
Contract repo integration 
...for external contract usage and documentation rendering
Github repo integration 
...for file/resource management, distribution 
Github issue integration 
...for task/feature/project management, collaboration
The IDE: Mix 
What and Why 
Questions

The Ethereum ÐApp IDE: Mix

  • 1.
    The IDE: “Mix” What and Why
  • 2.
    Problem Writing softwareis hard, but... We have processes (e.g. Kanban, Unit testing) We have services (e.g. Github) We have technology (e.g. Git, debuggers)
  • 3.
    Problem Writing ÐAppsis hard. Diverse debugging env (eth, shh, bzz, more?) Different languages (Solidity, JS, …)
  • 4.
  • 5.
    What’s Happening Themany protocols Ethereum ...need to debug with blockchain in specific state Whisper ...need to debug with Whisper having particular messages available Swarm ...need to debug with Swarm having particular data available
  • 6.
  • 11.
    Documentation integration ...for as-you-write documentation health and preview
  • 12.
    Test integration ...foras-you-write information on tests passed and reasons for failures
  • 13.
    Compiler integration ...foras-you-write information on code health, valid invariants, code structure and canonical code formatting Debugger integration ...for as-you-debug annotation on variable values and assertion truth .
  • 14.
    State integration ...allowtesting and debugging with arbitrary State(s)/Blockchain(s) Transaction integration ...for testing & debugging particular method combinations Blockchain/Swarm integration ...one-step deploy
  • 15.
    Git integration ...forTODOs, undo stack, time management Contract repo integration ...for external contract usage and documentation rendering
  • 16.
    Github repo integration ...for file/resource management, distribution Github issue integration ...for task/feature/project management, collaboration
  • 17.
    The IDE: Mix What and Why Questions