Appcelerator Developer Blog

Featured Developer – John Anderson

John AndersonIn today’s “Featured Developer” post we’ll be talking with John Anderson, Titanium developer and author of the new Titanium book “Appcelerator Titanium: Up and Running.” Hear more about what motivates John to get involved in mobile development and his experience using Titanium. You can learn more about John’s new book in his upcoming O’Reilly webcast this May.

Interview with John Anderson

Tell us a little about yourself

I’ve been working in IT my entire professional career. I love developing code and discovering new ways to make people’s lives easier through computing. When the iPhone came out and set a new bar for mobile computing, I decided that it was something that I needed to learn more about.

What motivated you to learn about mobile development?

Soon after the App Store opened, I started to hear stories about people who were making big money from their apps. I decided it was time to see what was going on there. My main motivation was to get an app into the App Store and see what would happen.

How did you find out about Titanium?

I wanted to take the ‘path of least resistance’ to get an App into the App Store and started using PhoneGap (now Cordova). It was nice, but I soon started bumping up against the limitations of having to roll my UI components in HTML5. I started writing my own Objective-C routines to expose native controls, and then found Titanium. It was based on the same thing I was doing, so I understood the value immediately. It was like the code I was writing to expose native controls, but taken a quantum leap ahead of anything I could have done on my own.

What do you like about Titanium?

The first thing that is easy to notice about Titanium is that you can write your code in JavaScript and have it produce a native app using native controls across multiple platforms. That makes a huge difference in terms of having a native looking UI and a more responsive app. Since the app uses the conventional UI components per platform, it will immediately be familiar to the person using it. This helps make apps more approachable and easier to use since they are using familiar components.

It also makes for a better performing app. By using the actual UI components from the OS on a particular platform, they are going to run faster and more smoothly than anything you could make to run in a WebView. I’ve seen this first hand on Android devices. An HTML5 that might run sluggishly in a WebView can run much more smoothly using Titanium and native UI controls. When native controls are used, the user will also get the version of those UI controls based on the OS they are using. This is another plus for going the native route.

What limitations do you see Titanium putting on your mobile projects?

Of course all this good stuff doesn’t come at some kind of trade-off. Titanium makes it easy to quickly create a mobile app using native components that are exposed via the Titanium API. If there is a certain UI component or feature of the OS you’re running on that you’d like to use, but isn’t exposed, you have to make a decision. You can either do without that feature and design around it, or try to write your own module to exposure that feature yourself. Titanium has exposed a huge amount of functionality on both iOS and Android, but of course it isn’t everything. I’ve written modules for iOS and it’s a fairly easy way to access functionality that might not be in the core API.

Tell me more about why you like Titanium Modules.

Titanium Modules are a great way to add functionality that might be missing in the Titanium SDK. It has existed in Titanium for a long time, and is a solid way to extend the SDK with custom functionality. If you want to write your own module, you have to develop it for the platforms that you want to use.

If you don’t want to write your own modules, the Appcelerator Marketplace is a great source of custom developed modules from a wide variety of sources. This makes it easy to get functionality that you need, such as access to Dropbox or Barcode Scanning, etc., without having to dive into the guts of Titanium.

What are you looking forward to in Titanium?

Windows 8 Phone is probably the one thing that has me most interested in the future of Titanium right now. Android and iOS obviously have the lion’s share of mobile market right now. The one thing that could upset this balance is a tool like Titanium that could make it much easier to produce apps for Window 8 Phone. I’ll be excited to get my hands on the SDK when it comes out.


Titanium SDK/Studio 3.1.0 Release Candidate Now Available

Thank you for your quick feedback on our last beta. We’re pleased to announce our release candidate version of Titanium. As noted before, this release focuses on performance with a new ListView component and an average 20% across-the-board performance gain on iOS and an average across-the-board 36% performance gain on Android.

We need your final feedback ASAP. Please file all issues by Friday, 4/12. Please watch your bug reports in case we need more information to reproduce.

For full information, please see the release notes.

Note: This is a pre-release, and as such may contain regressions or other issues. Please do not use it in production, and keep backups of all important projects and data. We will follow up with our general availability release in the coming weeks. If you find an issue, please report it in JIRA with a reproducible test case.

