Skip to main content

Mobomo webinars-now on demand! | learn more.

old-tablet.jpegLet's move away from prognostications and fabrications because there are enough of those going around. The reality is that if an iTablet or iPad or iSlate or iThingy is indeed announced by Apple tomorrow, it will likely not look or function the way we think it would. After all, this is the company that created the scroll wheel, dared to put one button on a phone, and brought multi-touch to multi(ple) computing devices.

If Apple succeeds in doing the tablet the Apple way, then the starting point for it will not be to think about how the tablet fits into the current gadget landscape. Instead, Apple will have embarked on how it could once again redefine an industry to make the tablet a necessity.

Apple is as much about content as it is about hardware. That's the proven Apple recipe. In the last two decades, Apple has blown up both the music and software industry with iTunes and the iPod and the App Store and iPhone respectively. It's obvious where the next big media disruption is happening -- print. Apple's once again in its favorite place -- not being first to market but instead watching and waiting, observing and then innovating.

Sure, Steve Jobs mentioned that Apple doesn't care about e-readers. Similar statements were made about playing videos on tiny screens and staying out of the phone market. More significant though is that an Apple tablet would probably resemble as much an e-reader as the iPod did an MP3 player. Compared to Amazon's Kindle, the Apple tablet would be full color, multi-touch, and probably have a larger screen. And unlike the Kindle, which is only just launching a platform for apps (not especially exciting), the Apple tablet could soon embrace all of the 100,000+ apps running on the iPhone.

Like many technology predecessors before it, the initial response to the impending Apple tablet will be to categorize it as a gizmo, shiny toy, and luxury. After all, it's just a glorified e-reader. What skeptics will fail to recognize is the significance of a large multi-touch personal media device that provides always-on access to a little thing called the World Wide Web while packaged in the form factor of a true modern day digital notebook (versus the ones that were called such towards the end of the 20th century).

No, no one knows what the Apple tablet is going to look like except those at Apple. Wish lists and concepts aside, what is for certain is that if Apple has decided to venture into the tablet world, the print and computing market is going to be changed forever.

Categories
Tags
Author

On the heels of U.S. Secretary of State Hillary Rodham Clinton's Net Freedom speech, Intridea was delighted to receive notification Apple had approved the official iPhone application we developed for Voice of America's (VOA) Persian News Network (PNN).

This new application gives Iranians a unique opportunity to get the latest news on their mobile devices and to share with the world the news as it happens in their country," said Acting PNN Director Alex Belida. "It is a groundbreaking way to expand our reach inside Iran and deepen our relationship with a key VOA audience."

Following Iran's troubling elections in the Summer of 2009, the Senate aptly passed the Victims of Iranian Censorship (VOICE) Act, which provided much needed funding and support to the Broadcasting Board of Governors to expand Farsi language broadcasting into Iran by the Voice of America's Persian News Network.

This application empowers Iranians at a time when the government is staging a crackdown against opposition protesters, Mr. Belida said. As with the disputed elections [last] year, VOA's Persian service continues to be a leading source of news and information for Iranians.

In this video, Hamed Behravan, Sr. VOA Correspondent showcases the newly released mobile application to millions of Iranian television and web-based viewers, on his weekly Technology Roundup segment.

Built under the technical leadership of Brendan Lim, Intridea's Director of Mobile Solutions, the application is designed for iPhone and Android Devices, and features the ability to read the latest VOA News Stories and share them through Facebook, Twitter, or e-mail. Users can also keep up-to-date with the VOA PNN's Twitter feed (@voapnn). Additionally, "the application allows users to anonymously report news accompanied with either an image or video captured directly from their mobile device" says Lim; "enabling a new wave of citizen journalism."

Intridea is dedicated to supporting Gov 2.0 projects and programs that promote human rights, uphold democratic principles, and strengthen civil institutions. In the case of the VOA PNN App, we have been given an opportunity to create a platform that extends the Iranian people the freedom of speech --- in real-time.

