We rails people tend to think of Rails as the center-piece of web development. The same thing can be said of .net, Spring/Java Server Faces, Drupal, Python or name-your-web-framework-of-choice-here people.
Web frameworks are just a component of web applications, and if you want to succeed you better know the miriads of other components beyond your rockstar code.
In my session I will talk about things you must take into account and tools/techniques you should master if you want to make a difference in web development, independently of your development language/framework.
Talk delivered at conferencia rails 2010 in Madrid, Spain.
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, Spain
1. RailsRails
is notis not
EnoughEnough
by javier ramírezby javier ramírez
@supercoco9@supercoco9
jramirez@aspgems.comjramirez@aspgems.com
http://javier-ramirez.comhttp://javier-ramirez.com
2. A monkey's viewA monkey's view
of weBof weB
developmentdevelopment
internet
web server
database
request
response
model
controller
view
model
3. StandingStanding
on theon the
shouldersshoulders
of giantsof giants
Ignoring HTTP, HTML, JavaScript or CSS is not an optionIgnoring HTTP, HTML, JavaScript or CSS is not an option
Code like a pro. Validate!Code like a pro. Validate!
Protect yourself, use frameworksProtect yourself, use frameworks
9. Look for traffic patterns (peak hours and “valleys”)Look for traffic patterns (peak hours and “valleys”)
Test your siteTest your site
ApachebenchApachebench
httperfhttperf
JmeterJmeter
Do the mathsDo the maths
(req/s)*60*60(req/s)*60*60
(req/s)*60*60*100/(busiest % hour)(req/s)*60*60*100/(busiest % hour)
Our numbers:Our numbers:
7%7%
11 million pageviews/month11 million pageviews/month
8 boxes8 boxes
~37 million pageviews limit~37 million pageviews limit
16. Do you knowDo you know
who enterswho enters
your shop?your shop?
https://www.google.com/adplannerhttps://www.google.com/adplanner
17. How can I help you?How can I help you?
Are you happy with me?Are you happy with me?
What do you like about me?What do you like about me?
Am I missing the point?Am I missing the point?
https://www.kissinsights.comhttps://www.kissinsights.com
http://www.4qsurvey.comhttp://www.4qsurvey.com
http://getsatisfaction.comhttp://getsatisfaction.com
http://uservoice.comhttp://uservoice.com
How popular/unpopular am I?How popular/unpopular am I?
http://blogpulse.comhttp://blogpulse.com
http://icerocket.comhttp://icerocket.com
http://thinkupapp.comhttp://thinkupapp.com
https://analytics.postrank.comhttps://analytics.postrank.com
http://www.google.com/alertshttp://www.google.com/alerts
18. Mirror mirrorMirror mirror
on the wallon the wall
Who in theWho in the
land island is
fairestfairest
of all?of all?
http://compete.comhttp://compete.com
http://google.com/trendshttp://google.com/trends
19. If you build it, they will comeIf you build it, they will come
23. UxymoronUxymoron
Non-standard interfaces, usually hard to build,Non-standard interfaces, usually hard to build,
making the users more likely to make mistakes andmaking the users more likely to make mistakes and
find the design much more difficult to usefind the design much more difficult to use
Also said of the moron whoAlso said of the moron who
thought it was such a greatthought it was such a great
idea to implement thatidea to implement that
interfaceinterface
24. Jakob's Law of the InternetJakob's Law of the Internet
User ExperienceUser Experience
Users spend most ofUsers spend most of
their time on other sites.their time on other sites.
This means that usersThis means that users
prefer your site to workprefer your site to work
the same way as all thethe same way as all the
other sites they alreadyother sites they already
know alikeknow alike
http://www.useit.com/alertbox/20000723.htmlhttp://www.useit.com/alertbox/20000723.html
26. AllAll
togethertogether
now!now!
Standards are coolStandards are cool
Remember the client-sideRemember the client-side
Think big, keep smallThink big, keep small
EstimateEstimate
Have a B planHave a B plan
Analyse & MeasureAnalyse & Measure
Have a conversationHave a conversation
Shout your nameShout your name
Make an educated guessMake an educated guess
Be easy to useBe easy to use
Keep learningKeep learning