Facebook’s new login for the web could ruffle feathers (not mine)

I recently came across this article “Facebook’s new login for the web could ruffle feathers” which highlights a new feature that enables website developers to create registration forms which are populated automatically with user data.

Facebook Registration Form

What bother’s me is that people actually might get upset about this as the article suggest. I want to point out that this is an old concept, Facebook might just be the first to get it right. Exhibit A: OpenID Simple Registration Extension 1.0 spec. Yes, that is correct, June 30 2006. That’s more than four years before Facebook.

Open ID adoption sucked in comparison to Facebook. As insane as it sounds I had both the OpenID and Facebook identity protocols memorized (I wrote the specs for ACS v2 support). Who wants to remember a URL as their identifier, and what developer wants to implement the Discover and Yadis protocol. Facebook just knows how to appeal to users (probably why they have 500,000,000+) and to developers (e.g. User Registration can be achieved in only a couple lines of code).

16 Questions For Better SaaS Companies and Azure AppFabric

I recently came across the article “The @Dharmesh Test: 16 Questions For Better SaaS Companies“. I worked on one very cloud system, the Azure AppFabric. So I started asking myself these questions about the AppFabric, even though it is actually a PaaS, not SaaS. Don’t expect any secrets about the services, it is all from public knowledge.

1. Is there exactly one version of your software that services all users?
Absolutely. There is one code base for all.

2. Do you have a free trial
No, not in production. I’ve been putting pressure on the marketing team to at least provide limited free additions to digerati and educators. Other than the production release, there is a free version for the Labs/CTP release, which is a non-production environment with experimental features.

3. Do you track key metrics like CAC, LTV, and cancellation rate?
I won’t say what is and isn’t being tracked, but I will say that the emphasis isn’t on making money for Microsoft, but it is for ensuring the best performance and highest uptime.

4. Are your prices published on your website?
Yes, but frankly pricing is incredibly cryptic. I challenge you to understand the AppFabric pricing model for the Service Bus (the Access Control Service is strait forward). Nobody can really explain it very well. I believe this is the teams greatest failure, as the pricing model was designed to enable the services to be measurable and scalable for the team, not for the customer.

5. Can people start paying you (become customers) without interacting with a human?
Absolutely. Though the sign-up process requires like 20 steps. It’s a work in progress.

6. Do you make more money from users that are getting more value?
No, there is exactly one consumption/price ration and no special features. This is probably a win because it would further complicate the already complicated model.

7. Does your application have a simple, clean API?
N/A. AppFabric is a PaaS, not SaaS, so the whole thing is an API. I would consider it simple though, it is designed for the advanced developers. The ACS service though is working hard to making the APIs much simpler and cross-platform compatible.

8. Can customers export their data out of your system?
Yes

9. Can you deploy (and rollback) a new version of the software in one-step without downtime?
Yes. A large chunk of engineering efforts for building AppFabric focused on building the operations, not the technology itself. The deployment process is incredible.

10. Is there an online community where users can interact with your team and with other users?
Yes. There are forums, email aliases to the entire team, and we even have dedicated “field” people to work with customers.

11. Do new developers commit code on their first day at work?
Theoretically they could if the check-in is small enough. There are a lot of habits new developers have to get used to, including code reviews, the check-in process and tools, etc. There is a learning curve, but it’s a good learning curve as engineering practices are top-notch.

12. Do you release code to production at least once a month?
No, but it goes out every 2-3 months. Still not bad.

13. Do you maintain a centralized backlog of new product ideas, bugs, and issues?
Damn right we do. The Feature PMs (my role) is responsible for all that goodness.

14. Do you regularly run A/B tests?
N/A I think this is for SaaS moreso than PaaS. We just talk to customers to see what they have to say.

15. Do you invest in design and user experience?
Yes, but not enough. One of the great challenges about working on PaaS is that it is designed by developers for developers, so it is incredibly technical. There are few people that care about UX. I happen to be one of the people that does care and I personally helped make some of the improvements in the Portal.

16. Does your company or product have a personality?
This is the squishiest of the questions, and I don’t know how to answer that.

I Quit Microsoft

I quit Microsoft. This means I am saying good bye to many things: stock options, stock awards, awesome health care, incredible gym membership, 401K contribution matching, a handsome salary, and most importantly, working with some of the smartest people in the world. I can’t emphasize the people enough. I get all the good things, I work side-by-side with the industry leaders in cloud computing and federated identity, they are driven, dependable, and much more… and none of the bad things, I don’t have to deal with politics, gossip, attitudes, or any of the typical office BS.

The economy is poor, unemployment is high, and I have a cushy job. I’m starting to look crazy for quitting. This warrants two questions: “why are you quitting?” and “what’s next?

Why are you quitting? I’m quitting because it’s been my dream to have my own startup since I was 13-years-old.

To anyone who knows me, this comes as no surprise. I started my first consulting business when I was 16-years-old with my allowance money. I’ve had other profitable businesses with customers as big as the former Seattle Sonics and Universal Map Inc. I started teaching myself to program while I was still in elementary school; by the time I was in high school I programmed my own boot sector in assembly, plugin for 3D Studio Max, stereoscopic 3D imagine processing, Linux drivers, automated blind TCP/IP spoofing attack, and CGI in C++ (before PHP and ASP were around). Ahhh, the good ’ol’ hacking days. You get the picture: I love building what people want (and want to pay for) and I love building software.

It’s clear that I want to build a company. Building a great company isn’t something that can be done in the evenings; especially not while working for a company like Microsoft which already demands so much attention. I need to dedicate myself beyond the standard 9 to 5 to succeed.

What’s next? I don’t know exactly, but there are a few things that I do know.

I know I have passion for all the right things. While I am passionate about building software people want (and want to pay for), I also want to build something that goes beyond just my immediate talents. I want to build a machine which adds value to people and organizations, makes the world a better place, and makes a profit as a result. (Two interesting related articles: “In Defense of Entrepreneurial Passion” and “Why ‘Be Passionate’ is awful advice”).

I know that visionary companies were started without a product. One such example is Sony from “Built to Last”. I don’t need a product and I don’t need early success to build a company.

I know that I can listen to customers. I deeply buy into investing in customer development per Steven Blanks “The Four Steps to the Epiphany” before investing in product development. That is, I will commit to having customers lined up with checks in hand to buy my product before I even build the product.

I know that I can build software. I have been writing code for more than half of my life. I’ve also been responsible managing product development at Microsoft for over five years. I can deliver the minimal viable product on schedule with limited resources, and iterate rapidly to evolve the product. Relatively speaking, this is the easy part.

Having said all that, I haven’t really answered the question.

My options right now are endless. There are really a number of avenues I will be entertaining. First, I have a few product ideas that I am entertaining; I will drive those product ideas through the customer development process until I have something that sticks. Secondly, I will continue working with some friends on other ideas and exploring various markets and talking to people to see if there are opportunities outside of the scope of my current product ideas. Lastly, I would also consider working for another startup if I believe in the company and I get to exercise my desire to build something beyond me.

My last day at Microsoft is to be determined, but will be no later than Feb 25th.