Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rename Shoes project #494

Closed
ghost opened this issue Dec 7, 2013 · 8 comments
Closed

Rename Shoes project #494

ghost opened this issue Dec 7, 2013 · 8 comments

Comments

@ghost
Copy link

ghost commented Dec 7, 2013

Hi.

I know that this will be closed soon, but I propose that shoes4 will be renamed so as to no longer include a reference to "shoes".

Why?

Because _why started shoes and it was great to use it back then.

People were not forced to use java.

Now, with shoes4, suddenly you depend on java. This is clearly no longer "lightweight" at all - java + jruby is heavy.

And while I am sure this is nice for many folks to use java, I don't use java, and I find it unfair to insinuate that this shoes4 has anything to do with _why's shoes when it clearly is suddenly a java program.

All the while when the original shoes that _why used has been long abandoned and no longer works...

So when you tout the project as being the future (see "But hey, make sure to check back later, because shoes4 is the future!") then consider that not everyone regards this as the future - it seems like a TOTALLY different project altogether now.

@chuckremes
Copy link
Contributor

I don't think this issue will get much traction.

On Dec 7, 2013, at 7:27 AM, Markus Heiler notifications@github.com wrote:

Hi.

I know that this will be closed soon, but I propose that shoes4 will be renamed so as to no longer include a reference to "shoes".

Why?

Because _why started shoes and it was great to use it back then.

People were not forced to use java.

Now, with shoes4, suddenly you depend on java. This is clearly no longer "lightweight" at all - java + jruby is heavy.

And while I am sure this is nice for many folks to use java, I don't use java, and I find it unfair to insinuate that this shoes4 has anything to do with _why's shoes when it clearly is suddenly a java program.

All the while when the original shoes that _why used has been long abandoned and no longer works...


Reply to this email directly or view it on GitHub.

@PragTob
Copy link
Member

PragTob commented Dec 7, 2013

Hi there,

I'm sorry to hear that you feel this way about shoes4. I also know that quite some people feel that way about Java and the JVM. Plus startup times really are a bummer ;-)

To me the "lightweight" aspect hasn't been one of the essential parts of shoes. For me the essential parts of shoes are the following:

  • A nice simple DSL to create GUI applications easily, have fun and help teach kids and beginners to code
  • Programs work across all major platforms (Mac, Windows, Linux) so everybody can enjoy shoes
  • Packaging programs to be standalone applications so you don't have to tell people go install XYZ before
  • A nice, friendly and helpful community

I feel like we've retained those 4 points/work on retaining them.

Moreover shoes4 isn't bound to java or JRuby. It is a whole new architecture (we rewrote everything) with a DSL pure ruby layer and a backend layer for drawing that can be anything you want it to be. There is a proof of concept for a qt backend. And I believe that someone will go ahead and build a QT/GTK whatever version and we totally encourage it. JRuby/SWT is just the first backend we implement.

Why is that? Well when we realized that shoes3 was beyond repair we were looking for a new backend to do things. The old shoes had 3 different backend implementations (one for every major OS) in C (it's like an 80% C project). And that's a nightmare to maintain. Also it's hard to get Ruby people to contribute because many aren't really that keen on C in my experience.
Another problem with the original shoes is that it had its own ruby interpreter integrated... it could not be a ruby gem or something which was also an often requested (and understandable) feature request. Hard to do with that original base.

We wanted to build upon something that already does a lot of the cross platform drawing/GUI stuff for us - because it would be less work (this is enough work as it stands, over 1.5 years in the making) and big libraries out there probably have stuff more figured out and with less bugs than what we'd build. At the time we figured that if somebody knew how to do cross platform GUIs right it'd be java people. And we got some good support and insights from that side. Also some good alternative shoes implementations were already using JRuby + SWT/Swing so it seemed like a good solution. At least that's how I remember the decision process at the moment. Feel free to dig up the archives.

Was it the best decision? I don't know. When fighting weird cross platform incompatibilities I sometimes doubt it ;-) But that's often also due to another feature of SWT: retaining a native look and feel which is also kind of a shoes thing.

Moreover we have received such a great support from the @jruby organization, be it fixing bugs, having 3 Google Summer of Code students, fast feedback, tips... that I personally am happy with the decision. I often wonder what why's opinion is about what we are doing with shoes though. However he hasn't written me an email (yet) ;-)

Sorry that you see it differently and I hope that someone will build a more lightweight shoes version in the future that you can enjoy. We are trying to keep the spirit alive. Anyhow, I'd love it if you tried it out either way once 4.0 lands on rubygems.

Cheers,
Tobi

@0000marcell
Copy link
Contributor

can anyone tell me why jruby takes so long to start? is there a way to make it faster? jruby community are working on it?

@PragTob
Copy link
Member

PragTob commented Dec 7, 2013

There's a bunch of information and links in #186

Basically, you need to start the JVM... which takes its time.

@nirvdrum
Copy link

nirvdrum commented Dec 7, 2013

There's always things that can be done and the JRuby team has done a good job working at it. JRuby 1.7.9 boots about 20% faster for me than 1.7.8 and pretty consistently at that. If you haven't checked out the wiki page on start up time, there are some JVM arguments you can pass that will help out immensely:

https://github.com/jruby/jruby/wiki/Improving-startup-time

@wasnotrice
Copy link
Member

I'm totally sympathetic to this idea, that we have lost some of the lightness of shoes. But I am hopeful that it will return. Thanks for bringing it up.

Funny thing about the original shoes: it was mostly C, hardly any ruby. Shoes 4 is all ruby code, even if it uses java behind the scenes. This was important to us, because the people who love Shoes tend to be more comfortable coding in ruby. We hope this will make Shoes 4 more maintainable than previous versions.

@edubkendo
Copy link

I've had some recent success using drip to speed up load times. It took a little experimentation with doing some preloading in dripmain.rb, which you can read about here, but I've been pleased with the improvement in my workflow.

@PragTob
Copy link
Member

PragTob commented Dec 10, 2013

As there is no discussion here and we reimplement the Shoes DSL I'll go ahead and close this issue.

Thank you for your concerns about lightness though and I really hope that in the future we/somebody will build a new light shoes version to your liking.

@PragTob PragTob closed this as completed Dec 10, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants