ZefCast

by Zef Hemel

About a week ago I mentioned that I would no longer do podcast shows in the traditional sense.

“A New Approach to Podcasting”:http://www.zefhemel.com/archives/2004/10/25/a-different-approach-to-podcasting:

I’m not going to do full-blown shows anymore, they’re not practical. Instead what I’ll do is put up short bits, in length differing from one or two minutes to possibly an hour. But all about one subject. If I want to play music, that will be one podcast. If I want to tell a lame joke, that will be one podcast. If you don’t like it, you can skip it. Each bit will be prepended with a brief jingle, just so you know where it came from. Additionally the different bits will be spread over different “channels” or actually, RSS feeds. There will be a channel for each kind of content, “Music”, “News”, “Tips” etc. There will also be a channel that contains all content, for those interested.

My collection of podcasting channels will be called ZefCasts and you can find them “here”:http://www.zefhemel.com/cast. Over there you’ll see the last few casts and the different channels you can subscribe to. Currenty they are:
* “All”:http://www.zefhemel.com/cast/rss2 (for all content)
* “Tips”:http://www.zefhemel.com/cast/rss2/1
* “Music”:http://www.zefhemel.com/cast/rss2/2
* “Comedy”:http://www.zefhemel.com/cast/rss2/3
* “News”:http://www.zefhemel.com/cast/rss2/4
* “Quotes”:http://www.zefhemel.com/cast/rss2/5

It’s recommended to use software like “iPodder”:http://www.ipodder.org to subscribe to the channels you’re interested in (if any, of course).

Got that experience? The experience where you’re talking about XML with some of your friends or family and they look at you in that way. That “Gosh, you’re such a geek”-look. I haven’t had that experience, but you might have.

After talking to some of your close friends a bit more, you find out why they were giving you that look. “Don’t you know it man? XML is for wussies. Where have you been man?”

Wait, XML for wussies? But all those cool people like Don Box and Tim Bray live and breathe XML, what about them?

Apparantly, they’re not as cool as you thought. XML’s for people who were raised by angle brackets, it’s a fabricated world they live in. Damn. Who would’ve thought that? What should you do? And in particular, what should you do with your favourite shirt?

The real guys, so you learn—the ones that get all the chicks—use YAML. And YAML Ain’t Markup Language. Markup is like make-up. You don’t use make-up either, do you?

You computer geeks live in your own little world. With your brackets in their curly, square and angle shapes. You think you’re cool, don’t you? Let me show the difference between your geek world and the real YAML world:

Your shopping lists look like this:

<shoppinglist>
   <item>New hard drive (200Gb)</item>
   <item>Big-ass stereo</item>
   <item>Natural keyboard, without M$ keys</item>
</shoppinglist>

Our shopping lists look like this:

- Vegetables
- Macaroni
- Hooverphonic CDs

Your personal phonebook looks like this:

<phonebook>
   <person>
      <name>R. Stallman</name>
      <number>1 555 23223</number>
   </person>
   <person>
      <name>L. Torvalds</name>
      <number>1 555 728172</number>
   </person>
</phonebook>

Ours look like this:

# Phonebook of cool people
---
Name: Britney Spears
Phone: 1 232 32131
---
Name: Kevin Federline
Phone: 1 232 32131
---
Name: Christina Ricci
Phone: 1 232 54544
---
Name: Lindsay Lohan
Phone: 1 555 2847

I asked Britney Spears, full-time hot chick, and this is what she said:

Britney: “Yeah, I dig YAML, it’s so much better than XML. I even prefer it over Justin, oops, Jason, oops I did it again. I meant Kevin.”
Kevin: “That’s great, thanks Britney.”

That says it all. Welcome to cool people’s world.

There’s a major strategic difference between Apple and Microsoft: Apple wants to own the user experience from end to end and Microsoft only wants own the software bit. The origins of Microsoft’s strategy are easy to explain and Apple’s approach has its advantages. Microsoft’s strategy proved to be the winning one in the past. Will history repeat itself in the DRM music business?

Microsoft’s success originated from one single deal made with IBM, somewhere back in the eighties. IBM was creating the first PC and it needed software. Bill Gates jumped in and instead of selling their software, he licensed it non-exclusively to them. It’s this subtility that made Microsoft to what it is today. If they’d have sold their software they would have gotten money for it only once. The power of non-exclusive licensing is that they get paid for the software that’s installed on each PC sold with their software. Additionally, they’re free to also let other PC vendors (which didn’t exist back then) license their software. Once IBM PC clones popped up Microsoft came out as the big winner. IBM PC sales dropped, but Microsoft’s software sales grew. All these PC-clones also needed Microsoft’s software. Microsoft made sure they owned the software part of the PC market and delegated the hardware to a big group of competing vendors.

Around the same time, Apple developed their computer, which later would become the Macintosh. Apple, contrary to Microsoft/IBM, chose to supply both the hardware and the software. And they still do. Apple’s software can, and is only allowed to run on machines produced by Apple. Apple chose to own the full user experience, hardware and software. Because of this they can very nicely integrate both. You don’t end up with the greatest common denominator. They can nicely balance the workload over the different components in the system. If you have used an Apple machine for a while you’ll see the result. You really feel that the OS understands the hardware it runs on. Everything works nicely together. No drivers to install. It just works. The drawback is that, because of the lack of competition in the “Mac world”, Apple stuff usually is more expensive than PC stuff.

In the end Microsoft won the desktop battle, in the sense of making the most money and that virtually everybody uses PCs with Microsoft software these days.

Apple doesn’t just pursue their owning the full user experience strategy in the software/hardware area. If you look at the iTunes Music Store, you’ll see the same there. Most online music stores are web applications. You go to their site, look up your song, buy it and download it to your hard drive. Then you put it on your MP3 player and play it. It’s not a nice user experience, too many steps are needed. Sometimes these sites also offer additional software that aid you in downloading the ordered music, but then you still have to put it on your player yourself. Because the online music stores only own the website part, they can’t own the full experience.

Not so with Apple’s iTunes Music Store. Apple integrated the iTMS into their music jukebox software iTunes. Although the music store largely is a website, some parts take advantage of the iTunes software around it. The catalog for example, or listening to previews. Also, ordering a song is just one click. One single click will order the song, download it and add it to your music collection. If you have an iPod, it will put it on that too. It works great because Apple owns all the user experience parts and integrated them nicely.

Music files purchased at Apple’s iTunes Music Store are protected music files. You can only play the music on so-many computers and hence it’s harder to make illegal copies. This idea is called Digital Rights Management (DRM). For protected music there are two major formats: AAC (by Apple) and WMA (by Microsoft). iPods only play AAC, the new range of windows media players only play WMA.

Recently, Microsoft joined the DRM music game. Like they did before, they chose not to own the full user experience, but only the software bit. There are multiple stores where you can buy WMA music, like for example Napster and their own MSN Music store. Also, soon the market will be flooded with dozens of different devices supporting Microsoft’s Windows Media format. Microsoft, once again, chose to do only the software. They leave the rest to a group of competing companies.

Right now Apple’s iPod has the biggest market share in MP3 players and so has their iTMS in online music stores. But once Microsoft has fully deployed their music strategy and associated range of music devices, what will happen? Will Apple win this time or will history repeat itself?

There are two factors that are important here:

  1. If you own a windows media device, which won’t play Apple’s AAC format, you probably will use a music store that offers windows media music. Buying music in Apple’s iTMS will make you end up with files that won’t play on your device. If you own an iPod, you’re more likely to buy your music at the iTMS, as the iPod doesn’t play WMA files.
  2. If you bought AAC music (and don’t yet own a music device), you’d probably buy an iPod, because it will play your purchased music. This is how Apple makes money off of their music store, it’s not the music sales. Once you purchased music at a windows media music store, you’ll probably prefer a windows media device.

