iOS 7 and Seizing an Opportunity

IOS7

The past few days have been filled with all things Apple and I have been drinking from the firehose all things iOS 7.  Apple announced an anticipated upgrade to iOS on Monday but not just any upgrade.  The new operating system changes the way users will interact with their iOS devices and will change the way developers approach developing applications for these devices.

I started a post yesterday with my thoughts on how this new update would greatly affect developers and designers as they created new applications and how existing applications would be facing a difficult path.  I felt good about my thoughts until Marco Arment posted an eerily similar post as mine.   

iOS 7 is very different and I’m very skeptical the upgrade path for applications will be smooth.  As Marco says:

iOS 7 is different. It isn’t just a new skin: it introduces entirely new navigational and structural standards far beyond the extent of any previous UI changes. Existing apps can support iOS 7 fairly easily without looking broken, but they’ll look and feel ancient. 

Developers who created complex applications will be faced with a fork in the road; attempt a transition or start over:

I don’t think most developers of mature, non-trivial apps are going to have an easy time migrating them well to iOS 7. Even if they overcome the technical barriers, the resulting apps just won’t look and feel right. They won’t fool anyone.

A new paradigm means a chance to start from zero and build great things.

Apple has set fire to iOS. Everything’s in flux. Those with the least to lose have the most to gain, because this fall, hundreds of millions of people will start demanding apps for a platform with thousands of old, stale players and not many new, nimble alternatives. If you want to enter a category that’s crowded on iOS 6, and you’re one of the few that exclusively targets iOS 7, your app can look better, work better, and be faster and cheaper to develop than most competing apps.

Developers will be tasked with porting their applications to iOS 7 but it will be a difficult task.  Design is completely different so not only will developers have to ramp up but so will designers. 

iOS 7 is a great opportunity to create new applications, taking advantage of the new way of doing things. Maybe this is the opportunity and *not* upgrade applications but start all over and build new experiences in iOS 7.  Can we convince clients this is different enough that apps are worthy of rethinking the user experience, leveraging what’s new and building great experiences?  Some will fight the idea.   Some will refuse.  Those looking not where the puck is but where it’s going to be, will embrace a rebuild.

I for one, am devouring all the material I can get my hands on for iOS7 include the new Human Interface Guidelines and the Transition Guide.  I also have Xcode 5 running and installed iOS 7 beta on an old device.   If you’re interested in a really detailed article on iO7 user interface differences, go read Matt Gemmell’s article.

I will be ready to help clients move forward from older versions of iOS as well as ready to guide them on new applications.  As far as my applications, I will see how the transition goes.  This could be an opportune time to redesign, retool and rebuild for the paradigm shift to iOS 7.  

The design changes to iOS 7 are brilliant, very exciting times ahead.

Great Companion eBook for Stanford iPhone Course

CS193P 225x225 75

The Stanford University course for iPhone Application Development (CS 193P) is a really great course and one all new iOS developers should check out.  

Daniel Steinberg has recently released a companion text for the Stanford course under his Editor’s Cut series:

This is the official companion text for the popular iTunes U series from Stanford University taught by Paul Hegarty in Fall 2011. The book is full of code examples and animated walkthroughs designed to teach experienced programmers how to write iPad and iPhone applications.

The book is available from the Apple iBookstore.  The only downside of this book is that it’s only available in the iBookstore from what I can tell.  Which means, I have to read it on my iOS device not on my Mac where I might be coding.  Come on Apple, get with the program here.

7 Great iOS and Mac Developer Podcasts to Learn from Today

I have quite an extensive list of podcast subscriptions in iTunes these days with much of my interest on iOS and Mac development.   Considering how iTunes is Apple, there are a lot of podcasts that have just stop producing content and gone away.  There are a comparable few podcasts dedicated to iOS.

I spend time looking for new podcasts and revisiting old ones trying to find ones with good content and who produce on a fairly regular basis.  I wanted to share my favorites with you, hopefully to help them keep producing.

These podcasts are developer podcasts but there really are two audiences; some are focused on the technical details of development while others are of interest to developers running a business around iOS and/or Mac software.  I’m sure there’s overlap here.

I think each and every one of these are great and I know you will find value in them as well.

Core Intuition

Core Intuition is hosted by Daniel Jalkut, developer of MarsEdit and Manton Reece.  This podcast had been on a bit of a hiatus with sparse updates over the past year but recently they have been producing regular episodes.  Mainly a podcast produced by Mac developers with little iOS discussion, the topics are applicable to most developers in the Apple community.

Episodes run about 45 minutes and usually focused on a handful of topics like the Mac App Store, sandboxing and dealing with customers.  Top notch for sure and well thought out dialog.

Edge Cases

This podcast is relatively new and hosted by Andrew Pontious and Wolf Rentzsch.  They discuss topics appealing to both Mac and iOS developers ranging from Core Data to Sandboxing and the future of developing for Apple products.

Episodes are about 45 minutes in length and pretty rich in technical content.  The podcast started in May and they already have 8 great episodes out as of the time I write this.

Wolf is the creator of Mogenerator and other tools.

Developing Perspective

Developing Perspective is produced by solo developer David Smith who is an iOS and Mac developer.  Episodes run about 15 minutes and talk about very specific topics that all Apple developers think about one time or another.  These include the path to independence, developer’s machine and going to WWDC.

I discovered this podcast a short time ago and it is one that I anxiously await new episodes.  It seems every episodes resonates with me.   David has a great radio voice too, calm and soothing.

iDeveloper Live

This podcast is run by Steve “Scotty” Scott and company have been doing this podcast for what seems like an eternity.  Most of these shows run about an hour and cover various topics like open source, Apple (of course) and interviews with various developers known in the Mac community.  Many of these interviews cover specific topics the developer is very familiar with.

Listeners can tune into the live show and participate in the chat room as well as find updates on Twitter.  The episodes are always entertaining and full of great information.

NSBrief

Saul Mora is the creator and producer of these great interviews with Mac and iOS developers as well as people funning Apple-focused software companies.  The podcasts run almost an hour and Saul knows just the right questions to ask and knows enough about the technology to make really useful insights.

Recent episodes include chats with Jamiee Newbery from Black Pixel while on a plane.  Every episode is different and every episode contains valuable insight.

I met Saul at CocoaConf in DC a short time ago and he is a great guy doing these great interviews.

Build and Analyze

Marco Arment and Dan Benjamin host Build and Analyze, which is a bit of a different podcast.  Marco runs Instapaper and much of hour plus episodes discuss trials and tribulations of running Instapaper.  The insider view is really helpful and I pick up a lot of great tips.

I have to warn that sometimes, just sometimes, they get off on long tangents about coffee, cars and kids.  Although not directly applicable to running a application business, it can be entertaining.

NSScreencast

Ben Scheirman is .NET developer turned Ruby on Rails and iOS developer who created NSScreencast, which is not technically a podcast, but I thought it would add some good value to this list.  Although not free, at $9 a month, it is bargain.  Each screencast goes into detail about how to use a particular feature of Xcode or of iOS development in general.

Topics such as how to implement Pull to Refresh, using Storyboards, Provisioning to HTTP caching and setting up a CI server.  Each episode ranging from 10-30 minutes, perfect for those suffering from short attention span.

Finally

I listen and watch each of these and love them all.  I’ve learned a ton about he iOS and Mac developer community by just listening.

Best Earphones Ever: Bose MIE2i Mobile Headset

I have been using an iPod or some such device for many years now.  Today I use an iPhone 4 to listen to podcasts during a daily hike and have had a hate-hate relationship with every set of earbud or earphones, whichever you prefer to call them.

It seems people use the earbuds that are shipped with every iPod and iPhone, but my personal experience with them is less than acceptable.  They often fall out of my ears at one point or another, I feel I need to be careful how I move or I risk one coming out.  Apple has some great designs, these are not one of them.

I decided to go with an in-ear earphone with the hopes seating in the ear canal would stay better, give better sound and get me away from Apple’s ear buds for good.

My requirements seemed really simple, let me listen to podcasts, stay in my ear and let me take/make calls on my iPhone.  

The first set of new earphones I tried were the Logitech Ultimate Ears.  These came as a recommendation so I figured I would give them a try.  Upon receiving them I immediately thought how great the design was and trying them for fit, they felt great.  Listening to a podcast with these was amazing, great noise-cancelling sound that was above and beyond what I expected.

The real test was using them on a hike.  At first these felt really good and I thought my problem was solved but as I started to sweat the very soft silicone earphones started to get slippery and nothing I could do would make them stay in my ears.  As I dried them off and reseated them, as I walked I could feel them slowly moving and eventually they fell out.

