Fontello as a CDN (+ accounts) #143

Closed
nicooprat opened this Issue Mar 20, 2013 · 21 comments

Comments

Projects
None yet
4 participants

As a front-end developer, I'm now using fontello for months as a daily tool. It saves me a lot of time and make my work more enjoyable.

When developing a website, we're constantly adding or removing some icons from our "custom-pack". So the more time consuming part is to download the pack again, unzip it, replace all the right files at the right place, remember to keep the last config.json and copy-paste the new stylesheet classes.

I thought it could be really interesting to have the possibility to simply link to a single remote stylesheet (like Google Webfonts does) that is always up to date when we save it on Fontello.

I know there already are some online services for this like Icomoon, but these are paid ones (and I prefer Fontello :)). I also know I can't ask for a free one that does the same. Actually I was thinking at something we could use for development only, not for production : maybe something with a very low access per month and not-so-good performances ?

The second idea that comes with it is the possibility to create an account on Fontello where we could manage icon packs associated with projects. This way we won't need to re-import a well-hidden-in-a-deep-folder config.json every time we have to work on an old project : simply login, go to the project, edit the font pack, download.

I think it could be a little, but precious value added.

Of course these are ideas that need more reflexions, but what do you think ?

Owner

puzrin commented Mar 20, 2013

Interesting suggestion. Can't say, that it's optimal (+1 request), but it contains valuable idea. Let's think, how we could simplify your life with minimal efforts and without quality tradeoff :)

  1. May be, we could write a script, that will automate font uploading? Based on grunt or something similar.
  2. Fontelo is not suited for automation, but we found interesting ideas in #137 . May be you find there some lacking info
  3. That's a bit crazy & insecure alternative - fontello can publish files on your server :)
  4. We can simplify config upload (via drag & drop, + understand the whole zip without unpacking)

That's not final, just for record. Let me know what do you think about, as potential user.

I need to understand, wich steps are the most boring. May be, we don't need to optimize everything, just some.

Actually I wasn't specifically talking about publishing modifications to a server, but simply working in a local environment. Of course the same problems would apply, but I'm using Git for deployment so I'm not really affected.

Anyway, the idea was more pulling a stylesheet from a remote than allowing this remote to push modifications to another.

About your proposal :

  1. That might help some users indeed, I guess those still working with FTP
  2. I don't complain on Fontello performances, which are very good ;)
  3. Not sure about this one :D
  4. Drag'n'drop would be a great first step indeed ! The zip-understanding would be a bonus, but not really necessary in my case (just saying, because I think it's a lot of development).

For me there're two situations where we could improve things. I'll try to clarify my thoughts.

First, when working on the same project for a long time

  • Problem : we need to edit the pack on Fontello, download, replace files, and so on, every time we do a modification.
  • Solution : make Fontello a CDN that serves a stylesheet updated every time we modify it on Fontello.com
  • Application : 1/ Link to the remote stylesheet, something like "cdn.fontello.com/nicooprat/icons.css". 2/ Edit the current icon pack online. 3/ Click "Save". 4/ Refresh our web page. 5/ Tadaa, the new icons are there.

Second, when working back on an old project

  • Problem : we need to find the config.json and import it again on Fontello.
  • Solution : have an account on Fontello.com where we can manage projects with a specific icon pack configuration associated with.
  • Application : I think this could be resumed as saving config.json associated with Projects & People on Fontello server instead of only allowing to download them. Clicking on a project would get back to the icon pack configurator with the project configuration loaded.

Of course the two ideas are compatible :)

Owner

puzrin commented Mar 22, 2013

In general, i'd like to avoid storing users config on server. Than means another level of responsibility & business organisation. But nobody prohibits us be to solve users problems in another way, without quality tradeoff :) . If fact, users don't need CDN, they need more effective integration (upload/download/deploy).

At first, it's possible to make sript, that will open fontello with your progect from command line:

  1. user executes make fontello-open or grunt fontello-open
  2. it will take your config, send it to fontello, and receives shortlink
  3. then it will open shortlink in the browser, and you'll get fontello site with applied settings

