Showing posts with label commentary. Show all posts
Showing posts with label commentary. Show all posts

Monday, January 9, 2012

The year ahead for Apple: the iPad dominates (and one more thing...)

iPad
With 2012 barely a week old (and possibly the last year ever), I thought it would be a good time to make some prognostications for the tech industry in the year ahead. As an iOS developer, I pay a lot of attention to Apple, so I'll concentrate on what I think is in store for the Cupertino company. Love them or hate them, they're certain to continue to make their presence felt in 2012.

iPad continues to dominate
Apple will announce the iPad 3 in March, to begin selling sometime in late May. It will be an iteration of the existing iPad design, but a little thinner, sleeker and sporting a 2048x1536 Retina display. Tech pundits will give it mixed reviews, repeatedly pointing out that there is no LTE version, but consumers will embrace the device and Apple will again have problems meeting strong demand. In addition, Apple will keep the iPad 2 around, slashing the price of the base model to US$299. With Apple's BOM costs for the iPad 2 now falling under US$200, they maintain their profit margins and whittle away at the value proposition of competing tablets, most notably the Kindle Fire.

This isn't a big deal for Amazon; the Kindle Fire is their razor handle and Amazon's digital books, music, movies and apps are the blades. Amazon will continue to improve their Kindle line, updating the Kindle Fire software and introducing a follow-on color tablet device in a larger form factor that's more suitable for viewing movies, magazines and textbooks. The Kindle doesn't need to appeal to everyone, only to Amazon's best customers, and ensure that Amazon has a path to their digital customers outside of Apple and Google. Amazon is happy to be the Schick to Apple's Gillette in the tablet market.

For the Android tablet makers, that large sucking sound you hear is Apple continuing to vacuum up all the mobile device profits in developed countries. With Apple using their billions in cash to lock up the best values in the supply chain, Android tablet makers will be hard pressed to match the iPad's juicy margins. Making it up in volume won't be possible: with Android lacking any compelling value proposition for the general consumer, Android tablets will remain the province of open source zealots, tinkerers and Apple-haters, and sales will be anemic in developed countries. The story will be a bit different in emerging economies where US$100 is too large a differential for most consumers, but razor thin profit margins will make Android tablets a money loser for all but the most nimble device makers. The story will be brighter for Android in the phone market, where Android's "openness" aligns closely with the mobile carriers' desire for total control of their customers, but here too Apple will continue to soak up the lion's share of profits on mobile phone sales.

The sad passing of Steve Jobs won't slow Apple down this year; if anything, his spirit will continue to haunt One Infinite Loop and energize the company. Though Tim Cook is no Steve Jobs, he doesn't have to be; ultimately Apple's products will speak for themselves, as they always have. And while we will all miss watching Jobs unveil Apple's latest and greatest, there will still be one more thing...the new Apple TV.

Apple TV
Television, the Apple way
With all the rumor and speculation swirling around the forthcoming Apple TV device, from Jobs' cryptic comment in his biography that "I finally cracked it" to talk of a 50-inch Apple branded television, it's hard to see where this one might go. I'd be surprised if they announce this early in the year; Apple needs to line up enough content owners behind the new device for it to be compelling to consumers and seem inevitable to the rest of the industry. The movie studios are scared of change and will draw out negotiations. I would look for a big announcement in the late summer or early fall.

A lot of speculation focuses on what kind of UI the device might have, with talk of Siri-style voice control, but I don't think that's the most interesting thing here: I'm sure the UI will be butter smooth and easy to use, whatever form it takes. When Jobs said "I finally cracked it", I believe he was thinking at a higher level. Apple has had the technology to build a nice TV set for a long time, but they haven't because there's no money to be made there, and simply building some pretty on-screen menus isn't interesting enough. Changing the way people perceive television and building a new business model behind that is what's interesting to Apple.

How many of you remember the first Motorola ROKR? That was the first "Apple phone", a Motorola mobile phone with a built-in iPod, released in September 2005 to widespread yawns and poor sales. It's no coincidence that Apple and Motorola parted ways not long after, with Apple announcing the iPhone in January 2007. The ROKR was a learning experiment on Apple's part, a way for them to get an understanding of mobile phone technology and the business model behind it. The genius of the iPhone was in seeing what a mobile phone could be. In 2006, a mobile phone was a commoditized product that let you make phone calls, painfully type out text messages on a cramped telephone keypad and take tiny, fuzzy pictures. Most consumers just took the cheapest device they could get from their mobile carrier. In 2007, a mobile phone became your portable connection to the internet, people lined up at the Apple store to buy it and happily switched carriers to make it work. Apple makes handsome margins on the device and a little pocket change on media sales through iTunes, the carrier attracts deep pocket customers who gladly pony up US$80 a month or more for an expensive data plan, and consumers get a clean, easy to use device that gives them Internet access on the go. Making phone calls becomes almost an afterthought. While the iPhone may not be in the carrier's best interests long term, the prospect of all those free-spending Apple customers in the short term was enough to sign up one carrier in every big market.

In 2011, teevee consists is a giant flat panel with a rat's nest of wires to a craptastic cable box, DVD player and game console, along with four inscrutable 57-button remotes lying on the coffee table. People pay US$100 or more per month to their monopoly cable company for access to hundreds of streams of random programming interspersed with twenty minutes of 100 decibel commercials per hour. Consumers pay attention to exactly 3.5 hours of programming a week; the rest of the time they flick channels endlessly, searching for something good. The flat panel screen is a commodity, as are the cable box and DVD or Blu-ray player; the game console is a barely differentiated loss-leader. Apple has been playing around the periphery of this miserable, steaming technology stack for several years with their "hobby", the little Apple TV box, that lets you watch movies and TV bought on iTunes and stream Netflix. They're learning about building UIs for giant flat panels and figuring out how to negotiate with the studios to get compelling content.

Apple has a lot of interesting pieces in place. iOS devices are already eating away at the hand-held game market. Sales and rentals of videos though iTunes have value to both the content owners and consumers with disposable income: the studios get flexible pricing and detailed sales metrics, consumers get their favorite programs without the commercial, movie previews or FBI warnings and the can watch at home or on their mobile device. Content distributors like MLB and Netflix can create custom apps for both iOS and Apple TV that give them greater control over how their content is distributed. In many ways, apps are the channels of the future. Facetime video chat is a great app, especially on iPad. The Airplay feature of iOS devices is a hidden gem here, effectively turning that big flat panel into a flexible video terminal for your iPhone, iPad or iPod touch, allowing you to project your favorite movie, TV show, game or app onto the big screen for all to enjoy. Apple TV sales figures may be modest when compared to other iOS devices, but the couple of million little Apple TV boxes sold in 2011 could be just the tip of the iceberg. The killer app for Apple TV is the ability to effortlessly bore friends and neighbors with all those bad vacation photos you took.

Apple could take the Apple TV platform in a number of directions. While I would love for them to do something that would allow me to ditch my collection of 57-button remotes, more likely Apple views the DVD/Blu-ray player, cable box and game console as legacy -- they will all go away on their own soon enough. Imagine Steve Jobs watching television, cross-legged on the polished hardwood floor of a nearly empty room with just a Tiffany lamp and a sleek, 50-inch Apple branded flat screen, the slim, silver seven-button Apple remote in his hand. You wouldn't need or want anything else. If Apple does produce their own television set, simplicity will be it's main value proposition to consumers. It will be designed to stand alone rather than integrate with all those legacy devices. You won't need to hire Geek Squad to set it up, but it won't appeal to people who are heavily invested in all those legacy devices. The tech press will complain about it being closed and limited, but it will strike a chord with certain buyers, particularly the 9% of US consumers that have dropped their cable television service. I'm sure Apple has a mature prototype television set sitting in Sir Jony Ive's office in Cupertino; whether Apple thinks the world is ready for it is the real question.

For the rest of us, Apple will continue to make the inexpensive little Apple TV box. They may update the hardware this year to add Siri-style voice control, but I'm expecting the real innovation will be on how content is bought and delivered. The rumor that Apple plans to bid for rights to broadcast English Premier League soccer is intriguing. The Apple TV already comes with apps for NBA, NHL and MLB as well as the Wall Street Journal. What would your television viewing experience be like if all your cable channels became apps on Apple TV, with in-app purchase or subscriptions for premium content? How would you divvy up that US$100 a month you currently spend on cable TV among all those apps? If enough of your favorite shows were available on Apple TV, canceling your cable TV subscription would be a no-brainer. I'll bet that many of the content owners would be happy to cut out the cable companies and have better control over their relationship with viewers.

Whatever Apple does around teevee this year, you can bet that critics will deride it as too limited, closed or incompatible, just as critics derided the first iPhone and iPad. Meanwhile, Apple will be laser-focused on making their customers happy and earning generous profits in the process.

Thursday, January 5, 2012

Avoid agile dogma: recommendations not rules

Bozo the Clown
Years ago as a developer working mostly solo, I got interested in automated testing and unit testing, which in turn lead me to extreme programming (XP) and agile software methodologies. I've had the wonderful good fortune of working for Pivotal Labs a number of times in recent years and been a part of a number of successful agile projects. I know that an agile approach to project management can work well in many situations and I think I have a good understanding of how and why. But I'm not an agile zealot -- agile isn't appropriate for every type of project or organization and a good team can usually succeed using any process. Still, I think working on an XP project is more fun and rewarding for everyone involved.

I've talked with many developers who range from agile skeptic to agile detractor. They often react negatively to a particular XP or agile practice, with pair programming and unit testing being the two most common ones. Some developers are drawn to programming because they get great satisfaction from grappling with interesting intellectual challenges in solitude; agile doesn't have much to offer an individual developer when this is their top priority. If you're this kind of developer and you've found a place that gives you the freedom to work solo on cool stuff, more power to you!

More often, I talk to developers who recoil from the dogmatic pronouncements of agile proponents.

Software developers are a funny bunch. We are prone to seeing the world in very black or white, zero or one terms, and we generally have finely tuned bullshit filters. We prefer a world that is rational, measurable and repeatable to one where truth is determined by politics, personality and political correctness. When confronted with admonishments to pair program, write unit tests, use Pivotal Tracker or pat your head while rubbing your belly, we ask, "Why?" All too often, agilistas respond by implying that you can't possibly succeed in software development without doing all these things, and more: this is just padawan stuff, just wait 'till you become a full-fledged Jedi! At this point, the bullshit filter is engaged and anything that smacks of "agile" is permanently tagged with bozo, to be called up later when a target for ridicule is needed.

That's a shame, because agile methodologies like XP and Scrum really aren't about writing software, but about managing complex projects where the goal is to build something unique and novel. And it's a rare software project that doesn't have uncertain requirements, technical risk, deadlines and limited budget. Software project planning and management is far too often dominated by the politics, personality and political correctness that software developers eschew. The core idea of agile methodologies is to turn project planning and management into something more rational, measurable and repeatable. Blanket prescriptions that you must write code a certain way, use a particular tool or hold certain kinds of meetings aren't helpful; in fact, they can be actively harmful to a functioning development team.

Mike Cohn (the author of one of my favorite books, Agile Estimating and Planning) made a New Year's resolution to "Make recommendations not rules". Mike lays out his view of the core rules that make a software development team "agile" in his eyes. It's a short list, just five points, but it gets at the heart of good project management, whether you call it agile or not. "Beyond that, it’s much more about recommendations," Mike states, and I agree.

