Week 3 at Tapadoo HQ

Time is moving very quickly here at Tapadoo!  We’ve really settled in now and have been given a lot more responsibility in the projects we’re working on. Everyday I encounter something new, sometimes it’s a small piece of functionality, or a new way of accomplishing a programming task, or even a newly released feature of an API. It requires constant effort and willingness to adopt and adapt, but that’s what really keeps me engaged. It’s an immensely rewarding experience, applying what I’ve just learnt, and seeing it function within the current project.

We got to experience our first game of review bingo this week! When an app is submitted for review, it will go through various standard checks,  and on passing will be published on the app store. Everyone in the office takes a guess at the number of days this process will take. Bragging rights for the person who comes closest!

IMG_20140418_090534

I got to be present at a client meeting this week, which was an excellent way to show, and get some feedback on what we’d been working on. Having someone from outside of the team look at the project was slightly worrying, and I was concerned that the work I had done was not quite up to the standard required. But it went much better than I expected. The feedback given was positive and really helped me see what aspects needed work.

It was Aidan’s turn to make a cake this week, and everyone thoroughly enjoyed it. I’m next up to the plate, and have already started planning, hopefully I don’t disappoint!

The Easter Bunny also paid the office a visit, leaving eggs in cracks and crevasses throughout. We’ll be finding them for weeks to come!

tmp_image879139077

Some really exciting things are happening in the coming weeks, and some really interesting projects to work on too! Úll is taking place in less than two weeks, which will definitely be a big highlight of our time here at Tapadoo. It’s a meet-up/conference for developers and designers, held over 3 days in Kilkenny. Everyone in the offices is really looking forward to it! More to come on that in future posts!

That’s it for now!
Kevin.

Leave a comment

Week 2 at Tapadoo

Week number 2 at Tapadoo, and I haven’t set the place on fire yet – I’d call that a success! I did accidentally lock the team out of a testing account for one of the projects we’re working on, but luckily we managed to reset it back pretty quickly! Other than that my time here so far has gone quite smoothly (the weekly cake day helps a lot!).

tap-sign

The Tapadoo sign

I was chosen as the iOS developer on the first day. I had meddled with Android development in the past, but never gotten the chance to try out iOS as I don’t own a Mac or an iPhone at home. This was the perfect chance to start!

To begin iOS development, I first had to learn Objective C. In college we focused primarily on Java and PHP and I’ve done a bit of Python in my spare time, but Objective C is quite different from them in terms of syntax, and so took a bit of time to get used to.

I started off with a bug fix here and there for a project that is near completion, which was a really good way to get a feel for the standard I should be aiming for. It also allowed me to learn Objective C by reading the other developers’ code and trying to modify/add to it (without breaking it!). I spent the rest of my time buried in the Apple documentation!

my-desk

My Desk (way better than Kevin’s)

As Kevin (@kpmmmurphy) mentioned in last week’s post, the development software took some time to get used to, in particular I keep forgetting to update a bug’s status when I’m working on it, but hopefully we will get more familiar with them as time goes on.

Every day we have a standup in the office, where each of us summarize what we’ve accomplished or struggled with that day. I think this is a great way to get to know what other people are working on, and what is involved in each project.

On Tuesday after work, the team went to an (@Xcakelabs) Xcake session which discussed the pros and cons of CocoaPods for iOS dependancy management. These types of events, combined with the occasional trip to a Sushi restaurant near the office make myself and Kevin really feel part of the team!

Leave a comment

Mouse click failing on your mac? Here’s one you may have trouble finding

So. This happened last week. It was pretty obscure, so I thought worth a post.

I had a little trouble with my mouse. Here’s the symptoms:

1. Clicks were not registering. I could physically tap, or press the trackpad on my macbook air, and they simply weren’t having an effect.
2. Oddly, I was experiencing the exact same problem with my external trackpad.

So..what was the cause. Well here’s what I tried:

1. I knew it had to be software related, and not a dodgy track pad; If it were faulty hardware one would work and another wouldn’t.
2. So I reset the PRAM – No effect.
3. So I reset the NVRAM – No effect.

Except on one occasion, just after reboot, it was working ok for a short period of time.

Then Jason hit on an idea. “Disable bluetooth” he said. So I disabled bluetooth; low and behold, the track pad started working. Re-enable, instantly stopped agin.

Then…we looked at the list of connected devices:
Subtely, in bold there was a device not not on my desk “Dermot’s Mouse”.

