Phokl Brings Photo Enthusiasts of All Backgrounds Together

Phokl App ScreenshotPhotography and photo sharing apps have become quite popular, with many aiming to be the next Instagram. Today, however, we’re speaking with Gayan Benedict of Audaz, whose newest app, Phokl, seeks to bring together photography enthusiasts of all skill levels and backgrounds. More than just a photo-sharing site, Phokl brings together professional photographers with art lovers, enabling novice photogs to peek behind the scenes at what it takes to capture the images they admire.

Read on to learn about the inspiration behind Phokl and the place Parse holds in the innovative new app.

 

You’re the CEO at Audaz; what’s the company all about?

Audaz is a photography group based in Sydney, Australia. I’m the founder and principal photographer, as well as technology lead (my day job was leading architecture and strategy for one the the biggest banks in Australia, Westpac).

Our first mobile app was launched last year, Photo Sydney, and it was a client-side based app allowing visitors and local photographers in Sydney to take advantage of mobile technology to improve their Sydney photography. Phokl is a follow-up to Photo Sydney and takes the concept globally, while also taking advantage of Parse’s infrastructure for not only scale, but also social extensibility, which we are heavily building out.

Explain how Phokl works for us.

Phokl is an app (available on iOS initially), that allows keen photographers (and lovers of photography) to access significantly more levels of information about images than has been previously available. Images are loaded into galleries organized by Place or Passion, and expose a wealth of data not typically accessible to photographers, including rich photographic meta-data, detailed location mapping, and post-production commentary.

Users can provide rich commentary and feedback on images, including their emotional responses. Users can search by detailed criteria to find the images they are after (extending to search by aperture, focal lengths, and even geocode ranges!). This makes Phokl idea for users keen to expand their knowledge on photographic techniques and settings.

How did you develop the idea behind your latest app?

The idea for Phokl (pronounced Pho-cal), came from our own experience as photographers, looking to master the variables at a photographer’s disposal (focal length, aperture, ISO etc), and realizing that a lot of this information wasn’t conveniently available to photographers at the time and place of their photography. We wanted to take the information in traditional photography books, and make it more local and available, when the photographer needed the information. We’ve succeeded beyond our initial expectations with even the first version of Phokl, and the next versions in development are only taking us further down this path.

How did you find your way to building Phokl on Parse?

We found Parse through our development team. They recommended Parse based on your reputation. After initially looking at other offerings, we realized the deep social integration the platform offered ,and the convenient pricing options, made it a no-brainer to build Phokl out on the Parse platform. We have not looked back once on this decision.

How is Parse used in the app?

Parse is used for core storage of our digital content. It’s also used as a harness into which our Facebook and Twitter integration has been based and developed. Version 1.0 uses Parse Social to allow users to follow their favorite photographers, participate in forums, and, uniquely, provide rich emotional feedback which is fed back to users at both an image level, and through social leader boards we’ve established to allow users to discover popular images and contributors. We’re enjoying the analytics the platform offers, and are now looking to build that area our further after initial exploration.

What do you feel are the key benefits to building out an app on the Parse platform?

We’ve found time to market and to build out new features, as well as the ability to build on the available business logic for deep integration to social platforms like Facebook and Twitter, have allowed us to focus on what makes our app different, which is rich photographic context and information. We don’t have to waste much time on the core social components our users expect as a matter of course now in their mobile apps.

How many overall downloads have you seen?

In the first ten days, we had thousands of downloads, well beyond our initial expectations for the initial 1.0 launch. We’ve already launched a bug-fix version and are working on our first major point release.

What are your plans for Phokl in the future? 

We’re focused on building out our capabilities, and have a thick pipeline of capabilities in the works. We consciously wanted to get what we saw as critical differentiating features out in version 1.0 and have focused on getting user feedback to dictate our capability releases going forward. We’re very much about building up a community of avid photographic users, and as with any successful community, it’s critical we provide the community what it wants to thrive and develop further.

As an example, initial feedback was that users wanted access to the photographic news and community content that they trusted. As a result, we sought to incorporate access to the leading photography blogs around the world, right within the app. It was there on day one and our users are loving it (our launch rating on the App Store of 5 stars is a source of particular pride for us).

Has using Parse decreased development time and if so, do you have an idea of how much?

Parse would have at least halved our initial projected development time. It allowed us to get a base harness capability prepped in a matter of 2-3 weeks, and has allowed us to build out our capabilities on a robust platform, with rich social and interactive functionality available from Day 1.

What’s your favorite aspect of building on Parse?

The Parse adoption model is simple to plan around, the infrastructure works, the features keep coming so we can build them into Phokl at a steady clip, and the pricing supports scalability and minimizes risk for the developer. Everyone wins.

Gayan will be presenting on his experiences with cloud-based app development at MIT’s Center for Information Systems Research summer session special topic on mobile apps in Cambridge, Massachusetts in mid-June. The talk will feature the use of the Parse platform and be based on a previous presentation he did on behalf of Apple Australia on the topic as well as building on sessions hosted with Apple in Queensland’s Gold Coast in December of 2012.

You can participate in the Phokl community on Facebook here, or download the app in the iTunes app store here.

 

Courtney Witmer
May 31, 2013

Parse on Android Just Got Classier

The Parse SDK for Android aims to simplify your Android development experience. The flexibility of ParseObjects makes it easy to get up and running with rich data stored on Parse. As your app grows in complexity, the ability to strongly-type your data becomes increasingly valuable.

Today, we’re excited to announce a change to the Parse SDK for Android that enables more strongly-typed Java development, giving you even more control over the way you structure your code.

Papa’s got a brand new property bag

Java provides a number of tools for encapsulating the business logic for your application. Using ParseObjects vastly simplifies your data access by providing a projection of objects stored on Parse to your app. But in many cases, your ParseObjectare your business objects, so being able to treat them as first-class types in your Java code can turn code that looks like this:

final ParseObject ocarina = new ParseObject("Instrument");

// ParseObjects are just property bags, so we get no assurances that we're putting
// the right kinds of objects in our Instrument.
ocarina.put("type", InstrumentType.WOODWIND.toString());
ocarina.put("owner", ParseUser.getCurrentUser());
ocarina.put("displayName", "Ocarina");
ocarina.saveInBackground(new SaveCallback() {
  public void done(ParseException e) {
    // We have to use utility classes to add behavior to our ParseObjects.
    Instruments.play(ocarina);
  }
});

Into this:

final Instrument ocarina = new Instrument();

// Since our Instruments are strongly-typed, we can provide mutators that only take
// specific types, such as Strings, ParseUsers, or enum types.
ocarina.setType(InstrumentType.WOODWIND);
ocarina.setOwner(ParseUser.getCurrentUser());
ocarina.setDisplayName("Ocarina");
ocarina.saveInBackground(new SaveCallback() {
  public void done(ParseException e) {
    // Now the ocarina already knows how to play.
    ocarina.play();
  }
});

This new feature allows you to create your own subclasses of ParseObject, making it simple to strongly-type your objects, define proper accessors and mutators, and add custom business logic. Consider the following implementation of the Instrument class:

import com.parse.*;

@ParseClassName("Instrument")
public class Instrument extends ParseObject {
  public Instrument() {
    // A default constructor is required.
  }

  public String getDisplayName() {
    return getString("displayName");
  }
  public void setDisplayName(String displayName) {
    put("displayName", displayName);
  }

  public ParseUser getOwner() {
    return getParseUser("owner");
  }
  public void setOwner(ParseUser user) {
    put("owner", user);
  }

  public InstrumentType getType() {
    return InstrumentType.parse(getString("type"));
  }
  public void setType(InstrumentType type) {
    put("type", type.toString());
  }

  public void play() {
    // Ah, that takes me back!
  }
}

Defining a ParseObject subclass requires just four steps:

  • Extend ParseObject
  • Add a ParseClassName annotation to the class
  • Add your implementation. The only requirement is that you provide a default (i.e. zero-argument) constructor, which must not modify the ParseObject in a way that causes it to be dirty
  • Register the subclass in your Application.onCreate override (just before calling Parse.initialize()) using ParseObject.registerSubclass(ClassName.class)

And now you’re ready to code!

But wait, there’s more!

As part of adding support for ParseObject subclasses to our Android SDK, we’ve also made a number of existing Parse types generic, meaning the compiler and IDE can help you protect your app’s type-safety as you build the app. Say goodbye to repetitive casting!

ParseQuery<Instrument> woodwinds = ParseQuery.getQuery(Instrument.class);
woodwinds.whereEqualTo("type", InstrumentType.WOODWIND.toString());
woodwinds.findInBackground(new FindCallback<Instrument>() {
  public void done(List<Instrument> instruments, ParseException exception) {
    for (Instrument i : instruments) {
      // They're already instruments!
    }
  }
});

This change will generally improve code correctness, IDE auto-completion, and type-safety as you use Parse in your Android apps. Unfortunately, apps using older versions of the Parse SDK will need to make the following changes. Note: Depending on the usage, you may need to replace ParseObject with ParseUser, ParseRole, or ParseInstallation:

  • Replace ParseQuery with ParseQuery<ParseObject>
  • Replace ParseRelation with ParseRelation<ParseObject>
  • Replace FindCallback with FindCallback<ParseObject>
  • Replace GetCallback with GetCallback<ParseObject>

You can read more about subclassing ParseObjects in our Android guide and start building your next great Android app today.

David Poll
May 30, 2013

Mobile Sales Enablement with Mutual Mobile

In our quest to bring our developers the best tools and the newest information, we’ve partnered with Mutual Mobile, founded in 2009 with an exclusively mobile focus, to bring you cutting edge content. Working across all major mobile platforms – and with clients including Google, Cisco, Xerox, Jaguar Land Rover, and Phillips – Mutual Mobile seeks to help businesses engage customers and employees through rich mobile experiences. We look forward to working with them to bring you ideas and strategies to target your mobile development as effectively as possible.

As our first collaboration with Mutual Mobile, we’re bringing you information on Mobile Sales Enablement. When most people think of apps, they probably envision the myriad games and tools on their personal smart phones. There is, however, an emerging market in enterprise apps targeted specifically at sales teams. With the proliferation of tablets, sales teams’ lives can be made even easier, and more consumer engagement captured, through the use of smart business apps.

Visit this link to download Mutual Mobile’s guide to Mobile Sales Enablement, and let us know what you think of this emerging market for mobile apps.

Courtney Witmer
May 30, 2013

MainStreet Apps Makes Building Apps Easy for Mom-and-Pop

Customization screen for MainStreet Apps.

With new apps popping up every day, it’s no surprise that more and more self-employed individuals and small businesses are beginning to feel the need to enter into the realm of branded apps. Hiring a developer, though, can get quite pricey, and isn’t always in the realm of possibility for new or small companies.

That’s where the developers at MainStreet Apps come in. They’ve developed a platform that incorporates Parse and enables mom-and-pop shops, small businesses, self-employed folks, schools, organizations, and more to create their own apps without paying someone to build it for them from the ground up. We spoke with Angelo Stracquatanio about the company, and how Parse plays into their plan.

Tell us about MainStreet Apps and the role you play there.

MainStreet Apps is a New Jersey (yes, I said New Jersey) based start-up located in Jersey City. Besides having a great view of Manhattan from our office, we recently launched the 4th version of our platform in February with the help of Parse. I’m the founder, CEO, and Chief Code Monkey for our 4-person team and have a real passion for tech. We may not have spray tans, blowouts or fist-pump during work hours, but we have developed a sophisticated, do-it-yourself native mobile app builder to help SMBs and agencies develop two-way communication enabled applications quickly.

What can you tell us about the platform?

MainStreet Apps is an online native mobile app builder that specializes in creating mobile apps whose main purpose is not marketing. The apps built on our platform open a new, well-organized and two-way channel of communication between an organization and its clients, students, athletes and/or employees. It’s built to be DIY for the organization that wants an app, but we also have an affiliate program for agencies interested in building apps for clients who may not be able to afford a custom app or aren’t completely sold on mobile apps just yet. From an agencies perspective, one could use our platform to entice a new client with a cost-effective mobile app, but when the client is ready for a custom app, that agency could then take over and use Parse to build the app from there.

Where did the idea for the app platform come from?

This version of our platform, which is the first time we’ve introduced two-way communication, actually came from developing custom apps using Parse. Before working for MainStreet Apps full-time, I was an Enterprise Mobile Developer and had used Parse in my custom projects and saw the value in having personalized content in a mobile app. It was that ah-ha! moment that we decided to completely change our platform and go down our current road. However, the original idea of a DIY app maker came from working with urban entrepreneurs in Jersey City who wanted me to build a custom app, but couldn’t afford one. I figured there had to be a cheaper way for them, and so I built this platform.

How did you find Parse?

