Are performance aware internet applications obsolete?

It seems most internet applications take very long to load and to respond to user's requests.

Developers are measured by their up to date knowledge of new technologies rather than their ability to produce fast performances and internet applications are the only applications that end users agree to live with in such terms.

Most companies I know prefer to continue building applications on poor infrastructure rather than put in the resources to enhance it. The resources are directed to adding new cool features that could bring in new users.

They also prefer not to deal with the problem that their too many users have created for them: the need for an almost real time environment, and even if they did, they do not have the human resources to do so and are unlikely to find the staff because let's face it, most web developers have chosen not to handle low level programming and are basing their careers on the newest (slow) technologies that are easier and get results quickly and the product up and running within a few months (companies just love this!). This also brings those developers the big money which basically preserves mediocrity in the field.


As a result, that there aren't nearly enough researches on this subject.


Any thoughts?


Share Send to a friend Watch Report
 
 

Posted Answers

Order by
 
520 thumbs up

They're coming to take me away, Ha-haaa!

Advanced .NET Debugging Blog

My personal blog

There are more than a few companies committed to giving the user the best experience they can.

There are a lot of researches on the subject and depending on which exact field of the subject is being researched there are various terms to describe the user's anger with these type of performance. In search it is called "Search Rage".

Google strives to give you the fastest result you can. Amazon knows that if a page loads on the client side in more than 3 seconds they will lose money because people will go elsewhere to shop.

All the big internet companies tries to give the fastest experience they can give.

The reason why so many sites doesn't have that experience is mainly due to development considerations. Sometimes you need to get features out the door and your compromise fine tuning of performance.

It also boils down to development methodology that incorporates load testing as a standard test that must be passed.

I know that I, as a developer, tries to run most of my code through a profiler as often as I can to make sure I don't create specific obvious bottle necks.

I wouldn't generalize this as a common issue, but like in anything else in life there are trade offs between easy of development and time to market with quality and fast performance.

The trick is to find the balance. 


Posted 11 months ago ( permalink )
Rated as
#2 out of 4
0
1

Helpful?

line
line
line



 
717 thumbs up

I was late for work this morning, because I got stuck in Zeno's paradox

I think you're being a bit unfair. It's true that many companies consider only the amount of time that it will take to develop an internet application, but there are other considerations that you are not taking into account, like security (a much lesser concern in desktop applications) and backwards compatibility. Don't forget that  web applications have to be designed to work in a wide variety of operating systems and browsers, each with different user settings, and with an even wider variety of firewalls, antiviruses, and other applications that may slow down the internet application (or prevent it from working altogether).


Posted 11 months ago ( permalink )
Rated as
Best Answer
0
2

Helpful?

line
line
line



 

I wasn't referring only to search engines although you are right Google is quite an exception, more power to them!

I was referring to a completely different phenomena in which if you take the information handling and caching mechanisms that exist in many products you will find that they are 10 years more advanced than the models the web application we use are based upon, moreover most of those models can be implemented within web applications but the engineers don't know enough about it and have to many other issues to worry about as it is, this is the only field I know in which the algorithms and models have stayed almost the same the past decade if not more. It seems the moment databases have indexed information on their own, engineers have stopped completely dealing with this subject and are now leaving it to the DBAs to configure the databases to perform better. But a lot of this work can be done code side and we don't really need to increase server power to get better results, we just need better infrastructure. As long as companies remain unaware that this is by all means possible, how will we ever get faster web applications? It is like everybody is always waiting for the next generation technology to solve this while if you are familiar with your data-structures you can do a far better job on your own using knowledge that is already available elsewhere. 

But my real question is (if using your own words): how would you define a good balance?


Posted 11 months ago ( permalink )
In reply to Eran's answer
Rated as
#3 out of 4
0
0

Helpful?

line
line
line



 
520 thumbs up

They're coming to take me away, Ha-haaa!

Advanced .NET Debugging Blog

My personal blog

Good web applications that we all use are about scale and there are very limited platforms (some say there are non) that exist out of the box that can give you that.

If a web application wants to get reasonable response times its a combination of the hardware they want to invest in and the optimization of their code in relation to the traffic the application is getting.

Its not that the technology is far behind at all. It's a different set of tools compared to enterprise applications that even at the largest enterprise will serve in a day less than a heavy traffic site serves in an hour.

Regarding what developers are (or aren't doing), its all up to the developers and the company they work in. I know that I know enough about how databases work (and how specific databases work) to be able to do quite a bit of the things a DBA can do, and if I don't, I simply read about it.

I think that a great developer has to touch every aspect of a web application starting from understand what is the needed hardware and how it works (knowing, for example, the performance vs. reliably issue of storage systems), how the operating system works and what tweaks can be done to boost its performance, how the protocols that are used works and what are the ways to optimize them (understanding, for example, how HTTP works and how HTTP caching works can make a dramatic effect), understand the runtime they are working in - if you are in PHP dig in and figure out how it works and what are the best practices for using it, the same goes for Java, .NET, Python, Ruby, etc.

You also need to measure everything, have base lines and comparison points so that you'll know where are your bottlenecks, what are the applications limits so that you'll know when to change development strategy in some components or to scale out to additional servers.

You also need to know about databases and how they scale to understand why you should avoid writing SQL statements with JOIN if at some point you want to scale to a point when you need to partition your database to multiple servers because you have reached your write block.

You should know how to optimize on the client side because your server can return results in under 100ms but the client may take time to render it because of the HTML quality you serve or the abundance of external resources you use and generate additional browser connections to load them.

So, to sum things up, keep and open mind and try to touch every aspect to get the bigger picture. It will make you a better developer writing better code due to a broader view of things. 


Posted 11 months ago ( permalink )
Rated as
#4 out of 4
0
0

Helpful?

line
line
line



Sign in to participate

Got an answer for Ronna Steinberg? Would you like to comment on the posted answers, or vote for the one which you think is the best?

Sign up for a free account, or sign in (if you're already a member).

Explore Related Questions

Other people asked questions on similar topics, check out the answers they received:


How do i restore sn master idx database files

how do i restore sn master idx database files
Submitted by OSSIE 1 year ago
  • viewed 1865 times

Last answer posted 3 days ago by Rolin Pierce


Portfolia

What does the company Portfolia do?
Submitted by spanky 2 years ago
  • viewed 434 times

Last answer posted 2 years ago by robot55


What is the technology that allows people to edit ...

What is the technology that allows people to edit a Wiki?
Submitted by geehege 11 months ago
  • viewed 302 times

Last answer posted 11 months ago by maracruz