So began an office search. A little while later, about 10 feet away, in a box, we found my old magic mouse. Upside down, with something on top of it, causing it’s button to be essentially pressed.

So. next time this happens to you. Check you list of devices. Do you know where they all are?

Leave a comment

First Week as a Tapadoo Intern

On my very first day, I must admit, I was nervous. Walking in the doors of the Tapadoo HQ, I thought that the transition from college to a real life working environment was going to be quite stressful. I was worried I wasn’t as prepared as I should have been. But, after meeting everyone in the office, this feeling quickly faded. Everyone went out of their way to make us, myself and Aidan(@aidangrabe), feel like part of the team.

IMG_20140401_150710

We had a small stand up where everyone introduced themselves to help break the ice.  I was given a nice shiny iMac to work on (Picture below), and was chosen to join the Android developers( or The Dark Side). There is an apparent sporting rift between feelings towards IOS and Android in the office, which  often leads to some interesting conversations!

Almost straight away I was given access to the company’s code base, and allowed look through their various projects, which really helped get a feel for the standard of coding required, and to see the implementation of modern development techniques.

IMG_20140403_084253

Getting use to the various software development systems,  like Git, Bitbucket, YouTrack for bug Tracking, and Android Studio takes sometime, but everyone is more than willing to help out with any questions.

The first few days were a big learning curve, but slowly I’m making my way through different tutorials and documentation,  reviewing code and trying to take in as much as possible. It’s safe to say I’ve learned more about software development in the last 4 days, then I did sitting in lectures for the last 6 months.

I began fixing some minor bugs on an in progress app for a telecoms company, and pushed the fixed code back to the project’s repository, which was a proud moment. I wouldn’t have imagined I’d be working on genuine projects so soon after orientation, but we were encouraged to delve right in at the deep end, and I think that’s for the best!

IMG_20140402_174134

Wednesday in the office is Cake Day, where one member of the team bakes a cake the previous night, and brings it in for everyone to enjoy. This is cause for great merriment when break time comes around, and it’ll be a lot of fun, or complete disaster, when my turn comes!

To finish off the first week, the entire office when out for a delicious sushi lunch, and  I have to say, it has change my perspective on seafood for the better! It was a great time to sit down and relax. At Tapadoo, there’s a nice mix of work, and play. I can see myself getting very use to it here!

Think that’s about it for this week, but there will be much more to come soon!

Kevin (Murph).

 

Leave a comment

Welcoming Aidan and Kevin

Each year we host an intern or two from the University College Cork. They are with us for six months and in that time we try to give them loads of opportunities to improve their technical skills and to learn about the business of software development. At the end of six months we take them out for a nice dinner and some pints and send them back to school with a couple of completed projects under their belts, good experience on their resumes and our very best wishes.

This year we’re happy to welcome Aidan Grabe and Kevin Murphy to Tapadoo Towers.

KevinandAidan

 

Today’s their second day with us and they’ve dived right in.

Kevin has already fixed some bugs in a project that’s almost out the door.

Aidan is reviewing wireframes and design guidelines for the project he’s going to be working on for the next few weeks.

Check back soon, because each week one of the guys will be writing a blog post to tell you all a little bit about what they’re learning and what life at Tapadoo is like.

Leave a comment

TeamCity Slack Notifier

We love TeamCity here at Tapadoo. We use it to automatically build and deploy new iOS & Android app betas both internally for testing and to externally to clients. We’ve been using Slack lately as a replacement for Jabber and Mail for internal comms which don’t scale well, and its been awesome.

Slack has many cool integrations with other tools like bug trackers, Github, bitbucket and even some for CI servers like Travis, but none (yet) for our favourite, TeamCity. I liked the idea of automated posts arriving in the general channel as new betas went live. It could be a fun way to let everyone know progress was being made as the day went on. It’s easy to forget the little Mac Mini is playing an important role. Sure, developers would get their own personal success and fail messages via email if they wished, but unless you told someone, know one else had a sense of activity unless they loved checking out the TeamCity dashboard.

TeamCity has a plugin API apparently – Java based, and slack supports incoming webhooks allowing to to post anything you’d like, so with a little bit of free time between tasks, I decided to give it a go. I read some examples, hacked up a custom notifier class, zipped it up with some meta data, and a plugin was born:

Builds arriving in slack

Builds arriving in slack

 

Success! The messages started to trickle in. successes only, by design. Let the rest of the team feel happy some bugs where fixed. Just the name of the build, and who did it. I spared people the public humiliation of a failure (for now).