I did give these a fair shake over the next couple weeks, trying different things which included trying different size of the silicone adapters themselves but nothing worked, sweating eventually caused the earphones to dislodge.

I decided to ask around on Twitter again and got a single suggestion for Bose earphones.  Describing my dilemma the person said their wife used them and were very happy with them.  Unfortunately, they are pretty expensive at $130 but my frustrations seemed larger.  I ordered a pair and at first site they look pretty strange.

The model I ordered were the Bose MIE2i Mobile Headset.  You can see from the image that they are different looking.  They have a very unique way of partially going into the ear canal as well as hooking to the ear itself.  Very easy to put in and the Bose sound is incredible.  

Mie2i headset bw lg

I have had these earphones for about 2 months now and use them every day. Not once has one side come out or even remotely felt loose.   The sound is the best I have ever experienced and the controls work fantastic.  I have had several phone calls with them, both receiving calls and making them and they just work.

So, for anyone looking for a truly great set of earphones..look no further than these.  

PalettePro AppDiction Review

Since the launch of our first company-owned iOS application, PalettePro,  at the end of May, it has been a bit of a learning experience about marketing my first application and every bit of publicity helps and is appreciated.

I was pleased to see the write-up about PalettePro on the AppDictions web site.  

The concept of this tool is simple—the best ones usually are. Sometimes people spot a color that they would have for a project or practical purposes. What you can do with PalettePro is take a picture with your gadget from within the application, select the color from the image and allow the app to isolate the exact hue you wanted. It couldn’t be any simpler or more straight-forward; this is a tool that even the most technologically-impaired person could get the hang of it after a few tries.

The idea of PalettePro is simplicity and it pleases me it’s one thing that stood out.

PalettePro – iOS Application for the Apple App Store

PalettePro

I recently finished up and submitted my first personal iOS application to Apple for sale in the App Store and have it approved.  It is the first application developed for Still River Software and not specifically for one of our clients.

The application is named PalettePro and is available now.

Background

The idea for PalettePro came about when I was out at dinner one evening with a friend of mine and we got to discussing a client project and app ideas.  This idea came to the top of the list and as a way to help us match colors for client web sites to their logo, office colors or whatever colors were important to them.  

I decided I would work on the application as time permitted and come up with something I wanted to use and if others could find value, then great.

The purpose of the tool is simple; use the camera on the iPhone or iPad to look at an object and sample the color in order to be used in web applications.  

Design

I have to first say that I am not a designer but I appreciate simple tools that do a single job and do it well.  This was my goal for the first iteration of this application; keep it simple.

The user experience is to be straightforward, just point the device at an object, tap the screen or button and see color values.  I also wanted to be able to save the results for later viewing.

Mza 4954749902168186578 320x480 75

You should notice when looking at the application that it’s simple and does one thing well.

Usage

Using PalettePro is easy and just like taking a picture.  When the application loads you are immediately presented with a screen similar to above, obviously with your view in the camera.  As you pan around your target the color values automatically change until the desired color is sampled.  Hit the Scan button or tapping the screen freezes the color scanning and you can with save or scan again.  Simple and straightforward.

Later copy the hex values into your web application or take the device to your local paint store to match.

Check It Out

PalettePro is available now in the Apple App Store and I would really appreciate any feedback people may have.  The cost is $0.99 and I think well worth the cost of a cheap cup of coffee.

I have already gotten feedback and suggestions for additional features which I am working on for the next point release.

Badge appstore lrg

The Android Hubbub

Images

I wrote a few months back about dumping the iPhone in favor of an Android phone running on Verizon, not because I didn’t like the iPhone but because I despised AT&T.

We hear a lot about how fast the adoption of Android is and how it is taking over as the #1 mobile operating system.  Sure, when carriers are signing up to sell as many Android handsets as possible it’s no wonder Google claims the adoption rate is so high.  One thing the numbers don’t take into account is quality, we need to remember that quantity does not equate to quality.

Since October 2010 I have been using a Droid X and having come from an iPhone 3GS, I think I have a fair amount of experience using both platforms.  Comparing the experience of using both, I arrive at the following conclusions:

  • The Droid X is nice hardware, very comparable to the iPhone
  • The Droid X running Android is quite a bit slower than the 3GS.  Remember, the 3GS hardware is pretty old.  Applications are not nearly as responsive as the iPhone.
  • The Android applications I used crash quite often.  I don’t want to name any but suffice to say, very similar applications with some being from the same company, crash more often than is acceptable.
  • The aesthetics of the iOS applications are far and above any Android application.  I struggle to find an acceptable beauty in any, with the slight exception of the official Twitter application.
  • Applications on Android have an inconsistent user interface, maybe because of the lack of quality control going into the process of putting something in the app store.