I first heard about Parse in a blog post a while back now, and started using it immediately in my custom projects because it just made sense. After using it a few times successfully, I decided to integrate it with our platform.

What role does Parse play in the MainStreet Apps Platform?

Parse is used on our platform in a few interesting ways. First, Parse powers all of our push notifications across our apps and allows our users to target their user groups and schedule when they would like to send those notifications. Additionally, user management is handled by Parse that we deeply integrated into our platform, and finally all social tools that we used are powered by Parse.

How are the Parse tools – Push, Social, etc. – used in the platform?

All of the apps built on our platform are subscribed to Parse and allow our users to send targeted push notifications to their end-users. In addition to just mass push notifications, since our platform revolves around user-based content and group management, we combined that with Parse’s channel-based system to allow our users to send push notifications to individual users or groups of users. We also leveraged Parse’s push scheduler to allow our users to set it and forget it.

Regarding Parse Social, for all mobile users (the end-users of our customers), we use Parse to manage all user-related functions. We decided to not reinvent the wheel since Parse had already done a great job with mobile login, user management, and device installation tracking. We also leverage Parse’s social features for select clients who would like to opt-in to social sharing and login via the social tools.

For developers who might be considering building on Parse, what would you tell them are the key benefits you have found while working with Parse?

Above all, ease of use. From the first time I used Parse, up until now when we have deeply integrated it with our platform, I have been incredibly impressed by how easy Parse has made it to manage users, organize push notifications, and manipulate data in the cloud.

Given that ease of use, do you feel like using Parse has sped up your development time?

Parse has decreased dev time incredibly by allowing us to focus on our core modules and not worry about user management, push notifications (that one was a biggie) and social tools. Overall, I would estimate that it saved us 3-4+ weeks worth of work vs developing an in-house solution.

What is your favorite thing about Parse?

This is going to sound weird, but I love Parse so much because it has decreased a tremendous about of my development stress because I know that any part of our platform that uses Parse will just work. Call it blind faith or ignorance, but to me, I trust Parse so much because I have NEVER been disappointed with a feature or Parse’s documentation.  It’s superb. Whatever you say is going to work, does. Oh, and, I almost forgot, Parse is incredibly easy to use!

You can read more about MainStreet Apps here and here.

 

Courtney Witmer
May 28, 2013

Ship Mate and cruise3sixty: A Novice Developer Takes on the Cruising Industry

Ship Mate Android screenshotsWe’re rapidly approaching a point in time where mobile users expect an app for all of their activities. Think about it: what social event or activity wouldn’t be improved if you had a map/list of options/access to other attendees at the tip of your finger? Paper maps can be outdated (what if everyone’s favorite rollercoaster at the amusement park is down?) and schedules often change day-to-day.

Jan Jirout of C Monster Solutions recognized the need for just such an app for cruise ships after his own family experiences. This led to an app called Ship Mate for both Android and iOS, and the creation of the official app for the cruise3sixty cruise conference to aid attendees at the event. Jan walks us through the development of the two apps and his experience with Parse so far.

 

Tell us about your company and the role you play.

The company is C Monster Solutions and consists of myself and my brother, Mike. I’m the developer and I guess the CEO. We have a great guy who’s been helping us with web the past few months currently on a part time basis, Charles Reid. The company was created about a year and a half after I started the Ship Mate project for iOS.

Tell us about your two apps, Ship Mate and cruise3sixty.

Ship Mate is an app for anyone going on a cruise vacation. You are able to meet other people who you’ll be cruising with, communicate with people who have cruised in the past, learn about the ship you will be on and the ports you will be visiting, along with other fun features including a countdown, cruise ship current location and an Instagram-like feature where you can share your vacation pics.

cruise3sixty is an app for the 2013 cruise3sixty cruise conference. The app provides the conference schedule, a directory of attending agents and exhibitors, ship info for the cruise ship tours, a city guide for Vancouver (where the conference will be held), and a place to chat with other travel agents who will be attending.

How did you come up with the inspiration for the two apps?

A few years ago I wanted to learn how to program for the iPhone so I bought my first Mac and an iPod and was in search of an idea to work on. Our family had been taking family reunion trips every other year on cruise ships (over 50 of us!) and we happened to have a trip coming up in a few months. I thought up the idea and got to work on a version for our upcoming cruise. I remember being excited getting a few downloads and some feedback. I realized this could be something people could get into and continued to build, learning a ton along the way.

