Mobile Apps and I Wish I Was Anthony Bourdain

I wish I was the Anthony Bourdain of technology. William Gibson came close with No Maps for These Territories but it lacked the right vibe. I think it was because of Bono. Anyway, a tech tourist show with a post modern host is something I would love to do when I retire. Drink beer with project managers, wear dark sunglasses, smoke their clove cigarettes and just jam out with the platform. Who cares if it crashes? Shitty local bands provide the backdrop in the smoke filled bars as we just brainstorm cool stuff over the local deep fried dish.

We’re at the cusp of a new revolution, we’re at the cusp of the old revolution. Sun Microsystems said 10 years ago “the network is the computer”. We saw the tadpole notebook die. “Who would run UNIX on a laptop?”

Who would run Linux on a cellphone?

Solaris and Linux are old news, crushed under the terribly irony of their own success and android is really the dragon risen. Solaris did oracle so well that oracle bought it and made it from a wonderful garden into a toaster. Linux continues on as a desktop, or a server, but Nokia championing a full Linux on a phone never materialized with any success. Google came in the night and hammered it into a legitimate mobile platform by throwing out the trappings of the OS while keeping the enterprise level Java ideas (something lost on Apple) and what do we have now?

We have a mobile app delivery platform. Mark my words, this is huge. It’s so big Ubuntu has been pretending it was their idea and completely missed the boat. Protip guys – your desktop browser doesn’t belong on a tablet. But who’s to say thats not going to change into a mobile browser through theming? Who knows what goes on in their heads at all?

The new internet isn’t going to be made from webpages, it’s going to be made from applications. There’s two particular forces here which caused this: HTML is junk and the OS always got in the way. Cellphones, today, aren’t that different from enthusiast computers of yesteryear. They play games, they capture video, they play music, they take pictures and they do it wirelessly. Think about that for a moment. To make a computer do this, you need a webcam, you need a graphics card, you need fast storage and you need sound. The computers biggest problem was that it didn’t come with these things. Windows always insisted it needed updates, driver disks, etc. The problem was always the OS. Apple ended up going way over the mark and also branded the heck out of an OS. People line up around the block for it, it’s completely bizarre to me. Apple too misses the mark, applications you purchase on your device don’t work on your computer. In a lot of ways apple did these things, but I also think they priced themselves back into the enthusiast market. There’s no reason to use them when only a small minority of people have these features. We were missing the important part of the puzzle – Cheap, Complex Devices.

You get cellphones which do these things for free. Sign a two year contract, pick the carrying case color of your choice and out the door you go. It plays video. It captures video. It’s a camera. Its an audio recorder, a music player, and it surfs the web, all wirelessly.

Why doesn’t it do this on the web? HTML.

HTML has made awesome strides over the years for client side execution, the problem is that the clients have made great strides over the years not to be the executors. Phones are still ARM9, 1ghz (if you’re lucky) devices with processors the size of your thumbnail. While things like terga have gone a long way towards specific work units (nVidia’s GPU, etc), there’s no hardware accelerator for HTML. It just doesn’t exist. Dalvik, of course, is hardware accelerated. See what google did there? Instead of using a presentation language for applications and trying to accelerate that, full well knowing MS was going to stomp them to death with IE, they accelerated the language you can write your presentation layer in. Suddenly, the camera, the audio, the recorder, and the phone don’t require a stack of driver disks. They have very elegantly end-run the presentation problem by making the OS go away. They catered to the idea that no-one cares what their phone runs. A phone is a phone the same way a TV is a TV or a car is a car, except when your TV can play on your phone because of the netflix app and your car gets it’s maps from google via bluetooth. People don’t care, per se. It’s a phone. Netflix is a neat trick. Netflix keeps your eyes on the phone. How many ads does Netflix run? Zero, you pay for it. How many ads does the CNN app run? A lot. You pay for the service with ads like TV, but instead of channels now you have apps.

This is uninspired, insipid horseshit. It doesn’t change how we do things, it merely reassigns TV channels to applications. Instead of tuning to the channel, you click a button. All that’s done is make the phone into the remote control and the TV, or you could think of it as a TV without a remote control. It’s boring. It’s the thing legislation is made of to “protect the rights of consumers” because the MPAA and the RIAA don’t get it, they don’t come up with new ideas.

Here’s an idea, take the device and do something with it. Make an Autozone app which lets you pay for a mechanic to connect to your phones camera so you can show him where you’re stuck on the project. They can sell you special phone soap when you’re done because you didn’t wash your filthy hands before touching the display. Make a social network app which lets you define public content you will share with people in an area, then walk around the building with your GPS on to define an area people will exchange info with you. Enjoy the particular vibe of a movie or song? Why not a music player which correlates where people hang out to enjoy the music? People who list their activities as “sports” and listen to upbeat jazz while running a route may have a route which attracts amateur athletes who don’t enjoy complex terrain but want to run for fitness outside.

