Archive for July 30th, 2008

Are you finding the root cause?

Written by on Wednesday, July 30th, 2008 in Uncategorized.

We circle the on-call responsibility between all the programmers at 37signals. Every day is someone’s day to take care of the technical issues that bubble up from support but can’t be resolved there. And that seemed to work pretty well in the beginning, but we’re starting to think that we need a more systematic approach.

The problem with passing the support monkey around is that everyone just wants to get rid of him as soon as possible. There’s not a whole lot of vested interested in dealing with the root cause of the issues, so you solve one-off problems for individual customers and get on with your day.

For the individual programmer, that approach will appear to work reasonably well because the feedback cycle is so long. You forget next week that you’ve actually already dealt with this problem before. And you certainly don’t get the feedback of knowing that the issue caused three other incidents for other people during the week. So your personal incentive to fix the true cause isn’t building naturally.

I’ve found that to ever get anything done, you really need to align personal incentives with the task at hand. That’s why we’ve been thinking about doing support weeks.

A single programmer gets assigned to work the support monkey all week and have to solve the root cause for every issue he encounters. No I’ll-just-deal-with-this-guy one-offs. But not just because of the directive that it’s what you’re supposed to do, but because it’ll come ever so natural when you’ve solved the same problem three days in a row.

Are you finding the root causes for your daily grind or does the wheels just keep spinning on the same issues?

Source: Signal vs. Noise
Original Article: http://www.37signals.com/svn/posts/1174-are-you-finding-the-root-cause

What you expect from clients is what you will get

Written by on Wednesday, July 30th, 2008 in Uncategorized.

“We get it. But our clients would never understand.” It’s a frequent rebuttal to our Getting Real philosophy.

Read between the lines and there’s a disturbing undercurrent to that message. It’s really saying, “I get it but these other people could never understand. They don’t have the wisdom and the understanding that I do.” It’s like the way some LA or NYC people sound when they talk down about the masses in the flyover states. It’s insulting.

The truth is folks can usually handle a lot more than these wizards think. Are their clients really imbeciles who couldn’t possibly understand why they’re foregoing a spec to build something real ASAP? I doubt it.

A lot of times people are just stuck in patterns. Process gets done a certain way because that’s the way it’s been done in the past. Sometimes the arteries of work get clogged up simply because no one stops it from happening. Inertia happens.

Set a new course
Instead of looking down at your clients, look for ways to convince, educate, and guide them. That’s part of your job.

Start off by agreeing on your common goal: to create the best final product possible. Agreeing on a common goal is an old Dale Carnegie technique that works well because it gets everyone to realize they’re on the same team and fighting for the same thing. You start getting “yes” immediately.

Then steer them in what you think is the best direction. Take the initiative. Set expectations. Explain why you want to do it a new way. Tell them how you think the project should go.

Will this approach lose you the job? If it does, maybe it’s a bad fit in the first place.

But you may be surprised by the results. This kind of effort shows you’re someone who genuinely cares about the final outcome. And a lot of clients would love to work with someone like that. They’d love for you to tell them there’s a better way. They’d love to know that you want to do more than just phone it in.

Don’t assume ignorance. People live up to the expectations placed upon them. If you assume intelligence and flexibility from your clients, you just might get it.

Source: Signal vs. Noise
Original Article: http://www.37signals.com/svn/posts/1171-what-you-expect-from-clients-is-what-you-will-get

37signals is looking to hire a second system administrator to help manage our growing infrastructure. We are looking for someone who has solid experience running production web applications and good all around system administration skills. In particular, you should have strong experience with Apache, MySQL and the HTTP protocol. Some of the other software we rely on includes HAproxy, Mongrel, memcached, and Xen primarily running on RedHat Enterprise Linux or CentOS 5, with a handful of FreeBSD machines.

Experience with Cisco hardware and Ruby programming are a big plus, but attitude and enthusiasm are an even bigger one.

Details on how to apply at the Job Board.

Source: Signal vs. Noise
Original Article: http://www.37signals.com/svn/posts/1172-37signals-is-looking-to-hire-a-second-system-administrator

Light-weight JSON Binding Framework

Written by on Wednesday, July 30th, 2008 in Uncategorized.

