ProjectProject's Presentation for TiConf 2013

37
Various Tips & Tricks Marke&ng & Developing Apps By Raef Akehurst & David Sullivan

description

Raef Akehurst and David Sullivan of ProjectProject talk about various tips and tricks marketing and developing apps.

Transcript of ProjectProject's Presentation for TiConf 2013

Page 1: ProjectProject's Presentation for TiConf 2013

Various  Tips  &  TricksMarke&ng  &  DevelopingAppsBy Raef Akehurst & David Sullivan

Page 2: ProjectProject's Presentation for TiConf 2013

Some of our Ti Projects

Page 3: ProjectProject's Presentation for TiConf 2013
Page 4: ProjectProject's Presentation for TiConf 2013
Page 5: ProjectProject's Presentation for TiConf 2013
Page 6: ProjectProject's Presentation for TiConf 2013
Page 7: ProjectProject's Presentation for TiConf 2013
Page 8: ProjectProject's Presentation for TiConf 2013
Page 9: ProjectProject's Presentation for TiConf 2013
Page 10: ProjectProject's Presentation for TiConf 2013
Page 11: ProjectProject's Presentation for TiConf 2013

10  TipsFor  Developing  AppsBy David Sullivan

Page 12: ProjectProject's Presentation for TiConf 2013

Alloy is Magic

Page 13: ProjectProject's Presentation for TiConf 2013

1.  alloy.js• Loaded before any other controller or any

UI is compiled

• Perfect place to declare global variables or to start calling any data

Alloy.isTablet = function(){ return !(Math.min(Ti.Platform.displayCaps.platformHeight, Ti.Platform.displayCaps.platformWidth) < 600);}

Page 14: ProjectProject's Presentation for TiConf 2013

2.  Global  Stylesindex.tss

"Window":{ backgroundColor: 'blue'}"Label":{ top: 20, left: '25dp', right: '25dp'}"#subtitle":{ width: Ti.UI.FILL, textAlign: Ti.UI.TEXT_ALIGNMENT_CENTER, font: { fontSize: '16dp', fontWeight: 'bold' }! !}

app.tss

"Window":{ backgroundColor: 'white', layout: 'vertical'}"Label":{ color: 'gray', textAlign: Ti.UI.TEXT_ALIGNMENT_LEFT, backgroundColor: 'transparent', font: { fontFamily:'Helvetica', fontSize: '12dp', fontStyle: 'normal', fontWeight: 'normal' }!}

index.xml

<Alloy> <Window titleid="story_title" modal="true" exitOnClose="true"> <Label id="subtitle" color="orange" textid="story_subtitle" /> <Label top="25" color="white" textid="story_content" /> </Window></Alloy>

Page 15: ProjectProject's Presentation for TiConf 2013

3.  Pla<orm-­‐Specific  Resources

// Any device that does not fit any of the below platforms "Label": { backgroundColor: "#fff", text: 'Generic'},// iPhone"Label[platform=ios formFactor=handheld]": { backgroundColor: "#f00", text: 'iPhone'},// iPad and iPad mini"Label[platform=ios formFactor=tablet]": { backgroundColor: "#0f0", text: 'iPad'},// Android handheld and tablet devices "Label[platform=android]": { backgroundColor: "#00f", text: 'Android'}

Page 16: ProjectProject's Presentation for TiConf 2013

4.  Pla<orm-­‐Specific  Resources

• app• controllers

• android • index.js

• index.js • views

• ios• index.xml

• index.xml

if (OS_IOS){

$.window.leftNavButton = closeButton;

}

if (OS_ANDROID) { $.window.fullscreen = false;

}

Page 17: ProjectProject's Presentation for TiConf 2013

5.  Alloy  BuilEns• Backbone.js

• Underscore.js

• Moment.js

• Animations

• Dialogs

• Measurements

• Time

• Social (Twitter only)

• String manipulation

Page 18: ProjectProject's Presentation for TiConf 2013

6.  Widgets

• Awesome way to not only reuse code but to share code

• Have their own views, controllers, styles and assets and are laid out the same as the app directory in the Alloy project.

Page 19: ProjectProject's Presentation for TiConf 2013

7.  Data  binding

<Alloy> <Collection src="book" /> <Window class="container"> <TableView dataCollection="book" dataTransform="transformFunction" dataFilter="filterFunction"> <!-- Also can use Require --> <TableViewRow title="{title}" /> </TableView> </Window></Alloy>

• Update views as your data is updated

• Available for TableView, Views, ButtonBar, CoverFlowView, ScrollableView, ToolBar,TabbedBar and ListView

Page 20: ProjectProject's Presentation for TiConf 2013

8.  Accessibility

Page 21: ProjectProject's Presentation for TiConf 2013

“Here, then, lies the answer to how to tell whether some developer you’ve just met (or are interviewing) is serious about their craft in five seconds flat: borrow their device,

and triple-click the home button. If you don’t hear “VoiceOver on”, or get prompted about VoiceOver,

consider that −3 points on the Steve Test.”

- Stephen van Egmond

9.  Accessibility

Page 22: ProjectProject's Presentation for TiConf 2013

10.  Sublime  Text  +  CLI

Page 23: ProjectProject's Presentation for TiConf 2013

Bonus  1.  Outside  of  Ti

• Make use of TestFlight - and use their SDK to get the full value

• Use Google Analytics or similar

• Always expect things with Apple to take longer than planned

• Android can be a bag of hurt - target the popular devices first

Page 24: ProjectProject's Presentation for TiConf 2013

Bonus  2.  Ti  Community

• Twitter

• #TiAlloy

• @tonylukasavage, @FokkeZB, @nappdev & Co

• Github

• AlloyLove.com

Page 25: ProjectProject's Presentation for TiConf 2013

10  Tips  For  Marke&ng  AppsBy Raef Akehurst

Page 26: ProjectProject's Presentation for TiConf 2013

1.  Have  a  good  app  

Page 27: ProjectProject's Presentation for TiConf 2013

2.  Reviews.  Get  Them.

Page 28: ProjectProject's Presentation for TiConf 2013

3.  App  Store            OpEmisaEon

Page 29: ProjectProject's Presentation for TiConf 2013

4.  Use  ExisEng          Database

@

Page 30: ProjectProject's Presentation for TiConf 2013

5.  Old  Fashioned  PR

Page 31: ProjectProject's Presentation for TiConf 2013

6.  Social  Media          Campaigns

Page 32: ProjectProject's Presentation for TiConf 2013

7.  Online  AdverEsing

Page 33: ProjectProject's Presentation for TiConf 2013

8.  Landing  Page

Page 34: ProjectProject's Presentation for TiConf 2013

9.  TradiEonal  Media

Page 35: ProjectProject's Presentation for TiConf 2013

10.  Push  Updates

3

Page 36: ProjectProject's Presentation for TiConf 2013

Bonus:  Smart  App  Banners

Page 37: ProjectProject's Presentation for TiConf 2013

Gratuitous  Plug

http://projectproject.com.au/ticonf/presentation.pdf