This means that Apple is ahead right now. Their iPod has 70% market share of all MP3 players (and 90% of all hard disk players). So, if owners realize their iPod will only play Apple’s AAC files, they’ll buy music at the iTMS. Microsoft can do a couple of things to turn things around:

  1. They’d have to make sure the market is flooded with windows media devices. And that’s what they’re doing already, it’s what they’re good at.
  2. They have to get people to own protected windows media files. Once they own windows media files, iPods will be less tempting, and they’ll probably buy a windows media device. Once they have such a device, they’ll also stick to windows media stores. Apple applied this principle for their store in the USA a while ago by giving away free music credits for the iTMS with one million bottles of Pepsi Cola.
  3. They have to get online music stores going that integrate well into their products. The user experience has to be streamlined. Windows Media Player 10 can already synchronize music with windows media devices and MSN Music is sort-of integrated. I’m not sure how well it works, though.

Who will win is hard to predict. Looking back you might think that it it will be Microsoft once again, they have the strategy that seems to work best, right? On the other hand Apple’s iPod has an incredible market share. And once people own iPods, the iTMS is much more attractive, also because of the buying experience. Only time will tell what’ll happen.

An “interesting article”:http://msdn.microsoft.com/architecture/overview/softwarefactories/default.aspx?pull=/library/en-us/dnmaj/html/aj3softfac.asp can be found at MSDN today. It’s a research paper about software factories. To get the full picture about these software factories, I recommend you read the “full article”:http://msdn.microsoft.com/architecture/overview/softwarefactories/default.aspx?pull=/library/en-us/dnmaj/html/aj3softfac.asp, I’ll quote some parts that I found particularily intersting.

Why we need software factories:

Total global demand for software is projected to increase by an order of magnitude over the next decadedriven by new forces in the global economylike the emergence of China and the growing role of software in social infrastructure, by new application types like business integration and medical informatics, and by new platform technologies like Web services, mobile devices, and smart appliances.

Without comparable increases in capacity, it seems inevitable that total software development capacity is destined to fall far short of total demand by the end of the decade. Of course, if market forces have free play, this will not actually happen, since the enlightened self interest of software suppliers will provide the capacity required to satisfy the demand.

About programmer competence:

* We know from experience that there will never be more than a few extreme programmers. The best developers are up to a thousand times more productive than the worst, but the worst outnumber the best by a similar margin [Boe81].
* As noted by Brooks [Bro95], adding people to a project eventually yields diminishing marginal returns. The amount of capacity gained by recruiting and training developers will fall off asymptotically.

And then about what I consider to be the most powerful and important concept in computer science:

The history of programming is an exercise in hierarchical abstraction. In each generation, language designers produce constructs for lessons learned in the previous generation, and then architects use them to build more complex and powerful abstractions.

About patterns in platform/programming language improvement:

Database management systems, for example, automate data access using SQL, providing benefits like data integration and independence that make data driven applications easier to build and maintain. Similarly, widget frameworks and WYSIWYG editors make it easier to build and maintain graphical user interfaces, providing benefits like device independence and visual assembly. Looking closely at how this was done, we can see a recurring pattern.

* After developing a number of systems in a given problem domain, we identify a set of reusable abstractions for that domain, and then we document a set of patterns for using those abstractions.
* We then develop a runtime, such as a framework or server, to codify the abstractions and patterns. This lets us build systems in the domain by instantiating, adapting, configuring, and assembling components defined by the runtime.
* We then define a language and build tools that support the language, such as editors, compilers, and debuggers, to automate the assembly process. This helps us respond faster to changing requirements, since part of the implementation is generated, and can be easily changed.

The question is, what’s the next big step? How can the software development process be made more efficient and effective? From the “SoftwareFactories.com website”:http://www.softwarefactories.com:

Scaling up to much higher levels of productivity will require the ability to rapidly configure, adapt and assemble independently developed, self describing, location independent components to produce families of similar but distinct systems. It will require a transition from craftsmanship to manufacturing like the ones we have seen in other industries, and will eventually produce more advanced earmarks of industrialization, such as supply chains, value chain integration and mass customization.

To accomplish this, the industry must capitalize on some key innovations in software development. We must synthesize ideas such as domain specific languages, software product lines, component specification and assembly, patterns, framework completion, domain analysis and feature variability analysis into a cohesive approach to software development that can learn from the best patterns of industrialized manufacturing.

Read the “full MSDN article”:http://msdn.microsoft.com/architecture/overview/softwarefactories/default.aspx?pull=/library/en-us/dnmaj/html/aj3softfac.asp.

Apple’s New Products

by Zef Hemel

Steve Jobs, CEO of Apple, has announced some new products yesterday. First off, the iTunes music store is now available in Canada and more European countries, in particular the Netherlands. Yay! I bought some tracks and it works very well and easy. Maybe a bit too easy, though. It’s literally one-click buying.

Apple also launched two new “iPods”:http://www.apple.com/ipod/. First off, the “U2 iPod”:http://www.apple.com/ipod/u2/, which is black with a red scrollwheel and comes with a U2 poster and $50 discount on the otherwise $149 package containing all of U2’s albums plus some rare tracks. It’ll cost $349, but I’m not a U2 fan or anything.

What’s more interesting is the new “iPod Photo”:http://www.apple.com/ipodphoto/. I own a third generation 15Gb iPod (the most current one is the fourth generation) and it works very well for me. iTunes, which you use to synchronize your music library with the iPod, already was my music jukebox of choice. And now that there’s “iPodder”:http://www.ipodder.org and the iTunes music store, it’s even better. All my music needs in one application. Something that only Apple seems to be able to pull off. When I showed off my iPod I got people saying, “Wow, that’s a lot of space on that hard disk. Can you store pictures on it? Then you’d be able to use it as a secondary storage for all of your pictures.” Not a bad idea. I believe there are some accessories that allow you to put a compact-flash drive on your iPod and using that to store photos from your digital camera, through the CF card right on your iPod. Great.

Yesterday Apple announced the iPod Photo. It has a cool colour screen, it’s just as big as the normal iPod and has some nice features for handling photos. There’s a photo browser to quickly look through your photos, it is possible to do slide-shows on the small screen or on your TV. The latter can be done by connecting the iPod Photo to the TV using the cable that comes with it. That’s all very nice, but ehm… where’s the feature to load your photos directly from your camera onto the iPod Photo? This would, for many people, be *the* reason to want such an iPod Photo. But it doesn’t seem to support that. You need a PC/Mac to synchronize your photos to the iPod Photo…

It it me or did Apple just missed a major opportunity here? Or should I say, *the* opportunity.

The Need For Joel

by Zef Hemel

Let’s say you’re a developer programming for the Windows platform. You only just bought Visual Studio 2003 and have been programming in C# for just a short while. When you go online and have a look at websites like “MSDN”:http://msdn.microsoft.com, “the .NET Show”:http://msdn.microsoft.com/theshow and the “MSDN Blogs”:http://blogs.msdn.com you’ll hear people talking nearly exclusively about all the “new exciting technologies” coming from Microsoft in the next few years. Whidbey, Longhorn, Avalon, WinFS, Blackcomb, C# 2.0, generics, ASP.NET 2.0, Indigo. Ehhhh, do I need all of those? It’s all hype about “things that might be released in the next few years”:http://www.joelonsoftware.com/articles/MouthWideShut.html.

Luckily, there’s Joel Spolsky to save you. He’ll tell you exactly how he thinks things are. Sure, there’s a huge community of people screaming you don’t need that Microsoft junk, but it’s refreshing to hear the opinion of someone who used to work for Microsoft, made a conscious choice to use Microsoft products and owns an ISV(Independent Software Vendor).

“About Longhorn”:http://www.microsoft-watch.com/article2/0,1995,1681963,00.asp:

There were a lot of developers who said “That (Longhorn’) is nice. But tell me when my customers have it.” My best estimate for that was 2008, if Microsoft delivered Longhorn in 2006.

One of the things that a lot of people have tried to do Microsoft, Apple, Sun is when we went from DOS to GUI (graphical user interface), it was an incredibly good value proposition for your operating environment. Let’s say it was worth $1,000 to go from DOS to GUI. Then we went from Windows 3.X to Windows 95. That was worth upgrading. It was worth $100. Then we went from the Windows 95 generation to the XP generation. Your system crashes a lot less. Worth $5.

Everyone’s been trying to recapture that moment of moving from DOS to Windows. It was worth throwing everything away all your old DOS applications in moving from DOS to Windows because it was so much better. But it’s never been the case since then and it probably won’t be unless somebody invents some newfangled thing.

Will people upgrade to Longhorn? Probably, but at a much slower rate than they upgraded to XP. If you look at the different aspects, like Indigo, I’m not really even interested. It’s just a big communications architecture that makes it easier for programmers to build communications things. But there’s no application you can’t build right now because you don’t have a good communications architecture. It might be harder (without it), but it’s not going to enable you to build a whole new class of applications.

Avalon is nice. It’s a very pretty GUI. You’ll be able to make things a little bit transparent. The truth is, we’ve had these bit-mapped displays. And it’s not entirely clear that that in itself will be motivating, although it might be because it looks so much better.

I think XP SP2 (Service Pack 2) is a better upgrade than Longhorn. The Number 1 problem people have with their PCs right now is malware and spyware. And SP2 does a very respectful job of addressing these (and other security) issues. And that’s what people are clamoring for right now.

Also, read “here about Joel’s strategy for moving to .NET”:http://www.joelonsoftware.com/articles/Our.NetStrategy.html.

After having done “a”:http://www.zefhemel.com/archives/2004/10/10/my-first-podcast “couple”:http://www.zefhemel.com/archives/2004/10/12/podcast-episode-2 “of”:http://www.zefhemel.com/archives/2004/10/24/third-podcast-and-wordpress-rss-bug podcasts I came to rethink how it all got started, and why the format is the way it is.

Currently, most people doing podcasts do full-blown shows. They’re like half-an-hour to an hour long, they have an intro, jingles, music and an outtro. I came to think, “Why are they doing that again?” It’s because the people starting up this podcasting thing are people that were previously in radio, like Adam Curry. Also, having your own radio show was a child dream for many.

Currently there’s a “drawback”:http://www.zefhemel.com/archives/2004/10/15/text-audio-and-video-blogging in podcasting: it’s hard to skip bits that don’t interest you. If you don’t care about the music, you can attempt to skip it but you’ll have a hard time doing so, because basically it’s just guessing where the song ends. Same goes for some segments of particular shows that you may not like. It’s very hard to skip. Again, with text you can just skip the paragraph, it’s not so easy with audio content.

So, this is what I’m working on now. I’m not going to do full-blown shows anymore, they’re not practical. Instead what I’ll do is put up short bits, in length differing from one or two minutes to possibly an hour. But all about one subject. If I want to play music, that will be one podcast. If I want to tell a lame joke, that will be one podcast. If you don’t like it, you can skip it. Each bit will be prepended with a brief jingle, just so you know where it came from. Additionally the different bits will be spread over different “channels” or actually, RSS feeds. There will be a channel for each kind of content, “Music”, “News”, “Tips” etc. There will also be a channel that contains all content, for those interested.

Before you start screaming, “Hey! But you can’t just put up music, just like that!” Yes, I can. From now on I’ll only put up music that’s free to use. The music will be becoming from sites like “Garageband”:http://www.garageband.com. You might think that there’s a reason these people don’t charge for it, and I thought so too. But after downloading a couple of tracks I changed my mind, there’s some really nice music there.

So, all that’s holding me back right now is the software to do this. The software is trivial to write, which makes it hard for me to get it done: it’s soooooo boring. But I worked on it yesterday for a bit. I just hacked-up the code I used for my blog previously. I first wanted to integrate it into Wordpress, but I’d either have to create a very nice generic solution, which would take a lot of time. Or I’d have to apply hacks that are so incredibly dirty that I couldn’t live with myself if I’d do that.

Stay tuned.

Next Page »