Will it be useful/convenient/enougth? Since you use git anyway, it will not be a problem to customize your command line tools with simple template.

Ok I understand your problematic. The Grunt solution looks like a good start indeed, but I never used it for now. It would be interesting to have other people thoughts about all this.

Owner

puzrin commented Mar 22, 2013

Do you use anything else (not grunt) to automate regular tasks? For example, you may need to join js files, compile stylus/less/sass, minify, and other things. Do you have some scripting system to simplify your life?

Not really, actually for all the task you listed I'm using Codekit right now.

(By the way, what about developing an Fontello.app for Mac ? It would be a good solution too ! :D)

If fact, users don't need CDN, they need more effective integration (upload/download/deploy).

I agree. This is kind of what I was trying to get across in #134. I really don't expect or want Fontello to have accounts. There is no need for them. If an API were provided, you could provide this kind of "saving" mechanism locally. Whether it's a script on your computer or full fledged integration on a website/server (like I'm trying to do with http://dgo.to/fontello), it gives you more control over how these bundles are "saved".

Owner

puzrin commented May 5, 2013

@nicooprat , I've released fontello API, and now you can write make task, to import/export you config, to eliminate boring manual actions. https://github.com/fontello/fontello#developers-api

Does it cover all questions in this ticket? Can i close it as complete?

Yes I think so ! Thanks for you work. I hope it will help others too.

nicooprat closed this May 5, 2013

Just a side note because this service has been released a few weeks ago and is doing pretty much what I was suggesting initially : http://fontastic.me/

Owner

puzrin commented Jun 10, 2013

Try to be more specific. What features exactly do you mean.

He means he want's the ability to register with an email address and password, then login and keep information stored on Fontello.com. I still think that's antiquated and would cause much more headaches in the long run, but that's just me.

Err, sorry, it was clear in my mind. Fontastic allows to create accounts which only save "packs" of icons. I find it more convenient than re-import config.json (but it should stay, it's a great backup).

Owner

puzrin commented Jun 10, 2013

creating accounts != featue.

Saving configs on servers - do you really need saving configs on server or just multiple sessions in your browser?

@puzrin I'm not sure I understand... Why won't it be a feature ? What do you mean by multiple sessions ?
@markcarver Why do you think it's antiquated ?

Misunderstand me not : I think config.json are still useful, especially when working with others who won't have access to your "Fontello account" for example.

Owner

puzrin commented Jun 10, 2013

Now fontello saves last state in browser's localstore. It's possible to save multiple states there. That's not shareable, but you still can share via config.json import.

@nicooprat Because, accounts are [meant] for storing personal information, not specific packaged fonts. Everything that's needed is in the config.json (which can be backed up in something like a git repo). I deal with 30+ icon fonts at any given time. It's not necessary to have them stored on Fontello.com (which just adds more complexity and time @puzrin has to deal with user accounts). If I need to modify em, I drag and drop/re-download (or use the API, which I'm still working on @puzrin, promise).

I'm not saying the "technology" of accounts is antiquated, but rather the idea that they need to be everywhere. The web is full of "logins", half of which no one can remember. Can we please not add yet another one, when it's really not necessary?

Get it. I agree that it's not the best solution. Local storage is a good option but has some limitations... I'll come back if a better idea hits my brain.

PS: dumb question, is there any wiki where the clone/installation of Fontello locally is described ? I saw a lot of JS in the code, do I need node.js or anything else ? I'm essentially a designer and would try some tweaks on the interface, but didn't find any explanation :) Thanks.

Owner

puzrin commented Jun 10, 2013

https://github.com/fontello/fontello/blob/master/INSTALL.md

Accounts will appear some time... But they must add much more value, than just storing sessions on server. For example, creating user-filled gallery of CC icons. Like nounprogect does. Some time ago they changed their policy, and by fact their icons are not free anymore.

Ow, looks like a big challenge for a not-really-developer-on-a-mac like me...!

Ok, I'll try to find out what more could be useful for a daily use.

use fontwesome. :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment