With ShoesFest and the upcoming release, I think it would be good to
talk about some common stuff people are going to bring up and what
the general feeling is about Shoes right now.
First thing: Shoes isn't done, will never be ^donedone^ actually, and
we're NOT happy about Shoes right now. Sure, it's promising, but
it's got a really really long ways to go!!
In fact, that is the whole reason for the fests. To help us kill
bugs, which, frankly, are everywhere.
So, why even bother hacking on Shoes? Uhh, well, where else are you
going to go? To wxWidgets? To QT? To Java? To Adobe?
Shoes is small. And, hey, it's not too ugly! And it's syntax is
easy to read. And it's totally free and open source. The only
thing you have to do is be patient and stick with us. We'll get
those bugs if you can help us find them. (Your testing is crucial
because I am limited and can only test a few platforms regularly on
my own.)
== So, #1. CRASHES. ==
Shoes crashes. This is because most of Shoes is written in C. And
that's where the bugs are.
If Shoes crashes, a few things you can do:
* Try the program on a different machine. Like if you're on OS X,
try Windows or Linux, just to see. A lot of these things are
platform-specific.
* Fiddle with the program till it works. (Comment things out,
use different methods.)
Once you have a general idea of the problem, post it to this list
(or bring it to the IRC channel during the fest.) Bugs don't get
turned down, but features do.
== SPEED. ==
Shoes is slow. And, well, Ruby is slow. It's up to you to decide
if it's /unbearably/ slow.
Anyway, we're not okay with this. And here's how it's going to be
solved:
* Lots of images can slow things down. Lots of elements can.
I'm going to thread the image loading and use some timers to
help us do repaints in weird places. This will help the app
stay snappy.
* We will be switching to Ruby 1.9 or Rubinius at the end of the
year.
* Lots of optimizations can be done in the repainting. There
are too many repaints right now. Too much is being calculated
on each repaint.
Speed, however, isn't yet as important as crashes and bugs. So,
let's get through the crashes and bugs!
== A FUTURE? ==
Does Shoes have a future? Or is it going to die and be abandoned?
I have devoted four years to Shoes. One year is spent. So Shoes
will be around for at least another three years.
Whether people actually use Shoes is another thing entirely, but
it's been a promising first year: the-shoebox.org, NKS, over 2000
mailing list messages and nearly 1000 commits.
== TINYNESS ==
Is Shoes going to get new widgets? Menus? Toolbars? OpenGL?
Doubtful. Menus, maybe. But keep in mind that Shoes has about the
same number of controls as HTML. But, unlike HTML, you can draw
your own widgets. So, actually, it's closer to Flash I guess.
Shoes is already a 2-3 meg download on most platforms. I want to
slim that down. Just the stuff already in Shoes keeps me very, very
busy!
A few quotes to back up why Shoes is small.
"By relieving the brain of all unnecessary work, a good notation
sets it free to concentrate on more advanced problems."
-- A. Whitehead
(I take this to mean that you should be able to keep the basics
of Shoes in your mind rather than always consulting a manual.)
Syntax is often suggested as a problem area in textual languages,
but in our study users reported that syntax errors were few once
they were familiar… Textual languages are compact, efficient, and
can be developed in less time than graphical languages.
-- Bonnie Nardi
(She goes on to say that textual languages are "compact" when
they focus on ten basic commands and branch out from there.)
== REPORTING BUGS ==
I'm going to continue to forego a bug tracker. Bugs should be
posted to the mailing list. E-mail may go unanswered for several
days, but that's only because I'm still searching for a good answer!
Others get answered right away.
Okay, the end! (If only we were done...)
_why