Category Archives: iOS

iOS Enterprise managed app configuration

With the release of iOS 7, Apple introduced support for managing an app’s configuration using a Mobile Device Management system. This allows enterprises to deploy apps and then control their configuration centrally. You could provide URLs or enable and disable features with the push of a button.

An app that supports managed configuration just needs to read a particular key, com.apple.configuration.managed from NSUserDefaults. This yields an NSDictionary which contains all the settings pushed to the app via the MDM. For my work with Roomr, I choose to support managed configuration so that the Exchange URL could be set and modified with ease.  The code changes are very simple.

Testing managed configuration is another kettle of fish. You can provide the configuration in one of two ways. Firstly, you can provide the configuration when the app is being installed or you can provide it after the app has been installed, effectively updating it.

To accomplish this, I used my own product, TestMDM. TestMDM aims to replicate many of the features of a MDM without replicating the large cost and complicated setup. It’s aim is to make it possible to test enterprise features without having to suffer the expense of purchasing an MDM. It also means you don’t need to trick an MDM provider into giving you a trial and then spending hours getting that setup.

To test my configuration, I used TestMDM to first install my app. Once I had successfully installed it, I then pushed configuration to it

image

I just click Queue and TestMDM takes care of the rest. I can debug my iPhone app at the same time and ensure the configuration is detected and loaded correctly.

If you’re interested, please check out TestMDM – I’m making improvements all the time so if a particular feature is missing, let me know and I’ll add it to the roadmap.

For developers who want their apps in large enterprises, supporting iOS7’s Enterprise features, such as single sign-on and managed configuration, is a no-brainer. Hopefully you’ll find TestMDM useful. If you have any questions, please get in touch!

Tagged , , ,

Blackwall Tunnels Alerts

I think it’s fair to say that most people who live in London, do at one time or another, have to use the Blackwall Tunnel. Other Londoners use it each and every day to get to and from work.

I am somebody who has the use the tunnel when visiting some family, so it’s a once-a-fortnight experience for me. Despite my infrequent use of the tunnel, I do seem to get caught in lots and lots of traffic, usually due to minor accidents in or around the tunnel. Whilst not the end of the world (I’m not rushing to get to work or home to make dinner), it does frustrate me. It frustrates me an awful lot.

Like any modern person I turn to my smartphone for a solution. Whilst there are many great traffic apps available in the App Store, they cover either the whole of London or the whole of the UK. This makes it a little tricky to find information about one particular section of the traffic network. So Blackwall Tunnel Alert was born.AllClear_400px

The interface is very simple. You see a large status indication. When something goes wrong, you will see the status changes and the cause of the issues are also shown.

Moderate_400px

The interface is simple and it’s easy to see if there is something bad happening.

It’s also possible to upgrade the app to provide you with push notifications so you can be alerted when the status has changed.

Blackwall Tunnel Alert is available to download from the iOS App Store for free and requires iOS 7.

 

App_Store_Badge21

Simple activity notifications for your applications

As part of my work on Drinks4-You, I decided that I wanted to get an alert to my phone each time a user signs up. I’ve worked hard on the platform and the other members of the team have worked even harder on generating sales and promoting the platform, so getting a little alert each time we get a new customer is very exciting!

Rather than a vanilla email each time a user signs-up, I wanted something a little more dramatic. A signup is an important thing, so I wanted an alert to match the gravity of the situation. What better then the Inception “BWONG” noise?

I spend a few hours and created a simple iOS  that would display the notifications and play the cool noise!

I then began to wonder if other people might need something similar. I quick search revealed plenty of providers of Push notifications, but they required that you have your own app. A small company might not have any iOS expertise or cannot spare the to create an iOS app for just one thing.

From this, Heads Up was born.

Heads Up is a simple iOS app that lets you register for notifications from your own apps. Your app only has to send a PUT to our Heads Up API and your device (or devices – using a PIN code other people can get the same notifications e.g. members of a team) will receive the message and play a sound. It’s simple, but can be used to alert you of errors in your service, important user activity or for a bit of fun.

Marketing1

You can sign up for the Heads Up mailing list if you want to be part of the beta test. I will be charging for the service eventually as I need to cover hosting and network charges, but until it launches officially, the beta will be completely free.

Sign up for the beta using TestFlight

Tagged

An attempt at a very simple Tube App

In my never ending quest to release tube related apps, I’ve pondering a new idea. Current tube apps are getting very busy, showing maps, line states, departure information, journey planners, weekend works, station states, etc. I don’t deny that these apps are very feature packed and for an average price of £0.69, you can’t really go wrong.

But something bothers me about this – I feel like there has been a rush to pack in features in order to appear competitive. With this feature packing, the usability of an app always suffers because there is much more noise.

With this in mind, I’ve started building a very simple app that just puts a few key pieces of information at the user’s fingertips. I reckon most commuters just use two stations in their course of their daily journey. They only care about one or two lines too. All the rest is just noise.

With that, I present a very, very crude mock up of My Stations (a working title!)

 

iOS Simulator Screen shot 17 Oct 2012 13.34.20

 

The app just has two tabs (I might add two mores) and that will just present the basic information for that station to you. This way you get presented with the information you’re most interested in. I’ll probably add location services to give alerts of issues as you get close to the station.

I hope to have this submitted to the App Store within the next couple of days. I’ve got most of the back end infrastructure in place for the London Underground. I’ve been reading up on GTFS too, so I may be able to include the New York Subway in the future.

If you like or dislike, please leave me a message in the comments below!

Tagged

Moving to Windows Phone 7 from iOS–and back again!

I’ve been using a Windows Phone 7 Samsung Omnia 7 since the beginning of October. Today, I’m back using my iPhone 4, but the experience has let me to an interesting conclusion:

WP7 is a superior OS compared to the aging iOS. However, the iPhone 4 handset is far, far superior to the Samsung Omnia 7 I’ve been using and probably superior to most currently available WP7 handsets. So, for me, I’m choosing hardware over software.

The WP7 OS has many strengths and is definitely a joy to use. The iPhone 4 however, will remain one of the best handsets I’ve ever used.

More Storage (hardware)

The Samsung device I’ve been using has only 8GB of storage. This has required a constant juggling of space. Deleting music to fit a podcast. Deleting a podcast to take some pictures. Deleting some pictures to fit new music. I only ever ran into issues like that on the iPhone after taking several long videos at a wedding. I’ve always had about 5GB spare space.

Better Display (hardware)

The Retina Display is still one of the most best mobile displays around. I mentioned in some of my earliest posts on the topic that I could definitely noticed the difference when browsing the web. Sure, the Omnia’s AMOLED screen might be brighter etc., but the iPhone’s is easier to read.

Better Sound (hardware)

The Samsung Omnia 7’s sound is just awful in comparison to the iPhone. I struggle to hear people whilst on a phone call, even at full volume. On the iPhone I could hear music and podcasts with ease, despite traffic noise. Not perfect, but a far sight better than the Samsung. This may be specific to Samsung phones and using their headphones might have eliminated that, but I doubt it.

Audible App (3rd Party)

It’s nice to be back listening to Audible again! The lack of an Audible player is something that I really, really missed. This isn’t really the fault of a particular OS, but the fact remains that Audible haven’t released a WP7 client, and that is very disappointing.

Market Place and Zune (Microsoft being useless!)

The earliest issue I had with WP7 was that my Zune account was tied to Ireland, whereas I now live in the UK. Since it’s *impossible* to update the location of a Zune account, I would be forced to create a new Live ID and put that into my phone. Not sure what I’d be required to do with regards to my contacts etc. The thoughts of having to move all that stuff from one account to another is depressing. As a result of this, I’ve not yet purchased a single WP7 app.

In the end…