After using the Droid X for these months I can safely say it was a suffering experience.  I grew to a real dislike for the device and often times hoped I would lose the phone or have it fall to an untimely death just so I had an excuse to replace it.

I am happy to report that I have come to my last ounce of patients with Android and am returning to the iPhone.  Oh how I have missed you.  I had hoped to wait until the iPhone 5 was available but resolved that life is too short to have to have a sub-par mobile experience.

I ran into an article recently titled, “Android Isn’t About Building a Mobile Platform“, which really explains a lot about Google’s drive behind creating Android:

Google is building Android not so they can make great mobile devices and sell them to consumers. Rather, they are making them for these two simple reasons: (1) to disrupt Apple’s growing dominance of mobile devices, both so Google doesn’t have to rely on Apple for access to their users and to eliminate their paid-for application model; and (2) so Google can control the mobile industry and thus secure advertising from it.

It makes a lot of sense and is brilliantly clear but a shame.  I believe if the goal is not to create a great mobile platform but rather just a conduit for advertising then it will always be sub-par.

So to my readers, I am not writing this post to complain, but to warn.  I write this from the standpoint of someone who has given two popular mobile platforms a fair shake and come to the realization how different they are.  Different can be good but it can also be a step backwards, Android is certainly a step in the backwards direction.  The grass is not greener on the other side of this fence, there are just seeds on this other side.  It’s young and will likely evolve but it has a long way to go.  Appreciate your iPhone as I will, which is out for delivery and will arrive today.

Droid X Replaces My Apple iPhone

This blog post was a lot harder to write than I initially expected.  I wanted to not come off biased against either platform but offer just a view of my hands-on experience with both devices.

droidxI have been using the Apple iPhone since the first generation release and have been very happy with it.  Apple has done a great job with the iOS mobile platform making their phones a pleasure to use.  Apple has failed (for me anyway) in a big way, by partnering with AT&T which makes the iPhone virtually unusable as a phone in the places I need it most.

I have lived a long time with the iPhone, buying the 2G first and then later the 3GS, hoping the weak signal issues I faced would be resolved, but this was not the case.

I also waited a long time for the rumors of iPhone on Verizon to appear but they have yet to materialize.

So, I have bid a farewell to the iPhone for the time being and moved to a Google Android-based Motorola Droid X on Verizon.

Some Initial Comparisons

When the Motorola Droid X finally arrived  (3 weeks after ordering), I spent a lot of time comparing the new phone to the iPhone. It concerned me what I might be giving up or maybe what I had gained with a new phone.  After 3+ years with the iPhone one becomes used to things.

Size

I was told how large the Droid X was and listening to podcasts from Android Central, I had definite doubts that I was getting into a phone too big to be useful.  I often carry my iPhone in my pants pocket and this was something I still wanted to be able to do.

I took a trip to my local Best Buy so I could compare the Droid X to my iPhone.  I was surprised to discover the Droid X was only slightly longer, maybe 3/8”.  This is a big phone, no doubt but the 4.3" screen makes it worth it.

iPhoneDroidX

The thickness of the Droid X is less than the iPhone 3GS, so it is a bit easier to manage.  This is a nice feature of the Droid X.  The iPhone with case is a bit bulky.

Screen

The iPhone 3GS has a beautiful screen and watching videos on it are really clear, but small.  The 4.3" screen on the Droid X is big and beautiful and watching movies is a pleasure.  I find the colors to be vivid with good contrast.  I can’t compare to the iPhone 4 retina display.

Battery Life

iOS does a great job of managing switching between applications and battery life benefits from this.  I can go all day of average use on the iPhone and still have 40% battery life left.

The story is not so bright with the Droid X.  It takes a lot more management of running applications as well as management of enabled features to be able to last well into the day with a single charge.  If features such as GPS, Wifi, bluetooth or 3G are all enabled, battery life is only a few hours at best.  Disabling all or some of these features helps the battery go a long way.

Battery life is greatly effected by the running applications and how often they access things like data or graphics.  It is easy to have email, Twitter client, Facebook, etc. running all at the same time.

Applications

The main applications I use on my iPhone is Gmail, Google Maps, Twitter, Facebook, Yelp.  All of these application are available for Android.

There are many more applications available for the iPhone as I would expect with such a big lead in getting to market.  Android is catching up though and developers are busy creating great stuff.  It seems many of the non-mainstream applications for Android appeal to geek in me.

Functionality of software is the number one priority for a good application but the user interface makes it a great application.  iOS does have a distinct advantage here with a much richer set of controls for developers to use and the applications they create show it.  I think the market is young and Android will look better as time goes by.

Updates

The Droid X arrived with Android 2.1 where other phones were shipping with 2.2.  The interesting fact about Android phones is each vendor is responsible for their own operating system updates for each handset they offer.  I had to witness 3 different Motorola phones getting 2.2 before I could upgrade mine.  Apple on the other hand rolls out a single upgrade for their phones and everyone gets it.

Updates are done over-the-air, which means there is no iTunes-like piece of software to have to run to install an update.  The update comes over Wi-Fi or 3G.

Android phones do have a sort of jail breaking that we see on the iPhone except it is called “rooting”, which allows for installing an OS update before the vendor has it ready.  This skirts the process and allows advanced users, geeks, to upgrade more often.

Android Phone Market

There are a ton of Android-based phones in existence and more coming out all the time.  Each handset manufacturer ships their own version and flavor of Android.  Each manufacturer is responsible for upgrading each handset model to the next version of Android..or not.  This doesn’t seem very sustainable to me.  I think phone buyers who are signing into a 2-year contract will be left with a phone which is no longer being upgraded by the end of their contract.

Fragmentation seems like a very real possibility and a problem for Android.  In the short time I have been an Android user I have seen many versions of Froyo (Android 2.2) be released for a large number of different handsets.  My installation of Android on my Droid X will not work on your HTC handset.

How will these manufacturers keep up and support all these phones?  It would be akin to Microsoft having a different version of Windows for each PC manufacturer.  It is a support nightmare waiting to happen.

Overall

After having had the Droid X for a couple months now and have given the phone a pretty fair test.  One thing I can say the Droid X does better over the iPhone is well…operate as a phone.  This is the number one feature I require in a, you know, phone.  It is the one feature I could not count on with AT&T and the iPhone.

I live in rural CT and the AT&T service was never good at my house, if I was lucky I could go outside on a clear day and make a call.  Verizon service just works every where in the house, even 3G.

On a recent vacation in northern New Hampshire AT&T service was dismal and virtually non-existent.  A later trip to the same location for some backpacking with the Droid X resulted in fantastic service.

I spent a lot of time comparing applications and the user experience between the two operating systems and I have to say, iOS is much more polished than Android.  Android looks much less integrated and thought out than iOS.  Android gives me the impression a collection of separate teams worked on the operating system, not a single cohesive team.

Battery life is a pretty serious problem with Android whose battery management is not as sophisticated as that under iOS.  This means the user has to know what they are running for applications or what services they have enabled.  This is not something an average user can or should do.  The iPhone easily wins here.

Android is nice but it is not iOS.  I am waiting for the day Apple finally puts the iPhone on Verizon, I will be the first in line to order the Verizon iPhone.

Design Lessons from the Apple Store

I recently visited the Apple store in Farmington, CT because I was having a problem with my iPhone 3GS.  I own many Apple products and happy with them all. The area we live is not located near any Apple store so I buy my Apple products from the Apple web store. Up until recently, have had no problems with any of them, this was the first trip to an Apple store.

I am not trying to come off as an Apple fanboy here, but I think my first impression of experiencing Apple retail can be translated to how everyone can better deal with customers and how to convey company culture.

photo_westfarms

First Impressions

There is an old cliché that says you have one chance to make a first impression.  Those of you who are long-time Apple customers who visit an Apple store on a regular basis then you probably take it for granted how the store works and have long since forgotten your first time to one of these stores.   I can only say it was an great experience and a completely positive one.  Had this first experience to the store been negative, I probably wouldn’t be writing this now.

I had contacted Apple Support via their web site and made an appointment to see an Apple Genius about my iPhone.  This reminds me of making a doctor’s appointment.

