Technology

AT&T Suckage

AT&T’s network has improved dramatically in the last year or so.  I’ve been really happy with them lately.  So it pissed me off a little extra today when I called to get a number blocked and got this nonsense for a response: a non-English speaking person with a phone number one digit off from me continues to call and leave me long rambling voice mails, over and over and over.  So I called and asked to have the number blocked, and you know what they told me? They can’t do it.  They can’t block a number.

Except, they can. They can block the number, but only for $4.99 a month.

So I’m forced to have the phone ring endlessly or take their “recommended resolution.”  You know what that is? I can change my number.

Hey, AT&T? Unacceptable.

Dragon Dictation

Dragon Dictation for the iPhone is spectacular.  It works so well it constantly amazes me.  Even when I dictated my wife’s name – Jenn – it suggested “Jenn” as a possible alternative for “Jen.”  It frequently gets what I say right the first time, and often catches the wrong words in the tap-to-correct mode when it makes a mistake.

So I decided to sing into it and give it a run for its money.  I was singing Trey Anastasio’s “Host Across the Potomac,” whose chorus is “The time has come for desks and chairs to be elevated.“  I sang the line several times, annunciating a bit more with each line, and here are the results:

  • The time has come for desk send JS to be a little David
  • The time has come by best chance to be added day babe
  • The time has come for dad send chance to be added day again
  • The time has come for desk and chairs to be inundated

Gotta love it; four times sung, four totally different results.

The moral of the story is: Dragon is great for dictation, but not so much for transcribing singing.

First Thoughts on the iPad

Yesterday, after the Apple presentation “Come See Our Latest Creation,” geeks and bloggers worldwide took to their medium of choice to complain about the underwhelming iPad and its impending failure. I’ve seen all sorts of arguments for why this device will fail, but I’m convinced that this device is going to make them all red in the face, and soon.

The problem here, as is often the case, is that this device is not built for geeks. In truth, the iPhone isn’t either. But it’s an undeniable success, largely because it solves most of the problems people have with computing interfaces: single vs double click, right click vs left click, app install, the HFS, etc. And the iPad will be a huge success too. Let’s take a deeper look.

The biggest complaint heard round the world is the lack of multi-tasking. Let’s be straight about this: that’s a friggin’ software issue! It’s widely rumored that some sort of light multi-tasking is part of iPhone OS 4.0, we know the demo’ed iPad was running 3.2 beta. So it’s fair to expect that this could come in a future update. But if it doesn’t, it’s still fixable if Apple determines that lack thereof is a major weakness.

I’ve heard people complain about lack of Flash. I couldn’t care less about Flash. Flash is a total monkey on the shoulder of the internet. I have an iPhone, I pretty much never miss it. Every site that relies on Flash is a poorly designed site I don’t want to visit. Flash is NOT coming to iPhone OS. Here’s why, in a nutshell: there are no runtimes on the iPhone, Flash is a runtime; Apple supports only one native platform – through their own SDK; Flash is the most unstable part of OS X; and most importantly, Flash is quickly gaining the reputation of being the #1 source of vulnerabilities, which Apple does NOT want to inherit. Since it’s closed source and controlled by another company, it ain’t happening, and not only don’t I care, I bet most others don’t either. And the proof? Literally millions of sites have built iPhone specific versions of their sites. With Android and WebOS both sporting compatible Webkit-based browsers, those sites are getting to be “smartphone” type sites, but people are clearly hearing the word of the future: you can’t depend on a plugin for the core of your site.

Third largest complaint we hear is that people could just buy a laptop. Sure, you could, but the iPad is a supplement. I have a 24″ iMac and it sits in my office. I don’t always want to get up to check my email, browse Google Reader, or fool around on the web. It’s a great lightweight extension of my Mac. I don’t need a whole new desktop with a whole new library of data in iLife. I don’t want a big old laptop. With the laptop, I hold the keyboard portion, and inevitably, my kid comes up and pulls on the lid which bends back out of my way. It gets 4 hours of life if we’re lucky, so it’s always plugged in. It’s pretty hot, so it usually rests on a cushion or a laptop pillow. The iPad is light, one piece that can be aligned to my liking, and has a much better battery. It’s a near perfect supplement to my current computer, because it works as an EXTENSION of my current Mac, not in addition to.

Next up is the bezel. Yes, people are complaining about the border around the screen. Apparently, these ninnies would prefer to grip their movie player with their fingers overlapping the content. This one is too stupid to address seriously.

I’m sad to say that the biggest yammering I’ve heard around town is that “Apple fanboys will slurp this up”, as if anyone who wants one is too lovedrunk to think clearly. This arrogant tenant is especially silly given that the iPhone is pretty much an iPad nano plus a phone. If you just wanted a phone, there are much better choices than the iPhone. Flip phones last for days or weeks without a charge and certainly connect more reliably, but people wanted iPhones. Does this sentiment extend to ALL of them? I suppose the 21 million active iPhone users are all blind Apple loyalists as well?

Some people have said, based on real experience, that this is a 1.0 product, they’ll wait for the revision. But to me, this one is just ignoring history. The old computer catch 22 is “this will be outdated in 6 months.” That’s still true. The next revision will always be better. But the iPad is not a rev 1 product, it’s a rev 4 product. It’s an evolution of the iPhone. Yes, it has a new chip, but so did the 3Gs. The 3G had the first 3G antenna. Every rev has a first generation of something, but this is obviously a revision (maybe a big one, but still a point release) of existing hardware.

HDMI out? Seriously? Is there ANY “average joe” who’s going to use this? I think a TV out connector is probably fine for most that require the iPad to be a portable movie player. You have to remember that Apple doesn’t – and has no history of – catering to geeks when they can cater to the masses. The device is a device “for everyone”, and that usually means leading edge technologies are not included and geeks are disappointed.

I’ve heard quite a few people sharing how a netbook is so much cheaper, yadda yadda yadda. Puh-lease. But these are facts: virtually every netbook I’ve used is SLOW SLOW SLOW. They almost always run either XP – which is not only old and clumsy on a tiny screen, but has a sordid history of becoming slow and broken for most users, or Ubuntu, which is a total mystery to the average guy, and also has an even more complex install system. Netbooks have tiny screens and ALL of the same problems and confusions that traditional computers have had when it comes to most users. My mother still names documents with additional underscores so they move to the front of the folder list, and she has no idea where she saves anything… My Docs, Desktop, root of C, etc. I see this all the time, people can’t manage a traditional install, that’s why they need geeks. Except… they don’t with the iPhone, and they won’t with the iPad. The netbook is a joke compared to an iPad. You show me an HP Slate, I’ll show you an LG Voyager or some other would be “iPhone Killer”. Almost everyone’s response to the iPad is already an also-ran, because it will most likely be based on Windows or Linux, and it will almost certainly fail where the iPhone OS has already succeeded. I think the only hope here is that Android evolves over the next few years at this continued rapid pace.

Another complaint being tossed around is the lack of a physical keyboard. Are we seriously still addressing this? Did the lack of physical keyboard stop the iPhone from selling something like 75 million units? No. Because this device is all about touch, and the virtual keyboard is going to be just fine, just like it is on the iPhone for the vast majority of people who use it. After 20 minutes of using the iPhone keyboard, I was comfortable and much more accurate. I’m sure the iPad will be the same way. Yes, software like Pages seems odd without a keyboard. I suspect it’s more for viewing and quick editing than it is for full creation. It’s a supplementary device, not a full on computer. Non-issue.

There are definitely some legitimate complaints against the iPad.

  1. At 1024×768, the resolution, and aspect ratio, leave me wanting more. Widescreen videos will require zoom or letterboxing, which means I lose content or real estate. Boo.
  2. The name iPad is horrible. If I have an accent, iPod and iPad might sound the same.
  3. Still no wireless syncing!?
  4. No SD slot for media? The “shared directory” is a nice concept, it could show up like the camera does as mountable file storage. I hope it’s writable, but I bet it’s not. Native SD slot would have been nice.
  5. No camera. I’m not sure I really care about a camera, per se, but I certainly think the ability to video chat would have been an incredible sales point for this device.
  6. Lack of format variety. I can’t believe Apple can’t add support for AVIs and MPGs to the iPhone, iPad, AppleTV, and iTunes. Also, I don’t get why Apple doesn’t just add FLAC support to iTunes.

The biggest and most valid complaint is that once again, we’re locked into the arbitrary and closed App Store. This is, by far and away, the most legitimate complaint. But, we live in a capitalist world, and the best of breed will succeed. People are generally okay with this. Once again, the masses have accepted something less than stellar. People will jailbreak their iPad the same way we’ve jailbroken our iPhones, and once again, we’ll be a small group in a large pool of users. This practice by Apple is horrible, and I predict it will eventually lead to a Microsoft IE style lawsuit that requires Apple to open up not just the App Store, but maybe even the iTunes Store as a whole to competition (meaning a separate store on the device that can manage apps, or another way to get apps on the phone without going through Apple).

That said, I’ll likely be getting an iPad at some point. It’s a fantastic complement to the big iMac in another room, an extension of my data, and a great surfing device. The 16GB is plenty for me now (The 64 GB would cover my entire MP3 and iPhoto libraries, but not with enough growth space, so the 128 may be the magic point for me), but I’ll probably want the 3G just so the device isn’t confined to my living room 100% of the time.

This is all my opinion. No question about that. But some of it is steeped in fact. Geeks looking for a geek friendly device were bound to be let down. Those suggesting that the iPad can’t meet someone’s needs unless they are drinking the Apple Kool-Aid are high on their own pompousness. And those who don’t want one, well.. they’re entitled to their own opinion and can pass on this device. But those who suggest this is going to be a failure… check back with me in 18 months. My money is that I’ll be the one saying “Toldja so.”

Rethinking Robocop

Yesterday, during commercial breaks of the Saints/Vikings NFC championship game, I was flipping over to watch bits of Robocop 2. When I was younger, I remember my friends would gather to watch Robocop and were very excited when the sequel was announced. Watching it now, however, I see how bad that movie was. Or was it?

It struck me how old the entire thing felt, and how silly the technology was. It got me thinking about a franchise reboot, and then it got me thinking about what Robocop would be today, if he were re-envisioned.

The first thing I noticed is that Robocop is slow and deliberate, and when his “joints” move, they produce a hydraulic buzzing sound. So we’ll need him to be smoother in movement, and without announcing his presence. He’ll need to be significantly lighter on his feet than the slow and heavy-stepping original.

The original sported an eye plate, that stretched only a centimeter in height and a few inches in wrap. That will need to change to be supplemented by smaller cameras that can give Robocop a 360 degree view of his surroundings.

Since Robocop was severely damaged after being caught in a magnet, we’ll need a better metal. I propose new Robocop be constructed of a smarter, so-called “space age” metal such as titanium, tungsten, or magnesium.

The original Robocop recorded interaction on an in-body video camera, presumably storing it digitally, which was pretty amazing for the 1987. New Robocop will not only record interaction to a bank of flash memory or some sort of SSD array, but he will be equipped with Wifi and some sort of cellular connection like LTE or WiMax (he’ll be in a big city, so we can presume coverage). He will transmit all of his data periodically, so he won’t need to storage terabytes of memory in-body.

New Robocop will not have exposed skin (or internal mechanics). Period.

Original Robocop stored his gun in his leg. This is an outdated concept based on a concept that looked cool in the 80’s. Today’s Robocop will store multiple weapons throughout his body, small rubber-bullet-like projectiles perhaps in his forearm. We can equip his chest or fingers with mace or tear gas. If he requires an actual gun, it will be not be trigger deployed. It will be activated only when connected to Robocop, and very likely controlled via WifiDirect or Bluetooth. There’s simply no good reason to rely on old fashion triggers that can be exploited. In the event of system malfunction, a manual weapon will be present, but since Robocop shouldn’t be relying on his gun most of the time, he will have a nightstick of some sort.

New Robocop should not have an over-synthesized voice.

One of the constant flaws we saw in Robocop 2, as they attempted to build a second Robocop, was the lack of control they had over the machine. We fix this by running the Robocop program on a Linux-based system and jailing/chrooting it. New Robocop can do what he wants, but if he gets out of hand, we still have control. We allow remote SSH logins from authorized IPs, and sudo up to root guaranteeing ourselves a remote shutdown option. No sloppy infrared remote control here, just pure IP access.