Maybe comparing these phones isn’t fair. The Omnia 7 isn’t exactly a premium device. I only paid £220 for it as I only wanted a device for testing WP7 apps. Compare that to the £550 I shelled out for the iPhone 4. I know the Omnia 7 is an older device so the lower price probably is partly reflected in that. However, having used the iPhone 4 hardware, it’s hard to imagine anything else being as good.

More storage would go a long way to making the WP7 more appealing to me, but as it stands, 16GB is the largest storage you can get (with out getting bogged down in the “Expandable” memory stuff). iOS has a beautiful flagship phone in the iPhone 4S. Android has an amazing flagship phone in the shape of the Nexus Prime.

Microsoft needs to produce a high-end, flagship device for the Windows Phone 7. And when they do, I’ll line up to buy one!

My GiveCampUK weekend (21st to 23rd October, 2011)

Across the weekend of the 21st of October, I took part in the UK’s first GiveCamp. And what a weekend it was!

 

 

I signed up to participate it a few months back thinking it would be a good way to network, make some new friends and help somebody else out. I honestly wasn’t sure what to expect when I turned up at UCL on Friday afternoon for registration. Since I was on my own, I was worried that I’d be surrounded by groups of people who all knew each other and would struggle to get involved. On the contrary! On arrival I soon got talking to a few people and found out that I wasn’t alone. Most people were flying solo, as it were. After some chatting we headed to a lecture theatre to hear the various charities outlining their projects.

 

ntf

 

I’d already read through the lists of charity projects and quickly settled on the Nathan Timothy Foundation’s project as it seemed like something I could relate to the most. It also seemed a good fit with my skillset, ASPNET MVC3, which meant I’d be very productive from day one, something that is important when attempting to build an entire site in one weekend!

Unfortunately, the NT Foundation didn’t have a representative for this part, which was a pity, but I was undeterred. I was actually amazed by the passion of these speakers and how they struggled with their current IT setups. As somebody who takes IT for granted and codes for fun, I really should know better. I see it in my own family members. They struggle to understand email, never mind anything as complex as building a website! It’s very easy to forget that being good with IT is actually quite a rare skill.

After each charity gave their introduction, the various project team leaders were introduced. Thankfully, Bert Craven, the project lead for the NT Foundation project was sitting right behind me, so I just turned around, introduced myself and said I wanted to be involved. As we moved back to the main hall, I took a place at the same table as Bert, still a little unsure how things would then proceed. The guys from the NTF then showed up and started talking about what they wanted. They had some very interesting ideas, ranging from interactive surveys to heat sensing iPad applications! Bert helped whittle them down to just a couple of ideas, announced that anyone sitting at the table would be part of the project and that was it. we were ready to start!

We each did a quick introduction, just to see what skills everyone had. Immediately we found we were short of somebody with Photoshop skills, but we weren’t the only ones!

We then started discussing things like hosting, source control, development technologies etc. We quickly settled on AppHarbour (which led us to GIT source control), MVC 3 and SQL Server. We used Trello to somewhat manage tasks and began assigning bits to various individuals. After breaking for some food, we took out our laptops and started. Wireframes were build and by midnight, we had a running website. Very basic, but running!

As I was staying at home, I headed off to get the last tube and returned at 8am on Saturday morning. Several of the team were sleeping at the university and they were already awake and sitting at their laptops coding away! Over the course of Saturday we ran into all sorts of issues, but progress was consistent and obvious. As we got driven towards insanity by GIT and the night closed in, the various bits we had each been working on started to coalesce into a functioning website!

At 12.30 AM on Sunday morning I got a cab home. This was an eventful journey to say the least, but that’s a story for another day. After a few hours sleep, I returned to UCL at 8am. A few things had broken overnight, but they were easily corrected and slowly we put the finishing touches on the site. GIT continued to infuriate us, but by the noon code completion deadline, we were done. A few last minute check-ins and we stopped. We’d pretty much build everything we had set out to do on Friday. No mean feat!

The sense of accomplishment was palpable across the team.