How to Update

These are links to continuous integration builds. To install them, choose “Help Menu > Install Specific Titanium SDK…” from inside Titanium Studio.

To update Studio, please visit http://preview.appcelerator.com and follow the instructions to update to the RC stream, or to download a new install.

NPM Packages

Note: You may need to use ‘sudo’ before these terminal commands on OSX and Linux
npm install -g alloy@1.1.0-cr
npm install -g titanium-code-processor@1.0.0-cr
npm install -g titanium@3.1.0-cr
To revert back to stable versions:
npm remove -g titanium
npm install -g titanium
npm remove -g alloy
npm install -g alloy
npm remove -g titanium-code-processor
npm install -g titanium-code-processor

New Features in Titanium 3.1.0

The docs are all available at: http://docs.appcelerator.com/titanium/latest/

ListView

This release introduces ListView, a new Titanium proxy to replace the existing TableView. Both list view and table view present data to user as a vertically scrolling list of rows. However, list view uses a data-oriented approach versus table view’s view-oriented approach.

Alloy Updates

New collection binding functionality has been added. You can now also get Alloy content assist and debug Alloy applications inside Titanium Studio.

EventKit UI Framework

The iOS EventKit framework, allowing access to calendar events and reminders, is now available inside Titanium.

iOS6 Core Location AutoPause API

The iOS AutoPause API pauses the location updates when an application goes into the background. We’ve implemented access to this new API in Titanium.

iOS Retina simulator support

The iOS simulator now allows you to choose to launch in Retina mode on demand, rather than needing to switch the simulator manually.

A Slimmer Titanium Studio

We’ve been working on making Titanium Studio as lean as possible. One step we’ve taken is to break the server-side language plugins (PHP, Ruby and Python) into separate optional installs. If you need them, just follow the links at http://preview.appcelerator.com to add them back in.

New Platforms

BlackBerry

Our BlackBerry support will go into beta at the same time as 3.1.0 ships. Studio now supports creating projects as well as running them on simulator and device.

Tizen

Our newest platform, Tizen, is now a full member of the Titanium family. Use Tizen from inside Studio 3.1.0. Create projects and run on emulator and device.

New Modules

Facebook V3 (Android and iOS)

Our Facebook module is now updated to be compatible with the latest V3 version of the Facebook API. Download the updated beta module here: Android and iOS.

Google Maps V2 (Android)

As mentioned previously, we’ve updated our Android maps module to support Google Maps V2. Download the latest beta here.

Newsstand (iOS)

Publish a magazine or periodical! We’ve developed a new module for interfacing with Apple’s Newsstand service. Download the beta module here.

NFC (Android)

You can now read NFC (Near-Field Communication) tags from inside Titanium applications. Download the beta module here.


Featured Developer – Roman and Cristian Castillo

Castillo BrothersIn today’s “Featured Developer” post we’ll be talking with brothers Roman and Cristian Castillo, the brains behind the poplar ‘instaDM‘ app and the their latest creation called ‘Like it!‘. Learn more about their inspiring story and how they developed a Titanium app between the two of them that went viral and got over 2M downloads. They also discuss their lastest app and their thoughts on Titanium below.

Interview with Roman and Cristian Castillo

Tell us a little about yourself

My brother and I have been working with online platforms for over 10 years. Web was our first experience as software developers, but over the years we’ve had to make the transition to mobile web and now to the app ecosystem.

Last year we developed our first iOS app, ‘instaDM‘ which allowed Instagramers to send private messages to each other. This application got over 2M downloads and, more importantly, allowed us to drop all the client work to devote our full attention to app development. It’s safe to say that we’re indie app developers now, coming from agency work in the past, and some failed startups in between.

With ‘instaDM’, we basically had a web app before the iOS app. It was alive for a year before we revamped the 4 day hack that originally was launched. When we did a remake, the icon turned out to be cool enough for people to post it on Instagram — then it just went viral! You can see the history here and here.

