• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

Web Design and Development |OT| Pixel perfect is dead, long live responsive design

Daffy Duck

Member
How do you guys figure out how much to charge/quote?

Are you talking an acceptable hourly rate or for a whole job?

At my place we quote on a best estimate of how long a project will take (5 days for example) to do a simple site we then have an hourly rate we charge which gets adjusted accordingly.
 

Kopite

Member
Are you talking an acceptable hourly rate or for a whole job?

At my place we quote on a best estimate of how long a project will take (5 days for example) to do a simple site we then have an hourly rate we charge which gets adjusted accordingly.
Whole job I guess. Got an offer to build a pretty simple Wordpress site and I'm unsure how to charge them or how many hours I've got to put in.
 

Somnid

Member
Be very careful with fixed price bids. Most projects run long, clients change their minds, stuff doesn't work as expected and it's 100% impossible to predict, even time buffers won't save you all the time. Time and materials is usually best if you can convince them (I'm guessing you're not at the level to have that sort of rep or authority but it's worth a shot).
 
Be very careful with fixed price bids. Most projects run long, clients change their minds, stuff doesn't work as expected and it's 100% impossible to predict, even time buffers won't save you all the time. Time and materials is usually best if you can convince them (I'm guessing you're not at the level to have that sort of rep or authority but it's worth a shot).

Getting taken advantage of in a fixed-price project is a risk and that's why you need a solid contract. My contract includes a bunch of handy clauses:

- Any scope of work changes that come after the agreed sign-off results in a fee.
- Any changes to the scope of work results in a corresponding delay in the launch date by the amount of time it takes to implement and test the new additions.
- Work requested that's outside of what the original contract was for (eg. I was hired to build a website and now they want to me to design a logo) gets charged separately at an hourly rate, if I agree to do it.
- I own the project while it's in development; IP rights transfer only when the final payment is received.

The important thing to keep in mind is that even in a fixed-price scenario, they don't own you. Be professional about yourself, your work, and your time. Having everything clearly laid out in a contract is vital, imho. There's a really good talk about this by Mike Monteiro titled 'Fuck You, Pay Me' that's really, really worth a listen.

As for money to charge, it really depends. It depends on their budget, your bills, the amount of time it would take, how large or small the project would be, etc. It varies from client to client for me. My advice, though: give as high of an estimate as you can. It's always easier to lower your price now while you're negotiating than it is to raise it later and you never want to leave money on the table.
 

kevm3

Member
The front end work seems maddening. The amount of Javascript Frameworks is bewildering. It makes it very difficult to figure out what to focus on. There's Angular 1.0 which is drastically different from Angular 2.0. React.js, Backbone, Ember, Durandal, etc.

Then with CSS, you have vanilla CSS, LESS, SASS, and now things like PostCSS. Thankfully most have converged on SASS.

I'll probably stick with Bootstrap, Ember, SASS, and RoR for backend. I may also pick up React as well, but you pretty much have to use React with something else as it's only the view layer.
 

Ikuu

Had his dog run over by Blizzard's CEO
It's not that bad really, just pick one from each area and learn it. It's generally pretty easy to pick up another if you have to.
 

Maiar_m

Member
Is Angular 1.0 still valid, though? 2.0 is going to change the framework to the very core, after all.
... Well, i mean still valid if there is no current/active project in Angular 1.0.

2.0 isn't done yet, so you can start on it if you wish but it's still a form of gamble as well, while working on 1.0 for current project is also creating a technical debt 2.0 won't support so...basically it's a pickle. The community shifted heavily towards ember for that reason.
 

kevm3

Member
Is Angular 1.0 still valid, though? 2.0 is going to change the framework to the very core, after all.
... Well, i mean still valid if there is no current/active project in Angular 1.0.

Supposedly there is a migration path from 1.0 to 2.0, but I'll believe it when I see it since there originally wasn't going to be one and Angular 2.0 is different enough to essentially be a different framework. That's why I'm going to be spending time with Ember primarily, and add in React later. I want to wait and see how things pan out with Angular 2.0, and given that Angular 2.0 is essentially a new framework, you'll have to wait for the API to stabilize.

