Alex Barnett blog

Stuff

Video demo: REST Describe & Compile for WADL

In March 2007, I naively asked if REST needs a WSDL and if yes, was WADL the one (Web Application Description Language). The conversation goes on, but I thought the video below and pointers might be of interest to those who have an opinion one way or the other.

The video Google Chalk Talk was published last week and shows Thomas Steiner demoing REST Describe & Compile, an online editor and a compiler for REST Web services based on SUN engineer Marc Hadley's Web Application Description Language (WADL).

(huh? video not available as embeded??? wtf? Here's the link to it)

"ABSTRACT

REST Describe & Compile is an editor and a compiler for REST Web services based on SUN engineer Marc Hadley's Web Application Description Language (WADL). REST Describe & Compile is implemented using the Google Web Toolkit (GWT) and is split up in two sub-apps:

REST Describe:
This component takes a (set of) URL(s) as input and tries to analyze the parameters regarding parameter types and Web service structure. It then generates a WADL representation for the given URL(s), represented in an editable, tree-like form. Typical input would be GET

http://webservices.amazon.com/onca/xml?Service=AWSECommerceService=0ZMFM7HPBYYY0SPERCR2=ItemSearch=Enterprise+Integration+Patterns=Books

or GET http://picasaweb.google.com/data/feed...%7BuserID%7D/albumid/%7BalbumID%7D/photoid/%7BphotoID%7D?kind=kinds=0=1{userID}/albumid/{albumID}/photoid/{photoID}?kind=kinds=0=10


REST Compile:
This component allows for the WADL representation of a Web service to be "compiled" to working programming code in various languages (for the moment these languages are Java, PHP5, Python, and Ruby). The idea is thus similar to WSDL2Java, however in a more general WADL2Anything way.

The application can be tested online:

http://tomayac.de/rest-describe/latest/RestDescribe.html

There are some screencasts available on YouTube: http://youtube.com/profile?user=tomayac

Speaker: Thomas Steiner
Thomas Steiner works as a Customer Solutions Engineer from Barcelona, Spain, and has joined Google full-time only since October 1st. However, he has been with Google first as an intern and then as a temorary contractor since February 2005. During his time at Google, Thomas has created the Google APIlity PHP Library for the AdWords API, as well as the APIlity Agua Ajax application, which can be seen as an Ajax GUI for AdWords. From January 2007 till July 2007, Thomas did his Final Year Project with Google, where the REST Describe & Compile application was to be developed, hosted by Googler Patrick Chanezon."

Related, last week Assaf (a true web pragmatist) wrote in his post REST IDL, substance over style

"So far most of the suggestions I saw are turf wars in disguise, arguing for this syntax or that, but never for what it should describe. WADL so far looks like one of those best-for-my-platform choices, the constant mentioning of Microformats, which are not optimized for this task, is another danger sign.

It has to start somehow, but it better start with substance, not with style."

I agree with the last statement...

Now, I don't know if Assaf has seen the above video or not, and if not, whether the video would further sway him one way on WADL or not...anyone else have thoughts on what's in the video or tool demo'd, or WADL itself?

What I'm reading...

There are a whole bunch of interesting posts / stuff I find on the net that I bookmark on del.icio.us (at least, I think they are interesting). Over the years I've been experimenting with different ways of sharing these with you. My most recent solution has been to include my del.icio.us links within my feed as seperate items. The problem with this approach is I haven't had a permalinked way of publishing these to my blog with a way to easily edit prior to publishing...also, having the daily summaries del.icio.us format in a feed is lame.

So I going to try something new. Instead of having the daily del.icio.us link summaries published as RSS items within my Feedburner feed, I'm going to publish these as blog posts. It should make things more economical from the consumption point of view (I don't think the "Links for 2008-01-20 [del.icio.us]" blah blah feed item titles are pretty). To do this, I have:

  • disabled the del.icio.us feed syndication from Feedburner (the Link Splicer)
  • have installed Josh Leggard's Insert Feed Content plugin for Windows Live Writer - this lets me populate a draft blog post with the latest items from any feed (my del.icio.us feed in this case - I'll still use the service for bookmarking) that I can then include / edit / add more commentary before I post to my blog - along with a custom post title.

Better me thinks. I like Harry Pierson's and Assaf's Labnotes style of providing links with commentary...over time I hope to emulate these.

So here goes - this first effort will be larger than future posts like this...shorter in the future.