We started based in Mexico City, but right now Roman is based in Monterrey, while I spend time living here and there: Mexico City, Seattle, Sausalito and soon San Francisco. Most of our spare time is spent with family (in Roman’s case) or girlfriend (in my case). Being independent app developers allow us to tightly integrate work and fun.

So tell us a little bit about your latest app ‘Like it!’

Like It Like it! exists because browsing Instagram on the iPad is a complete nightmare, therefore we’ve set to create a beautiful tablet experience.

With this in mind, we decided that just making an Instagram client would have been stupid because that is Instagram’s job. Instead, we decided to focus on the content, allowing photos to live beyond the timeline.

‘Like it!’ allows you to discover, track and collect the best content on Instagram. You can follow streams of related photos or create your own Instagram album. This is important because great photos are timeless and should be freed from the chronologic feed.

What is a unique feature of your app?

‘Like it!’ is the best way to experience Instagram on the iPad. The challenge is to create a product that will stand the test of time, and that will allow us to keep adding to it, as opposed to a one shot type of app.

Like It screenshot

Why did you choose Titanium for your mobile development?

We did our first app, ‘instaDM,’ with Titanium because we didn’t have any previous iOS experience. After millions of downloads and seeing the framework improve every month, we realised that we didn’t need to go further, at least on the first iterations of our apps. As web developers, Appcelerator has been key for us to get into the app world.

The documentation is amazing — both the tutorial and API. That’s really important while dealing with something you’ve never heard of before and probably the reason we never got to develop with Objective-C

What were some of the highlights of Titanium development for you?

I love the new Alloy framework as it makes it very easy to keep the code in check. The first time I used Appcelerator, the whole app was just one .js file. Then, as I started to understand the framework, I started separating files and even created my own framework to switch views and optimise memory usage. When Alloy launched, I went to a lot of trouble to understand how memory works and how Appcelerator makes use of resources. I realised that the implementation was both optimised and easy to use. Using alloy allowed me to keep adding more and more blocks to the application without worrying too much about performance. This is pretty sweet.

How long did it take to design, implement, and test?

A bit over three months.

What resources did you use to learn and develop with Titanium?

For our first app we went trough the tutorial. We went from nada to App Store in 21 days. It was simply awesome. With this code, we got over 500,000 downloads on our first month.

Do you have plans for updates to ‘Like it!’ or future Titanium apps? Care to share some details?

Yes, but we need to keep them up our sleeve =)

What advice do you have for companies that want to delight their users with mobile?

Build something that you find useful, and delights YOU. If it doesn’t, then keep improving. Don’t settle for less because your customers won’t!

What is it about the mobile development community that makes them powerful agents for change?

I think it’s about the distribution and presence. The fact that you can code something that in over a day could be in the hand of millions of people and stay with them everywhere they go.

Big thanks to Roman and Cristian Castillo for taking the time to give us some insight into their experience and success with Titanium app development. And best of luck with ‘Like it!’.

Do you think that you and your Titanium app should be highlighted on the Appcelerator Developer Blog? Send us an email at community@appcelerator.com and we’ll see if you have what it takes to join the ranks of our other featured developers. We hope to hear from you soon!

Cristian and Roman’s Links


Quick Tip: Increase the storage size of your Android Emulator

Are you tired of getting this error?

This happens when you’re testing your App on your Android Emulator. After a couple runs, the virtual device runs out of space, and you have to start deleting apps…pretty annoying.

Well, it’s easy to fix. It’s just a matter or increasing the storage size of your virtual device. First off, you need to know the name of the virtual device you are using. Assuming you’re running on OSX, Go to your terminal and type:

$ [[path-to-android-sdk]]/tools/android avd

This will show you a window with all the AVDs (Android Virtual Devices) you have configured. Find the one you’re using and write down its name.

Next, go back to your terminal and type

$ open -a TextEdit ~/.android/avd/[[name of your avd]].avd/config.ini

This opens TextEdit with the AVD’s configuration file. Now look for and change or add this line

data.dataPartition.size=512m

And that’s it. You’re set!


Appcelerator Platform Pricing Updates

