Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
kedo
Nov 27, 2007

fletcher posted:

That looks pretty sweet, I'm on Linux though

Try Charles. It has throttling options.

Adbot
ADBOT LOVES YOU

Subjunctive
Sep 12, 2006

✨sparkle and shine✨

fletcher posted:

That looks pretty sweet, I'm on Linux though

Charles works differently, but is usually fine.

http://www.charlesproxy.com/documentation/proxying/throttling/

A guy at work uses a variant of this:

https://gist.github.com/obscurerichard/3740206

Depends a bit on whether you want high latency, low bandwidth, or both.

e;fb on Charles

RobertKerans
Aug 25, 2006

There is a heppy lend
Fur, fur aw-a-a-ay.

fletcher posted:

Is there an easy way to simulate a slow internet connection in a web browser?

There's https://github.com/tjgq/grunt-throttle , if that's your bag.

an skeleton
Apr 23, 2012

scowls @ u
Trying to get a SailsJS framework API adapter up at my internship. I'm pretty much a big sucky newb, but does anyone know why DELETE http requests are routing to the Find: function instead of the Destroy function for our API adapter? I hope that makes some kind of sense. All the other requests (GET, POST, PUT) are routing to the correct functions in our adapter file, and DELETE used to be until it randomly stopped.

PleasureKevin
Jan 2, 2011

A client wants me to use Unbounce for their site because it's where they generate leads. You can upload a .unbounce file as your page. But I can't find any documentation on what this file is. I'm guessing it's just CSS, PHP and JS in a package. I can't even get such a file to examine. There are many on ThemeForest, but not for free. Does anyone know about uploading poo poo to Unbounce?

The Dave
Sep 9, 2003

My assumption is you have zero access to unbounce? Could you get it from your client and access their documentation?

PleasureKevin
Jan 2, 2011

I have access. Support just told me there is no documentation. It's proprietary and only for importing and exporting from the Unbounce EZ-Theme Wizard™. I can upload JS and CSS, though. So either I use it and learn about Unbounce, convince client to switch or drop them.

Munkeymon
Aug 14, 2003

Motherfucker's got an
armor-piercing crowbar! Rigoddamndicu𝜆ous.



E: Disregard - it was not completely clear to me from Mozilla's docs that *-of-type only work on elements and not classes.

Munkeymon fucked around with this message at 21:36 on May 23, 2014

Sub Par
Jul 18, 2001


Dinosaur Gum
I have a small app for personal use that checks RSS feeds at intervals and then crawls the URL for the open graph image and displays it to me along with the story details. I'm thinking of letting other people use it, but I wanted to make sure this was ok - I'm not saving the og:image or anything, I'm just doing
code:
<img src="http://some-blog.com/images/my-og-image.jpg" />
Is this considered poor etiquette? Image leeching? I tried to determine how Facebook et. al. handle this (do they crawl, scrape the image, and host it themselves or do they just proxy it?) but I can't seem to figure it out. Basically I just need some best practices on how to make use of data that people expose to me through og:image. Thanks.

Sil
Jan 4, 2007

Sub Par posted:

I have a small app for personal use that checks RSS feeds at intervals and then crawls the URL for the open graph image and displays it to me along with the story details. I'm thinking of letting other people use it, but I wanted to make sure this was ok - I'm not saving the og:image or anything, I'm just doing
code:
<img src="http://some-blog.com/images/my-og-image.jpg" />
Is this considered poor etiquette? Image leeching? I tried to determine how Facebook et. al. handle this (do they crawl, scrape the image, and host it themselves or do they just proxy it?) but I can't seem to figure it out. Basically I just need some best practices on how to make use of data that people expose to me through og:image. Thanks.

That's leeching. I believe the way to do it is to scrape the image, save it on your own hosting, and link to your version of the image.

Subjunctive
Sep 12, 2006

✨sparkle and shine✨

Sil posted:

That's leeching. I believe the way to do it is to scrape the image, save it on your own hosting, and link to your version of the image.

og:image is pretty much an explicit instruction to "leech", I believe. It's being used to represent, not repurpose, the linked page. I'll ping the Open Graph folks to check the etiquette, though.

FB downloads and caches because otherwise we would melt servers, but in the general case I would say to just use the URL directly.

