RSS Feed

17 December 2008

I wonder how Cuil is doing right now?

Still cooling their heels? They shouldn't be, because the /rc/etc blog still doesn't show up! Pages pages everywhere and not the one you want. Atrocious.

07 December 2008

Pretty Much...

Pretty much all of the problems with Windows' application installation and launching model are listed in this reddit post. System tray - Annoying. Bubbles that don't go away - very annoying. Every app implementing a different UI - very very annoying.

While some of these problems (File Extension Associations) are caused by other parts of windows, this list barely touches on the other parts of windows and their problems: the registry (a case where individual app settings would have been preferable), managed code (I'd rather write in C), and a really poor UI model (There are around five different ways of writing code to the screen on Windows Vista.)

26 November 2008

Squandering a touch screen

It is sad when such a good idea goes to waste. According to David Pogue's scathing review of the Blackberry Storm and my experiences with the Android G1, both phones fail for different reasons. The Storm is completely right to include expandable memory and an 8GB memory card in the box. Yet, it does not include a fast enough processor, making it seem slow. Insufficient hardware support and poor interface design, according to Pogue, are the Storm's main failings. In a touchscreen device, it is very important to have large targets, and to have the interface designed to act like everyday objects, not like a computer screen. However, the insufficient hardware of the Storm makes a touchscreen not feasable, due to the fact that it does not have the animation capability to make the flick-scrolling lists.


The G1 suffers from the touchscreen not being the main feature, contrary to the Storm which eschews the iconic Blackberry keyboard. The plastic touchscreen on the G1 is not as smooth as the glass on my iPhone; I found myself reverting to using the scroll wheel at the bottom. Including a scroll wheel and keyboard show that HTC, T-Mobile, and Google are not willing to commit to a complete touchscreen experience, and the touch screen probably was not the main feature of testing. Both phones also suffer from poor hardware support; I don't think that the G1 can top the iPhone's 11MB of video RAM, and with five second delays, the Storm sure can't.


All touchscreen phones need to have some perspective on what makes the iPhone great: It is not only the touchscreen, but the touchscreen as the only input source, and the brilliant animation support, and the intuitive interface, and the responsiveness. If I was to predict the iPhone killer, I would predict a touchscreen-only phone with excellent hardware running a stripped-down Linux OS with compositing for animations. And it definitely would not be written in Java, even in compiled Java (way too slow for mobile devices; try a more static language.) Oh, and it will probably cost somewhere around $500.

17 November 2008

What's stemming the adoption of 64-bit?

Adobe is going to provide the flash plugin for 64 bit Linux, before it provides it to 64 bit Windows or Mac OS X. Now, Microsoft says that a lack of 64 bit flash is preventing users from wholeheartedly adopting 64 bit, and a great number of macs are running 64 bit just fine (with 32 bit flash, because web applications should never need more than 4 GB of memory.) Now, if they just make the proprietary version easier to install under linux.

09 November 2008

On Penguins and Netbooks

Microsoft is expected to start courting users of netbooks soon. A lot of netbooks, including the iconic EEE PC, currently are running a modified version of Linux. Other notebooks are doing a clever dual boot by default: they are running a stripped down version of linux that boots very quickly and are also running a full-blown operating system (most likely Windows). That way, users can run their Windows applications, but are also able to use their computer to quickly accomplish the most common tasks. Microsoft will have a hard time asserting dominance here because the stripped down version of Linux accomplishes all of the simple operating system tasks: IM, email, and web browsing. With the influx of web applications available, a lot can be done in the browser included in the lightweight Linux environment. Thus, Microsoft will need to shorten boot times and provide a compelling reason to boot into a full OS, and they will maintain that reason, as open source can adapt very quickly. Microsoft is no longer the borg. Its speed of adaption is much slower than the myriad of open source apps out there. And when there really is no more need for anything but web applications, Microsoft will need to succeed in a market that they are already in and are not doing well in.

Disclosure: I do not believe that the day will come when we will survive on only web applications and desktop games.

29 October 2008

Windows! It's over 9000!

With Windows Seven demoed yesterday, I feel the need to say something profound. Something that really caters to windows users like Joe Six Pack. You see, Joe Six Pack has a little bit of a hard time with computers in general. He's finally gotten used to Windows XP, and is reacclimating to Vista. Then, boom! It's a brand new paradigm. And a brand new metaphor. Microsoft is trying to adapt Windows' document-centric window management to be more like Mac OS X's application-centric window management. And it isn't doing well. The result? Windows is becoming more of a power user OS and less of an OS for Joe Six Pack or Joe the Plumber. The concept of Document Libraries is incredibly weird, because people will treat them like folders. "There are too many documents in this folder. I'll just organize them. No, I can't." Naturally, Microsoft will add wizards and popup balloons that explain everything that around fifteen people will look at. The rest of the users will muddle along, saying that it is too complicated and as a result switching to Linux and Mac OS X. Linux already works with more hardware out of the box than windows, but I never thought I would see the day that it would do it more simply than Windows as well.

Full Disclosure: This post was written off of an Ubuntu LiveCD while playing with Compiz's wobbly windows.

28 October 2008

Supply and Use

The problem with OpenID is that everyone (Google, Yahoo, Microsoft, et cetera) provides OpenIDs while very few sites actually accept OpenIDs. Distinct branding of your website's login is lost when OpenID is used, and that is the problem; such companies want to encourage users to stay with their product.

05 October 2008

Powering all of these androids...


It's like the plot of a science fiction movie. Androids invade earth, need power, and either plug themselves into the nearest outlet, set up solar panels, or start using humans as batteries.

In all seriousness, one feature that the iPhone has over Android is the fact that it syncs through iTunes. Android provides sync services, but those sync services do not lead into one central "Android Control Center". In addition, I would bet against HTC/T-Mobile including a USB-to-special-phone-connector cable in the Android box. So most likely there will be a hodgepodge of sync services for android phones, which will differ based on what applications are installed. Sync your music with Amarok, your photos with who knows what, your movies with something else… It's all very confusing.

Then again, Google may have decided to skip the rigamarole of desktop syncing and may go straight to syncing pictures with picassa, your email with GMail, and later possibly a deal with Amazon for music over the air. YouTube is the obvious choice for videos, and everything else is small enough to be synced over the air. While users may not be able to set up their android phones in a desktop program, I am sure they will be happy to wait in a carrier's store for the carrier to do it for them.

Probably the only thing that the Android phone lacks in this regard is syncing TV shows and Movies, which, based on the open model of the Android phone, could be done, though studios and distributors may receive pressure from carriers to not back this service, as it uses a lot of bandwidth. Of course, there is always wireless syncing of movies from MythTV and TiVo over WiFi.


Although wireless sync is a lot slower than wired sync, it will probably be fine for most people. For a few months after she got her iPhone, my mother didn't really want to plug it into a computer, and instead used the adapter. Wireless sync simply adds complexity, due to the fact that no software can make it more clear that your phone is being synced wirelessly than the simple statement that a cable can make.

09 September 2008

The Sad Mac is Reincarnated


In the form of a folder in the Google Chrome browser, of course.

04 September 2008

Cappuccino

Cappuccino was released today. What a day it's been. I have to say that it really is brilliantly thought out. Probably the part that is most interesting is the concept of toll-free bridging. In my experience, javascript has been somewhat lacking in back-end; a need that can be easily filled by a framework such as jquery or json. Objective-J extends normal javascript types: var array = [[CPArray alloc] init]; and var array = new Array(); are exactly the same. Simply amazing.


Objective-J was obviously designed for web applications, not web sites. You don't touch the DOM or CSS; Objective-J does that for you with a lot of absolute positioning. Plus, who wants to wait for each page of a web site to load? Although Objective-J code can be compiled into Javascript, it still has a fair bit of loading time, and a separate HTTP connection has to be opened for each source file. Objective-J is very obviously oriented towards rich internet applications.


Object oriented, Model-View-Controller web frameworks are the way of the future in web application design. People can do amazing things with Javascript. These frameworks make it easy to stand on the shoulders of giants.

02 September 2008

Behind the Chrome

Google Chrome was released today, and it has two features installed by default that have synergy with each other: Google Gears, and WebKit CSS Animations. In every version. Google's goal in Chrome is to facilitate the development of rich web applications using Gears that still probably will run in other browsers, but will look extra-snazzy in Chrome.

25 August 2008

Paradigm Redefined

A frequent problem with today's non-iPhone mobile devices is that they carry over paradigms from the desktop that don't really fit the device's form factor. Like a start menu. Or any menu at all for that matter. The problem with a mobile device is twofold: it has a smaller screen than the desktop and navigation on that smaller screen is less exact due to navigation tools operated via a thumb or finger. The iPhone solves this problem by not having menus. For example, I have a picture in front of me of the menu in the BlackBerry mail app. I see Help, Mark Prior Opened, Delete Prior, Compose Email, Compose PIN, Place Call, Compose SMS Text, Compose MMS, Blackberry Messenger, Search, View Folder, View Saved Messages, Options, Reconcile Now, Switch Application, and Close. Sixteen items. If I consolidate a couple of those and remove a few that shouldn't be there at all, I would end up with a list that goes: Compose Email, Switch to Messaging, Search, Options, Get Mail, and Close Menu. Six items. From sixteen. The disadvantage of this is that now a messaging screen is required for the messaging items. Shouldn't be too hard, it can have larger text now that the items aren't in a menu at the side.


Menus are only one of the interface paradigms on the desktop that aren't on the mobile. To list a few off of the top of my head, Menus, Cut and Paste, Drag and Drop (you don't have more than one window open, ever!), multiple windows, large text entry areas, or particularly long forms. Mobile platforms are more in need of designers than desktop platforms, as it is difficult to take advantage of the limited screen space.