I am personally committed to openness and transparency regarding our pricing and licensing. When I announced the new Appcelerator Platform last week, I mentioned that I was going to follow-up to provide you with details about the changes that we are making to our Plans & Pricing. As I’ve said before, we care deeply about providing you with outstanding value and high quality products at competitive prices. This has been our commitment from the day Nolan and I started this company. One of our core company values is to “Enable Customer Success,” and we are honored each and every day to empower you to deliver transformative mobile experiences to the world.

For our free “Explore” package, we significantly boosted the monthly allotments of Cloud Services and Analytics recently in order to give the majority of our developers a free “all-you-can-eat” offering for their mobile apps. We created this strategy to better serve the needs of our community, and the feedback we received was extremely positive. Recently, we also posted answers to some of the more common billing and usage questions.

With regards to the Appcelerator Platform, we’re focused on the specific needs of mobile enterprises. As you are well aware, mobile is exploding and disrupting everything. We have seen increasing demands from Mobile First enterprises for specific requirements across the entire mobile application lifecycle as they scale from 10s to 100s of apps (and beyond). The Appcelerator Platform provides a commercial solution for the entire mobile lifecycle, with commercial support, SLAs and technical training. This offering includes Appcelerator Studio, Appcelerator Alloy, Appcelerator Cloud, Appcelerator Test, Appcelerator Analytics, and Appcelerator Performance Management – all under a single, newly branded SaaS offering called the Appcelerator Platform. This solution serves the specific needs of enterprises that require a comprehensive platform for the entire mobile lifecycle – from ideation and design-driven development, to continuous delivery, to experience-driven analytics. We’ll also offer enterprise-class flexibility in the delivery of the solution both as a public cloud and virtual private cloud along with varying levels of guaranteed availability (SLAs).

The Appcelerator Platform is powered by Titanium. In other words, we can’t have the Appcelerator Platform without a strong, successful Titanium product and community behind it. We will continue to invest in it, and there will always be a free / open source version of Titanium. This truth is very important to me, so I would appreciate it if you would take the time to read my blog post from last week where I wrote in detail about our commitment to open source.

Appcelerator Platform Pricing

The pricing model we are using with the Appcelerator Platform is designed to be simple, scalable, and value-driven.

  • We’ve created a new pricing model that includes unlimited mobile applications. In short, our new pricing model is no longer licensed by number of applications.
    • Platform customers can build, deploy and manage as many apps as they like, whether they are transient or long-term; B2B, B2C or B2E apps.
    • The primary attributes are the number of platform users and the number of unique test devices.
      • A user is any named user with a username and password who accesses the platform – including designers, developers, testers, release managers, project managers, DevOps personnel, managers, executives and Line of Business owners.
      • The test device license typically represents the different kinds of mobile devices and OSs being tested.
      • Note that end users of the deployed mobile apps are NOT considered users in this case.
      • The starting price for the platform is $999 per named user/month, and includes:
        • The base foundation of the platform,
        • Up to 10 million push notifications and API calls per month,
        • 100GB of storage per month,
        • 5 test devices, as well as
        • Annual subscription with a minimum of 5 users.
        • The price of the platform scales linearly from there at $250/user/month for each additional user or test device.

What Happens to the Standard, Enhanced and Premium Packages?

With this new platform and pricing model, we’re now also retiring the three packages known as “Standard”, “Enhanced” and “Premium” all of which were licensed by application. If you are one of the commercial customers already on one of these packages, we’ll continue to honor your existing subscription until the end of your term. At that point, our corporate sales team will work with you on an upgrade path to the Appcelerator platform.

To be clear, the free “Explore” package with the above-mentioned usage-level increases and existing licensing terms will remain unchanged to allow the continued use and adoption by our developers who are the engine that fuel the mobile revolution.

As mentioned in the ACS billing and usage questions, we’ll also provide an upgrade path to the Appcelerator Platform should you outgrow the Explore package.

Thank You!

2013 promises to be another landmark year for all of us – our developers, customers, partners and Appcelerator. We’re excited about the opportunity ahead, and are looking forward to doing some really big things together! Thank you again and let us know your feedback in the comments below. For pricing questions, please contact us here.

Page 5 of 92« First...34567...102030...Last »