If you're an agile proponent, try to keep in mind that each team's pain is unique, and there are many different paths to success. User stories or planning poker may be the shiny new candy to you, but most people just want to get their work done. Pushing strange new techniques on people and organizations that are unready or unreceptive is ineffective at best and counterproductive at worst. Making sure the right people are having the right conversations at the right time is at the heart of any successful project. Agile methodologies like XP and Scrum are frameworks for making this happen, but they're not the only way. Avoid agile purity tests, adapt to local circumstances and prefer recommendations over rules.

Wednesday, October 5, 2011

Steve Jobs


I lived in Palo Alto for many years, and would see Steve Jobs around town from time to time. I'd see him buying flowers at Stanford Florist, shopping for organic lentils in Whole Foods, talking on his iPhone outside Evvia before meeting people for dinner or strolling with his wife past Fraiche on a sunny afternoon.

And I've followed his career from the beginning, starting when I was a nerdy kid into computers. I read all about the Lisa, Steve's first baby, named after his daughter and now long forgotten and I followed the launch of its more successful sibling, the Macintosh. I was not fortunate enough to be a Mac owner in those early days but some of my friends had them and I always loved the little Mac toasters. I was primarily a Windows user for many years, but there was always something about the design of the Mac that was so clean and appealing, even years after Steve was forced out of Apple.

I was in college when he started NeXT. The black NeXT cube was so cool, so fascinating. While I had hoped that NeXT would be successful, unfortunately for too many people, myself included, the NeXT was too different, too expensive, my existing software and hardware wasn't compatible. Computing in the late 80's was very different, and the network effect of Wintel hardware and software compatibility drove even die hard Mac fans to buy PCs.

NeXT struggled. I was sad when they ceased producing that sleek black cube. They concentrated on selling the NeXTStep OS and development tools, with limited success at best. I wonder what it must have been like to have been so successful with Apple then to struggle so much with NeXT.

These years were also a struggle for Apple. Their biggest challenge was simply persisting in the face of the Windows juggernaut, but many of Apple's problems were self-inflicted. A decade of building atop Steve's original Macintosh foundation had left Apple with the OS equivalent of a house of cards. Apple recognized this, but their various projects to produce a new Macintosh OS never amounted to anything and their attempt to build a new class of product, the Newton, was overly expensive, marginally useful and widely lampooned.

I owned one of the first Newtons. I used it for about a year as my address book and calendar, but eventually gave it up in frustration and went back to a paper daily planner. It was a sad time for fans of Apple.

Then Apple acquired NeXT. NeXT had a modern operating system that nobody much wanted, and Apple made computers that needed a modern OS. And Steve came back to Apple as an advisor. And suddenly Apple didn't look so doomed. If you have the time, I recommend you watch Steve's Q&A session at WWDC 1997. It's his first WWDC after coming back to Apple. What comes through to me is that Steve clearly loves this stuff, and that he has his sights clearly focused on creating the best experience for the Mac user, not on some cool technology or selling more boxes to IT managers or making developer's lives easier. If you watch the Q&A, you'll see some discussion about OpenDoc and that it was killed. OpenDoc was a compound document technology that was supposed to compete with Microsoft's OLE. But OpenDoc was complex, buggy and late and one of the first things Steve did on returning to Apple was kill it. This was a big deal to Macintosh developers who had spent a lot of time and effort rewriting their apps to support OpenDoc, but Steve clearly saw that it didn't matter: most Mac users didn't care how their documents were stored, and that OpenDoc didn't bring those users much benefit. I think it's that keen sense, that focus on the user that served Steve so well in his career, but especially during his second tenure at Apple.

The history of Steve's second coming is now legend. But let's not minimize the audacity of Apple's most successful products. The iPod seemed a pretty random sideline for a computer company like Apple. Year after year, model after model, Apple relentlessly improved the iPod. After the disappointing Newton, I hadn't owned another Apple product until the iPod. It was a kind of gateway drug to Apple gear. A shiny 13 inch titanium MacBook Pro followed a couple years later. It was a secondary computer for traveling, but I began to use it more and more and my Windows machine less and less.

When the first iPhone was announced, I was initially lukewarm. Certainly a bold, audacious move by Apple, but it didn't grab me immediately. With so much buzz and enthusiasm building before the launch I went to Apple's site to take a look at the iPhone product info. After watching the iPhone demo video, slickly produced in the best Apple style, I came around and found myself in the Palo Alto Apple Store on launch day a couple of weeks later.

In my career writing software, I've always gotten the most satisfaction out of producing things that help people in their daily lives. I can only imagine how it must feel to be the leader of a team that produces such a revolutionary product loved by so many. Steve must have been insanely proud.

Industry and media pundits love to cast things as a contest: Windows versus Mac, Android versus iPhone, but to his credit and our delight, Steve Jobs could see past that. His final creation, the iPad, is so beloved by so many people, most especially by "your mom", those ordinary people for whom computers hold no intrinsic fascination. I think it's truly Steve's ultimate creation.

Yet remember that the iPad is only a year and a half old. We all know his health has been challenging, but it seems too soon to lose Steve. There's yet so much more to do, so many delightful machines to create. We will look to the folks at Apple to finish what he started.

Steve did what he loved up until the very end. If only we all could be that lucky.

Wednesday, August 31, 2011

"Where can we take the customer?"

And, one of the things I’ve always found is that you’ve got to start with the customer experience and work backwards for the technology. You can’t start with the technology and try to figure out where you’re going to try to sell it. And I made this mistake probably more than anybody else in this room. And I got the scar tissue to prove it. And I know that it’s the case.

...

And as we have tried to come up with a strategy and a vision for Apple, it started with “What incredible benefits can we give to the customer? Where can we take the customer?” Not starting with “Let’s sit down with the engineers and figure out what awesome technology we have and then how are we going to market that?” And I think that’s the right path to take.

- Steve Jobs at WWDC 1997

 

Wednesday, June 15, 2011

Chinese shanzhai counterfeiters practice customer development

