• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

Remember Lenny

Writing online

  • Portfolio
  • Email
  • Twitter
  • LinkedIn
  • Github
You are here: Home / 2014 / Archives for December 2014

Archives for December 2014

December 8, 2014 by rememberlenny

The search model that Google brought to the web does not really work on mobile – mobile is both ‘post-Netscape’ and ‘post-Pagerank’

New questions in mobile by Benedict Evans

/2014/12/08/the-search-model-that-google-brought-to-the-web/

Filed Under: Uncategorized

stats about ios launch

December 8, 2014 by rememberlenny

iTunes connect updated today with better numbers regarding Public Art downloads.

iTunes connect download report

  • The total download count to date is 367.

  • The prelaunch day had 39 downloads from mailchimp and twitter.

  • The peak download day had 234 downloads, primarily from Product Hunt and Laughing Squid.

Parse analytics push notification report

  • The percentage of push notification accepted per overall downloads were much higher on the second day. First day was 37.6%. Second day was 43%.

  • Push notifications were accepted on 175 devices (appox 47.6%).

  • Public Art comes up first in the App store when searched for the term “Public Art”.

  • The regions breakdown for downloads is: USA, followed by Europe, Asia, Latin America, and Africa.

  • Public Art was downloaded in 22 countries: US, Canada, UK, Germany, Netherlands, France, Italy, Sweden, Norway, Russia, Spain, Switzerland, Japan, Australia, China, Hong Kong, Taiwan, Indonesia, Brazil, Mexico, Argentina, and India.

Filed Under: Uncategorized

December 8, 2014 by rememberlenny

rachelbeee:

My photography professor said that my coffee pictures were boring so I decided to step it up a notch

Source: rachelbeee

/2014/12/08/rachelbeee-my-photography-professor-said-that/

Filed Under: Uncategorized

December 8, 2014 by rememberlenny

rachelbeee:

My photography professor said that my coffee pictures were boring so I decided to step it up a notch

Source: rachelbeee

/2014/12/08/rachelbeee-my-photography-professor-said-that-2/

Filed Under: Uncategorized

5 things I learned launching my first iOS app

December 5, 2014 by rememberlenny

Public Art — Find street art nearby.

Public Art iOS app.

1. Having control of the external services is important

The primary function of my app is to check your current location against a database of geotagged images. This is a straightforward call that leans on a ruby gem called Geocoder. To translate the user’s current location, I grab the longitude and latitude of a user, then use Google Maps Geocoder API to translate the coordinates into usable data.

Not the Google Maps API Quota. Rails memory maxed by a bad Model.all call.

I was unprepared for the Google Maps Geocoder api quota. At midnight, I noticed that my server wasn’t returning queries to users because Google Maps quota had expired. This could have been incredibly frustrating if the logic for the query was in the iOS app. Fortunately, the query was made through the Rails application I setup as an API endpoint. I was able to make adjustments to the Geocoder source and spin up a Data Science Toolkit virtual machine on a AWS box. I switched the API endpoints to the DSTK and got the Geocodes back up and running.

2. Misusing app push notifications is very easy

This is what I saw after unintentionally sending a 12am push notification.

Last night, after noticing the Google Maps api quota was maxed out, I tried to find a way to communicate to any users who were receiving empty queries. I intended to send an in-app notification to anyone currently on the app. In the process, I accidentally sent all app downloads a push notification. This was right at midnight on the east coast, so I felt very bad for any people who may have been disturbed. If it was me, I’d be pissed.

3. Launching on the Apple store is time consuming.

I spent days of continuous work to figure out how to get the correct assets, prepare my build files, get the right version of ode installed, etc. The week before Thanks Giving, I was on the subway home from Brooklyn and editing the promo video for the app on Photoshop. Anything that can help accelerate the process is helpful.

http://sketchtoappstore.com/

A huge help were all the Sketch.app plugins that helped generate in-app and app store assets.

4. Setting up analytics is hard

The lean startup approach is all about doing as much work as needed for getting core functionality, without making assumptions about your user’s taste. In this way, you use data to gain insights on what needs to be further developed. To do this correctly, you need to have a good analytics framework setup.

