A couple days ago I bought my first Mac. It is a 13" MBP, all aluminum and glass, light and airy and ridiculously sexy in its design. It is hands down the nicest laptop I've ever worked on. I get why folks love these things.
Now, I've been using Apple products in the form of iPhones for several years, so this isn't my first Apple device, and there's one thing that I'm finding very compelling on this MBP that I didn't think I would: the Mac App Store. Every time I've needed some miscellaneous app, I've fired up the App Store first. Why?
I've been indoctrinated by my iPhone to always look there for my apps, and that paradigm is moving with me as I delve into this entirely different segment of Apple's products. And, while I've heard many people disparage the Mac App Store, I'm willing to bet that it's going to be a lot more successful than folks are giving it credit for.
There are a lot of people that are coming to Apple computers as their second or third Apple device. Those initial devices will almost invariably be iOS devices, and on iOS you look to the App Store to find all the killer things you need. There's now a link between Apple and App Store in people's heads, and that link will hold true as people dive into Apple computers.
So beware, all you haters. As the late adopters show up to the party, this Mac App Store thing might just take off.
Tuesday, June 14, 2011
Wednesday, May 25, 2011
Music: Ownership vs. Access
I've recently signed up for two different music services, Google Music Beta and Rdio, but it was the Rdio account that really got me thinking about whether or not I needed to own my music. Up 'til recently, ownership was really the only way to go. With traditional ownership you can select the music you want to listen to, organize it into playlists and carry it with you on the go (on your smartphone or iPod).
Rdio, however, allows you to gain all of these benefits from traditional ownership. With Rdio, you can select the music you want to listen to as long as it is in Rdio's library, and Rdio has quite a hefty library. You can organize the music into play lists and if you're willing to pay for the premium account you can carry it with you on your smartphone or iPod (by either streaming or syncing). There's one big difference, though. If you stop paying for Rdio, you lose access to all of this music.
It's that exact thought, the fact that Rdio provides access, not ownership, that got me thinking: Is ownership really as important today as it was in the past?
Parity
There has been movement on the traditional ownership front as well that has brought the two (ownership and access) back to feature parity: cloud storage (aka: bit lockers). Both Amazon and Google have recently launched services that allow you to store your owned copies of music in the cloud and stream them to your devices or computer via http. The size limits are such that you can feasibly store quite a bit of music (in the 100 GB range) in the lockers. You can then access web pages or apps which will stream this music back to you. It's worth noting that this scheme has yet to be tested in court, and almost certainly will be, though both Amazon and Google maintain that since they are only streaming music the user owns, there's nothing that requires additional licensing.
Cost
While Google Music is in beta and is free for the time being, Amazon charges for the storage space, $1/GB per year. For 100GB of music, you're looking at $100/year for the service, which equates to $8.33/month. It's interesting to note, though, that Rdio charges about the same for premium access at $9.99/month. If all you want is streaming on your computer and not mobile access, then you can get the service for $4.99/month. Google Music allows you to store by the song, not the GB, and will allow you to store 20,000 songs. In practice that will equate to about 100 GB of music.
It would appear that the services are similarly priced, until you take into account the fact that you will also need to buy (as none of my dear readers would dare torrent an album, I'm sure) your own music on Amazon or Google. Depending on how much music you buy, this can incur a significant cost. As long as that music is in Rdio's library, you can just add it to your collection and listen as much as you want without incurring any additional fees.
Music Library
But, the library is the rub. As I discovered when talking about this with a friend, Rdio's library doesn't contain much of anything that you can't get from the major labels. We went through a list of bands that had only released on CD, were brand spankin' new, or were only together for a special project. None of them were in Rdio's library, though several were at least taken note of and had pages in Rdio. With Google and Amazon, all you need to do is rip those CDs and upload them and you're good to go.
Uploading
Uploading, though, can be a pain. As I write this, Google Music Manager has been eating my bandwidth for at least 24 hours to upload 2000 of 3600 songs. Amazon Cloud Drive is in much the same boat. That initial upload is a real killer. I anticipate at least another 20 hours of uploads. If I lived in Canada, that would most certainly rail my bandwidth for the month.
Conclusion
So where does that leave us? There are, of course, reasons to go with something like Cloud Drive or Google Music. You ostensibly own the music and if you decide you don't want to pay the storage fee you can keep listening past that monthly/yearly payment off of whatever it is you store that music on. As well, you can upload whatever you would like: None of the edge cases are denied you as long as you have the music in hand, so the only library limits are based on what you actually own.
But, the question of ownership vs. access comes down to one of cost of exploration in my book. With services like Rdio, I can explore and find new music to my hearts content. I pay one monthly fee for the privilege. I can pay the premium price and take that music with me on my devices, as well, without having to constantly stream. To explore said music with a service like Google Music or Amazon Cloud Drive, I would have to pay the cost of the storage plus the cost of the exploration in buying new music. In my case, that cost of exploration could get quite high. Rdio helps me keep that cost down.
In my eyes, access wins. I'll pay a marginal monthly fee to keep access to such a vast library happily, one that I can explore to my hearts content.
Edit: Changed some font colors
Rdio, however, allows you to gain all of these benefits from traditional ownership. With Rdio, you can select the music you want to listen to as long as it is in Rdio's library, and Rdio has quite a hefty library. You can organize the music into play lists and if you're willing to pay for the premium account you can carry it with you on your smartphone or iPod (by either streaming or syncing). There's one big difference, though. If you stop paying for Rdio, you lose access to all of this music.
It's that exact thought, the fact that Rdio provides access, not ownership, that got me thinking: Is ownership really as important today as it was in the past?
Parity
There has been movement on the traditional ownership front as well that has brought the two (ownership and access) back to feature parity: cloud storage (aka: bit lockers). Both Amazon and Google have recently launched services that allow you to store your owned copies of music in the cloud and stream them to your devices or computer via http. The size limits are such that you can feasibly store quite a bit of music (in the 100 GB range) in the lockers. You can then access web pages or apps which will stream this music back to you. It's worth noting that this scheme has yet to be tested in court, and almost certainly will be, though both Amazon and Google maintain that since they are only streaming music the user owns, there's nothing that requires additional licensing.
Cost
While Google Music is in beta and is free for the time being, Amazon charges for the storage space, $1/GB per year. For 100GB of music, you're looking at $100/year for the service, which equates to $8.33/month. It's interesting to note, though, that Rdio charges about the same for premium access at $9.99/month. If all you want is streaming on your computer and not mobile access, then you can get the service for $4.99/month. Google Music allows you to store by the song, not the GB, and will allow you to store 20,000 songs. In practice that will equate to about 100 GB of music.
It would appear that the services are similarly priced, until you take into account the fact that you will also need to buy (as none of my dear readers would dare torrent an album, I'm sure) your own music on Amazon or Google. Depending on how much music you buy, this can incur a significant cost. As long as that music is in Rdio's library, you can just add it to your collection and listen as much as you want without incurring any additional fees.
Music Library
But, the library is the rub. As I discovered when talking about this with a friend, Rdio's library doesn't contain much of anything that you can't get from the major labels. We went through a list of bands that had only released on CD, were brand spankin' new, or were only together for a special project. None of them were in Rdio's library, though several were at least taken note of and had pages in Rdio. With Google and Amazon, all you need to do is rip those CDs and upload them and you're good to go.
Uploading
Uploading, though, can be a pain. As I write this, Google Music Manager has been eating my bandwidth for at least 24 hours to upload 2000 of 3600 songs. Amazon Cloud Drive is in much the same boat. That initial upload is a real killer. I anticipate at least another 20 hours of uploads. If I lived in Canada, that would most certainly rail my bandwidth for the month.
Conclusion
So where does that leave us? There are, of course, reasons to go with something like Cloud Drive or Google Music. You ostensibly own the music and if you decide you don't want to pay the storage fee you can keep listening past that monthly/yearly payment off of whatever it is you store that music on. As well, you can upload whatever you would like: None of the edge cases are denied you as long as you have the music in hand, so the only library limits are based on what you actually own.
But, the question of ownership vs. access comes down to one of cost of exploration in my book. With services like Rdio, I can explore and find new music to my hearts content. I pay one monthly fee for the privilege. I can pay the premium price and take that music with me on my devices, as well, without having to constantly stream. To explore said music with a service like Google Music or Amazon Cloud Drive, I would have to pay the cost of the storage plus the cost of the exploration in buying new music. In my case, that cost of exploration could get quite high. Rdio helps me keep that cost down.
In my eyes, access wins. I'll pay a marginal monthly fee to keep access to such a vast library happily, one that I can explore to my hearts content.
Edit: Changed some font colors
Thursday, May 5, 2011
moo.com Card Unboxing
I received a box of 50 business cards in the mail today from http://moo.com. I was so impressed with the packaging that I decided to do an unboxing video. The cards look great, as you can see in the video, and the packaging is impressive.
Couple quick insights into ordering cards from moo:
- Each card can have a different image
- If you're ordering from a connected service like http://about.me, then moo will include a QR code that points back to your entry on that site (for instance, my QR codes point back to http://about.me/michaelrollins)
- The card creation wizard is really easy to use
- My cards were a special free offer (only had to pay for shipping). They have a black advert at the bottom for moo.com. That will not be present on fully paid cards, but it's not distracting at all.
I'm impressed enough that I'm going to order more.
Thursday, March 10, 2011
Nokia BH-905i Blog Review
As Breaking Benjamin's "Fade Away" came roaring out of the BH-905i's for the first time, I realized that I was in possession of a very slick set of headphones. Listening to the clockwork strains of "Fade Away", I was pleased with how full the sound was, and how awesome the lows sounded. Turns out that Breaking Benjamin is an ideal band to listen to on the BH-905i's, but more on that later. First off, let's get into the what the BH-905i's are, and what they come with.
The BH in BH-905i stands for bluetooth headset, but as you can probably ascertain from this picture here, they come chock-full with wiring capabilities. The "i" indicates that they are specifically engineered to work with an iOS device. They have active noise cancellation, as well, and it does a good job of blocking out any persistent background sounds.
The BH-905i's come with a very nice foam padded leather case that zips up. Inside is a place to nest your headphones, along with a smaller bag to hold all of the various cables and plugs that come with the headphones. On the back is a small pouch for carrying any additional gear you may not be able to stow inside. All in all, it's a handy way to transport your headphones, keeping them safe and secure the whole time.
Inside, you'll find a cable for iPhone connectivity, a cable for "Nokia AV" 3-prong connectivity and a cable for slotting into a regular headphone jack. You'll also find multiple tips for 6.35mm, 3.5mm and 2.5mm. As well, there is an airline jack. There is also a splitter which splits the 3-prong "Nokia AV" cable into it's component headphone and mic jacks, allowing one to plug the BH-905i's into a computer. No one has actually sighted the kitchen sink, but rumor has that it may be present as well.
Bluetooth Performance
I tested the bluetooth functionality with my iPhone 4 running a jailbroken version of iOS 4.2.1. Sound over bluetooth was surprisingly good. The performance of the headphones left me feeling more like I was listening plugged in than over bluetooth. As a means of comparison, over bluetooth the BH-905i's sound much better than the cheap earbuds that Apple ships with all of their iDevices.
There are a set of buttons on the right earphone which control playback, allowing you to play/pause the music, skip forward and back, and turn your volume up and down. All of these worked just fine and were easy to get accustomed to without having to see the headphone. All of the controls are on the right-hand side, which makes sense if you're a righty, but I don't believe lefties will have any major problems manipulating the controls.
Over bluetooth calls, the BH-905i's do a respectable job of transmitting the sound from the person on the other end of the line. However, I found that I would have rather taken the call directly on my iPhone than on the headphones. Two things contributed to this. First, peoples voices tend to sound thin over the headphones. Second, since the headphones cover both of my ears entirely, I found that I was having a hard time hearing myself when I talked. I ended up thinking I needed to talk louder than necessary. It would be nice if some of my side of the audio was piped back into the headphones so that I could feel like I only needed to talk at a normal volume.
On the other end, the callers that I spoke with all said that I sounded great. They didn't have a hard time hearing me at all. The sound was so clear, in fact, that when I started whistling on one call, the person I was speaking with asked me to stop, as they said it was too loud. When I talked at a normal volume, though, everyone said I was coming in loud and clear.
Wired Performance
Bluetooth performance was good, but wired performance is much better (as it should be). When you plug these headphones in, you are really in for a treat... Depending on the type of music you're listening to. This is where I started to notice that the audio performance was not the same across the board.
Let's start with the (slightly) negative: mids are a bit muddy, and highs aren't quite as crisp as I would have liked them to be. In practice, though, this can be overcome with a little judicious use of a graphic equalizer. By bumping up the mids a tad and the highs a bit more, I found that I could correct for this performance issue. It's also only a problem that shows up in certain types of music.
For instance, as I mentioned above, Breaking Benjamin sounded outstanding on the BH-905i's. Nickel Creek and the Civil Wars, though, needed some adjustment. But as the latter two bands are folk and not dependent on rumbling bass and rely instead on mids and highs to convey their sound, you start to notice the sound difference. Bumping up the mids and highs took care of the problem and ultimately listening to these bands was a treat on the BH-905i's.
And that leads me to where the BH-905i's really shine: in the lows. Listening to any kind of music that relies on good lows (even low-mids) conveys a sound that is outstanding. Breaking Benjamin, Metallica, Red, all these bands sounded absolutely magical on these headphones. I found myself going to this music over and over while in possession of these beasts, hearing things in the music I had never heard before. It was truly an ear-opening experience, hearing nuances of the music I had never heard before.
Conclusion
In the end, I have to say that I'm going to be sad to part with these headphones. I have thoroughly enjoyed listening to music on them. I have heard things in the music that I've never heard before. The bluetooth connectivity is nice, but ultimately you'll probably want to be listening to these plugged in as it's the preferred way to get the best sound. Just keep in mind, though, that these are premium headphones. While the sound is outstanding, for a retail of $299 I think I would want to get more.
With that said, you can have these on Amazon for $179 new. At that price point, I feel like these may be worth it. The extra utility that is represented by doubling as a very decent communications headset is nice, doing more than just allowing you to listen to music.
Edit: Added tags
Edit 5/25/11: Added some missing words to a sentence
The BH in BH-905i stands for bluetooth headset, but as you can probably ascertain from this picture here, they come chock-full with wiring capabilities. The "i" indicates that they are specifically engineered to work with an iOS device. They have active noise cancellation, as well, and it does a good job of blocking out any persistent background sounds.
The BH-905i's come with a very nice foam padded leather case that zips up. Inside is a place to nest your headphones, along with a smaller bag to hold all of the various cables and plugs that come with the headphones. On the back is a small pouch for carrying any additional gear you may not be able to stow inside. All in all, it's a handy way to transport your headphones, keeping them safe and secure the whole time.
Inside, you'll find a cable for iPhone connectivity, a cable for "Nokia AV" 3-prong connectivity and a cable for slotting into a regular headphone jack. You'll also find multiple tips for 6.35mm, 3.5mm and 2.5mm. As well, there is an airline jack. There is also a splitter which splits the 3-prong "Nokia AV" cable into it's component headphone and mic jacks, allowing one to plug the BH-905i's into a computer. No one has actually sighted the kitchen sink, but rumor has that it may be present as well.
Bluetooth Performance
I tested the bluetooth functionality with my iPhone 4 running a jailbroken version of iOS 4.2.1. Sound over bluetooth was surprisingly good. The performance of the headphones left me feeling more like I was listening plugged in than over bluetooth. As a means of comparison, over bluetooth the BH-905i's sound much better than the cheap earbuds that Apple ships with all of their iDevices.
Over bluetooth calls, the BH-905i's do a respectable job of transmitting the sound from the person on the other end of the line. However, I found that I would have rather taken the call directly on my iPhone than on the headphones. Two things contributed to this. First, peoples voices tend to sound thin over the headphones. Second, since the headphones cover both of my ears entirely, I found that I was having a hard time hearing myself when I talked. I ended up thinking I needed to talk louder than necessary. It would be nice if some of my side of the audio was piped back into the headphones so that I could feel like I only needed to talk at a normal volume.
On the other end, the callers that I spoke with all said that I sounded great. They didn't have a hard time hearing me at all. The sound was so clear, in fact, that when I started whistling on one call, the person I was speaking with asked me to stop, as they said it was too loud. When I talked at a normal volume, though, everyone said I was coming in loud and clear.
Wired Performance
Bluetooth performance was good, but wired performance is much better (as it should be). When you plug these headphones in, you are really in for a treat... Depending on the type of music you're listening to. This is where I started to notice that the audio performance was not the same across the board.
Let's start with the (slightly) negative: mids are a bit muddy, and highs aren't quite as crisp as I would have liked them to be. In practice, though, this can be overcome with a little judicious use of a graphic equalizer. By bumping up the mids a tad and the highs a bit more, I found that I could correct for this performance issue. It's also only a problem that shows up in certain types of music.
For instance, as I mentioned above, Breaking Benjamin sounded outstanding on the BH-905i's. Nickel Creek and the Civil Wars, though, needed some adjustment. But as the latter two bands are folk and not dependent on rumbling bass and rely instead on mids and highs to convey their sound, you start to notice the sound difference. Bumping up the mids and highs took care of the problem and ultimately listening to these bands was a treat on the BH-905i's.
And that leads me to where the BH-905i's really shine: in the lows. Listening to any kind of music that relies on good lows (even low-mids) conveys a sound that is outstanding. Breaking Benjamin, Metallica, Red, all these bands sounded absolutely magical on these headphones. I found myself going to this music over and over while in possession of these beasts, hearing things in the music I had never heard before. It was truly an ear-opening experience, hearing nuances of the music I had never heard before.
Conclusion
In the end, I have to say that I'm going to be sad to part with these headphones. I have thoroughly enjoyed listening to music on them. I have heard things in the music that I've never heard before. The bluetooth connectivity is nice, but ultimately you'll probably want to be listening to these plugged in as it's the preferred way to get the best sound. Just keep in mind, though, that these are premium headphones. While the sound is outstanding, for a retail of $299 I think I would want to get more.
With that said, you can have these on Amazon for $179 new. At that price point, I feel like these may be worth it. The extra utility that is represented by doubling as a very decent communications headset is nice, doing more than just allowing you to listen to music.
Edit: Added tags
Edit 5/25/11: Added some missing words to a sentence
Wednesday, March 2, 2011
Video Review: Nokia BH-905i Bluetooth Stereo Headset
I have recently had the privilege to review the Nokia BH-905i Bluetooth Stereo Headset through the WOMWorld project. It's quite a nice set of headphones, with lots of nifty features. Watch the review to hear more.
Monday, February 21, 2011
Final Admission of the Rock Star
Well, what a wacky and wild week so far. And it's only Monday (it is Monday, right?).
Long story short, Cole started running mild fevers on Thursday night. We took him in Friday, but the fevers cleared up. Per protocol, they drew cultures. Saturday morning at 6:30 AM we got the call that the cultures grew bacteria. And not only did they grow, they grew with zest! Back to the hospital (this time through the ER) where they drew more cultures (the second set) and admitted us up to good ol' 8B.
Keep in mind that Cole has been completely asymptomatic this whole time. He's the picture of 5 year old health. With that mentality, we waltzed up to 8B.
It was a bit like walking into Cheers, and Cole was Norm. Nurses and clins would look at Cole (without recognizing him), look at me, remember me, then realize who this big boy was that was standing next to me must be. Their jaws would drop open, they'd do a double take back to Cole, then yell "COLE!!!!!!!!!!!!!!!"
At one point, I had to leave the room for about 15 minutes. I came back to find Cole, sitting on the bed with two nurses, telling them all about his plans to be a marine biologist and study at UNCW. He's been like a rock star. The floor staff all remember him, and they all love him. It does a daddy's heart good to know there's a special place where his little boy is loved so dearly.
Here's the medical low-down. Cole's line has most likely been "colonized" by a common skin bacteria (Staph epi, for those that keep track of these things). Colonized means that the bacteria has likely been living there for some time, but it's not causing Cole any trouble. It's also likely the cause of the positive culture that grew back in January. It's not really dangerous, but it's still a potential source for infection and the best way to treat it is to take his line out.
Now, quite miraculously in my mind, this line has lasted us for two years of being accessed once to twice a week. That's hard use for a port-a-cath line, and by all rights we should have had an infection well before now. But, the line lasted almost exactly as long as it needed to. I'll let you attribute that to what you will, but I know where I'll attribute that kind of providence.
So, tomorrow, Cole's line will get pulled. He'll have two more days of IV antibiotics (through a regular old IV) and then, sometime Thursday, we get to go home.
And when we go home, Cole will be well and truly finished with his cancer treatment.
Long story short, Cole started running mild fevers on Thursday night. We took him in Friday, but the fevers cleared up. Per protocol, they drew cultures. Saturday morning at 6:30 AM we got the call that the cultures grew bacteria. And not only did they grow, they grew with zest! Back to the hospital (this time through the ER) where they drew more cultures (the second set) and admitted us up to good ol' 8B.
Keep in mind that Cole has been completely asymptomatic this whole time. He's the picture of 5 year old health. With that mentality, we waltzed up to 8B.
It was a bit like walking into Cheers, and Cole was Norm. Nurses and clins would look at Cole (without recognizing him), look at me, remember me, then realize who this big boy was that was standing next to me must be. Their jaws would drop open, they'd do a double take back to Cole, then yell "COLE!!!!!!!!!!!!!!!"
At one point, I had to leave the room for about 15 minutes. I came back to find Cole, sitting on the bed with two nurses, telling them all about his plans to be a marine biologist and study at UNCW. He's been like a rock star. The floor staff all remember him, and they all love him. It does a daddy's heart good to know there's a special place where his little boy is loved so dearly.
Here's the medical low-down. Cole's line has most likely been "colonized" by a common skin bacteria (Staph epi, for those that keep track of these things). Colonized means that the bacteria has likely been living there for some time, but it's not causing Cole any trouble. It's also likely the cause of the positive culture that grew back in January. It's not really dangerous, but it's still a potential source for infection and the best way to treat it is to take his line out.
Now, quite miraculously in my mind, this line has lasted us for two years of being accessed once to twice a week. That's hard use for a port-a-cath line, and by all rights we should have had an infection well before now. But, the line lasted almost exactly as long as it needed to. I'll let you attribute that to what you will, but I know where I'll attribute that kind of providence.
So, tomorrow, Cole's line will get pulled. He'll have two more days of IV antibiotics (through a regular old IV) and then, sometime Thursday, we get to go home.
And when we go home, Cole will be well and truly finished with his cancer treatment.
Wednesday, February 16, 2011
Learning Android: Appcelerator's Titanium vs. Native-built Apps
I have finally been able to take the time to do something I've been wanting to do for a long time: some mobile development. I decided to work on some Android apps first, as the barrier to entry is a little lower. As this was an exploratory mission, I thought I would give a few development options a try. Those development options were native Android development via Eclipse and Appcelerator's Titanium Platform.
By way of explanation, Appcelerator's Titanium Platform is a development environment that allows you to write HTML/CSS/JavaScript apps and have them compiled down to native code (Android or iOS). Titanium provides a rich framework of APIs from which to build your apps. For instance, the UI components in Titanium are analogous to the UI components in Android. The advantage to Titanium is that you can take one app and compile it down to any of the supported platforms, like Android or iOS. Since Titanium compiles down to native code, you're not running interpreted, though there are some specific wrappings that Titanium has to build in.
The app: Quotious
For my app, I had a few necessities. First, it had to be twitter-like, meaning that it was a bunch of short messages that can be displayed as a list. I also wanted the data to be served up from some external source and arrive packaged in JSON.
Based partly on these needs, and partly on an idea I got from a buddy, I decided to build an app that captured quotes. You could specify the author of the quote, the source of the quote and the quote itself. Nothing too fancy. I called it "Quotious".
In light of that, I first built out a small Jetty based server which I could run on my local. It was backed by a MongoDB database. The server simply served up the contents of the database in a RESTful manner (I really only implemented the GET). I seeded the database with a bunch of quotes from Darth Vader, as he is a worthy source of quotes all over the interwebs.
Then, I got to work building the apps.
Titanium Quotious
I decided to delve into Titanium first, as I was most excited about that. While I can do all the Java programming anyone could ask for, I absolutely love working with JavaScript. Titanium seemed like it would be a fun experience.
From start to finish, it took me about two days to turn out the Quotious app in Titanium. Titanium offers a great example app called "Kitchen Sink" that implements examples of an incredible number of their APIs. I relied heavily on an example twitter app that comes included with Kitchen Sink, adapting it for my needs.
The Titanium implementation of Quotious doesn't have a persistent store and pulls the data over a RESTful call every time you fire up the app. In that manner, it's not very robust, but the real story here is that it was almost trivial to implement. I was able to bring all of my traditional web app skills to bear and had I really been trying I could have turned it out faster.
Native Quotious
After I was done with the Titanium version of the app, I turned my hand to a natively built implementation done in Eclipse. I quickly went through all the tutorials and found myself in an interesting position: After Hello World, there wasn't a clear path to building up my understanding. So, I turned to The Goog and found this superb implementation of a twitter app that is put together as a tutorial by Marakana.
This app took me about twice as long to build, roughly 4 or 5 days. The reason, though, is significant. Titanium abstracts away much of the underlying Android structure. You are free to basically build your app as if it were a web app and not worry about the inner workings of Android. While those inner workings can only suffice to make your app stronger, they're not strictly necessary to simply build an app with Titanium.
As I worked through the Marakana example, I was enlightened about all of the various moving parts that truly make up an Android app. From the Manifest.xml to the views, from the actions to the intents, I had to actually learn what went into an Android app. This accounted for much of the increased time of development.
The native app that I developed is slightly more robust than the Titanium version. It is backed by a SQLite database. As updates are fed from the web source they are placed into the database. As those changes go in, the UI is updated and what you see on the left is what is created. In light of the database, my app will survive a loss of connectivity with grace, serving up what it has already seen and remembered in the past.
Conclusion
Let me not give the impression that Titanium is only about building web-app like Android apps. It's not. There is rich support for what makes a truly native app within Titanium. You can create and manipulate a database, you can work with actions and intents. You can do all of these things. (Update: See the first link below for some info on how to do all of these things)
But you don't have to. And therein lies what might be the most seductive thing about Titanium. You can build your app as if it is a web app, only it runs natively. You don't have to expand your skill set to understand all of the ins-and-outs of what makes up an Android app. All you have to do is take your current skill set for building JavaScript heavy web apps and port them over to your device of choice.
If developer time is your main constraint, then Titanium is likely the way to go. You can hit the ground running faster with Titanium. You don't really have to be an "app developer" to develop apps with Titanium. What's more, and something I only lightly touched on, with very little augmentation, you can port your app to an entirely different platform such as iOS. With very little, if any, changes, I can run the Titanium version of Quotious on an iOS device by simply compiling it down.
One word of caution, though: If you choose the Titanium route, don't eschew learning what really goes into an Android app. Knowing the actuals behind Android can only make you a stronger developer in the long run.
Edited: For formatting
Updated: Added pointer to first comment with additional information
By way of explanation, Appcelerator's Titanium Platform is a development environment that allows you to write HTML/CSS/JavaScript apps and have them compiled down to native code (Android or iOS). Titanium provides a rich framework of APIs from which to build your apps. For instance, the UI components in Titanium are analogous to the UI components in Android. The advantage to Titanium is that you can take one app and compile it down to any of the supported platforms, like Android or iOS. Since Titanium compiles down to native code, you're not running interpreted, though there are some specific wrappings that Titanium has to build in.
The app: Quotious
For my app, I had a few necessities. First, it had to be twitter-like, meaning that it was a bunch of short messages that can be displayed as a list. I also wanted the data to be served up from some external source and arrive packaged in JSON.
Based partly on these needs, and partly on an idea I got from a buddy, I decided to build an app that captured quotes. You could specify the author of the quote, the source of the quote and the quote itself. Nothing too fancy. I called it "Quotious". In light of that, I first built out a small Jetty based server which I could run on my local. It was backed by a MongoDB database. The server simply served up the contents of the database in a RESTful manner (I really only implemented the GET). I seeded the database with a bunch of quotes from Darth Vader, as he is a worthy source of quotes all over the interwebs.
Then, I got to work building the apps.
Titanium Quotious
![]() |
| Titanium Quotious |
From start to finish, it took me about two days to turn out the Quotious app in Titanium. Titanium offers a great example app called "Kitchen Sink" that implements examples of an incredible number of their APIs. I relied heavily on an example twitter app that comes included with Kitchen Sink, adapting it for my needs.
The Titanium implementation of Quotious doesn't have a persistent store and pulls the data over a RESTful call every time you fire up the app. In that manner, it's not very robust, but the real story here is that it was almost trivial to implement. I was able to bring all of my traditional web app skills to bear and had I really been trying I could have turned it out faster.
Native Quotious
After I was done with the Titanium version of the app, I turned my hand to a natively built implementation done in Eclipse. I quickly went through all the tutorials and found myself in an interesting position: After Hello World, there wasn't a clear path to building up my understanding. So, I turned to The Goog and found this superb implementation of a twitter app that is put together as a tutorial by Marakana.
![]() |
| Native Quotious |
As I worked through the Marakana example, I was enlightened about all of the various moving parts that truly make up an Android app. From the Manifest.xml to the views, from the actions to the intents, I had to actually learn what went into an Android app. This accounted for much of the increased time of development.
The native app that I developed is slightly more robust than the Titanium version. It is backed by a SQLite database. As updates are fed from the web source they are placed into the database. As those changes go in, the UI is updated and what you see on the left is what is created. In light of the database, my app will survive a loss of connectivity with grace, serving up what it has already seen and remembered in the past.
Conclusion
Let me not give the impression that Titanium is only about building web-app like Android apps. It's not. There is rich support for what makes a truly native app within Titanium. You can create and manipulate a database, you can work with actions and intents. You can do all of these things. (Update: See the first link below for some info on how to do all of these things)
But you don't have to. And therein lies what might be the most seductive thing about Titanium. You can build your app as if it is a web app, only it runs natively. You don't have to expand your skill set to understand all of the ins-and-outs of what makes up an Android app. All you have to do is take your current skill set for building JavaScript heavy web apps and port them over to your device of choice.
If developer time is your main constraint, then Titanium is likely the way to go. You can hit the ground running faster with Titanium. You don't really have to be an "app developer" to develop apps with Titanium. What's more, and something I only lightly touched on, with very little augmentation, you can port your app to an entirely different platform such as iOS. With very little, if any, changes, I can run the Titanium version of Quotious on an iOS device by simply compiling it down.
One word of caution, though: If you choose the Titanium route, don't eschew learning what really goes into an Android app. Knowing the actuals behind Android can only make you a stronger developer in the long run.
Edited: For formatting
Updated: Added pointer to first comment with additional information