Sil
Jan 4, 2007

Subjunctive posted:

og:image is pretty much an explicit instruction to "leech", I believe. It's being used to represent, not repurpose, the linked page. I'll ping the Open Graph folks to check the etiquette, though.

FB downloads and caches because otherwise we would melt servers, but in the general case I would say to just use the URL directly.

Doesn't the owner still have the ability to change the image, though? For instance changing his puppy pick to goatse? Or are you actually linking to an Open Graph resource that's created a unique URL for that image and guarantees it'll never change?

Sub Par
Jul 18, 2001


Dinosaur Gum
Thanks for the replies so far, guys. The first two responses mirror the conversation I've been having with myself in my head. I have tried googling for stuff but when I search for things related to OG I can only seem to turn up developer guidelines for how to insert an OG tag and have FB pick it up correctly.

I devised a little test with Facebook that I'm going to try. As best I can tell, they do the following:

1) Scrape the page for the og:image tag
2) Cache the URL of the specified image
3) Proxy that image through a PHP function called safe_image that probably checks to make sure it's not some malicious crap and also serves it up via Facebook's SSL cert to prevent mixed content warnings
4) Periodically (?) and/or on-demand re-parses the page to check whether the og:image tag still matches the cached URL.

But they could be serving the image up themselves. Maybe safe_image.php also caches the image itself but then expires the cache every so often to check for a new image? Wizardry. Anyway I just want to have this thing I'm making look pretty without pissing off a bunch of bloggers. Thanks for listening.

Edit: so Facebook is definitely doing something fancier than just leeching the image, but other sites aren't. For example, if I visit Feedly and check out my own blog, and then consult my server logs, Feedly is just leeching the image from my server. So I guess I'll leech until I have enough users to run ads and pay for space to cache the images locally? But is that even legal fair use? Internet is hard.

Sub Par fucked around with this message at 12:07 on May 26, 2014

Subjunctive
Sep 12, 2006

✨sparkle and shine✨

Yes, they could goatse you, though they would also be goatseing FB and I think that tends to turn out poorly for content providers. (The scraping system is automated, right? They could just put up meatspin.jpg the first time anyway.)

Copyright law has preferred hot-linking to copying, for these purposes, not that it practically matters at all. http://en.wikipedia.org/w/index.php?title=Inline_linking#Copyright_law_issues_that_inline_linking_raises

Putting something in an OG metadata block is literally asking services to use that image URL to represent the content in another context.

Literally Elvis
Oct 21, 2013

I have a site that returns a result which is basically a YouTube video. Is it not kosher for me to use the same og-image value that YouTube uses for that same video?

Sub Par
Jul 18, 2001


Dinosaur Gum

Subjunctive posted:

Yes, they could goatse you, though they would also be goatseing FB and I think that tends to turn out poorly for content providers.

Heh true, but that's not really what I was worried about. I think the thing I made is helpful for both content providers and readers, and I just don't want to make anyone angry as the userbase (hopefully?) grows. Plus I think goatse has a certain amount of old-school caché now so if someone did that I'd be pretty happy.

The Merkinman
Apr 22, 2007

I sell only quality merkins. What is a merkin you ask? Why, it's a wig for your genitals!
What are everyone's thoughts on hamburger menus on a mobile site? These two articles cropped up over the weekend, though they seem iOS/App focused and completely contradict themselves when you have over 5 sections.

The Dave
Sep 9, 2003

I feel like so far all the examples of not using them are examples of people not realizing they shouldn't using them. I don't think it's a black and white solution. Like that zeebox example is just garbage, of course you don't move to a sidebar navigation like that when you only have 4 navigation items. I actually preferred the facebook app without the tab bar.

I just really don't like this jump for hating it so quickly with poor insights into the analytics. We moved to hambuger + slideout on the awful iOS app and sort of fell into this. A portion of people didn't like it because with the tab bar they could use it in a way to browse to threads at once, even though that wasn't the intention. We also planned on having all the site features in the bar, so when we launched and it still only had 4 navigation items, it was a little silly. I still prefer using it and not having the tab bar take up real estate.

kedo
Nov 27, 2007

It also depends hugely on what sort of audience you have. A younger, tech savvy audience sees the hamburger and knows "this is a thing I can tap to see more stuff." An older audience might not.

