Who said SketchUp doesn't need to be 64 bit?
-
That all obviously depends on how you define failing, and we simply don't know what criteria is being applied. At Google the criteria was catering to Google Earth and he obviously did that... to the point where those were the only parts of SketchUp proper that saw any real growth.
Trimble is a big question mark -- all I can gather at this point is that they don't care for SketchUp to be a mainstream modeling application (even in the Pro iteration). Otherwise I would have to assume something would have been done in the last 2 years. It does not take 2 years to implement new modeling tools no matter what the circumstances.
So, I guess a more accurate assessment is that he is failing to lead SketchUp to anywhere I find worthwhile. I would say from many of the comments (yours included) that many other people are disappointing in the directions it is going as well.
So at the end of it, he is losing hearts and minds of the users (at the very least) to the competition. There is certainly some inertia that has been propelling the product forward based off what happened a long time ago (already implemented or in progress features of the software from before). But I really can't believe that any recent moves have netted significant amounts of new users.
Really what I have seen is alot of promises of cool stuff to come, without any specifics given, and without anything of merit materializing. It is easy to make promises, but you have to deliver something eventually, or the credibility of those statements becomes suspect as simply being delay tactics.
I mean of course Trimble is happy with the financials -- even if you only count existing Pro version users, they are paying double what they used to pay for upgrades... and Trimble doing (or perhaps releasing) hardly any work to get the increase in revenue. So I am sure the financials look spectacular.
-
@jason_maranto said:
So, I guess a more accurate assessment is that he is failing to lead SketchUp to anywhere I find worthwhile. I would say from many of the comments (yours included) that many other people are disappointing in the directions it is going as well.
in the past, i was hugely disappointed in where sketchup was heading.. i wanted it to do things which were important to my work (i needed curves- real curves/smooth surfaces).. i finally realized that if sketchup were what i wanted, it would be an entirely different program- it would be freaking awesome but it wouldn't sketchup anymore- that's for sure.. it wouldn't even be a poly modeler.
i spent the last 4or so years learning a new app.. i put in the hard work in order to get the functionality i wanted (and that was already available) and i quit armchair quarterbacking the su developers to make my life easy by doing the things i say while they put in all the hard work.
here's the thing and maybe it's not so obvious-- nobody in this thread (and barely anywhere else in any of the wish threads) is suggesting anything new.. nobody is showing any innovative ideas.. everything is "i see xxxxx in this.app and i want it in sketchup"
if you need subD modeling, i mean- if you really need it, learn modo.. if you need nurbs surfaces, learn rhino.. etc. there are people -in this thread- that should be using other software as their bread&butter but they're not doing it because it's too much effort to learn.. people have spent a lot of time learning sketchup and are burnt out on the idea of going through another learning processes.
there isn't a true all around modeling package yet.. we're 10-20 years away from that still and it's not going to be one of the apps which are currently available.. advanced modelers use more than one software and if you're expecting all of the capabilities of all the modeling applications to coalesce within sketchup then you're setting yourself up for a let down..
recognize what sketchup does.. recognize it's advantages and use it for those advantages.. recognize what it doesn't do and very likely never will-- and quit expecting it to do that.. instead, learn the tool that already does it.
idk, there's a point in there that i'm trying to make but i'm not doing such a good job at it.. just rambling.. i do feel there are 'bad' things within sketchup.. it's not perfect even within its own purpose.. those are the areas where my gripes these days lay.. make it do what it does already even better.. sketchup is the 'easy' modeler right? well some stuff still isn't so easy or fluid etc..
but even then- that's not what i'm meaning to say to you personally jason.
i get it that you hate john bacus.. when you first called for his head last year, i thought you reached a boiling point and just sort of lost it for a minute and said some lame stuff.. or- it was decently understandable for you to of gone off like that.. but it's starting to look more and more like it wasn't a moment of passion.. every single post you make now talks shit on him.. it's become boring and trite.
at first i was like:
now it's more like:
just lay off it already, ok?
[for clarity- i'm saying that for two reasons.. one is in defense of john bacus as a person.. i've never met him personally but, everybody who has and talks about him speaks highly.. i havent seen someone speak negatively in that scenario and i can respect that.
the other reason is speaking as a moderator of this forum-- this place is generally a very laid back area of the interwebs and it's a place you can hang out at without being on your toes at all times.. it's a rarity online- especially for a community with such large numbers.. let's keep it like that. there are plenty of other places you can go to spew such personal attacks]
-
Maranto, its becoming tiring!
Jason, I imagine the above statement may not sit all that well with you. Possibly because of the 'Maranto' address. I imagine you would have no problem with the suggestion of you being 'tiring' as you are more than capable of arguing your point
'The Friendly Place for Your SketchUp Needs' is SketchUcation's slogan even though it no longer appears in the header ..... maybe it should be brought back?
We have an expression over here, 'Play the ball not the man'. Its a 'sporting' phrase and one that is held in high esteem also a trait well respected in footballers and hurlers.
By all means please feel free to argue your point but also please play the ball, not the man!
Mike
-
@jeff hammond said:
one possibility-- you did type up that response.. pushed 'submit'.. someone had posted something while you were typing.. the message board gave the 'someone else posted while you were typing' message.. it looks like you post submitted properly.. but you didn't push submit again ?
That's probably what happened - it wouldn't be the first time
I was fairly sure that there were other posts that have gone missing as well. I thought someone had made a good point about the need for native non-destructive bevelling.
I'm probably mistaken though, so just ignore this rambling old fart and continue with the great discussion
-
-
@andrews said:
Hey everybody,
This is my last response to this thread. The discussion of 64-bit has once again completely exhausted me. Don't expect any more updates on this topic from me.Perfectly understandable Andrew and THANKS for your input. I am sure all vast majority appreciate your forthright responses.
@andrews said:
After reading back through the whole thread though--and actually, not as much this thread as several others--there's something I think is very important to get off my chest.
While not directing this at any one poster, I want to make it clear how fed up I am with the finger-pointing and brow-beating that's been allowed to happen way too much on some of these threads. Sure, I'm a fan of free speech. I'm also a big fan of grace and civility in a professional setting.
In particular, I'm just tired of how often people post negative, derogatory, or otherwise inappropriate messages about the people involved in the engineering or decision-making processes of the SketchUp team. I don't think users have taken to doing this to each other, but trust me I'd be just as disgusted about that if it were the case.
Just like all of you, those of us on the SketchUp team who participate in these forums do so on our own time and don't find it motivating, fulfilling or helpful to put up with child-like outbursts or general incivility, particularly in what I'd consider to be a community that was created for the express purpose of professional exchange, and especially not in a context where people behave that way while simultaneously trying to get me or my team to listen to or help them in some way.
Well, I think we probably all know who you are in particular referring to in your post and I feel pretty much the same. Its now becoming a regular 'rant' after each SU release. Fair enough, we, the users / customers are entitled to bitch but there is most definitely a line that should not be crossed. As I have said in another post, play the ball, not the man. I hope this will be the case from now on. If not, a FOUL will most definitely be called and the red card used.
@andrews said:
If you've ever wondered why so many of us continue to work on the SketchUp team through transitions from @Last to Google and now to Trimble, the reason is because of the people. I'd trust my teammates with my life, let alone with guiding and nurturing a software product. Can you say the same about your coworkers?
I fully believe this and have found it to be the case since the early days of @Last. The SketchUp Team are a tightly knit bunch of guys and gals and I am proud to know them. In fairness the same could well be said about Team SketchUcation's Mods, TSs and Regulars.
@andrews said:
Regardless of whether you believe me--and if you don't have coworkers like this, then you probably don't believe me--please hear this.
Levying personal criticisms--those that are aimed at people instead of the product--is a sure-fire way to make me and the rest of my team ignore anything else you have to say.
Those of us on the SketchUp team want to make the best product we can. We also want our users to have the best experiences they can, and to have a fair bit to do with guiding the future direction of the product, within the realistic constraints of us needing to balance the desires of a great many different stakeholders in this endeavor.
Concerns, suggestions, bugs, problems, and questions about SketchUp? Keep them coming all day long. That's how we get better.
Implications, complaints, criticisms and commentary about the character of the individual people on the other end of your keyboard? Keep them to yourself.
If you wonder why so few of us still actively post on SketchUcation, look no further than this. Too many of my friends got tired of having to sort through character assassinations and tirades questioning the motivations of their coworkers, which they took as a sign that their participation was no longer desired. If it keeps up, I'll assume the same.
Let's all be better to each other. Thanks for your consideration.
I truly hope that you will continue with your much appreciated comprehensive input and that others on Team SketchUp will feel confident enough to jump in as they see fit. I give you my personal guarantee that only the ball can be played and not the man!
Mayor Mike
-
Thank You Andrew for the detailed answers!
I can understand that rewriting major parts of a 15 years old program isn't something that can be done over night.
But i really hope to see some real improvements in a not too distant future after almost 4 years of stagnation (from my point of view) since the release of v8 and alreay two (for me useless) trimble releases.
I'm looking foreward to the "ipod-like" features - i hope it's something i can use too, i never was a friend of (apples) closed money making schemes and never used itunes.@jeff hammond said:
here's the thing and maybe it's not so obvious-- nobody in this thread (and barely anywhere else in any of the wish threads) is suggesting anything new.. nobody is showing any innovative ideas.. everything is "i see xxxxx in this.app and i want it in sketchup"
if you need subD modeling, i mean- if you really need it, learn modo.. if you need nurbs surfaces, learn rhino.. etc. there are people -in this thread- that should be using other software as their bread&butter but they're not doing it because it's too much effort to learn.. people have spent a lot of time learning sketchup and are burnt out on the idea of going through another learning processes.
I use Max since more than 10 years in addition to sketchup for the more complex modeling tasks and scene objects like trees or cars, but there are mainly two (or maybe three) things that hold me back to switch completely:
I really like the navigation and snapping system in sketchup and the direct access to groups and components (and the display style). I think if Autodesk or someone else would add these functionalities - or at least the snapping - to Max i would jump the ship.And i don't get why asking for new unknown features is better than asking for things that are useful in other apps (or almost standard). I don't need the revolutionary new feature - i need things that make my work in sketchup easier/better.
-
@tt_su said:
You mention import, of which file types? SKP or other formats?
Import was just a short word for several options to add geometry to a skp file - if it is importing a 3ds or copy/pasting skp content from another file - sometimes i can go and make coffee in the meantime.
@tt_su said:
Beveling? We're talking about a plugin here, right? Performance for the Ruby API is high up there on my personal list. I've been spending a great deal of time poking into the performance of Ruby extensions and it's clear we need to improve this area as well. We have some ideas that we are exploring. On top of improving the API we also need to improve how we provide guidelines back to the developers of our API so they can utilize best practices that we've discovered over the year.
sure, this is the only option in SU at the moment to add bevels or round corners and i really don't understand why such basic features are not already implemented into the core if it is obvious that the slow ruby code is the main problem here.
-
@numerobis said:
And i don't get why asking for new unknown features is better than asking for things that are useful in other apps (or almost standard).
well, that's sort of pulling it out of context from what i was getting at.
i didn't say it was better to ask for new unknown features (though i can't help but believe the 'best' improvements which can happen in CAD are things not yet thought of or implemented)
i was more alluding to if sketchup were the only 3d app ever made, what would your wishes be then?
most of people's wishes for sketchup is crap that i don't care about.. i don't even have artisan.. i have subdivide&smooth and i used it once in the past 6 months so i could show someone that thruPaint's normalUV mode could be used on a curtain which isn't drawn with pseudoQuads..
so say sketchup gains quad modeling.. that's a (as i understand it) huge undertaking and a foundation based change.. meanwhile, i'm sitting around going "holy crap, what a waste.. i thought this was an architecture-centric application but at least now, i can use it to design a sweet new insole for my shoe "
meanwhile, my wish might be to dramatically improve dynamic components to the point where sketchup is fundamentally a parametric based or formula driven program.. i want this
so awesome.. sketchup now has grasshopper.. meanwhile, so&so is sitting over there going "whaaaat.. such a waste.. how does that help me with my animations ?!?"
and on and on..
look at everybody's wishes-- not just yours-- and you'll see that under the "add this from such and such program" train of thought, it's really "add everything from every application"
and that, as far as i can gather, will not work.. new ideas are required in order to do that.. some ideas are already out there.. my personal idea is to draw in 3D --in 3D.. instead of 2D.. makes sense, right?.. kill the mouse.. kill the keyboard.. get rid of icons and buttons and menus etc and quit using our awesome hands as just a single note button pusher that can just only click at things and point at things -- these are the TruE slowdowns in our work.. it's not so much to do with which features are implemented on 40 year old computers.. it's the fact that it's so incredibly slow between us having a design idea then seeing it realized on a 2D screen.. i can have an idea in 1/2 second but it can take upwards of a week to get into something tangible on screen.. The user interfaces are flawed.. severely flawed.. the way we interact with our computers is incredibly outdated.. this is where the refinement must take place.
eventually, the knowledge/technology will happen in order to get this (or probably something way better but follows a similar line of thinking regarding today's UI being the biggest bottleneck of them all)..
for now though, it's a mash up.. sketchup can't do it all just like max can't and solidworks can't and xxxxx can't.
it's funny too if you browse other forums.. i know for certain that at rhino's forums, you'll often see requests "hey, can you make this work like it does in sketchup?" it's not a one way street..@unknownuser said:
I don't need the revolutionary new feature - i need things that make my work in sketchup easier/better.
yeah, me too. i want rational surfaces, i want boolean tools that work on non-solids, i want sketchup to integrate osx versioning/autosave and i want better trackpad capabilities both in navigation as well as gesture activated commands.. how do those sound to you?
-
and really, i'm still not getting my point across..
we're all sitting around as individuals telling the developers what we want..
it would possibly be entirely more effective, if we as a community were able to recognize that we're bombarding the devs with impossible demands because we're asking for e_v_e_r_y_t_h_i_n_g
then getting upset if our personal wishes are not getting the attention we feel they deserve.. this is stuff that we, as a user community should hash out amongst ourselves then present a clear, logical, and realistic view as a single entity..
i get it that that's probably fantasy land and not as much fun as just typing away on the innerwebs but.. it's probably the better way to go about it.
-
@jeff hammond said:
we're asking for e_v_e_r_y_t_h_i_n_g
True enough. That's why I'm all in for SU being a strong platform for third party devs to build all these fancy features.
But there are low-level things that need to come from Trimble. -
Hey, how about this, here is what I want, see this thread: http://sketchucation.com/forums/viewtopic.php?f=333%26amp;t=56136
@bryan k said:
It's dead. The foliage has made the model too large and I can no longer with it.
Any suggestions?
This is my only request for SU, how to get more detail without it buckling.
-
@jeff hammond said:
look at everybody's wishes-- not just yours-- and you'll see that under the "add this from such and such program" train of thought, it's really "add everything from every application"
A lot of requests are about improving Sketchup as it is today. A good exemple: true curved lines/faces.
This wouldn't change how SU works, how we interact with it, how we use the tools, etc. But that would be a major advance in how the geometry is built.
I mean, Sketchup is "3D for everyone", it's supposed to be intuitive for absolute beginners. Yet you have to explain to them that when they draw an "arc" (as it's advertised by the software), it's actually a bunch of straight lines. How is that intuitive? And this has a lot of implications...
So yeah, I know that SU is a poly modeler, that it's not meant to be a nurbs software. But couldn't we go behond these naming conventions and actually have a truly intuitive piece of software? Who cares how the geometry is generated or processed by the SU, as long as it's what it's meant to be: an intuitive and accurate 3D modeler.Curves are just an exemple of these requests aiming at what SU is today.
EDIT: Of course I'm aware that would need a massive rewriting of SU's core, and we'll probably never see it. My point is, there are requests shared amongst the community about the current state of SU.
-
@jiminy-billy-bob said:
A lot of requests are about improving Sketchup as it is today. A good exemple: true curved lines/faces.
This wouldn't change how SU works, how we interact with it, how we use the tools, etc. But that would be a major advance in how the geometry is built.hmm.. i think that changes everything with how sketchup works especially but also in how we interact with sketchup as well as how we use the tools..
it's a complete re-write.. but at least it would be 64bit after that
@unknownuser said:
I mean, Sketchup is "3D for everyone", it's supposed to be intuitive for absolute beginners. Yet you have to explain to them that when they draw an "arc" (as it's advertised by the software), it's actually a bunch of straight lines. How is that intuitive? And this has a lot of implications...
So yeah, I know that SU is a poly modeler, that it's not meant to be a nurbs software. But couldn't we go behond these naming conventions and actually have a truly intuitive piece of software? Who cares how the geometry is generated or processed by the SU, as long as it's what it's meant to be: an intuitive and accurate 3D modeler.Curves are just an exemple of these requests aiming at what SU is today.
i'm with you.. i think sketchup would be awesome if an arc were an arc and an ellipse were an ellipse and a sphere were a sphere..
my skepticism comes from that being my main wish since 2003.. then boiling point in 2009/2010 where i finally just decided to learn an app that already has exactly that..
i just don't think it's a realistic want.. and more importantly, if you actually need curves-- drop what you're doing, quit worrying about sketchup, and start learning a different program.. thank me in 3 yearsmy best guess as to what could happen in sketchup regarding true curves were that they functioned more like guide lines.. a guide circle could intersect a guide arc at its real location.. a bezier guide could be a true bezier with control points and whatnot.. if you offset one of these guide curves, it offsets correctly instead of what happens with current offsetting.
but, subsequent geometry could not be created off these guides.. prior to geometry creation, a sketchup curve (polyline) would take over and everything would go from there as normal. (curved surfaces etc would still be meshes)
ruby writers could possibly have access to some of these maths and probably make use of them in geometry creation but at some point, everything would still be a series of lines and planes.
-
@jiminy-billy-bob said:
EDIT: Of course I'm aware that would need a massive rewriting of SU's core, and we'll probably never see it. My point is, there are requests shared amongst the community about the current state of SU.
ha.. yeah, i see that.. i'm definitely over-exaggerating some of what i'm spewing today but i'll hopefully shut-up about it soon
in the meantime, mark me down for sharing your wishes regarding better curve integration.. they sound good to me and if any wishes were to come true, this is the area i'd most hope for..
(not talking about bug fix and/or buggy_ish UI type wishes-- those are more of expectations as opposed to wishes.. for me, there are about 5or6 of them which are mac related)
my take on some of the other more popular requests-
high poly support doesn't really affect me but i wouldn't mind some of that too.. though in my case, i rarely bump into or go over the limits and can work within the current constraints.. but if better poly support comes, i'd basically just be using it to make finer meshes / better looking visuals as opposed to bigger models.
fredo's thruPaint works perfectly well for my personal UV needs.. (in fact, it's still the one thing i use while thinking 'holy crap, i can't believe i'm doing this in sketchup' )
ruby (user pov) - i sort of wish there were a standard UI and a recommended set of guidelines for the writers to follow in order to have more consistent conventions/behaviors.
subD - would be fun
import/export -- still a bit bummed that 3ds import has recently lost 'at origin' option on mac.. native OBJ (i.e.- fast) would eliminate my need for 3ds and it's the format i'd personally rather use.. or getting a .skp out of another program might be better yet.. as i understand, it's hard for other developers to provide .skp export from their software so i wish that as new sketchup versions were released, sdks (or whatever it is that would be required) were updated and more freely shared to 3rd parties.. there was a point where i was hoping for .dae everywhere but so far, that doesn't seem to be the case.. at least not with the other programs i use.. seems to be the coolest though because osx supports .dae.. basically- i can make the thumbnails real big and navigate in them without needing to open one.
explode -- in conjunction with the 3ds import losing 'at origin' which sometimes adds around 2minutes of frustration getting an outside model in, the next step is often exploding.. that's a back-to-back round of frustration.
64bit- yes please.. i get it that it's a lot of work to switch.. but at the same time, i imagine that while the conversion is happening, some of the band-aided code which was added around y2k in order to just get the thing working could also be tuned up/refined.. or- we'd maybe get some noticeable enhancements due to the 64bit conversion process - even though the improvements arent directly related to 64bit.
--
ok.. i'm done.. next year-- same time same place. see you then -
@andrews said:
We made the decision a very long time ago to actively promote the extensibility of SketchUp through use of the Ruby API.
That's all very good, but it cuts both ways. The extensibility of SU sets it apart from a lot of the competition and has greatly helped to keep the software viable.
However, If plugin developers want to extend SU to meet user needs and there is something in the the SU architecture preventing that, then I think that it is reasonable to assume that the SU devs should try and accommodate those ambitions.
John Bacus insinuates that subD and quads are not something SU should even entertain, yet there are valuable plugin developers who are trying to achieve this in order to meet user needs. That's basic supply and demand.
Despite the superhuman efforts of the guys behind Artisan, Vertex Tools and the great advances made in UV plugins, I get the distinct impression that these plugin pioneers are fighting against the limitations of Sketchup's programming. Would it be possible to have a non-destructive bevel plugin without major changes to Sketchup!
When these guys put in so much effort to push SU to its limits, then I think they should be given something in return and be treated to changes in SU that will allow them to reach their real potential and make Sketchup even better than it already is. Snarky comments that make it sound like core users are insane for asking for features that are standard in other apps just won't cut it (that's not directed at you Andrew, your posts have been very encouraging and positive).
At the end of the day, despite all the griping and bitching, most of us love Sketchup, endorse it's ethos, love to contribute to it's development, and evangelise about the joys of working with such a great programme. We all happily take the slack from neigh sayers in the knowledge that SU really is a wondrous thing. I suppose that's why it hurts so much when we get talked down to and told that our expectations are misguided.
-
@mike lucey said:
Maranto, its becoming tiring!
Jason, I imagine the above statement may not sit all that well with you. Possibly because of the 'Maranto' address. I imagine you would have no problem with the suggestion of you being 'tiring' as you are more than capable of arguing your point
Fair enough -- I know full well what I've been up to is abrasive, which was fully intentional.
There's plenty more that could be said on many levels, but at the end of the day it all comes down to each individuals tolerance. I reached mine already a while ago... and I have seen nothing to change my mind in the interim. So I will go back to occasionally lurking to see if anything has changed... but I certainly am not holding my breath.
-
Thank you Jason. I appreciate that.
Mike
-
@jeff hammond said:
hmm.. i think that changes everything with how sketchup works especially but also in how we interact with sketchup as well as how we use the tools..
Well, I disagree. We would still draw arcs, push/pull them, etc, the same way we always did. What would change is the need for workarounds, the confusion, ... (Though, maybe we would have new features, like push-pull on curved surfaces)
@jeff hammond said:
if you actually need curves-- drop what you're doing, quit worrying about sketchup, and start learning a different program.. thank me in 3 years
Oh, I already do, don't worry about me Still, I never found the simplicity, the speed, and the inference engine of SU anywhere else.
@jeff hammond said:
but, subsequent geometry could not be created off these guides.. prior to geometry creation, a sketchup curve (polyline) would take over and everything would go from there as normal. (curved surfaces etc would still be meshes)
Why not? Is it a matter of display?
Sure, we will always have polys displayed, that's just the way 3D engines work. But that doesn't mean we have to interact with them.
Look at autocad, you work with true curves, and polys are displayed. Their size and number depends on the "REGEN" command.
In Rhino, it's pretty much the same, except it's an option setting controling the amount of displayed polys.
I really like how Revit handles it, the displayed geometry is regenerated everytime you zoom, so a poly is always at most the size a screen pixel. (And I guess it's rarely less, so you save ressources on distant geometry)
Etc... There are ways! It's simply a matter of will. -
@hieru said:
That's all very good, but it cuts both ways. The extensibility of SU sets it apart from a lot of the competition and has greatly helped to keep the software viable.
However, If plugin developers want to extend SU to meet user needs and there is something in the the SU architecture preventing that, then I think that it is reasonable to assume that the SU devs should try and accommodate those ambitions.
John Bacus insinuates that subD and quads are not something SU should even entertain, yet there are valuable plugin developers who are trying to achieve this in order to meet user needs. That's basic supply and demand.
Despite the superhuman efforts of the guys behind Artisan, Vertex Tools and the great advances made in UV plugins, I get the distinct impression that these plugin pioneers are fighting against the limitations of Sketchup's programming. Would it be possible to have a non-destructive bevel plugin without major changes to Sketchup!
When these guys put in so much effort to push SU to its limits, then I think they should be given something in return and be treated to changes in SU that will allow them to reach their real potential and make Sketchup even better than it already is. Snarky comments that make it sound like core users are insane for asking for features that are standard in other apps just won't cut it (that's not directed at you Andrew, your posts have been very encouraging and positive).
At the end of the day, despite all the griping and bitching, most of us love Sketchup, endorse it's ethos, love to contribute to it's development, and evangelise about the joys of working with such a great programme. We all happily take the slack from neigh sayers in the knowledge that SU really is a wondrous thing. I suppose that's why it hurts so much when we get talked down to and told that our expectations are misguided.
Thanks! I think i could sign almost every word.
Advertisement