OpenID - Getting Traction

Cool UI / Vizualization and Useful Bits

SaaS Stuff

Developer Cults and Dataheads

Uncategorizable But Good.

  • Lessons from Star Wars
    Johnnie Moor's pointer: "Stephen Anderson shares his presentation about what designers can learn from the making of Star Wars."
Podcast interviews - smart people in the world of the web

One of the fun parts of my job at Bungee Labs is to partner up with Ted and interview some smart people in the world of the web. We publish these as a podcast series (the Bungee Line - podcast feed here) over on the BCDN blog.

If you have ideas about someone you think we should interview, let me know! We're focusing on topics we think web developers might be interested in the worlds of software as a service and web app development, in particular profiling web apis. Related topics are good too.

I've listed out below our most recent podcasts below...plenty more in the works (previous podcasts are listed here). Hope you like :-)

Bungee Line podcasts

Alan Lewis on eBay Desktop and eBay APIs

"As product manager for eBay Desktop, Alan Lewis relies on the same web APIs that eBay makes available to all developers. In this edition of the Bungee Line, Alan tells us about what the eBay Desktop is, how it came about, and various details about eBay’s developer program and web APIs. We ask Alan about eBay’s position Oauth and on open source."

 Toby Segaran on “Programming Collective Intelligence”

"Since the publication of his O’Reilly book Programming Collective Intelligence: Building Smart Web 2.0 Applications, Toby Segaran has become well noted for his ability to explain easily-understandable algorithms for the kind of deeply complex problems involved in social applications. Toby joins Alex and Ted to discuss some of the high-level concepts that he tackles in his book."

Jon Aizen of Dapper.net

"Jon Aizen joins Alex and Ted to explain how Dapper.net provides a no-fee tool for making almost any structured web site data accessible via a REST API. In a past life, Jon was involved in creating The Internet Archive. Jon also helps the Bungee Line introduce romantic intrigue into the podcast.

Punditry Alert! At the end of this show, Ted and Alex speculate a bit about Android, Google’s open source mobile device platform, the Apache License, and whether Robert Love is involved. Please consider this as another demonstration of Ted’s idiocy, brought to you by the Bungee Line."

Jeff Barr on Amazon Web Services (Part 2)

"In part 2 of our interview with Amazon Web Services evangelist Jeff Barr, Alex and Ted ask Jeff about Flexible Payment Service, virtual user group meetings in Second Life, the Startup Project, and pry at Jeff’s views of possible futures of technologies that developers might anticipate."

Jeff Barr on Amazon Web Services (Part 1)

"Developer evangelist for Amazon Web Services, Jeff Barr tells Alex and Ted about how he became a native Amazonian, his recent visit to “The Business of API’s Conference,” and a bunch of stuff on Amazon Web Services, including: Mechanical Turk, EC2, and S3. Additionally, Jeff explains the newly announced S3 Service Level Agreement*."

BillG - last full day at Microsoft has come and gone...

The chances are you've already seen the video below - "Bill Gates Last Day at Microsoft". If not, it's worth a watch.

I was still at Microsoft when Mr G announced his retirement and was present at his announcement to employees in Redmond. It felt like a big deal at the time...to misquote Vinnie Jones, "it was emotional".

BillG's last full day at Microsoft has come and gone, off to even bigger and greater things. I wish him a load of luck in his new and worthy adventures.

8 Trends in Software as a Service Platforms

To kick off the new year, I presented to around 40 or 50 members of Utah Technology Council (UTC) last week. The title of the topic they asked me to speak about was "Trends in Software as a Service Platforms". I searched around for some ideas and came across two recent posts predicting trends in SaaS for 2008, one by Phil Wainewright "Eight Reasons SaaS Will Surge in 2008" and Jeff Kaplan's post "Top Ten Reasons Why On-Demand Services in 2008". I decided to borrow liberally from these (thanks Phil and Jeff) and mash these two together (along with a couple of thoughts of my own) and present "8 Trends in Software as a Service Platforms" to an audience made up of CTOs and VPs of engineering and development for software companies in the Utah area.

In preparation for the presentation, my boss (Martin Plaehn) at Bungee Labs suggested I write up my presentation as notes blog them afterward, so here they are.

