Show HN: My first webapp. Build with rails, backbonejs and lots of love.
themescroller.com
themescroller.com
A directory for wordpress themes sounded like a small enough project to start learning everything there is to know about running a webapp. What i learned the last 2 month feels more valuable then 3 years of college. The backend runs on rails, the frontend is done with backbonejs and i'm using mongolab.com as my database-(service).
the skills that i learned so far are mostly technical, now i need to figure out how to get the word out... any pointers on how to do that are very welcome.
I thought i start here since i love how much you help fellow hackers out. any feedback on the app would be highly appretiated.
How do you manage the color detection, do you tag it yourself? For Orange, there's one theme that should not be here : the "screen" one but as the theme is based on pictures "wallpaper" changing maybe one of them has orange in it?
the colors are tagged by a script. i wrote a scraper for all of these marketplaces, which collects all the data, takes a screenshot, (tries) to guess the main color and uploads everything... so yeah, if there is a huge example picture with the color orange, my script thinks orange is part of the theme. maybe i can deactivate all images for the color guessing part. i have to figure that out. but thanks for the feedback, really appretiate that!
1 - how many hours/how much time did you spend on this, from beginning to end?
2 - what tutorial did you use for the nodejs part of this project?
3 - are you pulling in themes dynamically or through an API, or did you pre-load the themes into your database?
Great job on your first app!
2) to start out i read this http://coenraets.org/blog/2011/12/backbone-js-wine-cellar-tu... and then everytime i was stuck i search for a solution on stackoverflow. i'm not using nodejs btw. just backbone for the frontend. once you done a couple of tutorials, i recommend using http://www.brunch.io
3) the themes are coming from my rails backend. i have a mongodb database on http://www.mongolab.com. the backbone app makes a request to my rails server and gets a respond as json. you can see how that looks like at http://www.themescroller.com/themes.json
- Right now you have to click directly on the checkboxes and radio buttons, which are small targets. There is an easy way to let users click on the text next to the checkbox, and a padded area around it a few pixels, which will make them much easier to use.
- You are mostly using the browser-default typography. Most web applications look better with sans-serif fonts, like the ones you see in any menu on a desktop application.
- The url is currently a bit ugly for the default case, with lots of ?blah=all. Can you figure out a way to remove those and just assume "all" as the default if it isn't in the url?
- The filter tab currently has what I would technically describe as "a big jumble of options". Everything looks the same and is the same size, as if you expect all of the options to be equally used and to have the same relationship. Can you think of a way to provide more understandable structure, by making some of the options (the more useful ones) stand out more, and others be out of the way. Or can you find some relationship between the different options that can be expressed visually?
- "Only free themes?" All, Yes, No. Are "all" and "no" the same? Perhaps you mean: All, Free, Paid?
Have fun! I know how exciting a time it is tuning your first big thing. Good luck.
You can use it one of two ways. Wrap the text and radio/checkbox button in the <label> tag such as :
<label><input type="checkbox"> Medium</label>
Or using the for/id attributes as follows: <label for="boy">Boy</label>
<input type="checkbox" name="gender" id="boy">
<label for="girl">Girl</label>
<input type="checkbox" name="gender" id="girl">
Excellent first app! I'm sure you've learned a lot about building it. That would actually really interest me, a blog post perhaps detailing all of the things that you learned while building it.i think the reason why i did this, was because initially the preview und market links didn't open in a new window. but you're right, if the user is staying on one page, he doesnt need a 'back' functionality.
thanks for the feedback, i already changed it, going to push it later...
2/ It would be great if you had some info about the theme, for example, when I'm looking for a wordpress theme, I want to make sure its design is responsive. You should add some theme info to your app !
Great job anyway ;)
2) yes better filters/ more infos is on the roadmap. getting data of ~4000 themes is not a task i want to do by hand. and the infos i get by scraping the sites is limited. but as someone said before, the user doesn't care about how its done, the user cares about how it works. so i'm going to think about that. maybe i let mechanical turks look for all that data.
but for now: there is a filter for responsive themes. its the layout-> responsive layout filter. if you select that, you will get all the themes where i definitly knew that they are responsive.
Good luck with the themes info retreival :)
To get the word out; posting here is a good start. Post on Reddit too. Also, you could try sending a Press Release type email to relevant blogs - they might blog about your app.
Think about SEO and how your site ranks in a Google Search for instance.
yeah seo is a hard one, since the app is basically just images...
Pick the most important theme related sites and hand craft a very concise and to the point email without it looking too generic sounding.
From the perspective of a dev who occasionally buys from Themeforest, I find a few of the pieces of default TF metadata really important: price, browser support and # of sales (in decreasing order of importance). Don't know how accessible that info is via the API, but it'd be great to access that info without many (or any) clicks.
I will offer one UI design tip. The radio button for All and check boxes for yes/no, etc under the filters tab is not how these ui elements are typically used. Checking Yes and No is all, so there is no need for the All option, just have all the check boxes checked by default and allow the user to uncheck the ones they don't want to see.
How about adding a text search as well? I regularly search for stuff like "admin" or "app" to narrow the search.