Programmer's Overview of Decent



In 2019

I presented here and 13,000 people watched!

Youtube video



What is this?

an espresso machine built from scratch


Why?

  • because espresso was pre-scientific
  • espresso machines were hard wired for one approach only

So? What to do?

Sensors were needed to capture real data


An app was needed to display data neutrally and truthfully


Programming espresso shots

a visual espresso-programming tool to encourage experimentation


Communicating

sharing of learning, best practices, integration of search results


Simplifying & Sharing

Distribution of what was learnt to non-experts


Tolerance for imperfection


a UI was needed to display the data neutrally and truthfully


DUI widgets library

by Enrique Bengoechea


Native-looking widgets


App Extensions


App Extensions Example


Easily make new UIs


Sample Skin


Skin writing extensions

Screen Variables are Tk text widgets that refresh add_de1_variable "steam_1" 537 1250 -text "" -font Helv_10_bold -fill $tappable_text_color -anchor "center" -textvariable {}

Mechanism for any Tk widget # 3 equal sized charts add_de1_widget "off espresso espresso_1 espresso_2 espresso_3" graph 20 267 { bind $widget { say $::settings(sound_button_in);


An Over-the-air update mechanism


Challenges

  • shipping the same app on Android, Windows, OSX and Linux
  • converting the Tcl app into a WebApp using mp4 streaming
  • what kind of people embraced Tcl and why
  • what kind of people hated Tcl, why, and what happened then
  • the move from open-source-but-one-programmer to a full open source multi-programmer participation via Github and relinquishing control
  • challenges of supporting many different resolutions, tablets and Android versions
  • Right-to-left languages

Future

  • Surprising findings how Tcl outperforms competing other programs (in other languages) trying to do similar things
  • What hasn't turned out well, and what we're trying to do about it. Bluetooth is our main problem.
  • The future of Tcl for us, as Python, Javascript, as others launch competing apps
  • Cloud integration
  • Two apps at once: point-of-sale and order queue management. Mobile-ordering app. iOS via webapp/mp4.

Other Decent Uses of Tcl & Naviserver

#presentation #app #programming #John



Updated 2023/07/10