cruise3sixty came from attending the conference two years in a row and being disappointed with the app that was being offered. My brother and I realized if we could build the official app for the year’s largest cruise conference, it could help us make connections in the industry. We approached them and worked out an agreement.

How did you end up using Parse in Ship Mate and cruise3sixty?

For a while everything on Ship Mate was contained in the application bundle (one of the reasons the app was initially split into different versions for each cruise line). The reason for this was because I didn’t have much experience communicating with a server (I’m still learning). We got a good guy to build us a custom solution to implement the server side for chat. This worked well for a while but we didn’t have anyone to maintain this solution. I learned about one of Parse’s competitors and thought maybe it could replace our current chat implementation. It didn’t yet have the flexibility we required but made me realize that something that worked might exist out there. I looked around, kept an eye out, and found out about Parse (probably through a Hacker News post). After replacing our chat solution with a Parse solution, I started a focused push to put everything from the app into Parse.

How is Parse used in the apps?

Cloud Code is being used to send Push Notifications when messages are sent or new users join on cruises. It’s also being used to construct queries and doing a bit of data processing to be used across platforms. Save hooks are used to massage data in some cases.

For Ship Mate, when the app is launched Parse is used to track the app being opened giving us an insight into usage data. We monitor usage data through Parse in other ways. When a user uses any of the features the content is coming from Parse, including text content, images, and ship locations. We have cron jobs running to scrape for ship locations and current web cam images. Web cam images are stored in Parse so we can display an animation to the user of the ship’s last day or so of travel. Our User Gallery is an Instagram-like feature completely powered through Parse.

User account management is also done completely through Parse. User data is stored in Parse allowing the user to access their stored cruise itineraries on different devices and through the web site.

Parse Cloud is used for save hooks to keep data consistent across devices (ACL) and some query construction and data processing to make fetching data consistent and easier across devices and to send Push Notifications.

Push Notifications are used to let users know when they have new direct messages, they used to load new messages when a user is in a chat room, and they’re used to let users know when someone new is joining them on their cruise.

Roles are used to give us more access within the app over common users.

Parse is used to monitor where data is deficient within the app. If a user goes somewhere where we’re missing pictures or description or something we make a note of that through Parse.

We’re also about to start using Parse for in-app purchase.

For cruise3sixty, Parse is used for user account management. We were given a list of attendees along with username and password. Using the Parse REST API I set up accounts for the travel agents ahead of time. Logging in is required to access some of the features. The conference schedule, exhibitors, and sponsors are stored in Parse.

All data for cruise3sixty is mirrored on the device so the app can be used without network access. The conference network access isn’t reliable, but with Parse we can get the most recent data to the users while they have network access and have it stored for when the network isn’t available.

What did you feel the greatest benefit was after moving everything over to Parse?

Flexibility was a huge initial benefit. I love how you can add fields to a Parse object and older versions of the app continue to work as implemented without issue. Remember, I’m still learning, so much of what I did initially needed to be changed as the app evolved and Parse allowed that while not affecting older versions of the app.

Another benefit is the ability to store all data in Parse instead of being on the app. Some of it is mirrored on the app and updated when changes are made, but most data does not need to be on the app, like for cruise itineraries. Right now we’re storing 35k cruise itineraries that were previously included in the app bundle, but the user cares only about the itineraries they will be on.

User management and cross platform API’s are also key, making it easy to share the data from the same source on different mobile devices and the web.

When developing cruise3sixty I was able to easily migrate static data from the Ship Mate app to the new cruise3sixty app using the Parse data export feature. For one piece of dynamic data, Ship’s Current Location, I’m actually making a REST call from the cruise3sixty iPhone app to the Ship Mate Parse account. This should probably be avoided but it’s handy in this case.

With so many people going on cruises each year, do you have any idea how many times your apps have been downloaded?

I wish I had better knowledge of this. I think we have over 200k downloads for the iPhone version, maybe about the same on Android. For a while the app was free, we didn’t require user accounts for tracking cruises, and we had many different versions for the different cruise lines. I pay more attention to the rate of download vs the cumulative number. We’ve been consistently in the top 10 travel apps over the past two years, sometimes in the top 5, reaching as high as #2.

The cruise3sixty final version has just been released and hasn’t been promoted yet. The conference organizers will soon start promoting the app to it’s 1,200 agent attendees and the exhibitors.