I've read several articles now that say things like, "Everyone should add the word 'MENU' below the hamburger so it's more obvious!" but I'm on the fence about it. Users are slowly being trained (which I realize is a dirty word these days) to interact with sites and apps that have a whole additional axis of interactivity these days (the z-axis), and it's going to require that people get used to new navigation techniques. There was a time when no one could fathom Start buttons or drop down menus or scroll bars either, but people got used to 'em.

I, for one, use hamburger icons on pretty much every site I make.

Kobayashi
Aug 13, 2004

by Nyc_Tattoo

kedo posted:

It also depends hugely on what sort of audience you have. A younger, tech savvy audience sees the hamburger and knows "this is a thing I can tap to see more stuff." An older audience might not.

This isn't the right way to think about it. Instead you define metrics and test against those metrics.

Facebook is the canonical example because they basically invented the hamburger menu, and recently moved away from it (although I'd argue they just moved it to the bottom right). Without having any inside knowledge, I'd guess that FB saw a lot of people "wandering" from page to page, until they had a huge history they had to undo before they got back to the hamburger menu. Putting the root in a tab makes it easier to pop out of a history stack. Likewise for whatever reason, it looks like FB thinks search, news feed, requests, and notifications are what its mobile app are all about. They still have a "junk drawer" at the bottom right, but it is in a spot where all the other iOS overflow junk goes.

If FB ever decides that, say, Games are important again, I guarantee you it will pop out of "More" and onto the screen somewhere. People use what is in front of their faces.

Subjunctive
Sep 12, 2006

✨sparkle and shine✨

Kobayashi posted:

Facebook is the canonical example because they basically invented the hamburger menu, and recently moved away from it (although I'd argue they just moved it to the bottom right).

I'd argue that as well.

quote:

Without having any inside knowledge, I'd guess that FB saw a lot of people "wandering" from page to page, until they had a huge history they had to undo before they got back to the hamburger menu. Putting the root in a tab makes it easier to pop out of a history stack.

I can't divulge that much about the motivation for the change, but history depth and how people interacted with it was relevant. Mostly I think you want to have primary UI for mode/content switching where users switch modes frequently and independently of their state in their current task. For many apps it probably matters what people are familiar with from other apps. For us we can (though usually don't) ignore that because we're the most heavily used app by a large margin. That familiarity probably explains some of the regional differences we saw, though. "Uh, anyone know why Slovakians' usage of groups falls off a cliff when we put it in a tab?" (Made up example, obviously.)

I will say that it was almost certainly the most thoroughly modeled and measured and analyzed and alternate-designed UI work I saw in 2 years of running mobile eng. To risk being on topic, that learning has definitely informed design of the desktop and mobile web interfaces as well, though mostly in non-obvious ways.

cheese eats mouse
Jul 6, 2007

A real Portlander now
Working on a geolocator for a client website using google maps, which is hidden by a slideToggle. It seems like any time #map-canvas or any wrapper is set to display: none the map refuses to fully render. Anyone know why? It's been frustrating.

cbirdsong
Sep 8, 2004

Commodore of the Apocalypso
Lipstick Apathy
I encountered that recently, and my workaround was to just have it offscreen and set to visibility: hidden, and then to manually animate it in when needed.

Mister Chief
Jun 6, 2011

I'm having javascript performance issues on mobile with a site I'm working on. It's most easily identifiable in my main menu which I simply animate the height on to show and hide. It works smoothly on the main page where other then jquery and modernizr there is no other javascript but on other pages where another script is included the menu just appears because it's struggling to animate it.

All scripts are included at the bottom of the body and I just want to know if it's some way that I'm structuring my scripts or what.

Here's the script that includes the menu stuff: http://pastebin.com/MAA2HPqP

And here's a script from another page that's slow: http://pastebin.com/QQtiU3am

And another that seems fine: http://pastebin.com/0XA68Etj

I'm not actually doing anything on the pages other then testing the menu either so I don't really see why the performance of the other scripts would be affecting that.

MrMoo
Sep 14, 2000

.animate() is CPU based, on a mobile platform you want .transition() to use the GPU. The jQuery Transit API should be ideal for your needs.

Mister Chief
Jun 6, 2011

Thank you. I'll switch over to that and report back.

Edit: It makes no difference unfortunately. Fine on some pages and crap on others.

Mister Chief fucked around with this message at 19:37 on Jun 1, 2014

Maluco Marinero
Jan 18, 2001

Damn that's a
fine elephant.

Mister Chief posted:

Thank you. I'll switch over to that and report back.

Edit: It makes no difference unfortunately. Fine on some pages and crap on others.

http://www.html5rocks.com/en/tutorials/speed/high-performance-animations/

The long story short with animations on mobile is if you want it to be smooth you absolutely must not trigger layout. Layout transitions require recalculation of every side effect in layout it triggers, for example the width of an element changing the available space for things around it, possibly reflowing text, divs, etc.

If you want smart transitions you need to do it with CSS transformations + transitions to get the silky smooth change. The reason for this is the animation is conducted entirely at the graphics acceleration level, its just taking a 'layer' (the DOM element plus contents) - and applying a transformation to it. This means the browser can bypass a whole host of CSS recalculations inherent in transitioning width, height, etc.

The article goes into more detail on this, and as an aside poo poo gets tricky with how translation also affects the positioning of fixed elements by resetting their constraints (never used position:fixed within a transformed element, basically)

MrMoo
Sep 14, 2000

Try to work on a jsfiddle that highlights the problem the pastebins are not easy to understand. 60fps animation is difficult, read up on the guides on http://jankfree.org/ for more but it sounds like you have the fundamental 3d transforms in place it is other things that are breaking the performance. Use Chrome's developer tools to help diagnose performance problems, such as repaints and re-layouts. The tools change a little every release so it is an annoying moving target at times, plus docs are non-existent.

My approach is to strip everything down to the bare minimum, show that that works and then slowly add functionality back. You should be able to bisect what is breaking performance.

Maluco Marinero
Jan 18, 2001

Damn that's a
fine elephant.

MrMoo posted:

Try to work on a jsfiddle that highlights the problem the pastebins are not easy to understand. 60fps animation is difficult, read up on the guides on http://jankfree.org/ for more but it sounds like you have the fundamental 3d transforms in place it is other things that are breaking the performance. Use Chrome's developer tools to help diagnose performance problems, such as repaints and re-layouts. The tools change a little every release so it is an annoying moving target at times, plus docs are non-existent.

My approach is to strip everything down to the bare minimum, show that that works and then slowly add functionality back. You should be able to bisect what is breaking performance.

Didn't know about that page, that's a great resource.

Mister Chief
Jun 6, 2011

Just did a quick and dirty test and it appears that Maluco is right and the poor performance is dictated by the size/complexity of the DOM. At one point I did try doing what I was doing using CSS3 transitions with code similar to this:

code:
.content {
	max-height: 0;
	overflow: hidden;

	-webkit-transition: max-height 0.8s;
	-moz-transition: max-height 0.8s;
	transition: max-height 0.8s;
}

.content.expand {

	max-height: 200px;
}
By adding and removing classes from the menu container to trigger the transitions. In theory should that grant me the performance I'm looking for?

Maluco Marinero
Jan 18, 2001

Damn that's a
fine elephant.
Not exactly. If your classes are still affecting layout properties (which max-height is) you will still be triggering expensive layout calculations for every frame. You'll get silky smooth by not touching the height or width, and instead using css transforms to achieve the movement you are after. Now as for what that means for you, that entirely depends on the effect you're after, how the menu looks, what you expect the content to do, etc.

Mister Chief
Jun 6, 2011

I basically want a menu like what bootstrap uses: http://getbootstrap.com/

You tap something to reveal the menu which slides down and tap again to slide up.

Maluco Marinero
Jan 18, 2001

Damn that's a
fine elephant.

Mister Chief posted:

I basically want a menu like what bootstrap uses: http://getbootstrap.com/

You tap something to reveal the menu which slides down and tap again to slide up.

Okay, so looking at it on mobile it looks to me like its just a height transition, which is why it drops a ton of frames on my Android phone. If you wanted to get that with transform, likely what you would do is have the content cover the menu and zindex above it, and then when you show the menu you simply transform: translateY(200px); or whatever is suitable.

Key issues here would be how you handle the fixed element and scrolling (never said this would be easy) :) You can potentially just have two elements here that fill the screen, the menu and the content, and have the content be overflow: auto. You'll be able to scroll inside and you can add this to get momentum scrolling ( http://css-tricks.com/snippets/css/momentum-scrolling-on-ios-overflow-elements/ )

