What to build? A dilemma

July 2nd, 2010 fluffyemily 7 comments

How do you choose which of your many ideas to pursue? Do you choose the one with the interesting technologies that you want to explore, or do you go for the one that you think would be the most useful?

I am currently suffering from this dilemma in relation to which app I concentrate on as my ‘signature’ app.  If you’ve got time to build one app, in this case an iPhone app, to demonstrate your skill as a programmer to future potential clients, how do you decide what to do? I have 3 choices in this regard:

  1. Hikers footpath planner. A really complex and difficult app that will take a long time to put together but that demonstrates all my skill as a back end developer while also showing an ability to do some nice things with the front end. This app, although sounding ideal, is a risk. I have limited time and the app is complex enough that it might not meet the App Store requirements on stability within the time frame and, with my current dev time limited to evenings and weekends, might not get be completed to the final most impressive stage by the time my (admittedly self imposed) deadline come around. This app has, I believe, a wide audience, but only if done exactly right.
  2. OCR Menu reader and translator. An app that allows me to explore some really interesting technologies and demonstrate some skills with both backend and front end work. The app, however, would be trying to compete directly with another app, Google Goggles. Do I really want to develop in my spare time an app that could potentially be utterly eclipsed by a company who have million of dollars to spend on getting it right?
  3. Open Plaques. An app that demonstrates some back and front end skills and that solves a specific purpose for a group of passionate individuals. This app would provide a service to this group of people that would not only ease the lives of the owners and developers of the Open plaques site but also make is much easier for users of the site to add content. This also will use some of the technologies that would be used in the OCR menu reader.

So I guess the question is, is it better to make something that is popular and useful, or something that shows off my skills but with an uncertain audience or competing against a much more powerful opponent? I can’t help thinking that the popular app, if I add lots of bells a whistles, would be the way to go. I can always work on the hikers app at a later date, for if nothing else I want one even if it never makes it as far as the app store. Maybe I should just take a well learned lesson from Software Development, KISS (Keep It Simple, Stupid). If anyone has any opinions, I would really like to hear them.

BuildBrighton needs your help

July 2nd, 2010 fluffyemily No comments

Here at BuildBrighton we’ve been looking, for the last 8 months, for a suitable, affordable space for the group to move to. It has become clear to us that our current arrangement with The Skiff, although fantastic, is not enough to attract new members. Most potential new members do not see the benefit in paying a subscription for a meeting only one night a week, and are sometimes put off by the officey nature of the space and the lack of any decent machinery of equipment. It is a catch 22 situation, however, as without subscribers we cannot afford to make commitments to long term outgoings as our earnings are sporadic, making some money here and there through workshops and council grants etc.

We have long wanted to turn BuildBrighton into Briton’s answer to Noisebridge or NYC Resistor. We have found two fantastic spaces that are beyond our current monthly earnings by different degrees. We also have 100 non-members on the hackspace mailing list and 250 non members following the BuildBrighton twitter account.  How many of these potential members would convert into actual members if we had the right space? What is it that BuildBrighton would have to provide for them to make that conversion, and how much would they be willing to pay in order to get that? We have no desire to out price ourselves, and yet we need to charge an amount that can sustain the group financially.

In an attempt to find these things out, we have created a questionnaire and are asking people to fill it in to provide the answers that we need. If we have a good idea of how quickly and to what extent the group can grow, we can make decisions about how much risk we can take on with a new place. You can fill the questionnaire in here.

The two spaces that we are looking at are The Metalworks, approx 1000 sq ft in Central Brighton, next door to the new space that The Skiff are moving to shortly, allowing us to maintain our ties with those who supported us in our early days. The other is a 4000 sq ft workshop space at New England House, which is not only enormous, but filled with already created smaller spaces that could be converted into useful areas like dark rooms or craft rooms, or rented out to artists or commercial creative enterprises as studios or work spaces. Both spaces have enormous potential and we can see the group flourishing in such environments.

Please do fill in the questionnaire, comment or contact me if you wish to be involved in BuildBrighton, want to find out more about us or just want to offer us your support. Knowing that we are needed is a big reason why we do this.

Objective Flickr on the iPhone

June 27th, 2010 fluffyemily 4 comments

I have been working towards building my very first iphone app, and one of the challenges was to upload some images to Flickr. After much failure to create the signature that the Flickr API requires to authorise requests that flickr would accept, I was pointed towards ObjectiveFlickr, an Objective C library designed to ease the pain of working with the Flickr API.  This is a fantastic tool and has saved me endless headaches, however getting the library to work when in Device mode in XCode is a right pain in the butt. In order to ease any development pains that others might experience when using this library, I will now detail what I did in order to get everything to work.