8 Trends in Software as a Service Platforms

  1. SaaS is just part of the web mega-trend
  2. Mainstream opinion says “Yes” to SaaS
  3. Software vendors stampede into SaaS
  4. All is being virtualized
  5. Explosion of Web APIs
  6. Economic factors favor SaaS
  7. Enterprise and SMB IT embraces SaaS
  8. SaaS platforms proliferate (PaaS)

1. SaaS is just part of the web mega-trend

Most of us have witnessed and many of us have been a part of the transformation in the way goods and services have been digitized, virtualized, delivered and consumed. Software, the data behind that software and the functionality that software provides is no different - software is subject to the very same transformational forces.

Just think about how even a class of product that is natively digital - such as software - has been transformed in the way it is delivered and consumed. For prosperity's sake, I've still got a few of those ZX81 software cassettes stashed away somewhere, gathering dust, looking ever more antiquated with each passing year. How will today's mode of software delivery and use look to us in a few years from now?

The web wants to connect things, and that's interesting. But connecting and interacting with "live" data, information and remote functionality make things more interesting.

At the fundamental level, the web connects things. It connects people to people, businesses to businesses, and people to businesses. Since the early 90's, the web has enabled the connection of so many things to so many other things at an ever accelerating rate, and yet we crave even more connectivity. But we increasingly also want the ability to interact with those things.

And it is the nature of these connected things that have changed since the early internet. The early web was good at connecting to static views of information and accessing limited and rigid functional services, very much a read-only mode. Then, as we learned a) the ability to read more dynamic-type information - at least regularly updated, and b) access richer remote functionality, we created whole new opportunities for ourselves. Next, we grew our ability read and write against dynamic, near real-time data and information and to program against remote functionality to create a new class of web applications leveraging those capabilities - and hence a new order of business and experiential opportunities have emerged. Some label this as "Web 2.0".

At its essence, it is the "liveness" of these real-time read-write data, information and functional sources available as "always on" services and the increasing ease to connect to, interact with - specifically change those resources available as live, programmable services that allows us to create new value out of those resources, opening up brand new market opportunities for businesses and the compelling, rich "live" end-user experiences of tomorrow.

2. Mainstream opinion says “Yes” to SaaS

Not surprisingly, Wall Street loves the the predictability of subscription services. It's good for cash flow, forecasting and business planning.

The venture firms also relish the opportunities that are opening up in a software as services-oriented economy. The ability to circumnavigate the incumbent software players with new disruptive technologies and propositions that are significantly easier to try and access for prospective customers compared to traditional software evaluation, along with usage and subscription-based business models verses the old licensing model makes investing in services-based software companies very compelling propositions from the venture firms' point of view. We should also see healthy M&A activity based on these similar opportunities in the coming year.

And then there's the trend for offshore / IT business process outsourcing. These providers will surely get in the game and make their plays through investments in and acquisitions of SaaS vendors that align well with their current core businesses.

Add to that the excitement we're reading about the SaaS space from the IT Analysts, journalists and bloggers, plus the new book by Nick Carr (author of “IT Doesn’t Matter”) -  delivered by Amazon to me last week: “The Big Switch: Rewiring the World, from Edison to Google”. I think there's little doubt Carr's excellent analysis of the computing industry as an analogy to the electricity industry's shift to a utility model will be on business bestseller list for much of 2008. His messages resonates with corporate executives and end-users agree with him:

  • IT is a needless hassle,
  • it should be as easy as electricity and
  • be as reliable as a utility

3. Software vendors stampede into SaaS

The Big Software Players are following the early SaaS successes

CRM as a case in point. If you've been following the CRM software market, you'll know about the noises Oracle-Siebel, SAP and Microsoft started to make in the 2007 about what they are are lining up for the 2008 in terms of CRM as a service. Their efforts to emulate Salesforce.com's success delivering CRM as SaaS will be key strategic bets from the incumbents' point of view - and loud, price and functionally competitive propositions from the point of view of their existing and prospective customers.

CRM is just one of the multiple horizontal solution categories to transform from on-premise with traditional licensing model to a service-based delivery and subscription-based revenue model. ERP, supply chain, e-commerce, HR and many more...the horizontal solution list goes on. And then there are the vertical solution players...

Here's another data point to consider regarding the move by traditional software vendors to a SaaS model:

“15-20% of application ISVs have already either begun new skunk works initiatives or gained access to SaaS assets and development experience through M&A activity”

(Source: Key Trends in SaaS: 2008 and Beyond, Saugatuck Technology)

4. All is being virtualized

Virtualization is a technology trend.

