Author Archive for joransen

Five levels of understanding

Through the joys of Spotlight, a quick search for “Zen” led me back to something I think about often. The following was written in November of 1999. In my mind I had a version that was just about the Enterprise Objects Framework (EOF), but this is obviously as much about the WebObjects Framework (the two making up what we call “WebObjects” in most contexts. I often say “use the tool, don’t fight the tool.” This is part of what I’m talking about.

There are five levels of understanding with WebObjects:

  1. Just doesn’t get it
  2. Understands WOF, but EOF is fuzzy
  3. Gets WOF and Understands EOF, but doesn’t always make the best choices
  4. Really understands WOF and EOF and generally rocks through most tasks
  5. Zen Master of WO (both WOF and EOF)

Someone who comes to WebObjects knowing only HTML and maybe has hacked an
existing PERL script to send in a “comments to the webmaster form” is
likely to fall into level 1. They can particiate in the WO development
cycle only from the HTML side. They can use tools like GoLive and
Dreamweaver to design pages and add elements to pages (but the only WO
parts that can be added need to be specified by a “WO developer”).

If you have any programming background, you should be able to hit level 2
pretty easily, especially if you have done ANY web development (CGI, ASP,
PHP, etc). WOF is generally easy to grasp because it is fairly concrete
(you put in HTML based templates, you get out complete HTML). If a person
attends the first WebObjects training class, they should be AT LEAST this
level when they complete it (or there is a big problem).

The trick with Level 2 is that EOF may take a while to sink in. You are
taught the core parts to EOF and if you absorb them, you can move ahead
with confidence. It is, however, common for the WOF part to be the focus
and EOF slips to the back of ones mind. When this happens, a paradigm
block is likely to occur. EOF is about dealing with your information as
objects, not rows in the database. That can be a significant mental leap
(especially for those with a great deal of database experience).

After you work on a WebObjects project, you quickly gain the experience
and comfort to move to Level 3 on the WOF side… you know how WOF works
and you know when it makes sense to create a “sub component”. You also
can have your application spit out just about any HTML that is seen on the
web. If you have spent some time in working with EOF (and the EOModeler
tool) you are hopefully gaining an understanding of “object models” and
“object graphs.” For example, you may not know how to implement vertical
inheritence, but you probably don’t need inheritence anyways. You should
know how to implement/model a many-to-many and free yourself of the
“interconnect tables” (those tables that only have two primary keys and
exist only because a many-to-many relationship can’t be described directly
in relational databases).

When you’ve done a few projects and had an “expert” to bounce design ideas
off of, then you may be heading towards Level 4. Level 4 people can do
anything. Often, they could be WebObjects product development engineers
if they wanted to live in Cupertino. If you have one of these people on a
project, it should be successful. A Level 4 can often help raise others
to this level.

Level 5 is what all purely technical people aspire to, but few reach.
Because it requires both breadth AND depth, even Apple’s product dev
engineers rarely reach this level on both the WOF and EOF side. Apple’s
most senior consultants fit this bill, as do some of the SEs. With one of
these people on the job, you are likely to have not just a nice product,
but they will provide the guidance to raise people from Level 3 to 4.

[tags]webojects, zen, understanding, eof, core+data[/tags]

Discovering the beauty of Core Data

Core Data - Almost Too Easy?

In the above posting by Kevin Hoffman, he talks about his newfound love and admiration for Core Data. I am continually amazed at how smart and technical people discover the elegance of the technology that came out of NeXT. Of course Core Data isn’t EOF, but then again it is, just the next generation (and without client server support supported).

Core Data, like EOF, is powerful object persistence framework. But you have to accept it and not fight it. In his two examples, he found the elegant solution. But for everyone that finds the solution, there are probably 2-5 that do it the hard way and curse the world. It goes to my five levels of understanding. I need to dig that up and publish it here.

One thing Apple TV does wrong

So far the Apple TV is good. It is excellent at music and photos are well done also. I would say there is a problem with TV, but that isn’t exactly right. The problem is music videos.

I see music videos more like “music with video” than “tv with music,” yet the later is how Apple TV treats it.

If I put a bunch of music videos in a playlist, they show up under the “Music” section of the menu. So it should behave like a music playlist. When a song/video ends, goto the next one in the playlist. I should also be allowed to use the “shuffle” feature.

The TV section is more like TiVo, when a show ends, go back to the menu to select the next one to watch. This make particular sense for longer shows (30+ minutes).

I see the Apple TV as my way to program my own channel. I am willing to goto my computer and select what should be in a playlist/channel, go upstairs, “tune into” that playlist/channel and watch it ALL without hitting the remote. Between podcasts of real shows (from BBC & CNBC) and podcast only productions, there is a ton of create content for me to assemble for my hour in front of the TV at night. I know this will work well since it is exactly the process I’ve automated for my ride to the office and back.

[tags]itunes, apple+tv, playlist, video, music[/tags]

My Apple TV

I have it now. Did enough wiring prep to pop it in quickly. Sealed box to running Apple TV in about 5 minutes. My one hiccup was that I forgot to patch the network jack by the TV into the hub in the basement so it wanted to go wireless. A quick run to the basement and it was happily on the wired network.

I like it. The music usecase is wonderful. It solves this problem very well. The one thing that is now obvious is that Apple needs to deliver higher quality video through the iTunes store. I need HD content flowing, now 640×480 max. This will be HUGE!

[tags]apple+tv, hdtv[/tags]

Mark Simonson captures a Syracuse classic: Varsity

A year ago I saw something flow through my news reader (NetNewsWire) and saved it in a tab. It is time to close the tab, but remember the page (picture really)…

Orange Varsity

Last week I was in upstate New York and discovered this beautiful Art Deco sign on the Syracuse University campus. Photo taken April 7, 2006, in Syracuse, New York.

While at Syracuse, many people thought Varsity was the best pizza. I thought it was a classic hang-out, but not the best pizza. The sign and location are wonderful, but nothing could beat Archie’s pizza after it has congealed for some time under the heat lamps.

Apple TV in the air

My Apple TV is in the mail. Should have it Friday.

The world has not been waiting on pins and needles for Apple TV. Many people are disappointed on what it will deliver. I’m not in that camp. I ordered one the day they were announced. I don’t buy everything new from Apple, but this delivers what I need.

I have a 42″ plasma in my family room, but no big stereo on the main floor (or anywhere in the house for that matter. When we have parties or people over, the best we can do for music is to use a small Sony CD player/speaker system we’ve had for years. It does fine, but I always burn a CD and it plays the same 70 minutes of music all night. Believe it or not, people actually say “haven’t we heard this before.”

So what does Apple TV give me?

  • Method of playing music on my TV (which sounds pretty good). All my music is on a Mac Mini in the basement.
  • Way to play video podcasts on the big TV
  • Have music video versions of some of our music to be mixed with regular music. I’ve been paying $2 for a music video that comes with the song, or getting “bonus videos” with some songs.
  • Alternative way to watch TiVO programs from the basement TiVo on the big screen (using either Tivo2Go after a crippled low res conversion, or TiVoDecode
  • Watch movie trailers on the big screen so Eileen knows what to add to the Netflix queue

Some people complain about it not being 1080i (or p). This doesn’t bother me since my TV is only in the 720p range.

Other things I wish I could do with my Apple TV (even thought I don’t have it yet)…

  • Watch Netflix “watch now” movies
  • Stream DVDs from my Mac Mini

[tags]apple+tv, netflix, music[/tags]

It is about freeing us to be creative.

On Scripting News, Dave writes what is perhaps the most profound thing I’ve ever read from him…

Empire of the Air: “There was a pivotal, electrifying moment in the story”

I’ve read his stuff for 8+ years, and this is good stuff. Nothing personal in it, just brilliant insight into the human condition and the power of the on-line medium we have before us.

Rowing with the guys

I had some help making my first YouTube submission. The boys in the family rallied around a “how-to” project.

We had to make an oar (or paddle) for a cub scout skit coming up.

[tags]youtube, video, how-to, howto, paddle, oar[/tags]

AOL blogging on Blogger

There are a number of AOL blogs. What I find interesting is the various platforms each one picks. For individual employees, I simply note what they use to see if it is something I might look at (these are smart and clue-full people after). Obviously AOL has a couple of blogging platforms internally (AOL Journal and Blogsmith come to mind).

But this blog caught my eye: http://www.discoverfullviewblog.com/ To promote a major area of AOL (search), they are using Blogger, a property of Google. Since Google “enhances” AOL Search, that might seem fine, but I would have assumed the blog would be hosted on another platform. Something closer to AOL. Perhaps this is just proof of openness?

Maybe this is really someone’s personal blog and I misunderstood it as more “official AOL.”

BTW, What would happen if AOL bought Wordpress?

[tags]aol, google, blogger, wordpress, dogfood[/tags]

Models…what is old is new again (ADO.NET EDM)

Over on the ADO.NET team blog, they talk about Entity Data Models…

The intent with ADO.NET is more ambitious: We view the ORM problem as just one of a number of services we want to build on the database. Other services include reporting, synchronization, backup, and so on. In order to cover all of these services, we have designed a data model that is similar to the object-oriented idiom that programmers use, while remaining independent of any particular programming language or programming platform. This data model is the Entity Data Model (EDM).

This is all good stuff. I like annotations, but I also like this model approach. So much so I fell in love with it 10 years ago with NeXT’s Enterprise Objects Framework (EOF). I was amazed at how this article read just like a description of how EOModels work.

Perhaps this is me discovering something MS has been doing for many years, but not over a decade. One day I hope CoreData brings back multiuser support. Perhaps even with fully supported Ruby and Python binding (which will be near free in Leopard?).

[tags]eof, object+models, ado.net, coredata[/tags]