In my other life as a desktop application developer (which due to a mix of Fluid, AIR, Prism, canvas, SVG, and Flash is threatening to converge on my Ajax life) I’ve long been a fan of data-binding frameworks that make it easy to have a form automatically synchronize with backing data structures, saving you from the tedium of a dozen little “widget.getValue() - dataModel.setValue()” calls (or in the case of grids, etc. much more verbose and tedious plumbing).

Dojo and others frameworks have some interesting binding features, but if your favorite JavaScript framework lacks form data binding, check out Steven Bazyl’s small stand-alone JSON binding project: js-binding.

The project is just getting started, but it already has a few basic features that make it useful. For example, to convert this form:

HTML:

  1.  
  2.   <input type=“text” name=“username”/>
  3.   <input type=“text” name=“email”/>
  4.   <input type=“text” name=“address.street”/>
  5.   <input type=“text” name=“address.city”/>
  6.   <input type=“text” name=“address.state”/>
  7.   …
  8. </form>
  9.  

into this object:

JAVASCRIPT:

  1.  
  2. {
  3.   username: “…”,
  4.   email: “…”,
  5.   address: {
  6.     street: “…”,
  7.     city: “…”,
  8.     state: “…”
  9.   }
  10. }
  11.  

You just need to write this code:

JAVASCRIPT:

  1.  
  2. var myObject = …;
  3. var myForm = …;
  4. var binder = Binder.FormBinder.bind( myForm );
  5. binder.deserialize( myObject );
  6.  

js-binder also has a built-in type conversion mechanism that, for example, allows you to easily integrate with a JavaScript date parsing library:

JAVASCRIPT:

  1.  
  2. var binder = Binder.FormBinder.bind( myForm, {
  3.   date: {
  4.     // Date handler using datejs much improved parsing…
  5.     parse: function( value ) { return Date.parse( value ); },
  6.     format: function( value ) { return Date.toString( ‘M/d/yyyy’ ); }
  7.   }
  8. } );
  9. binder.deserialize( myObject );
  10.  

The docs are concise but useful.

Source: Ajaxian » Front Page
Original Article: http://feeds.feedburner.com/~r/ajaxian/~3/350566132/light-weight-json-binding-framework

onJSReady Prototype Plug-in

Written by on Wednesday, July 30th, 2008 in Uncategorized.

In a follow-up to our post a few days ago on parallelizing JavaScript loading and firing an event when loading is done, Stefan Hayden wrote a Prototype extension (based on onDOMReady) that makes it easy for you to execute your code when all JavaScript is loaded:

JAVASCRIPT:

  1.  
  2. Event.onJSReady(function () { dependent_on_external_js(); });
  3.  

Source: Ajaxian » Front Page
Original Article: http://feeds.feedburner.com/~r/ajaxian/~3/350541973/onjsready-prototype-plug-in

Goober Takes Shotgun Approach With IM Client

Written by on Wednesday, July 30th, 2008 in Uncategorized.

Goober is an instant messenger developed by a team of Germans now officially based in Delaware that’s going up against the big guys (Skype, MSN, ICQ, etc.) with a desktop client that overflows with features - some useful, some more superfluous.

The cross-protocol Goober client (available for Windows and soon Mac and Linux as well) can be used to instant message with both peers on the Goober network and those using ICQ, MSN, or Jabber. Its built-in VoIP capabilities can also be used to place calls, although video chat is still under development. We’re told that the company is intent on keeping its client software up-to-date on all platforms, including Java for the mobile, so that users enjoy the same experience regardless of device.

So far, so good - although nothing terribly special. Goober differentiates itself primarily by providing a suite of widgets that can be used to solicit communications through the client. An email widget can be placed in the signature of messages and a so-called “portal” widget can be placed on social network profiles and other webpages. Both present buttons for one-click instant messaging, VoIP calling, and file transferring with the user who distributes them. An additional “classifieds” widget assists those trying to conduct business online who want to be reached through more synchronous means than email.

Goober has also integrated entertainment features into the client. The company draws upon free video channels and radio stations found on the internet and allows for the playback of them at the bottom of the client. The quality of this content isn’t superb and I’m not sure why you’d want to use your IM client for media consumption, but there it is anyway.