What we have driving this is association. When we coalesce these different technologies into a single platform, we need to realize that they stop being technologies unto themselves and they can be used in a complimentary fashion. At very least I am surprised that banks haven’t set up internet tellers. Not only do people enjoy talking to tellers, etc face to face but in terms of verifying the security of the account, seeing the customer (and having a picture of them) is worth the security alone. The customer feels like the bank takes a personal stake in them, the queue can be managed by the application instead of standing in line at the bank and the bank has strong identity verification. Phones can scan barcodes too, have them hold their drivers license up to the camera to be scanned for another layer of security just in case they’re some sort of Max Headroom puppet.

The internet presentation is dead, its bones pave the way for the new internet presentation. The future always feels like it’s right around the corner.

Steve Jobs on Android

truly then has the android come into it’s own when Apple takes a note. Much in the same way Microsoft shot themselves in the foot with free press, Jobs really did the wrong thing by bringing attention to it.

Two points – The UI. I’m not worried about the UI. Microsoft phones have had a different UI for each release and it hasn’t stopped them. Blackberry too, for the most part, has had a new UI release for each phone, although they at least try to keep a standard look and feel for where things are even if the icons are different. Why then is the UI important? Its what people expect to see for making a phone stand out. You go into a cellphone store and they have running demo phones just so that you can mess with the UI. More on the point, the Google App Store doesn’t hurt anyone over the UI experience because the user will buy something they’re comfortable with UI wise while getting access to the app store. Apps which won’t run on your device (IE: 2.2 apps) don’t get presented. But this is an argument against Apple – who’s UI is absolutely the same for each device. It’s all their eggs in one basket – either you really like the UI and you’ll purchase a phone with that look and feel, or you hate the UI and you’ll shop elsewhere. My take on this argument is that it was a straw man from the beginning. Apple doesn’t let other companies do integration, so then when Jobs says “The user has to do the integration on android” – he’s being dishonest. The user can shop around for an android which fits their UI expectations – but if the user buys an apple phone and wants to change the UI, s/he really does have to do the UI integration. Incidentally the app “homeswitcher” in the market will let you do all that pesky UI integration with one click. This seems to be a popular talking point, enough that I felt a need to discuss it earlier.

The store(s) – I think the rant here was because Apple is afraid that developers will go for greener pastures, and while it was only Apple and Google competing, Apple only needed to sweeten the deal to keep developers in the apple store. There’s nothing to keep the existing developers on one platform or another. The Angry Birds guy is a good example of this – he’s well entrenched in the apple store and he’s probably made all the sales he’s ever going to make from that application. He’s got every reason to move despite less favorable terms elsewhere because he’s already hit market saturation unless there’s new users on the device. However with the apple ipad failing to offer up any new experience aside of being a “larger iphone” (and not that large at that), it’ll simply fail to entice people to purchase software again. There’s really no new users (unless people are somehow swayed by Jobs’s speech). What Apple is worried about is that new developers will see the competition from the other stores and the terms which are basically bidding wars and maybe they’ll get the next Killer App out on the android before it comes to the IOS platform. Not every indy developer is going to get titles like gameloft, who arguably don’t need the app store because they’re getting promotional tie-ins. However the new developers are going to look at the google store, the apple store, the samsung store, the verizon store and the at&t store and they’ll probably write off apple immediately. Why? Because they can code for one platform (android 2.1, android 2.2, etc) and pick which store is giving them the best terms at the moment. Is the verizon store likely to be open to t-mobile customers? Maybe. The Samsung store absolutely is open across carriers. If Verizon is serious about running a music/video/games store, they’ll make the verizon store app available in the marketplace.

Apple, at this point, is now going through the gentrification process. If I were Jobs, I would be looking for a new look and feel for IOS to inject some fresh life into the platform.

Oracle Sues Google – Software as a Tollbooth

I originally wrote this as a mail to my boss encouraging him to get off of java and start looking at HTML 5. The technical parts are glossed over but explained enough to make the point. I republished it here because I think it will generate discussion, especially among the SAP people, etc.

http://news.cnet.com/8301-30684_3-20013546-265.html <- this is tough to get your head around the “why” until you consider how the android (and thus the cutting edge of java) works.

