Posted: October 10th, 2012 | Author: irv | Filed under: Amazon, android, Apple, artificial intelligence, Companies, Google, iPhone, Lifestyle | Tags: amazon, Electeonics, Google, Retail, Shopping, Stores | 1 Comment »
Montgomery ward closed down
Looking at Google’s new maps inside view, it brings to mind a general problem with physical shopping vs online shopping. With online shopping, I know exactly who has the item that I wish to buy, and I know what the price of that item is. I can instantly perform comparison shopping without leaving the comfort of my home. This convenience has a down side as well, when I do not know exactly what I want to buy and am just shopping for entertainment the online experience lacks substance. It is much more fun to peruse best buy than it is to scroll down a page of picture of gadgets. This is where Google can help.
One of the things that Google has done that has no clear immediate value to the company is to map the world in extreme detail, this has come to include the inside of stores. Amazon does not have this capability. In addition, Google has its hangout technology which, when leveraged with this inside indexing gives Google both a search index of the real world, and the ability to have a high-fidelity experience with an actual salesperson.
Imagine, Google indexes all of the shops in the world, coffee shops, hot dog stands, I mean everything along with real-time inventory of the items in search results. Then they index those images using OpenCV or some other image recognition technology. Alongside that, every retailer in the world assigns one or more salespeople inside of the shop to carry a tablet capable of performing a hangout. Again this represents a giant biz-dev nightmare, but keep bearing with me.
Now comes the beautiful part, I, at home am surfing the web on my tablet when I get the itch to go shopping. Instead of hopping into my car, I allow Google to suggest stuff that I might be interested in ( Amazon has a huge lead here, but Google will likely catch up due to their having more signals ). While I’m looking through the suggestions, I see a watch that I am very interested in, so I click into it and it shows me a map of all of the places around me that have that watch. I click again and ask for a horizontally swipable, inside view of the top 5 locations that have the watch.
I can actually browse the inside of the store, see the display with the watch in high resolution. There will be a little place that I can click inside the store if I need help as in the watch is not on display, or the shop keeper will be notified that I am browsing. At this point, the shop keeper can signal that they want to have a hangout with me in g+, or I can swipe to the next place at any time and browse that place. If I do want to discuss the item in a hangout, I can either initiate or respond to an invitation from the shop keeper. While on the hangout, the salesperson can express their craft, showing me alternate items, asking me to send data over, such as measurements, we could exchange documents, etc…
This future would be tremendous, and it is something that only Google can do. But wait, there’s more! Imagine that at this point with my Google Glasses, now I can have a full AR view with the details of each item coming up in my heads up display along with other shops’ more aggressive deals ( read ads ). It would be ridiculously awesome!
Ultimately this will level the playing field with online as well as brick-and-mortar retailers, with the brick-and-mortar guys having a slight advantage until the online retailers start hiring sales reps for g+ hangouts or an equivalent technology. I believe that this will bring a pretty large increase in the number of sales people employed and reverse the current employment drain that retail is experiencing. It makes perfect sense as to why Amazon is trying to build out its mapping technology as quickly as possible. It will be interesting to see who wins.
Posted: May 30th, 2012 | Author: irv | Filed under: android, Apple, Companies, Facebook, Google, Microsoft, Verizon | Tags: android, Apple, Google, iOS, Microsoft, mobile, windows phone | No Comments »
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.
Posted: March 12th, 2012 | Author: irv | Filed under: android, Apple, AT&T, Companies, Google, Verizon | Tags: FCC, free-market, mobile, policy, regulation, technology, wireless | No Comments »
Much of the tech media is thinking about the problem of wireless spectrum in the wrong way. It is helpful to think about why the commission was created, and the problems that have been created in the market by its existence.
The FCC/FRC was created in response to complaints by large national carriers that smaller regional broadcasters of dubious quality were broadcasting on all available frequencies with such power that the national broadcasters couldn’t get a clear signal through.
The government at the time thought it would be a good idea to control the broadcast frequencies so that they would have spectrum available for use with military equipment domestically.
So a deal of sorts was struck where in return for being regulated, national broadcasters would receive a monopoly on broadcast licenses. This would later cause the breakup of these same broadcasters.
The spectrum was allocated by frequency with buffer zones between blocks. Power output limits were also part of the regulation package, without which, the allocated frequency blocks would have been useless. This represented a modern and efficient set of controls based on the technology of the era.
Skip ahead a hundred years and see what has happened. The technology has improved, the regulatory framework is obviated by the technology. However, since we have an intruder in the market preventing normal forces from solving the problem, the same companies who were given the monopoly control which innovations consumers are allowed to buy. These same companies set, fix prices, and collude to gouge both content companies and consumers to the tune of ridiculous profits.
Let’s spin back to the past and examine what would likely have happened if the FRC and subsequently the FCC had never been created.
In the late thirties, the first experiments with digital technology were beginning to be performed. At the same time, content companies were beginning to have difficulty broadcasting because of band saturation on radio and later television frequencies.
The war had and was driving incredible advances in communications technology, including experiments with digital broadcast technology.
What Bell would have done was to seek profit from all of the major broadcasters of the era. They would have said, “hey, we have this cool way of using digital transmission to allow us to send tremendous amounts of data from different sources to different destinations through the same frequency using codes to distinguish one broadcaster from another. Why don’t you all pay us a small fee to register yourselves with us, and we’ll build a network of general broadcast / receivers throughout the country. We’ll use more frequencies as necessary, but since we can pack you in, we will always have plenty.”
This didn’t happen for many reasons, and has its own problems, but what would happen next would have been the rapid rise of bundlers. Companies whose job it was to use the spectrum they chose as efficiently as possible to maximize their own profit. It would have sped the pace of innovation and prevented the mess we have now.
Eventually the government would have stepped in and mandated that these bundlers reserve spectrum for military and government use. The bundlers would have complied.
Fast-forward this system to today. We would have hundreds of free market companies competing for the most efficient use of spectrum, with AT&T, T-Mobile, and hundreds if not thousands of competing Telecom and internet providers. The barrier to entry for these providers would be very low since they would just need to pay the bundler of their choice which best suited their needs.
These bundlers would have built powerful networks of broadcast / receivers everywhere, on roadsides, inside buildings, etc. There would be no lack of spectrum, and no need for excessive, heavy-handed regulation, as each advance in technology would allow the bundlers to use ever less spectrum and sell both the technology and license their spectrum to even more bundlers.
This didn’t happen, so where do we go from here? There are few places where it is so obvious that regulatory interference has caused irrational behavior in the market as in wireless. The FCC should embrace digital technology and require broadcasters to form independent corporations to act as the bundlers that I described. These bundlers would manage the infrastructure for the broadcasters with the broadcasters riding on them. Once the system was in place, the licensing system would be replaced by power output limits, and the FCC would assume a greatly reduced role.
There are many flaws to my proposal, but we have to get the FCC out of the spectrum licensing business. Technology is sufficiently advanced that we do not need this frequency based system. It is causing more harm than good. We need to let the market work to provide better access to everyone. It is critical that the barriers to entry for wireless carriers to be lowered if we want real competition and innovation in wireless going forward.
Posted: July 30th, 2011 | Author: irv | Filed under: android, Apple, Companies, Google, iPhone, Lifestyle, Media | Tags: android, chromebook, Honeycomb, iOS, iPad, mobile, netbook | No Comments »
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.
Posted: July 9th, 2010 | Author: irv | Filed under: android, Tech Help | Tags: android, d-link, nexus one, router, wireless | 5 Comments »
The Awesomest Phone Ever
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.
Posted: June 3rd, 2010 | Author: irv | Filed under: android, Companies, iPhone | Tags: AT&T, Cellular, iPhone, rate plans | 1 Comment »
First, let me get the link to Gruber out of the way : good and bad regarding at&t data plans. I read his post, I disagreed with AT&T’s price changes, and after reading it, I still disagree with the changes. They are all bad. First AT&T announces that they are upping their cancellation fee to $375 from $175, which was bad, but understandable given the percentage of their customers buying the iPhone. Then they announce this garbage. My biggest issue with it isn’t that they are charging for it, it is the way they did it. They took a device that we all love for its simplicity and tied it to a maze of complicated data + text + voice plans.
Remember, when the first iPhone launched, there was just the iPhone plan, and the only choices that customers had to make was how much extra to pay for SMS, which sucked but at least it was understandable. Now, trying to explain to regular people what will happen if they buy the iPhone HD is nearly impossible. When I told my wife about it, not technical, she said, “but wait, it was supposed to be unlimited.” It doesn’t matter if the cap is high, as soon as people know there is a cap, they will change their behavior. They will start to think, maybe I should wait to look up this site until I get into Wi-Fi, or maybe I shouldn’t watch this YouTube video, or how many kilobytes per second is the streaming on this h.264 video, all way too complicated.
Going from bad to worse, we were on the verge of a new age for the internet with plentiful, high speed data everywhere. We were going to start seeing a new class of always connected applications, able to provide real-time data. Consumers are likely to start self-restricting their mobile data use unless they are on the few and far-between Wi-Fi hot spots.
There is a class of argument along the lines that AT&T was drowning with the amount of data its consumers were using and that no carrier could keep up with providing quality service for the prices they were charging. I can buy that, but the solution is simple, instead of complicating everything, increasing ETFs, and other stuff that is hard to understand for most people, just raise the price of the iPhone plan to $99.99 and give unlimited everything.
Contrast this to T-Mobile, who recently re-iterated that their unlimited was really unlimited. One could argue that they have fewer customers and can afford to have more aggressive pricing. That is true, however to the end user, unlimited is unlimited. Unlimited is better than limited. It is simple to understand. I am very glad that I bought a Wi-Fi only iPad, or I’d feel like a sucker who got baited and switched after Steve Jobs got on stage and announced a “breakthrough” data plan for the iPad. A 2 GB capped plan is not breakthrough, it is hobbled. The iPad is designed to watch video, stream audio and in general consume the hell out of bandwidth intensive content.
Basically I’m glad I terminated my AT&T contract when I did. My iPhone 3GS makes an awesome iPod, my iPad can take its place, I will be able to use my Nexus One for tethering when Froyo comes out if T-Mobile does what I expect and make it free. AT&T’s crap makes the next generation iPhone look less attractive, since after all, the shine wears off on any new technical gadget, no matter how wonderful, but you are stuck with the crap contract. T-Mobile also one-ups AT&T by offering attractive no-contract rates if you want to just buy your phone outright. When the Nexus Two, or the dual-core Snapdragon HTC Scorpion or whatever comes out, I can just save up the money, buy the phone, slap in my SIM card and away I go, I don’t have to wait for 2 years.
The cell phone industry ought to be ashamed of itself for what it is doing. Even with crappier cell service, which is getting better, T-Mobile is a far better carrier than AT&T. At least they don’t bait-and-switch their customers and partners with half-truths and complicated one-off deals. If this doesn’t make people look around for an alternative carrier to AT&T I don’t know what will. You can get overpriced, horrible service, not be able to make calls, not be able to use the data you are paying for, not be able to get out of your contract for a fortune, and still have to pay large amounts each month for garbage service. What happened to the model where the business didn’t take their customers for granted, where they actually did things to be better than their competition? Why are we stuck in the US with carriers who just want to squeeze their customers for every penny while providing as little service as possible. I don’t understand what is good about AT&T’s price changes, and I hope they don’t set a precedent for other carriers. If so we may find ourselves, in this country, at the far back of the line as far as wireless connectivity goes.
Posted: May 24th, 2010 | Author: irv | Filed under: android, Apple, Companies, Google, iPhone, Microsoft, Programming | Tags: Apple, appliances, geeks, Google, non-geeks, regular users | No Comments »
This weekend, on a bike ride, I was thinking through the Apple vs Google situation, as well as the paid vs non-paid, and this whole concept of open systems vs closed and I came to the conclusion that it is really just about geeks vs non-geeks.
For about the past 20 years or so, computer stuff, anything digital really, has been produced primarily by the geeks at Microsoft, and later by various open source geeks around the world. It was reflecting their world view, that everyone ought to be able to tinker, and that they might want to. This caused the severe amounts of confusion that people have had for years.
It would appear that now that consumers have a clear and viable choice in Apple and the iPhone that they are choosing, in droves, really, the closed app store based system. It would appear that consumers would prefer an app store to the open web, an individual coherent vision to multiple pieces of different developer’s visions of the optimal way to do x. As Apple likes to put it, they want an appliance, in which applications are just another type of content, and all methods of doing anything are consistent.
I would say that consumers have chosen that, but not because Apple always provides a superior method, or that they like being closed an limited, I would say that it is because Us, as geeks, have not done a good job of providing clear and usable alternatives. For developers and geeks, configuration and making tons of choices are just table stakes for getting our devices and software working exactly the way we want them to work. We have a difficult time creating things that violate the ability to choose a different way. Part of that is that most of us never have the hubris to think that we can decide for others how to do a given thing, or which thing to choose. But that is exactly what makes Apple more powerful than Google to the consumer. Google is catching on, but in a way, at the same time they just don’t get it.
I, personally, understand and prefer many choices. I like Mac OS X and Linux, particularly because there are so many different ways to set things up, the 3rd party developer community, around the Mac especially, have done an amazing job of filling in the usability gaps that Apple has left. Should users choose these productivity enhancers, Apple has wisely seen fit to let the 3rd party devs keep doing their thing. The problem with Android, and the internet in general is that most people are not like us. They don’t want to seek out and try 5 different text editors and window managers, and text expanding solutions before finding the right one. They want to just use it most of the time, and they would prefer if the base implementation didn’t suck.
Geeks, and Google, we would prefer to just let the base interfaces and systems suck, since our partners are either going to replace them, or augment them. That is exactly what shouldn’t happen. Technical solutions should be like European Socialism… The government provides a generally acceptable set of services that everyone pays for, but it is possible to get better solutions. This provides something of a floor for service providers. Likewise, if you are developing a music solution for example, provide a playback solution that works with it first, then give the ability to plug into other services if the user prefers. That way, they aren’t left hanging initially.
Where I get frustrated with Apple, and where I continue to choose Google’s services, even they are less usable, are that they do not give me the latter solution. They provide a kick-ass initial implementation, but when I want to go and replace or augment it, particularly around the iPhone ecosystem, there are no options, in fact, they go out of the way to defeat any other option. If I wanted to use Apple’s music purchasing service, but I didn’t want to use the iTunes application, I am SOL. Apple feels that they make the best music playback solution as well as the best service. For some they may, but for me, I would much rather use AMAROK or something else to manage my music, inferior or no. If I chose the other way, I might want to use Amazon’s MP3 service for buying, but iTunes for managing. Apple should make that easy for me.
At some point, geeky companies like Google, and to their credit, they are starting to, need to create good baseline solutions that run up to, but stop short of competing with other products and services that are auxiliary to their primary product. Apple needs to accept that people may occasionally choose to do their own thing and allow them to.
I do not buy the assertion that in order to provide a cohesive solution you have to block all others. I feel that a system can be aesthetically pleasing and useful, as well as permissive. Karmic Koala I think gets really close to being there, but there are still too many places that I can get into with the OS where regular users would go WTF?!!?
This is why I am continually working on a new OS that as an ambition would combine the completeness and ease of use of the Mac OS, but honor the internet, as well as user choice. They are not mutually exclusive, and the only way to prove it is to build something that shows it. It is a huge amount of work, which is why the only way to do it is open source, but since you have to make clear choices for the user, at least in the initial state, some stuff just couldn’t be committed.
Basically, end-users won’t realize the cost of the choices they are making until they are gone. In a balkanized, app-store-ized internet, choices will be limited, prices will be high, and satisfaction will be generally low. That is where we are going, that is the choice that users are making because they can’t wrap their heads around the internet. It is our fault as geeks, and we are the only ones who can fix it. The average user is going to pick the shiniest and easiest widget. There is no reason we can’t make that.
Posted: April 20th, 2010 | Author: irv | Filed under: android, Apple, Companies, Google, iPhone, Palm | Tags: acquisition, Apple, Google, html5, Palm | No Comments »
I hear a lot of prognostication about who will buy Palm now that they are officially up for grabs. People are suggesting that HTC, Lenovo, or even Apple would be the most likely to buy them, however I don’t think any of them will get Palm. I think that Google will get Palm for around 1 billion dollars, and here is why.
Primarily, the main reason is that Palm’s WebOS falls directly in line with Google’s philosophy of web first, native second. That with the Google Native Client could make for a compelling addition to Android. One could argue that Android is lacking only in UI, and WebOS has a UI second only to the iPhone. Secondarily, buying Palm would give Google patent ammunition to use in assisting HTC in their legal battle with Apple, especially since it is Google’s Android OS that is causing the issue.
It doesn’t make sense for Apple to get Palm, even if they are in the bidding, because Google has shown in the past that it is willing to go way above a company’s valuation to snag them. This makes just too much sense so it has to happen, that is my prediction, it is sort of hopeful because I like WebOS and Palm, and would like to see it continue, albeit in a more pure HTML 5 sense.
Posted: June 9th, 2009 | Author: irv | Filed under: android, Companies, Google | Tags: android, developing, Google, groups | No Comments »
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.
Posted: June 7th, 2009 | Author: irv | Filed under: android, java, Programming | Tags: ast, compiler, descent, difficult, executor, Interpreter, mides, PHP, recursive, top-down | No Comments »
For the past couple of months, I have been struggling to write a PHP interpreter for an upcoming Android version of Mides. The tokenizer was fairly easy, building the Abstract Syntax Tree was relatively uncomplicated, but now we come to actually writing the executor. This is giving me pause.
I totally understand why Joel Spolsky says that there are two classes of programmers, one class that sort of hacks their way through life, and another that writes compilers for fun. I guess I am trying to blunder my way into the latter class. At first, it didn’t seem to be so difficult, but eventually it has gotten so hard that sometimes I feel like just dropping the whole thing entirely. However, when I feel like bashing my head into the desk, and / or throwing my MacBook Pro out a window, I know I am on the right track. That is how I felt when I was trying to learn Java and Objective-C a few years ago, or attempting to understand domain modeling as it pertained to Object Oriented Programming, before understanding Object Oriented Programming.
I guess these are just things that we all must get through, I also see why most CS majors don’t every actually finish their compilers. I, however have a dream that I can develop web applications without being encumbered by any sort of connections from my handheld.
The first part that slowed me down was that I was trying to approach the executor by compiling the program to opcodes and then running them against the system, sort of like the asm function in C. That won’t work with Dalvik, at least not in an elegant way. Then I asked this question on StackOverflow, and the answer made me think; I don’t think I quite got it immediately, but now I understand. It basically comes down to a large hashmap of keys ( variable names ) and their values, ( the statements to evaluate into them ). OK, I get that, but the new problem I am facing with the top-down recursive descent parser is how to handle classes and functions efficiently.
I guess what I am understanding is why PHP has taken more than a couple years or more to get where it is today, why Ruby still has quite a few oddities to the language, and why Python basically needed a complete rewrite for version 3. This is not easy stuff, but nothing worthwhile is. I have never considered the possibility that this may not fully work in any practical sense. When I do release the Android Mides, the PHP parser functionality is likely to be beta. I did look at the code once for Quericus, but without some sort of object diagram, I can’t really understand what I am looking at. Much of the code is mixed up with the server code so it is difficult to figure out what is doing what. I have read a few pages of the Mak book and I’m thinking about buying it just to see how he implemented the parser, but I am not sure it will do me any good.
I may consider creating my own language for use with Mides, and then compilers that generate PHP and Ruby source code from it while I work on versions for Apache, Nginx, etc… In lots of ways I think it would be much easier, and I could offer type checking and other things from compiled languages that help build more robust code. I would maintain the PHP documentation that is present in Mides, and naturally you could FTP up the code to your server and test it there. But I think that would be copping out, and I don’t like to have something like this beat me. I do however have to realize that PHP wasn’t built in a day, and that this process will not happen immediately.
I keep asking myself what would Steve Jobs do, and the answer I keep coming up with is that he would go his own way, well I’ll keep stewing on it, and hopefully the end result is that I will become the sort of programmer that Joel would want to hire, although somehow I doubt I could ever achieve that level of software engineering excellence .