Archive for June, 2009


Announcing MSFast

-June 23, 2009 byYadid

Announcing MSFast By Yadid Ramot, Performance Architect, MySpace

Tracking User Experience

An overview of MySpace’s new open-source performance tracking tool – MSFast

We wanted to share with everyone an open-source project we’ve been working on at MySpace that, while relevant for developers, has a broader application for everyone. As developers ourselves, like many of you we are constantly trying to figure out the best way to profile and track the performance of our pages. After deep market research, we realized that the market for profiling tools lack features and capabilities which we think are important for efficient page optimization. These conclusions pushed us to develop a new homebrew tool, MSFast, which will hopefully cover all of these missing pieces.
It seems to us that the average web developer gives too much attention to tracking the time it takes for his content to download, and less-to-no attention to the order of the assets and the behavior of the page as it loads.

Tracking Downloads

The first problem you can have when tracking download speed is that the data is not normalized and could be inaccurate for long term trending. There are too many possible points of failure when tracking your site periodically, such as; your ISP changes your test box’s connection speed unknowingly (repairs/mistakes etc.), added a new hardware that change the bandwidth, installed a new local firewall that slows the connection, etc. These are just examples of local changes that will cause your site to appear slower/faster, but in the real world outside of your test box, these changes won’t be reflected.
Another problem you can have when tracking downloads is, while it’s important to keep in mind the simple equation of [slow connection + heavy content = slow site], there’s nothing much you can do about it to help speed up your site. So, you compressed your content and headers to the limit, removed the cookies and picked the fastest backboned CDN for your site, but on the user’s end, the site still act slow. What’s next?

User Experience

There are a lot of factors that need to be considered when optimizing the user experience on a page, such as ordering and prioritizing downloads, using the right type of download mechanism (blocking vs. async), utilizing the sockets correctly and that’s only for optimizing the content delivery. There are a lot of other elements that could cause bad user experience that has nothing to do with the actual download speed of the page. Elements with a really heavy JavaScript functionality, flash objects with a large amount of sprites that spike the CPU, heavy ActiveX controls that use a lot of memory, weird browser rendering quirks… these and more, can really clog the client’s machine and create a bad user experience when browsing our site.

Page Performance

As far as we know, the current common methods for profiling and capturing page performance are by:

  • Running an HTTP sniffer when requesting the page and measuring each request
  • Timing the page’s ONLOAD event
  • Injecting a code before and after JavaScript calls and timing them

For the download side, using the right HTTP tracking software that generates accurate waterfall graphs can really help developers to re-prioritize requests and optimize the way content delivers by showing the order of downloads and which request blocked the pages vs. which were download in parallel.
On the events side, the ONLOAD and other before/after benchmarks can help developers measure specific and known functionality that blocked the rendering of the page.

What’s Missing?

Using the current available tools, we can track real-time download bottlenecks, JavaScript bottlenecks (as long as we know roughly where they are) and the ONLOAD event. Here’s what we felt was still missing:

  • Normalize the download speed to generate accurate results
  • Automatically detect performance bottlenecks caused by an object that spikes the CPU or clogs the memory
  • A good way to tell when content is displayed and how long it took to render each UI element on the page
  • Detect blocking browser rendering quirks

So to sum it all up, for our purposes, the ultimate performance profiling and user experience tracking tool should have:

  • Normalize download data – Throttle down the inbound connection to ensure steady speed
  • An HTTP sniffer – Track download speed and blocking requests
  • JavaScript profiling capabilities – Profile how long it take to execute each function and detect blocking functions
  • CPU and Memory profiling capabilities – Detect how much memory and CPU the page consumes and how much each element costs us
  • Screenshot capturing abilities – Capture the page as it render to see exactly what was rendered during each event
  • A mechanism that tracks the time it takes to render each segment of the page

During the past ~6 months, we at MySpace have been designing and developing a tool that would do exactly that (and more ;] ) and we ended up with “MSFast” – a browser plug-in that gives developers a complete, deep look at everything we could think of, from the moment the page leaves the web-server to the moment the page is completely rendered.

MSFast

In short, the way MSFast works is by setting up a custom proxy server on the client’s machine and using that proxy to 1. Normalize the download speed by throttling inbound data 2. Injecting the page with a set of JavaScript functions that executes a series of tests and measurements.

MSFast main features are:

Measure the CPU and Memory Consumption

MSFast captures the CPU and memory state of the browser’s process from the moment the page leaves the webserver to the moment the page is completely rendered.

Screenshots of the page

MSFast automatically takes screenshots of the page while it renders. These screenshots could then be reviewed against the rest of the collected data to see the actual UI state of the page.

Review downloaded files and show download time estimation on different bandwidths