Do you feel like you’ve saved time in development by using Parse?

Parse has decreased development time and cost. It’s hard for me to judge by how much, but I can say things would be very different for us right now without Parse. I’m still the only iPhone developer for us and that couldn’t be without Parse. Ship Mate has transformed from a cruise utility to a cruise community spread across iPhone, Android and the web and that would’ve taken many more resources without Parse. I don’t know if we would’ve succeeded securing those resources to get us to this point.

cruise3sixty wouldn’t exist without Parse. We would not be able to expend the resources to create that app without Parse in our current position.

You can read coverage and reviews of the Ship Mate app here, here, and here. The app is available for download on both Android and iOS.

 

Courtney Witmer
May 27, 2013

Summary of the May 23rd Parse Service Disruption

We would like to share some more details about the service disruption we experienced on Thursday, May 23rd, and the steps we are taking to mitigate this sort of issue in the future.

At around 4:46 P.M. PDT we experienced a surge of elevated error rates. We tracked this down to an underlying hardware event on the primary node for our application routing data cluster, which caused the kernel to kill the software RAID controller and sent the database primary into an indeterminate state. This also triggered a rare client side driver bug that caused all our application layer services to hang. We failed over to a secondary node and restarted all of the services, and full service was restored by 5:29 P.M.

We are taking the following steps to ensure that we can recover more quickly from similar hardware events in the future:

  • Let the application services read routing data from secondaries, so they do not depend on the availablity of the primary
  • Better detection for when the mongo client drivers need to be reinitialized in the application code
  • Continuous warmup on all secondary nodes, so that failover is consistently fast

We apologize for this outage. We are working very hard to improve the resiliency of our platform, and we know that outages are extremely disruptive to our customers. If you have any questions, please reach out to us through our Help & Community portal.

Charity Majors
May 24, 2013

Parse on the Road Recap: GlueCon 2013

The Parse team had a fantastic time at this year’s Glue Conference in Broomfield, Colorado. We had a great time meeting future (and existing!) Parse developers at our booth, as well as mingling with other innovators in the mobile space.

We were excited to have two of our incredible engineers speak this year at GlueCon. Software Engineer Mattieu Gamache-Asselin gave a talk in Track 1 during Day 1 of the conference entitled, “A Technical Look at the Past, Present, and Future of Mobile Development.” Software Engineer Christine Yen followed up with her talk on, “Making Realtime Analytics Using Cassandra,” during Breakout 1 on Day 2 of the conference. If you’d like to take a look at the slides from Christine’s talk, they are available on Speaker Deck.

If you missed GlueCon this year, or if you have any questions that you didn’t get answered while you were there, feel free to reach out to our team here.

Photos from GlueCon

Christine giving her awesome talk on Cassandra.
christine

Matt giving his talk about mobile.
matt

Matt, Christine, Scott, and special guest, Sophie, having fun in the booth.
sophie

Ashley Smith
May 23, 2013

Clarus Agency Uses Parse to Build Enterprise Apps

Sage Surveys App on iPhoneThe proliferation of mobile apps is no longer a surprise to most people; the average American smartphone has 40 or more apps installed on it. What might surprise some, however, is that apps are no longer just being used for entertainment and social purposes. Businesses have seen that their employees are carrying in their pockets an opportunity to stay in contact with the company at all times, and are capitalizing on this reality with enterprise-specific apps.

We spoke with Bryan Bartow of Clarus Agency about the internally-facing app that they built for client Sage Environmental, below.

 

Hi, Bryan; tell us about Clarus Agency and your role there.

Clarus Agency bills itself as an app agency. Our business model very much follows the agency model, but we are very unlike a traditional agency in that we really only create apps, whether they be mobile, web or client (desktop). I started Clarus in 2007, along with my two partners. Although I have to do a lot of administrative “stuff” inherent with running the business, my real job is development and UX.

Explain to us a little bit about the apps you’ve built for Sage Environmental, please.

We’ve built several apps for Sage that would probably be best described as Line of Business. The first, an iOS app simply called Surveys, allows management to digitally distribute and measure post-project employee assessments. Once a project is marked in their systems as finished, a batch of surveys are sent to the employees who worked on the project. The employee fills out and submits the survey through the app.

The second app, called PIE, is an iOS app which allows employees to visually view their progress on several KPIs that are used as the basis of their annual performance reviews. There is also a companion web-based dashboard that management can use to view the same data across all employees.

