The following App spotlight is from seasoned Titan Fokke Zandbergen. Fokke is also the brains behind tidev.io, gitT.io, TiCons, among many other contributions. In this post he provides more detail about him, his work on the Mr. Movie app and the app’s recent integration with Passbook to sell movie tickets.
What’s your background as a developer, particularly mobile development?
I got online in ’96 and the ability to create stuff with practically no resources except my own time has fascinated me ever since. I had a company with friends, worked as a freelancer, found myself a boss and finally switched back to freelance again last year. This last switch was more then just going freelance again. I also said goodbye to websites in order to focus fully on apps. I started doing apps in Sencha and PhoneGap early 2011, but soon switched to Appcelerator. I was educated in subjects like usability and user experience and I know a bad one when I see it! What I maybe like most about my work is to learn by doing and sharing. And the Appcelerator community is awesome for doing that. As a Titan I love to help people get the most out of the platform, write blogs, develop tools like gitTio and start initiatives like TiDev
So tell us a little bit about your app MrMovie.
In the Netherlands we have lots of different groups of cinemas. Some groups have their own app, but no app listed all movies playing in all theaters. MrMovie does, for both Android and iOS. It allows you to check movie details, watch the trailer and see when it plays in theaters around you or for any given location. If you want to give it a try, just search for “Amsterdam” and be amazed! Recently we added reservation and purchase of tickets, which of course can be downloaded via PassBook as well. At the moment they’re working hard to get more and more theaters signed up for selling their tickets via MrMovie. With the app being free, the small fee for purchasing tickets is the main business model for the app.
Why did you pick Appcelerator for your app development?
MrMovie actually was my first Appcelerator app after doing 3 in Sencha and PhoneGap. I hated the bad UX. I already gave Appcelerator a try in 2010, but the poor state of the documentation at that time was probably the only reason I tried other solutions first. For me this really shows how important good documentation is. I heard someone saying a tech company should spent as much on documentation as it does on PR. I’ve never regretted switching to Appcelerator.
What were some of the highlights of Appcelerator development for you?
When I updated the app for iOS7 and ticketing a few months ago replacing the TableView by the faster ListView and some small adjustments to account for the status bar now being overlaid was really all I needed to update. That really demonstrates how Appcelerator has matured and really is rock-solid framework to build very nice apps with.
Can you elaborate on any of the technical implementation? What was challenging or unique about your app?
The whole ticketing process takes place in a webview and actually is part of the new website that is being developed by another party. I think together we did a pretty good job making it a seamless experience. The two big challenges we needed to overcome were pushing the passbook ticket from the webview to the app and returning the user to the app after paying for the ticket either trough a banking website or app.
For the passbook ticket we simply use “evalJS” to pick up an data object from the remote page that contains the link to the passbook ticket, which we can then download and present to the user.
The payment process was more challenging as the payment provider requires us to sent the user to the web browser so the return page is loaded in the browser as well. On this page we detect the OS and then use the app’s URL scheme to sent the user back to the app. In order to prevent a new instance of the Android being opened as an activity inside the browser, we needed to set its launchMode to singleTop. This did mean the app practically re-launches so we can’t re-use the webview like we do on iOS. Instead, we pass some stuff using the query string of the URL scheme so we can restore the app pretty much how the user left it. I know it sounds like a complex process, but if you give it a try I think you’ll see for the user it is actually quite smooth.
How many people worked on it? How long did it take to design, implement, and test?
For this last update I did the app and my brother did the back-end. The initial app took about 5 months to complete. This update took just a few days of coding but a month from start to finish because of all the testing.
What resources did you use to learn and develop with Appcelerator?
Well, as I said this originally was my first Appcelerator app, so really I used the app itself to learn Appcelerator. I just used the docs, watched all the videos and looked at open source examples.
Do you have plans for updates to MrMovie or future Appcelerator apps? Care to share some details?
There are plans for a big update which should make searching and browsing movies easier. Everything is really focussed around your location now and while of course that makes sense for a mobile app, you might also just want to watch some nice trailers right?
Any additional thoughts or notes on Appcelerator development?
What makes a user experience or design beautiful?
Stripping stuff always helps. And I really hope that we need less time getting over the idea that your app is just a copy of your website then we needed to learn a website should not be a digital version of your folder. You really need to think over your product from scratch and ask yourself what really adds value for your users in the context of that mobile app. The best apps don’t try to do everything, but just do the stuff you need very well.
What is it about the mobile development community that makes them powerful agents for change?
Some people say that in a creative process you should limit yourselves to what is possible; that you need creative alpha-people, not beta-engineers. But the mobile world is moving so fast that a lot of ideas come from what engineers invent. It’s the very combination of engineering and imagining that you need to succeed. Don’t see tech as limiting, but try to imagine what more you could do with it. I love that combination: “imagineering.”
How is mobile changing the world?
It has changed us for both better and worse. It has hugely improved freedom of speech, but also enabled companies and governments to spy on us like never before. It allowed us to generate endless amounts of data, but also to filter and personalize. There are times when you are confronted with mainly downsides, but also times when we celebrate the many upsides. Mobile is powerful, and it’s up to us all what we will do with it.
What inspires you about the future of mobile?
The same stuff that scares us all – the growing amount of data that is collected about us – is also what excites me most. In some years from now we’ll have a continuous stream of data about ourselves, our lives and the contexts we live in. Different personal communication devices as well as smart devices all around us will use that data, together with other people’s big data and open data, to act on behalf and communicate with us when needed. That’s powerful stuff.
The other thing I think about a lot is what it will take to liberate data. Data needs to become a good we can trade-in, so that just like Facebook bought the data of all 435M WhatsApp users, I or a company like Telegram can also buyout just my data alone. We already pay with our data, but there’s little ways to trade in it. This takes standardization and some kind of data marketplace. This is complex, but we do need this to happen. When I now decide to just leave WhatsApp, the data they have of me is worthless anyway. It’s in both of our interest to liberate it.