You are on page 1of 20

Mobile Solutions Build vs.

Buy

Who am I? Kevin Diamond

CTO of HauteLook Oversee all technology, infrastructure, development, etc Major focus on customer experience based applications Utilize Agile SCRUM and Lean Kanban SDLC Build web apps for Desktop, Mobile and Tablet (from here out I will refer to Mobile as inclusive of tablets) Build native applications for iPhone, iPad and Android

Who is HauteLook

Private sale, members-only limited-time sale events Premium fashion and lifestyle brands at exclusive prices of 50-75% off Over 20 new sale events begin each morning at 8am PST Over 10 million members Acquired by Nordstrom in 2011

HauteLook Mobile Is
iPhone (Oct 2010), iPad and Android (Sep 2011) apps now available, with experience tailored to each device Over 1.1M app downloads Mobile now represents up to 33% of weekday logins and 42% on weekends Mobile now represents up to 25% of weekday revenue and 33% on weekends Sometimes our core member prefers using her phone to shop HauteLook, even when near a computer

Fun facts!

Increased speed in latest version of our app increased conversion by 10% Faster performance also led to 15% more PV/sessions, but decreased session time by 25% (it was that much faster!) Buyers spend 3x the time per session as viewers, and look at 3x the number of products iPad sessions last 2x iPhone but same number of PV Bugs are costly! A buggy version had 10% lower engagement and 20% lower conversion.

The biggest question

Is mobile commerce strategic for your business?

Yes?

Then the core development of your app MUST be done internally

Still testing the water?

Great! Lets outsource this sucker

Picking a platform

Mobile Web or Native Apps Where are your customers?


If all over the place, definitely Mobile Web If almost all iOS only or all Android only, then go Native immediately If a good split, start with Mobile Web and then go Native as quickly as you can

But HTML5 doesnt perform nearly as well as Native (for now)

What about hybrid?

Hybrid is building it in HTML5 and then wrapping it for native app store Performance is nowhere near Native Especially if you have a mix of older devices Worst things are: infinite scrolling, access to hardware Newer devices with big processors closing the divide New JS Frameworks working towards making it better

10

Picking Your Outsourcer


Outsource does not have to mean offshore! Look at both. Have they built an app/site you love or competes with you? No? Then keep looking! My two rules of how outsourcing works:
Staff augmentation Complete project hand-off

11

Staff Augmentation

Get a skill matrix of actual resources Pick a resource (or a few) and interview them like you would an employee Integrate them into your Agile/Lean process
Dont have to work your hours, but have to attend the stand-up Assign them tasks to do

You have to manage the project, they are now just additional employees Pay an hourly rate, not project base Monthly commitment, but terminate anytime if not living up to expectation

12

Project Hand-off

They must have a project manager on their side Best to use same group that does wireframes Set up standards (style guide, code standards, etc) in advance And then sit back and make them manage, develop, test it all Project based bid with budget guidelines Deadlines clearly discussed and penalties for missing them Dont increase scope! Be happy with whatever they deliver, it will not be perfect, but it is done

13

In-house Instead

Biggest challenge is hiring the RIGHT people If it is your first time, be wary of setting deadlines Building for mobile is harder than building for desktop Prototyping is essential for the staff to learn the right way to do something and how long it takes Leave prototyping out of your Agile process so you can adequately timebox when in it

14

Building for Mobile is Hard

Memory Management, Multi-threading, Small Processors, Speed Constraints, are likely new problems Simulating bad/lossy connections (try it when on the elevator!) Understanding standards of device platforms and how to appropriately use those requires good UX and UI people Simplicity is key for a successful experience, almost opposite from the desktop web (drop shadows and rounded corners eat away at processor) Need APIs that bring all major functionality to the new platform, so double the building for all new functionality

15

Supporting Mobile is Harder


The rest of your team needs to become dedicated to maintaining your APIs and their up-time (hard if nothing else uses them) Testing must be extreme
Native takes weeks not minutes to get new releases out to all customers, so bugs are very costly (add in Upgrade alerts from the start) Even web doesnt act like you would expect Automated testing is almost a must have, which means more initial dev time

Beta test internally with employees to find bugs the average person might see, but your developers will miss Native app Beta testing internally is not easy to get the app on to peoples devices, often have to use tools like TestFlight If development isnt in-sync, new features will come to desktop web first, and later to Mobile which requires a lot more communication internally and externally What versions of what devices will you support? (iOS 4-6, Android 2.1-4.1, Touch-based Smartphones, etc)

16

App Store Reviews


Very public reporting of all issues people have with the app Also people will evaluate your business
Business Practices Business Model

Try to encourage people in your app to reach out with their problems directly and not through the Reviews Android requires you to be a Top Developer to respond to reviews, but little visibility into what makes you a Top Developer Apple has no way to contact or respond to complaints, even if its with a fix (hopefully this will change) Little to no way to identify the user to look internally at what problem they might have had Apple App Store is also very finicky (if it isnt broke, dont fix or change it!)
Changing App Icon Name can mean a blank icon on release Removing and re-adding your app can result in 100k of members seeing This item has been removed from the store

17

Push vs. Alerts

Push and Alert messages are to mobile as email is to the desktop, except reads are above 90%! Push messages are sent through Apple/Googles protocols and arent easy to setup Push is great for transactional messages (you got a credit or your item shipped) Alerts are setup within the app while it is running and are easier to setup Alerts are great for regular, schedulable events (like our 8am new sale alert) Or an event off of an action they took while in the app (remind me button for a specific sale happening in the future) Alerts you can build yourself, for Push, use a third party like Urban Airship

18

Third Party Add-Ons

Dont reinvent the wheel! If you want a cool feature, see if it exists already:
Card.io for camera reading a Credit Card Red Laser for barcode scanning This industry is expanding fast and more and more tools are being developed

Crash reporting is not built-in


Crittercism, BugSense, Crashlytics are a few that give you the feedback you need to figure out the cause of crashing, but are really new and not 100% Apple + Android report some crashing and give stack traces in their admin systems, but only report a limited number

Analytics
Whomever your web analytics partner is probably already has an SDK for mobile

19

Thank you!

If you have questions, please email me


kevin@hautelook.com

20

You might also like