Where did the idea for the two apps originate?

Our client, John, came to us with the basic premises for these two apps, along with others, that we brainstormed together on to fully flesh out.

How is Parse used in Surveys and PIE?

We’re using Users, Data and Push across the iOS and JavaScript SDKs. We also ended up creating an open source PHP wrapper for Parse called Sparse, which can be found here. For Sage, in particular, we’re using all of the Parse features except Social.

Has using Parse impacted your development speed?

It’s hard to quantify exactly how much time Parse has saved us, but it has without question. This has translated into real savings for our clients and real efficiency gains for us.

As a developer, what led you to use Parse in the first place?

I first heard about Parse fairly early on in beta. I try and keep up with the goings on in our industry and, although I don’t remember exactly when and where I heard about Parse, I know it was from one of the many fellow developers I follow on Twitter.

What would you tell another developer are the key benefits to working with Parse?

From a development perspective, the key benefit is the removal of the “boilerplate” stuff that goes along with most projects: spinning up a VM on Amazon, Rackspace or Heroku, setting up the database, creating the database schema, creating API to allow the DB to communicate with the app, etc. With Parse you can quickly skip past most of that and get to work on the business logic of the app.

From a business perspective, it comes down to time and money. Because we use the agency model, we bill by the hour. Each hour that Parse saves us is an hour the client doesn’t have to pay for (which they always appreciate). Additionally, this allows us to get through the project queue faster, which makes us and our clients happy.

Can you tell us about any other projects that you have in the works using Parse?

Because much of the work we do is for our clients’ internal use, we’re often not allowed to talk about it, but I can say that we’re using Parse in apps that we’re creating for some of the biggest brands in the world, such as Cisco. We’ve also used Parse in FirstDown Playbook, which is the most popular football reference app on the App Store. Of course, many of us here have “pet projects” that we mess with from time to time. Parse is a great way to get up and running quickly and to prototype and validate an idea for an app.

What do you think is the best thing about building on Parse?

Parse has built a great product with a great team behind it. You all are constantly innovating and pushing out new useful features. It’s not perfect (yet), but you guys do a great job of listening to your customers and giving us what we ask for. The thing I love most about Parse is it ultimately saves us time and makes our lives easier.

 

Courtney Witmer
May 23, 2013

Guest Post: Integrate the ShowKit SDK into Your Parse-Powered App for Conferencing, Screen Sharing, and Gesture Control

ShowKit Today we have another great tool for our developers, supplied by the awesome folks at ShowKit. ShowKit, an SDK for mobile devices that enables audio and video conferencing, screen sharing, and gesture control, can easily be added to your Parse-powered app for even greater functionality. Learn more about this new opportunity, and sign up for a Parse-exclusive webinar, below.

_________________________________________

How To Easily Add Audio / Video Conferencing, Screen Sharing & Remote Gesture Control To Your App

Mobile developers love Parse for reducing the time and effort associated with building a backend. ShowKit’s new mobile SDK featuring Parse integration provides that same ease of use for adding the following powerful in-app features: audio / video conferencing, screen sharing, and remote gesture control (which ShowKit is pioneering). View more about ShowKit here.

Let’s take a closer look at these features as seen in the ShowKit demo app.

Audio / Video Conferencing

Built to ensure a seamless integration with Parse, ShowKit users benefit from smooth video conferencing, with crystal-clear VGA and 720p resolutions at 30 frames per second using minimal CPU resources. ShowKit’s best in class audio / video conferencing feature is built on the only framework that includes hardware accelerated video encoding and decoding. The decoding component is fairly tricky and unique, and enables device to device communication, which is a more complex development than device to web communication. The minimal cpu usage allows the device to run other functions in parallel, such as a game or app. ShowKit’s competitors (which shall remain nameless) use full cpu and only get 4-5fps at that resolution, which isn’t feasible for video conferencing. ShowKit reports that this feature is so easy to integrate that they watched a team of junior mobile developers at the recent ShowKit sponsored AngelHack Los Angeles add a working implementation into their hack in about 30 minutes.

Screen Share & Remote Gesture Control

The ShowKit SDK also provides users with shared gestures on UIKit controls, gesture indication graphics, and gaming-compatible screen sharing. ShowKit envisions several possible use cases for this feature set that might include (but not limited to) the facilitation of sales, customer support, or social gaming. Teja Vishwanadha won ShowKit’s prize for best implementation at AngelHack Los Angeles by creating MemoryPlay, a casual memory game with rich real time interaction between players.