After downloading the Objective Flickr library from github, I followed the instructions for adding the library to an iphone project as detailed in the documentation. I was most distressed when, after following the install instructions word for word, my app would not build. To check I was doing things correctly, I created a new project just to play around and test ObjectiveFlickr. Here the project built just fine and I could use the libraries with no problems. I went back to my original project, removed ObjectiveFlickr and reinstalled. Again, compilation errors.

"No architectures to compile for (ARCHS=x86_64, VALID_ARCHS=i386)."

As an iphone newbie, the compilation error did not immediately raise any warning flags so I hit our old friend google and tried to find out more about it.  After a bit of digging I found that this was actually the only bug raised against ObjectiveFlickr in the github project.  This is a problem that only raises it’s ugly head using ObjectiveFlickr when building against the device. The reason my test project worked was that it was building against the simulator. If I changed my target to the simulator then the project compiled. However I was using the camera in my app, which does not work in the simulator, so I needed it to work against the device.  The workaround from the ObjectiveFlickr site was this:

Build the objectiveflickr.xcodeproj project with changed settings "Architectures : Standard(32-bit Universal)" and then rebuild the project using objectiveflicr.

Turns out it’s not quite as simple as all that, so here was what I had to do, step by step, to get ObjectiveFlickr working in XCode building against the iphone device 3.1.3:

  1. Open objectiveflickr.xcodeproj in XCode
  2. Go to Project->Edit Project Settings and select the Build tab
  3. Change the Base SDK to iPhone Device 3.1.3
  4. Change the Architecture to ${ARCHS_STANDARD_32_64_BIT}
  5. Change the C/C++ compiler version to GCC 4.2
  6. Rebuild ObjectiveFlickr
  7. Return to your project
  8. Rebuild you project (probably best to Clean All Targets first, just to be on the safe side)

If ObjectiveFlickr does not compile after setting the Base SDK to iPhone Device 3.1.3, return the Base SDK  to Current Mac OS. Changing the compiler version from the LLVM compiler to the GCC compiler was neccessary because once I had recompiled objective flickr against the iphone libraries, when I then recompiled my project it complained that the LLVM compiler was not available.

error: can't exec '/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/llvm-gcc-4.2' (No such file or directory)

Turns out that for iPhone SDK’s 3.1.3 and below at least, the LLVM compiler is not available on the device. It’s available for simulator though, which is annoying to say the least.

This has highlighted to me one very annoying thing that I was not aware of before. Things that compile, build and deploy successfully on the simulator, may not compile build and deploy successfully on the device. Why Apple have not created the simulator to exactly simulate behaviour on the device is beyond me, but now I am aware of it I shall be careful not the be caught out like this again.

Spreading the hackspace love

June 14th, 2010 fluffyemily No comments

Last week I went on holiday to Devon as a wee break from the stresses and strains of work. And what a lovely week it was too; sunshine, beautiful scenery and cute country towns with hardly any wifi or 3G signal at all and an average population age of 70. After 4 days, my partner, Ian, and I decided we needed some life and some connectivity and headed up to Exeter to hang out.

Before we left, Ian had done some research and discovered a hackerspace existed in Exeter.  As one of the founders of the Brighton hackerspace, Build Brighton, we contacted Gray Simpson of E_hackerspace by email to let him know we were coming and asking if the group was holding a meeting while we were in the area.  Turns out the hackerspace was still in the ‘so, how the hell do we do this?’ stage of creation with no regular meetings, so an ad-hoc one was hastily pulled together on a Friday evening for our benefit.

It was really great to meet up with a group in the early stages of development. It really brought home what we at BuildBrighton have accomplished in less than a year and it was good to be able to pass on useful advice and tips to a new space. It was also fantastic to see how the stories that we had about building and running the space and about the cool things going on there inspired and enthused Gray and his co-founder Julius. I just hope that they hold on to that enthusiasm and keep the momentum going, which they will have to do to get the space off the ground.

I also learned that in Brighton we had it kind of easy. There was already a very strong tech community, albeit software and design based rather than hardware based, and as a visible member of that community I had easy access to forums, contacts and mailing lists that made the advertising and promotion of BuildBrighton fairly stress free. Exeter it seems has very little in the way of a tech community so Gray and Julius will have their work cut out for them trying to build one from scratch. I really hope they succeed and look forward to watching them grow over the next year.

You can find out more about the Exeter Hackerspace at their website or join their mailing list.  You can find BuildBrighton at The Skiff in Cheltenham Place every Thursday from 7pm, or by our mailing list and website.

To find out more about hackerspaces in general – communities for peeople into building things with technology – you can do so at hackerspaces.org