Downloads reported in Parse. Its cool seeing so many timezones.

I spent time setting up event tracking on my app, but completely missed some obvious things. The main pitfall was that I didnt set up a user definition attribute. I accounted for the events that would help me track user frustration, but Im not able to do any effective user segmenting. Its hard for me to isolate the data trails to specific users.

I also leaned on two analytics services because I couldnt get one to fulfill all my needs. I used Mixpanel for event tracking and Parse for push notification management. In the process, I didnt fully set up Parse correctly and never integrated user profiles into Mixpanel. The partial setup handicaps me from knowing the user response to push notifications or segmenting data by users.

5. Understanding analytics is also hard

I set up enough tracking to generate a solid list of events. I find when people query, where they query from, how they click, what they click, how many searched they do, etc. Now that I have this data, I dont have any inherit insights. I need to go back to each event and understand exactly how it is generated. I have some events that were called hundreds of times and others that were called only 10 or 20 times. Differentiating how the event may be set up incorrectly, or how there is a huge demand for a certain action is hard.

MixPanel dashboard for tracked events.

One thing that I wish I had was a basic events list for user actions that are not in my app. For example, I want to know if people tried to swipe left or right, pinched, rotate their device. I didnt try to capture these events but it would be useful for understanding how to develop future features.


Im still not sure what the actual total downloads or user actions were. iTunes, Mixpanel and Parse are all out of sync. Ironically, I trust Parse more than iTunes because it reports unique device parameters that I can see.

Overall, the process was a success. Most importantly, I feel good about the process. I was excited to see Laughing Squid post about the app and Product Hunt attention.

If you haven’t already, check out Public Art. The app to discover graffiti and street art near you!


If this was interesting to you, follow me on Twitter.

Filed Under: Uncategorized Tagged With: Product Development, Programming, Startup

things I learned launching an iphone app

December 5, 2014 by rememberlenny

1. Launching on the Apple store is time consuming.

I spent days of continuous work to figure out how to get the correct assets, prepare my build files, get the right version of xcode installed, etc. Anything that can help accelerate the process is helpful.

A huge help were Sketch.app plugins that helped generate in-app and app store assets. http://sketchtoappstore.com/

2. Setting up analytics is hard

The lean startup approach is all about doing as much work as needed for getting core functionality, without making assumptions about your user’s taste. In this way, you use data to gain insights on what needs to be further developed. To do this correctly, you need to have a good analytics framework setup.

I spent time setting up event tracking on my app, but completely missed some obvious things. The main pitfall was that I didnt set up a user definition attribute. I accounted for the events that would help me track user frustration, but Im not able to do any effective user segmenting. Its hard for me to isolate the data trails to specific users.

I also leaned on two analytics services because I couldnt get one to fulfill all my needs. I used Mixpanel for event tracking and Parse for push notification management. In the process, I didnt fully set up Parse correctly and never integrated user profiles into Mixpanel. The partial setup handicaps me from knowing the user response to push notifications or segmenting data by users.

3. Understanding analytics is also hard

I set up enough tracking to generate a solid list of events. I find when people query, where they query from, how they click, what they click, how many searched they do, etc. Now that I have this data, I dont have any inherit insights. I need to go back to each event and understand exactly how it is generated. I have some events that were called hundreds of times and others that were called only 10 or 20 times. Differentiating how the event may be set up incorrectly, or how there is a huge demand for a certain action is hard.

One thing that I wish I had was a basic events list for user actions that are not in my app. For example, I want to know if people tried to swipe left or right, pinched, rotate their device. I didnt try to capture these events but it would be useful for understanding how to develop future features.

Im still not sure what the actual total downloads or user actions were. iTunes, Mixpanel and Parse are all out of sync. Ironically, I trust Parse more than iTunes because it reports unique device parameters that I can see.

4. Having control of the external services is important

The primary function of my app is to check your current location against a database of geotagged images. This is a straightforward call that leans on a ruby gem called Geocoder. To translate the user’s current location, I grab the longitude and latitude of a user, then use Google Maps geocoder API to translate the coordinates into usable data.

I was unprepared for the Google Maps geocoder api quota. At midnight, I noticed that my server wasn’t returning queries to users because Google Maps quota had expired. This could have been incredibly frustrating if the logic for the query was in the iOS app. Fortunately, the query was made through the Rails application I setup as an API endpoint. I was able to make adjustments to the Geocoder source and spin up a Data Science Toolkit virtual machine on a AWS box. I switched the API endpoints to the DSTK and got the Geocodes back up and running.

5. Misusing app push notifications is very easy

Last night, after noticing the Google Maps api quota was maxed out, I tried to find a way to communicate to any users who were receiving empty queries. I intended to send an in-app notification to anyone currently on the app. In the process, I accidentally sent all app downloads a push notification. This was right at midnight on the east coast, so I felt very bad for any people who may have been disturbed. If it was me, I’d be pissed.

–

Overall, the process was a success. Most importantly, I feel good about the process. I was excited to see Laughing Squid post about the app and the traction it received on Product Hunt.

If you haven’t already, check out Public Art. The app to discover graffiti and street art near you!

Filed Under: Uncategorized

  • « Go to Previous Page
  • Go to page 1
  • Go to page 2
  • Go to page 3
  • Go to page 4
  • Go to page 5
  • Go to page 6
  • Go to Next Page »

Primary Sidebar

Recent Posts

  • Thoughts on my 33rd birthday
  • Second order effects of companies as content creators
  • Text rendering stuff most people might not know
  • Why is video editing so horrible today?
  • Making the variable fonts Figma plugin (part 1 – what is variable fonts [simple])

Archives

  • August 2022
  • February 2021
  • October 2020
  • September 2020
  • August 2020
  • December 2019
  • March 2019
  • February 2019
  • November 2018
  • October 2018
  • April 2018
  • January 2018
  • December 2017
  • October 2017
  • July 2017
  • February 2017
  • January 2017
  • November 2016
  • October 2016
  • August 2016
  • May 2016
  • March 2016
  • November 2015
  • October 2015
  • September 2015
  • July 2015
  • June 2015
  • May 2015
  • March 2015
  • February 2015
  • January 2015
  • December 2014
  • November 2014
  • October 2014
  • September 2014
  • August 2014
  • July 2014
  • June 2014
  • May 2014
  • April 2014
  • March 2014
  • February 2014
  • January 2014
  • December 2013
  • October 2013
  • June 2013
  • May 2013
  • April 2013
  • March 2013
  • February 2013
  • January 2013
  • December 2012