Among Goober’s various other bells and whistles is a micropayments system that can be used to pay either Goober for VoIP services or whoever has white labeled Goober for its own business (perhaps a media company that wants to deliver its video through the client for a fee). A Jajah-like feature connects two landlines via VoIP to cut down on the cost of long distance calls. And users can send SMSs, MP3s and screenshots to each other from within the client.

Overall, Goober is a respectable IM client, although I find little that would actually entice me to switch over from Skype and AIM. The entertainment features don’t do anything for me, and the widgets are only moderately useful. The user interface could also use some cleaning up, as it confuses and doesn’t look the most professional. However, those who regularly communicate across several protocols should check it out, especially once Goober adds AIM and Gtalk support (both planned).

Also see the recent upgrades to Skype’s IM client, which has moved further in the video chat direction.

Crunch Network: CrunchGear drool over the sexiest new gadgets and hardware.

Source: TechCrunch
Original Article: http://feeds.feedburner.com/~r/Techcrunch/~3/350515389/

Clickable, the web advertising management company that launched at TechCrunch40, has closed a $14.5 Million Series B round led by Founders Fund, Union Square Ventures, and FirstMark Capital. The round brings Clickable’s total funding to $22.5 million, and comes only eight months after the company completed its $6 million two-part Series A round.

Clickable offers users a web-based dashboard that allows them to manage their advertising campaigns across a number of websites. The site also offers a tutorial section called “Clickable University” where users can see how to more effective use and analyze their ads. The large sums of money will be used to “accelerate Clickable’s momentum”, likely by attempting to increase exposure with a marketing push and adding to the company’s workforce.

Crunch Network: MobileCrunch Mobile Gadgets and Applications, Delivered Daily.

Source: TechCrunch
Original Article: http://feeds.feedburner.com/~r/Techcrunch/~3/350422716/

Inline Script Wrapper and Dependencies

Written by on Wednesday, July 30th, 2008 in Uncategorized.

Stuart Colville has found an issue where he needed to output some JavaScript in the middle of a page, before a library that depended on it was available:

The 6th Rule in Yahoo’s Performance Rules recommends placing script before the closing body tag to prevent blocking holding up the rendering of the page’s content. This works well but there are times where script needs to be output higher up in the page than it’s dependencies.

In this example I’m using jQuery but feel free to substitute jQuery for the your favorite framework.

The requirement is that there’s a need to run some code that would ideally use jQuery somewhere in the middle of the page. I could avoid the dependency and re-write everything without jQuery and for simple scripts this can be a good way to go. But, if I want to use some of the more complex jQuery features, then I really don’t want to have to re-invent the wheel or resort to including jQuery in the head of the document.

This lead him to the following example