Sure, a few shortcuts were taken. I probably hard coded a few more strings and URLs than I should have. I may have used string concatenation instead of proper JSON classes to construct a payload, but it didn’t matter. Our little build server found its voice and started contributing to the teams banter.

It’s not without it’s flaws, please forgive the occasional naughty shortcut, but if you want to get in on the action we’ve stuck it up on Github : TCSlackNotifierPlugin , and of course, pull requests are welcome.

In the mean time, check out Slack. They even have a free plan with limited storage and integrations to get you properly hooked. I’m already scheming to see what other tools I can integrate.

 

current notification setup

current notification setup

 

Leave a comment

The GAA App Of Our Dreams

The GAA Season is upon us. We’re fans of the GAA at Tapadoo. We go to the early season games, and suffer through the cold conditions all for the love of the game.

There’s a common sight you see at every game: The diehard fan. Studying the match programme, ear piece in ear and pencil in hand. Ready to mark down every free, score and substitution.

When a point occurs at the other end of the field we hear “who scored that?”, “was it Brogan?”, “I think it was Mannion”. The diehard knows. He heard on AM radio, but the rest of us will have to make do with watching it on Sky+ when we get home.

As mobile app developers we got to thinking:

Surely there must be a better way.

There’s been some attempts at digitising the programme into mobile apps. They tend to be little more than PDF readers where the thinking centred around the existing product: The paper programme. The static, can’t change, went to print 2 days ago paper programme.

Surely we can do better.

How would we approach it? Well, we’ve put together some concepts.

Our vision is for the “Live match programme”. A match programme in your pocket, that lives with the game. It updates along with the game, giving you what happened, when it happened and by whom. A place where at a glance you can see who scored that last point, and what their tally is.

The GAA app of our dreams

The GAA app of our dreams

The main screen of the app shows the teams, score and current time.
When you tap on a team name we see the team as currently lined out (kept up to date of course). Beside each player we see their score tally, and any cards they’ve received. In the example below, we’re also highlighting who scored last (in this case, Brogan)

A view of the team as it is playing right now.

A view of the team as it is playing right now.

Tapping on a player, gives us the statistics about that player

The player profile screen

The player profile screen

When a major event occurs, a top banner will show not just happened, but who was responsible

The banner shows that a goal has just been scored

Tapping on the clock allows you to see the “as it happened timeline”

The timeline, as it happened.

The timeline, as it happened.

So how would this information get into the app? We’ve thought of that too. We call this “The commentators companion”. This allows a sideline staff member to report on the game as it happens, feeding the data to the Live Programme app.

With just 2 or three taps, sideline staff member can report on every event as it happens. Here we show how to report a substitution he taps “substitution”, the player being substituted, and the player coming on, and hits “Publish”.

A couple of taps, and you're done

A couple of taps, and you’re done

This is all conceptual. We’d love to hear what think. Feel free to leave a comment, or get in touch with us.

Tagged , | 20 Comments

Job Tips for juniors

We’ve been looking for new interns here at tapadoo in recent weeks. We’ve also interviewed for graduate positions. But there’s one quote we’ve heard a number of times which frankly left me surprised.

Oh, we didn’t cover that in college

This is astonishing. College isn’t there to teach you every keyword in the whatever language. They teach you the basics, it is up to you to apply the knowledge gained, and from there, hopefully get a more in-depth knowledge of a language.

Here’s the deal. If you’re looking to get hired as into a junior role it’s up to you to give yourself an edge. Try a couple of these things

  1. Go beyond page 1 of the manual. If you’re claiming to be very good at Java for example, you better know the difference between public, private, and protected. You need to know what the keywords final, static and synchronised do. For extra points: Explain package scope, and highlight your favourite new additon to the last version of the language.
  2. Do work outside of college. Your OO class may have shown you that a rectangle inherits from a shape, or a car from a vehicle, but nobody needs a shape class. Go write something for fun. Do an Android app, a web app, a web site. Anything that wasn’t done because a lecturer told you to.
  3. Better: Join an open source project and contribute. Show me your github account, and you’ve instantly more of a chance than the 99% of the people you’re up against
  4. Show up at developer events. There are events happening all the time. Find XCake, Pub Standards, Crafthouse, MongoDB Meetups, Ruby Meetups, etc. etc. Get to know companies who hire.

We do apps for clients. We have to make them slick, and they have to be solid. This means we need great programmers. College projects get run once for marking. Some of our projects get run 45 million times.

The good news: We found 2 awesome interns for the summer just past, and we’ve selected 2 for next year, which we have great hopes for.