Fast Company ran an interesting article yesterday about Chinese mobile phone pirates and the Arab Spring, but one paragraph jumped out at me:
With their tiny production runs, shanzhai could manufacture a thousand phones, seed the local markets, see if they caught on, and then crank out some more. Established players like Nokia were soon crying foul, even as they scrambled to keep up. Development cycles collapsed from 9 to 12 months to as little as three months. Instead of knockoffs, the counterfeiters were churning out innovation and forcing large companies to play catch up.
Who knew that pirate cell phone makers were lean startups?

Wednesday, May 11, 2011

Native Mobile App or Web App? Wrong Question!



Mobile app development is hot right now. With smartphone sales approaching one million per day, it's likely that smartphones will outsell PCs this year. While PCs aren't going away anytime soon, it's a safe bet that mobile devices, including smartphones and tablets, will become the dominant application platform in the future. Mobile apps may still be a small slice of software sales in terms of units or revenue but mobile has definitely captured the hearts and minds of consumers, developers, business and the press.

The high level of interest in mobile has sparked a debate among mobile app developers about whether to develop separate native apps for each major mobile platform or one mobile web app that runs everywhere. You'll find empassioned arguments for both types of apps, and more thoughtful analyses like this one by Erik Larsson of Plexical.

I think the question of "web versus native" is a false dichotomy. Web technologies like HTTP, HTML, JavaScript and CSS are well supported by the market-leading mobile platforms. A capable web browser (and corresponding embeddable native web view) are required for a mobile platform to succeed in the marketplace. The killer app for mobile devices is the web; mobile platforms that have second rate web browsing have also lagged behind in the marketplace.

Web technologies are not diametrically opposed to native app technologies—if anything, native apps routinely embrace the web. Few native mobile apps run without connecting to the network to download content, send messages to Twitter and Facebook or to silently send usage statistics to the app's publisher. Web apps by definition are connected to the network and recent work on web standards has been about making web apps useful when disconnected. When considering network connectivity, there's little difference between native and web apps these days. So if network use is basically the same, what separates native apps from web apps? I can think of two things: how they're implemented and how they're distributed.

Different code for different folks
Web apps are built using HTML, CSS, JavaScript and standard web APIs and require no more than a text editor and a browser to get started. Native apps on most platforms are built in a compiled language like Java or Objective-C against proprietary APIs using complex development tools like Xcode or Eclipse. Developing in a dynamic interpreted language like JavaScript is a very different experience from developing in a compiled, strongly-typed language like Objective-C or Java.

Dynamic interpreted languages require writing less code and give the programmer quicker feedback but have drawbacks: dynamically-typed code is less explicit and can be harder for other programmers to follow, especially in larger programs, and subtle errors can go undetected if the code lacks thorough tests.

Strongly-typed compiled languages require more verbose code and the compile step means development is slower and less interactive, but strongly-typed languages have some bonuses: the explicit code is often easier for other programmers to read and understand, especially in larger code bases, and the compiler provides better error checking (but it's still no substitute for good testing).

Both types of development environments have their strengths and weaknesses. This is the "rock versus disco" or "Coke versus Pepsi" debate—there is no right answer. Individual developers prefer one over the other mainly due to individual temperament or because of familiarity and experience. Similarly, organizations will usually follow the path that matches their in-house expertise. There's nothing wrong with building on your strengths.

Free markets and free software
Native apps are for the most part distributed through app stores controlled by large corporations that subject app publishers to various restrictions and requirements. Web apps are distributed by anyone with a few dollars a month to rent space on a server and can be accessed directly by anyone with an internet connection and a web browser.

Some proponents of mobile web apps oppose the app store distribution model on idealistic political or social grounds. App stores and their corporate gate keepers are a potential threat to the open exchange of ideas and free commerce on the Internet. Yet consumers seem to be happy with the safety and ease of use that the app store experience provides, and many developers are attracted to the large and growing market of mobile app store shoppers and are willing to jump through app store hoops to reach them.

You can't argue with an idealist. All I can say is that from a pragmatic view, both the app store model and the open web have their place in the mobile ecosystem right now. As a mobile consumer, I appreciate the app store experience but still use my mobile web browser more than any other app. As a small mobile developer, I think the Apple App Store is the best place to reach mobile app consumers in 2011, but I see the danger in building a product and a business where another company controls access to your customers.

A spectrum of mobile apps
Computer programmers love binary arguments like "native app versus web app" but when you set idealism and personal bias aside, it's not so simple and actually much more interesting. Mobile apps can be built with different degrees of webby and native technology. I'll take a closer look at the space between "pure web" and "pure native" apps next time.

Saturday, January 22, 2011

Ten Billion Apps Downloaded from the Apple App Store

This morning, Saturday, January 22, 2011, just around 2:25AM the 10,000,000,000th app was downloaded from Apple's App Store.


This is yet another milestone in the company's recent list of come-back accomplishments.  With iTunes and the App Store almost instant successes what lays in store for Apple's latest outlet the Mac App Store?  Will it follow the same booming success?  One would think so, or at least I do.

Good job and good luck to all those near billionth app downloaders.  May you win that $10,000.00 iTunes gift card and thank you Apple.

Thursday, January 20, 2011

Building an iOS Beta Network - Collecting Device Information

When building out an AdHoc network of beta testers for your iOS app it is important to make the process easy for the end user and to be sure that there is no error when entering data.  Collecting iOS device information from users goes something like this:

  • Email user for the iOS device UDID
  • Ask for the model/version
  • Ask for the currently installed iOS
  • User gets the email, computer and iOS device in hand
  • Attach device to computer and launch iTunes.
  • Select your iOS device from the Left column
  • Select the Summary tab
  • Mouse over the Serial Number and click (to reveal the UDID)
  • Highlight the UDID and Copy it
  • Go back to your email and reply
  • Paste the UDID
  • 1)  Enter the rest of the information from memory (ack!) OR
  • 2)  Copy and paste, back and forth for the rest of the data.
  • Optional: take a screenshot (for verification on the developer’s end)

