The March meeting of the Brooklyn iOS Developers Meetup was devoted less to demo’ing products and more to really understanding apps and app developement. The Ultravisual team came out and showed off some of the latest developments in their product, so there was still a traditional demo, but developers on the Tendigi and Etsy teams took it in a different direction.
Etsy‘s Akiva Leffert talked about ways his company is developing code to improve its internal workflow. Tendigi‘s Nick Lee showed a tool that lets a developer see what the code behind an app is doing.
The meetup took place inside Etsy Labs in Dumbo.
Akiva Leffert presented on ways the mobile team at Etsy is working to systematize improving its process.
Etsy uses Continuous Deployment for its updates. The team pushes out lots of updates every day, but they are small updates and watched closely. That way, it’s unlikely that they will break anything with any given update, but they also get lots of real world feedback very fast for any changes that get made.
This approach is much harder on mobile, where updates are necessarily fewer and further between. Lefferts highlighted three ways the mobile team is working to improve its process.
- Static Analysis. Looking over code before deploying. He highlighted OClint as a bit of code that is helpful for spotting signs of danger in code.
- Automated testing. Etsy does its pull requests on GitHub, and they have modified these requests so that it automatically runs OClint over the relevant part of code and includes that in the pull request.
- Visual tools. Lefferts is developing a tool called Knobs that allows changes to be made without digging directly into the code. He says he will be making this tool available soon.
Nick Lee is on the team at Tendigi, the company that runs this meetup. He didn’t show anything that his shop has worked on, though. Instead, he showed something from the jail-broken phone community, a piece of software created by Saurik, called Cycript.
He started his talk with the question: “Have you ever wondered about how an app works? Have you ever been suspicious about what it’s doing?”
Lee demo’ed a few examples, for example, showing a flashlight app which seemed to create notifications when users touched its buttons or changed its colors. He didn’t want to demo Cycript on any real apps or accuse any other developers of shady behavior, but he encouraged users to jailbreak their phones and try it out, promising they would definitely find some interesting activities hidden in their favorite applications.
How do developers trick someone using Cycript? Lee’s short answer was, “You can’t.”
The best way you could do it is to add a lot of nonsense in your code and to use names that make no sense, but the downside of that is that it all makes your life much harder and potentially add bugs to your app. And, he reminded everyone, whatever you do, hackers will figure out a way around it.
Andy Poes demo’ed what’s coming on the social multimedia-sharing Ultravisual app, mostly focusing on the interesting ways in which Ultravisual, which launched in the fall, will give users interesting ways to see content as they scroll through it. Available exclusively as iOS for now, Ultravisual is seeking to push the boundaries of how much users can do mixing photos and videos while still making a super simple interface.
Ultravisual has the advantage of collaborating with film technology innovator Technicolor.
Poes mostly focused on how the app lets you scroll through your content as a grid, list, swell view (where more of certain content is shown as you scroll) and a sort of 3D chain.
The app has had some updates and others that are coming soon:
- A media editor is coming, which will allow more flexible editing of the photos and videos you’ve taken for a given project.
- Drafts view is recently added, so you can see the composition of your past content.
- Filters include things like vantage points and special color effects straight from Technicolor.
Interested developers can see more of what Poes is working on for Ultravisual on GitHub.