Home

Archive for the 'gadgets' Category

Evolution of an iOS app – Part 1

Back in 2008, in the middle of a 4 month trip overseas, I purchased an iPod Touch. It was awesome and opened my eyes up to the new wave of hand-held smart phone devices which were being released. My mobile phone at the time was a trusty but severely outdated Sony Ericsson. Time to immerse myself in the latest technology! So when I arrived back home after my travels, I quickly bought my first iPhone – an iPhone 3G. And so started my interest in all things mac and all things iOS.

By the end of 2008 I had also completed my mac transition by purchasing a macbook. During 2009, at work I became heavily involved with mobile application development and iPhone app development (although not from the programming side).

On a personal level, although I had the tools available (mac + iPhone) and a knowledge of programming, I didn’t feel capable of developing my own iPhone app. Prior to this, I was well versed in web development. It is what I felt comfortable doing and had had a fair bit of success doing. Application development & dealing with things such as memory management just seemed like another world which I was a complete novice at.

First Idea

So sometime in 2009, I wrote a blog post with an idea for an iPhone app. It would allow someone to post to various social networking websites at the same time – twitter , facebook, myspace, yammer etc. It seems like a very obvious thing to do now and their are now companies who make a lot of money from widgets and apps that do this – but back then, there was only one other iPhone app which did this – and it required you to sign up to their service and was all around not user friendly. So my blog post put the idea out there and it was picked up be a UK developer who worked with me to develop the app. In the process of the app being made, I started thinking “hey.. I could have done this myself”. So after the app we did together launched and failed to get any traction I set my sights on thinking of another idea I could do completely on my own.

Second Idea

10 months later…

It was the end of 2009, Christmas time. I tend to buy a lot of my Christmas gifts online as I really hate shopping centres at that time of the year.

So there I was getting many presents delivered by various companies. Having to login to all the tracking sites, copy/paste my tracking numbers each time. Annoying. So an idea for an app was born. Of course, the first thing to do is track for apps that already do this! After a search, there was only one app which had a great design – but it only supported ~10 U.S. based providers. Great! Still a huge market left and a great opportunity to make my app even better with more features. I initially would focus purely on Australian delivery companies. In fact, at this stage expanding beyond Australia was not even on the cards..

It Begins

I signed up for the iPhone Developer Program, downloaded XCode and in early January 2010, opened up Photoshop to come up with some initial designs.

You can see the initial name for the app was “Postee”. I had forgotten about this haha. I quite like it. I wish I could remember why I changed it 🙂 (update – ahh chat transcripts are great for nostalgia – here’s why). Another name which a friend suggested was “Keep Me Posted”. I liked this, but I decided against it because it wouldn’t neatly fit in the space available under the app icon on the device home screen.

So design is the (kinda) easy part of this whole experience and you can see that even today, the current app still looks pretty darn similar. How about the coding?! Well with zero knowledge of Objective-C and little application programming knowledge (despite dabbling in some .NET apps) I sure had a lot of learning to do.

Next?

Part 2 (and more?) will cover how I managed to learn Objective-C and the iPhone SDK and make the app a reality. I will also cover more on the business side such as contacting a whole bunch of shipping providers, GST obligations, earnings, marketing, support methods and how the app and feature set has evolved. Stay tuned.

HTPC & Media Centre Experiences

My household has gone through a few iterations when it comes to media players & HTPC setups. The main requirements were something to provide a nice front-end to our collection of movies, TV shows and music which has grown a fair bit over the past 8 years.

Linux & MythTV

Way back in 2005, we started with a bunch of old computer parts, put into a nice Silverstone HTPC case, and then setup to run Linux with MythTV. This setup never really took off as MythTV (at the time) didn’t have TV episode support – in terms of presenting information from TheTVDB.com. We also had continual problems with the stability of the MythTV software and the linux driver support for our TV Tuner cards was flakey at best. MythTV also didn’t play too well with the remote we bought for the HTPC and I seem to remember the linux flavour we used at the time (Arch Linux) had some serious issues with hibernation/suspend power management, which became a bit of a show stopper for us.

Windows, MediaPortal & XBMC

Next we switched to Windows for some better driver support (at the time) and more software options. We ran MediaPortal for a while… which was OK but had some quirks which annoyed us. I can’t quite remember exactly what the issues were unfortunately.

So at that stage we dropped the TV Tuner cards as they seemed unnecessary for us as we do not record any TV (never have & probably never will). And we were happy to just put up with having the HTPC on one source of our TV (i.e. VGA), and free-to-air TV on another source on our remote control.

Without needing TV Tuner capability we could then look at the XBMC project (XBox Media Center) and this is what we used quite happily for a couple of years. The software was stable, playback was fine and the scraping of IMDB & TheTVDB was generally fairly reliable.

Dilemma

The only problem was that all of our movies, TV shows and music were stored locally on a 4x500GB hard drives inside the packed to the brim Silverstone case. As a result of being so packed, we never really felt comfortable leaving the computer on all the time due to potential overheating issues and power usage. Oh and ofcourse, since our collection was starting to get quite sizable, we were outgrowing the 2TB of space we had available. And most importantly, since the data was “valuable” to us, if one of those drives failed we would have cried a fair bit as we did not have a redundancy/backup process in place.

Solution! Mac Mini + Drobo + Plex

So the solution that suited us was to purchase a Mac Mini & Drobo (which I will cover in another post). I definitely can’t say this would be the best solution for everyone.. as it is quite an expensive way to go. The Drobo in particular is an expensive gadget, but the built in data redundancy and ease of use was just too irresistible.

And the best software for the Mac Mini has definitely been Plex – which is free and has its roots as a fork of the XBMC project but it now a standalone product with a huge following of its own. It is an incredibly easy product to use, very intuitive and has a great community of plugin developers and theme developers.

= AWESOME!

I have been using Plex for over a year now and there have been some huge changes in that time. The most notable change to my own experiences has been the addition of an iOS app for iPhone and iPad which transcodes videos on the fly for flawless (and simultaneous) viewing over wifi and even 3G. It really has added a whole new dimension to our media centre setup. I can start watching something on the main TV and then finish watching it in bed while Rob watches a silly Arnie or Stallone classic on the main TV. Heaven!

The standard Plex theme is attractive and the way it displays the TV Show and Movie artwork leads to a rich media experience. Playing the TV Show theme music in the background when browsing episodes of a particular show is a beautiful finishing touch.

One thing I look forward to utilising more is the ability to connect to a remote Plex library. I have experimented with this with a friends Plex setup, it basically allows me to browse and play their Plex share from within my own Plex installation (and vice versa). The only issue is our ADSL2+ upload speeds are not the best, so streaming video over peer-to-peer Internet has not proven fast enough to stop the stream stuttering. Of course, once we get some fibre goodness that will all be a thing of the past – bring on the NBN!

My parents were also so impressed with the Mac Mini & Plex combination that they bought a Mac Mini and had me set them up in a similar fashion. The fact that I have had no support calls from them speaks volumes for the reliability of the mac and the user friendly interface of Plex.

Our journey with HTPC setups has come a long way. In the end, our solution is expensive but suits our needs in terms of data redundancy, attractive front-end software and reliable/powerful hardware. I would thoroughly recommend Plex as a front-end for a media centre experience.

Eye-Fi With My Little Eye

Eye-Fi

I purchased an entry level DSLR about 10 months ago, and since then, I have developed a keen beginners interest in photography. But the one thing I absolutely detested about taking photos was the process of getting them onto my computer. As you probably know, this involves having to turn the camera off, take out the SD card, put it into the USB reader, plug that into my macbook and then use some terrible software to transfer them to my macbook.

I know this sounds incredibly lazy of me, but ugh. After a while, it becomes a tedious process.

So being a stickler for convenience (I will seriously do almost anything for the sake of convenience and efficiency), I heard about this “Eye-Fi” product through a work colleague and thought I would give it a go. The idea being that the SD card itself magically will transfer your photos “as you take them” whenever you are in range of your wifi hotspot.

Since there is no distributer in Australia, I had to buy it from Amazon.com. There’s a number of models available, which differ in terms of size/capacity and some features. I settled on the top of the range card, the Pro X2 8GB which was a little over $100US. After a short 4 day wait, it was delivered and ready to use. I wish I could say it was smooth sailing from there. But unfortunately it wasn’t.

The Eye-Fi product consists of the SD card, and a small USB reader (used only during setup & configuration). Upon plugging in the SD Card and USB reader, I was prompted to install the Eye-Fi Center and Eye-Fi Helper software. The “Center” is the software you use to manage your Eye-Fi card, and the “Helper” is a system-tray like application which is used to detect the card, firmware updates and debugging logs etc.

The Helper software is fine and uneventful. The Center software on the other hand, is pretty terrible to use. It requires Adobe Air (not so much a problem in itself) and the user interface is terribly clunky and the response times are slow.

Nevertheless, I installed the software and this is where the initial problems started. It seems my card suffered from two main problems:

  • The card would simply not connect to my wifi
  • The card would randomly eject itself, and sometimes I needed to wait a bit before it would remount the card when plugging it back in

Since I am not a complete novice when it comes to software & wifi setups, I tried a lot of troubleshooting myself before contacting Eye-Fi Customer Service. I made my wifi network completely open (no mac address filtering, no hidden ssid, no wep/wap keys etc) just to rule that out as being the problem. When the Eye-Fi failed to connect to this as well, I knew I probably had a dud product. So I sent an email to Eye-Fi support with router & wifi details and logs of the card. After a few days, I had no response and was sadly a click or two away from confirming a product return via Amazon. But then I thought I would try the Eye-Fi  support forums which seemed fairly active.

So I posted a thread which outlined the issues. I quickly got a response from a Customer Service Rep (CSR) who confirmed that it sounded like a dud card and he would arrange a replacement straight away. This was great news.

A few days later, the CSR posted in my thread for me to try the “just released” new firmware update as he thought it might solve my problem. I tried the firmware and (despite some more issues with the Eye-Fi Center software) it worked! Turns out the firmware update tweaked a few sensitivity (?) settings on the card in order to improve compatibility with certain routers.


Once the wifi network was setup and working as normal, I was very quickly able to finish the setup process for the Eye-Fi card and I was transferring my first photos within minutes. After the initial (and significant) teething problems, the Eye-Fi really has been fantastic.

At the moment, I have the photo’s being transferred to my Drobo, although I can also have them transferred to a huge range of online services (or FTP) if I really wanted to. I also think I will become a big fan of the “Endless Memory” feature – which seems to involve the Eye-Fi card knowing which photos I have safely already transferred, and so when my SD card becomes XX% full (user defined) it will start deleting the photos which have already been transferred to make room for new photos – all while I am out on the road taking photo’s. This will save the other annoying part of photography of needing to clear the card and sometimes not knowing if you are deleting images which haven’t already been backed up.

There’s also been an announcement from Eye-Fi that a future firmware update will enable a “direct mode” which will transfer my photos to my iPad directly. This could be pretty cool in order to preview photos on a larger screen if you are out and about (especially useful for those more serious togs who might like to show clients some photos on the fly).

All in all, I am not so reluctant to take photos with my camera anymore! I would recommend the Eye-Fi product to anyone.. just please don’t ask me to help you set it up 🙂 That was a pretty frustrating experience for a while.

Leeane