Archive for July, 2007

Spring cleaning…

Saturday, July 28th, 2007

About once or so a year I get this urge to rearrange my office. Sometimes it’s a massive overhaul that includes rearranging furniture and computers. Today, it was just a minor reorientation of gear and cables.

The event usually starts with the complete and utter dissassembling of all computer and network equipment. This would seem to be a rather simple and unexciting task. In my case, it’s a bit more disconcerting due to my massive gadget / computer addiction. In my office I’ve got two Macbook Pro laptops, a mac mini, 10 external firewire hard drives (summing about 4TB of storage), 3 network switches, a router, a cable modem, a 5.1 surround sound speaker system, 2 1KVA UPSs, a networked dual HD TV tuner, two scanners, a label printer, a USB scale, a USB AM/FM radio, two wireless mice, two wireless keyboards, a network attached color laser printer, two wireless airports (one Extreme / 802.11n), a 30″ and 24″ Apple LCD monitors, and a cadre of chargers and other miscellany items. Please don’t rob my house. Did I mention the mean dogs and security system?

Anyway, all of these devices have a substantial number of wires that get massively tangled with the standard addition and removal of devices over time. To be exact, 16 wall warts, 12 standard plugs, 15 network cables, 12 firewire cables, 6 USB cables, and 5 speaker cables. Did I mention the 1/2″ of accumulated dust and dog hair?

So, the event begins with the disconnection of all devices without any thought to which wall wart goes to which device. The vacuum is next. Then comes the pondering. Pondering how I’m going to get everything back together in a functioning matter and wondering why in the heck I started this process in the first place. The silence is deafening. No whirs of fans from the computers and hard drives. Just silence – mocking me in my dusty despair.

The restoration process seems to take decades longer than the short time it took to disassemble. Slowly, pieces come back together. Internet and wireless first – I have to make the wife happy – who’s now peeved that she’s been without internet for the last hour. Four hours later, everything important is connected up again and I’m left with a pile of miscellaneous items on the floor that no longer have a home. Where did these three extra network cables and two firewire cables come from? And what’s with this orphan wall wart?

Oh well, another successful spring (summer) cleaning complete!

The Dinosaur

Saturday, July 21st, 2007

All the computer people use Macs or Linux now. Windows is for grandmas, like Macs used to be in the 90s. So not only does the desktop no longer matter, no one who cares about computers uses Microsoft’s anyway.

       Paul Graham

While I find this quote from Paul Graham’s diatribe on the death of Microsoft amusing, his description of the primary cause of said death is woefully off the mark. The webification of the world has led to a higher level of communication and dissemination of information (good), it has also led to mediocrity and inefficiency in application design and implementation. “Web 2.0″ doesn’t solve this problem. It just puts lipstick on the ugly pig of web applications.

I spent a number of years converting mainframe data analysis and data entry applications to the web. We were using the cutting edge technologies (for the time) and by the end were even dabbling with the now current Web 2.0 fad of AJAX. The fact of the matter was that we could never build as useful, fast, and efficient application as what the user’s experienced with the green screen (and no, we didn’t suck). Nothing in Web 2.0 will solve this problem. Sure, we could deliver some fancy graphics and drastically decrease the learning curve. We can give the users some analysis that they couldn’t get before. They also could access these applications easily from anywhere in the world. We just couldn’t give the user the experience that they needed through the browser (without relying on technologies like Java applets or ActiveX controls that start to break the mold and benefits of the browser anyway).

As I mentioned in my little novel on the iPhone, when I switched to the Mac a few years back, the primary reason was the excellent delivery of power and flexibility (a full UNIX/BSD undercarriage, excellent development libraries and tools) along with a best in field user experience (UI, controls, polish).

In Paul Graham’s analysis of the “Dinosaur” of Microsoft, he concludes that Microsoft’s failure is due to the rise of the mysterious Web 2.0 world (which really just means, fancy web pages that use AJAX – like Google’s web apps). Listen – the betterment of web applications is great. They make an absolutely aweful user experience at least palatable. But the fact of the matter is this – even the best Web 2.0 applications don’t even compare to a well designed and implemented “fat-client” application. Unless we throw away the concept of the browser and the restrictions it places on the developer, this problem will not go away.

