Shop Forum More Submit  Join Login
About Deviant error0x196Male/Poland Recent Activity
Deviant for 9 Months
Needs Core Membership
Statistics 24 Deviations 53 Comments 5,992 Pageviews
×

Newest Deviations

Favourites

Dark Heart by ItsKaylaErin Dark Heart :iconitskaylaerin:ItsKaylaErin 1,274 32 Flower Crown by ItsKaylaErin
Mature content
Flower Crown :iconitskaylaerin:ItsKaylaErin 1,313 40
Reflections  by andresbportraits
Mature content
Reflections :iconandresbportraits:andresbportraits 19 4
Sandra by corsuse Sandra :iconcorsuse:corsuse 16 6 Wasteland explorer by Fernand0FC Wasteland explorer :iconfernand0fc:Fernand0FC 163 15 Lady by CeroArt Lady :iconceroart:CeroArt 15 0 Donna by fionafoto
Mature content
Donna :iconfionafoto:fionafoto 156 9
Decoy by ivyslink
Mature content
Decoy :iconivyslink:ivyslink 41 6
Valentine's Day - Michelle 6 by greglarro
Mature content
Valentine's Day - Michelle 6 :icongreglarro:greglarro 24 1
~faith~ by creativephotoworks
Mature content
~faith~ :iconcreativephotoworks:creativephotoworks 429 8
Janesinner by MissySuicide
Mature content
Janesinner :iconmissysuicide:MissySuicide 322 8
Guino by MissySuicide
Mature content
Guino :iconmissysuicide:MissySuicide 179 1
Mernie by MissySuicide
Mature content
Mernie :iconmissysuicide:MissySuicide 65 1
Hellcat by MissySuicide
Mature content
Hellcat :iconmissysuicide:MissySuicide 256 3
Pher by MissySuicide
Mature content
Pher :iconmissysuicide:MissySuicide 209 1
Rosea by MissySuicide
Mature content
Rosea :iconmissysuicide:MissySuicide 171 0

INTRODUCTION

I've been working lately on an web app that would be a browser for DeviantArt content (and I've called it "Deviant Browser", cool, huh?). So it uses DeviantArt API to communicate with servers (and get the content) and for now only this, so no web scraping or anything - if you've ever used this API you know it has it's limits, but I'll talk about it later.
I guess I wanted to learn something new and create something that is actually somehow useful (at least for me), so it's really made to meet specific user's needs - users like me, who mainly just browse and fave a lot of stuff.
So what this app is now:
  • you can browse "popular", "hot", "newest", "undiscovered" tabs (specification of time-frames, categories, etc. is in plans)
  • search by phrase and by tag
  • browse other users profiles (only their deviations and favorites/collections)
  • authenticate the app in DeviantArt to be able to add deviations to your favorites/collections, (un)watch users and browse your watch feed (and to be honest for now I didn't care much to write this app for it to work without authenticating it, but there is some base ground for this prepared!)
That's basically it.

BROWSING

How does it look like? Well, like this:
1 by error0x196
This is main page with DDs and when you scroll down rest looks like this:
2 by error0x196
And some details:
11 by error0x1969 by error0x19610 by error0x196
Yeah, I like it dark.
I decided that masonry layout would be a good choice and to be honest... it's far from perfect, but it's good enough. I try to keep it minimalistic and uniform, use as much as possible available space to present the images, but rather to give them more place to be noticed that to show more of them at the same time on screen. Yes, thumbnails are cropped to fit the layout and some of them suffer because of it, but after some testing and comparisons I decided that it looks the best this way (layout is regular with the least amount of empty space or fillers).
What's cool is that history is updated as you scroll up and down, but contrary to original DeviantArt here it works everywhere. Yes, in user's galleries and collections too. And in watch feed but unfortunately this part doesn't work how you'd expect, because of the nature of it's implementation and lacks in DeviantArt API (later about that).
6 by error0x196
Well, user profiles don't have all of the other cool stuff that is available on the original DA, but again - I focus on deviations. In galleries and collections there's this side navigational menu, which allows to change gallery/collection (depends on context).
7 by error0x196

DEVIATIONS

As they say "a picture is worth a thousand words":
3 by error0x196
Even though the images are using as much space as possible on screen, header still seems like a waste of space for me, but I didn't have any better idea to place the elements that it holds in a way that would be readable and would't clutter the screen with floating buttons everywhere.
4 by error0x196
I want to get the comments working at some point, but for now I couldn't find the willingness to take care of that (and don't have much time either).
I must admin that I'm particularly proud of what I've done to make adding to favorites as fast and convenient as possible. So, when you're like me - browse a lot and have tens (or maybe hundreds) of collections to put your favourite stuff into (I have around 80), it may become quite painful to look for particular collection every time you want to save something there, even if you have them sorted so it's easier for you, it's still painful (for me at least). To fix that I added a simple filter. You don't even have to hover the cursor above this star icon and click the field to be able to filter collections, just start typing and it automatically picks up, and filters as you type each character. At this point you can use arrow keys, mouse wheel or just hover the mouse to pick desired collection and click enter or press it with mouse to add deviation to this collection. It's stupidly simple, but so effective. On original DeviantArt finding collections takes me on average at least few seconds, but in my app less than one. Note to DA staff: please, implement this in Eclipse, you have my permission xd
5 by error0x196

