Chris Hannah

Space Black iPhone 7 Renders

9To5Mac have shared a few 3D renders of what a potential iPhone 7 would look like in Space Black. This comes after the previous rumours about a Deep Blue colour being added, but the same source has since reported that it was mistaken for a darker grey/black option.

The renders show an iPhone 7 in a dark, Space Black colour option. The antenna lines have also been redesigned in the renders, as has been rumoured will happen, while the camera module is also larger.

I absolutely love the idea of having at least a near-black iPhone again, Space Grey just isn’t dark enough for me. It also adds more reason for a dark theme in iOS!

I also wish that this Space Black colour (if it would be called that), be added to their range of MacBooks, as I’m a strong admirer of the BlackBook.

The renders were done by Martin Hajek, and you can find loads more on his blog.

My Home Screen on MacSparky

I was asked by David Sparks recently if I would like to do a Home Screen feature for MacSparky, and I couldn’t turn it down!

This week’s home screen features Christopher Hannah (Website) (Twitter). Christopher developed my favorite Wikipedia app for the Mac, Qwiki. Qwiki puts Wikipedia in my search bar and I use it all the time. You should check it out. So Christopher, show us your home screen.

Check it out on MacSparky!

Apple Fires Back at Spotify

A few days ago Spotify claimed to be discriminated against, this was because the latest version of the Spotify app was rejected by the App Review process.

They claimed all kinds of things (ReCode):

Spotify says Apple is “causing grave harm to Spotify and its customers” by rejecting an update to Spotify’s iOS app.

“It continues a troubling pattern of behavior by Apple to exclude and diminish the competitiveness of Spotify on iOS and as a rival to Apple Music

Apple have since replied to Spotify with a lengthy letter, which you can read in full at BuzzFeed.

We have always believed that competition makes us all better. It drives the best products and services for our customers. We’ve invested i a tremendous amount so developers have the best ecosystem for creating and distributing apps. You know this because Spotify has profited greatly from your use of the App Store we developed.

Our investment in the App Store is not trivial – any great retailer will tell you there is an incredible amount of effort that goes into maintaining their store. However, if a customer chooses to sign up for a digital product outside of the App Store, the developer does not pay us anything, and their content will still work on Apple devices. To imply that Spotify should not have to pay to avail itself of the benefits of Apple’s hard work, just as every other developer does, would give you a tremendous advantage over other developers. It’s simply unfair and unreasonable.

I’m completely on Apple’s side for this one.

It’s the rules that every other developer has to follow, so why should Spotify be any different? Also if Spotify aren’t using the built-in subscriptions/in-app purchases to manage the subscriptions, then what are they providing Apple? They get to use the App Store infrastructure, but they don’t want to give anything back?

Well, I’m glad I’m an Apple Music subscriber.

University is Boring

I’m currently writing this post while traveling home from seeing the latest X-Men film[1]. I’ve got an exam tomorrow, at 10am to be exact. But for some reason I’m not that interested in it.

That’s what I’ll be writing about today, my current lack of interest in my university qualification. It just isn’t interesting me anymore.

It started last year in my first year of university, because the lessons were easy, but it was my first year at university. So I put this down to the fact I had experience in programming before, and maybe it would get harder. Also because it was fun getting straight A grades with very little work.

Now as I’m finishing my second year, with just tomorrow’s exam left. I’ve found it more than boring. I’ve noticed that we’ve been learning parts of Computer Science that just isn’t needed. For example for the second half of my Advanced Programming module, we had to create a website using Java Web, along with JavaDB in the backend. That’s terrible. No one uses, or should use Java Web to create websites.

There’s also the fact that we’re also being taught the stupid parts of Networking, Not networking that could be useful or interesting. But one bit of coursework was for us to use a really old bit of software to simulate a network, that uses various messages between nodes. We didn’t get taught any of the knowledge needed to do this, so I’m still unaware what any of it meant. We were just given a tutorial for the software, and we just had to follow it. Then submit it. That’s not learning.

Software Engineering is potentially important to some people, maybe for future project managers, or people who generally want to manage other people. I want to just do work. Whether it’s developing an app, or working on a website, I don’t care what methodology my project is using. It’s pure semantics.