MSFast captures the page’s HTTP traffic and stores the connection times. Since we throttle the connection and always ensure a constant tracking speed, we can display download estimates for each file, under different bandwidths.

Measure and show estimates of the time it takes to render each section of the page in different connection speeds

When the page loads, MSFast breaks it apart to roughly ~60 sections with an equal amount of HTML characters in them, and measures the time it takes to render each one of these sections. A developer can then review each part of HTML and see the time it will take to render it using different connection speeds.

Review the rendered HTML

Using MSFast, a developer can skip over the rendered code and see which section of HTML was processed by the browser during the page’s lifecycle.

Validate the content of your page against a set of proven “best practice” rules of web development

MSFast has a custom list of “validators” that could run against the tested page and alert the developer if their code goes against a set of common “best practices”. These rules are fully customizable and MSFast exposes an API for writing additional business-specific custom rules.

Open Source

We are dedicated to working with the developer community and see a great opportunity in giving back to the development community by open sourcing MSFast. We hope that this project will be one of the first of many future projects that we will open source ?

For more details and download directions please follow this link – http://www.msfast.com

By Yadid Ramot, Performance Architect, MySpace

Zend Solution Included in IBM Smart Business

-June 23, 2009 byZend Technologies, Ltd.
Customers benefit from wide variety of PHP applications and the productivity, performance, and low cost of ownership of Zend solution for PHP

CUPERTINO, Calif., June 24, 2009 – Zend Technologies, Inc., the PHP company, today announced that IBM will ship Zend’s solution for PHP in every IBM Smart Business system in order to provide their customers with reliability, performance, and security for PHP-based Web applications. Today’s announcement marks a significant expansion of the IBM and Zend partnership by now including PHP on Linux operating systems and x86 hardware in addition to IBM i OS and Power Systems hardware.

Software vendors participating in IBM’s Smart Business market are providing turnkey PHP web applications and will benefit from the high performance and automatic updates available with Zend’s web application solution.

Turnkey PHP applications simplify business owner’s IT needs. Zend’s offering includes PHP in a standardized form that is automatically updated via IBM’s integrated support software for applications that are designed for IBM Smart Business systems. This means a business owner’s IBM Smart Business system gets a complete, certified PHP stack with automated software updates and security patches. Zend supports the most popular databases, including DB2, as well as broadly used operating systems, including Linux and IBM i.

“Zend plays a key role in IBM’s Smart Business strategy to bring the breadth of the vast PHP ecosystem to small and medium businesses. With Zend we’re able to provide an integrated, reliable, and high performing business solution that leverages popular PHP applications like CRM, HR management, ERP, supply chain management, and other SMB solutions,” said Juhi Jotwani, Vice President, IBM Smart Business. “IBM Smart Business is about a radically simple new way to acquire, use and manage IT.”

“With the entire IBM Smart Business program now shipping with Zend, a much broader segment of the business community benefits from PHP’s reliability, security, and high performance with our web application environment,” said Andi Gutmans, chief executive officer at Zend Technologies. “What’s really compelling about today’s announcement is that ISVs and business owners participating in the IBM Smart Business program can unlock the power of the wide, open market for PHP applications by deploying them on our platform.”

Zend has begun working with independent software vendors (ISVs) who are delivering one-stop PHP-based solutions for IBM’s Smart Business program, including vendors such as OpenPro, OrangeHRM, WebConcepts, and vTiger. WebConcepts offers a sophisticated retail inventory planning solution to their customers that is built with PHP.

“It only took 4 clicks on the Smart Business system to install everything, the DB2 database, customizations, restore definitions, the application code… everything! All of this took the skills of multiple people in the past and this is now the simplest, most painless experience I have ever had with IT. I never thought I would say that ‘IT stuff’ was fun, but this is simply amazing,” said Ray Young, chief executive officer at WebConcepts, a PHP-based ISV.

“There is truly huge business value to our company as a provider,” Young explained. “With Zend on Smart Business, we are able to eliminate almost all on-site cost. These resources can now be deployed on other tasks and our business customers benefit from a much lower cost of deployment.”

“The benefits of Smart Market and Smart Business are that they allow WebConcepts to reach businesses and markets that in the past we could not reach with our PHP applications and deliver them quickly and easily, both for us and for our end-customers.”

About Zend Technologies Zend Technologies, Inc., the PHP Company, is the leading provider of products and services for developing, deploying, and managing business-critical PHP applications. PHP is used by more than 20 million web sites and has quickly become the most popular language for building dynamic web applications. Deployed at more than 27,000 companies worldwide, the Zend family of products is a comprehensive platform for supporting the entire lifecycle of PHP applications. Zend is headquartered in Cupertino, California.

