Programmer's Overview of Decent
In 2019
I presented here and 13,000 people watched!
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
by Enrique Bengoechea 
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