On the same note, but completely different, I recently got to see a BlackBerry bold. The solution to not enough space is not to make all of your UI widgets smaller (though nice job on the anti-aliasing).

31 July 2008

Apple TV

I am still reveling in the iPhone app store (how did we ever live without super monkey ball on our phones?!?). It really seperates the iPhone from your normal smartphone. While reveling, I spared a thought for what may be the apple product payed the least attention: the Apple TV. Currently Apple is pushing the Apple TV as a way to rent and buy movies and television shows without leaving the house. But what good is the always-on Internet connection of the Apple TV if it is only used on video. The Apple TV is a product with a huge amount of potential, potential which has gone underutilized. Couldn't the Apple TV also use an app store? After all, it would make a good gaming platform (personally I want to see it as a
host for iPhone Texas hold'em games... Showing everyone's status on a big TV would be awesome.) Third party app developers would be able to fill in the places that apple didn't have time to finish, like DVR or the aforementioned gaming. Apple could brand the Apple TV as 'internet brought to your television' without doing very much work, as the Apple TV is hooked into the iTunes store already. Naturally the same degree of control as the iPhone apps would be required (P2P on your TV would really upset Apple's iTunes partners, not to mention it's iTunes revenue stream. Apple has a chance to expand a vast, untapped market, something it has historically been very good at (iPod and iTunes, the Mac). All it needs to do is seize the opportunity.

But it won't see the light of fiber this year.

Apple is still recovering from the iPhone app store. It physically would not be able to keep up with two review processes at once. My guess is either Macworld or WWDC next year. The Apple TV app store is low hanging fruit. Apple just needs to seize it without all of the other apples rotting.

Posted with LifeCast

23 July 2008

Nevermind

Nevermind.

Posted with LifeCast

Apple.com Is Down!!!

And not with a nice yellow sticky note either! An HTTP 1.1 error! The horror!

Posted with LifeCast

16 July 2008

802.1X And iPhone

I am trying to get my iPhone connected to an 802.1X network. I enter in the network name, my user name and password, and press join. I get to the certificate screen, press accept and... The accept button disappears. Every time.

Posted with LifeCast

15 July 2008

Apple.com

Wow, no one has registered www.%ef%a3%bf.com. This may not seem like anything special, however on Macintosh computers, %ef%a3%bf in a URL resolves to the apple logo. Interesting. .

The Tower of Babble




$824 worth of blackberries. Boxes for a few of them.

Communication?

Only 20% of communication is words. The rest of it is body language, tone, etc.. As we move towards a detached, cell phone and computer society, think about how much is lost. Instead of gauging a person's reaction when speaking to them face-to-face, we coop ourselves away and tap on tiny keyboards. Is this the future of the web? Or is the future of the web a supplement to more interesting things, such as downloadable movies and sharing photos?

Posted with LifeCast

14 July 2008

Apple Does Not Copy And Paste …

Copy and paste has no place on the iPhone. It's another desktop convention that does not scale well to mobile devices. For one, where would they put it? Should every app devote a spot in it's toolbar to a button that brings up a cut/copy/paste action sheet? Why do you need copy and paste on a phone anyway? You can already email URLs from Safari. Applications working together is a much better substitute for copy and paste. If you really want a URL from Safari, put in a bookmarklet and have your app implement a web protocol ((with proper security, of course.) Developers and designers should think of an easier way to get that URL. Because copy and paste can stay on the desktop. User Interface 2.0 is about inter-applicarion communication.

Posted with LifeCast

The Blacberry Thunderless

RIM has announced the blackberry thunder, and I have seen links to it on crackberry.com. All that I can say is that... you've complained about touchscreen keyboards, and you've got the tactile response thing covered, but it will be a really bad experience foe your users to have the two-letters-to-a-key thing going on when they have this beautiful screen in front of them. And I can say that I have had trouble typing on the iPhone's keyboard in widescreen mode, as the keys seem too big.

Posted with LifeCast

Still?

There's still a line at my local apple store (Boston). All that I can say is wow.

Posted with LifeCast

13 July 2008

Protecting Users From Themselv…

There is a law in the computer world that states that the simpler that computers are to use, the less technical the general population of the people using them will be. Therefore, computers will tend to get simpler over time. There is another law in user interfaces. That law states that if an interface is too complex for your mother to use, then it is too complex for general computer users, because the majority of computer users will be able to navigate an interface about as well as your mother can. Naturally, it is the designer's responsibility to consider this when designing an interface. Designing with your mother in mind is called protecting users from themselves.
Protecting users from themselves is harder than it would appear, because users, just like your mother, are not stupid, they're just forgettful. Users will not have a good experience when using your software if they feel that the software thinks it is smarter than they are. The trick here is to provide a good experience to the first time user, while making the person who uses the program every day feel that the program adds to his day. The regular user does not want to see the tip of the day about some option buried in some menu. He wants the software to be intuitive and to bring back the feeling of when he first used the software and it was dead simple to use. The first time user wants the software to be dead simple to use.
Simplicity is not the enemy of power. A designer simply has to layer the interface, presenting the simple interface first. This is not an excuse to have a two different interfaces, however. The trick is to display the simple interface, then hide the power user functions. A good example of this is the Mac OS X dock. The beginning user will simply click on applications in the dock to launch them. The more advanced user will drag the icons around and right click for menus. The expert user will shift-drag the divider to move the edge of the screen the dock is on. (if you thought that every Mac OS X user knew to drag the icons in the dock, think again: my mother didn't.) The dock serves its base purpose, launching applications. People that want to explore further can. But the average "mom" user can use it to serve it's purpose, and is not exposed to anything out of the ordinary. That's the developer thinking ahead, which As we move on into the computer age, will become even more important.

Posted with LifeCast

12 July 2008

LifeCasting

As any iPhone owner would be doing in the last few days, I have been playing around with all of the cool new iPhone apps. Of those, I have discovered a few really cool ones. Number one is LifeCast, which lets you take pictures, geotag them, and optionally post them to either a Blogger or Tumblr blog. Aside from my excitement of being able to play collosal cave adventure on my phone, I have also really enjoyed Super Monkey Ball and Texas Hold'em. Of course, life can't be all fun and games, which is why I also downloaded NetNewsWire, so that when I am not playing games, I can catch up on my RSS feeds. I highly reccomend all of these apps.

Posted with LifeCast

11 July 2008

What Apple Did Not Tell Us


The 3G iPhone launched today. Woohoo. What is far more interesting is the 2.0 software update. Apps! Yay! Super Monkey Ball and Texas Hold'em are both awesome games (note that Super Monkey ball should not be played while driving or in a car because the accellerometer ... works.) However, the update heralded some more subtle changes to the iPhone software:

  1. Alternates on the .com key. Of course, there have been alternates on the .com key since 1.1.4, they've just been specific to the localized keyboards (co.uk on the British keyboard, for example.) Now you can have commonly used top level domains all accessible at the swish of a finger. However, how long its usefulness lasts is anyone's guess.
  2. You can take screenshots by holding the home button and pressing the lock button. I'm sure you heard about this.
  3. WebKit CSS Animations and Transitions are now supported. This should provide for richer web apps, if anyone really does those any more. For those of you not in the know, Safari 3.1 premiered a feature that let developers animate elements on a web page. Now that feature has moved to Mobile Safari.

29 June 2008

Happy Birthday, iPhone!

Today is June 29, and that marks the anniversary of the launch of the first iPhone. This also means that the one-year warrantees for the first iPhones bought expire today. Mine expires in September, so I need to get my iPhone-skydiving experience in soon. Arguably the warrantees expiring don't mean much, because if it hasn't turned out defective or buggy in the first year, it probably isn't. In addition to the warrantee thing, the iPhone contracts of people who bought their iPhone on the 29th last year are half over. Apple's deferred revenue from the iPhone is also half over. Happy Birthday, iPhone!

24 June 2008

Is a broken box model too much?

For so long, web developers have had to deal with the quirks of internet explorer. Today, most focus on their web site working under versions six and seven. Apple has decided that they were not going to put up with it anymore, and decided to drop support for IE 6 in the upcoming MobileMe. According to the linked post, 31% of the people that use IE are using IE 6. According to Wikipedia, 75% of browsers are IE. Now, anyone can multiply those two percentages and come up with the relatively small number Apple is willing to ignore. WHAT! One fifth of the internet! Apple did not have to think about this decision. The decision was made for them the moment they picked up SproutCore, because SproutCore programs do not run under IE 6. Not even a little. The two example programs on the SproutCore homepage do not. SproutCore wants a more complete CSS implementation. Although it works around IE's Javascript DOM (see here), its box model just breaks down in IE 6.

Apple's decision to not support IE 6 in MobileMe is probably for the best. Everyone wants to see a move away from IE 6, including Microsoft, who has been pushing Internet Explorer 7. Although ignoring a fifth of the internet is difficult, that fifth of the internet may just decide to change browsers so that they can do more. After all, most web browsers are free. Legacy users go through a one-time process of switching and the internet is better for everyone. Internet Explorer 6 is now six years old. Isn't it time the web moved on?

Technorati Tags: , , , , ,

20 June 2008

Levreging the Amazing Power Trapped in a Video Card

Apple has its new "Grand Central/OpenCL" feature planned out for Snow Leopard. OpenCL is a feature that uses the immense parallel computing power in a video card for other purposes. Has it occurred to anyone that Apple may be looking at other applications for OpenCL besides the desktop? The fact that this comes from the same company that had the novel idea to put a video card in a phone makes me believe that:

  1. The iPhone 3G may come with a faster video card, both to help Core Animation renders as well as take some of the load off of the processor.
  2. iPhone Firmware 2.0 may include OpenCL already. In the same way that iPhone Firmware 1.0 was a Leopard-based system, iPhone Firmware 2.0 may be Snow Leopard based, or at least take advantage of the graphics card when Core Animation is not being used.
  3. OpenCL will set the iPhone apart from Android, as it will make the already fast iPhone experience even faster. Although users do not normally run very intensive tasks on their phone, the phone may be called upon more and more to do things such as blogging and the like. Parallelism is also useful in things such as fast Javascript interpreters (critical for a mobile device.)

Speed and responsiveness are of the essence on a mobile phone, because to do a task in thirty seconds or less, the hardware definitely needs to cooperate. OpenCL contributes to that speed, for although developers are not expected to fill up a graphics card with their threads, they are at least expected to employ parallelism in their applications. Multiple threads have many uses (background polling, perhaps? If Apple did not already have a solution it would be a good argument), and it is possible that Apple may deliver the first mobile phone that really makes use of multiple threads.

Technorati Tags: , , , , , , , , , ,

Software Vs, Hardware: Android and iPhone


Two major smartphone platforms have dominated 2008: Android and the iPhone SDK. However, these two phone systems have vastly different models: the iPhone chooses to focus on software, while Android focuses on hardware. This is evident in the release of the 3G iPhone, where the only new hardware feature accessible to developers (so far as I can see) is the GPS. Android has a myriad of hardware features, but also a myriad of possible features to support. For example, in Google's Maps application for Android, thene is a feature within street view that requires the device to have an internal compass as well as GPS. It is logical to assume that phones without compasses will not have this feature available to them. The thing is, consumers do not like to see features "grayed out"; disabled features only add complexity and a feeling of "my phone is bad because it Cannot do <insert feature here that the phone does not support but is in the interface anyway.>" Consumers like to be able to use all of the features of their phones, because even if they do not use any of them besides the part that makes calls, they like to have that feeling of "my phone can do this" satisfaction. This also creates a headache for developers, especially those developing installer software, because apps have to worry about dependencies. Because there is no central way to specify the hardware dependencies of an app in android, people may end up installing an application and then finding out that it doesn't work because they don't have a specific piece of hardware. Compare this to Apple's model, where everything will run on either an iPhone, iPhone 3G, or an iPod Touch, which all have pretty much the same feature set. And for those 2.5G iPhones that do not have GPS, it can be assumed that smart developers will have an intervening if statement that uses cell triangulation instead.


In the aforementioned scenario, Android is beginning to look a little fragmented hardware-wise, as it embraces the Microsoft model of providing only the software and letting the hardware makers build the phones, while Apple is taking its traditional stance of keeping its cards close to the chest and exerting a tight degree of control on its hardware and software, which enables it to provide deeper integration. And with a centralized application distribution system, similar to the style of the Linux package manager with money added, Apple manages to make a tidy profit out of it. Google manages to get its money's worth too, just in a different form: people using the internet more often. And with more people to use the internet, more people use search, and thus see its adds. This is not the only effect however, as more people using the internet makes internet advertising that much more viable, due to a larger and more diverse audience. Therefore, Google sells more ads, and as more people set up web sites, Google buys more ad space. Although both strategies are valid, I prefer Apple's strategy of militant compatibility across devices, because it guarantees a better overall user experience with the device. I would imagine user experience would be important for Google, as the better user experience people have with the web, the more they use it. Although each platform is different, Apple and Google may just have to compete for the high-end smartphone market (both phones require fairly good video cards.) Apple and Google have gotten along in the past, the question is: can they do it in a market they are both attempting to flesh out in vastly different directions?

Technorati Tags: , , , , , , , , , , ,

15 June 2008

Open Source is Magic, Not an Excuse For Laziness

Nokia wants open source developers to "embrace the old-school cell phone business model of DRM, Intellectual Property, SIM Locks, and subsidies. Nokia expects the open source developers to do their work for them and make them an OS, albeit an OS that goes against the Open Source philosophy. In the article, it was said that Nokia had once tried to spin its own version, but that the community had moved ahead of them in the time it took to do that. Nokia needs to embrace Apple's model of open source: take the original project, then write some third party drivers and add-ons that can be laid over the original project. These add-ons can have DRM. These add-ons can have Intellectual Property. Now, I am not saying that Apple's model is perfect (their version of most of their open source is a little behind), but it works, and Nokia has the chance to improve that model by allowing the open part of the project be updated under the open source model. Nokia may have to invest a little work in this (Kernel modules have to be recompiled with a major kernel update), but they have everything they need, and with a little intelligence, they can make the system work on their side.

12 June 2008

Certificates and Their Place in the Web

I have implemented zero sign on in my myOpenID settings, and let me say that it is ... interesting. It is similar to having a keychain, not having to type in passwords, however it is also different in that you are already logged in on all sites that support OpenID, and you appear as the same person on all of them. Client Certificates, the method behind zero sign on, may become more common once they are simplified. At the moment though, they remain an esoteric oddity.

08 June 2008

I Sense a Disturbance in the Source

Hmm. I believe SCO owns the Me-inc. trademark. And they provide software for mobiles, such as syncing software... SCO vs. IBM... History may repeat itself.

Sorry to tease you SCO, but...

05 June 2008

Motion in the Semantic Sea

The semantic web is evolving quickly; Apple is expected to unveil MobileMe, a revised .Mac with integrated desktop-quality applications, Google is encouraging semantic web development (and does quite a bit itself). Here are some prime examples of great semantic web applications.

  • 280 Slides. This is a great example of what I expect the semantic web to become: Dynamic languages interpreted into Javascript. This one uses Objective C, but Google Web Toolkit allows you to do it in Java. This is a web app that imitates Keynote. I have a sneaking suspicion that the people at this company either work for Apple as part of the MobileMe initiative, or are very soon going to be working for Apple. I also suspect that they are using a WebObjects 4.5 backing.
  • The Waterfall Software Store (WebKit and Konqueror only). Amazing. Astounding. Probably the fastest drag I've seen, and that's because it's operating system-level. This store uses the CSS property -khtml-user-drag and javascript to provide an awesome integrated shopping cart. It degrades well too. Users of Firefox and Internet Explorer will get 'buy me' boxes on the items.
  • .Mac Web Mail Apple really did well here.
  • Acobat.com The concept of VNC inside a browser window is pretty cool, even if the performance penalties may be a bit greater. In addition, the PDF editing and such are... interesting.

After that there are pretty much the usual culprits: Google Reader, Photoshop Express (even if it does use flash), etc.. The semantic web is starting to grow up, and that is a move that could make or break companies.

Is Snow Leopard really that big of a surprise?

It is rumored that Mac OS 10.6, a.k.a. Snow Leopard, will be previewed at WWDC and announced at the Macworld Expo 2009, just fifteen months after Leopard. What people don't seem to realize is that Panther came fourteen months after Jaguar, and Tiger came seventeen months after Panther. In fact, it is only Leopard that took two and a half years. For a visual representation of this, see this chart. Maybe 10.6 represents Apple's return to normalcy in its release schedule.

04 June 2008

Are touch screens the way of the future?

I have previously written about the difficulty of touchscreens in larger computer screens. The main difficulty: real world scalability. Touchscreens do not scale well from 3.5 inch phone screens to 17 inch computer screens. I have previously seen a good demonstration: touch the top, then bottom of your computer screen for three minutes. I wrote about this earlier. Imagine moving your finger like that for three hours. The thing about touch screens is that they add cost to computers, in addition to the keyboard. And most of what I do when I am using the computer is writing. Most of the time, I am not using the track pad, because reading and writing email involves the keyboard, writing blog posts and papers involves using the keyboard, and writing code definitely involves using the keyboard. The places where a touchscreen would be useful are in multimedia applications such as iLife. Organizing photos is definitely a good application for a touch screen, as is using iMovie. However, note that fingers are a lot less precise than mice, trackpads, or styli. Multi-touch is also a good technology for gaming, as it is possible to select multiple thing, and touch multiple targets, etc.. However, each user's preference for multi-touch may depend on what they do with their computers. If they are heavy writers, they are probably not going to use their touchscreens very much, and they may become extra pricing. If they are heavy gamers, they may use touchscreens a lot.


Although having a touchscreen does not preclude the use of a keyboard, it does drive the price of a computer up. With Microsoft's initiative for Windows seven to employ more touchscreen and multi-touch capabilities, they may drive the price of a normal PC up. With Apple scraping the cream-of-the-crop expensive computer market, Microsoft may have more trouble with Windows Seven, as computers become less affordable and Macintoshes become more viable in that price range, Microsoft may see more switchers. And when consumers are looking to get PCs that do not require touchscreens, and computer manufacturers are looking to eschew the cost of a touchscreen and an expensive OS, Linux may become a more viable option to Windows on low-end PCs. With Apple moving in from the top, and Linux moving in from the bottom, Microsoft may begin to lose market share, or it may fumble it in the same way as it fumbled Vista: higher hardware requirements and a paradox of choice in its pricing scemes. And Microsoft may become less relevant as the tech industry moves on to less expensive things and bigger and better things, with Windows caught in the middle.

At what point?

The Golden Compass has incited a proposal to censor books based on age. At what point do books such as Fahrenheit 451, 1984, and Animal Farm become "Inappropriate for all ages." Will it even matter, because people will be too complacent to comprehend the symbolism? Isn't this net neutrality in printed form?

31 May 2008

Linux off the Desktop

Linux, and open source projects in general, grow in very interesting ways. Because the growth of open source projects cannot be planned. During the Google IO conference, one of my favorite talks was Chris DiBona's Open Source is Magic talk. One of the things explained in that talk was how Open Source software is not planned by a group of executives wearing suits; in fact, it is not planed at all. Most open source software originates with one developer saying "Oh, this would be really cool!", and then implementing the skeleton of that project. Then, Linus's Law kicks in. "Many eyeballs make all bugs shallow." Some developers may be added, and hopefully it is released under one of the licenses that 99.9% of all open source projects use. Although its unpredictability is one of its greatest strengths, it is hard for "industry analysts" to sit down and say that 'Linux is going to go here in five years." Five years ago, analysts had no idea of an eeePC. Of course, this leads to Steve Ballmer saying things like "Linux is a Cancer" on Intellectual Property.


Due to the unpredictability outside of Linux's kernel (which is mostly controlled by Linus and a small group of elite developers) and the current state of the computer market, Linux has grown in interesting ways. Because of its price, it has become an attractive alternative to Windows on low end PCs, because of two reasons: One, these PCs cannot handle Vista's 16GB monstrous installation, let alone its memory requirements, and two, Windows is expensive; even for OEMs it costs about twenty dollars. And in these low-price PCs, every little bit counts.


One of the main attractions of Linux's, and all free licensing, is that there is no implied support. As Chris DiBona said, if you charge any amount of money for your software, you are implying that you are going to fully support it, and you will get emails for help and feature requests. Commercial support for Linux is available, but the community support is just as good, if not better. The community built Linux from the ground up (nearly, see Minix), therefore it is logical that they are the ones that know how to use it the best.


Regardless of the support issues of Linux, it is interesting to see how both Linux and Mac OS X are cornering Windows in the software market; Linux is working its way up from the low end of the scale, with the help of Asus and the likes of the eeePC, and Mac OS X is swiping the "cream of the crop" high end of the market. With the high end users who are likely to pay a lot gone to the Mac, and the plentiful low-cost users switching to a free OS instead of an expensive and draconian rights managed one, Microsoft has no where left to run than be caught in the middle of Apple and Linux. Although Linux is by nature unpredictable, the unpredictability culminating recently may change the scope of the computer industry in the next five years. We just need to wait and see how.

29 May 2008

Touching is Believing ... On a Small Scale

Following the iPhone and its success, Microsoft has decided to bring the touchscreen goodness of a coffee table to its next version of Windows. See here. But is this really a good idea?

The idea of a desktop touchscreen is a tricky concept. Once a developer figures out that fingers are not mice, and that user interfaces should not be designed by the developer, they have to realize that the size of a finger pretty much breaks backwards compatibility with menus. Microsoft has built an empire based on vendor lock-ins and corporate we-absolutely-have-to-use-this-piece-of-legacy-software-that-only-works-on-windows-ness, and if they brand Windows Seven as the we're-so-cool-we-don't-need-a-mouse OS, they may become dead in the water.

28 May 2008

An open world: Spread Virally

I'm here at the Google IO conference, and have just listened to the open social section of the first keynote. One of the interesting things that I found about Open Social is that once a company has deployed their app on a social network, the app is going to spread with about the rate of a virus. Applications on a social network that are picked up by a lot of individual users off of an enormous select applications screen are no good; a social network applications need to be adopted by one's friends. Of course, app developers are not going to hope that friends either hear about their app by word of mouth or another way, apps on a social network are able to send notifications and "invitations" to join the app and share things with your friends. Once a friend sends a notification to another friend, they can either choose to accept it and move on without using the application, or use the application and "pass it on", or send similar notifications to their friends. This provides the "web" diagram commonly linked to social networking. And this spread model is about the same as a virus.

For example, if you assume that each user sends notifications to all of his or her friends, but only three friends really adopt this new app. (Yeah, small number.)if each of those three friends has three more friends that adopt it, there are fourteen people using the app so far. And the number only gets larger. One more iteration and you have fourty-one users, and one more and you have 122. This is the viral spread of social apps; it forms an exponential curve. And, of course, the numbers only get larger. Social apps are not just each person finding and discovering on their own; they are people finding and discovering, and then passing it on. The heavy integration provided by APIs such as OpenSocial are just vessels to get people to let the apps access a contacts list when they send out notifications, and to position them in a place where they are going to be talked about, and thus spread.

Motion in the Mobile Web

One of the advantages that developers on the mobile web has is, if they are going to pursue separating "desktop" sites from "mobile" sights, is that the mobile web is more up-to-date with regards to standards than the desktop web (Here's looking at you IE and, to some extent, Firefox.) Mobile Webkit nearly passes Acid 2, and I am not sure about Mobile Opera. However, mobile browsers, specifically those based on Webkit and Opera, are more advanced than a certain browser that web developers always have to worry about. Plus, all mobile brosers (sans mobile IE) support CSS rounded corners: Firefox has -moz-border-radius, Opera has -o-border-radius, and Webkit -webkit-border-radius. Rounded corners in the mobile web may become a big thing, as it does not require any more images to load.

Today, Webkit dominates the mobile web. Motorola uses it in their MOTOMAGX browser, Apple in Mobile Safari, Nokia for their default browser, and Android. Because of the recent adoption of Webkit as an engine, the majority of the mobile web now has access to a CSS property that may make their whole experience so much better: -webkit-transition and -webkit-transform. I mentioned these two CSS properties previously in my post about the semantic web. Using these properties, web pages can achieve hardware accelerated animations, which is important in a mobile phone, as every little bit counts. And, because most of the mobile web supports this, auxiliary animations may become the standard, making the mobile web a vastly different experience than the desktop web.

Of course, this ignores Windows Mobile, which had 21 percent of the United States smartphone market with all of the individual hardware makers combined, and less than 6% worldwide. (I don't know the actual statistic, but I know that it is less than the iPhone at around 6%. However, a developer has to accept that the mobile web is a worldwide phenomenon. Webkit is the most popular mobile browser, and people may jump on the opportunity to provide the best experience possible to their users, just as developers focus on Internet Explorer on the desktop. Webkit's animations may become what ActiveX used to be on Internet Explorer, and because they originated in an Open Source application and degrade well in browsers that do not support it, it may become a harmless standard.

The Androids! They're compiling!

I'm here at the Google IO conference in San Fransisco, and in the morning keynote we saw a real android phone. My father thinks that it is an HTC Dream. However, the coolest thing was not the way in which the internal compass communicates with Google Street view to provide a three-hundred-sixty degree street view that depended on which direction the phone was oriented; the coolest thing is that it is relatively fast. This is compiled Java. Naturally, this also makes the footprint smaller, as all of that unnecessary stuff that makes the files human readable have been stripped. This is going to set an example for how mobile phones use Java in the future, no more of these silly slow interpreted things.

One more thing: The Android multiple home screens seem like a Frankenstienian monster of the iPhone home screen and the KDE plasma widgets. It is kind of cool how the background moves half a screen when switching home screens to give the illusion of the widgets being closer to the front. Of course, the idea of using a high res panoramic shot for the background and moving it right and left when the home screen is switched is brilliant in itself.

25 May 2008

Web 2.1: Mash-Ups and Agglutination

The next step in the web world of user-generated content is not new ways of generating content, but new ways of consuming more content at once. This new quality of web pages pulling content from different sources and displaying it to the user in one integrated view has become popular with Web 2.0, because a user can see other related things around him, and see how everything connects. An example of a company that nails this is Google. Take a look at any Google Finance page. Google supplies the graph, and a little of the data about the company. However, the majority of it is taken from other places, be it another Google source, such as Google Blog Search, or a non-Google source, such as Reuters statistics. Google makes less work for itself by pulling in data from AOL Finance and Yahoo Finance on its pages, look in the right sidebar. This is also evident in other Google products. Intelligent laziness is a stellar quality in a software developer, and this enables developers and corporations to be lazy and focus on what they're good at (In Google's case, indexing stuff) instead of trying to spread a broad net over every area they could possibly attempt to compete in.


With this new paradigm, there is some risk of confusing the user; all of the other stuff on the page may distract from the main data. However, if the main focus of the page is really big, this should not be an issue. Such mash-ups are made possible by open web APIs and search engines that index everything and then provide that content. It is worthy to note that this is the same strategy that Google uses for online advertising: it displays relevant links next to the content, which the user may become distracted by. If sites use Google's API in this way, it also provides Google with a chance to serve more ads, users are pointed at Google Blog Search and other Google services. Isn't it great that developers can be lazy?

17 May 2008

Making the Jump to the Web

Many applications on the web are now considered by the general public to be "semantic" web applications. In this case, semantic means that it is easier to use compared to the "old web"; it is easier to find, collaborate, and share documents. This can be accomplished through AJAX and the like, or through proprietary formats such as Flash and Java. Paradigms which require the user to reload the page or move to a different page to do something are not considered semantic because they remind the user that they are in a web browser. Ideally, a semantic web page provides an interface that the user is used to, such as .mac web mail imitating the Mail.app interface. Some web browsers provide tools for doing this that degrade gracefully, most notably WebKit (the Safari engine) and Gecko (The Firefox/Netscape engine) provide rounded corners through the -moz-border-radius and the -webkit-border-radius tags. Any browser can provide a system-themed dialogue using javascript, for example:

This input will ask a user for their name and provide a box to answer it in, and it adopts the look and feel of the system it is running on. In this way, a semantic web application can provide a method for user interaction that feels integrated with the system.


A browser that goes above and beyond in terms of integration is WebKit. Integration and looking great on one platform sometimes requires sacrifices on others. However, in most cases, WebKit's integration degrades gracefully, leaving a "normal" experience on another browser. For example, if this page is viewed in Safari 3 or another recent webkit-based browser (like the android browser), hovering over the /rc/etc image at top will cause it to tilt and scale. This is done through the -webkit-transition: and the -webkit-transform css tag. This degrades gracefully in other browsers, leaving nothing behind. See here for more information on CSS animations in WebKit.


Another way to provide more seamless integration is through sliders. It just so happens that WebKit provides a gracefully degrading slider as well: the -webkit-appearance: slider-horizontal or slider-vertical. This will degrade gracefully in other browsers by just leaving a text field for users to enter a value in. For example:


Of course, all of this can be applied to mobile web applications as well. Sites targeted for the iPhone and other mobiles with Gecko and WebKit-based browsers can make use of the appropriate tags, because they don't have to worry about other browsers (besides Windows Mobile's IE). This can be a path to smooth transitions on the iPhone by employing JavaScript for the WebKit animations, or other things

What the "iPhone Killers" don't seem to get

So, RIM has a touchscreen iPhone killer, there is an open source iPhone killer, a Samsung iPhone Killer, and a Windows Mobile iPhone killer. All of these devices have a touchscreen. However, all of these devices also have buttons.


Think of how uncomfortable it is to be typing on these devices' virtual keyboards, either with your fingers or with a stylus, and have to either bend your thumb downward in an awkward way or reposition the device in your hand. This is, of course, true for the iPhone as well. However, it makes more sense on the iPhone as well. On the iPhone, one is going to reposition the device when returning to the home screen and switching activities. However, it is more natural to switch positions when switching activities than to switch positions to bring up a menu to do something in the current activity. The iPhone neglects this model entirely, and just doesn't use menus. If it is not important enough for one of the buttons on the screen, it is probably too distant from the actual function of the application. Granted, some options can be grouped into modal dialogues off of buttons, but those represent distinct groups of the same task. With a traditional "menu phone", there is no distinct grouping to the menus, or even any semblance of standardization. In a touchscreen phone, muscle memory is key, and if these small menus are popping up with different things in different places in different applications, muscle memory will not be built up. For those who think that that's not so bad, consider this: phones aim to get something done where a laptop or desktop computer could not be used or would be awkward. This small space also includes time; if a user is going to be working on something for a long period of time, he or she may as well use a laptop. If things are in different places, can a user get a multitude of things done quickly, quite possibly using different applications? A user may gain muscle memory for one application, but this lack of familiarity loses the "learn one, learn all" principle that Apple and the iPhone really get. However, cell phone manufacturers cry the marketing of "more features", rather than a few, simple features. They don't have to be great, they just have to be simple and consistent.

24 April 2008

iPhones are using a lot more data

A&T proves that iPhones use more data than blackberries, by a margin of about ten times. iPhone users use on average "'well over' 100 MB per month (compared to Blackberry around 10 MB)" (see this article. It just proves that the easier technology is made, the more people will use it and the more often it will be used. However, the main thing to look at here is not the higher volume of people, but the more time people are spending on the mobile internet. Mobile internet usage is no longer a chore, and when people start enjoying technology instead of waiting for things to load, squinting to try to read size eight antialiased text, and restarting after crashes (Safari has them too, unfortunately), technology starts to seem so much more personal and accessible. This then translates into more use, which AT&T has been seeing. However, their revenue per iPhone user has been about double that of a normal mobile phone user, due to the data plan involved.

Android VOIP?

Because Android is completely open, it has very few regulations on the OS. Even if it does, what's to prevent someone from swapping out the regulation program, just like swapping out the dialer?

I bring this question up because I just thought of something: Apple prevents people through its app store from running VOIP applications over EDGE to save AT&T the horror of losing money just due to iPhones. What's to keep android phones from running VOIP over a data network? If it is their method of app distribution, couldn't that be swapped out as well? If not, open source software is easily modified. It's just a thought, but...

12 April 2008

What people don't realize about SOA and Web Applications

Nearly every analyst thinks that web applications are the next big thing in computing. However, they tend not to see the other side of web applications, and all of the turmoil and strife that may come with them.

  1. If you have temporarily lost your internet connection, web apps are useless. Gee, this is a big one. Web apps cannot be used when not connected to the web. Although people using Google Gears and Adobe AIR may beg to differ, web apps rely on an at least somewhat constant internet connection. If the internet evolves into two seperate networks: a network of web pages for information, and a network of integrated runtimes under something such as fluid. Then, a browser can return to being just a browser. However, do standards bodies like the W3C want to tie the web to one proprietary standard? There just might be a format war over the web.
  2. Web apps have no room for abandonware. When a company goes bankrupt or a software project gets abandoned on the desktop, normally the world moves on. However, in the wonderful world of web apps, when a piece of software gets abandoned chaos ensues. In a world of nearly entirely web apps, do you think people are going to have fun downloading all of their files and either working on them locally or uploading them to another web app service? How about your grandmother? Will people even be able to get their files after a web app goes offline?
  3. Web apps using integrated runtimes tie users in to proprietary standards. When you use Google Gears or Adobe Air next, or even play a flash game, consider the company that is providing you with this technology, and consider how they make their money. Do you think that after web apps become ubiquitous the companies are going to let any one write a web app? If this happens, be sure the Free Software Foundation will have something to say about it.
  4. Most web apps require a monthly fee. The current model of software can be compared to a candy bar. With a candy bar, you buy it, and you own that candy bar, free to give it away, and if you give it away you no longer have the candy bar. The same is true for software currently. When you buy a piece of software, either in a box or online, you are presented with a license agreement, which absolves the software company of all responsibility for anything you do with the software and anything the software does. With the current model for online services and web apps, you either get something for free and see ads, or pay a monthly fee. This is because the bandwidth and costs for running the app cost money, and the software company does not want the software it sold you to cost it money. With web apps, you cannot easily give software away, you can just use it for yourself.
  5. Web apps have an unfamiliar user interface. Web apps do not easily integrate with the theme of the operating system, so users have to find their way around them on their own, with little to no consistency between one interface and the next. Completely cross platform interfaces do not work well either, as can be seen when one tries to launch a java app on a Mac or on Linux. Once again, if your grandmother is used to one interface at the moment, will she be able to navigate the five of the five different web apps she will be using.

Web apps are not always what they are cracked up to be, and it seems that people are willing to look past those flaws to point out the advantages, such as someone else being responsible for hard disk failures, and the fact that web apps provide a convenient way to inspect all of your data and keep it virus-free, the latter being a topic that may become irrelevant soon. However, in the next few lines I am going to make my biggest prediction yet. I believe that we are in the middle of a web app bubble, and that there will be a web app bust similar to the dot-com bust. Look at all of the people investing in companies such as Google and Yahoo, and look at all of the companies trying to implement web apps, such as Microsoft. However, eventually the web apps may bust, for the reasons outlined above or for a different reason, and when that happens, prepare for the latest fad to become really uncool.

iPod Touch + SDK = Tricorder?



The iPhone SDK should be out in June. However, the thing that most people don't realize is that the SDK also applies to the iPod Touch, and the myriad of practical uses. For example, the medical database shown off by Steve Jobs when he announced the SDK. Say your doctor walks in. He looks at your current health, and says he needs your health records. He can now either go off to an archive and find your file, or use his iPod Touch to search for you in a medical database, which will tell him your hereditary dispositions, your past diseases, and the treatments prescribed before for those diseases. Of course, this would require your hospital to have wireless, which most hospitals already do. It also requires a centralized storage database - a potential security risk for your health and identity records. However, if the advantages outweigh the disadvantages, it could work.
One of the reasons I think the iPod Touch is more attractive to businesses than the iPhone is because most businesses already have a phone system, possibly running VOIP over their wireless network. A company's phone system represents a significant investment, and while replacing all of its phones with iPhones would be a great undertaking, the iPod Touch fits into a different category. While mobile phones have absorbed some of the PDA market, they provide clunky interfaces for handling data. The iPod Touch's data interfaces are more sophisticated.
All in all, businesses may see the iPod Touch more as a tricorder-like device, good at managing data like a normal iPod manages songs. A few forward-thinking companies may adopt iPod Touches in a PDA-like capacity, and as the iPod Touch grows and evolves (possibly to allow add-ons in that 30 pin docking port), companies will see the value of having all of the data at your fingertips in less than the great amount of time it takes to use a phone.

11 April 2008

On iPhone cell tower triangulation

Did you know that the clock on the iPhone home screen is intelligently synced to the triangulation feature in google maps. A general estimate of location is good enough to set the time zone by. However, triangulation does not work well in a building. Right now my iPhone tells me that it is 2:23 PM. It is currently 10:23. Cool feature, it just has a little trouble with buildings.
Apropos, I have found Google maps triangulation to be present in one other aspect of the system: the pane of the weather widget when the program is started is synced to the location, but only if you have that location in your weather places.

22 March 2008

The amazingness of iPhone-Friendliness

Websites can have an icon so that when a person puts that site on their iPhone home screen, they see that icon instead of a snippet of the body of the site. Think of it as a hi-res favicon. Here's mine:


Now, if you put the /rc/etc blog on your home screen, you will see that icon, just with rounded corners and a glossy look. Just one more thing in making my site perfectly iPhone friendly.

On Running Multiple Apps on the iPhone

So, the iPhone won't run multiple apps, due to a restriction by Apple. This is a good idea, as has already been explained many times: multiple apps on a phone with 128 MB of RAM and a processor underclocked to 412 MHz. However, some useful things are also shot down such as,

  • The "badging" of icons on the home screen won't be in real time. Apple's mail app listens for when an email comes in, and then displays an update number on its icon. Apple's SMS app listens for SMS messages, and does the same thing when a message comes in. Third party apps won't be able to do this in the background, because they won't be running anything in the background. This will most likely be most damaging for a couple of kinds of apps: IM, Social Networking, Third-Party Email, VOIP. However, VOIP apps also face a special problem, specifically,
  • VOIP apps cannot receive calls when they are not running. HUGE downside. According to apple, VOIP can only be used on a wireless network and not over the air, but if I was going to download and install a VOIP app, I would want to be able to receive calls at home using VOIP as well as the cell phone. Either an apple-blessed third party VOIP provider will get to run things in the background, or VOIP on the iPhone will be limited to making calls. As I said, HUGE downside.

06 March 2008

iPhone SDK vs. Android

So, engadget published this table comparing the iPhone SDK, the iPhone toolchain, Windows Mobile, and S60. There are some things that appear to be inaccurate, such as no certificate signing and only certificate signing both being bad things. However, they forgot to mention something else still in development, specifically, Android. So, lets see where Android fits in on the table.

iPhone SDK (Official)Android
CostFreeFree
Wide AvailablilityJune2008
Native DevelopmentYesYes
Languages for Native DevelopmentObjective CJava
Digital CertificatesRequiredUnknown
Retail SupportFull, 30% Revenue SharingUnknown
Platform MaturityBETABETA
First-party supportYesYes
Community SupportJust getting startedJust getting started
App Installation MethodDirect via App Store, iTunesUnknown
Emulator AvailableYesYes
Remote DebuggingYesNo models yet
Target Device VarietyiPhone + iPod Touch (Some may argue this is a feature)Linux phones
Touchscreen SupportYesYes
App availability and varietyNone, getting bigger by the minuteUnknown
Underlying ArchitextureCocoa, Mac OS XLinux

29 February 2008

Apple, Open Source, and the iPhone SDK

So, Apple is not going to require that free iPhone/touch apps are delivered through iTunes. Yup, Apple is making a provision for free software? Well, their kernel is based on it, so is the iPhone's browser; and any free software written for the iPhone can always be adapted and built on later for Apple. What will be really interesting is to see if installer.app makes the cut, because package managers may make things more complicated.

26 February 2008

A forecast of things to come

I've been thinking about Android, and the iPhone SDK lately, and I have formulated what I think will happen with the mobile industry over the course of the next five to ten years.

  • Handsets and providers that provide an excellent all-around mobile experience are going to sell well.This seems like a bit of a given, but I would like to start here. Apple and AT&T provide a complete mobile experience by working together, from registration in iTunes without having to talk to an AT&T customer service rep to the method on the handset's keyboard that lets you type alternate letters. The iPhone provides a complete experience, and what other handset manufacturers and carriers need to get is that multi-touch is only a vessel for making the iPhone experience special. The iPhone could have been done just as well, albeit differently, without multi-touch. The innovative people at Apple would find a good way to make some other input technology suit their needs. There are a lot of handsets embracing new things hardware wise, but not a lot of new things software-wise. The need for deep integration between hardware and software at the mobile level is something that these handset manufacturers need to get in order to be successful as the mobile market evolves.
    One of the things that makes the iPhone experience such a good experience is that it has a fast enough processor to run graphics really, really well. The iPhone is estimated to have a processor clocking in at somewhere around 500 Megahertz, which allows it to show movies, run a compositor, and perform its fancy animations.
  • Handset makers will be forced to adopt phones with better processors. Currently smartphones run at somewhere between 100 MHz and 150 MHZ. As the market for mobile phones grows, vendors will be forced to adopt faster processors. The processor used in the MacBook Air may become a mobile phone processor, clocked down to about 1.0 GHz to save power. Handsets will begin integrating video cards by default to run OpenGL accelerated graphics. Handsets will have more power-efficient 3G chips and bigger storage media.
  • XMPP will become the new messaging and alert service of choice. The android phone already includes XMPP as a way to get messages. With XMPP, services such as news and weather alerts will become better, an RSS reader-like application will be able to run on the phone, allowing customers to set up specific feeds as to alerts, and unlike current SMS alerts, the alerts can have coherent formatting. XMPP also provides for chat and IM services (jabber), and can send more than just text and small images, making SMS and MMS more obsolete. And unlike SMS and MMS, the jabber services will cost only a monthly data plan.
  • More phones will come bundled with data plansAll of the new technology described above requires money to spend on phones. Currently in the United States market, mobile phones are subsidized by the carrier, which is then made up for with a contract for a certain amount of time. As data plans start to become more ubiquitous, carriers will be able to charge more per month for them, enabling greater subsidies. Expensive phones with two year data plan contracts may become as cheap as non-data phones.

In the end, it all boils down to a more complete experience. Integration between hardware and software, good hardware specs backed by subsidies, and XMPP or a better version of SMS that makes use of data will make up the next couple of mobile generations. A laptop processor fits into a phone, and things such as Android and the iPhone drive the market to brave new worlds.

23 February 2008

Cold Boot Attacks


There has been a little fuss about cold boot attacks recently, and I've been thinking about it. While it cannot be prevented altogether on the software/firmware side, it can be made harder to orchestrate. First, all macs for a long time now have come with a feature called "Automatic reboot after power failure." It can still be found now under energy saver in the system preferences dialogue. This was achieved by an Open Firmware extension, and with Intel Macs an EFI extension. The logical thing to do to prevent against cold boot attacks that involve booting off of a USB key is to have the power failure extension clear the key from RAM by writing zeros to it if there is an encrypted disk. Since Open Firmware loads before the operating system, the key will be long gone before that pen drive operating system has a chance to load. An even simpler way to do it would be to just set the firmware to clear the contents of memory, commonly known as ECC, or Error Correcting Ram.

Preventing against the transferring to another computer would involve more difficulties, since the cutting of power can't be anticipated. The best way to do this would be to use a kind of volatile RAM that does lose its contents immediately. However, a way to do this software level is to clear the key when the computer goes to sleep, then require the user to enter the password to get the key once the computer wakes up again. Of course, the best defense is still shutting down your machine until it goes into ACPI G3 mode (off).

09 February 2008

Thoughts on the iPhone SDK

Well, the iPhone SDK is slated to come out near the end of this month (I'm guessing the 26th). Just some conjecturing about some security things not present in the jailbreak. First, permissions. Nothing will be run as root. Nothing. Why? Because the iPhone user's password is set to null; the hash does not match anything. So, there will be no way to elevate to root on the iPhone? Partially correct. There will be no way to run a process as root on the iPhone, however folders with permissions of root will be writable when the iPhone is mounted in iTunes, just like currently. This will let people load things in /Applications, and currently lets Apple update the firmware.


Second, application distribution. As of right now, all applications for the jailbreak version are delivered through installer.app. There have been theories that Apple will charge a distribution fee for iPhone apps through iTunes. I do not think that this will be the case, because Apple has provided other application directories, including one for the iPhone web apps. What's to prevent them from making a mobile applications page today, and host developer's applications for free, like in their other application directories?


That, of course, brings us to the topic of downloading and installing web apps. My best guess is that web apps will either be delivered as .app bundles, or as a special iPhone installer, such as .ipkg, to avoid confusion between desktop and mobile apps. This would fit in well with my predicted iPhone interface builder files.


Lastly in my conjecture, I think that Apple and its partners are going to release several applications at the same time as the SDK, such as Lotus Notes, a native bejeweled game, and the possibility of a company like Nintendo releasing some great touch screen games.

iPhone Style





So, I spent last night making my blog printer friendly and iPhone friendly. The iPhone friendly version still has a little work to go, but it works right now (the sidebar is hidden and there is some special formatting). I acknowledge that it is a work in progress, and it may still change over the next couple of days. It should be really cool when it is done.

08 February 2008

Another example of bad web form

I was looking over the CSS Media tag reference, part of CSS3 and implemented less in-depth in CSS2/HTML4. Distinguishing between print media and screen media is available in IE 5 and above, all versions of Firefox, Safari, Konqueror, I think Opera. Why do we still have these funny printer friendly versions for articles on sites such as the New York Times. If the New York Times removed their printer friendly link for one year and instead had a short text box that basically says,

"This page uses standards-compliant web technology to automatically print in a printer friendly version. Supported browsers include IE5 and better, Safari, Firefox, Opera, and others,"

that would be great. Such a thing would stop people like my mother from not seeing the printer friendly link and printing three or four pages to get the one page of content. It just takes better coding, and a knowledge of CSS. As the web evolves, hopefully we will begin to see more tree-friendly sites as well.

15 January 2008

Amazing Things

Yes, the Macbook Air is freakishly thin. Apple has done some pretty amazing things. However, I think that they may be spreading themselves a little thin, from the iPhone to the Mac, to the Apple TV. I just fear that something like the iPhone delay may happen again. I realize that there is a lot of pressure on Apple, both to do impressive things and to make impressive amounts of money to impress shareholders with. Steve Jobs is a brilliant manager and I am sure that he has some plan. Continue to expect great things.

A Halo of Air


Many people are familiar with the "iPod Halo Effect," or people with iPods buying Macs, iPhones and Apple Products. iPhone owners hear many reactions similar to, "You have an iPhone?!?" Unless you've been living under a rock for the past year or so, you've heard about the iPhone.
I believe that Apple wants the same thing to happen with the MacBook Air. People will hear about it, remember it as that ultra-tiny notebook and want one, just like the iPhone. Hm, might this increase Mac adoption, at least in portable computers? We'll have to see.

13 January 2008

Why touch screens are hard

The world is abuzz with talk of a new mac tablet or ultra-thin MacBook, and with Macworld now only one day away, people are brimming with anticipation. However, I do not believe that a mac tablet is really viable. Here's why:

Current Tablet PCs use an incredibly low resolution display to make targets bigger. A Macbook tablet would probably have a display comparable to today's model, Which is pretty much required to run OS X. Anything less would most likely not be able to fit the system preferences window on the screen. Then you have a problem, specifically the size of the menus as a target. this is something best shown in a picture:

That little dot is about the size of a stylus tip. That big dot is my finger (approximately). Even the stylus dot in the center of a menu item is still pretty close to the edges. Stylus input programs and operating systems should have a high tolerance for error and large targets; normal Mac OS X is too unforgiving if I stray a pixel or two, ano don't get me started about using my finger (it spans three menu items).

I am more willing to believe that Apple is planning a 12" Powerbook-esque ultra-portable and thin MacBook, because it would be stylish. Every now and then, Apple refreshes its product line, like how the iMac got a titanium case. The MacBooks were last visually refreshed when they first came out, so it would seem that they would be due for a refresh. What better difference than thinner? Refreshing.

07 January 2008

Brave New Worlds

Welcome to 2008.

I think that my first blog post of the year needs to start with a little rememberance. And, to quote directly from Apple's website:

"Apple ignited the personal computer revolution in the 1970s with the Apple II and reinvented the personal computer in the 1980s with the Macintosh. Today, Apple continues to lead the industry in innovation with its award-winning computers, OS X operating system and iLife and professional applications. Apple is also spearheading the digital media revolution with its iPod portable music and video players and iTunes online store, and has entered the mobile phone market with its revolutionary iPhone."

There has been much talk in the news about the Macworld announcement, and whether there will be a sub-notebook, a 3G iPhone, an iCar, a tablet, and iTunes movie rentals. For now, I will focus on the sub-notebook and the tablet.

Currently, both ultralight notebook computing and Tablet computing is not mainstream, it makes up 1.5% for tablets and for ultralights; well, it can't be found on the first page of a google search for it and therefore is too small to matter (I would guess around 0.5%). So, if Apple makes a sub-notebook, a tablet, or a sub-notebook tablet, it will have to attract more than the 2% of mobile computer users that are interested in this kind of technology. Apple sells 5 computers. It would not necessarily be worth it for apple to add another computer into the mix, and therefore a harder choice to make at an Apple store, just to capture a small part of the market for computers overall.

What I would expect in terms of branding is for Steve Jobs to announce "We've made the MacBook thinner!" at Macworld, and then reveal the new ultralight MacBook that would replace current macbook models. Just a MacBook upgrade that makes it even more portable.

Off of the top of my head, I can only think of a few reasons to use a tablet, and most of them are for designers. Throw a little Apple implementation into the mix, and the market opens up a little. However, try these exercises to remind you of what using a tablet may be like.

  • Touch the top, then the bottom of your screen repeatedly for three minutes.
  • Write (with a pencil) for a couple of hours.
  • Compare your finger to the size of the icons in the menu bar, and the size of the menu itself.
  • Draw 1/2 cm boxes on a piece of paper at irregular intervals. Quickly use a pencil to draw a dot in the center of each box.

The iPhone can pull off all of its touch screen awesomeness because it is in a very small form factor and large, finger-friendly buttons and targets. The Mac OS would have to have a major UI overhaul to accommodate simple tasks such as pressing the close buttons– and not all of the apps will follow this new behavior. In addition, if one wanted to use an Apple tablet with a tablet version of Windows, Apple would need to provide various hardware buttons on the tablet itself to appease the windows gods. Oh, and just a final blow: Text recognition does not work in Parallels.

Apple has a fair bit of work to do before it starts implementing a tablet, however an ultralight may be possible, or a new Apple TV, iTunes rentals, or iTunes radio. It's all in the hands of the gods, now.