deviant art





Login
Join deviantART for FREE Take the Tour Lost Password?
Deviant Login
Shop
 Join deviantART for FREE Take the Tour
[x]

Featured in Groups:

Details

January 13
Link
Thumb

Statistics

Comments: 25
Favourites: 21 [who?]
Views: 523 (1 today)
[x]

The Art of Code

Fri Jan 13, 2012, 6:35 PM


As written by `ginkgografix in the Guide to the deviantART Related Gallery, The browser scripts and extensions category is for scripts that add new functions to (or modify current functions of) deviantART.com. Commonly these scripts are installed through Greasemonkey, but some are designed to install through web browsers such as Mozilla Firefox. Keep in mind that this category is for functioning scripts, not just ideas for scripts.

This is perhaps one of the most resourceful types of dA Related deviations :dummy: But, how do you create these? In order to find out, I interviewed a couple of creators of scripts, user styles and apps. :eager:

Please tell me briefly about yourself and what you do for dA.


`electricjonny
I'm just a guy that's learning more and more about scripts and styles mostly because I want to adjust how dA works :lol:  As for what I do?  I don't exactly understand the question.  I make scripts, when I or other people have an idea, and can make it work.  If I think enough people will like it, I deviationify it.


*Atraius
I'm a college student who is majoring in Computer Information Science. Though, I'm a part-time dA lurker and in my spare time, I like to tinker with deviantART's CSS with user styles for an addon called Stylish. Basically, I just modify the way your browser views deviantART.


=Dediggefedde
My name is Julian and I come from Germany. Currently I study for BSc in Physics.
I try out all kind of arts, such as traditional/digital art, photography, symbolism, etc, but the most popular part seem to be my userscripts. I try to write those userscripts so, that they are useful for most deviants (not just subscription-users) and to give additional functions, not just graphical tweaks.


=Pickley
Hi, I'm Aaron, I come from New Zealand. Mostly I make dA related iOS apps such as dAmnMobile 2, dA Uploader and the upcoming app, dA Messages, but I will be expanding away from dA shortly into new areas. I have also created CSS skins for journals on dA.


`parallellogic
I am an Aerospace Engineering Graduate student with aspirations in the satellite industry. On dA I am a senior member; my current status was granted for my work alpha testing the groups platform through #devBUG, where I continue to help debug emerging features today.


=trezoid
I'm a developer/artist/mad scientist/techno-hipster who builds crazy stuff (and makes damn fine coffee!). For dA I make lots of userscripts, and a bunch of journal skins and userstyles.
I also win at dAmn.


Where do you get ideas for your scripts/apps/styles? Do you take ideas and feedback from users?


`electricjonny
I've taken a few ideas from people's suggestions about what they want to see here (mostly scripts), or just things I want changed that can be changed.  As for user styles, it's mostly me and my personal style and how I would like to see the site look.

*Atraius
I get most of my ideas from dA. Basically, I like to improve what dA has already done by making their style flow better with certain elements. But one of my more popular styles, one which makes the top bar scroll with the page while also hiding, was actually influenced from the way Windows auto-hides its taskbar. I wanted to create a functional script which makes it easier for users to have quick access to messages and menus, but without compromising the look of dA.

=Dediggefedde
Yes, of course I take feedback from users, e.g. when they send me notes, a profile-comment or a comment on another Deviation. I try to read and react to all of the comments given to me, not only to get more ideas, but also to react to bugs or invent existing scripts.
Another source are suggestions. I watch some groups where suggestions are made and look at every suggestion, that could get realized per userscripts... However, not all can be realized and I will not try to realize all that could be^^ The last thing depends on my time, the difficulty-level and my mood.
The third and last source is my own experience: sometimes I just want to have a feature, a additional button or something else and then I try to put the idea into a userscripts...

=Pickley
My apps are actually things I wanted myself, I find it's best to build something you actually want yourself and then let others decide if they want it to.

I always take ideas and feedback from the users of my apps as it really helps to see what they want from it and where I can take it in the future with new features and updates.

`parallellogic
When looking for app ideas, I ascribe to "see a need, fill a need" or any variation thereof. I look at what features on dA frustrate other users (or me) and work to fill those gaps.

I take any and all feedback from users very seriously and greatly appreciate it in general. Personally, I find one of the most appealing aspects of dA is the discussion: I greatly enjoy developing ideas with other users.

=trezoid
For ideas I love browsing through the visual suggestions gallery. For more stylistic stuff (err...styles) I tend to already have an image or color scheme that I want to use and through the power of awesome-ness turn that into a skin.

What languages do you use to create these? Where did you learn most about these?


`electricjonny
It's all JavaScript (for scripts) and CSS (for styles), although HTML is often used in scripts. That's about it, and all that's required for what I do. I am learning by doing. I can't tell you how much I edit something and then hit refresh to see how it changes. Rinse repeat, a lot =P I learn a lot mostly by googling for examples/explanations and then changing things to see how it works.

