Skills Matter Presentation

Yesterday’s presentation in the Skills Matter meeting is available in Slideshare!

sm-logo-black-manga.gif

Update, 2010-02-05: The kind guys at Skills Matter have also published the video of the whole conference; check it out!

nib2objc featured in Softpedia

As the title suggests: check out the official nib2objc page in Softpedia!

Talking at the Skills Matter Meeting in London Next Week

Preparing the path for the amazing iPhone Dev Days 2010 in April, next week I’ll be giving some tips and tricks about iPhone development, in London!

sm-logo-black-manga.gif

This will happen in the Skills Matter’s meeting, at the The Skills Matter eXchange, 116-120 Goswell Road, London EC1V 7DP, on Tuesday, February 2nd, at 18:30.

I hope to see you there! The event is free so don’t hesitate to come by.

EasyTableView for iPhone Prototyping

Our first blog post of 2010 presents a tool that we’ve been using internally and that might be useful for other people.

easytableview.png

As you might have experienced, prototyping applications in Interface Builder is fine as long as you don’t deal that much with UITableViewController instances. Prototyping user interfaces with tables and navigation is not as easy as drag-and-dropping some components, and you usually have to implement a small UITableViewController subclass from scratch yourself, including some kind of navigation logic.

Enter EasyTableView, a set of classes inheriting from UINavigationController and UITableViewController, ready to use in your own projects, to quickly simulate interfaces using navigation and tables. I’ve been using this code in several prototypes, and it allows me to quickly craft navigation-based applications loading several different tables. The AKOEasyTableViewControllerDelegate protocol allows other classes to be notified of taps on cells or on accessory buttons.

The code is available, as usual, in Github with a liberal BSD license.

Season’s Greetings

arbol2.png

Whenever you are, whichever language you speak
akosma software wishes you happiness and health for 2010!

Thanks to Claudia for the artwork and to Omniglot.com for the phrases :)

Mention on Patrice Neff’s blog

The past few days I created a mobile site for Memonic. During this I made use of some of the newly found knowledge from the past Webtuesday which Adrian Kosmaczewski was kind enough to share. See also my notes about iPhone web development from that event.

“Yahoo! Blueprint for mobile sites” in Patrice Neff’s blog.

Kevin Smith iPhone Application

splash-228x484.jpg I’ve just been notified by the nice guys from DenVog that the Kevin Smith iPhone application includes code from my Asynchronous UITableView sample, posted earlier this year. The app also features the MGTwitterEngine from Matt Gemmell, too.

Thanks for the credits guys! I’m glad my code has been helpful to you.

10 Things Every iPhone App Designer Should Know

Design is a fundamental part of iPhone app development. It is, without any doubt, the difference between a crappy and a great application. It can be the discriminating factor of life and death on the App Store, and the competition is brilliant and strong. The best teams, like Tapbots, Sophiestication or Jilion have understood that design is part of the process: not a nice to have, and certainly not an afterthought.

3709438002_021cb14518.jpg

However, this does not mean that designers coming from a web or print background are ready to tackle design projects for the iPhone ipso facto. I’ve seen too many horrors so far, and that is why I am making public this list of tips and tricks that I keep repeating to all the designers I work with.

  1. Read the iPhone design guidelines. Thoroughly. Twice or even better, three times until you know them by heart. Depending on the budget and the timeline, it might be impossible to create custom components or to achieve all your fancy animations and effects; in that case, you should stick to the UIKit widgets catalog for your designs, including all of their limitations. Once you’ve read the guidelines, buy these books and read some more:
  2. The iPhone is more like a motion picture than a static image. Even the most basic applications feature animation, beautiful scrolling and swiping and pinching. Thus, that gorgeous Photoshop file is not enough; you will have to explain to me your idea, frame by frame, like if you were writing a screenplay; every animation, every step, every transition must be as documented as possible for the developers to be able to bring your design to life.
  3. Fingers are bigger than mouse pointers. The minimum size for an area that should be tapped is 44 pixels wide. Smaller buttons or icons are simply unusable. And since we’re talking about sizes, the status bar is 20 pixels high, toolbars and navigation bars are 44 pixels high.
  4. The iPhone has a limited set of fonts. Not all the fonts you have on Photoshop are available on the iPhone, and at least so far, there is not an easy way to integrate external fonts in an iPhone application. Grab a copy of RooiFonts and learn which fonts are available on the iPhone. And avoid Marker Felt altogether. Please.
  5. The four golden screen sizes:
    • Portrait without status bar: 320 x 480
    • Portrait with status bar: 320 x 460
    • Landscape without status bar: 480 x 320
    • Landscape with status bar: 480 x 300
  6. Think PNG. Whenever you have to provide graphics for the iPhone, remember that PNG is the best solution. It supports transparency, lossless compression, lots of colours, and the iPhone can optimize them even further. By the way, every app needs a “Default.png” file (shown during startup) of one of the four golden screen sizes enumerated above. And an “Icon.png” file, 57 x 57 pixels wide.
  7. Create your icons using the biggest possible resolution you can. The App Store requires you to provide a 512 x 512 TIFF file, at 72 DPI, but if your application is successful, they might ask for a higher resolution file for a commercial. Your best idea then is to design your icon as if it were to be printed in a huge banner.
  8. The status bar on top of the application can be removed altogether. Unfortunately it can’t be customized beyond a small set of options, and basically you can only have it gray, black or translucent. You can apply a bit of color to the status bar by having a coloured view underneath, but it might not look the way you want.
  9. The iPhone OS provides some functionality for free, including all the widgets and some more obscure behaviour, for example, tapping the status bar makes lists scroll to the top, and tapping a tab bar item makes the navigation return to the root controller. Some other things, like Convertbot-like “scrollwheel menus” are not part of the toolkit and might take a bit longer to create.
  10. Photoshop is not enough. Use a paper-based design sketchbook, preferably one with a stencil, and draw your application manually. This will help you figure out features and interaction without committing to a visual design. Then ask your nearest developer for the iPhone SDK, install it and play with Interface Builder. I said play: don’t try to understand everything you see, because it’s a rather complex tool. But you can drag and drop components, and the inspector allows you to change styles and move things around. You will learn a lot, and most importantly, you will see things through the eyes of a developer.