Done!  Simple, yes?  No, not really.  As you go along you see that unless they are copying and pasting the data, there is always room for error.  This also applies to in-house devices as a matter of bookkeeping.

To make the process easier for ourselves and others we created Device Profiler and made it free for the community.  When launched on the iOS device it gathers the name, model,  system name and version as well as the UDID.  You then press a button to send an email with the gathered device information.  The process can go like this:

  • Email/SMS user the link to the app (in iTunes)
  • Tap/Click the link
  • Download Device Profiler
  • (if on a computer launch iTunes and sync)
  • Launch Device Profiler
  • Tap “Email device profile to...” and type the email address of the person you’re sending it to.

Done!  Simple, yes.  Or at least easier and with less of a chance for typos.  For the adventurous developer the email’s are formatted the same way so that you can automate a script on your mail server or or use a rule in your email client to filter these emails for processing.  You also have the email address so that you can send out the credentials (AdHoc Provisioning Profile) to the user.  It is a win-win situation for everyone.

If you use Device Profiler let us know.  Or if you have any suggestions as to the product, we’d love to hear from you too.  Cheers and happy developing!

Thursday, January 6, 2011

Is the Mac App Store Armageddon for Mac Developers?

David Gerwirtz over at ZDNet writes that he expects "to see Mac software prices dropping by 90-95% within a month" after Apple's new Mac App Store today. His thesis is that prices in Mac App Store will rapidly sink to match prices in the iOS App Store, where many apps are sold for a dollar or two.

I think he's only partially right.

Gerwirtz cites Markus Nigirin's insightful piece about how developers are responding to the Mac App Store. Nigirin talked to four indie iOS developers who will be offering Mac versions of their iOS apps. All of their iOS apps currently sell for $4.99 and under and they will all be selling their Mac versions for about the same price. Compared to current pricing for many Mac apps, this would seem like a recipe for disaster for Mac developers.

Certainly any Mac developer that hides their head in the sand and pretends that nothing has changed is likely in for a world of hurt. But that's true for any company that ignores changes in the competitive landscape. Just look at how RIM is flailing around trying to respond to the iPhone after ignoring it for several years. Yet Google's Android team recognized how the iPhone changed the game and quickly moved to compete with it—Android is now the iPhone's chief competitor.

Yet I think there is more to high Mac software prices relative to iOS apps than Gerwirtz talks about. And there are different types of Mac developers; they're creating apps for different audiences—they will respond differently to the Mac App Store.

Makers of highly specialized applications targeted at very specific scientific, technical and business markets will largely be unaffected by the Mac App Store. Some may decide to sell their apps through the store, but others will stay with their existing sales channels, particularly if they also sell training and support for their apps. Nor will there be any pricing pressure on them due to the Mac App Store; development costs generally outweigh distribution costs for apps with small markets, and there are few (or often zero) direct competitors.

Developers of mass market apps like games will feel the most pressure from the Mac App Store. Ignoring the App Store is probably not a viable strategy for them. Yet mass market Mac developers have already learned to compete with shareware, freeware and open source software. Many of them already have a low cost or free version of their app along side the more expensive premium or professional version: Bare Bones Software's free Text Wrangler versus the $99 BBEdit immediately comes to mind. I don't think the Mac App Store is going to significantly affect their business.

The current higher cost of Mac apps through traditional retail channels is in part due to the higher cost structure of retail selling. It's simply not very profitable for many retailers, particularly brick-and-mortar ones, to sell apps in the sub-$5 range. Mac developers have been setting their product prices based on this reality. And even though direct sales through the web are cheaper, if you also make shrink-wrapped retail sales of your product, you can't afford to undercut your retail sellers by also selling your software direct on the web for significantly less.

Selling through the Mac App Store is different. Apple sells beautiful hardware with large profit margins. The App Store exist only to bolster those hardware sales. While I don't think the App Store is a loss-leader for Apple, I don't think that it needs to be very profitable for Apple to consider it successful. They're more than happy to give developers a generous 70% cut of each sale and accept $0.99 credit card transactions, which are simply unprofitable for many traditional retailers to handle. The big losers here will be the retailers who currently sell Mac software. The retail Mac software market will evaporate as developers shift over to the Mac App Store.

I expect the Mac App Store to increase the overall Mac software market. Like the iOS market, lower app cost, one-click purchase/download/install along with the safety guaranteed by Apple's app review process removes a lot of the friction and uncertainty from the Mac software market. I think this will benefit Mac developers in the long run, even if they cut their retail prices.

ADDENDUM: Ben at Bonobo has similar thoughts.

Wednesday, July 28, 2010

New app prototyping tool from Rex Xu: Apps-On

We have created a series of tools (sketch and grid paper) for designers and developers to easily layout and design iPhone and iPad apps but when I look at the work that Rex Xu just completed for his product Apps-on Post-it Notes, all I can say is, "Now why didn't we do that."



This smart little idea is basically an iPhone screen (with printed bezel) at actual size printed on Post-it Notes.  The screen itself has a 20pt dot grid making it easy to layout out your next set of comps/ideas.  And for those people who love and live by Post-it Notes, this is a great tool to add to your development toolkit.

Each Apps-on pad has 50 sheets for your designs.  Prices start at $20.00 (USD) for 5 pads for the "Starter" pack.  There is also a Pro pack with 10 pads for $30.00 (USD) and Master pack with 20 pads for only $59.00 (USD) all available online at Apps-on.com.

Good job Rex and good luck!

Monday, July 19, 2010

A few things iOS developers ought to know about the ARM architecture

A good blog post by Pierre Lebeaupin that examines the difference between ARMv7, ARM11, Cortex A8 and A4 and looks at some low level characteristics of the ARM processors that power the iPhone and iPad.

Thursday, July 8, 2010

Will New Radiation Labels Affect Mobile Phone Sales?

Kevin has just had an article published in Xconomy:
A new law is about to go into effect in San Francisco requiring sellers of mobile phones to post the “Specific Absorption Rate” (SAR) levels of the devices. How will conveying this information to consumers affect sales of mobile phones and devices—and which manufactures will feel the burden of this new stigma?
Check it out!

Friday, June 25, 2010

Photoshop CS5: An Introduction to Materials

Photoshop Extended CS3 introduced 3D and marked a milestone in the application’s history.  Photoshop CS5 moves the evolution of 3D forward with many features including a better 3D environment, an easier way to create and apply materials and the highly anticipated RepoussĂ©; which adds a new dimension to Photoshop’s 3D abilities.

I was fortunate enough to work with Adobe to create the materials for Photoshop CS5.  Thirty-six of the materials shipped with CS5 and a collection of over a hundred more are available to download at Photoshop.com.
In Photoshop CS5 Extended, we have a great collection of materials created by Kevin Bomberry of Able Pear Software. The properties are carefully determined resulting in visually realistic and beautifully rendered materials.
--Zorana Gee
Over the course of the next few weeks I will go over how some of these materials were created including glass, metal, organic, wood, stones and tiles.  I will present methods I use and the reasons behind them that will allow you to create an unlimited amount of materials on your own.


BACKGROUND PATTERN
I’d like to introduce you to the first element I created for the task of developing and creating the materials: the Material Test Background.

As you can see the Material Test Background is a 10 x 10 checkerboard of black and white with an ID in each of the 100 squares.  I labeled the columns 1 thru 0 (zero being ten), and the rows, A thru J.

Each of the 10 rows corresponds to a color or greyscale value; red, green, blue, yellow, cyan, magenta and grey at 20%, 40%, 60% and 80%.  This allowed me to see the properties of the material on as it is rendered on the 3D object.

The Material Test Background also serves a dual purpose as it can be applied to an object to view the UV Map; the way the material wraps itself around the 3D object.


STAGE/SCENE
The second thing I had created were default scene consisting of the background image, a 3D object and three lights: a key or main light, a fill light and a background light.  This provides a consistent scene where I can develop the materials with constant results.

You can create a scene using a variety of 3D objects directly in Photoshop with either the 3D > New Shape From Layer or 3D > New Mesh From Greyscale menu items.


Two things to note are that 32-bit images work best and where possible I try to keep at least one dimension of the document to a power of 2 (512, 1024, 2048, etc…),

The document info gets scaled during the conversion to prevent huge poly count, which can cause chunky results. Documents with dimensions less than 512 pixels get scaled in half. Documents with dimensions greater than 512 pixels get scaled to 512 pixels.

VECTOR VS BITMAP
At this point I would like to talk about the difference between bitmap and vector information and how it affects the material with regard to resolution.  This is an age old argument on what to use when creating content: bitmap data, like when using one of the painting or brush tools directly on a layer of the canvas, or vector elements like those of the shape or pen tool and paths.

Bitmap images are made up of data in the form of red, green, blue values for each pixel of the image.  Vectors are made of points, lines and bezier paths.  If you enlarge a bitmap it becomes pixelated as it creates the new colors for the new pixels; reduce an image and you have to get rid of pixels of color data.  Vectors scale up and down without degradation to the shape itself.

If you apply a low resolution bitmap to a texture channel will find that in the rendering is blocky and that you need to use a high resolution image to get good results.  As a result I tried to create materials that used vector information.

Additional links to articles on Vector vs. Bitmap (raster) images:
http://www.photoshopsupport.com/shoptalk/vectors-and-bitmaps.html
http://www.prepressure.com/library/file-formats/bitmap-versus-vector
http://www.sketchpad.net/readme.htm

AN INTRODUCTION TO MATERIALS
In addition to using vectors I used Smart Objects and Smart Filters making full use of Photoshop’s non-destructive and advanced features.  This allowed for dynamic and easily editable materials that Photoshop users can tweak and customize to make them their own.

I won’t go into the details of the 3D tools as they are covered in Help and by an excellent upcoming book 3D in Photoshop: The Ultimate Guide for Creative Professionals from Zorana Gee and others on the Photoshop team; which I will come back to at the end of this article.  I will however talk about the properties of the materials that we will be working with in the examples as we move through this series of tutorials.

CREATING A TEST SCENE
For our introductory example you can use one of the scene templates above or easily follow these simple steps:

1.)  Download the Material Text Background image.
(click for full-size image)

2.)  Open the Material Text Background in Photoshop

3.)  Create a New Layer

4.)  Select the 3D > New Shape From Layer menu item and select Sphere from the fly out menu.

Done.  The empty layer is converted to the material of the Shape you just created.

In the simple act of opening an image and then creating a layer to use for the material of a generated 3D object you have successfully created a 3D scene.  This technique can be used with any other photo or image.

INSPECTING A DEFAULT MATERIAL
We are going to look at the default material Denim,using the scene we just created.  Open the 3D window by selecting Window > 3D from the menu bar.

Looking at the 3D window you’ll see that there is a tree of objects and materials starting at the root (Scene).  From the root the first node you encounter is Sphere and it contains Sphere_Material.  Click on Sphere_Material to selected it.

Beneath the tree is the (Property Editor).  When a material is selected the materials properties are visible as well as a Material (Preset) Browser.  Click on the icon in the Material Browser and a drop down list of default materials presents itself.  Select Denim and the denim material will be applied to the Sphere_Material.

The two channels we want to look at are Diffuse and Bump.  You will notice that to the right side of the property value box is a “texture image” icon.  The icons are the folder icon as no texture is loaded for those channel’s properties.  Click on the Diffuse texture image icon and select Open Texture... from the fly out menu.

The (Photoshop) texture is loaded into a new window and we can inspect and tweak this texture.  Look at the Layers of the texture and you’ll see two: Layer 1 and Gradient Map 1.