*Atraius
Stylish only reads a style sheet language called CSS (Cascading Style Sheet). Basically, it's a document where you select HTML class and ID selectors to change the way they are viewed by the browser. I actually learned CSS when I was younger teenager. The best way to learn it in my opinion is just by trying it yourself and using websites like W3 Schools as a guide.

=Dediggefedde
For userscripts, you mostly need javascript. After I learned some other programing-languages, I had some free time and I decided to learn javascript. I'm not the book or tutorial-person, so I just started making userscripts and looked up every function I didn't know.
Of course, you need to use some HTML/CSS for this, too, but that are only "markup-languages", that are very simple to learn and to look up. Sometime I decided to make a homepage with html, css and php, so I learned those^^

=Pickley
To create my apps I use Objective-C, HTML, CSS, and Javascript. I'm still learning Objective-C as I go, but HTML and CSS I have taught myself over the last few years from various sources on the internet, too many to name.

For Objective-C, I would recommend the Stanford iOS courses, I've learnt heaps so far from them. They are awesome.

`parallellogic
I have coded in several languages over the years. Java is my primary language, but I am working on branching out. This semester I've been working in the Aerospace lab programming Linux computers in C to interface with various sensors/actuators. I have played around with Arduino and general purpose robotics, which is working on a limited form of C++. ActionScript 3.0 is surprisingly close to Java, so I've picked that up rather quickly. In the past I created custom journal skins in exchange for subscriptions, and as a result I became familiar with CSS. I've also had limited experience with Python, MySQL, PHP and VisualBasic and a few others that elude me at present.

In terms of education, I took two years of formal Java programming in high school.  Everything else I've picked up from playing around with the code or working with code samples/demos.  Tizag has been a site I generally refer new users to (most useful for web development).

=trezoid

I primarily use CSS and Javascript. The first I learned in highschool (see, those classes ARE useful :stare:), but more recently I spend quite a lot of time keeping up with the new shiny hotness from the browser support pages. The second is a much longer tale that envolves a great quest across a dist...wait...that's a game :slow:.

Do you need and use any technical information from dA, like classes, DiFi etc? Where do you find these?


`electricjonny
I use a lot of DiFi, and just about everything I use I've found out or discovered using Firefox's Firebug extension. I can take a look through the HTML of pages to find CSS selectors, and also look at the JavaScript that's being used on each page, along with DiFi requests that get sent out/received as I perform certain actions. I love Firebug.

*Atraius
The only information that I pull from dA comes from their CSS documents and the HTML on their pages. I use Mozilla Firefox (I suggest Google Chrome over Firefox for web developers, I'm just set in my ways) when I am writing these scripts, so I end up using Adblock Plus's Element Hiding Help plugin to select elements I wish to edit. I then select the user page using Adblock to figure out what element the user pages use. So, if I wanted to make the background of the userpages red, it would be a simple script that looks like:

#deviant { //this selects the element that the userpages use
background-color:#F00!important; //this changes the background color to red using hexadecimal RGB color codes
}

=Dediggefedde
Well, I don't use the classes already implemented in the dA-site as I didn't find much documentation about them... If I need information about deviations, messages or groups, I to to grab them via site-request from pages within dA or the difi-site. However, the Difi-site is kind of complicate to communicate with, as not all functions are documented yet...
There are some user-made documentations on difi, but not exactly complete... so, it's kind of like luck, if you can find the information you want^^

=Pickley
I use a lot of the technical information around dA, and have contributed most of my knowledge of the inner workings to a wiki, found here.

That wiki contains the communities documentation on the DiFi system, it's basically everything we know so far. And we still work out new classes everyday.

`parallellogic
My programs do interface in a limited way with deviantART.  The programs in my gallery work directly off of the HTML page source data.  However, I have been dabbling with DiFi calls to make a program that can search notes (at the request of a Community Volunteer).  However the structure of these packets has changed rather notably over the past several months (which breaks the otherwise functional program), making me inclined to look for a more stable solution to read notes with (or to at least make my current approach more robust).

There are many useful programs I have come across.  Wireshark, which I use for packet sniffing, is an incredible tool that I am still learning to use.  I code Java in BlueJ (with JDK), but the industry standard appears to me to be Eclipse.  Notepad++ is a tool useful for pretty much any language.

=trezoid
I don't, usually, use any of the information about dA. What I do use extensively though is firebug (which is, seriously, the most useful thing ever for styles, and almost as useful for scripts). If I want to hook into dA stuff I tend to use the firefox web-console with it's handy dandy auto complete stuff letting me find out what I actually have access too.

Would you like to promote any groups, chatrooms, events etc. in the dA community?


`electricjonny
I've never been one to promote something (just not something I often do), but the chatroom #DevelopingDevelopers is a good place to start if you want to hang out and chat with other developers.