I’d like to hear more tips and tricks. Feel free to leave them in the comments below!

Reducing the Carbon Footprint

From the beginning, akosma software was created with the objective of providing its customers with high quality software in different platforms. However, we are aware of the complex social and environmental context we are living in, and the current and future challenges generated by our daily actions on the climate of the planet and the fate of our world.

In particular, the use of computers, smartphones, electronic devices and other gadgets clearly has a strong impact on the environment, which we should try to evaluate and reduce.

leaf.png

To address the issues of carbon emissions, akosma software makes a vow of respect of the environment, and takes the following decisions towards the reduction of its carbon emissions, which in turn have a strong human impact:

  • We will promote and encourage the use of public transportation and/or bycicles over fossile fuel-powered private vehicles whenever possible.
  • We actively reduce our energy consumption by turning off all lights and computers at night, instead of leaving them running in “sleep” mode. We also use energy-saving light bulbs and actively look for ways to reduce our energy consumption.
  • We promote the use of telecommuting, using tools such as Google Docs, Skype and instant messaging tools, which help people work together without having to be in the same room. While not always possible, our experience suggests that 60% (some say even more) of the normal work on our industry could be done from home. Which means less transportation and a more relaxed staff.
  • We will always make sure that water taps in our offices don’t leak and don’t lose water. We try to reduce water losses and to enjoy responsibly every drop of it.
  • We will avoid printing copies of electronic documents, unless explicitly required by third parties. We will use recycled paper as the base supply for our printing needs. The same goes by choosing not to buy paper copies of books or magazines, and instead to choose their electronic versions.
  • We will subcontract out only to companies with a strong ecologic and ethic engagement, for example when dealing with hosted service companies or any other supplier of services.
  • We will properly dispose of, and recycle whenever possible, as much used material as possible, including, but not limited to, paper, aluminium, batteries, electronic devices, recyclable organic waste and other elements.

Through these simple steps, akosma software aims to reduce its environmental and social impact to the minimum, and we choose to disclose these steps publicly for raising awareness in other companies as well.

What are you doing to reduce your carbon footprint? Feel free to share your tips and tricks on the comments below.

Upcoming Conferences: SDC in Göteborg and iPhone Dev Days in London

2010 will be for akosma software, without any doubt, the year of the conference.

I am delighted and absolutely thrilled to announce that there already are two major events in the agenda for next year, where I will have the privilege to share the stage with major names in the field, to talk about this passion, namely, iPhone software development:

sdc.png

First, there’s the Scandinavian Developer Conference 2010 in Göteborg, Sweden, on March 16th & 17th, 2010. This event features this year a mobile technologies track, and I will be giving an introduction to iPhone development, as well as a more in-depth discussion about consumption of REST services from iPhones. In the same conference there will be sessions about MonoTouch and Android, so all in all it is an event I’m really looking forward to attend.

iphonedevdays.png

Then, the following month, the iPhone Dev Days 2010 in London, organized by Trifork and sponsored by O’Reilly, taking place on April 26th, 2010. I will be on stage with Raven Zachary (creator of two Top 20 iPhone Apps, and Founder of iPhone DevCamps, and owner of the company that created the official Barack Obama iPhone app), Bill Dudney (yes, the iPhone Development Guru and Best-Selling Author of iPhone SDK Development and Core Animation) and Sumit Rai (creator of the Deutsche Bank Application and Founder of Kulu Valley).

I look forward to meet you there in person! I will be blogging more about these events next year, as I am extremely honored about participating to both events, being 100% sure that they will be resounding successes.

Don’t hesitate to stop me to say hi, or to e-mail to ask questions before the events. As usual, feel free to browse my previous presentations on SlideShare.