As I arrived at the Apple Store in the Westfarms Mall and several things came to my attention immediately.  I think we can apply Apple Store design to application design:

  • Large and spacious – the store itself, unlike many retail stores in the mall, had plenty of room.  I didn’t have to bump into customers or employees.  As with many web applications I see, clutter is the norm – full of ads and jamming as much content as possible in a small place.  Well designed web application have plenty of white space and don’t give me the impression I am at the carnival.  My favorite applications are cleanly designed, like lessaccounting.com.
  • Very bright – the store was very well-lit with lightly colored walls.  Comparing other stores in the mall, some are dimly lit and painted with dark colors.  I guess it is better to hid a poor product until the customer has left the store.  I like to apply design to my applications the same way, keeping colors light which are easy on the eyes.  I don’t like my users to have the experience they are visiting a dungeon.
  • Lots of iPads, iPhones, MacBooks and iMacs with which to play – Apple wants you to experience and appreciate their products.  When visiting the store you aren’t faced with endless glass display cases like you are visiting a computer museum, you get to actually touch and try-out any product you want.  My first experience with the iPad was at the store and this experience determined whether or not I was going to buy.  If users can’t try out your application how can they decide if they want to use it?  It is my policy to give users a full 30-days to try out my software before deciding if they want to continue.  Many sites give limited access to features until you cough up money.
  • Genius bar looks like a bar, including bar stools – upon entering the store and briefly looking around, I immediately knew where I needed to go to see my Apple Genius.  The store, as I mentioned, is laid out very cleanly with the Genius Bar (an actual bar as you recognize in any lounge) in the far back of the store, separated visually and physically from the rest of the store.  This makes it very clear where someone needs to go to get help.  This is exactly how web applications should be designed, make it very clear where users need to click to sign-up, cancel, get help, contact and any other function they may need.  How many times have you been to a web site and had to struggle to find an email address so you can contact someone at a site?  It is annoying and does not make me want to do business; keep the links and information readily available so [potential] users can find it.
  • Lots of people to help you out - who also carry iPads to check-in people with appointments.  Nice way to demo the new iPad platform.  I think “eating your own dog food” is essential.  If you don’t use the tool you create, how can you really know how people use it?  Apple uses their iPads to let the Geniuses know when an appointment has arrived or add folks who are just walk-ins to the queue.  This is free advertising for one; customers get to see people actually using an iPad for something other than a “big iPod Touch”.  This also gives Apple feedback from the field for both the software, operating system and hardware perspective. Brilliant!  Use the applications you create.
  • Don’t make me wait – Wait time was small even with a lot of people and dealing with the Genius was simple, no hassles and out in minutes.

These were my initial impressions when visiting the Apple Store, all positive.  I can take away so much from the experience which I can then apply to my own business, my own products.  Apple has spent countless hours and piles of money to offer the experience they offer.  Why not take some lessons from them?

Customer Service

Beyond my first impressions about the look and layout of the store, I think the real win in my mind was the great customer service experience.  I had in my mind, since my issue was not exactly reproducible on-demand, that Apple may tell me there was nothing wrong with my phone and send me on my way.  They could have just as easily pointed blame at one of the applications on the phone.  I was well-prepared to visit the Verizon Store in the mall and walk out with a new Motorola Droid running Android and say good-bye to the iPhone and AT&T forever.

My overall wait time was only about 10 minutes after checking in upon arrival to the store.  The process was really very simple:

  • Called up to Genius Bar
  • Genius takes phone, asks a few basic questions.
  • Runs diagnostics on the phone, finds nothing.
  • Offers to give me a new phone.

There was no griping from the Genius, he instructions were clear, just make the customer happy.  I came expecting a fight and left with a new iPhone and a smile on my face.

Isn’t this how we should treat all of our customers?  Customers have choices, they can buy our product or service from suppliers other than us.  It takes much effort to attract and keep people willing to give us their hard-earned money, so why not just agree to do whatever it takes to keep them.  This is a rule meant to be broken, we all have those customers that no matter what you do you cannot make them happy, these will always exist.  We do have plenty that are happy and just want good service, so think about it next time when you are just thinking of saving a buck and refuse service to your existing customer.  They will eventually go somewhere else.

Finally

There are plenty of lessons to be learned here and not just from Apple.  Number one, first impressions are important, so please make your web application, store front or company presentable.  Make it reflect on you and how you want to be viewed, put your heart into it.  Number two, treat people and customers the way you want to be treated.  It is easy to think of the bottom line at a very superficial level and I think this will hurt your bottom line in the long run.