=Dediggefedde
Well, I don't own any group... but I would like to see #iterators more active as it seems to be the currently most active developer/suggester-group for unofficially improving deviantArt... as far as I heard^^
(there are groups like #deviantART-Related and #DeviantARTconcept, but they are more for general topics...)

=Pickley
If anyone is interested in more developer talk, I'd suggest #DevelopingDevelopers on dAmn, majority of the developer community visits and are most willing to answer any questions you have, whether it's just general questions about how dA works, or more specific code related questions.

`parallellogic
I encourage users to submit their suggestions for dA to #DeviantARTconcept. If you have any questions on profile badges, please refer to #Badges-of-DeviantART.
:icondeviantartconcept: :iconbadges-of-deviantart:

=trezoid
#eCSSited is pretty awesome
#Fun4Fun is full of people who are pretty awesome
#eCSSercise has a few tutorials to make YOU pretty awesome.
:iconecssited: :iconfun4fun: :iconecssercise:

Thank you guys for your contributions! :hug:


For those who can't get enough of scripts :dummy: Try these! Warning, I haven't tried them all :paranoid:


:icon:
Add a Comment:
 
:iconpica-ae:
"If I think enough people will like it, I deviationify it." What a word :O_o:

--
Community Volunteer for Text & Typography | I accept DD Suggestions

"i'm either feeling very good or else i am insane"

deviant /ˈdiː.vi.ənt/ A person or behaviour that is not usual and generally considered unacceptable
Reply
:iconnamenotrequired:
^namenotrequired Jan 16, 2012  Student Interface Designer
Hehe, I like that word :giggle:

--
Community Volunteer - deviantART Related
Join #deviantART-Related · Chat in #dARelated · browse ~darelated

Need dA help? Try #help or the +faq:D Or send me a note:note:
:flageu:Try #InternationalFAQ for other languages!

FAQ #56: How can I get noticed on this site?
Reply
:iconpica-ae:
it is awesome :squee:

--
Community Volunteer for Text & Typography | I accept DD Suggestions

"i'm either feeling very good or else i am insane"

deviant /ˈdiː.vi.ənt/ A person or behaviour that is not usual and generally considered unacceptable
Reply
:icondediggefedde:
It's interesting that there aren't that many differences between our motivations^^
Thanks for letting me participate!

--
Help getting Deviants more feedback!
#GetWatchers helps you with its interface!
Reply
:iconnamenotrequired:
^namenotrequired Jan 14, 2012  Student Interface Designer
It is :nod: Thank you for participting! :D

--
Community Volunteer - deviantART Related
Join #deviantART-Related · Chat in #dARelated · browse ~darelated

Need dA help? Try #help or the +faq:D Or send me a note:note:
:flageu:Try #InternationalFAQ for other languages!

FAQ #56: How can I get noticed on this site?
Reply
:iconatraius:
*Atraius Jan 13, 2012  Hobbyist Writer
Thanks so much for including me in this :la:
Reply
:iconnamenotrequired:
^namenotrequired Jan 14, 2012  Student Interface Designer
Thank you for being part of it! :D

--
Community Volunteer - deviantART Related
Join #deviantART-Related · Chat in #dARelated · browse ~darelated

Need dA help? Try #help or the +faq:D Or send me a note:note:
:flageu:Try #InternationalFAQ for other languages!

FAQ #56: How can I get noticed on this site?
Reply
:icongillianivy:
=GillianIvy Jan 13, 2012  Hobbyist Traditional Artist
:lmao:"power of awesomeness" :D Indeed! :highfive:'s for everyone. Thanks, enjoyable article.

--
Etsy: [link]
DeviantART Team: [link]
Reply
:iconnamenotrequired:
^namenotrequired Jan 13, 2012  Student Interface Designer
Yus! :dummy: thank you, glad you think so :)

--
Community Volunteer - deviantART Related
Join #deviantART-Related · Chat in #dARelated · browse ~darelated

Need dA help? Try #help or the +faq:D Or send me a note:note:
:flageu:Try #InternationalFAQ for other languages!

FAQ #56: How can I get noticed on this site?
Reply
:iconthelasth0pe:
Awesome article :D
Reply
:icon:
Add a Comment: