Tuesday, September 25, 2007

The New Amazon MP3 Store, Step by step

Amazon has just launched their DRM-free MP3 store. Here is a step-by-step walkthrough on my Mac (for the impatient, it works, but in terms of usability, selection, and convenience, it's no iTunes, but I welcome the competition) One oddity: although you eventually wind up with MP3 files in iTunes, the process uses a standalone app to manage the downloads; you get a open a .amz file, and then the real MP3 is downloaded.

Step 1. Make your selection via the website, press the Buy MP3 button:

Step 2. Download and install the Amazon downloader application (one time only)

Step 3. Get confirmation of the purchase (via the web, and email)

Step 4. Double-click the .amz file, the Amazon downloader puts the MP3 file to your hard disk

Step 5. Press the "Reveal in Finder" button, double-click to import into iTunes -- this includes album art and appropriate metadata.
Step 6. Play in iTunes:

Monday, September 24, 2007

OLPC: 1+1

The One Laptop per Child Project now allows individual purchase: Give one, Get one.

Wednesday, September 19, 2007

Stephen Fry on what distinguishes Apple

Fry's long essay on iPhone competitors

That’s why Apple is Apple, they have people there (and of course it comes from the top) who say - “woah, not good enough, not cool enough, not simple enough, not fun enough, not sexy enough, not clever enough, not useful enough”.

Tuesday, September 18, 2007

Another use for the iPhone: redeeming coupons

The other day, when I picked up "The Universal Principles of Design", I used a 20% off coupon from Borders. Instead of using a printed coupon, I handed my iPhone to the cashier, which had the PDF of the coupon from my email.

I wonder if the same thing will work for boarding passes?

Monday, September 17, 2007

Trends 2007: ERP 2.0

Companies like SAP and Oracle have lock on ERP systems for enterprises. Why is there not Open Source alternatives to these large and comprehensive packages?

Trends 2007: The Rise of Apple

Apple has firmly established itself as "the new cool". It's obvious that the company has hit its stride, with a relentless march of new products and continued evolution of its entire product line.

There is something to be said for a company that continues to delight its customers, create new classes of products, inspire such devotion (when was the last time you heard of a Windows fanboy), and manage to garner so much press, both mainstream and blogosphere.

I personally made the transition to Apple products in early 2002, and have not looked back. My personal five-year Apple timeline is:

  1. 2002/03: 15 inch Titanium PowerBook G4
  2. 2002/08: Mac OS 10.2, Jaguar
  3. 2003/04: First iTunes purchase ("Look to the Rainbow", Dinah Washington)
  4. 2003/10: Mac OS 10.3, Panther
  5. 2004/08: eMac, (college machine)
  6. 2004/08: 3G iPod, 15Gb
  7. 2005/03: 15 inch Aluminum PowerBook G4
  8. 2005/06: Mac OS 10.4, Tiger
  9. 2005/09: 4G Video iPod, 30Gb
  10. 2006/12: MacBook (college machine)
  11. 2007/06: iPhone
  12. 2007/08: MacBook (college machine)
During that period, Apple stock has grown from about $12.00 to over $130, I have purchased three generations of iPods, three versions of computers in two families (PowerBook G4, eMac, MacBook), three major operating system revisions.

Trends 2007: Scripting Language Web Frameworks

As a platform for developing web applications, scripting language-based frameworks like Ruby on Rails and Django are gaining in popularity and mindshare. Rails is famously used by 37signals to produce its suite of products, Basecamp (project management), Campfire (group chat), Backpack (information organization), and Highrise (contact management). The approach advocated by this framework is rapid development, convention over configuration, and embracing the web including the REST architectural style.

Django is interesting to me because it's based on python, embraces the notions that URLs are meaningful, and like RoR, built based on real-world experience and issues (the framework built for perfectionists with deadlines), and uses a MTV (Model/Template/View) worldview that allows designers to concentrate on look and layout, leveraging data provided by developers.

Recently there has been a move away from bigger, heavier weight frameworks like J2EE, to more agile frameworks. Some have even said that Java is like COBOL -- your dad's language. This move is described in "Better Web Application Development", by Sean Kelly, where J2EE gets a real smackdown in the face of Ruby on Rails, Zope/Plone, TurboGears, and Django. This is a great example of "evidence-based" architecture.

Trends 2007: iPhone

Yes, I was one of the early adopters (Los Angeles Century City Apple Store, 10 minute wait in line), I have an iPhone receipt dated June 29, 2007, and I have no regrets, and my $100 "gift" is also welcome.

This device illustrates everything I like about Apple products: a delightful, human-centric user-interface, a clean design that meets the "emotional" test -- you want to use it because it's fun to use, novel technology, and a hackable platform. Beyond the current round of hacks to route around AT&T lock-in, the iPhone as a web platform is extremely interesting. Here's Apple's developer strategy as I see it: Create a standards-based web platform, with mechanisms to optimize for the iPhone within that framework, followed by leveraging the existing Dashboard widget framework for "native" applications. You only need compare Stock and Weather iPhone applications to their desktop counterparts to see where this is going.

From a person that rarely even carried a mobile phone, this is the device that has me happily and easily texting my college-aged kids, showing my and taking photos, looking at videos, listening to music and podcasts (at home and in the car), browsing the web, and even experimenting with developing content.

Initial reports from analyst firms like Gartner advised caution on adopting the iPhone in the enterprise, but subsequent reports moderated that stance somewhat as more enterprise-friendly features or versions were predicted. In my view Apple should resists the enterprization of the iPhone, and enterprises should embrace the iPhone as is, and can leverage it now by taking advantage of its web and podcast capability --- it's a platform, just like the PC, and frankly the the arguments against sound like the old stuff I used to hear in the 198os about personal computers.

Trends 2007: Web 2.0 Exemplars

At this point the notion of Web 2.0 is firmly established, if not endlessly debated and re-debated. Here is my take on organizations/sites that exemplify modern web technology and business models:

Google: the so called "heart of the web"
Amazon: leveraging infrastructure to provide a service-based computing grid
37Signals: Leveraging scripting language frameworks to create useful, web-centric applications
Wikipedia: proving that collective knowledge is useful
Flickr: combining photos with community on a web-scale platform
Facebook: connecting people and what they care about
del.icio.us: Preserving and sharing the journey through the web
digg: what is cool and interesting now
salesforce.com: challenging the big boys on web-based applications and platforms

Trends 2007: REST

Much has been written about REST, the architectural style for distributed, networked applications, described by Roy Fielding. My first exposure to the concept was in from Paul Prescod's article published in 2002: Second Generation Web Services. After reading that piece, I "got it", and I've been an advocate ever since. Fast forward to 2007, and we have the the publication of "R&R" -- Richardson and Ruby's, "Restful Web Services". Along the way we have Ruby on Rails embracing REST along with Microsoft, Google, and others.

There has been a good bit of REST-theory and debate on the net, but also note that Roy Fielding is scheduled to provide some perspective at the next ApacheCon with the talk "A Little REST and Relaxation".

If you want to get beyond the theory and see real-world REST semantics, principles, and working code, you need go no further than the Atom Publishing Protocol.

What does it all mean? REST is at this point the default method for doing real "web services" -- any modern API is typically RESTful to some degree. Traditional IT shops and enterprise vendors should take heed and begin to adopt these methods.

Here's my linkdump on REST (maintaining these is what prompted me to use del.icio.us)

(thanks to Sam Ruby for the REST logo)

Saturday, September 15, 2007

Trends 2007: Syndication

The notion of syndication is now firmly entrenched in the post Web 1.0 world --- anything that matters can now has a feed; from web pages, blogs, news items, photos, you name it. Once you begin to use syndication (via built in browser facilities, web-based reader, or dedicated reader, it's impossible to go back. The ability to sift through a mountain of information (of your own choosing, much of it discovered from other feeds) is addictive --- in a good way. You can move at your own pace, fast or slow, through your own carefully constructed information space, consuming items as diverse as: Bullet Points, the Ten Greatest Advancements in Fast Food and Greenspan Is Critical Of Bush in Memoir.

Syndication changes the way you consume information -- you are now in control of how they receive your information via the subscription, and in turn you consume information on your terms --- by headline, by, summary, full. Moreover, the information space is exportable, portable and sharable via OPML files.

I believe that syndication is largely unexploited in mainstream IT shops -- however this could be changing, in fact some have elevated syndication to its own architecture.

Thursday, September 13, 2007

Trends 2007: Megadata

Today it's obvious we now have massive computing power, the amount of data we work on even for personal use is growing larger. How we will process the volume?

Joe Gregorio coined the term "megadata", that is large data sets, where traditional relational techniques (triggers, transactions, joins, are NOT used). For example, Google's use of BigTable.

Moreover, the common themes here are that the "structure" of structured data is different: it is inherently distributed, and de-normalized, (which brings to mind the Cal Henderson statement on normalized data)

Trends 2007: Next generation User Interfaces

Starting with the interface in Minority Report, and culminating in the Apple iPhone, we are finally starting to see some movement away from the traditional keyboard/mouse/windows style of interaction to richer ones.

The grandaddy of these is Jeff Han's Mutitouch (which I saw demoed at Etech, amazing). Microsoft follows this with -- the Surface, and of course the iPhone. On a different note is the BumpTop -- which seeks to take the desktop metaphor to the next level my replicating real world structures like stacks coupled with an interaction model that duplicates real-world physics.

This notion of movement and direct manipulation makes for a more pleasant experience and is one reason for the appeal of the iPhone -- the idea of "touching your music" somehow brings you closer to the thing at hand -- finding something good to listen to -- in this sense the device is out of your way.

Trends 2007: OLPC

The One Laptop Per Child project is interesting on a number of levels, its aim is to bring computing to a new set of people without the constraint of "installed base" and in doing so has the potential to improve computing for the rest of us. In effect the project asks the question -- "what should computing be like" instead of "we have this set of computing systems along with its built in constraints and conventions that you must deal with.

The OLPC has challenged the established PC players on two fronts, price, and function, and has met these challenges with a device that costs significantly less than current products, with features like an amazing dual mode display with higher resolution than 95% of the laptop displays on the market today (7.5 inch, 1200×900 pixel, TFT screen and self-refreshing display at 200 DPI), with 1/7th the power consumption. Add to this a new security model, mesh networking, and new UI, and you have a device that is pushing the boundaries of what a computing device should be.

For more on the OLPC design see: "How the OLPC Machine was Designed" this video which include details and demos of the software.

Trends 2007: Parallel and Concurrent Computing

Following up and related to cloud computing is the notion of parallel and concurrent computing. (Rob Pike points out the distinction of these concepts in Advanced Topics in Programming Languages: Concurrency/message passing in Newsqueak)
He states;

Concurrency has nothing to do with Parallelism they are actually separable ideas and thats important

Another major point of this talk is:

The world is concurrent, but computers are not!

and that language support for concurrency is important. The increased attention to languages like Erlang, which has built-in support for concurrency, in indicative of this trend.

What does this mean? We can break out of the sequential/synchronous world and begin to think about problems in more natural ways. Pike makes the point that concurrency should not be something hariy and messy that "you just have to deal with", but concurrent programs can be "much cleaner and more beautiful" than their sequential counterparts.

Finally, Google has shown the world that for a certain class of problems, working it in parallel environment is highly effective, and using infrastructure, programming environments, and languages like Sawzall, and MapReduce makes it possible.

Wednesday, September 12, 2007

Trends 2007: Cloud Computing

This trend is not so new, but has gained a lot of currency lately, from Google pushing both apps and data in the Internet to Microsoft responding in kind.

One way to summarize the two approaches is to note quotes from Google CEO Eric Schmidt:

Web 3.0 will ultimately be seen as applications that are pieced together which are relatively small, the data is in the cloud, apps can be run on any device (PC or mobile), apps are very fast, very customizable, apps distributed virally by social networks and email, not store bought. It's a very different application model from the mainframe era and PC industry, likely to be very large, low barrier to entry, new generation of tools being introduced by Google and others make it relatively easy to do, solves a lot of problems, and works everywhere.
Compare these statements to Ray Ozzie in his recent analysts meeting:

Seamless Office scenarios that span the PC, the Web and even the phone. Documents that go wherever you want them, news scenarios, sharing scenarios, meeting scenarios, note-taking, presentation scenarios that use PCs for they're really good for for document creation and editing and review. That use the web for what it's really good for: publishing and sharing and universal access. They use the phone for mobile access that extends your PC-based and Web-based activities to wherever you go....
Finally for developers, the services opportunity lies really in the breadth and character of the this new type of platform. At the back end, the promise of services for developers is the promise of utility computing in the cloud...
Both of these quotes reflect that applications and data are not just local, Google embracing the "everything in the cloud" approach more aggressively, looking to unseat the PC-centric status-quo, with Microsoft, still clinging a bit to its history and heritage, trying to have it both ways.Nevertheless, having data in a central place has large implications: chief among them is location independence, and as alluded to my both Google and Microsoft above, device independence.

Update: Cap Gemini is endorsing Google Apps
Add to this the notion of massive data centers, used by Google, copied by Microsoft, with Sun attempting to commericalize the concept. Amazon is making waves with its S3 and EC2 services, leveraging existing capacity to provide storage and computing power at very low barriers of entry.

This begs the question for individuals, startups, and large enterprises: how soon will true utility computing be a reality?

What's on my mind: Trends 2007

I Recently a took stock of items in the world of technology and computing that were occupying my attention.

Looking at things like my feed subscription list, I attempted to boil the list to a managable few -- to further capture the ideas/items, I created a presentation: called "Trends 2007".

Of course this kind of introspection is not new, O'Reilly has his Radar, and recently people like Sam Ruby in his "Long Bets" posting have done similar exercises.

Here is the list; I plan to write about each of these in subsequent posts:

Tuesday, September 11, 2007

A Piece of my Mind?

I'm coming late to the game of public blogging, but the time feels right. This will be my place to share -- to "give you a piece of my mind" -- not in the sense of raving or railing, but to show, to give something I know, and hopefully continue to learn.

Also, this will be a place to keep ideas from rotting.