The second presentation at Web 2.0 Expo that I attended on Tuesday of this week was a great presentation by Brian Fling of Fling Media, and the creator of the Mobile Design blog. He started off with a really good review of all of the “layers” in the “mobile application” stack. There are a lot of complex pieces in place in the ‘telco’ world … the underlying technologies, the networks, the carriers, and the phone devices themselves. It’s really created a nightmare for software developers to write good mobile applications.
While at the CTIA show this last month, I learned a lot about the carriers, and their issues with software developers. The first was that software can often cause additional expenses to the end user, and if the user doesn’t like their bill they won’t pay it. On top of that is the second issue … the user will then call the carrier to be upset with them … and that support call can cost – on average – $20-$25 each call! So now they have an upset, non-paying customer on the phone to their support center costing them money … not good for cash flow. The one comment I heard was that two support calls a month makes you a non-profitable customer. And so the end result? The carriers want complete and tight control on the applications being deployed to cell phones.
Brian talked about the lock that the carriers have on the network, the phone devices, and the applications being deployed, and he then showed a great YouTube video of Jason Devitt (of Skydeck and Vindigo Studios) testifying before Congress about open access to the cellular networks. (Jason Devitt testimony before Congress) This video is really good to watch if you want to learn more about the limits imposed, if you aren’t aware of the current situation. It is, in many people’s opinions, completely crippling the creativity and value that could be delivered to your phone.
Some of the statistics presented were:
- Current Global Mobile Users: 2.9 billion
- Current Mobile Users with Web Access: 1.3 billion
- Current Desktop Users with Web Access: 1.1 billion
This is fascinating as it shows that more people can access the Internet and the Web from their mobile devices, than from desktop or laptop PCs! The prediction that he quoted indicated that by 2010, half the worlds population will have Mobile Web Access!
Brian then presented his thoughts on Mobile as being the 7th Media:
- Printing Press (print)
- Recordings (audio)
- Cinema (video)
- Radio (remote audio)
- Television (remote video)
- The Internet (globally distributed and accessible)
- Mobile … with you all of the time!
- Personal mass media – it’s your device!
- First ‘always on’ mass media – most people leave it turned on
- Always carried – you have it with you everywhere
- Built in payment channel – via your phone bill, or browser
- Point of thought – when ever/where ever – it’s just there!
I was really impressed as he then talked about the fact that this is the only form of new media that can do everything the first six media types were able to do! Your mobile device can provide you with printed/text information, stored or streamed audio and video, and real-time Internet access … all of the time, almost everywhere you go on earth.
From there, Brian moved into the value of location finally being realized. Location Based Services – LBS – are becoming reality due to the capabilities in new mobile devices. Although we often think about the possible privacy concerns … it is there. New forms of using Wifi, Cell Towers, and GPS are providing access to where you are … where your mobile device is. This then leads to the “Contextual Web”. Mobile applications are now able to begin to give you information based on when and where you are.
All of this information and lead in was to set the stage for the rest of his talk about the current state of application design for mobile devices. Although the iPhone is completely changing the landscape, and pushing other mobile device vendors to wake up and move in new directions, there are still many “least common denominator” that any developer will want to consider when creating their mobile applications.
His overall lessons about developing for Mobile devices are what he calls the Three C’s of the Mobile Web:
- Cost (be conscious of the user … and their phone bill!)
- Content (how you design the content for small device screens)
- Context (how will the user use it … where they use it)
This is where the presentation then moved to really focus on the iPhone … and why it is becoming the biggest impact in the mobile world … ever. He began by quoting Craig MCaw … someone who was instrumental to the development of the cellular market in the US:
Change occurs because there is a gap between what is, and what should be – Craig McCaw
Brian spoke about how he feels that the iPhone is the definition of Mobile 2.0. He believes that it is the first phone to truly integrate all of the necessary components to truly shift the future of mobile applications. When he attended one of the last Mobile 2.0 conferences, he commented on the 10 things that he learned:
- Mobile 2.0 = the web
- Mobile web browser is the next killer app
- Mobile web applications are the future
- AJAX is the next frontier
- Rich interactions kill the web
- Mobile User Experience sucks
- Mobile Widgets are the next big things
- Carrier is the new “C” word … they suck
- We are creators … not consumers.
Based on all of these things learned, it is interesting to see the way that many, if not all, are addressed by the introduction of the iPhone in the market. Brian’s thoughts in this area are the iPhone Strengths:
- Smart phone for the masses
- Although there have been many smart-phones produced, and sold into business, this is the first real “usable” smart phone. Period.
- Flat-rate data plan
- There is now no worry about “How much data am I using?” Users don’t have to worry about surprise phone bills. This, in my opinion, is the biggest value that Apple delivered.
- Device sold and supported outside the carrier
- Carriers are very worried about the cost of support calls. Apple is training users to contact the phone/device manufacturer (Apple) instead of the carrier.
- No subsidization
- This, in my opinion, is the second largest impact of the iPhone! People are paying hundreds of dollars for a phone … something that simply wasn’t done in the past with this class of mobile device owners.
- Updatable software (4 updates in 9 months)
- The fact that the mobile device can evolve and be updated easily by the user. In the past, few updates ever appears for the phones once they were shipped.
- Location awareness
- Huge. Integrated into the iPhone are ways to obtain information about Wifi access points in the area, and cell towers that are “visible” to the phone. Both of these methods are then used to attempt to fine-tune the users location.
- Resetting bandwidth expectations
- Here, the iPhone is giving the masses the first experience of broadband Internet access. It is setting a base threshold for expectations.
- Portable device convergence (phone/ipod, etc.)
- So many people didn’t want a converged device … because they wanted their iPod. The iPhone has now integrated digital camera, iPod, portable browser, and phone … all in one sleek device.
- Web & Mobile standards (great adherence in rendering)
- The Webkit browser engine used within the iPhone has an incredible level of support for the current HTML/CSS/Javascript standards allowing for rich application designs.
- Impact on developer communities (developers moving into iPhone development)
- The iPhone has ignited a real interest in people developing applications for mobile devices … specifically the iPhone.
Some sales date that Brian provided:
- 4 million sold in 90 first days
- 2.5 million last quarter
- 10 million by the end of the year … they are at 70% of that now!
- 1457 Mobile apps as of yesterday
- 131 new apps in the last 14 days
- 600 new apps in the last 60 days
- 84.8% of all iPhone owners are accessing news and information
- iPhone is already 23% of all mobile web traffic
- Wired magazine showed the iPhone as .09% of all web traffic
- Brian showed the iPhone web stats report … March 2008 now at .15% of all web traffic
Now, besides the iPhone, the newer Apple iTouch is becoming a new transformation of the iPhone. It is a WiFi media device that can also be considered a powerful mobile device … containing the same Webkit browser engine … allowing iTouch users to cruise the web via Wifi. He asked people to think about how quickly the iTouch might begin to replace the more common iPod … there were 22 million iPods sold in Q1 of 2008 … over 140 million sold in 6 years.
For the more technical web application developers, this is where Brian finally cut to the tech details. First tip … you really have to design with bandwidth in mind. For those who never developed for dial-up modems, this is the time for you to experience the “old days” of the Internet. In his testing, Brian said you really have to consider that the average max bandwidth that an iPhone user will see is ~125kbps on Edge … and even on Wifi, you *might* see rates of ~4Mbps … but design your mobile device applications for 125kbps! Keep the content light!
There are also two key features that you are going to want to program into your website:
- Device/Browser Specific Stylesheets
- Use the “media” queries (slide 268 above)
- Device Detection (Javascript redirect or Server Redirect)
- userAgent matching or server side (slide 270 above)
Also, when developing applications for the iPhone, he mentioned that there are several specific limits that Apple has imposed:
- 10MB download limit
- no bigger objects!
- Javascript execution time limit – 5 seconds for each top-level item
- You can’t have any long-running Javascript routines.
- No Flash or SVG
- This is still disappointing to me … I really like both!
- No Java
- I’m not a Java fan, so no biggy to me.
- No mouse-over, hover, tooltip mouse events
- The biggest impact here is drag-and-drop, etc.
- No file downloads or uploads
- Again … limits what you can do to get data to and from the iPhone
There are now several development kits and tools that can be used, and Brian said that all of these have use with iPhone applications:
- iUI by Joe Hewitt
- Google Web Toolkit (GWT)
- Yahoo! User Interface Library (YUI)
- many other icon and interface design tools
For the PHP crowd out there, Brian again reiterated the importance of bandwidth … and size. He stressed that you really want to reduce content size:
- use ob_start(“ob_gzhandler”) for PHP content
- remove whitespace
- refactor Javascript to be efficient, remove extra brackets, etc.
- compress images or use CSS where possible
- cache data on the server for good response times
Overall, what was really fascinating to me, was that he continued to recommend using HTML and AJAX for iPhone applications … for now. The real issues of creating an installed iPhone application still center on the uncertainty of you will ever get your application installed on the phone!
Apple has taken the approach that, although there is an open developer kit, the actual ability to get an app to a user will be limited initially … and it’s still not quite clear all of the implications. If you simply develop an application on your server that can detect the iPhone browser, you can then deliver a very customized experience to the user with great success. No need to install anything …
Obviously the limitations of this approach, are that you will loose the tight integration with many of the iPhone features such as the location data, and the accelerometers.
I’m now looking to obtain a couple of used iPhones for testing … or maybe an iPod Touch. I want to see what we can come up with for a good iPhone UI for one of our recent projects. This session was great for learning some of the more indepth aspects of what to consider when developing for the iPhone.