So as you can see after my second year of university, I’m just bored.

And even though the modules aren’t interesting, the lecturers could at least try to make it so. Or maybe even challenge us in a way that wants us to do well. Rather than simply reading out a PowerPoint presentation that we can simply access ourselves.

I don’t need even think that they know what they’re teaching half the time, as many students have asked questions based on lectures. They just point them towards someone else. One example that shocked me, was when we were learning some basic UNIX commands. They use a single Linux machine that we all log on to. I decided to use the wall command[2], and some people found it a bit funny, while someone else thought their “terminal had been hacked”. The shocking bit was, when they informed the lecturer about it, they responded with “Hmm.. This seems very serious, we’re going to have to look into this”. Not once did they ask the class about it, for which I would of happily admitted it was me. And then probably laughed. Or did they notice that the message had been prepended with my University username.

It’s little things like that, that makes me less interested in getting a degree, and more on how I’m going to make a living afterwards. The degree isn’t worth anything really, apart from a massive amount of debt that I will have to pay back when I earn decent money.

But anyway, I have a lecture in about 9 hours, so I better be going to bed.



  1. It was X-Men Apocalypse, and it was pretty good! I’m not a die hard fan of X-Men, so maybe that worked in my favour. But overall it will be one of the best films that I see this year. ↩︎

  2. You use it along with a string of text, which sends that message to all logged on users. In this example it was about 15 students. ↩︎

Qwiki 0.1

I’ve started working on a new app. It’s a Wikipedia search app for Mac, called Qwiki. At the minute it lets you search for an article, and quickly access that page in your browser.

Qwiki Screenshot

It’s only been in development for a few days, so it’s nowhere near the end product.

I plan on adding loads more features, such as copying the link (including Markdown style), and the standard share sheet. I think I will also add in an option to view the content of the article directly in the app, but I’ve got to work out how I want to do that.

But even though it’s super early days for Qwiki, I’ve made the beta open to the public, so that I can get as much feedback as possible.

So if you’ve got a Mac and it runs OS X 10.10 or higher, then you can test out Qwiki!

You can give feedback through Hockey, or direct to me on Twitter at @chrishannah.

What do I want to do?

For a while now I’ve been trying to work out what I want to do when I finish university. There has always been two primary desires of mine – to create applications and tools for people, and also to write, whether it’s a blog or a news outlet.

Recently, and especially after redesigning this blog, I’ve started to think about my web presence. And in general trying to boil everything down so I have fewer things that I’m doing, and trying to instead focus on quality over quantity.

Basically, I’m taking my finger out of some of the pies[1].

After doing some more programming at university (unfortunately some of it was Java Web), I’ve started to work on some fun projects. And I want to head more in this direction, as it’s probably going to help me figure out what I really want to do.

Recently I made a small website which displays the weather in emoji, and I’ve worked on an extension to a really cool project called Command that lets you use Slack-style commands on the web. I’ve got a few more ideas in my head for apps, and also some website projects that I may continue with friends at university. But I’ve got quite a bit of coursework that I should be doing at the moment, so that will have to wait.

Another thing I’m wondering about is what I do with App Recap, I do enjoy what I do there, but sometimes I really just don’t have the time to write anything for it, and I don’t think it can reach its full potential without constant updates. I guess I have some thinking to do.

There is some good news that has come this week though, and that’s my new part time job for Blogo! I have already created a bunch of support articles for their website, and now I will be actually responding to users, and helping them fix whatever issue they have. If you haven’t heard of Blogo, then it’s a really awesome blogging app for Mac and very soon it will be on iOS as well. You can check out the app on the Mac App Store.

Also I should be writing a piece for my university magazine which will be cool, I asked them a while ago if they want anything app related writing up, and they said it’s a great idea! So I just need to wait for the next meeting to get started.

That’s my thoughts for now, and if you every want to see what I’m up to, or even have a chat, then Twitter’s always best. And I guess as I’m slowly doing more programming, you may want to keep an eye on my GitHub as well.


  1. http://www.urbandictionary.com/define.php?term=have+fingers+in+many+pies. ↩︎

