What does SketchUp 2013 do for developers?
-
Hi Tomot, we've got a link up on our front page to a list of some of the new features of SU 2013. Thanks,
Chris
-
@chris fullmer said:
As for webdialogs....well, they're still web dialogs, and they still exist. I don't think anything much was changed there (for better or worse). Thom probably knows more about it than I do, since he's in-tune with web dialogs in general. I've never taken to them since I'm not much of an html or js guy.
There's not a whole lot of changes, known to me, in the Ruby API for this release. There are some minor tweaks;
- Action to open Extension Warehouse at a given extension.
- Fixed WebDialog user-agent string under OSX.
- (Not 100% sure, but I think there are some Ruby API related bugsplats addressed.)
Now, I'd have loved to see some actual changes to the API itself. Unfortunately it didn't make it for this release. But I'm not too concerned about it at this point. The Extension Warehouse is, as Chris says, a big thing. It's basically an app store for plugins and with an plugin/extension manager to accompany it. It's what I've been dreaming of for years! Something I've nearly tried to developed myself - but decided not so because it's such a huge task. Having such a feature in SketchUp is a big thing because it makes plugins so much more accessible to a hugely bigger audience. For the regulars of SCF it probably sound like old news, but when I speak to other SketchUp users I encounter they usually have no idea about SketchUp's plugin feature.
And installation and managing plugins is probably the number one support question I get in regard to my plugins - my 50+ plugins. So that not only a big benefit for new users unaware of this, but also for me - a developer - that the whole discovery and installation process is done by SketchUp.And with the whole SketchUp Extension Warehouse - and SketcUcation's Plugin Store for that matter - I hope and expect the user base of plugins to increase. And with that the potential market and interest for new developers to develop new tools. I really think that this is a major point which many people ignore or fail to see.
I don't disagree that it doesn't appear to be a huge amount of new features to SketchUp itself. But I see this through developer spectacles and I understand how much time and effort it can take to develop a whole new C API, a whole plugin/extension repository and gutting out the toolbar system and implementing a new one. Two of these which have been at the top of people's request list. That and considering that SketchUp has gone through change of owners, moving offices and getting adjusted to new owers. And it's worth nothing that under there new owners that new positions was announced - something that didn't happen under Google.
I fully understand that as end users this release can appear underwhelming - especially if you don't use Layout. But my impression is that SketchUp 2013 is a first move on a long term awakening from the Google slumber - where we mainly saw changes related to Google's mapping services. The way I see this release is that they addressed a major pain for Windows users: toolbars - which I'd imagine wasn't a trivial thing to refactor. And they implemented a plugin repository - also highly requested. That, in addition to the new C API - which is actually supported as oppose to the old C++ API which is not and all the changes to Layout is to me a positive sign.
I do hope for more - I do expect more. And I have high hopes. I think SketchUp is heading in the right direction. From what I heard at BaseCamp and what I see in SketchUp 2013 I see SketchUp getting the attention as a platform. A platform where many entities will develop great tools for. And I expect these tools to be the big flashy attractions for SketchUp in the future. But some things take time to prepare. I see this release as a positioning for the future.
And - we know that SketchUp will get a new version each year. Steady flow of improvements, as oppose to the random previous scheme.
My two cents...
-
@thomthom said:
The Extension Warehouse is, as Chris says, a big thing. It's basically an app store for plugins and with an plugin/extension manager to accompany it. It's what I've been dreaming of for years! Something I've nearly tried to developed myself - but decided not so because it's such a huge task. Having such a feature in SketchUp is a big thing because it makes plugins so much more accessible to a hugely bigger audience. For the regulars of SCF it probably sound like old news, but when I speak to other SketchUp users I encounter they usually have no idea about SketchUp's plugin feature.
I also encountered many SketchUp user who had no clue about plugins and now with Extension Warehouse being native tool this means that problem will hopefully get solved.
This new feature is a game changer for us developers and people should be more excited about it. Even though SketchUp API was not updated I am not too sad because it was good in the first place.
Cheers!
-
@unknownuser said:
This new feature is a game changer for us developers and people should be more excited about it. Even though SketchUp API was not updated I am not too sad because it was good in the first place.
Yes - I do believe the marketing value for third party developers is HUGE for this feature! Think about it - your product available with a couple of clicks to all the millions of SketchUp users out there. Massive! And for free!
-
@chris fullmer said:
And one of those IS one the #1 requested features by ruby developers - a way integrated into SU to distribute plugins, with a built in updating feature so people know when their plugins need to be updated.
Seriously Chris? This was the number one request by developers? Was this a formal market study or are you talking about the in crowd circle of developers? I find it very hard to believe that a market study that fairly represented the base of SketchUp Ruby API developers would result in this being the #1 request. I can understand that perhaps the vocal in crowd may have wanted this feature. But having been an executive in large high tech corporations I can tell you that that kind of marketing is dangerous.
@thomthom said:
The Extension Warehouse is, as Chris says, a big thing. It's basically an app store for plugins and with an plugin/extension manager to accompany it. It's what I've been dreaming of for years! Something I've nearly tried to developed myself - but decided not so because it's such a huge task.
Ok thomthom, I understand this may be a feature you have wanted for a long time, and maybe it's a big thing. But it couldn't have taken too many software engineering resources to develop. It's basically a web page integrated into SketchUp. And the SketchUcation Plugin Store is essentially the same thing and we already had that. Further, if this is so important to the general third party developer population, and that is why it fell so high on the list, how come there is absolutely no mention of how a developer get his/her plugin into the store. No where on the SketchUp site do I see any explanation of how one goes about this.
You guys are smoking something, some feel good weed. The bottom line is this release is not a major release except in name only. Look, I am a huge SketchUp fan and have been for years. I teach SketchUp on line, in woodworking schools and in community colleges. I write plugins for woodworkers and I personally design all my furniture pieces in SketchUp. So I am not trying to come down on SketchUp or Trimble for the fun of it. I and other will get over this huge disappointment. But if the incremental value added in the 2014 release is similar to this one, SketchUp is dead. Users will vote with their feet. So if the SketchUp team is feeling good about this release they are not listening to the overwhelming feedback and they are in denial.
BTW, for 2014, you might also want to consider some long outstanding bug fixes like printing to scale.
-
@chiefwoodworker said:
Further, if this is so important to the general third party developer population, and that is why it fell so high on the list, how come there is absolutely no mention of how a developer get his/her plugin into the store. No where on the SketchUp site do I see any explanation of how one goes about this.
At the Extension Warehouse website there is a Developer Center link to the lower right part. Red button. But I agree, it's not that easy to notice. Right uptil the launch there was a much more visible link at the top of the page.
-
I'm pretty happy with SketchUp 2013 also. Like Thomthom, I'm not concerned that we didn't see big changes in APIs for two reasons:
-
Dramatic changes/additions in APIs are generally a 'Bad Thing' in realworld software engineering. What you want is incremental (ideally backwardly compatible) progression. Think of it from the POV of the developers: having a new API for the latest version fo SketchUp is all fine and dandy, but you have N thousands of people out there on SketchUp 7 and 8 using your stuff. Having to develop multiple execution paths for different versions is a PITA and adds to instability.
-
Software engineering is like a game of chess in that you have to plan many moves to get from here to there. So we have no insight into what work has been done that is invisible to users - but I'll bet they have been busy. Sure they want to impress their new owners Trimble by willingly add their requests - why the heck wouldn't they!
Adam
-
-
@adamb said:
- Dramatic changes/additions in APIs are generally a 'Bad Thing' in realworld software engineering. What you want is incremental (ideally backwardly compatible) progression. Think of it from the POV of the developers: having a new API for the latest version fo SketchUp is all fine and dandy, but you have N thousands of people out there on SketchUp 7 and 8 using your stuff. Having to develop multiple execution paths for different versions is a PITA and adds to instability.
I think most people are not complaining about the lack of "dramatic changes", but about basic methods still missing.
-
@jiminy-billy-bob said:
@adamb said:
- Dramatic changes/additions in APIs are generally a 'Bad Thing' in realworld software engineering. What you want is incremental (ideally backwardly compatible) progression. Think of it from the POV of the developers: having a new API for the latest version fo SketchUp is all fine and dandy, but you have N thousands of people out there on SketchUp 7 and 8 using your stuff. Having to develop multiple execution paths for different versions is a PITA and adds to instability.
I think most people are not complaining about the lack of "dramatic changes", but about basic methods still missing.
The litmus test for me is that I can walk the entire DOM and do.. whatever. Whether its in Ruby or C++. Yes, there are a small number of missing getter methods - Layer Color, Scene ordering - but the amount of gnashing of teeth I've seen posted the last couple of days around SU2013 seems totally out of proportion.
SketchUp is still a great, low-barrier-to-entry platform for modelling.
-
@adamb said:
The litmus test for me is that I can walk the entire DOM and do.. whatever. Whether its in Ruby or C++. Yes, there are a small number of missing getter methods - Layer Color, Scene ordering - but the amount of gnashing of teeth I've seen posted the last couple of days around SU2013 seems totally out of proportion.
Yeah, well... I've not been around the SU-dev world for long, but even for the small things I've been doing, I miss a number of things : Layers being hidden/visible, layers being renamed, layers color get/set, layer delete, etc... There are some workaround for some of them (not all), but I feel like it should be native in the API.
You're talking about stability. Aren't native methods more stable than workarounds ?@adamb said:
SketchUp is still a great, low-barrier-to-entry platform for modelling.
I totally agree ! But that's not the point
-
@jiminy-billy-bob said:
I miss a number of things : Layers being hidden/visible, layers being renamed, layers color get/set, layer delete, etc...
Layer.visible, Layer.visible=, Layer.name, Layer.name= is there. Layer material and remove is missing though. (From what I understand, Adam has found a way to do this vis the C++ API.)
-
@thomthom said:
Layer.visible, Layer.visible=, Layer.name, Layer.name= is there.
I know, I use them already. I was talking about change for these, in the LayersObserver.
@thomthom said:
(From what I understand, Adam has found a way to do this vis the C++ API.)
Hmm, would love to hear about this !
-
@adamb said:
I'm pretty happy with SketchUp 2013 also. Like Thomthom, I'm not concerned that we didn't see big changes in APIs for two reasons:
- Dramatic changes/additions in APIs are generally a 'Bad Thing' in realworld software engineering. What you want is incremental (ideally backwardly compatible) progression. Think of it from the POV of the developers: having a new API for the latest version fo SketchUp is all fine and dandy, but you have N thousands of people out there on SketchUp 7 and 8 using your stuff. Having to develop multiple execution paths for different versions is a PITA and adds to instability.
AdamB, the key words in your statement is incremental progression. The problem is that for the last couple of releases under Trimble we saw no progression. If that keeps up Ruby will be at version 4.0 and SketchUp 1.5 & 1.6. Then you will be discussing the need for a dramatic change in the API.
Almost all applications on the market have some kind of compatibility mode, including MS products. They may be a PITA, but software engineers get paid for the work they do and coming out with a product that is incrementally further behind each release is a death notice.
All of us (or almost all of us) who visit SketchUcation do so because we love SketchUp. We don't want to see it loose its way. If you are happy with SketchUp 2013 and not concerned about the status of the API development and bug fixes, then you are someone the development team should not be listening to, because the overwhelming feedback on this release is that it is simply underwhelming. The last release that actually added something visible to the user or developer was SketchUp 7. I for one don't like the trajectory.
-
What concretely is it that you were expecting of this release?
What concretely do you think Ruby 2.x is going to give SketchUp?
-
Tom, if you (non-officialy) work at SKu team, can you or somebody make such doc at least http://www.thirdpartyplugins.com/python_r14/modules/c4d/index.html
what's new in doc or change(see at doc with tags like "new") for watching that they really made...or seems they fools me.
They(sku) made only "Migrating a SketchUp C++ API Plugin to SketchUp 2013"-guide in docs
And i see they made unknown roadmap to 2015(after several years of silence), slapi for x64 apps?! -
@adamb said:
What concretely do you think Ruby 2.x is going to give SketchUp?
- Unicode support for strings and file functions.
- Being able to make use of open source frameworks etc developed for Ruby.
-
@ilay7k said:
Tom, if you (non-officialy) work at SKu team, can you or somebody make such doc at least http://www.thirdpartyplugins.com/python_r14/modules/c4d/index.html
what's new in doc or change(see at doc with tags like "new") for watching that they really made...or seems they fools me.Like this?
http://www.sketchup.com/intl/en/developer/docs/releases.phpThough there needs to be some notes for the couple of SU2013 changes. Not there yet.
And each method in the API docs has version information about when it was added.
Something like that you where looking for?
-
Thank you. Yes.
Seems v.2013 had fast public preview.
(Honestly i have not open sketchup and it's docs for long time) -
@adamb said:
What concretely is it that you were expecting of this release?
What concretely do you think Ruby 2.x is going to give SketchUp?
I don't believe I ever said the 2013 release ought to have been Ruby 2.0. If I did I stand corrected. What I believe I said was that there should have been some movement in the right direction.
I'll answer you question specifically in a moment. But here is an indisputable fact: SketchUp without a Ruby API is a toy and has no significant commercial value. The developers showed genius in three areas. They kept SketchUp strategically simple so that it was easy to learn and use. They provided a Ruby API to allow users to plug holes in any particular are of use. And they set a price point (and later a free point) that made it easy to adopt. I suspect they knew what they were doing when they made the Ruby API the jewel of SketchUp.
Fast forward and we see two major releases of SketchUp that doesn't address the jewel in any way; nor does it address the ease of developing plugins for SketchUp and neither does it improve functionality, performance or bug fixes that the user can see (they may be there but they don't seem to be visible yet). This seems like a cardinal sin to me.
I have wanted some help for developers in debugging and testing code. Quite some time ago I and others suggested integrating Test Unit into SketchUp. When I saw the beta Developers Tool (which I now make extensive use of)I was so happy I could wet my pants. Then 2013 came out and not even a hint of test and debug help.
The Ruby Console is next to useless. There have been several plugins to work around it that have been helpful. You can't clear the Console, enter multiple lines of code or reload a script. Again, Developer tool hinted of going in that direction, but alas no help.
Why, after the last two major releases of SketchUp, are the Mac and Windows versions of Ruby interpreter still different? Is it because the SketchUp team likes to see the third party developers fix their code when they get different results on different platforms?
There are numerous API method bugs that have been outstanding for some time (e.g. observers onSelectionBulkChange and onSelectionCleared). I haven't checked yet to see which are solved and which are not, but it is a sign of the problem that Trimble has not published what problems have been resolved in this release. It's up to the users to test for fixes.
Because the Ruby API is the crown jewel of SketchUp it would be nice if there were a long range road map for it. And even nicer to see an incremental step on that road map. Wouldn't it be nice if we woke up to a major release in the future where Rails was also integrated into SketchUp and the WebDialog would be history. And we might have database support. Further, wouldn't it be nice if some IDE like RubyMine understood, or was at least aware of, SketchUp Ruby class and method extensions? You can't get there if you don't take a step in that direction.
What I read into this release is that Trimble has a plan for SketchUp, but long term I doubt the large majority of plugin developers is going to like it. The Ruby API may be dead in favor of the C++ API. The free version of SketchUp may be completely decoupled from SketchUp and may itself be eliminated. I hope I am wrong, but that is the flavor of this release.
I am done on this subject. I have gotten this off my chest and I am going to do useful work.
-
I don't see a favor of the C++ API. In fact it was almost dead under Google, and is now only near equally alive as the Ruby API.
Advertisement