Once Robocop is a computer, we’ll need a few more accommodations, because that becomes the chief point of vulnerability. We’ll need pretty sophisticated software here to prevent someone from hacking into Robocop, but that’s of course the plot of the movie, I’d suggest: someone hacks into Robocop remotely and alters the programming, and despite Robocop’s knowledge that he’s been compromised, he’s unable to prevent his own actions since he’s jailed into a subdirectory. The twist at the end, I’d suppose, is that some hot-shot teenage hacker finds an exploit and jailbreaks Robocop remotely, thereby giving Robocop the ability to control himself, at which point, he pretends to be following orders, but instead, tracks down the guy controlling him.  Right before his death, the guy should shout something like “But… I’m your masterrrrrrrrrrrrrr….!

One of the unaddressed issues I saw with the robotic cops in the movie was the perpetual need for a lubricant like oil. It seems submersion in water would simply short out all of these solutions. So I’ll reiterate the lack of exposed skin and mechanics, and we’ll spend some time making our Robocop water resistant and reuse some sort of internally stored WD-40-like fluid, which is also “green.”   It would be a shame to build a billion dollar robocop only to have him quashed by a bucket of water.

I’d like to see Robocop be a little less terrifying to the average citizen.  Robocop ought to represent something, and cops are supposed to be there to protect and serve the average citizen, not just to get the bad guys.   So Robocop ought not be stomping around the police station and calling people “punk,” nor should he be be marching into an arcade, smarmily offering “Isn’t today a school day?” Nein, Robocop should be there for citizens, first and foremost.  We’ll disable his sarcasm and “witty quip” programs.   Robocop should offer an air of protection, not a fear he’ll malfunction.

Lastly, if I’m going to invest a billion into a Robocop, I think I might put him in something a touch nicer than an old, banged up Ford Taurus.

Javascript Ninja!

Thank you, John Resig. Because of you, I’m learning about Javascript the way Andy Gadiel taught me HTML. In the days before server-side scripting, I learned my first bits of HTML largely by viewing the source of Andy Gadiel’s Phish page (which, for some reason, remains largely unchanged since ~1997).  By reading Gadiel’s HTML, I slowly pieced together my own understanding of HTML.  It was Joe Burns’ fantastic Javascript Goodies that first had me dipping my n00b fingers into client side active scripting.  I picked up CSS all over the web.

Resig’s jQuery is so powerful and so easy that even with basic knowledge of CSS and Javascript, anyone can be a virtual scripting master.  It’s so easy, that I’ve slacked on learning about javascript objects, inheritance, closures, anonymous functions, prototypes, and scores of  other Javascript staples that I should’ve long since mastered.   I just discovered John’s new web app, cleverly titled “Learning Advanced Javascript“, and so far, so good!

I wrote this myself and understand why it works, which is much more than I could say yesterday.

var ninja = {
	walk: function(steps,turn) {
		toDo = 'Walking '+steps+' steps forward, then turning '+turn;
		return this;
	  },
	star: function(action,distance) {
		toDo = toDo+' '+action+'ing star '+distance+' feet'; return this;
	  },
	then: function() {
		toDo = toDo+', then '; return this;
	},
	doIt: function() {
		log(toDo);
	}
}
ninja.walk('7','south').then().star('throw','50').doIt();

Output:

> Walking 7 steps forward, then turning south, then throwing star 50 feet

It’s clear to me – and has been for some time – that the future of the web, for better or for worse, rests heavily on the mighty shoulders of client side scripting.   Building on powerful, extensible frameworks like jQuery and MooTools, the next generation of web apps is sure to compete with the desktop.  The ability to understand how to utilize the frameworks when necessary and hack together powerful scriptlets for other purposes seems essential to success in the future web. I know I’ll be investing in “Secrets of a Javascript Ninja” just as a result of this tutorial.

Vista…WTF?!

I’ve kind of come around on Vista.  Although it was SO VERY painful to set up and get everything installed, that was long ago, most programs are now compatible, and I’ve come to appreciate some of the subtleties of the OS.  While there are some pieces that are just the pinnacle of stupidity (like the file open dialog), most pieces just make XP look so aged and cartoony in comparison.  As a result, I’m on Vista at work until I have 7 in hand.  But this week, I received an error that just makes me laugh.  What’s worse is that this problem can found all over Google, lots of people get it, and no one has a definitive fix.  I rarely use this meme, but this is an OS #FAIL.