We’re still always on the lookout for new candidates though. Think you have what it takes? Apply here

1 Comment

iOS7. Move now, or be an insta-delete.

We all know that iOS 7 is imminent. We’re into Beta 3, so we can make semi-accurate guesses on when the full version will get released. So to all of our clients, I’d say you may want to think about having your app updated to iOS 7 VERY SOON.

Why?

Who remembers when the iPhone 5 came out?
We briefed our clients. We said

“We should probably do some work on your app and make it utilise the 4-inch screen”.

Understandably, many of our clients wondered what benefit they’d derive. We were going to charge for the modifications; on first glance it could seem that we were just looking to get more fees out of them. We weren’t; we were actually giving them the correct advice.

The conversation kinda went like this:

“So what happens if we don’t modify it, will it run on an iPhone ?5″
“Oh yeah, it will run. Apple have this special ‘letterbox’ mode” (where we proceed to explain the letterboxing)
“Oh, that sounds fine let’s leave it so”
“Are you sure? because…” (where we explain letterboxing is kinda horrible)
“No, let’s just leave it”

So we did.

What happened when the iPhone 5 hit our shores?

Well, within days of having it, a letterboxed app was pretty much an insta-delete.

At that point, our clients came back with urgent requests to make their app 4-inch compatible.

I predict the iOS 7 effect will be worse. Within a week of running full time, those apps which haven’t been modernised to look like an iOS 7 app will look very old. They too will become insta-deletes.

If you have an app in the store, We’d highly recommend looking at modernising them pretty quick.

Update:
Stewart Curry suggested I also make reference to adoption rates. What we know is Apple users upgrade very quickly. When iOS 5 launched, it caused a massive worldwide spike in internet traffic. iOS 6 was launched just 9 months ago (at time of writing), and is currently on 94% of all iOS devices according to Apple’s figures (Unfortunately, this link is dynamic so will change over time. Trust me. When I wrote this, 94% was the figure).
So, don’t kid yourself it will only affect “power users”. Not being iOS 7 ready will affect “all users”

50 Comments

Úll is nearly upon us

Around October 2011, Paul Campbell pitched an idea to me. The conversation went something like this

I’ve an idea for a conference. It will be aimed at Apple Developers and Designers. I’ve even got a cool name for it. It’s called Úll. I want you to help me.

That was about it. I knew Paul as we’d been through Launchpad together. Our desks were close by. We didn’t talk software much, but I do remember lots of chats about fine restaurants.

I liked the idea, so I agreed.

Organising Úll is like organising a large wedding; There’s venues, meals, guests; Then there’s speaker accommodation, entertainment and the logistics of making it all happen. It’s scary, stressful and worrying during the process.

And then Úll 2012 happened. Every speaker was amazing. Every social aspect was fun. All those words that are used so freely really describe it. Engaging, Entertaining, Enthusing, Inspiring, Enjoyable.

The line I’ve used to everybody since was “It made me want to do my own job better”. But that only begins to describe it. It made me proud to be part of the iOS and Mac development community. I shared moments with great speakers and picked up stories. Úll will always have pride of place in my career highlights package.

Looking back, many of my highlights were moments:

  • The night before the conference, sitting in a hotel bar with Michael Lopp, John & Amy Gruber, Paul, Josh Clark and Des Traynor. People I’ve respected near and far, together just shooting the breeze
  • The look on Josh Clark’s face when we entered the big ballroom for the banquet. He was gobsmacked
  • Seeing Jim Dalrymple walk into the top floor of Odessa. It’s a long walk up. Out of breath, all he can manage is “What the fuhhh?”
  • Baby Guinness shots with Amy Jane. Her idea.

But one moment stood out. After the last talk, Paul went up to the podium to thank the last speaker. You need to realise that at this point, we feel it’s a good conference, but we genuinely don’t know how well received it is. This is before Saturdays night’s events, before the chill out on Sunday. So, there’s still good stuff to come, but frankly, we’re still nervous about if we’ve actually pulled it off. And Paul asks

Was this worth doing?

What followed was a standing ovation. I was stood at the back of the room. Paul had beckoned me up to the podium, but I didn’t even hear that. I stood there and let that applause wash over me. I’m not exaggerating when I say it sent shivers down my spine, and had me welling up.

Yeah. It was worth doing.

A week or two later, I met up with Paul again. “So let’s start planning 2013″.

And now, it’s back. What a line up. I literally can’t wait.

Leave a comment