Skip to content
This repository has been archived by the owner on Nov 18, 2023. It is now read-only.

Latest commit

 

History

History
219 lines (165 loc) · 6.71 KB

0001-introduce-desk.md

File metadata and controls

219 lines (165 loc) · 6.71 KB

(Draft) Introduce Desk: the future of coding

  • Finally I, as a founder of Hihaheho Studio, released the first demo of software called Desk. In this post, I introduce Desk.

TODOs

  • Write a description about Desk X and Desk-plugins
  • Write a clear difference between Desk-plugins and existing applications
  • Add a section about problems of current world to solve
  • Add a screenshot of Desk
  • Add a sample program of Desk-lang
  • Add a roadmap with target users
  • Add features of the first release
  • Add a section "Method" to explain how to achieve the goals.
  • "Goals" and "What's Desk" have too many technical terms. Add concrete examples.
  • Reconsider the order of sections especially "Related buzzwords" and "Stories of me and Desk".
  • Add more concrete descriptions for coined related words.
  • Add acknowledgements
  • Add planned initial release date for each Desk-plugin

TL;DR

Desk is:

  • Excel but Minecraft: a reinvention of Excel to fascinate both hackers and gamers.
  • a reinvention of Smalltalk environments including the GUI and message passing but with a functional and statically typed language.

Related buzzwords (actually I don't like buzzwords).

  • Codification (like Datafication)
  • Code-oriented (like Data-oriented)
  • HighCode (like NoCode and LowCode but fully programmable)
  • CodeVerse (like Metaverse, by Desk Verse)
  • Digital Transformation (by Desk Robot)
  • Web 2.1 (Everything is a code and hosted. Can we beat Web 3.0?)
  • Code Divide (like Digital Divide)
  • Platform as a Service (How about Code as a Service?)
  • Gamification
  • Hyper-Customization (like Hyper-Personalization)
  • Desk-Apps (like Hybrid-Apps)
  • Big Code (like Big Data)
  • DevOps
  • Digital Disruption (Yes, we'll make it!)

Related technologies

  • Written in Rust (100% safe)
  • Compiled to WebAssembly (for Web target)
  • Desk-plugins runs on Bevy Engine, a simple game engine
  • GUI is based on egui, an immediate-mode GUI library
  • Desk-craft uses Rapier, a physics engine

Goals

  • Make every software programmable
    • Make products open to users
    • Desk is embeddable in any software
  • Blur the line between living and coding
    • Make programming more easy and funny and pragmatic
    • Make top boards of people's desks into touch panel displays that run Desk

What's Desk?

Desk is:

  • A cyberpunk application platform
    • In the future, we plan to create a touch panel table top that runs Desk.
  • A coding environment for the next 100 years
    • It blurs the line between living and coding.
  • A reusable open-source software
    • It's permissive open source and consists of simple pieces of code.

Desk is not:

  • Operating System
    • It's like an operating system for a desk, but it's a bevy of reusable components. Any software can use Desk internally for any purpose!
  • Node-based or block-based and mouse-powered programming tool
    • Nodes and blocks are easy but not simple. In Desk, you touch a real AST! It embraces not only mouses but also keyboards (and we are building a new keyboard called Berry3060).
  • A pile of magic
    • It's magical, but it's not magic. Magic is constructed by a bunch of complex magic circles and spells. Unlike this, the whole Desk and every part of it are always simple!

Philosophy

To achieve the goals, we have design philosophies.

  • Intuitive like games
    • Desk X is built on a game engine.
  • Pragmatic like professional tools
    • Desk-lang is like a professional language such as python or Haskell
  • Versatile like spreadsheet
    • Desk-lang is designed for any purpose
  • Minimalist design
    • Everything is minimalistic and written in simple codes.
  • Accessible to everyone
    • We don't forget about accessibility to make programming available to everyone.

Features

TBA

Planned Desk-plugins

"(...)" shows the planned initial release date.

Desk Craft (2022 Dec)

Desk Craft is a world-changing game development tool. It's a game engine but also a game.

Desk Craft completely removes the boundary between developing and playing a game. It means:

  • in the developer view, we don't have any buttons like "▶️" in Unity. We don't need to switch the mode anymore.
  • updating a game state in a game logic is accomplished by updating the code itself.
  • releasing a game means publishing the development environment with some optimization.

Influenced by:

  • Minecraft
  • Unity
  • Photoshop
  • Roblox
  • RPG Maker
  • Inkscape

Desk Brain (2023 Jan)

Influenced by

  • Roam Research
  • Notion
  • Miro
  • Raindrop.io
  • Kinopio.club
  • Dynalist
  • Inkdrop

Desk Verse (2023)

Influenced by

  • Discord
  • Reddit
  • Twitter
  • Gather.town

Desk Robot (2023)

Desk Robot is a code-oriented automation tool.

Influenced by

  • IFTTT
  • Zapier

Desk Board (2023 Earlier)

Desk Grid is a code-oriented BI app.

Influenced by

  • Google Sheets
  • Excel
  • Tableau
  • Metabase
  • Trello
  • Weekdone

Desk Calendar (2023)

Desk Pages (2023 Earlier)

Influenced by

  • Wix
  • GitHub Pages

Desk History (2023)

Desk History is like Git and GitHub for Desk-lang

Desk Run (2023)

Desk Run is like Google Cloud Run for Desk-lang

Desk Architect (2024)

Desk Architect helps you to create well-architected software in Desk-lang

Desk Forms (2023)

Desk Docs (2023)

I (We) want:

  • a new job
    • I want to work with a company that supports open-source works.
    • Also, I plan to request a new offer from my current company.
  • more users
    • We need feed-backs to make Desk better.
  • financial supporter or sponsor
    • Currently, I have a full-time work to pay the rent.
  • Desk Apps developer
    • Desk has an enormous range of applications, so we need developers with interest or experience in each field.
  • language developer
    • Like most things, a core is the most important.
    • We have a lot to do to enhance Desk-lang.
  • document writer

    • I don't have enough time to write documents.
  • code reviewer
  • community member
    • I want more discussion about Desk.

Stories of me and Desk

  • [2008] I started programming when I was around ten years old. It looks exciting to me.
  • [2016] I want to create something like Minecraft.
  • [2018] As a core of my game engine, I designed and created Cizen; then it's used for Online Experiment System.
  • [2020-2021] I'm struggling with non programmable products.
  • [2021] I used Elixer for data processing, and I want more visualization.
  • [2021] I used Google Sheets, and I want more programable.
  • [2021] Also I think the programming is too hard and esoteric.
  • [2021] I've got a big picture of Desk.

Next month of Desk

  • I plan to take a rest as much as possible to avoid burnout.