Oracle has decided to become a patent troll as far as Java is concerned. Oracle’s moving towards an oracle box as a literal thing – and I think the trend here is for companies to get away from IP (intellectual property) because of how badly MP3s and whatnot have eroded case law. The music industry has problems prosecuting pirates, the movie industry has problems prosecuting pirates, and as we move into the brave new cloud world, I think software companies will go the same way. The mainframe is dead. Long live the mainframe.

So we’re back to the pressed CD, the pressed DVD (how terrible is it we’re advertising “includes digital copy” on the media, Disney), and now Oracle is making Oracle Boxes and suing google using phones as a fathom of piracy. I would say “oh but everything is going to be a VM now” makes sense for abandoning hardware and virtualizing the stack except that an OS is a complicated thing, and a company which makes databases isn’t into the business of making SCSI card drivers. Drivers aren’t Oracles game and I don’t think this is particularly about Java and I think it’s much more about virtual machine technology. Google is the cloud and frankly it’s a better cloud than the VMWare-ish cloud of pretending to be hardware. If you’re looking to make a literal box you install on your network and become a toll booth of sorts, it would behoove you to attack the cloud. Oracle is going to take a shot at google over how virtual machines work.

Where google ran afoul of Sun and Oracle is that each android runs a JVM for each process on the box, so any process has extremely strict controls of what it can and cannot do to the phone (Linux 2.6.26). Sun tried to patent “the network is the computer” and android is the realization of that – each phone can send a JVM-generated work-unit back to google to do Big Work and because it’s a JVM, it doesn’t really care where it runs or how many resources it has. Oracles game seems to be selling you an oracle box as a box, or selling you oracle-as-a-cloud, but either way you’re installing an oracle connector and talking to a big anonymous thing rather than installing oracle as a service somewhere. You can send your work to your oracle-box or you can send your work to oracle, but either way you’re paying the toll to use it. Google’s doing the same thing – but they hide their subscription charges in the carriers bill. Oracle looks at this and says “If we’re going to be the turnpike of the database world, lets try to become the turnpike of the cloud!”

The fallout from this is that Java is now going to have the albatross that Oracle can cry foul on how you use it. What makes me fairly sure of this whole thing is that Apple does a lot of the same with the iphone, except for sharing the work units. It’s pretty obvious that since the iphone runs IOS but keeps it’s work-units to itself, it’s not running afoul of any VM patents in any form. Now would be a good time to start pushing HTML 5 for what we do. Runs in IIS! Doesn’t need Apache/Tomcat on Windows! Won’t be sued into oblivion!

The linux community is pointing out that Google very obviously built their JVM from the ground up and it therefor doesn’t infringe.

Ruminations on the Smart Phone

I’ve got a fairly large bone to pick with the smartphone as a device. I started out with an MDA 1 from HTC from TMobile running Windows Mobile 3 as my first “real” smartphone. I had a WinCE device previously but it wasn’t a phone. There’s an important distinction here – phones are different from tablets and pocket PCs and such because the task of being a phone has to have immediate preemption no matter what else the device might be doing. This makes any offering on any device consider the idea that the UI must be streamlined enough to be a phone first, and whatever else you want to do secondly. Anyway, this was back when there was enough standard issue C in a device my skills were at least relevant. Me and Tmobile got sort of buddy buddy over in their forums which, while plagued with spammers and me-toos, are fairly open in terms of what’s discussable. Nowadays things like rooting and whatnot come with big tags warning you it’ll void your warranty, but I think anyone who’s afraid of voiding their warranty or service plan is simply going to run over the phone with the car and claim it was an accident. Back then (2003-ish) it was really open to discussion and the company was simply fascinated with the idea that users might actually do something with the phone and not hardware engineers like HTC or “developers” like MS.

I never got into palm. Taking the paragraph above into consideration, maybe palm had the better idea. The phone does one thing at once and therefor when the phone comes up, it knows exactly who to kill to get resources. Every palm OS was different while Windows Mobile, while quirky, was mostly the same thing. Windows Mobile was Windows Mobile, Win CE was Win CE, and then Windows Mobile 5 came out and that was the breakpoint for an entirely new thing. I’m sure people will disagree with me. I felt the iphone wasn’t open enough. When I talk about open my specific rub for iphone development is the threading model. Mysteriously the iphone is limited to four threads per app. I’m not sure if they ever fixed this, but it’s just a bizarre requirement. I have a deep respect for anyone willing to play ball with Apple as a result. The idea is downright strange from a computing perspective and MS more recently did it with the desktop OS. I think it speaks volumes for what level of bullshit the users are willing to put up with and I think that the slow adoption of Windows 7 and the nonadoption of Vista speak volumes for the user experience towards a device. On a smartphone you might not notice the four threads requirement. On a table PC you probably will because the tablet never escaped the PC part of it’s name. On a desktop you will notice it entirely, which I think is why Apple is doing well and will continue to do well. The phone looks like the desktop, they run similar apps. The apple tablet runs the phone portion of the OS and apple users are more comfortable with the idea of a device rather than some shade of PC. Microsoft will always be microsoft and branded itself as a business company after the war with Lotus and therefor MS users expect MS products to be shades of a PC. This is why windows mobile 7 is going to flop. Is it technically astute? Yes. It fixes a lot of the issues Windows previous had getting smaller. Does it look like a business device? No. It looks like a Nokia product. Its not speaking to the MS Target Market. For the same reason Blackberry can’t rebrand itself (aside of the fact that BEX is garbage) as anything more than a business device, attempts by MS to be a non-business device probably aren’t going to fly. Your kids don’t give a shit about Microsoft, but they know the apple logo by heart.

This article cares to disagree. They think a reboot is what’s needed and they pick the bone that everything looks like an iphone. I personally don’t think that everything looks like the iphone, I think we’re stuck in the WIMP (Windows, Icons, Menus, Pointers) UI if we realize it or not. Even if you dress something up with new colors or a cartoony look, we’re generally putting out icons in a grid, and we like it. The list UI is available on android, but it tends to fall by the wayside with every casual user I’ve talked to once they install their first application. Cellphones get lists. Smartphones get icons. Cellphones use keypad input. Smartphones have a keyboard. It’s only natural then that we go back to the XEROX PARC idea of icons in a grid. It’s not a MS thing, it’s not an apple thing, it’s not even a Linux thing, it goes all the way back to where we get the X in X-Windows from – XEROX’s UI. We haven’t come up with anything better. We’re sort of getting there, the new widget thing MS is doing with Windows Mobile is sort of cool, but it’s basically a question of “How do I put six windows on the screen and keep them readable”? That’s what the widgets are – they’re very small windows. It really makes me nostalgic for Window Maker. See the little widgets on the right? Each one of those is telling you something while still being about the same as the widgets on any of these smart phones. By the way, that screenshot is from 2001, back when the matrix was cool.

Has the UI changed? No.

We’re still using little postage stamp sized windows on a little envelope sized screen. We might tie into “big boy” services like office, but fundamentally people’s model of the smart phone is that it’s a small computer. The google phones do well because they avoid this idea, the apple phones do well because their users have already seen this on an iPod, and the MS Phones will fail utterly because the UI doesn’t scream “small computer”. MS’s zune is dead. The XBOX doesn’t really talk to anything without a total PITA setup process involving running back and forth between the XBOX and a computer connected to the web, and the whole thing is conspicuously missing a USB cable. Mac people don’t have problems sharing media or networking because it plugs in over USB. Connect the cable, get to work. MS still wants to run the network (not sure why) and that’s above the interest level of the average home user. Bits and pieces of the MS Empire may do well, but frankly the Windows Mobile 7 phone simply isn’t what people expect at this point out of a smart phone.

Where’s the innovation? “You’ve done an awful lot of complaining, Knarr, and very little fixing!”

Here’s the UI of the future, folks, you read it here first. The home screen is going to work on the entire idea that phones are now messaging devices. The last complex application here is going to be the webbrowser, simply because the web was built for PCs and people expect Frontierville on Facebook to look just like it does on their PC. The idea of a “mobile version” is just crap. People hate it. You fire up frontierville on your phone and you want to plant some damned corn, you don’t want to see “FACEBOOK LITE”. The UI of the future is going to be the home screen being the most immediate task. Got a message? The home screen will look like an envelope. You can flip through envelopes to see a series of contacts who messaged you like a rolodex, you click on it to open it and you can read the messages like sheafs of paper or, gasp, individual e-mails! Got a phone call coming in? I want to see the dialpad with the caller ID on it. Why? Because if you’re talking to your friends you’re not looking at the phone, but if it’s the bank calling and they want you to press 2 to speak to a mortgage rep, I hate having to fish around for the keypad. When someone’s calling or you’re calling someone, just display the caller ID until you pick up (or dismiss) and then bring up the dial pad. I hate displaying facebook statuses and crap like that, I’m holding the phone up to my face and talking to someone, not holding it out so I can read the screen. Have a list of applications? Take a queue from the cellphones (or MS) and have a Start menu or “applications menu” which lets you flip through categories. These are typically games, office, web, utilities and configuration. The icons thing, while quick, has got to go. However, I’ve always been a keyboard crusader, and I’ve always liked hotkeys. Why not make your cellphone UI have Hotkeys? You can either yell “start, apps, office, word” or you could use your finger to write S, A, O, W. It already does finger drawing recognition and there’s very little chance of butt dialing with this scheme. Contact lists can be the same way, write letters for Phonebook, Family, Parents, and then Frank, or dad. You get the point. We have this idea of small windows which do one thing, but then we overcomplicate the UI. While bitching about the icons thing for lack of innovation is the right idea, the problem is a problem of input and not presentation. Presentation isn’t going anywhere new until we get holograms, and even then it’ll probably be cubes and not squares. Input is always changing.