Tags

  • 10 year reflection (1)
  • 100 posts (2)
  • 2013 (1)
  • academia (2)
  • Advertising (3)
  • aging (1)
  • Agriculture (1)
  • analytics (3)
  • anarchy (1)
  • anonymous (1)
  • api (1)
  • arizona (1)
  • Art (2)
  • art history (1)
  • artfound (1)
  • Artificial Intelligence (2)
  • balance (1)
  • banksy (1)
  • beacon (1)
  • Beacons (1)
  • beast mode crew (2)
  • becausewilliamshatner (1)
  • Big Data (1)
  • Birthday (1)
  • browsers (1)
  • buddhism (1)
  • bundling and unbundling (1)
  • china (1)
  • coding (1)
  • coffeeshoptalk (1)
  • colonialism (1)
  • Communication (1)
  • community development (1)
  • Computer Science (1)
  • Computer Vision (6)
  • crowdsourcing (1)
  • cyber security (1)
  • data migration (1)
  • Deep Learning (1)
  • design (1)
  • designreflection (1)
  • Developer (1)
  • Digital Humanities (2)
  • disruption theory (1)
  • Distributed Teams (1)
  • drawingwhiletalking (16)
  • education (3)
  • Email Marketing (3)
  • email newsletter (1)
  • Employee Engagement (1)
  • employment (2)
  • Engineering (1)
  • Enterprise Technology (1)
  • essay (1)
  • Ethics (1)
  • experiement (1)
  • fidgetio (38)
  • figma (2)
  • film (1)
  • film industry (1)
  • fingerpainting (8)
  • first 1000 users (1)
  • fonts (1)
  • forms of communication (1)
  • frontend framework (1)
  • fundraising (1)
  • Future Of Journalism (3)
  • future of media (1)
  • Future Of Technology (2)
  • Future Technology (1)
  • game development (2)
  • Geospatial (1)
  • ghostio (1)
  • github (2)
  • global collaboration (1)
  • god damn (1)
  • google analytics (1)
  • google docs (1)
  • Graffiti (23)
  • graffitifound (1)
  • graffpass (1)
  • growth hacking (1)
  • h1b visa (1)
  • hackathon (1)
  • hacking (1)
  • hacking reddit (2)
  • Hardware (1)
  • hiroshima (1)
  • homework (1)
  • human api (1)
  • I hate the term growth hacking (1)
  • ie6 (1)
  • ifttt (4)
  • Image Recognition (1)
  • immigration (1)
  • instagram (1)
  • Instagram Marketing (1)
  • internet media (1)
  • internet of things (1)
  • intimacy (1)
  • IoT (1)
  • iteration (1)
  • jason shen (1)
  • jobs (2)
  • jrart (1)
  • kickstart (1)
  • king robbo (1)
  • labor market (1)
  • Leonard Bogdonoff (1)
  • Literacy (1)
  • location (1)
  • Longform (2)
  • looking back (1)
  • los angeles (1)
  • Machine Learning (13)
  • MadeWithPaper (106)
  • making games (1)
  • management (1)
  • maps (2)
  • marketing (4)
  • Marketing Strategies (1)
  • Media (3)
  • medium (1)
  • mentor (1)
  • message (1)
  • mindmeld games (1)
  • Mobile (1)
  • Music (2)
  • Music Discovery (1)
  • neuroscience (2)
  • new yorker (1)
  • Newspapers (3)
  • nomad (1)
  • notfootball (2)
  • npaf (1)
  • odesk (1)
  • orbital (14)
  • orbital 2014 (14)
  • orbital class 1 (9)
  • orbitalnyc (1)
  • paf (2)
  • paid retweets (1)
  • painting (1)
  • physical web (1)
  • pitching (2)
  • popular (1)
  • post production (1)
  • Privacy (1)
  • process (1)
  • product (1)
  • Product Development (2)
  • product market fit (2)
  • Programming (6)
  • project reflection (1)
  • promotion (1)
  • prototype (17)
  • prototyping (1)
  • Public Art (1)
  • Public Speaking (1)
  • PublicArtFound (15)
  • Publishing (3)
  • Python (1)
  • quora (1)
  • Rails (1)
  • React (1)
  • React Native (1)
  • real design (1)
  • recent projects (1)
  • reddit (3)
  • redesign (1)
  • reflection (2)
  • rememberlenny (1)
  • Remote work (1)
  • replatform (1)
  • Responsive Emails (1)
  • retweet (1)
  • revenue model (1)
  • rick webb (1)
  • robert putnam (1)
  • ror (1)
  • rubyonrails (1)
  • segmenting audience (1)
  • Semanticweb (2)
  • Senior meets junior (1)
  • SGI (1)
  • Side Project (1)
  • sketching (22)
  • social capital (1)
  • social media followers (2)
  • social media manipulation (1)
  • social media marketing (1)
  • social reach (5)
  • software (3)
  • Soka Education (1)
  • Spatial Analysis (2)
  • spotify (1)
  • stanford (2)
  • Startup (21)
  • startups (7)
  • stree (1)
  • Street Art (4)
  • streetart (5)
  • stylometrics (1)
  • Technology (1)
  • thoughts (1)
  • Time as an asset in mobile development (1)
  • Towards Data Science (4)
  • TrainIdeation (42)
  • travel (1)
  • traveling (1)
  • tumblr milestone (2)
  • twitter (1)
  • twitter account (2)
  • typography (2)
  • unreal engine (1)
  • user behavior (1)
  • user experience (3)
  • user research (1)
  • user testing (1)
  • variable fonts (1)
  • video editing (2)
  • visual effects (1)
  • warishell (1)
  • Web Development (8)
  • webdec (1)
  • webdev (13)
  • windowed launch (1)
  • wordpress (1)
  • Work Culture (1)
  • workinprogress (1)
  • zoom (1)