Many important security measures were considered to operationally defeat or circumvent censorship and/or surveillance of content created, shared or stored by users. And with future guidance from the VOA & US State Department, Intridea plans to develop other sophisticated transmission techniques to counter the Iranian government's use of filtering systems, and general stranglehold of internet & mobile transmissions.

The VOA PNN application was built using Appcelerator's Titanium Mobile platform. Using Titanium Mobile, we were able to create an application for both, iPhone and Android, using just a single codebase. Also, Titanium Mobile allowed us to develop these native applications using only HTML, CSS, and JavsScript, which greatly reduced the amount of development time.

Here's how to get it:

On iPhone or iPod Touch
You can download it directly from the App Store. You can also find it by searching for 'VOA PNN'.

On jailbroken iPhone or iPod Touch
If you have a jailbroken iPhone, you can find the application through Cydia or Rock. The application is listed under the BigBoss source, which is included by default on both of these applications. Just do a search for 'VOA PNN' to install the application.

On Android
The application is listed under News & Media in the Android Marketplace. You can also search for 'VOA PNN' to install it.

The Android version features the same functionality as the iPhone version. However, since Google doesn't officially support the Farsi language, users who wish to use the app on their Android devices will have to add Farsi character support on their own. To install Farsi on your Android device, check the links below.

  • XDA Developers - http://forum.xda-developers.com/showthread.php?t=616384

Stay tuned for more.

Categories
Author

If you’ve taken a look at Mustache, the “stupid in a good way” templating engine, you might know that there are also Javascript Mustache renderers such as Mustache.js. Today we’ve released a small library called mustache_json that allows you to compile your Mustache view objects into JSON, allowing them to be interpreted by Javascript Mustache rendering engines.

What this means for your project is that you will finally have a identical client-side and server-side rendering interface, opening wide the opportunities for pushing more of the rendering work onto the client-side, a boon for many real-time and heavy-interaction applications.

To install mustache_json, just get the gem from Gemcutter:

gem install mustache_json

To use it, simply require 'mustache_json' and all of your Mustache objects will automatically be given a #to_json method. For instance:

require 'mustache_json'  class Person < Mustache   def initialize(first_name, last_name)     context[:first_name], context[:last_name] = first_name, last_name   end      def initials     "#{context[:first_name][0..0]}.#{context[:last_name][0..0]}."   end      def listing     "#{context[:last_name]}, #{context[:first_name]}"   end end  bob = Person.new('Bob', 'Bobson') bob.to_json

This will render into a JSON object that looks like this:

{"last_name":"Bobson","initials":"B.B.","listing":"Bobson, Bob","first_name":"Bob"}

Mustache JSON gives you access to all of the public instance methods you declare in your Mustache as well as any context you have set. It is essentially a fully compiled version of the Mustache view, providing everything another renderer needs to create the actual markup. The JSON back-end for this library is swappable, meaning you can use the JSON gem, JSON pure, ActiveSupport, or Yajl by default (and any other class with an encode method if you’ve got a different library).

Documentation is available on RDoc.info and the source is available on GitHub. Stay tuned for posts in the future about utilizing this library to actually perform identical rendering in Ruby and Javascript.

Categories
Author

Coming hot off the heels of the Presently 2.0 release for the iPhone, comes Presently for Palm webOS. Presently for Palm brings most of the same great features from the iPhone version to any Palm webOS device, such as the Pixi or the Pre, with the unique look and feel of Palm webOS applications.

Some of the great features of the webOS version of Presently include:

  • Post and view updates
  • View your replies, direct messages, and your feed
  • View profiles groups and people
  • View updates for groups and people
  • Join existing Presently accounts
  • Create your own Presently account if you don't have one
  • ... and much more

With this latest release you can now keep up with your company natively on the iPhone, Android, or Palm webOS platform anywhere you go. Presently for webOS devices is now available on Palm's App Catalog.

Categories
Author

