
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


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 {[seconds_text $::settings(steam_timeout)]}
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 [platform_button_press] { say [translate {zoom}] $::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