Friday Jan 08, 2010

Web Apps vs Native Apps: Will we ever fully switch?

When Apple introduced the iPhone, the story was that we didn't need native apps, instead the Web was the application environment and apps should just be written to run in a browser (Mobile Safari).  This didn't last too long as Apple succumbed and the App Store was born and by all accounts, other than developers who can't get their apps approved, it has been a wild success.  I have to wonder though if Steve intentionally made the whole process somewhat onerous to try to encourage folks to still write to the Web as a better and preferred way to get apps to the device.

The success of Apple's App Store has led to other "app stores" or "marketplaces" from mobile phone providers to carriers to the Java Store and more.  So it isn't terribly surprising to see Intel launch a netbook app store, although I have to wonder if the motivation is just to keep up with the Jetsons or if this is the right model for netbooks.  After all, isn't the point of the netbook to leverage Web applications?  If so, is having a store for native apps really needed or desired?  It would seem it is just giving users a crutch to avoid making the transition to the world of applications on the Web.

So why is this?  It is a combination of several things including more developers being comfortable and adept at creating native apps, HTML5 not being ready yet (an excuse for the original iPhone, less of one now), and users being familiar with native apps or fearing not having access if they are out of range of the network so thinking they have to have them.

But there are significant advantages to a world of Web apps.

For developers, while it may never truly be write a single Web app and use it from any device, there is a whole lot more reuse and leverage from creating apps for the Web rather than creating N native variations.  Particularly when platforms like the iPhone refuse to support Java or insist on requiring development in Objective C.  Being able to have an addressable market of multiple mobile and desktop platforms is a huge advantage over targeting one specific platform.

For users, using Web apps allow access to the same app and data from any device without having to perform complex and error prone synchronizations.  Whether you need to access your e-mail, calendar, documents, games, whatever, being able to do so from multiple devices should be a huge benefit if users can just get over the notion that they don't have the app in their possession on their device.

So when will the transition occur?  It will happen first with mobile and lighter weight "netbook" type of devices.  These are (or should be) designed for the Web and will have less storage and general horsepower to run native apps and so are well suited to it.  It perhaps will take something like Chrome OS to do it as other Windows, Linux, or OS X based devices will always have at their core an OS built for native apps.  Chrome OS will change this as far as we can tell.

In the mean time, go ahead and make it a point to ask "could this be a Web app" when creating that next application.  You may be surprised what is possible and how many more devices and users you can reach. 

Monday Oct 12, 2009

iPhone Voice Memo App Broken

One of the cool features of the iPhone OS 3.0 was the built-in Voice Memo app.  No longer would I need to deal with a separate app and having to transfer the files around awkwardly as they just sync with iTunes nicely.  WooHoo!

Well, it was a woohoo for only a bit, as I discovered this weekend that the Voice Memo app seems to stop recording around 25-30 minutes now.  A bit annoying as this caused me to miss about 10 minutes of what I was recording as I didn't notice it right away.

"Why might this be the case?" I asked.  A bit of Googling revealed this thread on Apple's discussion forum where the consensus is that OS 3.1 broke this and introduced somewhere around a 74.3 MB file size limit.  Depending on what you are recording this causes it to stop somewhere between 25 and 35 minutes it would appear.  Worse, reports are that when it stops you can't start recording again for a minute or so.

So, what was a cool app that solved a real use case is now useless for anything that might go over 20 minutes.  Back to using 3rd party apps as it doesn't appear Apple has even acknowledged this issue let alone said when it might be fixed.  Has anyone else ran into the problem or found a solution other than a 3rd party app? 

Thursday Oct 01, 2009

Amazon Public Data Sets

I follow the Amazon Web Services Blog and recently saw several announcements about new Public Data Sets being available.  What is a public data set you ask?  From the web-site:

Public Data Sets on AWS provides a centralized repository of public data sets that can be seamlessly integrated into AWS cloud-based applications. AWS is hosting the public data sets at no charge for the community, and like all AWS services, users pay only for the compute and storage they use for their own applications.

What is cool about this is that it greatly simplifies getting access to large sets of data that while public in the past, were difficult to work with as you had to download, install, load, and otherwise provide the infrastructure for and manage all the data yourself.

The one that caught my eye was the Daily Global Weather data set.  Now, I haven't used this yet and there are other great resources for local weather station data like the Weather Underground (where I upload my station data by the way), but this is a great way to gain access to a bunch of historical weather data.  Other data sets include census data, Wikipedia data, geographic data, and more.

One drawback for data sets that are continuing to be updated each day, like historical weather data, is that you aren't accessing a continually updated data store, rather you are creating your own EBS volume from a snapshot.  This means (if I understand all this correctly) that if you need the most recent data, the snapshot must be updated regularly and you would have to update your EBS volume from it manually.  Or perhaps there are tools to assist with that.

All in all, a useful service, and a great move by Amazon to drive more users to EC2. 

Friday Sep 25, 2009

iPhone MMS is here ... I think

AT&T released today the long awaiting carrier settings that enables MMS on the iPhone.  This is great, and woefully late given that every other phone has supported MMS for a long time, so I thought I'd give it a try.

Getting MMS enabled involved checking for updates in iTunes and then syncing my phone.  Once done, you have to reboot.  Upon rebooting running the MMS app provides for attaching a picture or when using the Photo app you can now compose an MMS from there.  Great!  So how well does it work?

Alas, I tried sending an MMS to my boss and he received nothing.  I sent again, and still nothing.  So I sent an SMS and that got through fine.  So something isn't working with MMS.  Now, he has not applied the update on his iPhone yet so perhaps that is the issue.  But in the past when an iPhone was sent an MMS at least an SMS was delivered with a convoluted link to a web-site where you could enter a password and view the media, so I'd think it would have still done that, but no.

What are others experiencing?

I'll be able to update another iPhone and try between updated phones shortly and will report back then.

Update: Original try was to a 3G running 3.0.1.  Subsequently tried to one running 3.1 but without the carrier settings and it too failed.  Updated that one with the carrier settings and now it works.  So it appears the MMS hack of the past does not work now if the MMS is sent from another iPhone. 

Tuesday Sep 22, 2009

Google Sync now supports Mail on the iPhone

I became a Google Sync user awhile ago when they released support for over the air calendar syncing from the iPhone.  It has worked well and I've had no issues with it.  At the same time, and actually before using Google Sync, I have been using the built-in Mail app on the iPhone to access my Gmail account which treats it like an IMAP server and this too has worked well.  As Google Sync didn't support mail, this meant configuring two accounts, one for calendar and one for mail, but you do that once and then you are all set.

I was interested then when Google announced today that Google Sync was adding mail support, and especially push mail support for Gmail.  Now, I have to be honest that I'm perfectly happy with my current setup and in fact am leery of adding anything with push as it is likely to impact battery life and we all know that under heavy use the battery on an iPhone is not its strongest point.  And I'm not really losing anything without push as I get enough e-mail that my phone would be going "ding" all the time and because I get enough mail, I don't really need a notification to know I have new messages so I just go run the app and let it download the messages then and I'm set.  The few seconds spent downloading is well worth not taxing the battery.  But I decided to give it a shot anyway as I can always turn push off and have the optimization of a single account to configure and manage.

So I followed the instructions, deleting my existing Gmail account then going to the settings for the Google Sync account and turning on mail syncing.  Worked great, that is until I went to try to look at my mail.  I immediately get a message saying unable to connect to the server and no messages are listed.  I try again a few times and same result.  After waiting a bit and trying again, it finally works and I can see the messages just like I could previously.  So what, I had that before and while I now have a single account to manage, lets see if push really works as that would be the perk of having this.

I make sure push is turned on, get back to the iPhone's Home screen and send myself an e-mail from another account.  I stare closely at the Mail app to see the unread message count go up and listen for the ding, but nothing.  I wait 30 seconds and nothing.  A minute and nothing.  In the meantime in the web interface on my laptop I saw the message arrive about 5 seconds after sending.  "What's up?" I ask.  I again run the Mail app and get the connection error again.  So I give up for the time being.

An hour or two later I gave it another shot and this time there is a friendly "ding" and the message count jumps up, ... but by 3?  I look at the web interface and only my test message arrived so that doesn't make sense.  So I run the Mail app to see what the three messages are.  To my surprise when I go to my Inbox the Mail app doesn't show me any new messages and proceeds to try to connect to download them.  Huh?  I thought I had push?

I suspect that the failure to connects and perhaps other issues are caused by Google's servers being overloaded, so I may try again later.  But to test the theory out I turn mail off on the Google Sync account and recreate my old Gmail account.  When I use it, the Mail app connects quickly and downloads 200 messages in seconds.  Hmmm, so either it isn't the servers, or the more likely explanation is that the "Exchange" servers supporting the push and syncing are overloaded but the standard servers for serving up POP and IMAP are working just fine.

For me, I'll just stick with my 2 accounts and no push for now.  I may try the push again later when Google figures things out.

But what is your experience?  Have you successfully gotten push working from Gmail on the iPhone?  Post your comments!

Monday Sep 21, 2009

AT&T asks consumers to pay more for better cell coverage

AT&T has been the brunt of many complaints from all over about poor cell coverage in certain areas.  I don't know how many times I've read someone saying they would love to get an iPhone but won't because of AT&T's coverage.  Now I actually haven't had too many complaints and have been a PacBell/AT&T/Cingular/AT&T customer for some time.  Perhaps I'm just lucky or not picky enough.

For those that do perhaps have poor coverage near their homes, AT&T is now offering a "personal cell" you can install at home.  Called the MicroCell, it is a femtocell device that is supposed to boost 3G signals indoors, and a phone is supposed to be able to switch to/from it and the regular 3G network.  It is nice that AT&T is doing something to help customers in poor reception areas, but that is where the kudos stop.

First, the way it works is that the femtocell ties into your home internet connection to get to AT&T's network, effectively routing your cell phone connection over your cable/DSL/FiOS connection.  Sounds nice, but if you were going to make calls over your internet connection why not just use Skype or some VoIP provider like Vonage and avoid the hassle of another device?  You say you want to receive incoming calls?  Fine, get a Google Voice number and give that out instead of your mobile number and use it to route incoming calls wherever you want!

Second, while the femtocell (it is a fun word to say so I'm writing it a lot, go ahead, say it out loud 5 times in a row) will give you a stronger signal at home, if you are indeed in a poor reception area, once on a call, you are stranded at home as the call will drop if you leave the range of your femtocell.  So it is really no better than a cordless phone at home and see the Google Voice suggestion above to handle the incoming calls.

Third, they are charging $150 for the device.  Ok, they say there is a $100 rebate, ... IF you sign up for a $20 monthly plan!  So let me get this straight.  I'm already paying nearly $100 a month or more for my voice and data plan, another $50 plus a month for high-speed internet, and because the former doesn't work well you want to use the service from the latter to "fix" it but want to charge me for equipment and another $20 a month on top of that?!

Before piling on too much, it is just a trial right now and pricing when they roll it out could change.  And AT&T shouldn't be singled out as both Sprint and Verizon are reportedly doing the same thing (not but with 3G speeds, so give AT&T credit there!) and are probably subject to the same criticisms above.

So give them credit for identifying a solution for a common problem, just as a consumer don't give in to paying more money on top of what you are already paying.  There is other technology that can leverage what you are already paying for to help solve the problem.

Thoughts?  Agree or disagree?

Saturday Aug 29, 2009

Snow Leopard is here! My initial review.

My Snow Leopard DVD arrived yesterday but I didn't have a chance to install it until this evening.

I actually did an upgrade, upgrading a MacBook Pro from 10.5, and the upgrade itself took about 45 minutes.  One strange thing was during the middle of the upgrade the screen went 90% dim and I could hardly read how much longer it would take.  But alas everything completed without a hitch and the machine rebooted.

Since one of the perks of the new OS is improved performance, I had done a few very unscientific tests on the machine prior to upgrading and then did the same tests post upgrade.  The tests I performed and timed were:

  • Boot and login.
  • Start NeoOffice.
  • Open a simple .ods file from a fully closed NeoOffice.
  • Start Safari pointed to the default apple.com page.
  • Start Firefox pointed to google.com.
  • Open Eclipse.
  • Re-open Eclipse from fully closed.
  • Transcode a .wmv video to .ogv format.

After these tests I also looked at memory usage to see where things stood.

I did perform the tests on Snow Leopard twice since I was a bit surprised by a few the first time.  Note that in each case the tests were performed in order so everything started from a fresh reboot.

Action Leopard Snow Leopard (1) Snow Leopard (2)
Boot to login screen 40 33 35
Start NeoOffice 23 17 20
Open .ods in NeoOffice 10 12 9
Start Safari (apple.com) 8 5 4
Start Firefox (google.com) 8 8 6
Open Eclipse 17 36 19
Re-open Eclipse 7 7 7
Transcode WMV to OGV (wall clock)
4:52 5:14 4:51
Transcode (user time) 4:48 4:55 4:46
Free (GB)
2.43 2.03 2.14
Wired (MB)
153.5 304.4 162.8
Active (MB)
376.68 524.7 403.3
Inactive (MB)
45.21 157.3 310.7
Used (MB)
575.39 986.4 876.8
VM size (GB)
30.2 104.04 107.73
Page ins (MB)
243.07 916 224.6
  • So Snow Leopard boots a little faster, but not dramatically so.  Further, on the first reboot, completing the login took about 5 seconds whereas with Leopard it was just a second or so.  The second test on Snow Leopard was in the 1-2 second range so perhaps it was just something with the very first login.
  • It would appear NeoOffice itself starts a bit quicker under Snow Leopard, but opening a spreadsheet is roughly the same.  I'm not sure if anything can really be concluded here.
  • Safari certainly starts quicker, I'm not sure if there is a new version that is faster or if they sneakily have it partly loaded/started behind the scenes.  Firefox took basically the same time to start but was perhaps slightly faster under Snow Leopard.
  • Oddly, the first time under Snow Leopard, Eclipse took much longer to open than with Leopard.  This was the big reason I did a second test and in that one it was closer to the same time.  I'm not sure if there was something about running Java the first time or what.  In both cases re-opening Eclipse after a full close was the same time.
  • Surprisingly the transcoding of the video was slower under Snow Leopard the first time.  The second time it was just about the same.
  • The memory management with Snow Leopard seems to be quite a bit different as performing the exact same steps resulted in over 50% memory being used, although in the second test the bulk of this increase was inactive.  But the VM size was over 3 times greater in each case.
As I said at the beginning, not terribly scientific, but at the end of the day it appears the only noticeable improvement is in the Safari initial start time which is less than I had hoped for.  I'll certainly be reading other reviews and looking for other improvements there might be in the coming days.

Wednesday Aug 26, 2009

HTML5 in Action; Plugin-free video and browser geolocation

I mentioned HTML5 in my links entry from yesterday and reading about what is coming is great, but seeing some of it in action is even better.  So I've created a few examples of a couple new features that I describe below.

The first is the ability to have video in web-pages without requiring any plug-ins.  This is done with the new <video> element, an example of which can be viewed below or here which happens to show Galen Rupp going sub-4:00 earlier this year.  But take a look at the source of that page and see how simple it is:

    <video src="RuppMile.ogv" controls/>

Isn't that easier than relying on plugins and or much more complicated HTML that has to download and use Flash? 

Now, a few caveats are that (to my knowledge) this only works in Firefox 3.5 and Safari 4 and the video has to be in Ogg Theora, Ogg Vorbis, or WAV format.  The Ogg media formats are not patent encumbered like other formats are so look for their growth and adoption to increase.  Learn more about it here.

The second is the use of some geolocation APIs that are not part of HTML5.  This can open a whole host of possibilities for applications to take advantage of location and deliver innovative applications for consumers.  I've created a simple example that uses the information provided to create a Google map centered on your location.  Try it here.

The source for this is a little more complicated due to the Javascript and use of Google's APIs but it boils down to the following:

navigator.geolocation.getCurrentPosition(showPosition);

function showPosition(position) {
    var latLong = position.coords.latitude + ',' + position.coords.longitude;
    document.getElementById('latLong').value = latLong;
    loadPage();
}

The first line of code registers a method to be called when the location is known and when that method is called it can retrieve the coordinates and do with it what it wants.  In my case I load the map.

Again, this requires Firefox 3.5 where it uses a service to get your location from your IP address which is somewhat accurate, or you can use Safari on your iPhone which tends to be much more accurate with its cell tower triangulation and GPS capabilities.

Grab Firefox 3.5 and start giving HTML5 a try!

Galen Rupp video requiring no Flash, Silverlight, or other plugin!

Tuesday Jul 28, 2009

Apple Stifling Innovation

I previously wrote some initial and additional thoughts on Google Latitude highlighting some of the pitfalls of it being browser based.  There have been others that have written but this one points out that the story of not confusing the user with the Maps app has a bunch of holes in it.  In the end, this stifles innovation.

Then I come across a story on Apple blocking Google Voice from the App Store that reinforces the notion that they are stifling innovation.  Now, in this case it is likely due in part to pressure from AT&T, but there are official Google Voice apps for other mobile devices so it is still Apple that is caving in this case.  And if true that Phil Schiller had personally approved it and had to call to apologize, it is more embarrassing but also probably proof that it came from AT&T or (gasp) Steve.

I can understand, but don't agree with, why Apple would restrict apps may adversely affect battery life or confuse the average user, but outright not allowing interesting and creative apps that are ground breaking and available on other mobile devices is just wrong.  I love my iPhone and am happy I made the purchase as Android wasn't mature enough yet and I can jailbreak to get around some of Apple's restrictions, but I'm growing increasingly open to my next phone being something else as the other platforms mature and don't impose the restrictions Apple does.

Sunday Jul 26, 2009

Additional Thoughts on Google Latitude for iPhone and Apple vs Google, Apple vs Palm?

I wrote up some initial thoughts on Google Latitude for the iPhone a few days ago and this morning I come across this ZDNet blog entry on the struggle between Apple and Google on native vs browser based apps.  While a part of me admires Apple for going to extreme lengths to ensure their devices have a good user experience, in this case their desire to control the device is, IMHO, not providing the best experience.  As noted in my blog there are a few quirks and serious limitations that I think wouldn't be there if it was a native app or otherwise restricted by Apple's review process.

That said, Apple does control the device and Latitude not being available for the iPhone was a glaring gap so Google no doubt had to accept the limitations.  And clearly Apple is being successful with the iPhone, but at what point will Apple have to relinquish some control or risk losing market share to other devices running Android?  The iPhone has a head start but you can be sure that Android will improve and the openness of the platform will be an advantage that will benefit it.

And related, but in the Apple vs Palm front, as you are probably aware, one of the Palm Pre's touted features was being able to sync with iTunes.  Apple used their control of the platform to break that sync'ing with an iTunes update, but Palm has countered with an OS update that makes the sync'ing work again.  When will this cycle end?  Probably not any time soon.

Thursday Jul 23, 2009

Initial thoughts on Google Latitude for iPhone

I had heard about Google Latitude awhile back and wanted to try it out, but alas it didn't support the iPhone.  That is until today!  The Google Mobile Blog today announced support for the iPhone so of course I had to try it out.

As they highlight in the blog, this is not an app but rather a web-app you access in Safari.  Apparently Apple didn't want to confuse users with a new Google Maps type of app when there is already the native Maps app.  Since keeps things simple, but the downside is it apparently only can update your location when you are actually running Safari on the google.com/latitude site as it can't run in the background.  That is awfully limiting and I'd think its fatal flaw, but we'll see.

When I first pointed Safari at the app, it came up with a login form to log in to my Google account and, whoa, what just happened?  Suddenly Safari disappears and I'm back at the iPhone home screen.  This is the first outright crash of Safari on the iPhone I recall.

So, I try it again and this time there is no crash and I'm able to login.  Along the way though I'm asked to allow using my location no fewer than three times which seems a little much.  Oddly, getting all the way out of Safari, and running it again it only asked me once.

In any case, it tells me I have a friend request (I'd gotten that far when I tried to look at it awhile back) so I accept it and then go to try to add more friends myself.  It lets me scroll through my address book, but oddly the app has a floating menu bar at the bottom that it has to try to reposition while scrolling and the scrolling is much jumpier and frankly annoying than the scrolling in any other app I've seen on the iPhone.

Another first, and potential flaw, is that while I am inside and thus GPS assist isn't working, the location it has for me using its triangulation method isn't accurate, and in fact my actual location is about 400 meters outside the displayed accuracy circle.  I'm sure it probably has something to do with my specific location and isn't a widespread problem, but I swear before the OS 3.0 upgrade in the same situation Maps was more accurate.  And Maps is consistent so it isn't unique to Latitude.

In summary, great idea, but a few rough edges, particularly having to have Safari on the app in the foreground for it to work, probably make it more toy than genuinely useful app.  Have you tried it?  What do you think?  Your comments are welcome. 

Thursday Jul 09, 2009

Browser Market Share; Who is Really #1?

It has been a long held belief, and data has supported it, that Internet Explorer, due in large part to its ties to the dominant desktop operating system, has been the most used browser out there.  Now, the data has shown that things are narrowing which begs the question, what browser is really #1?

Why do I ask this question?  I've been a long time user of StatCounter.com on my blog to track some statistics and focused primarily on page views, but I recently also set up Google Analytics to see what data it provides.  In light of the recent announcement about Chrome OS, I was also curious how the Chrome Browser was being adopted.

In browsing through what it has to offer I came across its browser report where not only was IE not #1, it wasn't even #2 with Safari beating it out.  I also found it interesting that Chrome is at nearly 4%.

But clearly, a handful of hits on my blog is likely not representative of the broader market.  Additionally, I likely have a significant audience from Sun which may help skew the results towards Firefox and Safari.  And the general audience that reads my blog is probably more technical and likely to be using alternative browsers.  So what else can we look at?

The May report from Market Share By Net Applications shows what one might expect with IE at 65.5% followed by Firefox at 22.5%, Safari at 8.4%, and Chrome at only 1.8%.

For another perspective, w3schools.com lists their stats and for the month of June, Firefox is at 47.3%, the sum for IE 40.7%, and Chrome beating out Safari 6.0% to 3.1%.  Again, a more technical audience leads to greater use of Firefox and Chrome.

Last, going back to where I started with my stat gathering, StatCounter.com has global stats for the past year and while the data shows similar results to Market Share above, approximately 60% IE, 30% Firefox, and everything else in the weeds, since it looks at the past year you can see a trend of IE losing about 10% points.

 

Will this gradual decline continue?  It's hard to say, but I can say that competition and choice is good and in the end the consumer wins.

It is also very interesting to see the platforms StatCounter.com reports.  This shows that 95+% of their traffic is coming from Windows meaning that even where the provided default is IE, approximately a third of those folks make the choice and effort to switch.

So what does all this data show us?  Clearly, IE is still #1 amongst the general population.  But technical audiences, those that both have the knowledge to make a choice and the aptitude and interest to execute on that and install something other than the default, are seemingly beginning to abandon IE in favor of the competition.

I'll continue to look at this in the future and report back!

Wednesday Jul 08, 2009

Thoughts on Google Chrome OS - Not a Microsoft Killer ... Yet

Google dropped two bombs yesterday.  The first, that the beta tag was being removed from Google Apps was interesting but a non-event to me in many ways as everyone has been ignoring the beta tag for a long time anyway, but perhaps some enterprises were scared off by it so maybe this is news for them.  But regardless of what tag is applied, today's user is going to be more affected by the functionality, usability, and quality of the offering than if it has a beta tag on it or not.

But the more interesting and groundbreaking news was the announcement of the forthcoming Chrome OS.  There are some that see this as an all out assault on Microsoft.  When you combine their Google Apps with the Chrome Browser and now Chrome OS, you have a full stack for the end user.  But given that in their announcement they are clearly focused on the netbook market, I would stop well short of calling this an all out assault.  That's not to say that this isn't just the next logical step in a strategy that started with mobile and embedded devices with Android, moves to netbooks with Chrome OS, and someday could target the broader desktop and ultimately enterprise market with another offering.

There are also those that take a more pessimistic view of this complete stack and chances that it will be successful, both because the netbook market isn't that large and enterprises are not going to embrace it any time soon.  All valid points, but one doesn't go from having no OS to competing with everything Microsoft has in the OS arena overnight.  There are also other flaws in Dennis' pessimistic view.  He seems to think that because Google will open-source what they are doing they are washing their hands of maintaining it.  He clearly doesn't understand open-source as code being open-source certainly doesn't stop a vendor from providing full support to customers or OEMs and I'm sure Google would love to generate revenue from doing so.

So is just another variant of Linux on the desktop and should Google should have just joined or put their weight behind an existing Linux distro or just brought their version of Linux used in their infrastructure to the consumer?  The latter is just silly as the Linux they use in their data centers is clearly tuned and equipped for high performance search and serving up web applications, not a consumer's desktop or netbook form factors.  The former is a valid point as there are distros like gOS that have integrated Google gadgets and Google Apps into the desktop and users experience or Damn Small Linux that would serve as a good starting point for Google, but if Google is serious about this they aren't going to take a join an existing small community approach but need to own it and drive the direction themselves.

If one reads between the lines though, I think it is clear that this isn't going to just be another Linux distro and will be much more, and perhaps that systematic next step in the all out assault on Microsoft.  The key quote to me is:

"Later this year we will open-source its code, and netbooks running Google Chrome OS will be available for consumers in the second half of 2010."

If this were to be just Google's variant of a Linux distro running on netbooks, they should be able to do that in a few months.  If we aren't going to see netbooks until the second half of 2010 (a full year-plus!), Google has designs on doing much more with the OS to make it truly focused on an easier to use, web-oriented, and faster experience to differentiate it from other Linux distros, Windows XP/Vista/7, and Mac OS X.  This is apparent in another quote (emphasis mine):

"The software architecture is simple — Google Chrome running within a new windowing system on top of a Linux kernel."

Clearly Google does not see Gnome or KDE as options (bloated) or other lighter weight alternatives like XFCE as sufficient so will be creating their own windowing system.  Look for this, and trimming the OS to just what is needed and perhaps some innovation around quicker startup, to be where the investment is made.

In the end, competition and choice is good.  I'll certainly be interested to see what Google does with Chrome OS and and how the competition reacts.

Monday Jun 29, 2009

Benchmarking the iPhone, and lots of other devices too

Benchmarking has been around for years, and I started playing around with writing them back in college.  I recall an assembly language class were the assignment was to implement the Sieve of Eratosthenes in as few bytes as possible. I "won" the assignment by doing it in 24 (or was it 25, too many years ago!) bytes, but that got me started on benchmarking as I instrumented the code to time how long it took and then proceeded to run it on all the different machines I could to see which one was the fastest.

Clearly though, having a benchmark written in 8086 assembly language had limited usefulness, so in later years I rewrote it in C and added several other standard algorithms to the stable that were executed including calculating PI, a selection sort, and computing Ackermann's function to test recursive performance. I proceeded to run it on every machine I could from PCs running MS-DOS to workstations running Solaris to PPC machines running LynxOS and AIX. In later years, I ran the same benchmark on UltraSPARC, SGI MIPS, and DEC Alpha machines as well as today's dual-core Intel chips. Somewhere along the line I starting writing more in Java than C and I ported the benchmark to Java to see how it compared, and several years ago I began using BlackBerry's and wrote a Java ME version.

As you can imagine given the wide range of machines I've run it on in the past, having an iPhone was just begging to run it there too. While I have creating a proper iPhone app version on my list of things to do, thankfully a jailbroken iPhone makes it pretty easy to run the C and Java versions I already had. A sampling of results appears below, but the summary for the iPhone is that the native version is about 5 times faster than the Java one and ever so slightly faster than a 75 MHz Pentium 5 of yesteryear.

 Machine Language Math Array Sort Sieve Ackermann Total
Motorola L6 Java ME 0.11 0.19 0.23 0.13 0.19 0.17
BlackBerry Curve (OS 4.5) Java ME 0.95 2.21 2.96 1.72 2.96 1.81
iPhone 3G Java SE 12.4 4.79 4.64 3.28 5.01 4.95
Intel 486DX2-66 (Linux) C 10 10 10 10 10 10
SPARC-20 (Solaris) C 66.4 20.3 17.6 20.1 4.1 12.1
Pentium 5 75 MHz (Linux) C 21.3 19.6 28.6 23.2 33.4 24.2
iPhone 3G C 65.9 21 23.4 19.2 46.7 27.9
DEC Alpha 275 MHz (OSF/1) C 111.4 93.6 63.1 41.2 76.1 68.6
Pentium 600 MHz (Linux) Java SE 191.9 106.1 99.1 68.9 78.2 96.1
Pentium 600 MHz (Linux) C 216.4 319.3 219.8 171.5 131.2 194.1
MacBook Pro 2.33 GHz Java SE 655 1096 794 549 334 587
MacBook Pro 2.33 GHz C 1089 2413 664 800 1356 1037

You may also view the full list that I have maintained over the years.  You'll notice that I did my initial calibration on a 66 MHz 486 DX-2 so that it scores 10 in each of the tests.

Now, I'll be the first to admit that my benchmark is pretty simplistic and thus shouldn't be be the end all be all testing to compare machines or platforms. The results can also be significantly affected by the quality of the C compiler or JVM being used. However, the results can provide a rough comparison and are at least fun to look at.

For example a SPARC-20 has terrible performance with deep recursion. And as noted above the JVM on the iPhone is about 5 times slower than a native app whereas on an x86 box the JVM is about half as fast as native.

While I've run the benchmark on quite a few machines, I'd love to add more to the list.  If you'd like to run it, here is the binaries in a variety of formats:

  • Linux on x86 - Download the binary, set the executable flag, and execute with "./sci <iterations>". On most of today's faster machines iterations should be 10,000 to have reasonable results.
  • OS X on x86 - Download the binary, set the executable flag, and execute with "./sci <iterations>". On most of today's faster machines iterations should be 10,000 to have reasonable results.
  • OS X on ARM/iPhone - Download the binary, use ssh/scp to get it on your jailbroken iPhone, and execute with "./sci <iterations>". The default iterations should be fine.
  • Solaris on x86 - Download the binary, set the executable flag, and execute with "./sci <iterations>". On most of today's faster machines iterations should be 10,000 to have reasonable results.
  • Solaris on SPARC - Download the binary, set the executable flag, and execute with "./sci <iterations>". On most of today's faster machines iterations should be 10,000 to have reasonable results.
  • AIX on RS/6000 - Download the binary, set the executable flag, and execute with "./sci <iterations>". On most of today's faster machines iterations should be 10,000 to have reasonable results.
  • Java SE - Download the jar and execute it on any machine you have a JVM with "java -jar SCIJ.jar <iterations>". On most of today's faster machines iterations should be at least 5,000.
  • Java ME devices - Point your phone/device browser at the link and it should prompt to install the application. Run the app and if it executes in less than a few seconds change the iterations to a larger number to make it more accurate in calculating the benchmark.

If you do run the benchmark, please post a comment on this blog entry with the chipset, clock-speed, operating system, and results from each of the tests that the program displays. As soon as someone jailbreaks an iPhone 3G S, it would be great to add that result to the list.

Enjoy!

 

Friday Jun 26, 2009

iPhone Jailbreak App Update

I blogged about upgrading and jailbreaking my iPhone several days ago and noted that several apps I had grown attached to weren't working under OS 3.0.  I'm pleased to say that 2 of the 4 that weren't working now are.

Using Cydia, the latest versions of Insomnia and Backgrounder can be installed and seem to work fine.  Of course, some of the optional features of Backgrounder aren't working yet, but the basic function to put an app in the background is.  Of course, Cydia is confused and keeps telling me there is an available upgrade of Backgrounder,

Unfortunately, Mobile Finder doesn't appear to be updated nor does LogoMe.  But Mobile Finder was more of something just to show folks for the Gee Whiz factor and I've got the boot logo I want so not having LogoMe isn't an issue.

I'll update as I uncover more. 

About

kevinschmidt

Search

Categories
Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today