HTML:

  1.  
  2.     <script type=“text/javascript”>
  3.         var muffin = muffin || {};
  4.         muffin.inline = muffin.inline || [];
  5.         muffin.inline.add = function(f){
  6.            muffin.inline[muffin.inline.length] = f;
  7.         };
  8.     </script>
  9.  
  10.     <script type=“text/javascript”>   
  11.         muffin.inline.add(function(){
  12.             $(’#green’)[0].style.backgroundColor = ‘green’;
  13.         });
  14.         muffin.inline.add(function(){
  15.              $(’#red’)[0].style.backgroundColor = ‘red’;
  16.         });
  17.     </script>
  18.  
  19.     <div id=“red”><p>This should be Red</p></div>
  20.     <div id=“green”><p>This should be Green</p></div>
  21.  
  22.     <script src=“http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js”></script>
  23.     <script type=“text/javascript”>
  24.         $(function(){
  25.             if (muffin && muffin.inline){
  26.                 for (var i=0, j=muffin.inline.length; i<j ; i++){
  27.                     muffin.inline[i]();
  28.                 }
  29.             }
  30.         });
  31.     </script>
  32.  

This seems a little niche. You my run into this as you have server side components outputting things, but ideally you can fix that in your architecture and ship the JavaScript in the correct location.

Source: Ajaxian » Front Page
Original Article: http://feeds.feedburner.com/~r/ajaxian/~3/350372004/inline-script-wrapper-and-dependencies

MySpace COO Amit Kapur apparently meant it when he told me earlier today that MySpace is continuing to hire despite letting 5% or so of staff go in the coming days. He introduced five new senior executives this evening via an email out to all staff, the text of which was forwarded to me and is copied below.

The new execs are Manu Thapar, SVP of Engineering (formerly Yahoo VP Engineering), Angela Courtin, SVP of Marketing, Tish Whitcraft, SVP of Customer Care, Jason Oberfest, VP of Business Development and Abe Thomas, VP of Online Marketing

All of the new execs seems to be eating the MySpace dog food by at least having a presence on MySpace. Except former Yahoo’er Thapar, that is. He’s MySpace-free for now. I wonder how long that will last.

Email is below.


Hey everybody,

MySpace has been on a hyper-growth track since our launch in January 2004. We’ve evolved into a stable, profitable business with amazing talent driving one of the most trafficked websites in history. Four years ago we started at a small office in Santa Monica with a few employees, and now we operate offices in 19 countries across the globe and support 29 localized communities across the web.

Today we’re pleased to announce several new senior team members joining MySpace:

· Manu Thapar, SVP of Engineering
· Angela Courtin, SVP of Marketing
· Tish Whitcraft, SVP of Customer Care
· Jason Oberfest, VP of Business Development
· Abe Thomas, VP of Online Marketing

Looking back, this has been an incredible year of innovation and expansion—in the last few months, we have successfully developed and launched a number of major company initiatives strengthening our leadership position in the future of the social web. All of you have played a big role in keeping MySpace in the driver’s seat of innovation.

Here are some of the initiatives we’ve rolled this year:

· MySpace Developer Platform
· Site Redesign
· Data Availability
· Formation of the MySpace Music Joint Venture
· MySpace Support for OpenID
· OpenSocial launch with Google, Yahoo and others
· Implementation of Google Gears for Mail Messaging and Sort

Looking ahead, there’s a lot more to come—this is going to be a big year!

Thanks!
Amit

Meet Our New Team Members:

Manu Thapar, SVP of Engineering

Manu Thapar serves as the SVP of Engineering for MySpace, the world’s premier social network. In this role Manu is responsible for overseeing the company’s infrastructure, security and high priority projects, as well creating an offshore development team for MySpace.

Prior to joining MySpace, Manu served as Vice President of Engineering for Yahoo!, Inc. where he was Responsible for software infrastructure engineering, operations, test, product and program management teams of more than 250 engineers. Manu also served as Sr. Director of Engineering for Cisco Systems where he oversaw all aspects of delivering large scale network products used by high end customers for the development of sophisticated enterprise web sites.

Manu earned his PhD from Stanford University’s esteemed school of engineering in 1992.

###

Angela Courtin, SVP Marketing (www.myspace.com/acourtin )

Angela Courtin serves as SVP of Marketing for MySpace, the world’s premiere social network. In this newly created role, Angela is responsible for leading the marketing, branding, promotions, events, content and entertainment teams for MySpace with the objective of increasing growth and public awareness and driving revenue through marketing programs for the company.

Prior to Joining MySpace Angela served as Vice President, Integrated Marketing, for MTV Networks, responsible for overseeing the West Coast department. In this role she served as the liaison with production and series development as well as the West Coast client base.

An accomplished, creative, and vision-oriented marketing executive, Angela has developed key relationships with clients and production to create rich product integrations, branded entertainment and game-changing marketing executions. Her background in development and production have been key in understanding the creative dynamic in achieving authentic integration experiences for the audience, the client and the narrative.

Angela also served as Associate Producer on HBO’s Big Love and also worked for Knollwood Productions in Development. Her MTV trajectory would intersect in 2004 when she served as Vice President of Rock the Vote, where she partnered with MTV’s Choose or Lose campaign and corporate America to bring civic participation and voter empowerment to young people across the country. Her work in politics spans the beltway, from the Human Rights Campaign to the Democratic National Committee.

Her work was recognized in 2004 in Out Magazine’s OUT 100, the annual list of the year’s most interesting, influential, and newsworthy LGBT people. Angela earned a B.S in Civil Engineering and an MBA from Oklahoma State University.

###

Tish Whitcraft, SVP of Customer Care (www.myspace.com/tishwhitcraft)

Tish Whitcraft recently joined MySpace as SVP of Customer Care responsible for delivering a world-class user experience to the 250 million + MySpace users. In her new role, she will be responsible for building scalable global customer support, user experience and satisfaction and driving the user feedback loop back to the business. In addition, Tish will focus on building and implementing a new online self-help strategy which will allow MySpace users to get answers and help by delivering more accurate and relevant information right when users need it and want it.

Most recently, Tish served as Vice President of Global Customer Experience and Operations at ooma, a consumer voip start-up, where she had overall P&L responsibilities including day-to-day business operations, business development, marketing and sales and product development. The primary focus was to ensure the highest quality customer experience from product to post-sales. Prior to joining ooma, Tish served as the leader and operational executive responsible for Global Customer Operations and Customer Experience at online giant Yahoo! Inc., leading customer care and experience for Yahoo!’s 850 million users in 48 markets across 68 different product categories.

With extensive experience in the communications and outsourcing sectors, prior to ooma and Yahoo!, Tish has held executive management positions with inServ e-Customer Solutions, Aegis Communications, Lexi International, and Communique Telecommunications. At Aegis, Tish served as COO and Senior Vice President of Operations, overseeing the P&L for this $250M outsourcing firm, servicing communication, technology, software and financial service industries with clients such as ATT, Macromedia, SBC, Nextel, Directv and the Dish Network, IBM, Toshiba and American Express.

###

Jason Oberfest, VP of Business Development (www.myspace.com/joberfest)

Jason Oberfest serves as Vice President of Business Development for MySpace, the world’s premier social network. In this role, Jason is responsible for structuring and negotiating deals to drive revenue and support the launch of innovative new products. Alongside the company’s business development team, Jason oversees the commercial aspects of the MySpace Developer Platform and MySpace’s Data Availability APIs.

Prior to MySpace Jason served as Managing Director of Business Development and Product Management for Los Angeles Times Interactive. In this role Jason launched a redesign of latimes.com and structured deals with leading startups including Netvibes, Aggregate Knowledge, Eventful and Mixx.com.

From 1999-2005 Jason served as Vice President of Strategic Planning at Blast Radius, an interactive agency. In this role Jason founded the strategic planning division of the company and led the design and development of media and commerce websites for Sony, Nintendo, Viacom, Warner Music Group, A&E Television Networks and others. Jason worked with AOL from 2002-2005 developing AOL Shopping, AOL Search, AOL.com, and other products. Blast Radius was acquired by the WPP Group in 2007.

###

Abe Thomas, VP of Online Marketing (www.myspace.com/abethomas08)

Abe Thomas serves as Vice President of Online Marketing for MySpace, the world’s premier social network. In this role Abe is responsible for developing the overall strategy for acquiring new customers through online advertising, affiliates and search marketing. Working closely with the company’s creative group, database engineers and product marketing teams Abe spearheads companywide initiatives geared towards driving loyalty from existing customers through email, direct mail and on the website, using effective segmentation and promotional strategies and tactics.

In 2006, Abe spent a year in Mumbai, India leading eBay India’s Internet Marketing team. With Google still in its infancy in India, successful optimization of eBay’s Search program resulted in a high representation of eBay pages in Google’s Paid Search program and Google’s Natural Search results.

In Jan 2007, Abe moved to PayPal Merchant Services where he was focused on marketing PayPal to our largest merchants.

Prior to joining eBay, Abe held multiple business development, product marketing and consulting positions at AltaVista, Palm, IBM Consulting and Motorola.

Abe received a B.S. in Electrical Engineering from Purdue University, a MSEE from USC and then an MBA from the University of Chicago. He lives in San Jose with his wife and two girls aged 3 and 6. He loves playing Basketball, Cricket, cooking and spending time with his kids.

Crunch Network: CrunchBoard because it’s time for you to find a new Job2.0

Source: TechCrunch
Original Article: http://feeds.feedburner.com/~r/Techcrunch/~3/350326400/

4D Web 2.0 Pack

Written by on Wednesday, July 30th, 2008 in 78689.

4D is a commercial company that has a high level framework that sits on top of their RDBMS technology. They have a new version that allows you to access data in many new places: iPhone, Gears, HTML 5 APIs, AIR and Flex.

Check out the online demos such as a drag and drop shopping cart, or the Gears enabled personal tracker.

Source: Ajaxian » Front Page
Original Article: http://feeds.feedburner.com/~r/ajaxian/~3/350319342/4d-web20-pack



Site Navigation