I usually avoid making predictions about what Apple is going to do, but when this one came to me on my way to work this morning, I felt it was too good to ignore.
Here's what we know:
My prediction is that in this fall's announcement, the iPod Touch will be going away, and that it will be replaced by the iPhone Wi-Fi.
Most people refer to the iPod Touch as an "iPhone without the phone." With FaceTime and iMessages, the iPod Touch essentially becomes a phone. The only difference is that it can only connect to a Wi-Fi network, not a 3G network. The iPad line is currently split into Wi-Fi and 3G, it makes sense to me to do the same with the iPhone.
I'm probably wrong, and I'm ok with that. You have to admit, this sounds plausible, doesn't it?
I've been privilaged to be part of a bootstrapping comminuty using a collaboration tool called an Instant Outliner. It's an interesting tool built around the concept of a shared outline. I'll probably write more about this at some point, but for now I have one specific point I want to talk about.
When the outine is updated, the computer beeps, and the person's node that updated is bolded. This works fine when I'm at home and at my computer. But when I'm at work, I often have the volume down and the outline in the background. I found myself wanting a visual notification of some sort when the outline updated.
I'm on a Mac, so the obvious solution is to use Growl.
Like all the other tools for this community, the Instant Outliner is built on top of the OPML Editor, which I have previously described as a Swiss Army Knife. If I want Growl notifications for my Instant Outline updates, the OPML Editor needs to know how to talk to Growl. So, I wrote a tool.
Growl.root adds support for sending Growl notifications from scripts written in the OPML Editor. There are basically 2 verbs (OPML-speak for functions) that you need to care about.
growlSuite.newNotification(title, enabled) will tell Growl about a type of notification I want to send. For the instant outliner I would execute:
growlSuite.newNotification("Instant Outliner", true)
growlSuite.sendNotification(name, title, description) will actually send the notification. The first parameter(
name) must match a notification type from the previous verb. The second parameter is the title of the notification and the third parameter is the text of the notification. To notify that I updated my outline I would execute:
growlSuite.sendNotification("Instant Outliner", "tedhoward", "Guys, check out my new growl scripts")
If you're interested in this sort of thing, you can download growl.root here.
Have you ever noticed that you get some of your best thinking done in the shower? I certainly do. Some of my best and worst (i.e most creative) ideas have come to me in the shower. Often I will come up with a solution to a problem I spent the pervious day struggling with while taking my morning shower.
What is it about the shower that brings me to such a level of clarity? Is it the all the steam? It it the water? the soap? Perhaps, but I don't think so. It occured to me that when I'm in the shower, I am not consuming any outside information. In the shower I have no TV, radio, books, podcasts, web sites, etc. It's just me and my thoughts. The only other time when this is true is when I'm in bed trying to fall asleep. When I'm in the shower, Im trying to wake my mind up, and with nothing to fill it, it begins processing the information it already has.
Maybe the magic of the shower is simply the fact that I can't bring anything else into it with me. It's just me and my thoughts. I wonder what it would do to my life to take more time out of the day to just think. No reading, watching or listening. Just thinking, and maybe some writing. How big of a difference could this make? I guess I'll have to think about it.
Do you set aside any time each day just for thinking?
BTW: The idea for this post came to me this morning in the shower.
Almost a year and a half ago, I took the Zen TV Experiment and wrote about my experience. For the first time, this caused me to really evaluate the position of television in my life and question its value. It also caused be to be aware of the tricks that TV uses and the effects it has on me when I watch it.
The immediate aftermath of this was a conversation with Megan where we decided to no longer eat our meals in front of the TV. It was a great improvement. It also started a series of events that resulted in us watching less and less tv over time. We would have these moments where we'd go through our season passes on the TiVo and eliminate shows for various reasons. I also resolved to only watch TV on purpose. In other words, I would only watch shows that I wanted to watch, I wouldn't just sit down to "watch something".
This past month, Megan decided to give up TV for lent. She went through a similar transformation of thought on the value of TV and it's place in our life. She too is resolved to watch less and be more purposeful about it. And then we come to last night.
Yesterday was Easter; lent is over. Now that Megan is "allowed" to watch TV again, we had some decisions to make. We turned on the TiVo and looked at the list of recorded shows for the first time in six weeks. Surprisingly, there wasn't much there. Several episodes of the Oprah show, The Office, 30 Rock and The Chicago Code. Having not watched any TV for six weeks, we are faced with the question: "Are any of these shows worth the time it takes to watch them?"
Not watching TV has freed us to do so much more with our evenings. Megan has become a fairly prolific blogger. We've both read several books. We've had some deep, meaningful conversations, played some games, had people over, gone out, worked on side projects. Which of these things are we willing to give up to watch a TV show?
It's a difficult question, because the shows we watch together (I don't watch Oprah) are really good shows. We really enjoy watching them (most of the time). But are they worth the half-hour every week commitment?
Last night we decided to quit watching The Chicago Code. It's a fairly new show, and it's off to a pretty decent start, but neither one of us is heavily invested in it. That left The Office and 30 Rock. We decided to table the discussion for later. We may finish out the season and then be done with them (especially since Steve Carell is leaving after this year).
Once we quit watching those shows, do we still need the TiVo? Do we still need the TV? It takes up a lot of room in our living room. These are questions that we will have to answer over time.
Could you give up watching television? Have you taken the plunge? What was it like?
This all started with a post on Dave's blog Saturday. He was trying to see what it took to serve up an xml file from a domain. He was succesful, but he mentioned that what he really wanted was a web service that would do this. I spent some time thinking about the problem, and came up with a basic solution.
Basically we have a server, let's call it 'domain-mapper.com'. You will first need to configure your domain to point at the ip address of the domain mapper server. Then you need to tell the domain mapper server about your domain. You do this by posting to domain-mapper.com/domain and you give it 2 parameters: domainName and password.
Now that your domain points to the domain mapper server and the domain mapper server knows about your domain, it's time to save the file to the domain. You do this by posting to your domain name with one parameter called 'feed'. You will need to log in using http basic auth (the username is your domain name and your password is the one you provided when you registered your server).
That's it. It's pretty simple huh? If you want to update your file, just post to your domain again.
I'm not completely finished with the implementation. There are a few more features I want to put in, but once I do I'll put up a server so we can test it. I'll probably release the sourcecode for the server too. I just wanted to get this documented somewhere so that those that care can comment and provide some feedback on my deisgn.
I found the new ec2ForPoets6 AMI and launched a new micro instance. I had terminated my previous instance but kept my elastic IP address, so I can use the same domain names for this new test. This should be accessible at opml.tedchoward.com. But now I must wait for the admin password to generate. I'll return after some coffee.
4/6/11; 7:47:48 AM - Coffee's done; server is up.
4/6/11; 7:48:54 AM - Filling out the six values. I wish there was a link to get my S3 keys, I always forget where to find them.
4/6/11; 7:52:19 AM - I clicked submit, I think it submitted but I didn't get any feedback; the form just reloaded.
4/6/11; 7:53:39 AM - It did work. I went to the homepage and logged in as admin.
4/6/11; 7:56:33 AM - enough for now, I'd better head in to the office.
Things I Like About Coding in the OPML Editor
Things I Don't Like About Coding in the OPML Editor
The other day I wrote a little about starting a new blog. I mentioned this blog wasn't so much about the content, that it was instead more about the technology powering it.
This whole experiment started when I made a feature request of the proprietor of these tools, Dave Winer. I discovered that this blog engine (scripting2) has built in support for live-blogging that publishes an rss feed with each update. Adam Curry chimed in that he uses this feature to collect links and notes that become the show notes for the No Agenda podcast. Once he's got everything in, he just changes it to a normal blog post. It's a pretty good workflow.
Back to my feature request. I use another of Dave's tools called Radio2. Radio2 is a microblogging tool (think Twitter without the corporate overlords). My thinking was that since Radio2 publishes a feed of links and notes, why couldn't that feed into the live-blog feature of Scripting2? So I made my request, and I got called out.
It was the classic, "You call yourself a hacker? Do it yourself!" Fair enouugh. Later, Dave provided some guidance and reference material on how I might go about this. After reading some more documentation and walking through some tutorials, I find myself very impressed with this piece of software.
Actually, I'm really surprised that I had never heard of Frontier before this.
I referred to the OPML editor before as a swiss army knife of an app. Now I know that it is. This is a technology that is very powerful and flexible. It's a hacker's tool. Had I known about this in the 90s, I wouldn't have been as hard on the Mac as I was. (I was a PC guy until 5 or so years ago.)
Anyway, I'm sitting down here now ready to start hacking something together, but first I felt like I should post something. I am very impressed with the core technology of the OPML editor. There are some annoyances about it. For one, it feels like an old piece of software. I believe it's open source, so maybe one day I'll feel adventurous enough to delve in and do some kernel hacking.
But first, I have a tool to write.
I'm in the process of building a new blog. In fact, you're looking at it right now. Why am I building a new blog? That's a question that I don't have a good answer for. I have an answer, I'm just not sure it's a good one.
A blog should be about the content, but this blog exists because of the technology that powers it. Perhaps this technology will be more condusive for writing which will cause me to produce more content. Then it will make better sense. But for right now, I'm just playing with a new tool.
There are three components to this blogging tool:
The Authoring Tool:
The Publishing Tool
The Content Host
The 'server' is on another machine. I'm posting from my laptop. Does this work?
3/22/11; 8:43:38 PM by TCH
I like the image uploader. That is slick.
3/22/11; 8:54:52 PM by TCH - Editing this post too!