We need to combine the massive amounts of information and data available via the Internet with the power and experience of the fat-client. Why must we continue to face the data with the “ugly pig” of the browser? The wonderful thing is, the solution exists, it’s just not getting the hype that Web 2.0 is getting. The answer is web services. While web services did experience a short life in the spotlight, it didn’t have the holding power of Web 2.0 . (It’s my honest opinion that the reason why these crappy web applications continue to be foisted upon us is because they are the only way that big corporations can make money – be it tools vendors (big application servers and all the doodads that go along with them) or the ad-driven providers of these massive, ugly web applications, etc). Web services provided the power and flexibility of the Internet so it can be leveraged in whatever fashion you would like. While Netflix Freak (which I also mentioned in my iPhone diatribe) isn’t the best experience in the world, it’s a good example of the concept. It exposes Netflix data and services via an actual application. The experience is good enough to justify the purchase of this app rather than use the free web pages that Netflix provides.

The fact of the matter is that web services combined with a high-quality fat-client application provides the best of both worlds. It’s my belief that the main reason people buy Macs is for this better experience. As the world becomes more internconnected through the power of the Internet, applications (and businesses) that don’t participate will likely go the way of the dinosaur. Please, let it not be the case that the only way this can be provided is through the browser – as my desire to use computers will be severely reduced. It doesn’t have to be – people need to demand more from their applications than the experience web apps can provide.

Personally, my goal in life is to build high-quality, awesome user experience applications for all of these people like myself that believe that experience matters. It’s my hope that enough of these people exist to make a living. The resurgence in the Mac is what gives me that hope.

Patent me baby!

Saturday, July 7th, 2007

My brother sent me an interesting article about intellectual property law in the U.S. from the Ludwig von Mises Institute (“the research and educational center of classical liberalism, libertarian political theory, and the Austrian School of economics”). Considering a substantial part of my day job is spent either working on pending technical patents, the inventing / filing of new patents, or concerning myself with making sure my development staff doesn’t infringe on anyone else’s patents (or copyrights or breaching licensing terms), this is of significant interest to me.

As someone with a number of pending patents, you would think I would be very protective of IP protection. I am not. I spend more of my time dealing with the stifling nature of bad, inappropriately granted patents than I do innovating. The patent office (which I visited just a few months back) has been way too permissive in the granting of patents and reminds me of the reason that the government bureaucracy stereotype exists.

Patents are often filed purely for defensive purposes than to protect from other’s infringement – to stave off the buzzards. Improperly granted patents are wielded as weapons of greedy system gamers who hold others hostage for the quick buck.

Corporations, who are in the best position to #1 file a bunch of patents and #2 work the system and lube the bureaucracy with expensive lawyers are able to completely stifle innovation and the creation of improved works – even if the corporations patent creation was purely defensive in nature (although I rarely give corporations the benefit of the doubt). Jeffrey Tucker suggests that IP protections should be done away with completely. I’m still trying to get my head around that – but honestly, I believe we would be better off with no protections than the failed system we have now. As my brother says, “it does seem to be one of those areas where the game isn’t worth the candle.”

What if we get rid of all of the government provided IP protections and handled this through licensing and contractual relationships?

For want of a real iPhone…

Saturday, July 7th, 2007

Someone for whom which I respect and follow on Twitter, Buzz Anderson, posted an interesting Tweet today (emphasis mine):

“Curioua (sic) how many of the hacks that come out of iPhoneDevCamp will be things that could only be done on the iPhone.”

I was planning on avoiding any reference to the iPhone as it’s been the consumption of the Internet for nearly 6 months, but since I’ve been questioned by practically every family member and friend about when I was getting one, I thought I should come clean publicly.

Yes – it’s true, gadget freak and Mac fanatic that I am, I Rich W of technical mind and flabby geek body do hereby declare my desire for the gadget of hype-extraordinaire… the iPhone.

Those who know me well are understandably confused by the fact that I’m declaring my desire, and not off in a corner already playing with said technological obsession.

The fact of the matter is while I do desire one, my desire has not reached a level to overcome some serious barriers to entry. Again, those who know me, know, that my barriers to technical gadgetry are generally very low. This is significant to the fact that I don’t currently own one.

So, what are those barriers? The biggest and ultimately deciding barrier is the cost vs. value proposition. In my pursuit for all things computer, cost doesn’t generally get in the way – but this isn’t purely because I have no consideration of the value of money (as my wife often believes). I’m not frugal when it comes to technology because I believe that these trappings have great value to me – both personally as well as part of my chosen career path. My most redeeming and marketable value is my skill with the electronic. This means researching, owning, and breathing gear, books on the nuances of software development and UNIX geekery, and having the latest and greatest tools.