Virtualization enables hardware as a service. The demand for virtual machines met by hypervisor software (VMWare, Xen, Hyper-V) and the success of Amazon's Elastic Compute Cloud (EC2) in the last couple of years point to a continuation of further virtualization of applications and hardware. Virtualization is accelerating the move from traditional on-premise software to services.

Virtualization is a business trend.

We continue to become a mobile workforce. The younger entrants into the workforce in service-oriented economies expect and want to be always connected. It's very hard work, if not impossible to get your traditional on-premise applications and centralized servers sitting behind a firewall to serve today's mobile workers. SaaS and managed services meet the needs square on.

5. The explosion of Web APIs is upon us

According to ProgrammableWeb.com, there are 559 commercial and public APIs available today, most of these are new and there are plenty more to come. How many will we see go live this year? And how many private web APIs are there and will be developed and consumed in the coming year?

ProgrammableWeb

Data from ProgrammableWeb.com 

6. Economic factors favor SaaS

  • On-premise software requires upfront capital investments
  • To lower costs, many companies hold back on their capital investments to mitigate their risks, especially in recessions
  • Adopting on-demand services on a pay-as-you-go basis will be a perfect sourcing strategy for businesses seeking greater cost-controls and flexibility – the utility model

All well and good, but the real economic value of SaaS is that fact that it unleashes new value of previously isolated data silos and functionality.

7. Enterprise and SMB embraces SaaS

When it comes to IT, who doesn't like

  • Low-maintenance?
  • Low cost?
  • Low-resource profile?

IT and business folk like these things, and externally delivered SaaS applications deliver these benefits.

8. SaaS platforms proliferate (PaaS)

The more mainstream SaaS becomes the more the large vendors will be forced to offer effective platforms for ISVs,  enterprises and SMBs.

If the move by the software vendors from traditional on-premise software to a services model is to be successful, they will need to provide programmable interfaces - not just end-user interfaces - to their services for their customers. Customers need and want the ability to access, intergrate and create new value out of live, programmable data, information and functionality living in the cloud. And in turn these same customers will want their custom-developed composite applications and integrated data available as programmable services - yet more APIs.

Customers want to unleash new value of previously isolated data silos and functionality through the development of their own applications programmed against those resources. And in turn these same customers will want their own custom-developed composite applications and newly integrated data available as end-user interfaces and as programmable services - yet more APIs. These customer needs will drive the software market to provide platforms to provide businesses and developers with with end-to-end:

  • programmable services and data integration
  • application development, testing and collaboration tools
  • deployment and scalable delivery

...all as a service with a utility model.

(hey...I needed to mentioned Bungee Connect just the once ;-).

2008 will mark a the proliferation of such offerings as "platforms as services" (or PaaS) through 2009, where then the consolidation will begin. Interesting SaaS and PaaS times ahead.

Update 2/20/2008: see "Time to Define "Platform as as Service" (PaaS)

-

The presentation seemed to go down pretty well and we had lots of interesting discussion throughtout. One of the topics we discussed was data security in a SaaS world. Don Kleinschnitz (VP, Development at Symantec) followed up with a mail linking to his blog covering Security 2.0 topics.

Again - thanks to Phil Wainewright and Jeff Kaplan for their post and to Martin for suggesting I blog this.

Thank you Facebook

To everyone at Facebook - thank you. Thank you for creating a space where I've been able to re-connect with friends I've lost touch with. That's a big deal for me.

Since moving from the UK to the States a few years ago, I have found email, my blog and occasional IM a useful way of keeping connected to a small subset of friends I've made over the years. However, these technologies and services haven't compared to the amazing power Facebook has to leverage network effects. I love how naturally one long-lost friend has connected me to another, and find it fascinating to observe how certain clusters of friends who have seemed invisible in the Facebook service become suddenly discoverable via a single connection, cascading one after another in a domino effect.

Thinking about it, I've rarely used a service that has brought me so much emotional satisfaction...connecting with good friends is a feel-good thing and it is this emotional value that makes Facebook hard to beat in terms of the gratification other services can provide. So much so, here I am even writing a thank you note to the service (I can't remember doing that for any service...I've written about how "cool" stuff is, or how useful some service might be...but "thank you"? Never).

I created my Facebook account something like 2 years ago (at least it feels like that...) - more out of curiosity than anything else, yet the value I'm getting out of Facebook today seems to be on the up on a daily basis. I was a rare user for most my early Facebook membership and then my sister encouraged me to log back in this summer...so thanks to her too :-)

