The surprises everyone was waiting for from the Apple’s WWDC keynote never arrived. Instead, we got a handful of evolutionary features added to generally excellent software, and an amazing piece of hardware. I was actually yawning while following the liveblog. That fact should have the entire tech industry shaking and quaking. That boring keynote just put everyone on notice, but they may not realize it yet.
Apple has done this before. A few years before the launch of the iPhone, the iPod, iMac, and Mac OS X went through a period of minor updates, feature and spec bumps. All of these products never became any less incredible, but Apple wasn’t doing anything exciting.
We know now that Apple had a light guard working on continuing to bump aspects of their main product lines, while the majority of the engineers were toiling deep into the night to build iOS and all of the apps that we all know and love that launched on that device, namely mobile Safari.
It took them several years, while they were consolidating their dominance of the PMP market to completely disrupt everything we consider true about mobile computing. That is not to say that the products they launched in the interregnum weren’t great. The iPod nano launched among other things, but I remember thinking along similar lines as others, is this all you’ve got Apple?
The answer today was obviously, No. They had much more, and knew it.
We are seeing the same general stagnation today. It makes you wonder, what the hell are they doing in there? There is really no way to know, but when it is ready I would expect no less disruption than we saw when the iPhone came out. Apple has maybe 14,000 engineers, do you really think that all of them are working on iOS 6, Mountain Lion, or trying to make the MacBook Pro thinner?
Apple takes their time, so it could be six months, or it could be three years. If I were a competitor of Apples, I’d be getting ready to be disrupted.
I’d think bigger than a television set Apple has already made personal content consumption more prevalent than group consumption.
Sitting around the TV and watching a movie rarely happens anymore. Everyone in the family, each watches whatever they want on their phone, iPad, or laptop. Apple’s next great breakthrough doesn’t even have to be strictly media or tech. Perhaps it will be the iCar, some sort of iAutomation for your house, the iHome, who knows. Perhaps their plan is to start building luxury apartment buildings in San Francisco. Making spartan, but delightfully, designed homes built out of glass and aluminium.
This weekend I switched back, once again, to Windows Phone from my ICS packing Galaxy Nexus. Previously, I had switched to Windows Phone from my Froyo ( can you believe this phone was launched in the US with Froyo? ) Infuse 4G. I seem to always switch away from Android eventually, and I haven’t been sure why, until now. This is not meant to be an Android hate fest, I don’t want to say I hate iOS, and I don’t hate any OS. I am a huge fan of iOS and Android, nor am I a fanboy of any camp ( any more ).
I think that Android is an excellent implementation of the vision for which it was designed. iOS was the first and is still the leader in its category. Both of which are largely cut from the same cloth. Who copied whom, I’ll leave for history to decide. For the my purposes, however I am happier with Windows Phone, and I have finally figured out why.
Windows Phone is Designed Around Use Cases
As I was transitioning between my various Android handsets, my iPad, and my new Lumia 900, I kept thinking about what it was in Windows Phone that kept causing me to want to use it. The browser is merely sufficient, the hardware is technically behind the curve ( while the phone hardware as a package is superlative, hats off Nokia ), and the OS is, well… different. One of the core things, which was immediately apparent, was that it didn’t take long for me to get to what I wanted to do with the Lumia from the live tile home screen.
I don’t subscribe to the “Smoked by Windows Phone” campaign, I think that was stupid and wrong. Android is typically faster in specific areas, like time to app launch, etc… iOS smokes both of them in scrolling and touch screen responsiveness as well as time to app readiness on the newer iPad2/3 and iPhone 4S. Windows Phone’s speech to text is great, but not comprehensive; Android’s speech to text is better than Windows Phones, Siri’s voice recognition is marginally better than Androids, if only because of her witty retorts.
Despite all of the shortcomings I have just described, I still prefer Windows Phone. For a few months, after I started with Windows Phone 7 on my Focus S, I started to think something was wrong with me for liking it. Maybe I was a “feature phone” kind of guy after all. The tech media kept telling me that Android and iOS are better because of their broader app selection, more sophisticated chips, hardware, etc… I could readily agree with this assessment, after all, Windows Phone doesn’t have NBA Jam, or Angry Birds Space. The more I thought about it however, as far as I am concerned, I prefer to use my phone for communication first, and apps second. Being presented with a grid of apps, or strange widgets, or the wrong panel of the launcher were all in the way of simple communication.
When I use Windows Phone, it is clear, I press people for communication, me for updating my social networks, phone for calls. This simplicity, and clarity; that is what keeps drawing me back. It isn’t that Windows Phone is faster in any way than Android and iOS, not that it is slow. It is that each specific task that I want to do with the phone has a well defined path, is clearly encapsulated, and is a complete end-to-end experience with no cruft. It isn’t chaotic like the Android intent system, leading me all over the place from app-to-app, it isn’t ridiculously siloed like iOS. Things that should be combined, like Facebook and twitter are grouped together. Games are all in the same place, and share a coherent experience that is clearly differentiated from the other flows for when I want to play games. Music, podcasts, and audio are all together, unified in their Zune experience, which also is differentiated from the game flow, and the social flow.
Android and iOS are Designed Like Desktop/Tablet OS’s
Once I began to think about use-cases, I started to see how ill fitted Android and iOS were for the phone. I started to put devices into categories based on these use cases, to try to figure out where they go wrong.
When using my desktop / laptop, I am consciously sitting down to perform some fairly complicated task, I expect to have to make lots of decisions to perform that task, and I do not mind the complexity of the windowing system.
When using my tablet, I am typically settling down to enjoy some content, a game, a book, a fun diversionary app, or I am attempting to use a productivity app, for which I could perhaps perform the task on my desktop / laptop. I don’t mind actions taking a little extra time on my Tablet, I am expecting to explore and engage in an experience.
My phone is different. I am not typically trying to explore. I am trying to find a restaurant to eat at right now, or I am looking for my friends house and I am wandering around trying to read street numbers. I am buying something and need to compare prices. I am trying to call someone to have a conversation. In short, most of what I am doing with my phone is immediate I don’t want to browse.
The grid of apps, is really nice for presenting an experience, it is an invitation to browse, to wade into an entire universe of possibilities. A bunch of apps is great for when I want to spend time looking around, like window shopping. I don’t necessarily know what I want to do, I just want to be entertained.
I don’t really need apps on my phone, I need the workflows that are in those apps. I need the restaurant information inside of the Zagat application, I need the directions and augmented reality that is inside of google/bing maps. I need the social graph that is inside of Facebook to find out if my friends are busy this weekend. I need the content of the twitter app to find out what is going on right now. As far as exposing that, some apps for Windows Phone can do this with their live tile, for other, well designed Windows Phone apps, there is a clear use case for the application, and it brings as much content to me as it can to assist me with doing something right now.
Windows phone isn’t perfect, there are still quite a few missing use cases that I would like to see fleshed out, like the augmented reality directions, or a better workflow around photo sharing.
When you think about things in use cases, you actually start to see that the multitasking system that Windows Phone employes is correct. It is only broken if you are looking at it as you would look at Android or iOS, or if you are comparing your mobile computing environment to one that is less mobile. Windows Phone is better thought out than its competitors. Once you let go of the fact that you believe you want your smart phone to be just like your desktop/laptop/tablet, then everything will be fine.
So what if Windows Phone doesn’t have many quality apps, for most of the things I want to do, I am covered. As they add apps, so much the better, I only hope that the developers think about how their users will accomplish tasks in real-time with the applications they provide, and don’t fall back on the Android and iOS way of sticking a bunch of data into a silo and expecting the user to poke around to find it.
Windows 8, in its current incarnation is half-mistake, in my opinion. For the designers to take UI and a set of interactions that are successful for phone use cases, and apply them to a desktop OS is to turn something useful into a chaotic chimera. I believe that Microsoft is not allowing for as much richness and complexity as the interaction patterns of a stationary computing experience should provide by implementing the Metro interface on the desktop.
In the legacy interface, they are just screwing up what was working. It makes sense for them to take the same approach as they allowed the Windows Mobile team to take. Think about the use cases that people are likely to encounter when they are attempting to accomplish something with their desktop/tablets. You may not be able to unify the interfaces, it is OK. Apple is falling into the same trap, it is leaving a massive opening for someone to do something awesome with the desktop computer…. Canonical are you listening?
Let it go, the desktop paradigm is dead. Stop worrying about how things used to be and learn to experience Windows Phone for what it is. A beautiful breath of fresh-air, a new way of thinking about mobile interaction. Hopefully Microsoft doesn’t screw it up. If their marketing is any indication, I am worried about the future. If they leave the Windows Phone team alone, and allow them to keep doing what they are doing, things will be great.
The tablet entered with a huge bang a few years ago. It was staggering, Apple sold in an incredible number of iPads and forced all of the netbook manufacturers and Google to scramble to produce and release a tablet OS, namely Honeycomb, that was arguably not ready for release.
The result with both the iOS and Honeycomb are two excellent tablet OSs, and Ice Cream Sandwich promises to be a stellar tablet and smartphone OS. What I have been discovering over the past year plus using both versions of the iPad and the Galaxy Tab 10.1 is that I don’t really need a tablet for general computing.
This is surprising to me. I built an IDE for the iPad and iPhone after all, and found myself using my own product more on the iPhone for quick edits than I did on the iPad.
I watch an awful lot of netflix on the iPad, and I play games most of the time that I am using it. I have found that with the Galaxy Tab, my patterns are much the same gaming, watching videos, occasionally reading ( although I still prefer my Kindle hardware to the tablet versions ).
So I am coming to the conclusion that the pundits were right initially, tablets are clearly for content consumption, not content creation. The reason, however that these devices are not suitable for content creation is worthy of debate, and is an issue that I’d like to take up now.
Natural User Interfaces
The user interaction that most tablets sport as the default is something that is being called a natural user interface, that is an interaction that uses some of the users other senses, such as motion, to perform an on screen action. The current crop of tablets mainly use touch instead of a dedicated hardware component to facilitate user interaction with the interface.
This lends itself obviously to gaming, and a “kick back” experience of sorts. The user can use touch, or the gyroscopes to control a character on the screen, this makes logical sense to just about any user.
As an example, many role playing games have a 3/4 view of the game board, that is, the camera is typically at 5 o’clock high, or somewhere thereabouts. The control scheme for most of these types of games is to touch a place on the screen to send the character to that location. Role playing games work particularly well on tablets for this reason, they are almost better with a touch interface than a controller.
As another example, car racing games use the accelerometer in the tablets to control an on-screen car. This works well, unless you are in a position in which your motion is constrained, such as the bed, most of these games provide some sort of alternate touch based interaction that replaces the accelerometer based input.
The problem with using on screen touch points in auto and first person shooter games is that the controller now covers part of the screen, or your hands end up covering important parts of the game world, causing the player to miss part of what is happening. I know that in my case, it takes away from the FPS experience and makes it so that I typically don’t buy those sorts of games on tablets, but instead prefer to play them on a console.
Natural user interfaces only work when the content is modified such that the user can interact with it sensibly using the available sensors, gyroscope, touch screen, microphone, et cetera. In a famously bad case of using a natural user interface to interact with content from a platform that uses traditional input, Numbers presents the user with a typical spreadsheet like the one you would find in Excel for your Mac or PC. The issue here is that Apple didn’t modify the presentation of the content such that it matches the platform. Arguably there is no way to do this in a form that makes sense.
The interface for Numbers features beautiful graphic design elements, and is generally pleasant, but when you tap on a grid element, a virtual keyboard pops up and you are invited to type into the fields. Apple has made a numeric keyboard interface which is pretty nice, but anytime you display the virtual keyboard, you haven’t thought hard enough about the problem. Displaying a grid of content is not useful on this device, it is amazingly useful on the desktop, but it just doesn’t work here. Inputting large amounts of data is frustrating, and the virtual keyboard makes mistakes all to common, either because of mistyping or the misguided autocorrect.
Modifying Content for the Natural Interface
Most of the people who are buying tablets today appear to be tolerating these issues, my belief is that they are doing this because tablet computers feel like a piece of the future they were promised when they were children, useful or not. Eventually, they will likely stop using their tablets at all in favor of ultralight laptop computers, or they will relegate the tablet to the living room table as a movie watching and game playing platform.
It is possible to make significant user input acceptable on a tablet, perhaps even pleasurable, by using a bit of creativity. First, they keyboard is a complete failure. It has its place, but in most cases it can be replaced by effective gesture (non touch ) and speech recognition. This is the only viable way for bringing large amounts of content.
On the visualization front, using our example in Numbers, perhaps a flat grid is not something that makes sense on the tablet, maybe we should send the data to a server for analysis and present it as a series of graphs that can be changed by the user, manipulating the graph directly with touch actions, or with spoken commands. The result of the changes would flow back into the spreadsheet, updating the numbers behind the visualization.
Many would argue that this would not be a rich enough interaction for some of the complex spreadsheets, pivot tables, etc… that they work with, indeed, it likely would not. Most of these users would not perform these actions on the tablet, instead they would use a MacBook Air, or other lightweight laptop computer. It takes a huge amount of creativity and intelligence, as well as significant amounts of computer power to manipulate data in this way.
Imagine a speech interface for a word processor that could use the camera to track your facial expressions to augment its speech accuracy. It could, and should, track your eyes to move the cursor and ask you to correct it when you make a bad face at a misinterpreted sentence. An application like this could make word processing on a tablet a wonderful experience.
The technology to do most of these things is here. It is either fragmented with each part patented by a different company, some without any sort of tablet such as the Microsoft with the Kinect. Or the effort to produce a piece of software to utilize the features of tablet computers to best effect is too great to justify the investment. For example, doing that sort of work for a word processor doesn’t make sense when people will just jump over to their laptop to use Word. Would anyone pay $100 up front for an iPad word processing application? I don’t think so. Would anyone pay $25 per month for the same application as a service on the iPad? Its equally doubtful.
What you come to eventually is that, for interacting with content that either naturally lends itself to, or can be easily modified for, the tablet, it is fantastic. Currently, however it is severely overpriced for how it is being used. After all, you can get a fairly cheap notebook that can play Netflix and casual games for $200, or 1/3 the price of most tablets. If you have to carry your laptop anyway, why would you have a tablet at all. Why wouldn’t you take the Air with you and leave your tablet at home. It can do everything the tablet can do, and it also can handle any of the content creation that you care to try.
Thinking about the situation, we need to find better business models that will allow for the development of applications that can handle the modifications to content that we need for tablets to be generally useful. This will take a while, and in the interim it is likely that some companies will produce tablet hybrids, the ASUS Eee Transformer is one tablet that comes to mind. It is very popular, runs a mobile tablet operating system, but becomes a keyboard wielding notebook in a second.
The Google Chromebook is another example of a lightweight, even in software, laptop that can do most of what a tablet can do, as well as most of what the typical laptop does. In my own use, excluding building applications for tablets, I always reach for my Chromebook instead of my tablets. All of this is excluding the huge difference in the difficulty of building applications on the platforms.
Writing applications for tablets is extremely hard with a doubtful return on investment, unless you are making a media or gaming title. While writing applications for the web is easy and potentially extremely lucrative with many variations on possible business models, and little interference from device manufacturers.
I am starting to think that Ray Ozzie was right when he said that Chrome OS was the future. It feels more like the near future than the iPad at this point. The tablet will always have its place, and perhaps with significant advances in natural user interface technology, with accordant price reductions it will start to take over from the laptop. I am fairly bullish on the natural user interface over the long term, but at the same time I pragmatically understand that we aren’t there yet. The devices, software, and consumers have a lot of work to do for us to really enter the era of the computerless computing experience. I am committed to getting there, but I think that the current crop of tablets might be a false start.
I had this problem… whenever I would walk into my house with my Nexus One, and it connected to the internet, my router would slowly die. I would have to unplug the router from the power and plug it in again to fix it. I think I’ve found the solution, at least for my DI-624 wireless – N router.
It turns out that there must be some problem with the Nexus One handling TKIP encryption, or at least with the way the D-Link DI-624 is sending it. The fix for me was first to fix the router to channel 11. This fixed some other issues with netgear equipment a while ago, secondly, and most importantly, force WPA2 encryption on your connection instead of auto or (WPA or WPA2). You can try setting the encryption to AES only, but that didn’t work for me, it was only once I forced WPA2 that the issue went away. I am running mixed B-G-N as well. Now my Nexus One no longer kills the router. I am not sure whether or not my PSP will work now on my router since I remember it not supporting WPA2 a while ago, but it may be enabled with the current firmware. All of my other stuff can connect over WPA2 so it shouldn’t be a problem for me. If you have some stuff that can’t use WPA2, then getting another router might be the best option.
A few months ago, I got banned from the Android dev google group. You might think it was because I was being a troll, or because I got into an inflamed argument with a moderator, but actually it was for none of the above. I got booted because, the best I can tell, because I broke protocol and commented on a post that the moderator said was closed.
Later in the day when I went back, it was like bam, the moderator has banned you from the group. My first thought was to get mad, turn off my G1, go back to the iPhone and be done with it, but then I remembered thinking that the moderator’s responses were pretty terse and that maybe they were overworked and angry and banned me for posting to a closed / moved post. I honestly didn’t know where I was in the maze of Google’s group, I couldn’t tell if I had been redirected to the discussion section or not. It is frustrating to have a company like Google, who I normally associate with free speech and open discourse, censoring me in that way. By contrast, I have never been banned from an Apple discussion group, or from any other anything for that matter. Most of us associate Apple with secrecy and killing off free speech and discourse, but actually I have found that their position on what can be said, and should not be said to be clear and reasonable, and that they are always pretty good about that on their posts. If the post moves into an area that shouldn’t be there, the moderator deletes the posts, says why they deleted the posts and moves on. I doubt that they permanently ban their board members.
I have been wanting to port Mides to Android, and to build several applications for it, I have been a huge supporter and advocate of Android in my workplace, where I have some ( very small ) influence over what platforms we support, and to have Google shut me down in this way, makes it difficult for me to continue to convince other developers to build for Android. I would think that the battle for developers would be where platforms succeed or fail, and to have a company who is steeped in the battle carelessly piss off developers makes no sense to me. I like Android, and I want to see it succeed, but sometimes I just don’t know.
The primary problem with my iPhone, G1, iPod Touch, etc… Is that they are too small and have too limited a battery life. What I have been hoping for, for a very long time is a single slab tablet computer, sort of like a big iPod Touch with a 3G / LTE modem, a soft keyboard, and an open set of programming APIs so that I can make whatever applications for it that I wish. Ideally it would have a dual core ARM CPU and great battery life, plus the option for a physical keyboard, well it seems that while I was hoping that Apple has done it, Always Innovating has taken matters into their own hands:
The TouchBook will run a variant of an open operating system called OpenEmbedded, a variant of something called the Angstrom Distribution, which I suppose is a distribution of the OpenEmbedded OS. Although I have only seen the you tube video:
It seems to have the right stuff to be successful. At $299 for just the touch part, or $399 for the touch part with the keyboard and second battery, the price is right. The 3D in the video appears to be sufficient to compete with the iPhone, but what it will likely come down two are a couple of things:
Are the APIs polished, or are they as disjointed as the normal Linux programming APIs
Is Apple going to do a large form factor iPod Touch
If Apple is going to do a MacBook Touch, or a MacBook Mini, even at $499 or more, that can run the current crop of iPhone apps as desktop widgets, it will make it difficult for normal people to justify buying the TouchBook over a big iPod Touch. Hax0rz, evangelists, early adopters, and general geeks like me may buy the TouchBook, but it is going to be an uphill battle for widespread customer adoption with yet another programming environment for developers to adapt their iPhone apps to.
On the other hand, if they were to make a pre-installed Android option available that was running Gnome or something, but could still run Android apps with little to no modification, in the same widget system as was described above, it could be interesting.
I respect what these guys are doing, its something I have thought of doing many times myself, and I might even spring for one if I get a little personal government bail-out money, but I just am afraid that I will crave whatever Apple makes. Even though I have switched my personal phone over to a G1 and love it, and love coding for it, I still pine after the iPhone, some things are just simpler. It really has nothing to do with the G1 hardware, while it is ugly as the offspring of sin and feces it functions adequately. Its the OS that seriously lacks polish in places, and the unavailability of any sort of desktop synchronization mechanism is difficult at times, especially since the iTunes app doesn’t always play ball when dragging large numbers of UN-DRMed files out.
I suppose Google could modify gears to allow Android to tether to some kind of web app / web management system, that would be interesting, but I see that as being in the distant future. Love it or hate it the iPhone and the iPod Touch, Cocoa Touch is just way ahead of any of its competitors. If Apple would loosen up on the app store policies, allow 3rd party libraries and scripting languages on the iPhone, I think most of the competition would disappear overnight. You’d still see the Linux guys pushing stuff for the fringe crowd, but Apple would have the consumer market locked up.
I think that the App Store situation is what is going to hurt Apple the most. I am only developing for Android because I can’t flush out my app on iPhone, not because I can’t or because its obscene, but only because Apple doesn’t allow PHP, Ruby, and Perl, which is what my application is all about. I can’t believe I am the only one who is playing by the rules and doing what Apple is making me do, develop for competing platforms. I’m sure Apple doesn’t and wouldn’t care, my application applies to only a subset of a subset of a subset of the general population, web developers, and isn’t likely to bring in a ton of money for them or me, but I do it because I love the concept of building web apps while mobile.
The TouchBook is really perfect for my application, so after the Android release, I guess I’ll be doing it again for the TouchBook. Here’s to hoping people buy it, and that Apple doesn’t announce a large iPod Touch at WWDC.
For the past few weeks I have been working on writing a PHP interpereter for Mides. As I know that I am not allowed to do it for iPhone, as it would involve downloading and executing scripting code, which is not allowed. I have only been looking at the tokenizer for the iPhone, while I have been looking at the full monty for Android.
I actually have gotten to the point where the tokenizer is passing a lot of my tests, but there is a lot of ground to cover with PHP. Tommy Carlier’s blog on writing a parser has helped tremendously. Still, even after getting the tokenizer working, I have to write an interpreter to execute the tokens. This involves implementing the many methods that PHP has built in, so it will be a while until I get that completely done.
I am pretty frustrated with Mides for iPhone, actually, I wanted it to be a full PHP implementation and editor, but until the Terms and Conditions change it isn’t worth the effort to build an entire PHP interpreter just to have the app rejected. I am still improving the iPhone version, and the next update should be a huge improvement over what is currently there. I had to remove the nesting because I need the memory for documentation search as well as the PHP tokenizer that I am working on. Overall, the next update for Mides will make it better, it will be close to what I was hoping for, but it will never be completely what I was hoping for on iPhone.
The Android version of Mides on the other hand is shaping up nicely. The Android text view supports color so I have some syntax highlighting happening which doesn’t hurt performance on the G1 too badly. The tokenizer is mostly done, and now I am designing the interpreter. Development on Android is going a lot faster since I don’t have to worry quite as much about memory leaks, although if you try you can still make them happen.
At any rate that is why there haven’t been any updates for Mides in a while, I have been working on localization, parsers, and interpreters. I am spending most of my time on the iPhone version of Mides, but it seems that I am getting farther with the Android version, go figure.
While the G1 is less polished than the iPhone in many ways, the audio playback is not one of them.
Using the same headphones, and the same 256kbps, 44.1 kHz AAC source, the G1 at maximum volume has far less distortion and noise. At lower volumes there is a noticable increase in spatial realism. It’s interesting, having been in the Apple ecosystem for nearly 10 years, I had gotten used to assuming that Apple’s products would always use the highest quality components and represented the technical state of the art, however I now realize that that may not necessarily be true.
Apple’s design and usability are definitely still market leading, however their component quality can be occasionally questionable. Hopefully the 3rd generation iPhone will set a new standard for pereformance and quality, because if not, I’m going to have some difficulty justifying the price premium.