Vista-Service-Pack

click the picture for a larger version

Message To Apple Fanboys From Jason Calacanis

Get the Flash Player to see the wordTube Media Player.

It’s MY iPhone, Apple!

Why is it that I can connect my iPhone to my work computer and stream music over the air from my home computer to my speakers at work and be legit, but I can’t have my iPhone look like this without breaking the iPhone terms of service? It’s my phone, Apple. Let me control it.
iPhone OS Snow Leopard Theme

How Apple Can Win Me Back

At Kroc’s request, I’m compiling a list of what Apple will have to do to win me back.  It’s not a long list, and it may not be exhaustive (meaning I may arbitrarily add more to it), but here goes:

  1. It’s time to regulate App Store approval process.  Consistency and transparency needs to be key.  I’m a web developer and I participate in the tech community.  To see Cocoa developers get screwed after spending all their time, energy, and capital writing an app only to be unceremoniously, silently rejected with no explanation is to see pure evil.  This is pretty much my main request.
  2. However, I’m tired of the iPhone being shackled.  Unlike Eugenia, I don’t have specific requests like enabling EDGE on Pay-As-You-Go phones, but I’m tired of the iPhone being a closed platform.  I do not believe in “it’s Apple’s playground, if you don’t like it, go somewhere else.”  It’s my device. I bought it, I own it.  I want to theme my phone.  I want to run background apps.  And I sure as hell don’t need Apple telling me which apps are not suitable for me to run (outside of those that actually do harm to my phone and/or me, e.g. malware, spyware). It’s time to open the private APIs to the public, duplicate functionality or not.

That’s it.  I maintain that OS X is the best desktop environment today.  I *love* my Mac and I love how integrated and “at home” I feel with it.  I don’t want to give it up.  I certainly don’t want to go back to Vista (although 7 is nice so far) or start running Ubuntu or Fedora on my iMac.

I think OS X/iLife and the iTunes/iPhone combos are awesome.    I think the Cocoa frameworks are just genius, and they inspire programmers to write beautiful and slick applications rapidly.  I want Apple to do the right thing.

Just for comparison, I have nothing but warm feelings about Amazon.com, despite some issues people have had with them. See how Jeff Bezos stepped up and took personal responsibility for a recent fiasco.  That’s how a CEO should behave.  A big company I respect.  I trust and respect Google.  But Apple leaves me with a metallic taste in my mouth that I know isn’t good.

I hope things change, but I’m not holding my breath.  Then again, stranger things have happened.

I’m Kicking the Apple Habit

I just sent this letter to Apple via their feedback form. Those of you that know me know that this is a big deal for me.

I am the owner of many generations of Apple products. From iBooks to Macbook Pros, Macbooks to multiple iMacs, multiple Airport Extremes, Airport Express, AppleTV, every generation of iPhone, three iPods, iWork, iLife, OS X and much more, we’ve owned and paid for it all. I also rely heavily on the incredibly applications that run on OS X, gorgeous and useful as ever.

I have personally convinced at least 10 people to switch to AT&T to the iPhone. I’ve convinced dozens to switch from PC to Mac. I can provide names if prompted.

However, given the treatment of iPhone app developers recently, from Darkslide[1] to Google[2] to the recent Google Voice fiasco[3][4], and the unnecessary lockdown of all of your platforms, I was forced not only to advocate for the increasing wave of jailbreakers, but also to make a startling decision: I’m kicking the Apple habit.

Your treatment of developers sucks. Your treatment of your users sucks. Your treatment of the general public sucks. I’m over it. I’m not buying any more of your products until I see a change. You don’t deserve your customers respect anymore. You still make the best products, but I’m not spending, or encouraging anyone else to spend, another dime with your company until you respect your ecosystem.

OS X only exists because quality developers wrote XNU, Darwin, and BSD. You benefit from that. If those people were treated the way you treat your developers, you’d have no core platform.

I’m anxiously awaiting your next move.

[1] http://speirs.org/2008/09/12/app-store-im-out/
[2] http://www.osnews.com/story/21903/Apple_Rejects_Official_Google_Voice_iPhone_App
[3] http://www.seankovacs.com/index.php/2009/07/gv-mobile-is-getting-pulled-from-app-store/
[4] http://www.riverturn.com/blog/?p=455