So...I just wanted to say it again - thank you Facebook.

Outing dirty laundry

It's Jay Bazuzi's last day at Microsoft to become a stay-at-home dad. At one point Jay was development lead for the C# editor in VS.

We've not met, and I'm sure he's a lovely chap and all that, but I did catch his parting wave on his MSDN blog, where he's provided some "tips" on software development for his ex-dev-collegues...not too pretty.

I'm not sure what value there is in hanging out your team's dirty laundry "in public", rather than including this kind of info in his internal leaving mail. Each to their own I suppose.

Synctoy 2.0 beta

Well, thanks goodness for that.

Synctoy 2.0 beta has been released, so I can at last start re-using this very useful utility with a 64bit Vista laptop. Have played around with it today and its working just great for me.

Still no interface within Synctoy for automated scheduling in this release, but it's fairly straightforward to do this as a Scheduled Task in Windows.

A bunch of other new features include:

  • Dynamic Drive Letter Assignment: Drive letter reassignment will now be detected and updated in the folder pair definition.
  • True Folder Sync: Folder creates, renames and deletes are now synchronized for all SyncToy actions.
  • Exclusion Filtering Based on Name: File exclusion based on name with exact or fuzzy matching.
  • Filtering Based on File Attributes: The ability to exclude files based on one or more file attributes (Read-Only, System, Hidden).
  • Unattended Folder Pair Execution: Addressed issues related to running scheduled folder pairs while logged off.
  • Folder Pairs With Shared Endpoints: Ability for folder pairs associated with the same or different instances of SyncToy to share end-points.
  • Command line enhancements: Added the ability to manage folder pairs via the command line interface.
  • The SyncToy engine has been rearchitected to provide scalability and the ability to add significant enhancements in future releases.
  • Sync engine is also more robust insomuch that many single, file level errors are skipped without affecting the entire sync operation.
  • Sync Encrypted Files: Sync of Encrypted files works when local folder and files are encrypted, which addresses the common scenario involving sync between local, encrypted laptop PC folder and remote, unencrypted desktop PC folder.
  • 64-Bit compatibility
  • Folder pair rename
  • Sub-folder Exclusion Enhancements: Descendents creates under excluded sub-folders are automatically excluded.
  • Folder Pair Metadata Moved: Folder pair metadata removed from MyDocuments to resolve any issues with server-based folder pair re-direction setup.
  • Removed combine and subscribe actions.

Remember, Synctoy 2.0 is a beta, however...based on my experience so far on two different laptops (both Vista, one 32bit and the other 64bit), I'd say it's good enough to use today - just don't blame me if it breaks on your machine :-)

OAuth Podcast

Chris Messina (aka FactoryJoe), Larry Halff (of Ma.gnolia) and Eran Hammer-Lahav accepted our invitation to join Ted and me and discuss OAuth in our latest Bungee Line podcast.

What is OAuth? From OAuth Getting Started - Part 1, here's the jist of it:

"OAuth allows you to share your private resources (photos, videos, contact list, bank accounts) stored on one site with another site without having to hand out your username and password.

...Users don’t care about protocols and standards – they care about better experience with enhanced privacy and security. This is exactly what OAuth sets to achieve. With web services on the rise, people expect their services to work together in order to accomplish something new. Instead of using a single site for all their online needs, users use one site for their photos, another for videos, another for email, and so on. No one site can do everything better. In order to enable this kind of integration, sites need to access the user resources from other sites, and those are many times protected (private family photos, work documents, bank records)."

Adam Kalsey, summarizes it well:

"OAuth aims to standardize the way in which different consumer systems share data. The goal is to allow a person to give an application access to do some things on your accounts at other sites, but not everything. It’s role-based authorization for APIs."

OAuth is a big idea, but is it a "solution looking for a problem to solve"? I don't think so. The problem for end users today is real, i.e. authorizing one service to access your data by another service for use by the first service, securely and with control. For developers wanting to develop apps and services that create value through the use of customer data stored on other services, there is no standardized means set of protocols to lean on. Instead, developers need to waste time learning a new way for their app to be authorized to do so for each service provider, having to jump through the various specific means and idiosyncrasies of each service.

The current way is broken - too many means to the same end, for end-users, for developers leveraging service APIs and for the service providers themselves wanting to extend their services through web APIs.

