symfony / symfony

The Symfony PHP framework
https://symfony.com
MIT License
29.84k stars 9.48k forks source link

[WebProfilerBundle] New icons #6490

Closed lmcd closed 9 years ago

lmcd commented 11 years ago

I always thought the profiler icons looked a bit mspaint-ish. I've used icons from The Entypo Pictogram Suite and things look a lot better imo. If someone wants to give the go-ahead on this, I'll submit a PR.

Before: wdticons-2

After: wdticons-1

Icons can be found here: http://www.entypo.com/

Tobion commented 11 years ago

Looks better. But since these icons are CC BY, it would require a link to the author on the WDT, wouldn't it?

lmcd commented 11 years ago

Current icons are attributed to Sensio in ICONS_LICENSE.txt

Tobion commented 11 years ago

I'm talking about the new ones you would like to use.

lmcd commented 11 years ago

Yeah I meant to suggest that perhaps the new ones could be credited in the same place. May be a good idea to contact the author if we decide to use them.

lmcd commented 11 years ago

Scales great at bigger resolutions too: https://dl.dropbox.com/u/169382/wdt-big.png

empire commented 11 years ago

@lmcd And what about using http://fortawesome.github.com/Font-Awesome/ instead. Maybe some icon is not exist, but we can ask needed icons by submitting issues. This icon set is great on bigger resolutions too. Font-Awesome has better developer friendly naming when using them (<li></li> vs <i class="icon-github"></i>)

empire commented 11 years ago

And one more things, Font-Awesome is based on twitter bootrstrap. In the future, we can use twitter bootsrap framework for Profiler page and this Font-Awesome is compatible with.

TroodoNmike commented 11 years ago

I am not sure if "After" looks better. Perhaps for "Exception" and "Events" yes but others are good?

lmcd commented 11 years ago

@empire - the Font-Awesome set is also nice, but not quite as good in my opinion. Also the class names are achieved using CSS :before pseudo-elements... there is nothing stopping us doing the same thing. e.g. <span class="icon-exception"></span>. This way we can fall back to images for custom WDT panels.

lmcd commented 11 years ago

@Tobion also note that the current icons are under exactly the same CC BY license

lmcd commented 11 years ago

Some more profiler cleanups with entypo icons:

Before: wdt-admin-2

After: wdt-admin-1

dlsniper commented 11 years ago

@lmcd is there a live link to see them in action rather that the screenshots? They look great imho and would be a nice change for the WDT. And why don't you submit a PR directly since you've done the work already and see the feedback there? ;)

lmcd commented 11 years ago

I'll create a PR in the next few days. This issue touches various other bundles (e.g. DoctrineBundle), making it a bit of a headache to demo.

lmcd commented 11 years ago

The actual toolbar with entypo icons: wdt-icons-normal

Higher res: wdt-icons-hi

What's the current policy on linking external assets in WebProfilerBundle? I see everything is currently inlined on the page as base64 data uris. What's the reason for this?

If we strip the woff font file of everything except the glyphs we need, it weighs in at only 4,060 bytes. This is way less than the images we're using at the moment, provides scalability at higher resolutions and can be easily inlined. The downside is that we'll lose a bunch of other useful glyphs that developers could leverage. Would be nicer if we could link the font.

Edit: also contacted Daniel Bruce from entypo. He's happy for us to use the icons and attribute via the ICONS_LICENSE.txt file.

fabpot commented 11 years ago

we are using base64 images to avoid any external files. This makes the webprofiler independant of Symfony, the full-stack framework, so that it can be used on Drupal or Silex (I have a working prototype that I will publish soon).

lmcd commented 11 years ago

Ok... I'm still a little unclear though how having external assets ties the webprofiler to Symfony. WebProfilerBundle still depends on the routing component, right? Can't we route assets through that and aggressively cache the HTTP responses?

lmcd commented 11 years ago

Closed by mistake, sorry.

empire commented 11 years ago

There is may great standard front-end frameworks like twitter bootstrap with active community. If we want to make werbprofile usable for other frameworks, I think it's good idea to build it on front-end frameworks.

dlsniper commented 11 years ago

@empire @fabpot mentioned a couple of times that there's no need to introduce such a thing nor a Javascript framework as well, unless there's a seriously good reason for it.

Could you mention what is currently broken and should be fixed in the WDT so that you can use it in another project? That way someone could pickup the issue and fix it.

@lmcd This indeed looks very neat, great work ;)

empire commented 11 years ago

@dlsniper sorry if I mentioned something wrong, that was just an idea because I've thought nature of Symfony (the full-stack framework) is a philosophy to build high cohesion loosely coupled components by community for community. Symfony will encourage others to use it, but maybe, it does not like to use others' components (some components like bootstrap). Maybe WebProfilerBundle need to be decoupled into sub bundles to allow changes like this issue (changing images or some issues else) will be applied easier without many code re-factoring. I agree with you, maybe, there's not seriously any/good reason for doing it now.