Parse Integration And Exclusives

ShowKit’s technology was clearly built to facilitate a seamless integration with Parse, evident by the fact that Parse’s SDK is heavily featured in the ShowKit’s docs and samples.

ShowKit, which recently launched a private beta, is offering an exclusive promotion code for Parse users who would like to implement the technology. Interested mobile developers can request an invite from ShowKit’s site using the code “SKParse” to gain immediate access to the SDK.

For additional information and a more in-depth explanation of this technology, developers can register for a webinar with ShowKit Co-Founder and CTO Matt Van Veenendaal. The webinar is exclusively for Parse users and will take place on Wednesday, May 29th, 2013 from 11:05 am – 12:05 pm PT.

 

Courtney Witmer
May 22, 2013

Sipp: A Social Network for Wine Lovers

Sipp app on iPhoneWith the proliferation of mobile technology has come new and more varied ways to both share and learn new information. As a way to avoid information overload, we’re starting to see new social networks evolving that are built around specific areas of interest or themes, allowing users to share their passions with like-minded individuals.

Sipp, one of the newest Parse-powered apps to hit the Apple iTunes Store, is aimed at giving wine lovers a place to share their latest discoveries as well as find new varieties to love. We spoke with developer Jonathan Sleeuw and designer Eric Hoffman to learn more about their creation.

What’s Sipp all about?

Sipp is a social network for wine lovers. By uploading a photo, and specifying a few details on the wine, you can easily share what you’re drinking with friends. The app is also very much about helping you discover new wines, too. The Feed shows you what your friends are drinking, and allows you to share comments and opinions about given wines.

Sounds delicious! What inspired the app?

The idea came from Eric, who wanted to satisfy two itches, a) deliver a great product ourselves, and b) fill a void in this space – nobody had created a wine app that users enjoyed enough to use regularly.

What led you to use Parse in the development of Sipp?

I first came across Parse in a Hacker News post. I can’t quite recall which one, but it was pretty early on. From there the service remained very visible to me, with posts on Parse appearing regularly catching my eye. I was, and remain, impressed by the speed at which things have evolved.

As a developer, what do you feel have been the key benefits of building on Parse?

Parse allows me to be very effective with my time. Obviously, the less time spent working on code that’s not directly related to implementing a feature, the better. But what I’ve found is that there’s been a significant shift in momentum – we’re getting things done the way we want them faster, which affords us more time to sweat the details on features we want to implement.

Which Parse features are used in the app, and how are they implemented?

I’d say we’re pretty heavy users. All Push Notifications are sent with Parse Push (via Cloud Code afterSave callbacks) and all data is maintained using Parse Data, including files, wine labels, for example, are stored as PFFiles. We use Parse Social for Facebook sign up/linking Facebook accounts to PFUsers. We just finished implementing sign up with email.

I mentioned Cloud Code above, but I’ll also mention that we call Cloud Code functions via the REST API from a scheduled http://iron.io worker. The function is responsible for reordering the popularity rankings that appear in our ‘Top Tastes’. We used the Javascript API to create an internal ‘SippAdmin’ web app and we use PFQueryTableViewControllers quite liberally in the app. The Feed is a PFQueryTableViewController subclass, and the wine label images are implemented as PFImageViews. I’m particularly happy with how that came together.

Do you feel that using Parse decreased development time?

It most certainly has decreased the amount of time it takes to get things done. Depending on the feature of course, I don’t think it would be unreasonable to say that time to implement could be cut in half. Just the fact that I don’t need to put on my Ruby on Rails hat to work on the backend stuff allows me to stay focused and maintain momentum on the iOS side.

How many overall downloads have you seen?

After only 10 days we approached the 1000 mark.

Do you have any plans to use Parse in the future?

Toppit is another large Parse project that Eric and I have both worked on. I continue to do development consulting for them. Here are some comps of a new project that, if we get the go-ahead, will be built with Parse.

What’s your favorite thing about developing with Parse?

I love what it enables us to do with our ideas. The more we can delegate to Parse, the more we can focus on what’s important to our app.

You can download Sipp in the Apple iTunes Store here.

Courtney Witmer
May 21, 2013

Archives

Categories

RSS Feed Follow us Like us