OAuth is getting the attention from a number of people and services such as Six Apart and others ("Digg, Jaiku, Flickr, Ma.gnolia, Plaxo, Pownce, Twitter, and hopefully Google, Yahoo, and others soon to follow") have committed to run with it. This is good news, but we need to get the word out there and help make developers' lives easier. So, go listen to first OAuth podcast and evangelize OAuth!

Topics covered:

  • Background on Chris, Larry, and Eran
  • What problem is OAuth trying to solve?
  • What is the current identity landscape - what are the alternatives, and why is OAuth a better way for all?
  • How does OAuth work, who should use it?
  • What's the development experience like?
  • What's the end-user experience like?
  • What's the relationship between OAuth and OpenID?
  • Where is OAuth today?
  • What will it take for OAuth to succeed?
  • Who's backing OAuth - adopters?
Facebook export - WTF????

On hearing the news over at TechCrunch that I'm able to export my social network data out of Facebook as a .CSV file using the FriendCSV app, I did exactly that.

I have 74 contacts on Facebook but I managed to export 144 records. That's 70-odd people's "social data" including education, work experience, current location, hometown, affiliations, date of birth of people I don't know. Like Justin over here, I seem to have more "friends" than I bargained for. And I've now got their data.

This is not good. Facebook - wtf is going on????

Update: Dan Birdwhistell, developer of the FriendsCSV app, commented below soon after I posted to explain the issue I described above was NOT the fault of Facebook but an issue with the FriendsCSV data processing side of things:

"Hey Alex.  I just posted this on Techcrunch as well.  WTF is right, but this very unfortunate glitch has been fixed.  Here's what happened:  After valleywag, techmeme, digg, etc. all picked it up, the server got overwhelmed and we had around 25 dumps that were in queue.  FB times out after a few minutes, so to speed up with the dump, we added some threading to the libraries, which pushed the exports through in an instant, but also misplaced some of the data in what we now know to be at least four separate csv dumps.  When we were alerted to this, we removed the threading and all was right again; however, the error did occur and it was our fault.  We'll continue to test the app during the night just to make sure this doesn't happen again. " 

Deepest apologies that this happened."

Thanks for getting back to me so quickly Dan. Here's the thing though - you have shown how easily all this data can be extracted - that's a good thing, and well done for bringing our attention to that, but you have also shown how wrong it can go - that's the bad thing. It's small scale in this case but you've highlighted how this can go bad in a more general sense.

I've been very supportive of the "my data" efforts, however my support has been based on the presumption that I'm actually talking about "my data", not somebody elses. This real-world example has opened my eyes to the fact that opening up social networks / social graph will be a complex business and fraught with possible downsides.

At large scale, the ability to extract all my social graph data - as opposed to "my data" which I provide permission to an application - begs the following question: who's data is my social graph data? It is each individual's, or is it mine once Jo Smith has allowed me access to it?

Part 2 - Interview with Jeremy Zawodny

Part 2 of the interview podcast with Jeremy Zawodny of Yahoo! is now published. Lots of ground covered again. Actually, I think the the better half of the interview...a bit more free-floating:

Topics covered

  • How would we feel about your friends being able to edit your profile on a social network? Scary? Well, that's what Mash lets you do. (Mash is currently an invitation-only beta service...I could do with an invite...nudge, nudge)
  • When Jeremy wrote about Hadoop and Yahoo!'s formal involvement, it got plenty of attention from the open source community. According to Wikipedia, Hadoop is a "Free Java software framework that supports distributed applications running on large clusters of commodity computers that process huge amounts of data." When the news broke, Tim O'Reilly considered Hadoop to be an important open source project since:

"Web 2.0 software-as-a-service applications built on top of the LAMP stack now generate several orders of magnitude more revenue than any companies seeking to directly monetize open source. And most of the software used by those Web 2.0 companies above the commodity platform layer is proprietary. Not only that, Web 2.0 is siphoning developers and buzz away from open source."

O'Reilly went on to write that Yahoo!'s support of the Hadoop effort indicates how open source is becoming an increasingly key component of Web 2.0 players' competitive strategy - build your own and spend gazillions, or support an open source project that does what you need and get dev-cred along thw way. Jeremy shared his views on the announcement.

  • Next, we went on the the topic of the WebOS meme, something Jeremy feels strongly about :-) That was fun. Watch out for the discussion on "Meta-API Providers"...
  • More APIs...From b2c APIs to b2b APIs
  • 'dem Pipes and democratizing the mashupshpere

Big thanks again Jeremy for his time.

SQL Server 2005 Driver for PHP

Who woulda thunk it? The CTP for the SQL Server 2005 Driver for PHP will be available October 11:

"The SQL Server Driver for PHP is designed to enable reliable, scalable integration with SQL Server for PHP applications deployed on the Windows platform. The Driver for PHP is a PHP 5 extension that allows the reading and writing of SQL Server data from within PHP scripts. It provides a procedural interface for accessing data in all Editions of SQL Server 2005 and SQL Server 2000 (including Express Edition), and makes use of PHP features, including PHP streams to read and write large objects."

CNET reports...

 "Microsoft revealed some fruits of a partnership that that was announced a year ago with Zend, which develops and commercializes the open-source PHP scripting language for creating dynamic Web pages. Bill Staples, a Microsoft product unit manager, announced four moves at the ZendCon conference here:

• Microsoft is releasing a preview version of a software connector that lets PHP run atop the SQL Server 2005 database. "This is a Microsoft-developed and supported PHP driver for accessing SQL Server data from within a PHP application," Staples said."

Ah...stat time now...(my bold):

"About 70 percent of PHP developers use Windows, said Andi Gutmans, who along with Zeev Suraski are Zend's co-founders and co-CTOs. But when it comes to deploying the applications for use, customers use Linux in about 80 percent to 90 percent of cases, Suraski said."

I don't know why, but this cracked me up.

I don't know why, but this cracked me up.

Posted: Oct 07 2007, 10:25 AM by alexbarnett | with 1 comment(s)
Filed under:
The ROI Analysis: Starbucks vs. Espresso Machine at Home

I like Starbucks coffee. A lot. But after doing some math (encouraged to do so by Kate), we realized I was spending a ridiculous amount of money on Starbucks coffee.

After some deliberation, research and ROI analysis, we took the plunge and bought our first espresso machine this week. We're now saving big and drinking much better coffee. 

The ROI Analysis: Starbucks vs. Espresso Machine at Home

Pros of Starbucks: Someone else makes it.

Cons of Starbucks: It costs a lot considering what's in it. Miss out on the Starbucks "Experience": including queues (three of them: one to order, one to pick up the drink, one for "condiments"; Attempts at upselling and crosselling ("would you care for a Cinnamon-whatever-cake with that?"); Tip expected. Irritated spouse.

Pros of Espresso Machine at home: Big savings (see below). No travel required. Tastes a lot better than Starbucks. Happier spouse.

Cons Espresso Machine at home: Having to make own coffee and cleaning up after.

Starbucks - Money Down the Drain

  • cost per grande latte: $3.20
  • lattes p/day: 2
  • $ per month at Starbucks: $194.7
  • $ per year at Starbucks: $2336
  • OMG factor: very high indeed.

Great Tasting Home-Made Lattes with Espresso Machine

  • cost per home-made latte (double shot): 60 cents
  • home-made lattes per day: 2
  • $ per month on ground coffee: $37.5*
  • $ per year on ground coffee: $450

The Bottom Line

Savings per year: $1,886**

Bottom Line ROI = 17 weeks, inc. cost of espresso machine*** and ground coffee beans.

--

Assumptions:

* 25 double shots per 1 lbs coffee, at $15 per pound of coffee. 2.5 pounds per month @ $15 per lb (high-end est).

** Does not account for initial outlay on espresso machine, milk, saved gas, nor days away from home travelling on business.

*** Cost of espresso machine + misc. equipment + tax = $500

Playing with Zoho DB

Via Read/WriteWeb, I heard of Zoho DB this morning. Am playing around and I like it.

I've uploaded my LibraryThing book catalog into a new Zoho DB and can publish one of the views I've defined as an embedded view into this blog post, providing some basic interaction - see below.

Within Zoho, I can create views based on SQL Queries over the data - there is support for Oracle, SQL Server, DB2, Sybase, MySQL, PostgreSQL, Informix and ANSI SQL dialects. Very nice. However, what I'm trying to figure out is the web API story for Zoho DB....I can't seem to find the documentation for it, but will keep looking.

Update: Raju Vegesna, evangelist at Zoho, got in touch to let me know there are no APIs today, but the team is planning to provide these.

More Posts « Previous page - Next page »