You'd probably be better off learning something like ReactJS and playing wait and see for a little while on the framework battles, and spend that time learning Node.Js just to have full stack knowledge.
 

Copons

Member
Is Angular 1.0 still valid, though? 2.0 is going to change the framework to the very core, after all.
... Well, i mean still valid if there is no current/active project in Angular 1.0.

Angular 2 is still in alpha, and even they recommend Angular 1 for production use.

Also, as far as my current limited experience in a big company goes: it seems to me that JS frameworks are still kind of a novelty in such environments (like, I consider myself a junior Angular dev, yet apparently I'm the best Angular dev - if not the only one :p - in the 300+ people factory where I'm working).
These behemoth places neither can afford nor have the will to use cutting edge technologies, favouring more stable ones, with better documentation, larger communities and more experienced developers to hire.


Also, my two cents:

I don't like how Angular 2 is - looking at the docs - based on TypeScript when the current hype is - and rightly so, imho - full on ES2015-16.

I didn't find Angular 1 learning curve as hard as, like, everybody makes it.
I may have scored the right (for me of course) guides and tutorials early on, but still, I think that it makes much more sense, and introduces much less new concepts, than React, for example.
Also, the two-way data-binding it offers, even if it gets so much hate every now and then, is so easy to use, so easy to understand and, most importantly for someone who's in that moment when still wondering why use a framework in the first place, its use cases are so damn clear.
 

Copons

Member
But using Typescript is optional in Angular 2, isn't it?

It is indeed optional, but try browsing the current docs: there's an omnipresent dropdown that allow you to switch between the TS and JS version of the section you're reading.
It defaults to TS, and almost always, if you switch to JS you'll see that they barely have any example ready.

Do I want to learn TS in order to learn Angular 2? Hell no!
 

grmlin

Member
Angular was/is such a widely used framework, I really can't understand why they went the Typescript route. Of all the Angular devs I know, not a single one of them knows anything about Typescript or wants to learn it.
 
Thanks for all answers, considering i don't plan on using Angular for any project (especially not for any agency work at my job), you could say i dodged a bullet there. ^^
Was just asking out of pure curiosity.

Maybe i'll look into ember for the future ... but again, that annoying fragmentation...
ECMAScript 6 here, Typescript there, ECMAScript 6 will use some structures from Typescript and vice versa. It appears to me that one of the Scripts is/will be redundant.

I can understand that this can be messy and maddening to some. ^^
 

Nelo Ice

Banned
So still having issues trying to answer problems on places like coderbytes and codewars. Haven't the faintest clue how to even begin problems. But when I see a solution things make sense and I can usually break down what the code is doing and why they used it for the solution.

Bringing this up since I'm switching to ruby for a potential scholarship. I have an interview this Friday. For the interview, I have to answer questions in an ide which in this case is aptana. Anyway here's the specifics that I've gotten.
Please be sure to review the Ruby concepts you learned from Code Academy. You should understand all the functions well enough to structure, call, and use them to program.

Btw part of the scholarship application had a tech assessment. And that only required me to complete the 1st 7 units of the codecademy ruby course so I'm guessing that's what concepts the questions will cover.

I'm freaking out since I still can't answer programming questions or the ones I'm looking at are incredibly difficult for a beginner. I'm holding out hope the questions won't be as crazy hard since the scholarship's goal is to bring people from zero to professional in less than year. I also can't imagine it being super hard since I didn't even have to finish the codecademy course and it's hard to answer questions when they hold your hand the whole time.
 

Haly

One day I realized that sadness is just another word for not enough coffee.
I'm still a noob but isn't it worth learning Angular 1 because sites/apps are still relying authored in Angular 1?

I don't think every company is on the bleeding edge of web dev at all times, right?
 

Ikuu

Had his dog run over by Blizzard's CEO
I'd still go with React, though honestly most jobs look for people that know one as it's not that difficult to train them up on another.
 

Tathanen

Get Inside Her!
Something I really like about Angular, and don't like about react (or Angular 2.0) is that it's just straight up javascript and HTML. It's all valid syntax, you don't have to break standards and linters to write it. These other frameworks require (or at least encourage) you to write in some sort of custom syntax and it's just a terrible level of obfuscation, requiring you to learn another thing to learn the actual thing you want to use.
 

Copons

Member
Something I really like about Angular, and don't like about react (or Angular 2.0) is that it's just straight up javascript and HTML. It's all valid syntax, you don't have to break standards and linters to write it. These other frameworks require (or at least encourage) you to write in some sort of custom syntax and it's just a terrible level of obfuscation, requiring you to learn another thing to learn the actual thing you want to use.

To add on this: Angular (1 at least) can be easily written in ES6 (example).
Yes, you'd still need a transpiler, but it's good to know that with very little additional effort, you can follow the current "future" standard.
 

bernardobri

Steve, the dog with no powers that we let hang out with us all for some reason
So currently I'm learning HTML & CSS on Codecademy, and so far so good. Any advice for a novice on what to do once I clear all the web programming courses on Codecademy?
 
So currently I'm learning HTML & CSS on Codecademy, and so far so good. Any advice for a novice on what to do once I clear all the web programming courses on Codecademy?

In CodeAcademy or in general? From the non-directly web programming courses I recommend that you do the Learn the Command Line and Learn Git routes.
 

bernardobri

Steve, the dog with no powers that we let hang out with us all for some reason
In CodeAcademy or in general? From the non-directly web programming courses I recommend that you do the Learn the Command Line and Learn Git routes.

In both, I suppose. I noticed that CA has a lot of advanced courses which I plan to do in the long term.
 
In both, I suppose. I noticed that CA has a lot of advanced courses which I plan to do in the long term.

Cool! Anyway, learning how to use the command line (and version control, Git in particular) will save you tons of time and patience in future, even if you are planning to just do front-end stuff.
 

Copons

Member
How cool is that you go out for the weekend and when you come back Babel got a major update with no backward compatibility, screwing up every single tutorial ever written in the brief history of transpilers?
 
How cool is that you go out for the weekend and when you come back Babel got a major update with no backward compatibility, screwing up every single tutorial ever written in the brief history of transpilers?
How to start your monday - Rewritten by Babel ;D

Since you got a cat-avatar ... might want to change to Garfield as in 'Mondays suck'?
 

Copons

Member
How to start your monday - Rewritten by Babel ;D

Since you got a cat-avatar ... might want to change to Garfield as in 'Mondays suck'?

Not even Garfield would cut, considering my boss totally forgot I was coming back today, so I'm actually here doing nothing for 8 hours (we're starting a new project, but the client forgot to send the specs), crying inside because I'm too bored even to try to adapt two-days-old Babel tutorials to Babel 6.
 

Somnid

Member
Babel is just a transpiler, so you learn/use ES2015/2016 and it spits out simpler javascript. What's to tutorialize?
 
How cool is that you go out for the weekend and when you come back Babel got a major update with no backward compatibility, screwing up every single tutorial ever written in the brief history of transpilers?

I don't think the changes are too bad. Couple of find and replaces and installing a preset or two. After you have read about the changes you can just transpile the old tutorials to new ones in your mind ^_^

Babel is just a transpiler, so you learn/use ES2015/2016 and it spits out simpler javascript. What's to tutorialize?

Syntax and configuration mostly.
 

Copons

Member
I don't think the changes are too bad. Couple of find and replaces and installing a preset or two. After you have read about the changes you can just transpile the old tutorials to new ones in your mind ^_^

The changes by themselves don't seem bad at all. I mean, I can just configure es2015 and react presets and I should be good to go.

But then... this one tutorial I wanted to try today (SurviveJS kanban app) uses several plugins and other stuff in .babelrc that isn't even described in Babel's docs. (like, the "extra" option? it fails when Webpack hot-rebundles, but I can't seem to find it anywhere on Babel site - it could also be a problem of corporate proxy, but still).

In the various comments there, talking about React going 0.14 and Babel going 6, it seems that the author is about to update the tutorial where needed, so I'd better just wait for him to do so.


Babel is just a transpiler, so you learn/use ES2015/2016 and it spits out simpler javascript. What's to tutorialize?

Well, they changed plenty from v5 to v6.
For instance, Babel by itself doesn't transpile anything anymore.
Instead, you have to load all the plugins you'd need to transpile each ES6 feature you use (ie. there's a single plugin to transpile fat arrow functions, etc.).
Luckily, there are several presets ready that automatically load everything you likely need.

Still, that's not the only difference between 5 and 6.
One other thing I don't know how to "update" are stages.
Babel 5 had stages built in, while in 6 they are presets.
Problem is, this tutorial uses stages in Babel 5 fashion, and I totally don't know what the heck is a stage, and why do I need it, because I can't find them in Babel docs (anymore? or they never been there?).
 

Copons

Member
IIRC the extras is for passing extra options for the plugins themselves.

And the stages are not a Babel thing, they are used to describe the state of the spec (feature maturity): https://tc39.github.io/process-document/

In Babel previously all the proposals that were stage 2 or up were enabled by default.

Ah, I see, this makes perfect sense!

Well anyway, in that tutorial, in extra is defined react-transform, that apparently is what kills Babel (tut author's saying that he's gonna update once react-transform gets Babel 6 support), so I'll just have to wait.



In CodeAcademy or in general? From the non-directly web programming courses I recommend that you do the Learn the Command Line and Learn Git routes.

Also, the only Git tutorial you'll ever need: https://xkcd.com/1597/
 

Haly

One day I realized that sadness is just another word for not enough coffee.
Sometimes I'm very impressed by what git wizards can do but then wonder why its creators made it so hard to learn to do version control sorcery.
 

WanderingWind

Mecklemore Is My Favorite Wrapper
You guys are all sorcerers as far as I'm concerned. Good ones, of course. I'm just stoked to be learning Wingardium Leviosa.
 

Daffy Duck

Member
Good sites for inspiration for designs?

I'm at some what of a dead end for finding inspiration when tasked with visuals for new projects and it's an area I need to step up my game in so any pointers would be appreciated.

Also any resources for tips on UI/UX design stuff?

I work at a company of me and the owner who knows sweet FA about web design (he's a old school drawing guy who's business has changed from print to web and he has no idea about anything and it's really difficult for me as a relative junior {2 and a bit years} to say anything to him and listen to what I'm saying) so it's an uphill battle with him suggesting things that ruin a nice clean design.
 

Somnid

Member
Sometimes I'm very impressed by what git wizards can do but then wonder why its creators made it so hard to learn to do version control sorcery.

It's not hard once you understand its paradigms (and they are good paradigms). But it can definitely be hard to wrap one's head around at first. For the most part you just need to know the 95% flow: branch, pull, merge, add, commit, and push. The rest you learn in a panic when something goes wrong.
 
It's not hard once you understand its paradigms (and they are good paradigms). But it can definitely be hard to wrap one's head around at first. For the most part you just need to know the 95% flow: branch, pull, merge, add, commit, and push. The rest you learn in a panic when something goes wrong.

And for a single user, add and commit (maybe push) is a good starting place. And it's easy to learn the reset when you figure out that you cannot really fuck it up (unless you do something destructive like using --force without understanding the risks).

And when you get past the begin, there's tons of cool stuff to do.

And if you think Git is hard, try using *insert any other VCS here*
 
Hey guys I'm currently learning Python and am looking into back/front end web design.

I've messed around with Django just a bit in terms of getting it set up and working through the first tutorial. It's definitely fairly complicated but not so much so that it's impossible.

I've done some HMTL, CSS and Javascript before, but it was a long time ago I'm confident I can learn it again fairly quickly, obviously learning all of the new things with JS will likely take the longest from that end. I was thinking I'll eventually start using a framework (Probably Angular I guess?). So that kind of takes care of the frontend stuff.

For the backend stuff I've never coded back end servers in any way really and not in Python definitely. I want to get a good understanding of what is going on under the hood a bit and the general concepts so I don't just want to learn a framework like Django straight out because I feel like I won't really understand why everything is happening and won't be able to customize it the way I would like.

I was thinking of starting with CherryPy while also fiddling with BaseHTTPServer module in Python. From there I figure developing simple CGI scripts, then start incorporating into CherryPy proper, from there maybe start with a smaller framework like Flask and then eventually move up to Django when I have a better core understanding of everything.

I guess I was looking for advice on what people think of this..."learning roadmap". Any suggestions or things to stay away from? Alternative tools or frameworks? General advice?
 
Need some help figuring out how to not screw over the IRS...

Just completed some freelance web design work for a local state agency. Now that I've completed the work I am using an invoice template to create a bill to send to them. According to my local state tax law I shouldn't have to charge state sales tax, but the problem is I'm not sure what, or even how, to pay for federal tax? Since I'm not a business but essentially a contractor, and my payment is over $600, I'm in a funny place trying to figure out what to do without getting myself into tax trouble.

If any individuals who have gone through the freelance billing process could help me out it would be extremely appreciated.
 
Hey guys I'm currently learning Python and am looking into back/front end web design.

I've messed around with Django just a bit in terms of getting it set up and working through the first tutorial. It's definitely fairly complicated but not so much so that it's impossible.

I've done some HMTL, CSS and Javascript before, but it was a long time ago I'm confident I can learn it again fairly quickly, obviously learning all of the new things with JS will likely take the longest from that end. I was thinking I'll eventually start using a framework (Probably Angular I guess?). So that kind of takes care of the frontend stuff.

For the backend stuff I've never coded back end servers in any way really and not in Python definitely. I want to get a good understanding of what is going on under the hood a bit and the general concepts so I don't just want to learn a framework like Django straight out because I feel like I won't really understand why everything is happening and won't be able to customize it the way I would like.

I was thinking of starting with CherryPy while also fiddling with BaseHTTPServer module in Python. From there I figure developing simple CGI scripts, then start incorporating into CherryPy proper, from there maybe start with a smaller framework like Flask and then eventually move up to Django when I have a better core understanding of everything.

I guess I was looking for advice on what people think of this..."learning roadmap". Any suggestions or things to stay away from? Alternative tools or frameworks? General advice?

My advice is: For small projects, use Flask. It's fantastic. I've used it on multiple projects in the past and it's a joy to use. Flask itself is quite small and doesn't do a lot by itself but it's easily extensible and has a lot of excellent support libraries that integrate it with e.g. SQLAlchemy (which is also excellent), add login/logout functionality (Flask-Login) and other things.

For bigger projects, you can either go with Django or use a statically typed language like Java (which has surprisingly many modern web development libraries, it's not just Java EE anymore). I don't think you need to start low-level, but it's never a bad idea to try to understand the lower level details of what you're doing. I think it's probably more rewarding to start with something that'll get you results quickly, without a ton of setup and boilerplate code.
 

jokkir

Member
What's the general consensus of using Flexbox? Should I use it even though there seems to be compatibility problems on older browsers (or maybe I'm using it wrong lol)
 

flyover

Member
If you don't have to support older browsers -- or if you don't mind doing all the work to give them a decent fallback option, flexbox is the greatest. I love it. Unfortunately, my whole org runs IE in compatibility view (essentially making it IE7), so I don't get to use it as much as I like.

I grokked flexbox in no time, but I still fuck up floats on a regular basis.
 

Somnid

Member
What's the general consensus of using Flexbox? Should I use it even though there seems to be compatibility problems on older browsers (or maybe I'm using it wrong lol)

If you can limit to IE10 then it's fine, you'll have to make a few tweaks for the older standard. For mobile-only it's supported to the point you don't need prefixes. Past that I just use js hacks, not worth the effort.
 

Skinpop

Member
I've been tasked by my brother to create a small simple online store. I haven't done any web development for 5+ years so I'm a bit lost on what frameworks and APIs would make my job easy. I'd prefer not to use any bloated or big frameworks like wordpress. My friend who primarily is an app developer has suggested using angular and node.js for all the web code and mongo db as the database. Does this sound like a sensible approach to you guys? What would you recommend?
 

Ikuu

Had his dog run over by Blizzard's CEO
I'd really suggest just using an existing solution like WordPress, Magento, or something similar.
 

flyover

Member
I'd really suggest just using an existing solution like WordPress, Magento, or something similar.

I totally agree. I'd go with a prefab solution -- especially when dealing with friends/family, because you may wind up supporting/maintaining it indefinitely. And you'll probably save some up-front time, too. But if you want to get back into web development, knock yourself out with Angular, etc.!
 
Top Bottom