July 2007 - Posts
The Google Maps API blog has announced support for the hCard microformat to Google Maps results.
I won't go into why I think this is cool right now (no time!), but it is cool. If you haven't heard of microformats or understand why the standard is getting attention from a huge player like Google, then check out the links and the microformats podcast I did about a year ago.
Random things I learned tonight include:
1. You can't find the proof in the pudding, no matter how hard you try
2. If you are "head over heels" you are probably standing normally
3. The origins of the "the whole nine yards" is unknown
4. The possibility that Chimps can swear (via Frank La Vigne):
"Many studies suggest that the brain processes swearing in the lower regions, along with emotion and instinct. Scientists theorize that instead of processing a swearword as a series of phonemes, or units of sound that must be combined to form a word, the brain stores swear words as whole units [ref]. So, the brain doesn't need the left hemisphere's help to process them. Swearing specifically involves:
- The limbic system, which also houses memory, emotion and basic behavior. The limbic system also seems to govern vocalizations in primates and other animals, and some researchers have interpreted some primate vocalizations as swearing.
- The basal ganglia, which play a large role in impulse control and motor functions."
Pito, you're dead right on this:
"I’ve written in the past that I thought at 60,000 feet, Microsoft Windows and Apple OS X are more or less the same in terms of ease of use. The one huge (and probably crucial) exception to this is the initial user experience. I can only imagine what my 80 year old father in law would do if he saw the screen as it looks ‘from the factory.’"
By "from the factory", Pito is referring to the OEM software crap that's added to machines over the OS - "Vonage this" and "AOL that" plus additional "added value software" that unquestionably degrades the initial out-of-the-box customer experience.
In my personal use experience, the number 1 example of this OEM "fiddling" is the crap that is laid over the default Windows wireless / hardware / software configruation. On three different laptops family members have bought in the last couple of years (XPs at the time), each had these "added value wireless configurators" - software that is meant to help you connect to wireless networks and manage those connections - but in fact does the complete opposite - they hinder the straightforward act of wireless network discovery and connection.
For those three laptops (2 Dells and an HP) my dad and siblings actually found it impossible to get a connection going to their home networks using the additional bundled wireless software that auto-runs on start-up. The wireless network they were connecting to were completely standard set-ups. Support was called and they couldn't help so suggested that the machines were taken back to the shop to figure out the problem. So fixed it. The solution? Each time I simply removed the OEM wireless-related software and restarted. The moment I did that, each machine's wireless connectivity "just worked".
Pathetic, and worse - uneccesary. This kind of crap customer experience is so damaging to the Windows perception. That's really got to annoy all those thousands of PMs, Devs, Test teams that slogged away for the last 5 years to get Vista right, only for it to be messed around with at the final shipping hurdle.
I haven't bought a Apple machine in years so I can't compare its initial customer experience with a new Windows machine, but I'd be happy to place a guessing bet on which is the better in the first 10 to 20 minutes of using the machine. Some might argue "but that's not Microsoft's fault!" - but the customer doesn't care about the why it is - they just experience the is.
This message to all my LinkedIn contacts. And a warning for anyone using LinkedIn today.
If you are a contact of mine on LinkedIn you will have recieved an email that was forwarded to you regarding a open Software Engineering position at Bungee Labs (it may have been caught by spam filters). This was unintentional on my part and did not mean to spam you. I'm sorry.
What I meant to do was to send along the message to a certain group of my contacts so it would appear in their LinkedIn inbox the next time they logged in. As it turned out the job opening mail was forwarded to all 103 of my LinkedIn contacts. Which I'm pretty pissed off about because I only realized that's what I did when i got a couple of messages back about it this morning.
I'm not blaming LinkedIn (that said, the whole UI / workflow didn't make it obvious to me that I was in fact spamming you). My mistake. Again, apologies.
Ray Ozzie's briefing this week provided quite a bit more detail around Microsoft's "Software Plus Services" strategy. It's definitely worth a read (or a look, and if you're feeling too lazy for either you can read Nick Carr's summary).
It's been a year since Ozzie took over the role as Chief Software Architect from Bill Gates, and I think it is exciting to see his influence further emerge throughout the business, architectural and experential direction of Microsoft. The 30 year old company needs this injection - a shot in the arm. And his vision is the right one. It is the only one that has any chance of seeing Microsoft through its need for growth.
However, as the Ozzie's "Cloud OS" story slowly becomes more concrete, the future influence that Microsoft will have throughout the software and internet services ecosystem is becoming less clear.
Yes, we know Software as a Service (Saas) is becoming an increasingly significant trend, and we know that the enabling role Web Services (SOAP and REST based) has to play as part of the overall move to a distributed computing model is becoming ever more central, and we know that the browser will continue to further its dominance as the primary interface between humans and data, functionality and people, but what is not so clear is how many "major players" there will be in that future, what their roles will be, nor what the roles of the "everyone elses" will be.
Microsoft Partners have been assured a place by Microsoft's side in this future, but does anyone really know? How will all this fall out? How will Microsoft's traditional partner profile fit into Ozzie's new brave future? What kind of ecosystems will emerge? Will Microsoft's ecosystem of tomorrow look radically different to its ecosystem of today? Who are the Microsoft partners of today who will find themselves competing head-to-head with Microsoft tomorrow? What will Microsoft's competition of the future even look like?
The answers to some of these question may surprise us. How many people, for example, would have imagined a just few years ago that search engine providers or an online bookseller or online university network would emerge to become a serious potential competitor in the computing and software space of Microsoft? Not many. In the second internet age Microsoft's future competition and partners can literally come from any direction at any time. And they often do. In many respects, the future looks bright, but I suspect that for many in the software / computing industry the future is also very cloudy indeed.
When the directors of this video dreamed up the "OMG! All Online Data Lost After Internet Crash" scenario, I bet they didn't expect this to happen quite so soon after their premonition:
"The Web 2.0 datacenter 365 Main, in the heart of SOMA, just lost power. Sites that are affected include Craigstlist, Technorati, Yelp and all Six Apart properties, TypePad, LiveJournal and Vox...People using LiveJournal OpenID will be unable to authenticate to other sites until service has been restored."
That's a lot of sites and users down. Not the end of the online world for everyone, but it certainly comes close to that for some.
I found some good info while researching best practice "design patterns", so thought I'd share these with you. First though, here's a reasonable definition of a "design pattern" in the realm of software, from Wikipedia:
"In software engineering (or computer science), a design pattern is a general repeatable solution to a commonly occurring problem in software design. A design pattern is not a finished design that can be transformed directly into code. It is a description or template for how to solve a problem that can be used in many different situations. Object-oriented design patterns typically show relationships and interactions between classes or objects, without specifying the final application classes or objects that are involved. Algorithms are not thought of as design patterns, since they solve computational problems rather than design problems.
Not all software patterns are design patterns. Design patterns deal specifically with problems at the level of software design. Other kinds of patterns, such as architectural patterns, describe problems and solutions that have alternative scopes."
The following are a combination of definitions, design pattern "patterns", resources and examples of design pattern articles:
No, I am the real Fake Steve Jobs!
In May 2007 I attended Salesforce.com developer conference where Salesforce SOA was announced as an add-on to the Apex platform. Industry analysts focusing on the area of SaaS considered the move as significant, but not surprising (see Phil Wainewright's take on the new in May 2007 as an example).
The game is moving on. PaaS, or "Platform as a Service" could be the acronym that defines a new web-oriented model where more than just specific vertical "services" are delivered as SaaS (e.g CRM, ERP, etc).
PaaS speaks to a more generalized services platform concept. If the "web as a platform" is the notion of multiple services in the cloud, then where does the "composition" happen? There are several Mashup design patterns to chose from. These patterns are along a continuum - from pure browser presentation mashups to client-side mashups to server-side services and data mashups (composite applications). If architecturally speaking you land in the composite applications pattern for delivering your SaaS apps, then this is where PaaS comes in.
This last week there is further evidence that Microsoft and Salesforce want to benefit from the opportunity in the power of PaaS. From SaaS out, PaaS in, by Angela Eager at CBRonline.com: Sub heading is:
"The Salesforce.com Summer '07 release is all about the platform, with software-as-a-service evolving to platform-as-a-service, a move that will antagonize and incentivize big league players Microsoft, SAP, and Oracle."
Angela's analysis includes a comparison to Microsoft's own forthcoming offering, including "Titan"
"Salesforce.com might be the first to deliver an on-demand platform but it certainly will not be the only one, and the on-demand specialist is starting to feel Microsoft's breath.
Releasing snippets of information about the forthcoming Titan offering at its partner conference last week, Microsoft chief Steve Ballmer said Titan referred to a CRM application-development platform on which developers would be able to build customized applications that could run on their servers or on Microsoft's own servers.
Although the Microsoft offering is not yet available, and even after launch it will take time for some of the planned functionality to be available such as running custom user applications within the Microsoft data center, it will be a direct challenge to Salesforce.com. With similar platform offerings, users will have a choice for the first time, which has the potential to cut into Salesforce.com's growth."
Maybe "Titan" is the news I was looking for last week, but we're seeing hints at more than just Dynamics APIs as SaaS from Microsoft. There is still no real hard news on this today, but watch out for posts by the likes of Phil Richardson, a Microsoft Program manager in the Dynamics team (and my ex-neighbor in Redmond) like this where Phil hints:
"Soon (can't say exactly when) I'll be starting to blog about Titan features....Once marketing gives the go-ahead you can expect to see boatloads of Titan content on this blog. I'll be focusing primarily on features which are targeted at VARs & ISVs - but I'll make sure to throw in some end user features."
And then Phil hints a little more this week...
"Some vendors have the 'heads in the sand' and refuse to talk services seriously (with no offering or a token offering). Other vendors only offer SaaS and trash talk those who aren't pure services players. There is no question that our industry is moving towards services and Microsoft's CRM has a strategy which is sensitive towards these industry changes. As we announced: we are using our Titan Project to create a Microsoft Hosted version, a Partner Hosted version and an On-Premise version. I use the term 'version' loosely as the final number of SKUs is up to marketing. I believe we are entering an time in the industry when customers will start moving away from self hosting 'non-unique' business functions. Anything which can be achieved by configuring on the shelf apps (like Microsoft CRM) will eventually move to hosted services (if I knew exactly when 'eventually' was I'd be a rich man). Our strategy understands that customers and partners will find themselves in varying degrees along the on-premise to hosted spectrum. Some will want everything 'in the cloud' and others will want everyone their own datacenters. Some might want to prototype in the cloud and move to on-premise etc etc. I believe vendors need to interpret these changing times appropriately for their business."
(hey Phil....trackbacks? comments? common dude!)
My take is that Phil hints to more generalized services platform concept from Microsoft. PaaS, more than SaaS.
Delivering on PaaS is hard though. Yesterday, Dan Farber's post Salesforce.com transitions to platform as a service highlighted one of the greatest challenges in this PaaS space - uptime at scale:
"Collins said that salesforce.com consistently provides above 99.9 percent availability. “Three nines is the best quality of service you can get today from any on demand player,” he said, claiming that the best deployments of Siebel and Oracle are closer to 96- to 97-percent available.
In any case, as salesforce.com scales up the enterprise and companies have more dependence than for just CRM on its platform, three nines, which doesn’t include times when the service is up but suffers performance problems, won’t be sufficient for customers who can’t afford 8.76 hours of downtime a year."
Uptime is just a small (but critical) component of the whole PaaS vision. Developer tools for PaaS is another kettle of fish (see Dana Gardner's post on Software Development and Deployment as a Service, or "SDDS" - on this topic). It's how Bungee Labs sees the future. But that's for another post.
Joshua Porter shared the news yesterday that he has started his own consultancy providing "Interface design and strategy for social web applications". I've been reading his blog for at least two years now (we did a few podcasts together too) and have no hesitation in recommending Joshua's brain for hire - he knows his stuff.
Some of Joshua's blog posts worth checking out on the topic of social web design:
His new company is Bokardo Design. Congrats Joshua!!
In April I made my move to Utah, keeping our home in Redmond going while our son finished out the school year and the summer in Redmond. Since then, I've been living in "temporary housing" with the intention of finding a new permanent home by the end of the year.
Fortunately, we found a home last week that we love. We put in an offer and have reached agreement. At the inspection yesterday (no "show stoppers" found) I took some pics to send to the family back in the UK. I admit it - I'm proud of our new home and hugely looking forward to moving us all in at the end of August, so below are three of the pics I took.
Our new home will be in a gated community in Sandy, UT. The mountains (check out the pics by local photorapher David Whitten) in the background of the second photo are part of the Wasatch Range - great for biking and loads of hiking trails through the canyons and alpine valleys. In winter months the mountains are host to some of world's finest ski resorts. All-year-round-outdoor-coolness. Very different to central London...but with modern life's necessities - 9 Starbucks in the local area (including a drive-thu) and high speed internet via cable :-)
Larry Jordan has posted news that the MSDN Library now supports tagging by users:
"The MTPS [MSDN and TechNet Publishing System] Tagging feature enables customers and authors to add and remove visible keyword tags to both topic pages and wiki blocks to improve discoverability of the library content. The ability to add tags to content will be enabled for teams who have opted into the Community Content (wiki annotations) feature in MTPS."
You don't need a LiveID account to browse / find tagged content, but you will need one to associate tags to content (or create new tags).
Given it this new feature has just launched, so the tagcloud is small at the moment (the tagcloud been some seeding):
The C# tag results:
I can't ask Larry via his blog (his comments are closed), but two questions for him:
How do the tags in the MSDN Library relate to Tagspace
(Microsoft.com's tagging project)
Is there programmatic access to the tag data? (beyond "/Tags-Cloud.aspx?tag="x'"...is a RESTful API in the works? If not, will you provide this, and if so, when?
Dare has written up RESTpectful comparison of the programming models of Microsoft's Astoria and Google Base Data API for querying relational data over the web (RESTful data services).
Both these APIs also happen to support operations for changing the data - inserting, updating, and deleting - Google's details here and Astoria's in this .doc, where in addition Astoria allows associations between entities to be created and deleted). These aren't mentioned in Dare's analysis (I'm sure he knows of the ability to change the data via the APIs, not just query), however the article is worth a read nonetheless.
In March 2007, this article by Bryan Richard discussed the the implications of Software as a Service (SaaS) with respect to the GPL licence.
"Conservative estimate: In the future 75% of your applications will be delivered over a computer network and you will interact with them with no "transfer of a copy." For evidence of this trend just look to the popularity of Gmail and the creation (impossible 10 years ago) of Google's document and spreadsheet apps; analyst suggestions that the importance of operating systems is fading; the success of web apps like SalesForce; wiki culture; the popularity of Web APIs and application mash-ups; Adobe building an online version Photoshop.
The future is networked. The GPL isn't."
In April, Matt Asay posted his recognition of the same issue after visiting Bungee Labs (as a member of our Advisory Board):
"I believe we're on the cusp of a hugely disruptive change in the way open source software is licensed. The OSI, of which I'm part, is against license proliferation. But the community and OSI will need to figure out how to make open source relevant to the online world, without stifling the creativity that has built it. This is a non-trivial problem, and it is a problem."
And I agreed:
"..the cloud-based future we're heading to will cause an invigorating and necessary debate within the industry on the topic of licenses in a purely networked computing environment:"
Today Tim O'Reilly chips in, concluding
"This is still an unsolved area for both open source and Web 2.0. I believe that there will come a time when we will need to rediscover for Web 2.0 the freedoms that led Richard Stallman to the GPL, but I don't think it will grow out of the current crop of free software licenses. It will be closer, perhaps to Wesabe's open data bill of rights."
And in response, Matt Asay picks up on the thread again this morning:
"There's no point in complaining about what might have been. The real debate should be over what we do now: we need a new crop of licenses to help make open source relevant for the web. It's actually surprising that we have almost nothing so far...."
The question is: What does "open source" mean in a networked, SOA / API-based world as SaaS becomes the dominant computing model?
It looks like this will be the main topic of conversation at this O'Reilly event
next week in two week's time (I'm going to try to make it given the topic's pertinence to the future of our own business). My own (and maybe obvious to some) prediction is that the effort by the community to answer the "What does "open source" mean in a SaaS world?" question will become the center of a highly controversial and popular topic of conversation for the wider technical community in 2008.
More Posts Next page »