After taking some time to unwind in the sunshine, take some pictures and enjoy some hog, we all reconvened for the presentations of the projects. Each time gave a talk about five to ten minutes long, discussing what they’d done. The amount of work done by everyone was amazing. Afterwards, Ben, from the NTF came over to express his thanks. He was very pleased to see what we’d done, so that was the icing on the cake I suppose. I hope what we build serves as a base for them to continue forward.

Overall, the weekend was a tremendous experience for me. I’d like to thank Angela, Bert, Enrique, Ethinder, Mark, Simon, Tom and Wong for being a great team.

I also want to thank Paul Stack and Rachel Hawley for putting the event together. The weekend was great craic, but I’m going to have to get lots of exercise to burn off all that Haribo sugar!

Cannot *wait* until GiveCampUK 2012. This time, I’ll bring a tent!

Tagged

Moving to Windows Phone 7 from iOS–Week 1

I’ve been using the Windows Phone 7 Omnia 7 for about a week now and it has really been a strange ride. I have been an iPhone user since the release of the iPhone 3G in 2008 and overall, I’ve been very happy with the iPhone. As I’ve outlined in a previous post, there are some things that I feel Apple need to fix, but aside from my little complaints, it’s a very, very solid phone. In my first post in this series, I discussed the reasons for trying the WP7 platform, and after a week of use, I have more to say.

All dislikes??

Yes, all of the the things I’m about to list are issues I’ve got with the phone/platform. This is to be expected. Things the WP7 does very well, like bringing together all my social network updates automatically are useful, but could be done using apps on the iPhone. Sure, I had to switch back and forth, but it was possible. They have made the experience more pleasant and integrated, which is no mean feat. However, when switching to a new platform, it’s the missing stuff you notice.

I also want to point out that some of these gripes are hardware related, 3rd party vendor related and OS related. I’ll make the distinction where appropriate. I’ve also given each heading a rating out of ten, indicating how much the lack of the a certain feature or the overall OS bothers me.

I miss my Retina Display – 7/10

One of the big selling points of the iPhone 4 was the new Retina Display, which offered a very impressive DPI on a small screen. The clarity of this screen was impressive, but after using the phone for a while, you forget about it. Since your not always comparing the clarity of the images, you get used to the quality. Well, the Omnia 7 has throw that into sharp contrast. I can really say I miss the Retina Display. When browsing the web it really enhanced the experience. You could easily read small text without having to zoom into it, making it less laborious.

For the most part however, it’s not an issue. The Metro UI doesn’t rely on high resolution to make the phone’s UI appear clean and beautiful. I haven’t really played any games or viewed pictures that much, so I can’t really comment on that at this stage.

Unpredictable Network – 10/10

This is probably my biggest issue with the phone to date. Switching off Wi-Fi has, in the past week, resulted in an almost 100% rate of dropping my internet connection. The phone just seems incapable of moving to the 3G network after turning off Wi-Fi. I don’t know what is causing this, but I have to reboot the phone to get back my connection. Needless to say, it’s *very* annoying.

Email Notifications doesn’t include new email in folders – 10/10

The live tiles on WP7 are very nice and when it comes to the email tile, very utilitarian. The Mail app has a very nice tab for viewing just unread emails or urgent emails so it’s very easy to see what needs attention. Much better than the iOS mail app. Unfortunately, it falls down when it comes to folders. Messages get delivered to my folders by rules in Hotmail, but WP7 never lets you know that new mails have been received in the folders. You have to manually check your folders to see if there are new messages. I can forgive Microsoft a little bit, since this is kind of similar to Hotmail’s treatment. However, when you pin Hotmail to the Windows 7 taskbar, you do get a visual notification that an email has arrived in a folder.

Email status tags aren’t copied from Hotmail – 2/10

The tags I’m talking about here are the “forwarded” and “replied to” tags. When you reply to an email from a web app etc. these tags should be copied across to each device. This was something I really expected to work in WP7. It works in iOS with IMAP I think. Since Microsoft own the Exchange ActiveSync protocol I expected it to just work. It makes email easier to work and should really be included.

Linked Inboxes aren’t separated very well when outside the mail app – 5/10

One of the ways the WP7 platform excels is in its handling of emails. Linking accounts is very easy to do and it simple aggregates them together, allowing you to see all unread emails. The best thing about it is that when you want to compose a new mail, it asks you explicitly what account you want to use. This helps me avoid a mistake I used to make repeatedly on the iPhone which was sending emails from the wrong accounts. Having this explicit step stops that from happening.

But whilst this feature is great, it is let down elsewhere in the system. For example, when you navigate to a contact and hit their email address, you’re prompted with a list of mailboxes so you can choose which one you’d like to send the mail from. Unfortunately, this is useless as it just lists them as, in my case, Hotmail, Hotmail 1 and Hotmail 2. I’ve not found a way to change this. A small thing I know, but a silly mistake.

Can’t paste phone numbers into the Phone app – 2/10

When you copy a phone number from a web page etc., you cannot paste this phone number into the phone app. This is very annoying and means you either need a memory like Sheldon Cooper, or a pen and paper.

Search doesn’t search everywhere – 3/10

Performing a search in the phone only searches when your current area. This isn’t as nice as the iPhone implementation because it requires a few more clicks when trying to find a particular contact. Another thing I find annoying is that it treats XBox games as separate entities, meaning that you can’t search for them within the Apps list. I downloaded Angry Birds and it actually took me a little effort to find the game!

Lack of 3rd Party Apps – (reserving judgement)

So, whilst this isn’t Microsoft’s fault, it is one thing that will really hinder the adoption of this phone by others. I use a few apps very frequently and their absence on my WP7 phone is noticed. This will hopefully be solved in time, but it’s a real chicken and egg situation and Microsoft would do well to throw some money at companies to develop WP7 versions of their apps.

I may be suffering, because I’m using an Irish Zune account and therefore aren’t seeing the full catalogue. I’ll reserve final judgement on this until I have my accounts sorted out.

Very slow USB charging – 10/10

This is device specific I realise, but the charging speed on the Omnia 7 is chronically slow! I could charge my iPhone 4 from fully discharged to fully charged, using USB, in less than an hour. Plugging my Omnia 7 into the same USB port and it takes several hours to charge. Whilst the battery does last a day on a single charge, giving it an emergency top-up actually takes planning.

The same update, over and over again…

My last pain point here highlights one of the neatest features of WP7 is also an annoying one. When you post a status update, the phone can send it to all your social networks automatically. However, anyone reading these status updates will see the same message repeated multiple times in their “People Hub”. WP7 and Windows Live should be more intelligent and actually realise it’s the same update.

Forwards, not backwards and always twirling, twirling, twirling..

I’ll continue my WP7 adventure for another few weeks. On the advice of a friend, I’m going to start making some little videos of these niggles and send them to Microsoft. I do think this platform represents a very unique and impressive entry into the marketplace and Microsoft just need to keep their wits about them to ensure it gains a large foothold.

And who knows, maybe Audible will release a WP7 client and make my journey a little more interesting…..

Tagged

Developing a game for both iPhone and Windows Phone 7

Since completing my first iPhone app and having it published on the AppStore, I’ve been held by the idea that I should write an app for the Windows Phone 7. Since this is a small market at the moment, it’s an ideal time as getting noticed is more likely.

With this in mind, I’ve decided to write a small game. One that might make me some cold hard currency. I came up with an idea for the game whilst out for run. It’s pretty simple and whilst it won’t win me any awards, it should be simple enough to write. To makes things even more interesting, I’m going to write the game for both the Windows Phone 7 XNA platform and the iOS platform. I should be able to write the code in parts, making sure each platform functions correctly as I go. Phew.

Platform Differences

These two platforms have significant differences, but some similarities too. Aside from the obvious ones, like manufacturer, the differences are mainly superficial. Both have a very narrow hardware range. The iPhone has only four models and their specs are predictable. The WP7 has many more models, but they base specification for all these devices is the same. This makes the experience predictible on both platforms. Since the iPhone has been around much longer, older models of the hardware get taken out of the equation.

Development Differences

When it comes to developing on these platforms there are some differences too. Thankfully, writing code is writing code, so once the basic components of an application are understood, the differences are really down to IDE, API and programming language. Whilst developing Caffeine Club, I’ve become quite adept at switching from Objective-C to C# so this won’t worry me too much.

iOS Development

Development on iOS is done, as mentioned, in Objective-C and C++. For the purposes of game development, the Framework of choice is Cocos2d. This is an external framework as there are no dedicated game related frameworks in the iOS SDK. The recently launched Xcode 4 is Apple’s IDE and whilst it’s very powerful, I’ve yet to see it match Microsoft’s offering. I think I need more keyboard shortcuts ;)

For physics, the Cocos2d framework comes bundled with two physics engines – Box2D and Chipmunk. The former is a C++ library and if offers some very powerful simulation features. Chipmunk is an Objective-C library and whilst very comprehensive, it’s not as powerful as Box2D. Whilst the C++ syntax can be a little scary, I’m going to go with Box2D.

Windows Phone 7 Development

Unlike iOS, WP7′s SDK includes a technology called XNA. This framework is the game development platform for both the XBox 360 and the Windows Phone 7. It can also be used on any .Net platform. It’s effectively a framework designed and build for the purpose of writing games. This makes it easier to get your game “off the ground” as it were. Visual Studio 2010 is the IDE I will be using. C# is the language of choice too.

In terms of Physics engines for WP7, the Farseer Framework is what I will be using. This is a very robust engine and offers a very easy programming model.

Common Bits

I’m going to try a tool called Tiled for developing my levels. This is a tile based level generator, that is compatible with both Box2D and Farseer (the former I’ve tested, the latter I haven’t). This will mean that any levels I build, should be compatible with both platforms.

As for audio, I’m clueless. I’d imagine this will be MP3, but I’ll figure that out at the end. Cocos2d does include an Audio specific framework and XNA also has an API for audio, so it shouldn’t be too difficult. Well, less difficult that getting the sounds in the first place!

Source Control

For this I’m going to use Git. I would have preferred to use Perforce, but XCode 4 has dropped native support for Perforce and added native support for Git. I need to get an add-in for Visual Studio 2010, but I’m sure there is a compatible one.

I’ll be hosting my source code in the “cloud” somewhere. I’m testing some vendors at the moment to ensure it all works.

Wish me luck

Finally, please wish me luck. This is a totally bonkers I’m committing to, but it will be one hell-of-a learning experience if nothing else. I’m still trying to figure out how to structure my posts and whether I’ll alternate between iOS and WP7 or whether I’ll post the code side-by-side. I’ll do a few posts and find out.

Hopefully, somebody will find this informative.

Is my iPhone a 64GB model?

I just got my iPhone replaced as the home button had become somewhat of a nightmare as it only worked about 50% of the time! The friendly people at the Apple Store on Regent’s Street replaced it without issue.

When I got home, I plugged it into my PC and Windows told me me there was quite a lot of space available, with a total capacity of 55GB. But when I look at the iPhone settings, it tells me a different story.

imageIMG_0313

Is it possible that my phone actually has 64GB in storage, but that iOS is only giving me 32GB?

No multi-touch gestures on my iPad after updating to 4.3 ;(

Disappointing to say the least. I installed the beta version of iOS 4.3 on my iPad this morning hoping to try out the new multi-touch app switching, but it seems I’m not going to be that lucky.

Whilst the setting of my devices have been updated correctly, the switch for multi-touch just isn’t there! The orientation option has been added so that’s something at least.

image

However, I’m expecting a multi-touch switch too, which is absent. Anyone got any idea why I cannot see this switch?

** UPDATE **

I’ve managed to get this working! I enabled “Development Mode” on my iPad using XCode’s organiser. I now have the full multi-touch gesture support!

image

I must admit, it’s pretty slick!

Tagged ,
Follow

Get every new post delivered to your Inbox.