Sarah Perez over on ReadWriteWeb has a blog post entitled In Cloud We Trust? where she states

Cloud computing may have been one of the biggest "buzzwords" (buzz phrases?) of this past year. From webmail to storage sites to web-based applications, everything online was sold under a new moniker in 2008: they're all "cloud" services now. Yet even though millions of internet users make use of these online services in some way, it seems that we haven't been completely sold on the cloud being any more safe or stable than data stored on our own computers.
...
Surprisingly, even on a site that tends to attract a lot of technology's earliest adopters, the responses were mixed. When asked the question: "Do you trust the cloud?," the majority of responses either came back as a flat-out "no" or as a longer explanation as to why their response was a "maybe" or a "sometimes." In other words, some people trust the cloud here, but not there, or for this, but not that.

The question this article asks is pointless on several levels.  First of all, it doesn't really matter if people trust the cloud or not. What matters is whether they use it or not. The average person doesn't trust computers, automobile mechanics or lawyers yet they use them anyway. Given the massive adoption of the Web from search engines and e-commerce sites to Web-based email and social networking services, it is clear that the average computer person trusts the cloud enough to part with their personal information and their money. Being scared and untrusting of the cloud is like being scared and untrusting of computers, it is a characteristic that belongs to an older generation while the younger generation couldn't imagine life any other way. It's like Douglas Adams wrote in his famous essay How to Stop Worrying and Learn to Love the Internet back in 1999.

Secondly, people are often notoriously bad at assessing risk and often fail to consider that it is more likely that data loss will occur when their personal hardware fails given that the average computer user doesn't have a data backup strategy than it is likely to occur if their information is stored on some Web company's servers. For example, I still have emails from the last decade available to me in my Hotmail and Yahoo! Mail accounts. On the other hand, my personal archive of mail from the early 2000s which had survived being moved across three different desktop PCs was finally lost when the hard drive failed on my home computer a few months ago. I used to have a personal backup strategy for my home desktop but gave up after encountering the kinds of frustrations Mark Pilgrim eloquently rants about in his post Juggling Oranges. These days, I just put all the files and photos I'm sure I'd miss on SkyDrive and treat any file not worth uploading the cloud as being transient anyway. It is actually somewhat liberating since I no longer feel like I'm owned by all my digital stuff I have to catalog, manage and archive.

On a final note, the point isn't that there aren't valid concerns raised whenever this question is brought up. However progress will march on despite our  Luddite concerns because the genie is already out of the bottle. For most people the benefits of anywhere access to their data from virtually any device and being able to share their content with people on the Web far outweighs the costs of not being in complete control of the data. In much the same way, horseless carriages (aka automobiles) may cause a lot more problems than horse drawn carriages from the quarter ton of carbon monoxide poured into the air per year by an average car to the tens of thousands of people killed each year in car crashes, yet the benefits of automobiles powered by internal combustion engines is so significant that humanity has decided to live with the problems that come along with them.

The cloud Web is already here and it is here to stay. It's about time we stopped questioning it and got used to the idea.

Note Now Playing: Amy Winehouse - Love Is A Losing Game Note


 

Categories: Cloud Computing

I've been hearing the term deflation being bandied about by TV news pundits with Japan being used as the popular example of this phenomenon for the past few months. The claim is that if the trend of price drops in the U.S. continues then we will be headed for deflation. When I first saw these stories I wondered what exactly is wrong with falling prices? Well…

Everywhere you look assets are worth less than they were a year ago. Gas prices are lower, house prices are lower, and stock portfolios are lower. At first I considered this a net positive. According to Zillow my house is now worth 10% less than what we paid for it almost two years ago and my 401(k) lost about 35% during the 2008 calendar year. However I treated this as a "correction" since these were in effect paper losses since I bought my house to live in not to flip it and I'm not planning to spend out of my 401(k) until retirement. On the other hand lower gas prices and cheaper consumer goods at Christmas time had a real and positive effect on my bottom line.

In addition, despite the media's claim that people were hoarding we planned to ignore the hype and help the local economy by continuing our plans to have our bathroom remodeled and get a new car later in the year (my wife has her eye on the Ford Flex).

As each week passes I've been less sure of our plans to "help the local economy" and last week's announcement by my employer to eliminate 5,000 jobs within the next 18 months began to make the plans seem downright irresponsible. At this point we've decided to hold off on the purchases and are debating the safest way to hold on the money and still retain value. My behavior sounded familiar and I looked up Wikipedia for information about deflation in Japan it was interesting to see the parallels

Systemic reasons for deflation in Japan can be said to include:

  • Fallen asset prices. There was a rather large price bubble in both equities and real estate in Japan in the 1980s (peaking in late 1989). When assets decrease in value, the money supply shrinks, which is deflationary.
  • Insolvent companies: Banks lent to companies and individuals that invested in real estate. When real estate values dropped, these loans could not be paid. The banks could try to collect on the collateral (land), but this wouldn't pay off the loan. Banks have delayed that decision, hoping asset prices would improve. These delays were allowed by national banking regulators. Some banks make even more loans to these companies that are used to service the debt they already have. This continuing process is known as maintaining an "unrealized loss", and until the assets are completely revalued and/or sold off (and the loss realized), it will continue to be a deflationary force in the economy. Improving bankruptcy law, land transfer law, and tax law have been suggested (by The Economist) as methods to speed this process and thus end the deflation.
  • Insolvent banks: Banks with a larger percentage of their loans which are "non-performing", that is to say, they are not receiving payments on them, but have not yet written them off, cannot lend more money; they must increase their cash reserves to cover the bad loans.
  • Fear of insolvent banks: Japanese people are afraid that banks will collapse so they prefer to buy gold or (United States or Japanese) Treasury bonds instead of saving their money in a bank account. This likewise means the money is not available for lending and therefore economic growth. This means that the savings rate depresses consumption, but does not appear in the economy in an efficient form to spur new investment. People also save by owning real estate, further slowing growth, since it inflates land prices.
  • Imported deflation: Japan imports Chinese and other countries' inexpensive consumable goods, raw materials (due to lower wages and fast growth in those countries). Thus, prices of imported products are decreasing. Domestic producers must match these prices in order to remain competitive. This decreases prices for many things in the economy, and thus is deflationary.

The crazy thing is that this sounds like a description of the United States of America today. That's when I understood that the threat of a deflationary spiral is very real. If people like me start hoarding cash then businesses get less customers which causes them to lower prices in return. With lower prices, they make less money and thus need to cut costs so they have layoffs. Now the local situation is worse giving people even more conviction in holding on to their cash and so on. The bit about imported goods kicking the butts of locally produced items in the marketplace is also especially apt given the recent drama about the automobile bailout

Anyway, it looks like we are at the start of a deflationary spiral. The interesting question is whether there is anything anyone can do to stop it before it fully gets underway.


 

Categories: Current Affairs | Personal

A few months ago, Tim O'Reilly wrote an excellent post entitled Web 2.0 and Cloud Computing where provides some definitions of two key cloud computing paradigms, Utility Computing and Platform as a Service. His descriptions of these models can be paraphrased as

  1. Utility Computing: In this approach, a vendor provides access to virtual server instances where each instance runs a traditional server operating system such as Linux or Windows Server. Computation and storage resources are metered and the customer can "scale infinitely" by simply creating new server instances. The most popular example of this approach is Amazon EC2.
  2. Platform as a Service: In this approach, a vendor abstracts away the notion of accessing traditional LAMP or WISC stacks from their customers and instead provides an environment for running programs written using a particular platform. In addition, data storage is provided via a custom storage layer and API instead of traditional relational database access. The most popular example of this approach is Google App Engine.

The more I interact with platform as a service offerings, the more I realize that although they are more easily approachable for getting started there is a cost because you often can't reuse your existing skills and technologies when utilizing such services. A great example of this is Don Park's post about developing on Google's App Engine entitled So GAE where he writes

What I found frustrating while coding for GAE are the usual constraints of sandboxing but, for languages with rich third-party library support like Python, it gets really bad because many of those libraries have to be rewritten or replaced to varying degrees. For example, I couldn’t use existing crop of Twitter client libraries so I had to code the necessary calls myself. Each such incident is no big deal but the difference between hastily handcrafted code and libraries polished over time piles up.

I expect that the inability of developers to simply use the existing libraries and tools that they are familiar with on services like Google App Engine is going to be an adoption blocker. However I expect that the lack of of a "SQL database in the cloud" will actually be an even bigger red flag than the fact that some APIs or libraries from your favorite programming language are missing.

A friend of mine who runs his own software company recently mentioned that one of the biggest problems he has delivering server-based software to his customers is that eventually the database requires tuning (e.g. creating indexes) and there is no expertise on-site at the customer to perform these tasks.  He wanted to explore whether a cloud based offering like the Azure Services Platform could help. My response was that it would if he was willing to rewrite his application to use a table based storage system instead of a relational database. In addition, aside from using a new set of APIs for interacting with the service he'd also have to give up relational database features like foreign keys, joins, triggers and stored procedures. He thought I was crazy to even suggest that as an option.  

This reminds me of an earlier post from Dave Winer entitled Microsoft's cloud strategy? 

No one seems to hit the sweet spot, the no-brainer cloud platform that could take our software as-is, and just run it -- and run by a company that stands a chance of surviving the coming recession (which everyone really thinks may be a depression).

Of all the offerings Amazon comes the closest.

As it stands today  platform as a service offerings currently do not satisfy the needs of people who have existing apps that want to "port them to the cloud". Instead this looks like it will remain the domain of utility computing services which just give you a VM and the ability to run any software you damn well please on the your operating system of choice.

However for brand new product development the restrictions of platform as a service offerings seem attractive given the ability to "scale infinitely" without having to get your hands dirty. Developers on platform as a service offerings don't have to worry about database management and the ensuing complexitiies like sharding, replication and database tuning.

What are your thoughts on the strengths and weaknesses of both classes of offerings?

Note Now Playing: The Pussycat Dolls - I Hate This Part Note


 

Categories: Cloud Computing

I've been a FeedBurner customer for a couple of years and was initially happy for the company when it was acquired by Google. This soon turned to frustration when I realized that Google had become the company where startups go to die. Since being acquired by Google almost two years ago, the service hasn't added new features or fixed glaring bugs. If anything, the service has only lost features since it was acquired.

I discovered the most significant feature loss this weekend when I was prompted to migrate my FeedBurner account to using a Google login. I thought this would just be a simple change in login credentials but I got a different version of the service as well. The version of the service for Google accounts does have a new feature, the chart of subscribers is now a chart of subscribers AND "reach". On the other hand, the website analytics features seemed to be completely missing. So I searched on the Internet and found the following FAQ on the FeedBurner to Google Accounts migration

Are there any features that are not available at feedburner.google.com?

There are two features that we are retiring from all versions of feedburner: Site Stats (visitors) and FeedBurner Networks.

We have decided to retire FeedBurner website visitor tracking, as we feel Google already has a comparable publisher site analytics tool in Google Analytics. If you do not currently use Google Analytics, we recommend signing up for an account. We want to stress that all feed analytics will remain the same or be improved, and they are not going away.

FeedBurner Networks, which were heavily integrated with FeedBurner Ad Network, are no longer being supported. As with many software features, the usage wasn't at the level we'd hoped, and therefore we are making the decision not to develop it further, but to focus our attention on other feed services that are being used with more frequency. We will continue to look out for more opportunities for publishers to group inventory as part of the AdSense platform.

I guess I should have seen this coming. I know enough about competing projects and acquisitions to realize that there was no way Google would continue to invest in two competing website analytics products. It is unfortunate because there were some nice features in FeedBurner's Site Stats such as tracking of clicked links and the ability to have requests from a particular machine be ignored which are missing in Google Analytics. I also miss the simplicity of FeedBurner's product. Google Analytic is a more complex product with lots of bells and whistles, yet it takes two or three times as many clicks to answer straightforward questions like what referrer pages are sending people to our site. 

The bigger concern for me is that both Google Analytics and FeedBurner (aka AdSense for Feeds) are really geared around providing a service for people who use Google's ad system. I keep wondering how much longer Google will be willing to let me mooch off of them by offloading my RSS feed bandwidth costs to them while not serving Google ads in my feed.  At this rate, I wouldn't be surprised if Google turns FeedBurner into a Freemium business model product where users like me are encouraged to run ads if we want any new features and better service.

Too bad there isn't any competition in this space.

Note Now Playing: Lords of the Underground - Chief Rocka Note


 

Categories: Rants

A few days ago someone asked how long I've been at Microsoft and I was surprised to hear myself say about 7 years. I hadn't consciously thought about it for a while but my 7th anniversary at the company is coming up in a few weeks. I spent a few days afterwards wondering if I have a seven year itch and thinking about what I want to do next in my career. 

I realized that I couldn't be happier right now. I get to build the core platform that powers the social software experience for half a billion users with a great product team (dev, test, ops) and very supportive management all the way up the chain. This hasn't always been the case. 

I went through my seven year itch period about two years ago. I had always planned for my career at Microsoft to be short since I've never considered myself to be a big company person. Around that time, I looked around at a couple of places both within and outside Microsoft. I had some surprisingly good hiring experiences and some that were surprisingly bad (as bad as this thread makes the Google hiring process seem, trust me it is worse than that) then came away with a surprising conclusion. The best place to build the kind of software I wanted to build was at Microsoft. I started working in online services at Microsoft because I believed Social Software is the Platform of the Future and wanted to build social experiences that influence how millions of people connect with each other. What I realized after my quick look around at other opportunities is that no one has more potential in this space than Microsoft. Today when I read articles about our recent release, it validates my belief that Microsoft will be the company to watch when it comes to bringing "social" to software in a big way. 

~

In my almost seven years in the software industry, I've had a number of friends go through the sense of needing change or career dissatisfaction which leads to the seven year itch. Both at Microsoft and elsewhere. Some of them have ended up dealing with this poorly and eventual became disgruntled and unhappy with their jobs which turns into a vicious cycle.  On the other hand, I know a bunch of people that went from being unhappy or disgruntled about their jobs to becoming happy and productive employees who are more satisfied with their career choices. For the latter class of people, here are the three most successful, proactive steps I've seen them make

  1. Change your perspective: Sometimes employees fall into situations where the reality for working on product X or team Y at company Z is different from their expectations. It could be a difference in development philosophy (e.g. the employee likes Agile practices like SCRUM and the product team does not practice them), technology choice (e.g. wanting to use the latest technologies whereas the product team has a legacy product in C++ with millions of customers) or one of many other differences in expectations versus reality.

    The realization that leads to satisfaction in this case is that it isn't necessarily the case that what the organization is doing is wrong (e.g. rewriting an app from scratch just to use the latest technologies is never a good idea), it's just that what the employee would prefer isn't a realistic option for the organization or is just a matter of personal preference (e.g. the goal of the organization is to deliver a product on time and under budget not to use a specific development practice). Of course, these are contrived examples but the key point should be clear. If you're unhappy because your organization doesn't meet your expectations it could be that your expectations are what needs adjusting.

  2. Change your organization: As the Mahatma Gandhi quote goes, Be the change you wish to see in the world. Every organization can be changed from within. After all, a lot of the most successful projects at Microsoft and around the software industry came about because a passionate person had a dream and did the leg work to convince enough people to share that dream. Where people often stumble is in underestimating the amount of leg work it takes to convince people to share their dream (and sometimes this leg work may mean writing a lot of code or doing a lot of research). .

    For example, when you go from reading Harvard Business School articles like Microsoft vs. Open Source: Who Will Win? in 2005 to seeing an Open Source at Microsoft portal in 2008, you have to wonder what happens behind the scenes to cause that sort of change. It took the prodding of a number of passionate Open Source ambassadors at Microsoft as well as other influences to get this to happen.

  3. Change your job: In some cases, there are irreconcilable differences between an employee and the organization they work for. The employee may have lost faith in the planned direction of the product, the product's management team or the entire company as a whole. In such cases the best thing to do is to part ways amicably before things go south.

    Being on an H-1B visa I'd heard all sorts of horror stories about being the equivalent of an indentured servant when working for an American software company but this has proven to be far from the truth. There is an H-1B transfer process that allows you to switch employers without having to re-apply for a visa or even inform your current employer. If you work at a big company and are paper-work averse, you can stick to switching teams within the company. This is especially true for Microsoft where there are hundreds of very different products (operating systems, databases, Web search engines, video game console hardware, social networking software, IT, web design, billing software, etc) with very different cultures to choose from.

These are the steps that I've seen work for friends and coworkers who've been unhappy in their jobs who've successfully been able to change their circumstances. The people who don't figure out how to execute one of the steps above eventually become embittered and are never a joy to be around.

Note Now Playing: Estelle (feat. Kanye West) - American Boy Note