In a way this is preferable because of how bad position:fixed is on iOS (when the keyboard shows it cancels the position updating of fixed elements so you can scroll past them)

Anyway that's my 3 minutes armchair dev opinion of how to do that implementation. If you only have the top menu as a 'fixed' element that should work.

Mister Chief
Jun 6, 2011

Yeah, I considered something like that. For now I'm just dropping any animation and just having it appear which is less jarring. It's a really minor project so it's not worth the effort but I will keep all the good advice in mind for future projects. Cheers.

kedo
Nov 27, 2007

After seven years of working for a design firm, I've decided to take the plunge into the freelance world. While I'd appreciate any and all advice you goony goons might have to share with me, I have a few specific questions:

1) Any good articles on the topic you'd recommend reading? There we a few about on A List Apart I remember seeing which I plan on finding again, but I can always use more.

2) Recommendations for cheap or preferably free project management software? We've used Basecamp forever and I'd like to continue using it, but considering my income level is going to plummet for at least a few months, I'd rather not pay for it. I'll probably use Trello or something for development, but having a tool like Basecamp for overall project tracking has become incredibly central to my process.

3) Are any of the freelance websites out there like Elance or Freelancer worth a drat? I don't plan on depending on these, but it'd be nice to snag some small projects here and there to fill the time until I can land some bigger ones.