For more information, please visit http://www.zend.com or call +1 408-253-8800.

Media Contact: Bradford Cottel Zend Technologies +1 408 253 8812 pr@zend.com

Question of the Day Comes to TypePad

-June 19, 2009 bydaisy barringer

QotD.pngOne of the things we love most about blogging is the community it builds. One blog post can create a dialogue across the web that features divergent opinions, thoughtful comments and a real sense of conversation.

The Question of the Day on Vox has helped us spark some of those conversations amongst bloggers who might otherwise suffered from a case of writer’s block. Because we’ve seen such great success with the Vox QotD, we decided to introduce the same feature to TypePad. We are really excited to see how this new feature inspires creativity amongst TypePad bloggers and their loyal readers.

Learn more about the TypePad Question of the Day in the FAQ and let us know if you have a question you’d like to ask!

If your question is chosen, we will publish it, along with a “submitted by” message and a link to your blog. It’s a great way to connect with bloggers, and also to get more readers to your blog. Please keep in mind that QotDs should appeal to a wide audience and should be no more than 95 characters.

You can send your submissions for QotDs to qotd@typepad.com.

MySpaceID WordPress Plugin Announced at WordCamp SF 2009

-June 5, 2009 byKiam

On Saturday May 30 in San Francsico, we announced the MySpaceID WordPress Plugin at WordCamp SF 2009.  Interest was so overwhelming that we ran out of flyers to hand out!

For those people who want more information, the plugin is available at:
http://wordpress.org/extend/plugins/wp-myspaceid/

Documentation on how to install it can be found at:
http://wiki.developer.myspace.com/index.php?title=MySpaceID_WordPress_Plug-in_Setup

What is the MySpaceID WordPress plugin?

If you have a self-hosted WordPress blog, the MySpaceID WordPress plugin lets your users log in with their MySpace credentials to leave comments.  This brings a few advantages:

  1. Rather than leave comments anonymously, your users can now easily log in with their MySpace credentials in as little as 2 clicks and have their MySpace user name, picture and link automatically show up in the comment. Many users care about letting others find out more about them, and this is a really convenient way to do that, while boosting social engagement on your site.
  2. After a user logs in, a cool-looking but unobtrusive bar appears across the bottom of the page. It lets the user share your blog with his friends simply by updating his status on MySpace.
  3. The above status update contains a link to your blog, so that it drives traffic to your site (free marketing!), plus improves your PageRank.

How awesome is that?  In addition, the following features are coming soon:

  1. When a user posts a comment, he can optionally share that with his friends as an activity on MySpace.
  2. When you post a new blog entry, you can share it with your friends as an activity on MySpace.

This is the first release of this plugin, and as it undergoes several iterations in the coming months, we want to improve it with your input. Please make sure to post your suggestions and comments to our MySpaceID forum at http://developer.myspace.com/Community/forums/60.aspx.

We are really excited to be working with the WordPress community on a plugin that is a win-win for all.  Currently, our plugin works only with self-hosted WordPress installations.  If you have such an installation, make sure you install it and try it out!

Thanks to our developers who built this plugin: Chris Baker (www.myspace.com/christopherbbaker) and Steve Ng (www.myspace.com/stevenng, Twitter: @stevenng)!

DevJam Videos are Available!

-June 4, 2009 byrondata

Greetings Developers, 

The first batch of MySpace Open Platform DevJam videos has been uploaded!
Please click on a link below to view the video, and also check out our DevJam page for the uploaded presentations.

MySpace Open Platform – State of the Union
Presented by:
Jason Oberfest, SVP of Business Development for MySpace
Gerardo Capiel, VP of Product for the MySpace Open Platform
Max Engel, Product Manager for MySpaceID and the MySpace Open Platform

Building a Business on MySpace
Presented by Dan Yue, Co-Founder of Playdom
http:/www.playdom.com

How to Port Apps to MySpace
Presented Sebastien de Halleux, Chief Operating Officer and Co-Founder of Playfish
http://www.playfish.com

A Case Study on Monetization
Presented by:  A.T., EVP, Sales & Business Development of Zynga
http://www.zynga.com

Thanks to all who attended DevJam. It was great meeting with you. 

We'll be uploading more videos as they become available. 

Thanks, 

Rhonda

 

« Older Entries    

Web Owner Tools










Recent Posts:
Sources:
Archives:
Meta:
Welcome to Web Owner Tools!

Web development is a challenging job, so you need the very best web owner tools to get it done right. Whether it's SEO, programming, utilities, software or just keeping up on the latest trends; web owner tools are what you need to succeed. Give yourself a headstart on the competition, and bookmark Web Owner Tools today.

 


Visit the Web Owner Store