lmcd commented 11 years ago

There are other benefits to using frontend frameworks. A lot of the default styles in the profiler/exception/acmedemo pages just suck. Button/input styles are a great example. Now we could pool together as a community to redo some of the CSS to keep with the times, or we can harness the great work done by other open-source projects.

Here's an example of the bootstrap buttons being used in Symfony (with sensical gradients, up/down/hover states, resolution independence):

bootstrap-buttons

I plan on submitting a PR with fixed button/input styles using stuff pulled from bootstrap. Maybe the conversation can continue there.

sstok commented 11 years ago

mspaint-ish? really. :smile: then you have to be a very good designer to create something like that in ms paint.

Ontopic: :+1:

lmcd commented 11 years ago

@sstok - that was unfair of me. mspaint was a low-blow, considering the current set isn't all that bad. However, I do think the new ones would be an improvement.

thewholelifetolearn commented 11 years ago

There is also another Font that come out compatible with Bootstrap but can also be used independently: http://aristath.github.com/elusive-iconfont/index.html The purpose of this font is that you don't have to declare the "owner/attribution" on the project using the font. I find the icons have a nice look and can be used in many situations.

I find the idea of adding Bootstrap good too as I think it is used very often.

inoryy commented 11 years ago

I actually like original ones more :/

:-1:

jakzal commented 11 years ago

:-1:

Most of the original ones look better.

If we still want the new icons, let's at least keep the ghost for exceptions :)

bamarni commented 11 years ago

I agree, please keep the ghost

wouterj commented 11 years ago

I'm :-1: too. The original ones are way better and definitely not 'mspaint-isch'.

lmcd commented 11 years ago

I'm totally surprised there isn't more support for this change. I personally think they're a lot cleaner, crisp and more consistent - particularly at higher resolutions (see below for example). Seems obvious to me, but I guess it's all subjective.

Old: entypo1b

New: entypo1a

I started on logo glyphs but will abandon this for now if the change isn't backed by the community.

Update: Had lots of time on my hands today and managed to get Symfony and PHP logo glyphs done using the Entypo GitHub icon as a template. See above.

umpirsky commented 11 years ago

I like new icons, but would vote for keeping the ghost and old emails icon.

fabpot commented 11 years ago

The other possibility would be to create a font out of the current icons.

wouterj commented 11 years ago

I like @fabpot's idea. I vote for creating an icon font for the these icons:

lmcd commented 11 years ago

Some thoughts:

nihunde commented 11 years ago

1380161_10201938624694505_44628631_n how about this? i retraced it, or at least the ghost. I will gladly provide you with the svg, but i cant attach svg here

pborreli commented 11 years ago

@nihunde typo occured => occurred

nihunde commented 11 years ago

@pborreli oh sorry, my mistake. It was more to illustrate that i retraced it and 3d-printed it.

inoryy commented 11 years ago

looks like that ghost is giving us middle fingers when enlarged :D Which actually makes sense!

hice3000 commented 11 years ago

Are there thoughts about using a frontend-framework anymore? I like bootstrap very much, and it will perfectly fit the current design structure.

stof commented 11 years ago

@hice3000 We cannot bundle Bootstrap into Symfony

lmcd commented 11 years ago

Doesn't the Apache license just require attribution?

wouterj commented 11 years ago

including an Apache license into the Symfony core means it's incompatible with Gpl V2 (iirc) licenses.

see also: https://github.com/symfony/symfony-standard/issues/442#issuecomment-15669331

stof commented 11 years ago

@WouterJ exactly. and so it would forbid using it with Drupal

lmcd commented 11 years ago

@WouterJ, @stof Ah

lmcd commented 11 years ago

For anyone interested, see also: https://github.com/twbs/bootstrap/issues/2054

cordoval commented 10 years ago

@stof but drupal i don't think they use our profiler and stuff don't they?

in any case, what is the status of this? :D i like @Inori appreciation of the middle fingers of the ghost.

I though like the new icons since we need a change with v2.5 :baby:

I even wonder if there is a possibility of themeing the WDT and such icons so we can switch to whatever theme we like.

lmcd commented 10 years ago

Bootstrap is now MIT FYI. I'm working on a PR to bring some bootstrap niceties to the Web Profiler

wouterj commented 10 years ago

Well, did you look at the other reason aswell? It would be quite hard to maintain an up to date bootstrap when we need to edit every style that's in there, so it wouldn't conflict with the page.

lmcd commented 10 years ago

Namespacing the whole of bootstrap using LESS is trivial (one line of code). Also, I still firmly believe we should lift the limitation on inclusion of external assets. We can easily use routing and an asset controller to resolve this.

fabpot commented 9 years ago

Closing now as no consensus can be found on this one.