Wish me luck.

e: Just went back and checked the OP which I haven't looked at in ages... let this post serve as a guilt trip for Oh My Science for never finishing the freelance section! :argh: However I am going to listen to the ruby freelancer's podcast tonight.

kedo fucked around with this message at 00:01 on Jun 3, 2014

fuf
Sep 12, 2004

haha

kedo posted:

Trello

Just checked this out and I like it a lot, thanks. I spent ages the other day searching for todo list software but this never popped up.

Griffith86
Jun 19, 2008

kedo posted:

3) Are any of the freelance websites out there like Elance or Freelancer worth a drat? I don't plan on depending on these, but it'd be nice to snag some small projects here and there to fill the time until I can land some bigger ones.

I freelanced for about 7 years, most of those sites are worthless. You might be able to find a few jobs from them but they usually end up being way under valued due to having to under-bid people just to get the job. If you are good at networking, work your contacts to find work.

Outside of that, you're gonna want to get an Accountant and a Lawyer. I've seen a lot of people end up in debt because they thought they could get by without it, it's not a good idea.

kedo
Nov 27, 2007

Griffith86 posted:

I freelanced for about 7 years, most of those sites are worthless. You might be able to find a few jobs from them but they usually end up being way under valued due to having to under-bid people just to get the job. If you are good at networking, work your contacts to find work.

Outside of that, you're gonna want to get an Accountant and a Lawyer. I've seen a lot of people end up in debt because they thought they could get by without it, it's not a good idea.

That's too bad. Yeah, networking my brains out is my plan... I've built up a good number of contacts over the years and plan on going to tons of networking events, so we'll see how that plays out.

And roger on accountant/lawyer. I've heard the similar horror stories and made am currently hunting for each.

cbirdsong
Sep 8, 2004

Commodore of the Apocalypso
Lipstick Apathy
Is this the right thread to ask what the fastest way to compile Less CSS locally on a Mac is? I currently use LiveReload, and it can take a second or three to finish recompiling after a file is saved. Are task runners like Grunt or Gulp appreciably faster?

Adbot
ADBOT LOVES YOU

Kobayashi
Aug 13, 2004

by Nyc_Tattoo

cbirdsong posted:

Is this the right thread to ask what the fastest way to compile Less CSS locally on a Mac is? I currently use LiveReload, and it can take a second or three to finish recompiling after a file is saved. Are task runners like Grunt or Gulp appreciably faster?

Are you trying to do something like include Bootstrap's LESS files from scratch? If so, I'd just compile those into a CSS file, then include that file in your actual app's LESS file.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply