August 2007 - Posts
Some old Data Programmability teammates of mine, Britt Johnston, Pablo Castro and Mike Pizzo (well, Mike's not that old), are interviewed by Charles Torre in this Channel 9 video to discuss their progress, challenges and customer feedback in the last year since announcing the first ADO.NET Entity Framework CTP, including some details on project Astoria and LINQ to Entities support, details on the Beta 2 and Tools CTP released earlier this week (the entity model designer is v.cool), plus the future of the Entity Framework.
P.S. Michael - in case you're reading: reconsider the shorts for the next interview :-P
Todd Bishop at Seattle Post-Intelligencer has picked up on the fact that Korby Parnell, ex-product manager for some of Microsoft's most successful developer community-related projects (e.g. Codeplex, Gotdotnet and Claimspace - but that's another story) has been nabbed by Yahoo's Seattle office (Chad Dickerson's team, who runs the Yahoo Developer Network).
Korby, a good friend and neighbour while I was living in Redmond, WA, didn't make a public song and dance of the move, but when he told me he was on his way I realized Microsoft had lost out on an amazing talent.
Microsoft has recently lost two other good community-oriented people: Josh Ledgard left Visual Studio's product team to join software dev company Telligent - developers of Community Server - in July 2007. Josh was closely involved in the development of the innovative MSDN Product Feedback Center, now Connect. Then Joe Morel left the same VS team to join the same software company two weeks later.
Microsoft has done a great job in recent years to foster a more open and transparent culture with respect to customer engagement and Korby and Josh were there at the beginning of the Microsoft blogging revolution and other community-related initiatives, really challenging the notions of old-style centralized command-and-control corporate communication. It's a shame to see this quality of talent walk out of the Redmond campus, true customer advocates - people with a real passion for customers and their needs.
I wish Korby, Josh and Joe the best of luck in their new adventures!
An anonymous reader has tipped me off on yet another leaver. Sandy Khaund, another big force in Microsoft's community development, has announced he's off to join a start up. Good luck Sandy!
Brian Johnson just landed a cool job as an "Enthusiast Evangelist" (EE) on Microsoft's DPE (Developer and Platform Evangelism) team. I worked with Brian in my MSDN / TechNet days where he then moved to the Mac Business Unit. He recently moved his family over to Florida - but instead of Microsoft letting go of his talents, they offered him this "EE" position.
So what is an Enthusiast Evangelist? Stephanie Quilao, another "EE", decribed the role when he announced his new position at Microsoft:
"The Enthusiast Evangelist role is a newly created position at Microsoft, and there are going to be more folks like me in other regions around the U.S. Our jobs are basically to go out and mingle, bond, and touch influential end users and show them all the cool things that Microsoft has to offer.
...Now, traditionally, Evangelists at Microsoft and most tech companies focus primarily on techie audiences like developers, IT Managers, and uber geeks. The Enthusiast Evangelist is a new role that is designed more to (excuse my boss speak) bridge the gap between consumer and tech company. It is no secret that there is a big divide between how tech companies promote and what consumers understand. Most people just scratch their heads. Microsoft wanted to hire me because my primary talent is the ability to translate Geek speak into Oprah speak to show people how technology can help them live their best lives."
Sounds like the perfect role for Brian who co-authored Xbox 360 for Dummies and Zune for Dummies with Duncan Mackenzie. Congrats Brian!
A new world record has been set for a 5GHz WiFi transmission - a connection maintaining a transfer rate of 5Mbps at a distance of 188.89 miles.
"The alignment was made by providing a beacon through a semi-directional antenna (short-backfire 17dBi) on the Sardinia Island and one of the two 35dBi antennas on Monte Amiata, which is about 5,220 feet (1,740m) above sea level. It allows operators on Sardinia Island to stay in touch with their community on the Italian Peninsula, and is sure to have a range of applications in the future of Wi-Fi technologies, by incorporating super-high frequencies at far greater distances than ever before."
I think I've hit a personal first: a depressing mashup. Oakland Crimestopping is a Flash-based vizualization tool overlaying reported crime data in Oakland, CA, by type (from aggrevated assault to murder to burglary) and time on a Virtual Earth map.
Fortunately, I live nowhere near Oakland, but if I did I think I'd try to live on a pontoon on Lake Merritt. This is what July 27 to August 24 2007 looks like:
To fuel an ongoing level of anxiety, you can subscribe to email alerts or to customized RSS feeds based on specific queries. Example - track all the fun and games going on within 1/2 mile of High St.
This post by the one of the site's developers, Michal Migurski, mentions future areas to cover might include San Francisco and Berkeley. Check out the juicy implementation details.
Two more crime maps tools you can get depressed about are Portland's CrimeMapper (e.g. a generated report on crimes on Richmond, Portland in the last 12 months) and LA Times' Homicide map (536 murders in 2007 and counting).
(via information aesthetics)
I just came across this video demonstration of some clever image manipulation research presented at SIGGRAPH 2007 by Shai Avidan and Ariel Shamir of Mitsubishi Electric Research Laboratories (MERL).
The video shows off a method they call "Seam carving", enabling content-aware resizing that changes the size of an image according to its content. You've got to see it to believe it.
(Their original paper (PDF) provides loads more detail on the research)
Google Earth has been updated to include the universe - 100 million individual stars and 200 million galaxies have been added to a "Sky" module.
I've been playing around with Sky this morning and am stunned with the level of detail you can zoom into - it just keeps going!
Here's my favorite find so far: the Eskimo Nebula (otherwise known as NGC 2392 or Clownface Nebula) - deep in the Gemini Constellation (Lat 20.9115° Long -67.7056°) and around 3,000 light years away. The image is taken from Hubble.
Here's a BBC News interview with a member of the project team discussing the new Sky feature including some zooming footage.
To start navigating the universe for yourself, download the latest Google Earth and click on the the Sky button on the toolbar at the top of the screen.
Thank you Google and NASA!
Jakob Nielsen admits a horrid truth:
"I've been reluctant to discuss one of the findings from our eyetracking research because the conclusion is that unethical design pays off."
Two thoughts on the Facebook Data Store API:
Kim Cameron, Microsoft's Chief Architect and the man behind Windows Cardspace (was infoCard), has shared his perspective the question of whether or not OpenID would make customers' lives better on social networks. There appears to be a general agreement that allowing a Single Sign On (SSO) service across properties (think "social networks", email services, and anything else that requires authentication / authorization) is good for the customer. There's no question that from customer's (or prospective customer's) point of view that idea of not having to create multiple accounts, usernames, passwords, etc has to be an appealing prospect. There doesn't seem to be much controversy here.
The controversial questions are: would the net effect be positive or negative for the online property owner if
a) they supported SSO and,
b) let competing services leverage "their data" - data generated by customers using while using their service.
The old way of thinking is the "walled garden" way of thinking. The logic goes something like this: Why would FaceBook, MySpace, x-socialnetwork or x-service make it easy for other properties or services to extract user profile information (i.e. "my data") from their service? Because openness is great? Yeah…right.
Kim's answer to these two questions are the right answers in my opinion. His view is that the net effect would be positive.
I'll quote myself from my 20 Thoughts on Attention post as to some of the reasons why I agree with Kim's point of view:
People care about the portability and security of their data.
Software and services that allow customers to take their data with them will do better than those that don't.
Letting customers share and take their data with them will be a competitive feature of successful online services.
New entrants into markets are more likely to allow customers to take their data with them than the existing market leaders.
Market leaders want to lock-in their customers by locking in their data.
Customers won't want their data locked-in.
Markets leaders will have to follow the trend of letting their customers take their data with them in order to grow their customer base.
Multiple online identities is the norm, not the exception. Attention data reading will need to account for multiple identities and contexts.
These are assertions, and I could spend ages providing data and examples as to why I believe in these, but the bottom line is this: the whole revolution we're witnessing where "consumer" properties are investing heavily in the provision API services that allow "their" customer's data to be retrieved and leveraged by potentially competing properties is driven by the acceptance of these assertions. Contrary to what Seth might think ("Closed is the New Open"), Closed is NOT the new Open, Closed is Still the Old Closed.
Companies providing these APIs "get" the future and they are benefiting in the here and now. They realize it is a two-way street and that the barriers to new customer acquisition will be lowered if
a) they interoperate with multiple ID systems (via something like OpenID)
b) allow customers to immediately leverage their existing data generated and residing on external properties / services
c) the data created and residing within their own service / property can be leverage elsewhere.
On point c), Facebook's latest "opening up" where the social network is allowing their
users customers to extract their Facebook updates is yet another incremental step in this 2-way direction.
Clucking bell, Molly Holzshlag really has kicked the web standards beehive with a blog post expressing her great discontent with the W3C and WaSP.
Ridiculously Inadequate Backgrounder
Now, before you head off and read the post and the 60+ comments, here's a bit of background on why I find this post of interest (and rather depressing):
I've been following Molly's work for a while now. She first came on to my radar when after providing an update on the progress made between the Microsoft IE, VS and .NET teams and the Web Standards Project (WaSP). That was in 2005. Then in January 2007, I noted Molly's announcement that she had left WASP to join the IE team on a contract basis to work on standards and interoperability issues. I was pleased to see the IE team was making a real effort.
Entirely seperately, but not entirely, in October of 2006 Tim Berners-Lee called for the reinvention of HTML. His call to action caused a bit of a hoo-ha at the time. What's that got to do with Molly? Well, as noted, some of the reactions to TBL's post varied from skepticism, to 'About time!' - and here's the connection with Molly's latest post - to what role the WHATWG will play in what presumably could be a competing effort to the HTML 5 (or XHTML5) spec in progress at the time. However, I was pleased to hear TBL's public calling for progress and hoped we might see some of this progrss after HTML's 8-year stagnation. Then in July 2007, we had the news that HTML5 was being considered by the W3C.
Confused? You should be.
So after my ridiculously inadequate backgrounder, you can now go ahead and read Molly's post, along with the contributions be the cast of characters (the commenters), some of whom are affiliated with various competing factions wrestling with the future of web standards and HTML, who somehow manage to converge the various threads (now including a Fear of Air, the Semantic Web, microformats, Silverlight, XML, community, accessibility, transparency and who-knows-what-else) into what looks like a complete political mess (read: fluster cuck).
Yes, it is depressing,, but such is the business of web standards agreement. A messy business indeed...There's even a YouTube video covering the drama - HTML5 trailer - Find your Hero.
Thanks to Thomas Vander Wal for the link to Molly's post.
This is great video from Channel 9 - an interview with Peter Spiro, a Technical Fellow and Distinguished Engineer at Microsoft. It's probably an understatement to describe Peter's career path as "unconventional", a path that lead to him eventually to accept a role at Microsoft in 1994 within the database team as an architect, going on to manage the dev team and building SQL Server's technical team to where it is today. This is after studying Forestry and stint as a charcoal maker in Mali, West Africa.
In the interview, Peter discusses lessons learnt through his various career experiences, including the people / management skills acquired, the technical challenges involved in solving complex software problems, thoughts on leadership, mentoring & coaching and his approach to recruiting and growing technical talent. He also gets to draw his favorite data structure in the interview.
The question asked by by Bill Hill toward the end of the interview was unusual "What did nature teach you about software?"
And yes, the beard is real and according to Sam Druker is probably around 15 years old. Btw, Sam (my old boss during my stint with Data Programmability team) also appears in the video describing how Peter <didn't> recruit him into the team.
Five out of five for this one.
Adam Ostrow at Mashable has written up a non-technical introduction to Google's most popular APIs and links to some applications built using these.
His post prompted me to revisit Google's own Google APIs page this morning which lists some 36 services available to programmers. Although they are not all strictly APIs (some just provide RSS / Atom outputs) I thought I'd call out some of the lesser known Google APIs, six in all:
1. YouTube API
The YouTube video repository and user community are accessable via an API interface and RSS feeds (REST Interface or XML-RPC Interface) . Developers need a YouTube Developer Profile to gain access.
Example apps using YouTube API:
- YouTube Coverpops
Creates a mosaic of video stills; mouse over the one you want to pop up and watch.
- YouTube Badge Maker
Makes a code snippet that you can add to your website that shows stills from your six latest-uploaded videos.
- Virtual Video Map
Integrates video location with Google Maps—click on the map marker to see a video from that location.
- YouTube Video Gallery Plugin
Enables easy setup of video embeds and galleries into WordPress blogs, using video IDs.
2. Google Notebook API
Google Notebook is an online service (requires browser plugin) where you can store and organize clippings of text, images and links from web pages. The Google Notebook data API allows apps to view public notebook content in the form of Google data API ("GData") feeds such as request a list of a user's public notebooks, or query the content of an existing public notebook.
3. Google Search History Feeds - Feed your attention.
Not really an "API", but...you probably knew Google tracks your search history. Did you know you can track your "web history" via an RSS feed?
4. Google Checkout API
"Start selling on your website"
There are two types of Google Checkout implementation options:
XML APIs enable merchants to access all Google Checkout features. XML implementations are recommended for merchants who need to be able to digitally sign orders before sending them to Google. XML implementations are also recommended for merchants who want to offer coupons or discounts and for merchants who plan to integrate Google Checkout with their internal order processing and billing systems.
HTML APIs enable merchants to send information to Google Checkout and receive information from Google Checkout using name/value pairs rather than XML. HTML implementations are recommended for small merchants who do not want to generate XML. Merchants can not digitally sign orders in HTML implementations, so merchants who use this implementation should plan to review orders manually.
Example of companies using Google Checkout include the merchant Skates.com and ecommerce solution company Volusion (see this article at ecommerce-guide.com).
5. Google Mapplets
(update: Read/Write has just written up a post covering some uses of Mapplets here.)
6. Google Talk XMPP
Developers can integrate their own applications into the Google Talk (its instant messaging service) connect (federate) their service with Google's (allowing "service choice". The "XMPP" bit of Google Talk is used for voice signaling and peer-to-peer communication...in addition, Google plans to support SIP signaling in the future.
Today, the Google Talk service is built on the following open-source protocols:
- XMPP - Extensible Messaging and Presence Protocol; an IETF standard for instant messaging. XMPP was originally called Jabber, and the XMPP enhancement proposals were previously called Jabber Enhancement Protocols (JEPs). They are now called XEPs.
- Jingle - A family of XMPP extensions that make it possible to initiate and maintain peer-to-peer sessions. Specific Jingle extensions support voice streaming, video streaming, and file-sharing sessions. (Watch out for the Google-specific non stardard XMPP extensions)
I could only find three mashups as examples using the Google Talk service (courtesy of ProgrammableWeb) - Gtalkr, Imified Instand Messenger Buddy and Jabber Google Map.
Back in April, the Data Programmability team at Microsoft announced "Astoria": Data Services for the Web, an incubation project exploring programming models for data over the web. As part of the announcement, the team deployed an online implementation of Astoria here, providing some sample read-only datasets for you to play with (see this post for examples). They also mentioned that plans were underway to allow web developers to define their own data model and have their own data stored as read-write relational data service "in the cloud", programmable over a RESTful API.
Today, Mike Flasko, Astoria Program Manager announced the delivery of this second piece of Astoria online service, where
"web developers can create custom structured data stores (up to 100MB in size) on the web and access them from anywhere that they have Internet access. These data services can then be the storage or data source for mashups, or the backing store for Internet enabled applications, or be applied to any other scenario where a rich data service on the web is required, independently of where it is hosted. "
(Astoria Program Manager? This is incubation project is going somewhere... :-)
You create your own data model for the Astoria online service by web-based tool that lets you define your data model (entities, properties and associations). Be warned - it's a little rough at the edges, but good enough. Once you've you've defined your data model the service generates the data store for you and hands you an URL...Yes! Your very own read/write REST interface to your own data store.
So now I've got my own relational data service going (note: will you require a username / password, which I ain't going to give you :-) at https://astoria.sandbox.live.com/users/alexrest/alexrest.rse
And all this without requiring the installation of Microsoft bits - no Visual Studio, no SQL Server, nada!
I'll be experimenting a little more with the new service and hope to share some interesting possibilities in the future, but I think it is fair to say that this incubation project has some seriously interesting and broad potential. Congrats to the team for pulling this off!
Previous Astoria posts: