Saturday, December 20, 2008
Monday, November 17, 2008
iPhone Instant Queue Add for Netflix - get it now...
I've released a second version of my very own iPhone app. I also reduced the price from 99c to FREE for the next few days. Please check it out and write a review for me on the app store. More info at http://www.millicomputer.com.
Wednesday, October 15, 2008
Music - Amanda Palmer and Estradasphere
I listen to a lot of music, and the really good stuff gets played over and over again while I'm driving. I also think while I'm driving that I should write a blog post about my favorites but then I forget... until now!
My favorite new music for 2007 was "Palace of Mirrors" by Estradasphere. I found that I never tired of it, and listened to it for months on end. It helps that their music is extremely varied in style and impossible to categorize. You can find out more and listen to music at their web site. I suggest you start with "Smuggled Mutation", there is no such thing as a typical Estradasphere song as they combine just about every musical genre, usually in the same song. However this track shows off their talents very well. There is a live DVD of Palace of Mirrors which is also extremely well done. I have seen them play live several times and they are an excellent live band.
During 2008 Estradasphere collaborated with Amanda Palmer of the Dresden Dolls, and her new album "Who killed Amanda Palmer" has become my favorite pick for 2008. The web site is very interesting, giving a lot of background story details about the making of the album and videos of most of the tracks. The music is distinctively Amanda, but expanded well beyond the Dresden Dolls format, with a much fuller sound on some tracks. The key for me is that the music is very moving and emotional, and can sustain interest for a lot of repeated listening.
I'm also still waiting for Fractal to finish their second album "Sequitur", I've been listening to pre-release versions as they work towards the final cut. I'm not holding my breath, as its taken years to get this far, but its getting very close to being completed.
Monday, September 29, 2008
Gene Saunders RIP
A good friend and well respected colleague from Sun is no more...
More info on Geoff Arnold's blog
For the last few years a group of us have been keeping in touch via email, sharing thoughts and amusing web links. Gene was a key part of that conversation, and I miss him already.
More info on Geoff Arnold's blog
For the last few years a group of us have been keeping in touch via email, sharing thoughts and amusing web links. Gene was a key part of that conversation, and I miss him already.
Tuesday, September 23, 2008
Tutorial at LISA08 San Diego Nov 9th
Monday, August 11, 2008
Looking for a star/ninja/guru developer....
I'm hiring, looking for someone who regularly gets a "wow" response from co-workers:
Netflix is a performance culture. Everyone is located in Los Gatos CA, no teleworking, contractors or offshore development. Pay is at the top end of the scale for the SF Bay Area. Netflix is scaling the company by hiring the very best people in the industry. There are no interns or junior staff, minimal need for processes, we hire fully formed adults and give them freedom with responsibility. Netflix is very focused, small enough to be fun and to know everyone and everything that is going on, yet big enough to be interesting, with a big impact in a very entertaining industry.
As a key engineer/ researcher for our web application development team, you will be working on data mining and algorithm development to build the world’s best movie finding software with some of the brightest people in the E-commerce arena. Our goal is to know our customers’ movie tastes well enough to create the perfect store, always presenting amazing titles just for them.
We are looking for a very experienced engineer who can take the lead, researching, modeling, presenting, designing and building algorithms that run in a service oriented architecture to support millions of customers. The successful candidate will be a self-motivated, intellectually curious individual. A Doctorate or experience working in a research environment, work with personalization algorithms, machine learning, adaptive systems, and statistical analysis would be a bonus. Experience with large scale multithreaded Java applications is essential.
This is a hands-on individual contributor role, for example you may need to prototype or model a new concept, communicate it, architect a Hadoop cluster, write the code to load and analyze interesting data and build high performance scalable Java and SQL code to incorporate the results into the web site.
Netflix is a performance culture. Everyone is located in Los Gatos CA, no teleworking, contractors or offshore development. Pay is at the top end of the scale for the SF Bay Area. Netflix is scaling the company by hiring the very best people in the industry. There are no interns or junior staff, minimal need for processes, we hire fully formed adults and give them freedom with responsibility. Netflix is very focused, small enough to be fun and to know everyone and everything that is going on, yet big enough to be interesting, with a big impact in a very entertaining industry.
Tuesday, August 05, 2008
CMG08 Draft Agenda - Las Vegas in December
CMG just published the draft agenda for their annual conference on their website. This year I will be on a panel with other Michelson Award winners discussing Visualization, and probably on a second panel talking about Unix performance. I'm also planning to repeat the half day training seminars on Unix Performance, and Capacity Planning with Free Tools.
See you there!
See you there!
Monday, July 28, 2008
Skype Downloads Approach One Billion
About eighteen months ago I wrote a blog post about Skype as it approached 500 million downloads. They have continued at around a million a day, and now, nearly 500 days later we are coming up on the one billion mark. I predict at the current rate that the last 42 million downloads will happen in 37 days, so it will pass a billion around September 3rd.
The usual caveats apply, most of the downloads are version upgrades, but there are over 300 million different registered skype names, and concurrent user counts peak at 12 million most days.
At the time I got a nice mention from Skype Journal, and you can find good analysis of the Skype usage levels at Jean Mercier's Skype Numerology blog. As ever, you can track the actual numbers via an RSS feed that Skype provides, or just view them at this graph.
Why does this matter? It matters because this is the kind of critical mass that the rest of the Telco industry and VOIP startups are only dreaming of. I'm about to turn off my long distance and international phone plans and just have local calls on my home phone. The home phone I just ordered will redirect long distance and international calls over Skype, and make local calls on the land line. This will save me hundreds of dollars a year in telco service costs, so it pays for itself in less than six months. There is even a special offer on the hardware right now. I fully expect that in a few years time I will also be making the bulk of my mobile calls over Skype as well.
All I want from the Telco's is reliable unlimited raw bandwidth at a fixed low price, which is a terrifying prospect for the dinosaurs of this industry...
The usual caveats apply, most of the downloads are version upgrades, but there are over 300 million different registered skype names, and concurrent user counts peak at 12 million most days.
At the time I got a nice mention from Skype Journal, and you can find good analysis of the Skype usage levels at Jean Mercier's Skype Numerology blog. As ever, you can track the actual numbers via an RSS feed that Skype provides, or just view them at this graph.
Why does this matter? It matters because this is the kind of critical mass that the rest of the Telco industry and VOIP startups are only dreaming of. I'm about to turn off my long distance and international phone plans and just have local calls on my home phone. The home phone I just ordered will redirect long distance and international calls over Skype, and make local calls on the land line. This will save me hundreds of dollars a year in telco service costs, so it pays for itself in less than six months. There is even a special offer on the hardware right now. I fully expect that in a few years time I will also be making the bulk of my mobile calls over Skype as well.
All I want from the Telco's is reliable unlimited raw bandwidth at a fixed low price, which is a terrifying prospect for the dinosaurs of this industry...
Monday, July 14, 2008
Enhanced headroom plot in R
For some reason I seem to find time to write code in R when I'm on an airplane. The last two trips I made resulted in significant enhancements and debugging of the code for my headroom plot. It started off simple but it now has a lot of bells and whistles, including color coding.
Main changes: the quantile used to remove outliers now only removes outliers that exceed the 95th percentile response time by default. It keeps all the throughput values unless you use qx=True.
In each of the throughput bins used to draw the histogram, the maximum response time for that bin is now calculated and displayed as a staircase line unless you set max=False.
The set of data is now split into ranges and color coded. The times series plot is coded so you can see the split, and the scatterplot shows how those points fall. I have been plotting weekly data at one minute intervals with split=7, which looks pretty good.
I read in some data that has been extracted from vxstat into a csv format at a known URL and plotted it three ways.
I plot the first 2880 data points, picking the read data rather than write, two days at one minute intervals.



Here is the code that generates the plot.
Main changes: the quantile used to remove outliers now only removes outliers that exceed the 95th percentile response time by default. It keeps all the throughput values unless you use qx=True.
In each of the throughput bins used to draw the histogram, the maximum response time for that bin is now calculated and displayed as a staircase line unless you set max=False.
The set of data is now split into ranges and color coded. The times series plot is coded so you can see the split, and the scatterplot shows how those points fall. I have been plotting weekly data at one minute intervals with split=7, which looks pretty good.
I read in some data that has been extracted from vxstat into a csv format at a known URL and plotted it three ways.
I plot the first 2880 data points, picking the read data rather than write, two days at one minute intervals.
> stime <- read.csv(url("http://somewhere/vxstat_response"))
> sops <- read.csv(url("http://somewhere/vxstat_throughput"))
> names(sops)
[1] "DateTime" "vxstat_dg_operationsRead"
[3] "vxstat_dg_operationsWrite"
> chp(sops[1:2880,2],stime[1:2880,2])
> chp(sops[1:2880,2],stime[1:2880,2],q=1.0)
> chp(sops[1:2880,2],stime[1:2880,2],q=1.0,splits=8)



Here is the code that generates the plot.
> chp <-function(throughput,response, q=0.95, qx=F, xl="Throughput",yl="Response",tl="Throughput Over Time",
ml="Headroom Plot", fit=T, max=T, splits=0) {
# remove zero throughput and response values
nonzer <- (throughput != 0) & (response != 0) # array of true/false
y <- response[nonzer]
x <- throughput[nonzer]
# remove outliers, keep response time points inside 95% by default
if (q != 1.0) {
quant <- (y < quantile(y,q))
# optionally trim throughput outliers as well
if (qx) quant <- quant & (x < quantile(x, q))
x <- x[quant]
y <- y[quant]
}
# make histograms and record end points for scaling
xhist <- hist(x,plot=FALSE)
yhist <- hist(y,plot=FALSE)
xbf <- xhist$breaks[1] # first
ybf <- yhist$breaks[1] # first
xbl <- xhist$breaks[length(xhist$breaks)] # last
ybl <- yhist$breaks[length(yhist$breaks)] # last
xcl <- length(xhist$counts) # count length
ycl <- length(yhist$counts) # count length
xrange <- c(0.0,xbl)
yrange <- c(0.0,ybl)
xlen <- length(x)
# make a multi-region layout
nf <- layout(matrix(c(1,3,4,2),2,2,byrow=TRUE), c(3,1), c(1,3), TRUE)
layout.show(nf)
# set plot margins for throughput histogram and plot it
par(mar=c(0,4,3,0))
barplot(xhist$counts, axes=FALSE,
xlim=c(xcl*0.00-xbf/((xbl-xbf)/(xcl-0.5)),xcl*1.00),
ylim=c(0, max(xhist$counts)), space=0, main=ml)
# set plot margins for response histogram and plot it sideways
par(mar=c(5,0,0,1))
barplot(yhist$counts, axes=FALSE, xlim=c(0,max(yhist$counts)),
ylim=c(ycl*0.00-ybf/((ybl-ybf)/(ycl-0.5)),ycl*1.00),
space=0, horiz=TRUE)
# set plot margins for time series plot
par(mar=c(2.5,1.7,3,1))
plot(x, main=tl, cex.axis=0.8, cex.main=0.8, type="S")
if (splits > 0) {
step <- xlen/splits
for(n in 0:(splits-1)) {
lines((1+n*step):min((n+1)*step,xlen), x[(1+n*step):min((n+1)*step,xlen)], col=4+n)
}
}
# set plot margins for main plot area
par(mar=c(5,4,0,0))
plot(x, y, xlim=xrange, ylim=yrange, xlab=xl, ylab=yl, pch=20)
if (max) {
# max curve
b <- xhist$breaks
i <- b[2] - b[1] # interval
maxl <- list(y[b[1] < x & x <= (b[1]+i)])
for(n in b[c(-1,-length(b))]) maxl <- c(maxl,list(y[n < x & x <= (n+i)]))
#print(maxl)
maxv <- unlist(lapply(maxl,max)) # apply max function to elements of list
#print(maxv)
#lines(xhist$mids,maxv,col=2) # join the dots
#staircase plot showing the range for each max response
lines(rep(b,1,each=2)[2:(2*length(maxv)+1)],rep(maxv,1,each=2),col=3)
}
if (fit) {
# fit curve, weighted to predict high throughput
# create persistent chpfit object using <<-
chpfit <- glm(y ~ x, inverse.gaussian, weights=as.numeric(x))
# add fitted values to plot, sorted by throughput
lines(x[order(x)],chpfit$fitted.values[order(x)],col=2)
}
if (splits > 0) {
step <- xlen/splits
for(n in 0:(splits-1)) {
Sys.sleep(1)
points(x[(1+n*step):min((n+1)*step,xlen)],y[(1+n*step):min((n+1)*step,xlen)], xlim=xrange, ylim=yrange, col=4+n)
}
}
}
iPhone 2.0 upgrade and applications - Pandora
I waited until Saturday evening to attempt an upgrade on my iPhone, and it completed with no problems, so I guess Apple fixed their site and the rush had died down a bit.
I looked through some of the applications and loaded Pandora, eBay, Paypal (for old times sake), Weatherbug, Remote (I also upgraded my AppleTV so this will come in useful) and Facebook. Enough to get me started. I also saw a nice star mapping application, I used to have one of these on my Palm/Treo but it wasn't free, so I decided to leave it for later.
The Pandora application is my favorite. I am an intermittent user of Pandora, as I didn't like being tethered to my laptop to listen. However the iPhone version works fine even over a fairly poor EDGE signal. There are some pauses between songs and the occasional pause during a song, but overall its a nice way to listen to the channels I had already setup, and discover new music that is similar to my favorites. I suspect that this is going to get a lot of usage since I can listen to it on the go.
There are over 500 applications, so plenty of stuff to play with if I get bored.
I applied for iPhone developer program membership when it was announced, and got an email yesterday saying that I have been accepted, so went through the purchase process, and downloaded the final version of the iPhone SDK....
I looked through some of the applications and loaded Pandora, eBay, Paypal (for old times sake), Weatherbug, Remote (I also upgraded my AppleTV so this will come in useful) and Facebook. Enough to get me started. I also saw a nice star mapping application, I used to have one of these on my Palm/Treo but it wasn't free, so I decided to leave it for later.
The Pandora application is my favorite. I am an intermittent user of Pandora, as I didn't like being tethered to my laptop to listen. However the iPhone version works fine even over a fairly poor EDGE signal. There are some pauses between songs and the occasional pause during a song, but overall its a nice way to listen to the channels I had already setup, and discover new music that is similar to my favorites. I suspect that this is going to get a lot of usage since I can listen to it on the go.
There are over 500 applications, so plenty of stuff to play with if I get bored.
I applied for iPhone developer program membership when it was announced, and got an email yesterday saying that I have been accepted, so went through the purchase process, and downloaded the final version of the iPhone SDK....
Tuesday, June 10, 2008
Variable Power and Performance in Enterprise Servers
Nice Infoworld article looking at the power savings from variable speed CPUs in Enterprise servers running Windows and Linux.
This feature messes with capacity planning tools and the calculation of headroom, as I described in past CMG papers (Utilization is Useless as a Metric).
This feature messes with capacity planning tools and the calculation of headroom, as I described in past CMG papers (Utilization is Useless as a Metric).
Friday, May 16, 2008
Mobile disruptions and going mainstream
VC thoughts via Peter Cranstone
From Vinod Knosla: The mobile phone will be a mainstream personal computer.
From Roger McNamee: Betting on smart phones: The mobile device migration to smart phones from features phones will produce even greater disruption than PC industry moving from character mode to graphical interface.
Pretty much what I've been saying for the last year or two...
From Vinod Knosla: The mobile phone will be a mainstream personal computer.
From Roger McNamee: Betting on smart phones: The mobile device migration to smart phones from features phones will produce even greater disruption than PC industry moving from character mode to graphical interface.
Pretty much what I've been saying for the last year or two...
Friday, May 09, 2008
Speaking at UK CMG TEC Conference - May 19-21st 2008
UKCMG TEC 2008 is near Northampton in the UK. I'm giving two of the same presentations as I gave at the US CMG, the enterprise version of my Millicomputing talk, and a half day workshop on Unix/Linux Performance.
My old friend Phil Harman is also giving a talk on DTrace, and I'm staying in the UK for a few days after the conference to catch up with friends and family.
My old friend Phil Harman is also giving a talk on DTrace, and I'm staying in the UK for a few days after the conference to catch up with friends and family.
Saturday, May 03, 2008
Usenix 08 - Tutorials and Invited Paper - Boston June 23-27
I'm giving the two tutorials that I have been presenting at CMG the last few years, but at Usenix in Boston. The tutorials are the latest update of my Solaris/Linux performance metrics and tuning class, and Capacity Planning with Free Tools.
I'm also giving an invited speaker talk on Millicomputing, and have a nice big time slot, so will cover both the mobile and enterprise aspects in some depth, with time for discussion.
I hope to see you there...
Monday, April 28, 2008
XE Toolkit 1.2 - new portable performance tools from Rich Pettit
Rich just updated the portable Java based XE tookit, it even runs on mainframes now :-)
Rich (with some contributions from me) wrote many versions of the SE toolkit for Solaris. This is his latest project, please try it out, give him feedback and buy a support contract to encourage him...
Cheers Adrian
Subject: [Xetoolkit-interest] XE Version 1.2 Available
To: xetoolkit-interest@xetoolkit.com
XE Version 1.2 is available in pre-packaged form through the Captive
Metrics online store, http://store.captivemetrics.com.
New platforms for 1.2:
AIX (5.3 base)
Linux on Power (IBM pSeries & iSeries)
Linux on s390 (IBM zSeries)
Please report bugs to support@captivemetrics.com.
Changes since Version 1.1
Bug fixes
Solaris locking problems
Performance improvements in mdr
Locale problems in non-US-English Windows installs
Support for AIX (5.3 base)
Support for Linux on Power (IBM pSeries & iSeries)
Support for Linux on s390 (IBM zSeries)
Code restructuring and use of new "snap" utility
and command-line build for Windows
VirtualGuru rotates log files when the day changes
bbClient groovy script for monitoring BigBrother clients
The source code is available at
http://sourceforge.net/projects/xe-toolkit as an SVN tree.
There will be a web site with "tarballs" eventually. It's not
high on the priority list.
The build process uses "snap", a /bin/sh utility written by me that
generates Makefiles on the fly.
Please support future development by purchasing the package.
Thank you for your continued interest.
Rich
--
Richard Pettit
Captive Metrics Software Corporation
Em: richp@captivemetrics.com
Ph: 8-MONITOR-01
Rich (with some contributions from me) wrote many versions of the SE toolkit for Solaris. This is his latest project, please try it out, give him feedback and buy a support contract to encourage him...
Cheers Adrian
Subject: [Xetoolkit-interest] XE Version 1.2 Available
To: xetoolkit-interest@xetoolkit.com
XE Version 1.2 is available in pre-packaged form through the Captive
Metrics online store, http://store.captivemetrics.com.
New platforms for 1.2:
AIX (5.3 base)
Linux on Power (IBM pSeries & iSeries)
Linux on s390 (IBM zSeries)
Please report bugs to support@captivemetrics.com.
Changes since Version 1.1
Bug fixes
Solaris locking problems
Performance improvements in mdr
Locale problems in non-US-English Windows installs
Support for AIX (5.3 base)
Support for Linux on Power (IBM pSeries & iSeries)
Support for Linux on s390 (IBM zSeries)
Code restructuring and use of new "snap" utility
and command-line build for Windows
VirtualGuru rotates log files when the day changes
bbClient groovy script for monitoring BigBrother clients
The source code is available at
http://sourceforge.net/projects/xe-toolkit as an SVN tree.
There will be a web site with "tarballs" eventually. It's not
high on the priority list.
The build process uses "snap", a /bin/sh utility written by me that
generates Makefiles on the fly.
Please support future development by purchasing the package.
Thank you for your continued interest.
Rich
--
Richard Pettit
Captive Metrics Software Corporation
Em: richp@captivemetrics.com
Ph: 8-MONITOR-01
Thursday, March 27, 2008
Patent on Performance and Capacity Planning
Here is another patent that I filed while working at Sun.
System and method for generating a probability distribution of computer performance ratios
System and method for generating a probability distribution of computer performance ratios
A system and method for generating a probability distribution indicating the probability of a range of performance ratios between computer systems. Benchmark and/or other testing results are obtained for both computer systems. For each test, a ratio of one system's performance to the other is calculated. The ratios and/or testing results may be weighted. From the performance ratios, a histogram is produced to indicate the probabilities of achieving the various ratios. Based on the distribution of probabilities, a particular performance ratio can be predicted with a corresponding level of confidence, and used for capacity planning or configuring a computing environment.
Patents on Peer to Peer Trading Platform
While working at eBay Research Labs I did some work using Skype that resulted in four patents in the area of P2P trading and reputation systems. I just noticed that they are now public, as of late 2007, and here they are:
Peer-to-peer trading platform
Peer-to-peer trading platform with relative reputation-based item search and buddy rating
Peer-to-peer trading platform with search caching
Peer-to-peer trading platform with roles-based transactions
The seed of the idea came from my good friend Josep Ferrandiz, who still works at PayPal. The ideas were developed with help from Zahid Ahmed who is now working for EMC, and with a lot of help from Neel Sundaresan who manages eBay Research labs. The patents are in all of our names.
I think we came up with some cool ideas, we also stress tested the Skype API's in some novel ways and got some things fixed. The lasting legacy of this work is more robust application to application messaging API's and improvements in Skype4Java.
Peer-to-peer trading platform
Peer-to-peer trading platform with relative reputation-based item search and buddy rating
Peer-to-peer trading platform with search caching
Peer-to-peer trading platform with roles-based transactions
The seed of the idea came from my good friend Josep Ferrandiz, who still works at PayPal. The ideas were developed with help from Zahid Ahmed who is now working for EMC, and with a lot of help from Neel Sundaresan who manages eBay Research labs. The patents are in all of our names.
I think we came up with some cool ideas, we also stress tested the Skype API's in some novel ways and got some things fixed. The lasting legacy of this work is more robust application to application messaging API's and improvements in Skype4Java.
Sunday, March 16, 2008
BIL Podcast: Garrett Lisi - Exceptionally Simple Theory of Everything
I published a BIL podcast from the recordings I made, first talk is my favorite, particle physics explained by Garrett Lisi
http://web.mac.com/adriancockcroft/BILcast/BILcast/BILcast.html
Subscribe to the podcast to pick up new talks as they are added.
http://web.mac.com/adriancockcroft/BILcast/BILcast/BILcast.html
Subscribe to the podcast to pick up new talks as they are added.
Monday, March 03, 2008
BIL - recording an excellent adventure
The closing slide of BIL by Garrett Lisi

Two days of intense expansion of my horizons, a self-organizing conference, and I am left holding a jewel. My contribution to BIL was that I basically did tech-support and audio for all the speakers in the main hall for two days. I brought my audio recorder a good mic and stand, a guitar amp (that was used as a PA speaker) and bags of cables and adaptors. Other BILsters provided a video projector and a karaoke machine for PA. I hooked up the mic and a mini-jack cable for computer audio out, and kept it all running as best I could. I recorded almost 800 minutes of content on my Korg D16 hard disk recorder, which is almost all of every talk. There were other people recording on Saturday, including video, but they had technical problems on Sunday, so we have little or no video of the Sunday talks.
Next I'm going to make a backup copy, then start working on extracting the raw data for other people to process. I'll make mp3's of my favorite talks as I get time. Several TED speakers talked at BIL, including Aubrey De Grey on Saturday and Garrett Lisi, who closed out the conference with a fantastic talk. I chatted to Garrett a bit, very cool...
For the stream of consciousness with pictures that I uploaded during the talk, look at my twitxr page. I will update my twitter account with progress on the audio files. I don't expect to use twitter and twitxr on a daily basis, but I think they are useful for conferences. I'll track progress at Ecomm08 on March 12-14th the same way.
Two days of intense expansion of my horizons, a self-organizing conference, and I am left holding a jewel. My contribution to BIL was that I basically did tech-support and audio for all the speakers in the main hall for two days. I brought my audio recorder a good mic and stand, a guitar amp (that was used as a PA speaker) and bags of cables and adaptors. Other BILsters provided a video projector and a karaoke machine for PA. I hooked up the mic and a mini-jack cable for computer audio out, and kept it all running as best I could. I recorded almost 800 minutes of content on my Korg D16 hard disk recorder, which is almost all of every talk. There were other people recording on Saturday, including video, but they had technical problems on Sunday, so we have little or no video of the Sunday talks.
Next I'm going to make a backup copy, then start working on extracting the raw data for other people to process. I'll make mp3's of my favorite talks as I get time. Several TED speakers talked at BIL, including Aubrey De Grey on Saturday and Garrett Lisi, who closed out the conference with a fantastic talk. I chatted to Garrett a bit, very cool...
For the stream of consciousness with pictures that I uploaded during the talk, look at my twitxr page. I will update my twitter account with progress on the audio files. I don't expect to use twitter and twitxr on a daily basis, but I think they are useful for conferences. I'll track progress at Ecomm08 on March 12-14th the same way.
Friday, February 29, 2008
Millicomputing at BIL this weekend
I'm presenting (and generally helping out) at the BIL un-conference this weekend in Monterey. I have posted some slides on my Millicomputing blog, on the subject of "The Future in Your Pocket", that speculates on what could happen over the next few years in the mobile space, and starts a discussion of what we might be able to use it for.
Thursday, February 28, 2008
Hiring a researcher at Netflix
Here is the job specification for a research oriented position working for me at Netflix.
We are looking for a very experienced engineer who can take the lead, researching, modeling, presenting, designing and building algorithms that run in a service oriented architecture to support millions of customers. The successful candidate will be a self-motivated, intellectually curious individual. A Doctorate or experience working in a research environment, work with personalization algorithms, machine learning, adaptive systems, and statistical analysis would be a bonus.
I manage a sister group to the one that does the Cinematch star ratings predictions and hosts the Netflix Prize, we use that data as an input along with everything else we know about movies and customers to come up with the actual lists of movies that are shown all over the site. The research position in my group works on algorithms and mining for new data sources.
Also, Netflix is a great place to work, big enough to be interesting and small enough to be fun.
We are looking for a very experienced engineer who can take the lead, researching, modeling, presenting, designing and building algorithms that run in a service oriented architecture to support millions of customers. The successful candidate will be a self-motivated, intellectually curious individual. A Doctorate or experience working in a research environment, work with personalization algorithms, machine learning, adaptive systems, and statistical analysis would be a bonus.
I manage a sister group to the one that does the Cinematch star ratings predictions and hosts the Netflix Prize, we use that data as an input along with everything else we know about movies and customers to come up with the actual lists of movies that are shown all over the site. The research position in my group works on algorithms and mining for new data sources.
Also, Netflix is a great place to work, big enough to be interesting and small enough to be fun.
Tuesday, February 12, 2008
Emerging Communications Conference - EComm March 12-14
I'm presenting at the EComm conference on the subject of Millicomputing on the morning of March 14th. There is a Homebrew Mobile Club meeting at the conference (at the Computer History Museum in Mountainview) the evening of March 12th.
Tuesday, January 15, 2008
MacWorld report: iZap, Apple MacBook Air, iPhone and AppleTV
I tracked the MacWorld keynote via the Macrumors site on my iPhone this morning. It worked very well, with updates being pushed every few minutes. Over-all there was some good stuff released, but I think expectations were higher.
Later in the afternoon I dropped in on MacWorld for an hour or so, which was plenty of time to check out the interesting stuff.
The MacBook Air is another hit product, destined to become a geek status symbol. It looks good, feels good to use, and has the option of a solid state disk. I had some hands-on time, and I want one.... They are expensive, but the format is very well designed, and I expect it will come down in price and get new options over the coming years. To make the case strong enough despite being thin, there are more curves in the case (curved metal is much stronger than flat sheet) and it has no large holes in it. So there is no removable battery pack, and each key has its own small hole in the casing. It actually looks more mechanically robust than my MacBook pro.
I hoped to find some interesting third party iPhone applications but didn't see anything worth mentioning. I played with a demo iPhone with 1.1.3, it had a bunch of safari based games bookmarked on the second page of icons. Once I got home I upgraded my iPhone, its running fine and the new features work well. They were well leaked a few weeks ago, so there is nothing new to report. The iPod touch picked up the missing set of applications as I expected, but Apple want $20 for the privilege. This is the first example of optional applications, and charging for applications, and I expect the mechanism will get well tested by the Touch then it will be introduced for the iPhone and third party applications.
I have had an AppleTV for six months or so, and the upgraded software looks much better. I don't think I will be renting or buying many movies, but the user interface is better, and the ability to browse both audio and video based podcasts could be interesting. I mostly use my AppleTV for YouTube, playing music and sharing photo albums. One new feature is the ability to pull up photo albums over the Internet from the .mac galleries generated by iPhoto. I've been using .mac for years, and the latest (Leopard) version of iPhoto galleries is very slick and well integrated.
Apple also introduced Time Capsule, which is a network backup server combining a 500GB or 1TB of disk with an Airport. The hardware was not on show as far as I could tell, and it looks similar to the AppleTV package, but with more Ethernet ports and no video port. Personally, I don't want two separate products in this space, I want an AppleTV that operates as a Time Capsule and Airport. I want to backup my laptop and be able to play the music and video directly from the backup copy.
I'm disappointed that there was no new iPhone hardware or Leopard upgrade, and no business oriented iPhone software. I guess that's going to be featured in the next show....
Monday, December 31, 2007
Some New Performance Monitoring Tools
There is a simple and extensible open source C based daemon called collectd that writes to RRD files, an alternative to Orca/procallator for people who don't want the Perl based memory footprint of procallator. I'll check it out on my Gumstix millicomputer sometime.
There is yet another open source full-function monitoring tool called Zabbix that looks similar to Cacti in scope, possibly with more features, and with a SQL database backend. It has a commercial company backing it with support contracts etc, somewhat like the XE Toolkit.
The most interesting commercial tool I saw at CMG earlier this month is a capacity monitoring tool called PAWZ from Perfcap Corporation. The key thing they have worked on is taking the human out of the loop as much as possible with sophisticated capacity modelling algorithms and a simple and scalable operational model. It is very similar in concept to the capacity planning research I was working on and publishing in 2002-2004. The core idea is that you care about "headroom" in a service, and anything that limits that headroom is taken into account. Running out of CPU power, network bandwidth, memory, threads etc. will increase response time of the service, so monitor them all, track trends in headroom and calculate the point in time where lack of headroom will impact service response time. At eBay we used to call this the "time to live" for a service. You can easily focus on the services that have the shortest time to live, and proactively make sure that you have a low probability of poor response time. I'm going to take a closer look at this one...
Sunday, December 30, 2007
Thoughts on iPhone 1.1.3, Macworld, 3G and business users
Reports indicate the the 1.1.3 update is likely to ship before MacWorld in January, it includes an update to Google Maps that adds the same location feature as recently shipped on other non-GPS platforms (basically locating to the nearest cell-tower). It also provides mechanisms to select and arrange the applications installed on the iPhone. This is a key new feature, since the iPhone has been updated by Apple as a monolithic all-or-nothing set of applications so far. It greatly reduces the need to hack into the iPhone to customize it.
The updates themselves are fairly small, and to me it makes sense to get them installed before MacWorld. We will then see announcements at MacWorld of a set of optional applications that users can pick and choose to install on their iPhones. This could include the ability to add the Mail application and other "missing" iPhone apps to the iPod Touch. It could include brand new applications (I'm going to nominate iChat as a candidate yet again...). The public announcement of the SDK is due at MacWorld, with shipping in February, which will open up anyone to build officially sanctioned applications. However key vendors will have been testing the SDK over the last few months so I expect a bunch of third party applications to be announced or ready to ship at MacWorld.
The other leaks and rumors indicate that there is likely to be a second generation iPhone with 3G support shipping in the spring, and announced at MacWorld. This would also support launching the iPhone in Asian markets like Japan, where there is no GSM support.
I also expect that Apple will start to make moves towards business use of the iPhone, with some tools and upgrades provided by Apple, and others by key third parties.
I currently carry a Verizon Blackberry 8703e for work use, and my iPhone for personal use and iPod functionality. In order to use the iPhone as my work phone I need a few key features.
- Firewall support - the BB is inside the corporate firewall, the iPhone can't access it. We use Juniper Network Connect which is a Java based VPN solution on MacOS/XP.
- WiFi support - we use LEAP to login to WiFi at work, need support for LEAP on iPhone, it works fine on my MacOS X laptop, should be a simple feature to add.
- Exchange support - I can't use the IMAP workaround due to firewall issues, properly integrated Exchange email and calendar support is what everyone is asking for.
- Ideally RIM will port the Blackberry application suite to the iPhone, like they did for the Treo...
The two other biggest missing features are Flash and Java support. I know there are lots of issues with CPU/memory/battery life. Perhaps the next generation iPhone will be based on a more advanced ARM CPU (e.g. the ARM Cortex based Qualcomm Scorpion) with more performance and more memory so it can run Flash and Java apps alongside the existing apps?
We'll find out in a few weeks...
Happy new year.
Friday, December 28, 2007
MacOS X Leopard, iPhone and Stereo Bluetooth Headphones - A2DP
Over a year ago I bought stereo bluetooth headphones on eBay, its a multifunction unit the OMIZ OMS600, and it includes an MP3 player (with MicroSD slot), FM radio, Stereo A2DP headphone and Headset with Mono audio/Microphone. When I tried to configure it on MacOS X Tiger it didn't work because there was no A2DP headphone support.
MacOS X Leopard now supports A2DP and "just works" with this headset. The Mac sees both the Headset (Mono audio/mic for Skype etc) and Headphone (A2DP Stereo) as separate devices. After the usual Bluetooth device wizard setup, simply put the OMS600 into the headphone mode and pick "Use Headphone" from the Bluetooth dropdown menu on the Mac, the Mac's internal speakers mute, and the Headphones play. It worked over a 10 foot range walking around a room, crackled a bit at the limit and dropped the connection if I went too far away.
I don't see the OMS600 for sale any more, but there are plenty of A2DP headphones out there now, and its nice to see that Apple finally got the devices to work, and made it "Just Work" as usual.
The headset mode also works on my iPhone, but the A2DP mode doesn't. I paired the headset with the iPhone and was able to make calls and receive them. When using the FM radio or the MP3 player built-into the headset it paused and resumed for incoming calls. However when the Headphone mode was paired with my Leopard machine the iPhone didn't route calls to the Headset. The OMS600 headset has the microphone built into the left side earpiece with no voice tube or boom down nearer my mouth, and it doesn't pick up very clearly. The noise cancelling Jawbone headset works far better.
I listened to some music on iTunes (Radiohead In Rainbows and Gorillaz D-Sides are my current albums for serial listening) and waited forever for XP to start up in Parallels so I could fire up IE7 and see a Netflix Watch Instantly show about the Pixies reunion tour (called LoudQuietLoud). [Yes I know it would be nice if it worked natively on the Mac, but the studios only approve Windows DRM, and the alternatives all have issues that are taking way too much time to sort out].
Happy new year...
Sunday, December 09, 2007
A. A. Michelson Award Acceptance Speech
Last week I was selected as this year's winner of the A. A. Michelson Award for Lifetime Achievement and Contribution by the Computer Measurement Group. Here is a transcript of my acceptance speech.

Thanks to CMG, the Michelson Award winners who voted to add me to their ranks, and everyone who I have met here since I first attended CMG in 1994. I treat the CMG conference as my annual training class, a chance to mingle with my peers, learn and share the things I have learned.
There are some people who I have met at CMG or while working in this field who have become special friends, not just people I see at the conference each year. Cathy Nolan is not only national CMG president this year, she is president of my local CMG group in Northern California and was also instrumental in the process of getting me nominated for this award. We have all learned a lot over the years from Neil Gunther. Neil and I have jointly presented many training classes so I have had plenty of opportunity to learn his material. He has made queuing theory accessible and useful for very many people. Mario Jauvin has been my CMG conference buddy for many years, and for the last three years we have jointly presented the Capacity Planning with Free Tools workshop. Yefim (Fima) Somin encouraged me to attend CMG in the first place, we met in 1994 while working to port BGS Best/1 to Solaris, and we have kept in touch over the years, even though he doesn't get to come to CMG nowadays. Fima and Henry Newman were part of the Universal Measurement Architecture standards body that I joined in 1995, and I have also kept in touch with Henry. We worked to get some of his ideas (like extended system accounting) to be implemented in Solaris. Bob Sneed worked with me at Sun and is now the main contact point and conscience for CMG at Sun.
Outside CMG there are some very significant people I would also like to thank. Brian Wong is one of my closest friends, responsible for getting me to move to the USA in 1993, and is also author of the Capacity Planning and Configuration for Solaris Servers book. Brian introduced me to Rich Pettit, and we worked together for many years to build and extend the SE Toolkit, the vehicle for most of my performance measurement ideas. Allan Packer was the co-author of my first CMG paper on Database Sizing. He knows everything about database performance and wrote the book Configuring and Tuning Databases on the Solaris Platform. We borrowed Allan from Sun's office in Adelaide Australia for a month or two, and he introduced me to Richard McDougall, who we also borrowed from Adelaide. Allan and Richard both ended up working for Sun's Performance group in California. Richard built the first tools that could measure memory usage, fixed the Solaris 8 memory system, and co-authored the Solaris Internals books. He became a Sun Distinguished Engineer and recently joined VMware as Chief Performance Architect. Jim Mauro is the other author of Solaris Internals, we borrowed him from Sun's New Jersey office a few times before he also joined the performance group full time. Finally Dave Fisk worked with Brian Wong and I at Sun, and became one of my closest friends. He knows more about Unix storage performance than anyone else I've met, and I've called on him many times (he's now a consultant) to help figure out what's really going on.
I would also like to thank my family. My father is a retired Statistics Professor from the University of Hertfordshire (a.k.a. Hatfield Polytechnic) in the UK. He was programming himself in the 1960's and gently encouraged me to tinker with computers from an early age. My son recently graduated with his BSc in Computer Science from the same University, and now works as a project manager at eBay in California. My daughter has just started a degree course in European Literature at Royal Holloway College, London, so I'm no help at all with her assignments :-) I'm very proud of them. I moved to the USA on my own a few years ago and met my lovely wife Laurel in 2003. I'm very happy that she has also been able to attend CMG with me and meet many of you.
I have always been glad that I studied Physics, the work we do in performance and the diagnosis and measurement of performance leans heavily on my training as a Physicist and I think that pure Computer Scientists are lacking some of the tools they need to understand measurement and performance issues. Since A. A. Michelson was a Physicist this award is especially gratifying for me.
In 1972 my High School had a link to the computer that my Father used at Hatfield Polytechnic. I taught myself BASIC and Algol during recess....
This is what most people know me for, its getting a little out of date now, since the second edition was published in 1998, but a big thank-you to my co-author Rich Pettit and everyone that bought a copy!
The book documented metrics and performance rules, and they were implemented as an SE Toolkit script called Virtual Adrian. I spent a lot of time with all the tools vendors helping them to manage Solaris better, and with Solaris engineering getting them to make Solaris more manageable. This is what justified my involvement with CMG during my time at Sun, and its the legacy that I am most proud of.
To finish, some of the things I have learned over the years that you may find useful...
If you ever try to write a book, you need to pay attention to Cockcroft's Law of Book Writing. It seems counter-intuitive to people who have never attempted to write a book, but it is the most important thing to know if you ever intend to finish a book. For example, you scope a 200 page book and start writing. After you have written 50 pages you re-scope and find your book is now a 300 page book. You write another 50 pages and find you are now writing a 400 page book. The number of pages you have left to write to finish the book is increasing! You have to reduce scope continuously and plot a trend line that slopes downwards if you ever hope to be published.
If you collect information and share it freely, you will become an expert. You become a magnet for questions, issues and information. Some people tightly control their expertise, this is a huge mistake as it gives others incentives to look for alternative experts or to become experts themselves. If you give out your expertise freely, you become the go-to person in your field, and gather many more recommendations from the people you help. Try it!
Some observations that may help you deal with executive level management. The first one is a big problem that Sun and other manufacturers have, because the things they build take many years to go from conception to delivery. If the managers in charge of these projects don't stick around then the project is likely to be tinkered with and delayed further or dropped. Its nice being at Netflix, where the executives have been there for years and the projects take months to deliver. The second observation is that Capacity Planners have a vertical role in the organization, they gather the lowest level metrics from operations and have to present findings to upper management. We love our detailed metrics, but the only metric that upper management should have to deal with is the dollar. If you can present everything in terms of return on investment (spend $100K to save or grow by $1M) then your executive presentations will be much more effective.
What am I working on now? I'm managing a team that develops the Netflix web site. Its a personalized web service and I think that is the future of the computer industry. The scalability and performance challenges are very interesting. I'm also pushing an idea I call "Millicomputing" which could have a disruptive effect on the industry as storage moves from disks (spinning rust) to flash, and the computers move to ultra low power system-on-a-chip devices. I gave a paper on Millicomputing at CMG07 and have a separate blog on the subject.
My paper at last year's CMG was called "Utilization is Virtually Useless as a Metric", and this answer sums it up. Those who ask questions about utilization don't understand that their questions have no meaning so the answers are irrelevant :-)
Thanks again!
Adrian
CMG07 and the A. A. Michelson Award
From the Computer Measurement Group website:
Thanks to everyone who has supported me over the years, reading the blogs, papers and books; coming to training classes; the engineers at Sun who fixed my bugs and added the features I lobbied for to make Solaris more measurable; and the friends, mentors and mentees that I have worked with for many years.
Cheers!
Adrian
Each year, CMG considers exceptional individuals who have made significant contributions to our profession over their entire professional careers as possible recipients of the A.A. Michelson Award.The recipient is nominated and chosen by the past winners, and it has been granted to one person every year since 1974. This year I was very honored to be the recipient! It was announced on Monday 3rd December, at the start of the CMG07 conference. I gave an acceptance speech, that I have summarized into a blog post.Albert Abraham Michelson, for whom the award is named, was known for his outstanding technical accomplishments in measuring the speed of light as well as for his role as a teacher and inspirer of others. CMG presents this lifetime achievement award to a single individual to recognize and encourage the same combination of technical excellence and professional contributions found in only an exceptional few.
Thanks to everyone who has supported me over the years, reading the blogs, papers and books; coming to training classes; the engineers at Sun who fixed my bugs and added the features I lobbied for to make Solaris more measurable; and the friends, mentors and mentees that I have worked with for many years.
Cheers!
Adrian
Saturday, December 01, 2007
Jobs at Netflix - One down, one to go...
I have been working on hiring for the last month or so. We found and hired one good match and had a bunch of near misses, so I have revised a reissued job description that is clearer about what we are looking for. I need one more senior Java/SQL developer with experience of large scale consumer web site development. We are looking for someone who has a lot of experience in product development, may have spent some time in management or team lead roles, but still "has their head in the code". We run small agile teams, you get to architect and code new product features yourself and deliver to the site every few weeks.
Development is very rapid, agile and iterative. Features go through rigorous statistical A/B testing, and have to show a significant benefit before all the users get to see them. There is a great deal of freedom to try out ideas and an extremely analytical approach to picking the winners.
My group develops core personalization algorithms that are used to generate lists of candidate movies and filter them down to the top few to be shown in any particular block on the site. We work on the pages grouped under the main "Browse DVDs" tab at www.netflix.com. We collaborate with a sister group that collects and predicts star ratings and runs the Netflix Prize, they work on pages under the "Movie's You'll Love" tab.
The business logic is written in Java, pulling its data out of Oracle and via middle tier services. The front end presentation layer (javascript/CSS etc.) work is done by engineers working for Bill Scott, Director of UI Engineering, who used to work at Yahoo! where he was chief AJAX evangelist. He is also hiring....
Development is very rapid, agile and iterative. Features go through rigorous statistical A/B testing, and have to show a significant benefit before all the users get to see them. There is a great deal of freedom to try out ideas and an extremely analytical approach to picking the winners.
Netflix is also something of a social experiment, the company culture is unique and very employee oriented. There is minimal process, a huge reliance on personal judgement, and zero tolerance for antisocial behaviors. What would normally be a fat binder of HR policies has been summarized into a few lines: "Act in Netflix's best interest" and the vacation policy is "take some". If you don't have the personal judgement to do the right thing, we say goodbye...
Web Engineering consists of a relatively small number of senior people working very efficiently and productively. We like to hire the best "stars" we can find and build up "bench strength" like a championship winning sports team. We are looking for some more star talent...
Here is the opening: http://jobs.netflix.com/DetailFlix.asp?flix1916
I'm hiring one engineer at this time - apply at the above link or find me in LinkedIn or FaceBook to discuss.
Wednesday, November 21, 2007
Parallel Application Performance and Tuning with OpenMP
I just had dinner with my old friend Ruud van der Pas, who works for Sun's developer tools organization. He is a world class expert in making parallelized applications scale, and recently gave a talk with a very amusing performance conversation.
Ruud is an advocate and expert in OpenMP, and has just published an excellent book on the subject. "Using OpenMP". Published by MIT Press. The work was done together with Barbara Chapman and Gabriele Jost. The ISBN numbers are ISBN-10: 0-262-53302-2 and ISBN-13: 978-0-262-53302-7.
Even if you aren't using OpenMP, the concepts for performance and scaling are the same for everyone...
Ruud is an advocate and expert in OpenMP, and has just published an excellent book on the subject. "Using OpenMP". Published by MIT Press. The work was done together with Barbara Chapman and Gabriele Jost. The ISBN numbers are ISBN-10: 0-262-53302-2 and ISBN-13: 978-0-262-53302-7.
Even if you aren't using OpenMP, the concepts for performance and scaling are the same for everyone...
Friday, November 16, 2007
Computer Measurement Group - CMG07 - San Diego - December 2-7
As usual I will be presenting at CMG07. I have attended every year since 1994, and its the place where I keep track of new developments in the performance management tools industry, as well as learning and sharing with my peers.
CMG moves around the US, last year it was in Reno NV, before that in Orlando FL.
On Sunday 2nd December there is a workshop day. I'm co-presenting (with Mario Jauvin) a half day tutorial on Capacity Planning and Performance Monitoring with Free Tools (for the third year). We updated our slides a bit more this year to track the latest versions of the free tools.
During the week I'm giving a new paper on Millicomputing, that introduces the concepts I have been discussing on my Millicomputing blog, and talks about some of the management challenges of managing large numbers of small computers.
I'm also giving a half day training class on Unix/Linux Performance Management, which is based on the materials I developed over many years in my books and talks. It is still somewhat biased towards Solaris since I know that better, but I have been adding more on Linux and AIX as that is the world I currently live in at work (Netflix runs RedHat Linux and AIX on IBM P-series) and in my Millicomputing sideline (I run Ubuntu on my development host and linux 2.6 on my gumstix).
The conference contains a wide range of content, there is:
CMG moves around the US, last year it was in Reno NV, before that in Orlando FL.
On Sunday 2nd December there is a workshop day. I'm co-presenting (with Mario Jauvin) a half day tutorial on Capacity Planning and Performance Monitoring with Free Tools (for the third year). We updated our slides a bit more this year to track the latest versions of the free tools.
During the week I'm giving a new paper on Millicomputing, that introduces the concepts I have been discussing on my Millicomputing blog, and talks about some of the management challenges of managing large numbers of small computers.
I'm also giving a half day training class on Unix/Linux Performance Management, which is based on the materials I developed over many years in my books and talks. It is still somewhat biased towards Solaris since I know that better, but I have been adding more on Linux and AIX as that is the world I currently live in at work (Netflix runs RedHat Linux and AIX on IBM P-series) and in my Millicomputing sideline (I run Ubuntu on my development host and linux 2.6 on my gumstix).
The conference contains a wide range of content, there is:
- a large vendor exhibition showing the latest tools, vendor presentations and user group meetings to talk about their next steps.
- everything from beginner level introductions to deep mathematical theory.
- coverage of networking, storage, CPUs, application level performance.
- discussion of Linux, Solaris, AIX, Windows, Mainframe and all combinations
- panel discussions on virtualization, service oriented architectures, scaling large sites
I hope to see some of my readers there. I used to give training classes for Sun on a regular basis, and this is now the main venue for me to present updates versions of those classes.
Tuesday, November 13, 2007
First look at Android and implications for the Homebrew MyPhone
Google's new Android SDK is a lot more than a Linux distribution, its a complete and documented application framework with developer tools support. The primary language for application development is Java, with a special runtime called the Dalvik virtual machine that is designed to run efficiently on a battery powered device.
The SDK is 55MB, there is available Eclipse support.
Sample applications include Google Maps, mail, webkit based browser and the usual Phone and PIM stuff. The user interface seems to be based on a new set of Java classes, but there is also direct access to the display in C/C++ using SGL for 2D and OpenGL ES for 3D, and audio and video players for things like mp3 and H.264.
From a first pass through the docs, a lot of work has gone into this already. It looks as if it should be portable
to a homebrew phone without much difficulty, and from then on, we are likely to be leveraging a much larger community than the other open alternatives. It appears that the current state of the OpenMoko project is that they have made some progress and have a somewhat usable toolkit written in Python, but that C/C++ development based on GTK+ is painful, and documentation is scarce. It looks to me as if Android has taken the same basic inspiration as OpenMoko, but with a much more professional execution, and with a Java based developer platform.
We will be discussing this at the Homebrew Mobile Phone club meeting on Wednesday. We are holding the meeting at Mozilla's offices and will also be discussing their work on a mobile version of the Mozilla browser.
The SDK is 55MB, there is available Eclipse support.
Sample applications include Google Maps, mail, webkit based browser and the usual Phone and PIM stuff. The user interface seems to be based on a new set of Java classes, but there is also direct access to the display in C/C++ using SGL for 2D and OpenGL ES for 3D, and audio and video players for things like mp3 and H.264.
From a first pass through the docs, a lot of work has gone into this already. It looks as if it should be portable
to a homebrew phone without much difficulty, and from then on, we are likely to be leveraging a much larger community than the other open alternatives. It appears that the current state of the OpenMoko project is that they have made some progress and have a somewhat usable toolkit written in Python, but that C/C++ development based on GTK+ is painful, and documentation is scarce. It looks to me as if Android has taken the same basic inspiration as OpenMoko, but with a much more professional execution, and with a Java based developer platform.
We will be discussing this at the Homebrew Mobile Phone club meeting on Wednesday. We are holding the meeting at Mozilla's offices and will also be discussing their work on a mobile version of the Mozilla browser.
Sunday, November 04, 2007
Leopard review, iPhone 1.1.2 release and the Google Phone
There is an excellent in depth review of Leopard at Ars Technica, it talks about the Core Animation feature which seems like a very powerful way of specifying device independent animation effects that will work on a desktop or (eventually) on an iPhone.
Now that Apple has got Leopard out, their next move is the UK launch of the iPhone on November 9th, and as I have mentioned before, there is some additional localization needed for this and it appears that this is going to be the main feature of iPhone 1.1.2 release. The UK press is starting to get its hands on the UK product, which is running 1.1.2. The main features are a fairly complete set of worldwide localized languages, a closing of the hole that is currently being used for hacking into the iPhone, and some local features related to the UK deal with O2 and The Cloud for WiFi access, and the UK iTunes music store. There doesn't seem to be any new applications in this release.
There has been a lot of speculation about Google releasing a set of phone applications or perhaps a complete phone OS. They have been working closely with Apple, so there may be some additional/optional iPhone applications coming directly from Google. However, there is currently no support for Java on the iPhone, and some of what Google has been doing is building a suite of Java based mobile applications, so this could be seen as a broadening of Google's mobile support. If Google decides to support a fairly generic mobile Linux (like OpenEmbedded) then it opens up their applications to OpenMoko and the homebrew mobile club's myPhone. What we have today from Google is three mobile applications:
Google Maps on the iPhone (which is probably a native re-write in Objective-C). Google Maps for everyone else (which is written in Java), and I think Google Maps for PalmOS also appears to be a native application. I've used this on Treo, Blackberry and iPhone. Its obviously based on the same backend web services but the user interaction is a little different on each.
Gmail reader, which I have used on Treo and Blackberry appears to be a Java based client. I'd like to see this on the iPhone, so I'm hopeful for a full function iPhone Gmail client.
YouTube viewer on iPhone. This looks more like an Apple application, running against the Google/YouTube web services, and required coordination to get the encoding standardized on H.264. It also supports the AppleTV. I suspect that Google will have a YouTube viewer for other platforms, probably written in Java. It could also be an mp3/music player.
The web browser is a problem that the iPhone has solved, but everyone else has a very fragmented approach, caused in part by lack of memory and CPU power on most phones. There are some open source projects that have got going recently to develop Mobile Mozilla, and there are more mature products like Opera. If Google has been working on its own mobile web browser, then they have been keeping very quiet about it.
Google's office suite is based on AJAX front ends and a back end set of web services that handle presentations, documents and spreadsheets. A mobile front end application could make these much more usable, and I would suspect an iPhone version and/or a more generic Java version could be in the works. The main problem with Google's existing online office suite is that it can't be used when there is no data connection. It would be much more useful to allow some subset of useful operations to work while disconnected.
Wednesday, October 17, 2007
iPhone SDK, Leopard and 1.1.2
As I suspected, Apple plans to release an SDK for native apps on the iPhone next year. The official word is on Apple's Hot News site. They appear to have pre-announced the SDK which is likely to have its official announcement at MacWorld in January, and they say it will ship in February. I'm sure that this was the plan all along, and the developer frenzy has managed to flush out a pre-announcement to give some guidance to the market, which I think is a good move at this point.
There has also been speculation that the iPhone "runs Leopard". I think that the truth is likely to be a bit more subtle than that. There has to be a master code base for MacOSX, and efficient engineering management practices should try to minimize branches in that code base. The master code base has a release branch called "Leopard" and another one called "iPhone", but the differences between them should be as small as possible. Bug fixes and features get checked back into the master code base whenever possible. So the work put into Leopard is leveraged for the iPhone, and we should see some of the feature set that was announced for Leopard transfer to the iPhone.
I think there is a good chance that Apple will release iPhone 1.1.2 immediately after they release Leopard, and that some Leopard features will be included. One obvious feature would be localized versions of Mail and other apps for the iPhone and iPod Touch, bringing the iPod Touch more in line with the iPhone's application set. There is a new and upgraded iChat in Leopard, and it would also make sense to release this for the iPhone/Touch.
I also noticed that the DTrace analysis/monitoring framework from Solaris 10 is included in Leopard. This is very cool, it provides a huge upgrade in observability for performance analysis of both desktop and server applications.
Thursday, October 04, 2007
WWJD - What Would Jobs Do...
Somewhere in Apple there is a product team with a plan. We now have observed several steps unfolding in this plan, so I'm going to put myself in their place and try to make sense of the plan so far and where it could be going.
I have *no inside knowledge* of anything going on at Apple, this is all conjecture, OK?
Product teams have four big things that can be traded off against each other to some extent.
I have *no inside knowledge* of anything going on at Apple, this is all conjecture, OK?
Product teams have four big things that can be traded off against each other to some extent.
- The release date
- The available resources
- The feature set at launch
- The product quality at launch
For the iPhone, they waited until they had working prototypes in January, and set a release date for June that they kept to. The product quality at Apple has to be very high, and I think they did a great job with the iPhone at launch. However, products always take longer than planned, and we know that Apple delayed the launch of MacOSX Leopard so that they could put extra resources into the iPhone, so it was probably slipping at that point. The one thing that I think they were able to trade down to get a high quality product on the release date was the feature set. This is why I regard the iPhone as an unfinished product. To get a high quality product, you can simplify testing by having fewer features and fewer options in those features. This is the Minimum Marketable Features (MMF) approach I have mentioned before. Some simplifications at launch:
- US Market Only - no internationalization
- Basic camera support, no video capture (not even demo'd at the launch event)
- Relatively few preferences and options
Apple appeared to schedule bugfix and minor features releases shortly after launch (1.0.1 and 1.0.2), while concentrating development and testing to include internationalization for the worldwide rollout of the sister product, the iPod Touch and the international iPhone with 1.1.1. The Starbucks feature of the iPhone music store has its own roll-out issues, so it makes sense to add that feature as a major update rather than on initial launch.
I expect that Apple thought they had locked down the phone well enough in its first release and were surprised by the speed and extent of application and SIM based hacking. Adding digital signatures to prevent hacking in the initial launch version would have also made the final stages of debug and testing harder, so it makes sense that they didn't do it. Once Apple realized that they needed to lock down the phone to take back control of their product feature rollout plan, they had to find extra resources to develop and test the extra security features. This had to steal resources from something else, so I expect that some features originally planned for 1.0.2 and 1.1.1 have been delayed.
Opening up a product for developers is a lot of work if you do it right. There are developer specific tools, APIs that need to be stabilized, extended and documented; training classes and developer support organizations to put together. We already know that Apple was pulling resources from Leopard development just to get the iPhone out of the door. We also know that Apple already has a developer support organization, but that organization already has its hands full trying to get Leopard out of the door as a high quality product with a lot of new features that need to be documented etc. Leopard ships this month, so Apple's developer support organization should now have some spare resources to focus its attention on doing the work required to do proper high quality iPhone developer features and documentation. Based on this analysis, the earliest I would expect to announce developer support is MacWorld in January, and that plan could have been set over a year ago. I also think Apple underestimated the demand from iPhone developers, but had no spare resources to do anything about it other than emphasizing Safari based applications.
The iPod Touch has a smaller set of applications that have been fully internationalized. The extra applications on the iPhone are the US specific ones. I still think this is a transitional problem, and I expect that a minor update in October or November will upgrade the iPhone to have more extensive internationalized support, and that the non-phone-specific applications will all end up on the iPod Touch as well. If I was planning the release calendar, I would bring out one new application in each release, along with a set of less exciting upgrades like internationalization.
There are three empty slots in the iPhone user interface. I think they will all be filled by the time we get to January's release. One will be the Finder, so that users can store and browse files and applications, one could be an iWork launcher to highlight some of Apple's own business oriented applications, and January's icon could be related to installing and managing third party applications, hopefully including Flash and Java.
Its possible that iChat could merge with the SMS tool, and I would expect video support to be a feature of the camera tool. I would like a terminal with ssh support, but that's not mainstream enough to get its own icon....
Of course, Steve calls the shots, but what do you think the three remaining icons will be used for? Let's collect some suggestions in the comments.
Wednesday, October 03, 2007
iPhone 1.1.1 and the iBrick
This blog just got mentioned by a Wired News posting about the iPhone. Other than some random spellings of my name I think it picked up on my points quite well.
I haven't hacked my iPhone, and it upgraded to 1.1.1 cleanly. The new features and upgrades are welcome, but the upgrade process didn't clear out the ever increasing amount of "Other Memory". I had resorted to removing videos from my iPhone to make space and avoid out of memory errors. You can see 1.6GB in the display below.

I went through the settings, cleared out deleted mail and safari history and it made no difference. I deleted all the content and it made no difference, so I re-loaded the iPhone from scratch, and it dropped to 14MB after I had put my content back.

There are some posts on the iPhone support forums about this problem, but no mention of an official fix from Apple. One user claims that it could be related to Google Maps, which I use quite often. I'm going to watch this "other memory" usage to try to figure out which apps are increasing it.
I haven't seen a clear explanation of what is going on inside the iPhone that makes hacking applications very different from hacking the carrier, and from my experience building myPhone I can hopefully clarify this issue.
There are two CPUs inside just about all phones of any type. One is part of a GSM modem module that interfaces to the phone network, the other is the application CPU that runs the user interface (e.g. OSX on the iPhone). For the Gumstix Goliath a Siemens MC75 module interfaces to the SIM card, and the GSM antenna directly, and has USB, serial and audio interfaces. The way all these GSM modems are managed is by sending it command sequences that would be familiar to any old-timers, its a derivative of the Hayes AT command set. Inside the iPhone is a similar module. The GSM modem has a low speed low power CPU with its own flash memory. The service providers don't like having people mess with this firmware, because it controls the wireless signaling, power levels and cellular communication protocol directly, and they have to be certified for connection to the GSM network. For our homebrew phones we buy Telit or Siemens modules off the shelf and don't mess with their internals, and they just work. Thats why we can build usable homebrew phones.
Since this firmware interfaces directly with the SIM card, it can contain code that locks the phone to a particular service provider. The iPhone's GSM modem firmware is locked to AT&T. In order to modify this firmware the unlock applications such as iPhoneSIMFree had to take advantage of a debug feature or security flaw to load modified firmware into the GSM modem. Since the GSM modem is a standard component, hackers were probably able to find out its supplier and part number and get hold of a lot of documentation on how it works.
With the 1.1.1 release it appears that Apple closed off some security holes that were being used to hack into the iPhone, but also digitally signed the code inside the phone. This means that any attempt to modify OSX or the GSM firmware breaks the signature, and since the CPUs have hardware support for digital signatures, its extremely difficult to get around this form of protection. Its now several weeks since 1.1.1 was released on the iPhone and iPod Touch and it hasn't been broken into yet. The hackers have to find and exploit a completely new security flaw to get into the application CPU first, then find a way into the GSM modem. It is then easy for Apple to figure out how they are getting in, and fix it in their next release. With Apple releasing monthly updates, there isn't a viable business proposition based on hacking iPhones.
I still think Apple has a lot of unreleased iPhone software in the pipeline and will open up to developers when it has pushed out a few more updates. I think the ideal audience for an iPhone developer launch is MacWorld San Francisco in January. The highest density of startups and developers is in the Bay Area, and its the anniversary of the iPhone launch. Thats as near as I'm getting to a prediction....
In the meantime, the developers who want something to do could join the OpenMoko project, help build applications for it and maybe even port the Linux based OpenMoko to the iPhone hardware. Thats what I will be working on when I get myPhone up and running....
I haven't hacked my iPhone, and it upgraded to 1.1.1 cleanly. The new features and upgrades are welcome, but the upgrade process didn't clear out the ever increasing amount of "Other Memory". I had resorted to removing videos from my iPhone to make space and avoid out of memory errors. You can see 1.6GB in the display below.

I went through the settings, cleared out deleted mail and safari history and it made no difference. I deleted all the content and it made no difference, so I re-loaded the iPhone from scratch, and it dropped to 14MB after I had put my content back.

There are some posts on the iPhone support forums about this problem, but no mention of an official fix from Apple. One user claims that it could be related to Google Maps, which I use quite often. I'm going to watch this "other memory" usage to try to figure out which apps are increasing it.
I haven't seen a clear explanation of what is going on inside the iPhone that makes hacking applications very different from hacking the carrier, and from my experience building myPhone I can hopefully clarify this issue.
There are two CPUs inside just about all phones of any type. One is part of a GSM modem module that interfaces to the phone network, the other is the application CPU that runs the user interface (e.g. OSX on the iPhone). For the Gumstix Goliath a Siemens MC75 module interfaces to the SIM card, and the GSM antenna directly, and has USB, serial and audio interfaces. The way all these GSM modems are managed is by sending it command sequences that would be familiar to any old-timers, its a derivative of the Hayes AT command set. Inside the iPhone is a similar module. The GSM modem has a low speed low power CPU with its own flash memory. The service providers don't like having people mess with this firmware, because it controls the wireless signaling, power levels and cellular communication protocol directly, and they have to be certified for connection to the GSM network. For our homebrew phones we buy Telit or Siemens modules off the shelf and don't mess with their internals, and they just work. Thats why we can build usable homebrew phones.
Since this firmware interfaces directly with the SIM card, it can contain code that locks the phone to a particular service provider. The iPhone's GSM modem firmware is locked to AT&T. In order to modify this firmware the unlock applications such as iPhoneSIMFree had to take advantage of a debug feature or security flaw to load modified firmware into the GSM modem. Since the GSM modem is a standard component, hackers were probably able to find out its supplier and part number and get hold of a lot of documentation on how it works.
With the 1.1.1 release it appears that Apple closed off some security holes that were being used to hack into the iPhone, but also digitally signed the code inside the phone. This means that any attempt to modify OSX or the GSM firmware breaks the signature, and since the CPUs have hardware support for digital signatures, its extremely difficult to get around this form of protection. Its now several weeks since 1.1.1 was released on the iPhone and iPod Touch and it hasn't been broken into yet. The hackers have to find and exploit a completely new security flaw to get into the application CPU first, then find a way into the GSM modem. It is then easy for Apple to figure out how they are getting in, and fix it in their next release. With Apple releasing monthly updates, there isn't a viable business proposition based on hacking iPhones.
I still think Apple has a lot of unreleased iPhone software in the pipeline and will open up to developers when it has pushed out a few more updates. I think the ideal audience for an iPhone developer launch is MacWorld San Francisco in January. The highest density of startups and developers is in the Bay Area, and its the anniversary of the iPhone launch. Thats as near as I'm getting to a prediction....
In the meantime, the developers who want something to do could join the OpenMoko project, help build applications for it and maybe even port the Linux based OpenMoko to the iPhone hardware. Thats what I will be working on when I get myPhone up and running....
Wednesday, September 05, 2007
What happened to the iPhone, and what comes next...
After the launch event last January, there was a lot of repetitive and shortsighted commentary about the iPhone, and I wrote a blog post about the way I thought Apple's strategy made sense and what the next few moves would be.
I think I got it broadly right, their strategy did make sense, and still makes sense to me. The iPhone was launched with features designed for the consumer marketplace, and redefined the smartphone category, ignoring the pundits who said it couldn't succeed as a smartphone without a business oriented feature set, it outsold all the other smartphones by an order of magnitude, and the competition is now scrambling to come up with products that bear any kind of comparison with the iPhone features and ease of use. The hardware is relatively easy to duplicate, but the software is years ahead of anything else.
One prediction I made was that Apple would release an iPod version this summer, and that just came true, with the iPod Touch. The hardware omits the phone features, adds more flash memory and uses a slightly smaller form factor, but it completely leverages the software investment which is the most important part of the iPhone. This WiFi based iPod is also completely internationalized, which is its primary software advance on the iPhone. It's also clear to me why the software updates for the iPhone haven't delivered much yet, the team was working hard on the iPod Touch, and it takes a lot more work than you may expect to internationalize and test a worldwide product. This foundation also sets up the iPhone for its own worldwide rollout. The iPod Touch will create clear consumer demand for the iPhone around the world that will get better deals for Apple as it works its way around the world's Telcos.
The iPod Touch omits Google Maps, Stock Quotes etc, which are USA market specific. I expect that when you sync an iPod Touch in a specific country Apple will install whatever unique applications are available in that country, so US consumers could get a quick upgrade to match the iPhone application set. The Mail application is also missing, while it could be provided in a generic form, the iPhone version is setup to make it easy to connect to US based mail providers, so it could be part of a localized application bundle.
Another prediction I made was that a 3G iPhone would follow for the European market. The cut in price of the original iPhone creates an empty price-point at $599, which could be filled by a 3G capable iPhone with 16GB of flash and possibly GPS. Some commentators have suggested that this could be announced at Apple Expo in Paris on Sept 25th, and I think that makes sense. The 3G phone could be thicker to accommodate a larger battery, in the same way that the iPod models vary thickness in the product range.
The iPhone is a *platform* which is in its infancy. I'm looking forward to a lot of software upgrades which will broaden its market appeal. As an unfinished product, it also makes complete sense to me that there is no encouragement for developers. For many platform based products (from Windows to eBay) the developers go into business to extend the feature set, but the platform vendor ends up competing with their developer community as they bundle more features into the platform. It makes sense for Apple to release the bulk of the applications that they are working on in-house and do deals behind closed doors with major vendors such as Google (and I suspect Adobe and even Microsoft), where they can build a coherent set of features into a roadmap that completes the basic platform. *Then* open up the platform to the developer community to innovate from a much richer baseline.
The current hacker based developer community knows it is living on the edge, so expects to be disrupted each time Apple releases something. I'm sure they will hack the iPod Touch within a few days, but the key for Apple is to carry this initial enthusiasm into a real developer program, while keeping the number of hacked systems to a minimum. One way that Apple could make life difficult for the hackers would be to release software updates very frequently.
Some more predictions - what would a completed product look like?
1) Flash and Silverlight - I'm sure that Adobe has come under intense pressure from all sides to get Flash onto the iPhone. It's a matter of time. We are also seeing Microsoft take on Adobe with Silverlight, and if Microsoft could establish Silverlight as a viable platform on the iPhone, then they would also be in a better position for Windows Mobile platforms and any future Zune based iPhone competitors. Either way, this would provide a much more open way (compared to the bundled YouTube application) to stream animation and video to the iPhone and iPod Touch from any web site.
2) Camera - the current iPhone camera looks barely finished. The viewfinder ripples if you move, has few features and takes a long time to grab a picture. Its clearly a software based camera, and the ARM based hardware used in the iPhone usually contains a lot of accelerators for image and video capture and compression which do not appear to be in use in the current version. My guess is that a future software upgrade will move to a hardware accelerated camera with video capture support and features like digital zoom.
3) Instant Messaging/VOIP/Video - current solutions use a web page or hacked application to do call-back to the iPhone over the regular phone network. This requires centralized hardware resources that cost real money. The free way to do chat, voice and video over the network is on a true peer to peer basis, and I expect Apple to produce iChat for the iPhone, and eventually perhaps iChat AV to include video. A call from an Apple laptop or desktop system with a camera could show up as video on any iPhone, but a new iPhone model with a forward facing camera would be needed to act as a true portable two-way video phone. I also suspect that a faster CPU would be needed so this is likely to be a longer term prospect. It should also be possible for developers to port other messaging applications such as Skype.
4) Business Applications - the most requested being Microsoft OutLook/Exchange support at the same level as we have come to expect from RIM Blackberry's. I don't think full integration will come directly from Apple, but there is likely to be a food fight amongst third party developers to win this market. Business orientated smartphones are going to suffer. The main casualty will likely be the Palm Treo in the short term, and the RIM Blackberry and the Windows Mobile based systems in the longer term. I doubt that any of these players will be able to get their platform software into the same space as Apple fast enough to hold onto this market. If RIM is smart, they will do an iPhone port of their application and hold onto their dominant position with the backend infrastructure for corporate messaging, while gradually losing ground to iPhones in the handheld device space.
In January I said I would wait before I got an iPhone, but it was too good, I wanted one, and my wife bought me one when they first came out. It redefines the market, and the US based phone market was ripe for a serious upgrade. I also have a work-provided Verizon based Blackberry and I carry both. When better business oriented email and calendar integration arrives, I'll return the Blackberry.
Some of you may be wondering about my homebrew phone. Its still a work in progress, and I expect to have it up and running shortly. It took a few turns to get everything on the Gumstx Goliath board working properly.
Tuesday, July 17, 2007
Gumstix Goliath - myPhone system board
The Gumstix Goliath open phone hardware is now available for order. There are versions with and without the Global Positioning Systems (GPS) support.
I've placed my order (I already have a Gumstix Verdex CPU board), and I'm still working on myPhone case design for this board and its 4.3" touchscreen LCD. Unlike the iPhone, the hardware and software is completely open, you can do anything you like with it, and thats also the problem, the software is extremely basic at the moment. However, its about the journey, not the destination, I'm going to have a lot of fun as we build this device.
Features: | GSM/GPRS/EDGE, GPS, analog audio in/out, LCD, touchscreen controller, USB host port, 3D-accelerometer, NiMH battery charger (batteries not included) |
Connection: | 60-pin Hirose connector to verdex motherboard only |
Dimensions: | 105.5mm x 67.3mm |
I've placed my order (I already have a Gumstix Verdex CPU board), and I'm still working on myPhone case design for this board and its 4.3" touchscreen LCD. Unlike the iPhone, the hardware and software is completely open, you can do anything you like with it, and thats also the problem, the software is extremely basic at the moment. However, its about the journey, not the destination, I'm going to have a lot of fun as we build this device.
iPhone, the good the bad and no ugly bits
I got my iPhone in the mail after 10 days, beating the 2-4 weeks delivery estimate. I've used it for a week and have some opinions I'd like to share.
The biggest suprise is just how good video looks. Everyone I show it to goes "wow". This is something you have to see in person. The video quality for "video iPod" mode and for "WiFi YouTube" mode is basically perfect. When running on EDGE, YouTube downloads a lower quality version of the video that has visible artifacts, and looks more like typical video on a PC quality (e.g. similar to my Slingbox). In any case this is a seriously good video player, and I happily watched several complete TV shows on it.
The built-in speaker is also surprisingly good, considering the limitations of a mobile device. I left the iPhone lying on the table and used it as background music.
The user interface is easy, no-one has any problem using it immediately, and typing on the keyboard is much easier and more accurate than I expected.
My main disappointment is with Email. It works, but I've got used to the Gmail client application on the Treo and Blackberry. The generic pop client just doesn't work well enough since it doesn't understand archiving and threading, and the safari browser version is inconvenient and slow when using EDGE. I really hope that the Gmail application is in the works for a future update, it seems likely, given the relationship between Google and Apple, and the Google Maps application that is already included.
For use at work, it can't yet replace my Blackberry. The iPhone VPN doesn't work with the VPN where I work. The LEAP security mode we use for wireless is also unsupported, although it works fine on my MacOS laptop. Using a simpler guest wireless setup I did see over 3Mbits/s in a speed test which is very impressive for a mobile device.
I can use Safari to get at Outlook Web Access, and http redirect based secure access to internal web pages worked fine. I have had no crashes or problems with Safari, trying it out on several sites.
For Netflix, heavy use of "mouse-over" in the user interface design is an issue since the touch screen doesn't generate mouse-over events. Although Safari on iPhone supports JavaScript, some work is needed to figure out how to use JavaScript effectively given the different input behaviors. In the meantime, the basic operations of browsing for movies and adding to the queue work fine, but rating a movie doesn't work since the star-setting method uses mouse-over.
For detailed insight into the iPhone, go read RoughlyDrafted, its by far the most thoughtful and interesting blog on the subject.
The biggest suprise is just how good video looks. Everyone I show it to goes "wow". This is something you have to see in person. The video quality for "video iPod" mode and for "WiFi YouTube" mode is basically perfect. When running on EDGE, YouTube downloads a lower quality version of the video that has visible artifacts, and looks more like typical video on a PC quality (e.g. similar to my Slingbox). In any case this is a seriously good video player, and I happily watched several complete TV shows on it.
The built-in speaker is also surprisingly good, considering the limitations of a mobile device. I left the iPhone lying on the table and used it as background music.
The user interface is easy, no-one has any problem using it immediately, and typing on the keyboard is much easier and more accurate than I expected.
My main disappointment is with Email. It works, but I've got used to the Gmail client application on the Treo and Blackberry. The generic pop client just doesn't work well enough since it doesn't understand archiving and threading, and the safari browser version is inconvenient and slow when using EDGE. I really hope that the Gmail application is in the works for a future update, it seems likely, given the relationship between Google and Apple, and the Google Maps application that is already included.
For use at work, it can't yet replace my Blackberry. The iPhone VPN doesn't work with the VPN where I work. The LEAP security mode we use for wireless is also unsupported, although it works fine on my MacOS laptop. Using a simpler guest wireless setup I did see over 3Mbits/s in a speed test which is very impressive for a mobile device.
I can use Safari to get at Outlook Web Access, and http redirect based secure access to internal web pages worked fine. I have had no crashes or problems with Safari, trying it out on several sites.
For Netflix, heavy use of "mouse-over" in the user interface design is an issue since the touch screen doesn't generate mouse-over events. Although Safari on iPhone supports JavaScript, some work is needed to figure out how to use JavaScript effectively given the different input behaviors. In the meantime, the basic operations of browsing for movies and adding to the queue work fine, but rating a movie doesn't work since the star-setting method uses mouse-over.
For detailed insight into the iPhone, go read RoughlyDrafted, its by far the most thoughtful and interesting blog on the subject.
Subscribe to:
Posts (Atom)