The problem with the iPhone is not so much it’s cost, but it’s value. The comment from Buzz is at the heart of the matter. What the hackers are trying to “hack” is functionality that already exists on the crappy phone that I currently own. File system access? Check. Terminal / SSH access? Check. Unlocked? Check.

The biggest complaints of lack of functionality on the iPhone are things I actually *do* use my current phone for.

Mac fanatics (of which I consider myself one), counter back with the iPhone’s ease of use and revolutionary interface. You know what – they are right. This is exactly the reason I made the switch to Mac OS X a few years back.

The problem is this – the reason I could make that switch is because the ease of use and revolutionary interface – the experience – were coupled with an amazingly powerful and flexible platform (think BSD, UNIX, wonderful development platform for 3rd party development with Cocoa, etc). So far, the iPhone has only HALF of what is necessary for the perfect mobile platform.

So, we have an experience. We’re missing the power and flexibility. BUT!! Steve has an answer for us…

I sat about 20 rows from Steve Jobs at WWDC 2007 as he announced the “one last thing” for developers in regards to the iPhone. The crowd went wild. He said it would be “Sweet” as the same text flashed onto the big screen as he energized the masses. Every developer rose to edge of their seats in excitement with the expectation of an open invitation to develop cool and innovative applications for a likely revolutionary device. To provide solutions to the gaps that the provided applications would inevitably leave.

The next words out of Steve’s mouth fell like a lead balloon. Web 2.0. “You don’t even need to download an SDK”, he said. Our knight in shining armor’s Reality Distortion Field was wrenched from his body and what was left uncovered was a wrinkled snake oil salesman. You could hear the air suck from the room.

The bone that was thrown to solve the power and flexibility issue does neither and actually contradicts the one thing that they have done right – the experience.

The reason I use the Mac is because of the experience. The interface. The amazing applications provided by Apple with the OS and in the iLife suite. The wonderful 3rd party applications by people who care about usability and their customers. The amazing community of independent developers on the Mac who revel in designing and building the highest quality and innovative applications. You would never see this in the Windows world. Why? Windows is about bulk, commodity, lowest-common-denominator – the results? Mediocrity and unexciting software.

Telling people to use web pages – and foisting the lie that web pages can be as good as native applications – contradicts what separates the Mac from it’s competitors. I love this application called Netflix Freak on the Mac. It’s a native Mac application / wrapper around a bunch of web services and web pages at Netflix. I could use the web for Netflix to do everything it provides, but I would much prefer using a much more intuitive Mac application – so much so I paid for it. If the web provided such a profound and amazing experience, would we really need a Mac at all? Steve is contradicting the experience… but likely because he has nothing else to offer, not because he believes it (or so I hope).

Unfortunately, if web pages could actually solve the problems of power and flexibility – providing the functionality that doesn’t come built into the iPhone OS itself, we would at least be in a sustainable position. The problem is, it doesn’t. The web can only go so far. No matter how many people proclaim that you can do anything from a web page on the iPhone, you can’t. Sorry. Access to the underlying hardware is too necessary. Not to mention persistence. Want to write an app that captures some sound from the iPhone? Forget it. Want to ssh to a secure box that requires key authentication (with your key stored on the device)? Sorry. You may able to emulate some things with kludgy work-arounds, but most are impossible, and those that are possible will have a less than Mac-like experience.

So, the iPhone has a great experience with the functionality it provides. Anything else you may want – if even feasibly possible, will be provided through the unwashed masses of the web.

What can be done? Open up the iPhone. Provide SDKs similar in nature to the “real” Mac OS system that developers are already familiar with. You don’t even have to have it ready any time soon – just tell me that it’s being worked on and will be available in the future. Throw a bone to the developer community – the heartblood – the ecosystem that makes the Mac such a wonderful computer to use. I’m hoping that they have had this in the works all along but some idiot PR person said it would be best not to mention it.

Provide us the mechanism to make the iPhone whole. You’ll sell millions more than the millions you would have otherwise.

There are a laundry list of other issues with the iPhone. Most of which I can overlook. AT&T, crappy EDGE speeds / 2.5G technology, keyboard entry, fingerprints, high cost, SIM locked… These aren’t show-stoppers to me. Seriously.

Unfortunately, the desire for the latest Apple cutting-edge device and the envy of my peers hasn’t been enough to overcome what I consider to be a great failing in this device. The value vs cost proposition is still negative. Until then, I’ll do all the things that the iPhone currently does, and a bunch that it currently doesn’t, on my Windows Mobile Phone. I’ll be cursing the device while I do it, but at least I can…

Let’s hope that Apple remedies this inconsistency soon. The power to do so is solely in their hands.

UPDATE: So, I went down to the Apple store tonight and got an iPhone… ok, my mother-in-law got an iPhone. I just got an opportunity to spend a lot of time with one. I even transfered her old number for her and got it activated – took about 15 minutes total. This experience confirmed everything above – the device is nearly perfect – screen is beautiful, user experience amazing – but it’s still only halfway there. It even dispelled some of the negative things I’ve read about online – the keyboard is fine (and I have a full keyboard on my current phone), the fingerprints are not a problem, and the screen is immaculate. EDGE is not fast, but I found it to still be quite useable.

One thing I did note – for some portion of the populace (like my mother-in-law), the device is nearly complete. This in and of itself bodes well for lots of sales. That stated, the fact that it is sufficient for this consumer doesn’t deny the potential it would offer to both this class of consumer or to those who need more in a phone. A hot dog can be really good without mustard, ketchup, onions and cheese – but it isn’t quite complete! Also, the one thing I heard potential customers complain about twice was the suprise that they couldn’t use it on Verizon (a more popular carrier in this area). Also, they were sold out of 4GB iPhones but had plenty of 8GB iPhones. It’s so close… oh, so close.

Must Have Mac Apps…

Wednesday, July 4th, 2007

I know, everyone has one of these lists, but I would be remiss if I didn’t have my own…  

The difference is I have two lists…

List #1 – For Everyone

1. Quicksilver (free – absolute must have)
Configure Quicksilver to use Bezel interface and install useful plugins. Google Quicksilver and learn basic functionality. This thing is the most powerful productivity tool I’ve ever used. I can’t use a computer anymore without this. I learn something new with it every day.

2. Safari, Sherlock, Stickies, Mail, iChat, iCal, AddressBook, iTunes, Garageband, iMovie, iPhoto, Dashboard (part of OS)
Ok, these are all cool apps that come with OS X. Some of these you might not have a direct need, but you should check them out. They are part of the Mac experience.

3. NetNewsWire (free Lite version / commercial)
RSS Feed Reader. I have the pro version. I probably use this app more than anything else. The free “Lite” version still rocks.

4. Adium (free)
Multi-IM platformer… supports Yahoo and a bunch of others.

5. Camino (free)
The “Macified” version of Firefox. The browser to use when Safari doesn’t cut it. Uses the same rendering engine as Firefox.

6. Parallels (commercial)
This is how you run Windows XP. Or Ubuntu. Or anything else. I try to avoid this since I enjoy the Mac experience and the apps tailored to meet that experience. But when you don’t have a choice, it’s nice to have the ability.

7. NeoOffice (free)
The “Macified” version of OpenOffice. I used this exclusively for a while to see if I could wean myself off of all MS products. It’s still a tad too slow for my tastes, but it really can get the job done and be an MS Office replacement.

8. OmniGraffle (commercial)
This is the Visio replacement on the Mac. Tons of templates available. All of the diagrams that I’ve ever done here were done with OmniGraffle.

9. Twitterific (free)
Twitter client. If you’re into the latest social networking craze, this app rocks.

10. SuperDuper! (commercial)
Backup tool.

11. Transmission (free)
For all your legal torrent needs.

12. Handbrake (free)
Incredible media manipulation tool. Great way to move your video content from one format to another (or to your iPod, iPhone, or Apple TV).


List #2 – For Developers

1. MacPorts (free – absolute must have for the more technical folk)
This is an amazing package installer for all the Linux/Unix apps that you can imagine. Want to install NMap? Use MacPorts. Want the new version of Vi? Use MacPorts. Installing practically anything that’s not a GUI mac app? Use MacPorts. It handles dependencies, versions, everything. It’s as simple as typing – “sudo port install postresql”.

2. iTerm (free)
A slightly better replacement to the Terminal app that comes with OS X.

3. DbVisualizer (commercial)
If you need to work with a database, this is the tool you need.

4. TextMate (commercial)
The most powerful text editor I’ve ever used.

5. Fugu (free)
Most excellent SCP client. *THE* secure way to move files back and forth between Macs / Linux boxen.

6. VirtueDesktops (free)
If you like having multiple desktops (think Unix), this app rocks. This functionality will be supplanted with functionality built into the next version of the Mac OS (Leopard).

7. Xcode (comes with OS)
If you’re fortunate enough to be able to do Unix or Mac development, this is the IDE to use. Although I’ve been supplementing Xcode with TextMate. Xcode is pretty good – I won’t say it’s of the maturity of VisualStudio, but it’s still pretty good.