In this example Layer 1 is the pattern of the weave of the cotton as that is created using a Smart Filter.  It is a greyscale image.  Gradient Map 1 is simply a Gradient Map Adjustment Layer that we use to color the greyscale image create in Layer 1.  If you toggle the visibility of the adjustment layer you will see the greyscale image.


Under Layer 1 you will see the Smart Filter layer and it’s applied filters; Filter Gallery in this case.  Double clicking on Filter Gallery allows us to edit the filter’s properties.

This Filter Gallery is composed of three layers of filters stacked one on top of each other acting a building blocks to the final rendered image.  The layers are from bottom to top, Halftone Pattern, Halftone Pattern and Sumi-e.  Clicking on the layer visibility icon shows us how each filter layer works independently and together to create the final image.

Clicking on one of the filter layer shows us its options and values.  Select the middle Halftone Pattern filter layer.  We can change any of these to affect the filter layer and change the final texture.  Change the halftone type from Line to Dot.

As we edit the texture and save it the results will be applied to the Sphere_Material’s Diffuse texture channel in our original created scene and rendered giving use instant feedback of the material on the object in (near) real-time.

CONCLUSION
The ease of which you can create materials for your 3D objects in just a few simple steps extends the power and capabilities of 3D in Photoshop Extended CS5.  We’ve barely scratched the surface of materials in Photoshop CS5 and as we progress further into the series you will find that the Photoshop team has put in considerable thought into making complex functions and features easy to use.

3D in Photoshop: The Ultimate Guide for Creative Professionals
As I had mentioned in my introduction Zorana Gee and a few other members of the Photoshop team put together an in-depth and comprehensive book focusing on the remarkable capability of Photoshop’s 3D tools.

COMING UP NEXT...
In my next installment Photoshop CS5: Materials series we will explore another default material, explore the filters use to create textures and materials and begin creating our first material from scratch.

Have you upgraded to Photoshop CS5 or downloaded the trial?  Do you feel that 3D is an advantageous feature for Photoshop CS5?  Do you use 3D in your current workflow? Or do you have a material that you would like us to show the creation process of?  Comment below and let us know.

Thursday, June 17, 2010

All the sizes of iOS app icons

A great post by Neven Mrgan showing the rapidly growing collection of icon artwork needed to support apps or iPhone, iPad, iTunes, and now the high res display of the iPhone 4. Check it out!

Monday, June 14, 2010

Tracking iPad/iPhone app sales

Okay, you’ve finally made your iPad, iPhone and/or iPod touch app and now you need to track sales data.  Currently developers use iTunes Connect to download daily and weekly reports that shows app downloads regions where the app is being downloaded.  It also shows a code to identify sales, updates and chargebacks.

Now that you have this data what do we do with it?  Some people print out the sales figures, tally up the sales and write that number on the top first page and keep a stack of sales records.  Others create a spreadsheet in Excel or Numbers and incrementally import and add the data so they can easily see the sales over the course of the apps life-cycles.  This is handy as they can also denote marketing/press releases (with color) to help identify and measure traffic.  But once you have more than one app it becomes harder to manage.

Then there are the others like our own Don McCaughey who rolled his own code to create both a front end and back end to make sense of the sales noise.  Don did a good job for us by creating a system where the data from Apple is ingested and stored in a database and then presents current and historic data for unified sales, individual app’s sales complete with a graphs.  Don has talked about open sourcing the code so that others can use the system as well.

But what about other options?  Off hand I can think of two other tools, one a paid web service and the other a new free app from Apple.

The paid web-service is appFigures and works much like Don’s solution.  You provide your iTunes Connect credentials to the app service and in pulls and parses your iTunes Connect sales data and provides both charts, sales reports and a few other nice features.  They also provide a 14 day free trial to see if you like the service.

Apple recently released the iTunes Connect Mobile app which works on your iPhone, iPod touch or iPad and presents daily and weekly sales data for app sales, updates and in-app purchases.  And while this is a great app for on the go data, it does save all of your historic data, nor does it provide any type of summation for sales - how much your app has made.

Regardless of which service you use the data that Apple provides you is your responsibility as a developer to download and store (if you want to keep track of your apps sales).  iTunes Connect does not provide a way to look back and see sales for the year or the history of your app’s life-cycle.

How do you track your app sales?  Are you using any of the methods above or have you designed a different method to collect and analyze your app sales data?

Monday, May 3, 2010

Setup iPad Wi-Fi + 3G with AT&T Cellular Data Plans

The wonderful new iPad Wi-Fi + 3G are being sold like hotcakes and one question people are still asking is how to set up their magical new device with the not-so-magical AT&T and their cellular data plan.  Here is a brief overview:

To set up your iPad Wi-Fi + 3G to use AT&T’s cellular network, assuming you have already set up the iPad itself, go to your iPad’s Settings app and select Cellular Data from the list to the left (as seen in Image 1).

Image 1:  "View Account" takes you to Image 2 (if you've already set up your account, otherwise it gives you a screen where you choose login info, enter a CC number, and pick an initial plan). The "View Account" is also how you set up your account the first time.



Image 2:  Log in using the credentials you selected when you signed up.



Image 3:  You can see your stats and choose to modify plans. Clicking "Add Data or Change Plan" takes you to image 4.



Image 4:  You can see the plan options.



You can upgrade if you think you need more time or downgrade your plan if you think that you’re not using 250 MB in a month (reset your data stats monthly to track usage).



An important thing to consider with the 250 MB plan is that if you are going to be watching a couple of videos a week or downloading content via 3G and not over the Wi-Fi  you will reach your data cap before your 30 days are up.  You will receive a message from AT&T when you’ve passed 80%, 90% and then at 100% of your data cap.  You can then renew for another 250 MB for 30 days, or which ever comes first.

In Review: Keynote, Pages and Numbers for iPad

When I started this blog entry I was thinking I would present the information in five parts,  Keynote, Pages, Numbers, File Sharing and In Conclusion.  After writing my outline and compiling research I realized that there was already considerable amounts of well done reviews and tutorials written.  Rather than drone on about what has already been said I’ll provide you with a couple of links to sites that caught my eye.

Apple, yes, Apple.  They have an online help specifically for Keynote, Pages and Numbers for the iPad.  In addition, they also have an iPad support portal with information on the three iWork apps, iBooks, Wi-Fi, 3G, Syncing, Mail, Applications, Accessories, Enterprise, Service and Repair along with a Get Started page for new users.

Kevin Purcell over at Notebooks.com has a video on working with iWork.com (beta) and the apps: Hands On: iWork.com for Use with iPad iWork Apps.  He then followed up with: Can iWork Make You More Productive?

I also liked Jeff Smykil’s The keyboardless Office: a review of iWork for iPad review on Ars Technica although I disagree with his final conclusion as to the usability of the product.  I think that it is very useable “in the field” and that once you get used to the differences (and some inconsistencies) between the two apps, you can be quite productive with iPad’s iWork suite.

I will continue to work with the iWork for iPad suite and take notes as I learn tricks and tips to help us be more productive with our time.

If you have a link to a review or tutorials on using the iWork apps for iPad that you wish to share or if you have deep feelings about Keynote, Pages or Numbers (or File Sharing) on the iPad, please comment below.  Let your voices be heard.  Cheers!

Friday, April 30, 2010

The real reason why Steve Jobs hates Flash

In an interesting but somewhat mis-titled blog post, Charles Stross pulls together current trends and looks five years into the future in order to explain the motivation behind Apple, HP and others today:
I've got a theory, and it's this: Steve Jobs believes he's gambling Apple's future — the future of a corporation with a market cap well over US $200Bn — on an all-or-nothing push into a new market. HP have woken up and smelled the forest fire, two or three years late; Microsoft are mired in a tar pit, unable to grasp that the inferno heading towards them is going to burn down the entire ecosystem in which they exist. There is the smell of panic in the air, and here's why ...
An interesting read which has almost nothing to do with the current Jobs vs. Flash smackdown.

Thursday, April 29, 2010

Thoughts on Flash, by Steve Jobs

Apple CEO Steve Jobs has published a letter entitled "Thoughts on Flash" on Apple's site today. If you've been following the "no flash on iPhone/iPad" controversy, you'll recognize all the arguments that Jobs lines up. Never a fan of Flash myself, I tend to see Apple's side of things and I think Jobs shows that Apple really has a compelling reasons to keep Flash off of the iPhone/iPad platform.

It's interesting to see Jobs openly state the "most important reason" for prohibiting Flash:
We know from painful experience that letting a third party layer of software come between the platform and the developer ultimately results in sub-standard apps and hinders the enhancement and progress of the platform.
This directly echoes what John Gruber wrote earlier this month in "Why Apple Changed Section 3.3.1". As a developer, I really understand this. And I'm not gloating because I took the time to learn Objective-C and Cocoa Touch. I've worked in enough languages, frameworks and platforms over the years to know that it's critical to understand a platform at its base level, even if you do most of your work in a higher level language or framework.

I think part of the controversy is due to how good the iPhone and iPad actually are. Most users are blissfully unaware of how limited the CPU and RAM on their iPhone are. Apple has delivered a user experience that rivals (and with iPad even exceeds) that of a fully powered PC or Mac system.

High level layers like Flash are woefully inefficient. Simple calculations in Flash can be a hundred or even a thousand times slower than in a lower level language like Objective-C. There's so much processing power available in a modern desktop or laptop machine that this inefficiency is rarely noticed. It's a much different story for your iPhone however.

Flash developers seem particularly tone deaf to performance issues. I think we've all seen web-based Flash apps that take forever to download, often showing you some annoyingly wizzy progress meter while you stare at a blank screen for two minutes. Of course, for the Flash developer loading it directly on his development machine, it appears in seconds. Now imagine this experience on your iPhone.

Wednesday, April 28, 2010

Understanding iPad wallpaper image size

Most Fridays since we started the Able Pear blog (over two years now), we have shared a set of iPhone wallpapers: 320x480 portrait images that also work on the iPod touch and the Palm Pré. We love doing this and call it iPhone Fridays.

The Friday before Apple's iPad launch, we started producing iPad wallpapers in parallel with the iPhone wallpapers using the same images but at a much higher resolution: 768x1024, the resolution of the iPad screen. Up until then we did not have an iPad to view them on. The next day we all picked up our iPads. The images were beautiful but there was one exception I had not anticipated even though I've seen it in over and over in the media hype; the iPad can be in any orientation.

The images that we had created were nice but when you rotated the iPad from portrait (tall) to landscape (wide) the image was scaled up 133% to fill the width of the device.


Later that week I created a PNG file in Illustrator to load on my iPad to visualize how the device was presenting the image in the background. I knew that the highest resolution was 1024 pixels and the smallest was 768 pixels and that I would have to create an image that was 1024x1024 so that I would fill the iPad's screen in any orientation without scaling the image.


We can also see that the "always" viewable image area is 768x768 in the center of the 1024x1024 image.  The upper and lower parts of the image are presented in portrait and the left and right are seen when in landscape, but the image itself is not scaling the fit the screen.


So this is my conclusion:  iPad wallpapers need to be 1024x1024 to accommodate both orientations.  Okay, that's a given, but now I'm left with a new question:  What's up with the corners and if they are never presented then should you omit the image data from the wallpaper to save on file size?  After all, adding the corners up, that's 128 pixels by 128 pixels, times four.

What are your thoughts?  Keep the image data intact or delete the corners and save it as a 24-bit PNG?  If you're making iPad wallpapers, will you use 1024x768 or will you adopt the larger square format?  If you are an iPad owner what would you rather download?  Let us know and we'll see you on iPhone Friday.  Cheers!