Final Year Project

I think I’m finally getting somewhere regarding my final year project at university.

I had a lecture yesterday which was to introduce everyone to the module that we will take next year, and also to help us understand the project selection process. You can either choose an idea yourself, which will have to be approved by someone to make sure it’s suitable for the module. Otherwise you have to select a top ten of project ideas which have been submitted from other lecturers, and then they will be allocated. I see no other option for myself but to submit my own idea.

The lecturer basically explained to us that this project is a way for us to differentiate ourselves from other students, which will help a lot when looking for a job.

So this kept ticking over in my brain, until a few hours later. I thought if I want a job as a iOS/Mac developer, then surely I should create an app! It was such a simple thing that just didn’t cross my mind, but it gives me a pretty good platform that I can now work on.

The questions I will now ask myself are:

  • What sort of programmer/developer to I want to work as?
  • What industry do I want to work in?
  • What skills would be beneficial for the particular career/industry?

So once I’ve worked them out, I should narrow down my ideas quite a lot. Although I will aim to create something innovative and useful, if I can create something which will get me a job then that’s also a massive help!

New Module

Today I start a new module at university – Professional Issues, Ethics, and Computer Law. It sounds a bit boring to be honest, but I have seen that we’re learning about Edward Snowden which is okay I guess. I probably know most of that stuff already but it’s better than being taught something boring.

We were supposed to read around 45 pages of some random book, but I haven’t done that yet. And the class is in 4 hours. Oh well.

Lets just hope it isn’t boring.

Next Programming Coursework!

I’ve been set some more coursework for my "Data Structures & Specialist Programming" module at Uni, and it’s good timing as I’ve been running out of things to do.

It doesn’t seem too complicated at a first glance, we have to make a web application in Java, which is what we’ve been taught for the past 2 years. The website must feature a mix of dynamic and static pages, and use Java EE server-side technology and a backend database – I’ll probably use MySQL because I’ve done a lot of that before.

There isn’t really a specification on what need to be in the website, apart from some basic database functions, some Ajax (probably a search option), and certain Java components. I’m assuming we’ll learn the detail in the lectures.

We did however have to choose a topic, and each person has to choose a unique topic. We got sent a list of topics we could choose from and my first choice was Planets, but this was already taken! So Mountains it is.

I haven’t given it too much thought yet, but I’m thinking a website containing a database of 100 or so Mountains, with the ability to search, sort, filter etc. I’ll start it soon hopefully and any decent work will be posted here!

Getting Started with MongoDB - Basic Messaging

After talking to a friend at university about wanting to start a little side project while I don’t have any coursework, he suggested I tried out MongoDB. He gave me a little demo just in Terminal and how easy it was to simply create a database, I never plan on using MySQL again after seeing this.

To create a new database all you need to enter is use testdb If it’s already been created then it will simply select that database, if not then it will just create it. Easy!

Then to create a collection inside a database (tables in MySQL), just insert some data! So for example if I entered this:

db.users.insert({name: “Chris Hannah”, username: “chris”, email: “chris@email.com”})

It would then create a new collection with the name users, and then insert a new document (row), with the corresponding values for name, username, and email.

Making it into something

So after I realised I could get the hang of MongoDB, I started seeing how I could use it in something like PHP. It took ages to get the different extensions installed, and also working with XAMPP (I wont discuss the trouble I had, it would take too long).

But after getting that sorted, I worked out a little code to display all the entries in the Users collection. That felt pretty nice to have, as I was still inserting the data via Terminal and then refreshing the page to see the data suddenly appear.

Mongo

After that I thought this could be useful for a basic messaging service, so I started a new messages collection in the database. The only data I stored was the user (which I will then correlate with the users collection eventually), the message text, and a timestamp.

I got the messages appearing just like I did with the Users. But after adding a basic form, and another bit of PHP to take the data and insert it into the database, I got something that slightly resembles a message board.

I’m now going to work on it a bit further, and it may develop into a basic service like Twitter, or a chat room thing, either way I’m not too bothered. It’s all for the purpose of learning, so just making something is good enough.