Innovate the input, then exploit the hell out of the new methods. The UI should follow the interaction with the phone, not dictate it.

Is it an ereader? Is it an ipad? Also: 3D Movies

There’s a few trends I think are interesting at the moment.

IPad – people are starting to realize that the apple app store is isn’t all it’s cracked up to be. I think it’s directly due to the influence of the droid, which lets you run unsigned code. If I were apple I would do a full court press on the fact that (up until release 2 anyway) the droid was crashy, slow, and wouldn’t run applications equally. They’ve gotten their crap together, but the early adopters paid the price. The early adopters always pay the price, and this is especially true of apple, which is why I’m surprised they haven’t thought long and hard about throwing that stone. “Hey look, apple has it’s shit together, droids the new guy just trying to be apple. If you got burned by your early adoption experience, why do it again?” I’m guessing it’s because apple assumes the ipad/iphone is entrenched via contract, but lock in only helps you in the beginning when you’re looking to protect your head start. Once there’s competition, especially competition which prides itself on being open, lock in becomes a trap. On Star is a good example of this – because the lock in is complete on both sides of the fence, no-one has challenged On Star despite ODBC and cellphones being ubiquitous. OS X is built on open standards and trying to lock it down is why the jailbreak bit is so high profile.

Amazon Kindle versus the Nook – Both of these are dead out of the gate. The pricepoint is high enough that anyone interested in it realized they could buy a low end iphone/ipad (see above) and get the app from the apple store. Those of us with droids or whatever already rip books to PDF. They industry won’t cop to it but they basically tried to legitimize piracy of printed materials the way the MPAA legitimized MP3s but they tried to do it without the lawsuits. With little deterrent effect and high price of entry, the ebook is a nonstarter. Add to the fact that PDFs can be shared as many times as you want and are basically free and the next pricepoint becomes the used book on half.com. Trying to take away the used book via lock in when the old method was to take away the used book via “updated material” (see most college courses) and there’s no reason at all to buy one of these. This is why the kno boggles my mind. Not only is it trying to compete in a struggling market with a poorly thought out economic drive but it’s neither a computer nor an ipod while being as expensive as either one.

Speaking of Piracy – the 3D thing boggled my mind as to it’s popularity up until one recent idea – AVATAR was done in 3D and James Cameron, despite being a thieving bastard, isn’t stupid. He steals tried and true scifi ideas, because he wants a sure fire way to make money. Why take the risk on 3D when it means making the most expensive movie ever? Maybe someone else was footing the bill. Someone else like the MPAA. You see, it’s a lot cheaper to help pay for 3D filming versus a giant legal team of dubious effacy. Not only that but lawsuits are pure deterrent, and people don’t like being threatened. The idea here is to replace the paddle with a carrot on a stick. Instead of saying “videotape our movie and we’ll track you down and sue you”, they said “look at this gee wiz new technology”. What they left out was that a videocamera cannot film a 3D movie.

PowerMac G4

I got an old powerbook G4. 500mhz and 500mb of memory and the thing runs like a champ. Yeah I had to buy a $15 PCMCIA card for it because it didn’t have an airport card, but the OSX 10.4 release is so nice I won’t sweat it. I sort of wish the harddrive didn’t totally suck in terms of speed but we can’t do everything.

UNIX has never looked so good, and frankly this is fucking sweet.

Apple 1 Ressurection

A slashdot article caught my eye. If anyone remembers the old cassettes with data on them, apparently no-one ever had a decent copy of Apple 1 BASIC. This guy did, and got the first decent copy for posterity.

Typical slashdot warning: There’s a lot of poo-pahing about reinventing the wheel and “he should have done it this way” and “we already knew how to do it”. Apparently the Sinclair crowd has been reading tapes into memory and dumping them out the serial port for ages. However, there’s always another way to skin a cat, and I think this guys method has some serious perks including using audacity to clean up the audio. The sinclair guys happen to be lucky enough to have very clean tapes. The whole reason the Apple 1 BASIC hadn’t been dumped before was because all the tapes anyone had laying around had succumbed to age.