Ken Yarmosh, our Director of Product Strategy, posted some thoughts on his blog about what Apple can do to improve the App Store in 2010. He focused on app wish lists, sharing, recommendations, tracking bargains and sales, and better app organization:

Now, if the prediction of 300,000 iPhone apps by the end of 2010 is true, the problem of discovery and app management is only going to be exacerbated. That’s going to make users and developers frustrated, with Apple working around the clock to try to please both parties. Thus, I believe the best way for Apple to begin improving the App Store in 2010 is by learning from these different categories of iPhone apps about iPhone apps. While it may seem like I’m selling these developers out to Apple, what I actually would recommend to Apple is to buy the apps, assets, and the developers themselves because these issues are big problems to solve

Near the end of the posts, he also touches on some ways to improve the iPhone itself. It's an interesting read, so check it out --

How Apple Can Improve the App Store (and iPhone) in 2010

Categories
Author

A new version of the Presently application has just been released for iPhone and is now available on the App Store. Presently for the iPhone is the best way to keep in touch with your co-workers where you're not in front of your computer. The new version of Presently brings a completely new application, developed using Appcelerator's Titanium Mobile platform, that is packed with many more features than the previous.

Below is a list of just some of the great new features that have been added to the latest version of Presently for iPhone.

The new version of Presently is now available for free on the App Store.

Categories
Author

Oria (oh-rye-uh) is an in-memory, Ruby-based, zero-configuration key-value store. For those of you who don’t know, a key-value store (KVS) is a database-like piece of software that effectively behaves like a Hash in Ruby – you store values under unique keys and retrieve them later. One of the big benefits of this model over relational databases is that you can store arbitrarily structured data without the overhead of a SQL-based server.

I built Oria because I needed a semi-persistent store that spoke JSON and was reasonably fast, but I didn’t want my applications to rely on complex server-side applications. It is written in Ruby in a bid to make it dead simple to use. That means you can use it like Memcached or Redis without having to compile, manage, or monitor any processes. It’s very straightforward:

  1. Install it:
    gem install oria —source http://gemcutter.org
  2. Require it:
    require “oria”
  3. Use it:
    Oria[:foo] = {:bar => "baz"}

You can store strings, hashes, integers, floats, booleans, and arrays. If you absolutely need marshaling, handle it on the client side:

 Oria[:foo] = Marshal.dump(Bar.new("baz")) bar = Marshal.restore(Oria[:foo])

But in general, I would encourage you to avoid using marshaling at all, and instead store the key attributes you need to keep track of, e.g.:

 Oria[:foo] = "baz" bar = Bar.new(Oria[:foo])

Oria is different from other KVS’ in a few ways. First, it’s designed to provide the functionality available with other systems at a fraction of the server and maintenance cost. The zero-configuration setup means deploying, starting, and stopping all happen seamlessly. Second, Oria is built to be modestly performant. I’ve sacrificed the extreme performance gains from something like Tokyo Tyrant in order to provide something very easy to use. As a result, it’s not quite as full-featured as the alternatives in terms of networking or traffic capacity. Third, Oria’s persistence is modeled on Redis’- it writes asynchronously to the disk as it goes dormant (i.e. stops fielding requests). Unlike other KVS’, however, Oria is not fully persistent. Rebooting your server will completely clear Oria out, so it’s not intended as a permanent storage medium – just a well-performing, simple-to-configure, temporary data store.

Categories
Tags
Author

One of my earliest gems was Mash, a useful tool for creating mocking objects as a Hash. One of the most common problems people had with Mash was a simple one: it conflicted with another class of the same name in extlib! To address this problem as well as give the project some room to grow, Mash is now part of a new toolkit called Hashie. Hashie is available now via Gemcutter and the source, as always, is available on GitHub. To install:

gem install hashie

Hello, Hashie

Hashie is, right now, simply the former Mash code along with a new extended Hash called a Dash. A Dash is a “discrete hash” that has pre-defined properties. It can be used as a dead-simple data object when even something like DataMapper is too heavy, but a Struct is too light (Dash gives you the ability to set per-property defaults as well as initialize from an attributes Hash). For example:

class Person < Hashie::Dash   property :name   property :email   property :occupation, :default => 'Rubyist' end  p = Person.new p.name # => nil p.occupation # => 'Rubyist' p.email = 'abc@def.com' p.email # => 'abc@def.com' p['awesome'] # => NoMethodError  p = Person.new(:name => "Awesome Guy") p.name # => "Awesome Guy" p.occupation # => "Rubyist"

The other advantage Hashie has over Mash is that it’s built from the ground up to avoid conflicts. Instead of adding stringify_keys methods to the Hash class, it’s instead added to a Hashie::Hash subclass. You can, however, get Hashie’s few Hash extensions in the Hash class by including the HashExtensions:

Hash.send :include, Hashie::HashExtensions

Hopefully the move will make it easier for everyone to use it in their projects without fear of running into conflicts, and hopefully you’ll also find the Dash useful. Over time the functionality of Hashie may grow to encompass additional simple and useful extensions of Hash. So install Hashie, your friendly neighborhood Hash toolkit, today!

Categories
Author

We released Car Finder just over a week ago and the amount of attention we've received is much more than we could have ever anticipated. For those of you who don't know, Car Finder is an iPhone application that utilizes augmented reality to help you find where you parked your car. We use augmented reality to overlay real-time information about where your car is parked while you look through the camera view of your iPhone.

thugfinder
Note: Car Finder developer Brendan Lim and his brother (with the dollar) sold separately

Throughout this whole process we've noticed that the Twitter mentions that came after these news articles proved to play a huge part in Car Finder's success. Below are a list of a few articles that covered the release of Car Finder.

Wired UK
Save face with the Car Finder augmented reality app

The Unofficial Apple Weblog
Use Augmented Reality to Find Your Car

Autoblog
Latest auto iPhone app: Augmented reality parked car finder

Holy Kaw!
Can't find your car? There's an app for that. - Holy Kaw!

Cult of Mac
Car Finder iPhone App Uses Augmented Reality To Find Your Wheels

Boing Boing
Car Finder app for iPhone

Car Finder is available now on the App Store for $0.99. Intridea offers services for application development on all major mobile platforms, which include iPhone, Android, BlackBerry, and Palm webOS. If you need help with your mobile application feel free to contact us for a quote.

Categories
Author

Today I whipped up a little shell script, mkipa, that creates .ipa files for distribution. Typically, people are dragging and dropping .app bundles to iTunes and back out of the arcane depths of their ~/Library. This should streamline things for devs, since you can just specify the source .app bundle and the name of the output ipa (sans ".ipa").

Enjoy. I will update the gist as I improve the script.

BUNDLE="$1"TIMETAG=`date +%y%m%d%H%M`OUT="$2-$TIMETAG.ipa"
if [ $# -ne 2 ] || [ ! -d "$BUNDLE" ]then echo 'Usage: mkipa <path_to_app_bundle> <output_ipa_name>'  echo 'Example: mkipa build/Distribution (Ad Hoc)-iphoneos/MyApp.app MyAppAdHoc'else if [ ! -f "$BUNDLE/Entitlements.plist" ]  then echo 'Warning: Your .app bundle appears to be missing an Entitlements file'    echo 'Are you sure it is an ad hoc build?'  fi if [ -f "$OUT" ]  then read -s -n1 -p "$OUT already exists, overwrite it? [y/n]: " keypress    echo if [ "$keypress" != 'y' ]    then echo "aborting"    fi fi TEMP=`mktemp -d ipaXXX`  PAYLOAD="$TEMP/Payload"    # the real work  mkdir $PAYLOAD  cp -r "$BUNDLE" $PAYLOAD  cd $TEMP  zip -rq "$OUT" Payload  cp "$OUT" ..  cd ..    # clean up  rm -rf $TEMPfi


This Gist brought to you by GitHub.

Categories
Tags
Author
Subscribe to