WATCH FEED

This was actually the main thing that I wanted to make better suit my taste (like size of the thumbnails), so I started writing this app, but I was quite disappointed when I finally found out that I practically can't do much with using official API. The reason is API doesn't allow in any way to manipulate its contents, so basically to clear the feed like on original website. It's implemented like feed on Facebook and API allows to only read from it and read only in such a way that to get to old content you have to fetch everything that came after it, and this is painful because API has quite strict limits on usage (number of request across a timespan).
So, currently it's possible to browse the feed, but clearing it is not. It sucks.

TECHNICALS

Backend: Python with Django.
Frontend: JavaScript (jQuery with bunch of libs to manage the masonry).
To connect with the API I used BloodyWing's django-deviantart package which helped me greatly to get this thing fast on the feet, I had to modify it later (add POST requests, and caching and "cooldowns" because of the API limits) but it was still of invaluable help, so thank you for sharing it :)

LIMITS

As I said - DeviantArt API has quite strict limit on number of request. Most of the time I probably spent trying to reduce number of them without hurting functionality, but it's still quite bad, because after about an hour of using the app I alone am able to hit the limit easily, so there's no chance that it could be used by more people as they would basically instantly hit the limit. Only way for others to use it would be to release it as a whole with the Django server, so anyone who would use it would provide their own app id and secret, run the server on their computer and use it locally. Not like I'm planning on releasing it, but I guess it shows that it's hard (or impossible) to make "real" app that uses this API, or I just don't know something, so if you do - explain :)

CONCLUSION

I'll will still work on this, mainly for fun, but for real it's actually the most useful thing I've ever developed - not only because I use it now more that original website, but I learned some JavaScript which was one of the reasons that gave me job afterwards, so it's cool. :D And, of course, I'm open for any suggestions you might have :)

PS. I'm sorry slyvanie that you became my involuntary volunteer to present some aspects of this project, so of course if you don't wish me to use your art here i'll remove the images.

Comments


Add a Comment:
 
:iconthelizardking25:
thelizardking25 Featured By Owner 1 day ago  Hobbyist Photographer
Thanks for the faves!
Reply
:icongothicnarcissus:
GothicNarcissus Featured By Owner Feb 3, 2019  Professional Photographer
Thank you for the :+fav:! :heart: :rose:
Reply
:icontokatun:
tokatun Featured By Owner Jan 31, 2019
Thanks for adding " Body expression in B&W" to your collection
Reply
:iconafterthedream:
afterthedream Featured By Owner Jan 30, 2019
Thanks for the :+fav:! If you're interested, you can read the entire comic at www.afterthedream.net
Reply
:iconmargancovkaa:
margancovkaa Featured By Owner Jan 29, 2019  New Deviant Hobbyist Digital Artist
thank you for the fave!
Reply
:iconcloe-may:
cloe-may Featured By Owner Jan 27, 2019   Photographer
thank you for watching :)
Reply
:iconleothefox:
leothefox Featured By Owner Jan 26, 2019   General Artist
Thanks For The Llama Emote 
Reply
:icontrippy4u:
Trippy4U Featured By Owner Jan 24, 2019
Thank you :beer:
Reply
:iconenchanted-april:
Enchanted-April Featured By Owner Jan 23, 2019  Hobbyist Digital Artist
... and for another fave for my Anne B.
and for adding me to your watch list :heart:
Reply
:iconenchanted-april:
Enchanted-April Featured By Owner Jan 22, 2019  Hobbyist Digital Artist
Thank you sooo much for :+fav:ing my Something has gone totally wrong
:D
Reply
Add a Comment: