Guillem Fernandez

About my job and my passion.

Open Weather - Inception Deck

  • To give the community new material that can be freely distributed.
  • To have a good time.

The elevator pitch

For developers.
who are newbies or want to learn a new methodology.
the Open Weather App.
is an easy and complete example.
that implements an App that is able to look for the forecast of a selection of cities.
unlike the rest of the weather apps that are in the store.
our product is open source and can be built, changed and inspected.

Product box

product box

NOT list


  • Select and deselect cities
  • Remember selected cities
  • Perform animations


  • Add new cities
  • Save forecast


  • Reorder cities

Meet your neighbours

Just because in this case we are going to do this project alone, we don’t have any neighbour, but this is the perfect situation where you’d need to list all that people that is related to the project, near to you or that can do some work in the project that you don’t know how to do or is not one of your skills.

I would add here a designer (Don’t forget that if you want a good product don’t try to design it from your perspective of engineer), a translator if you want multiple localizations, maybe an accountant if there is some kind of financial calculations that your app have to do, etc …

Here is the place to list all that people, with their contact data, their skills and, if you think is appropriated, their fares.

In this group you could also add those meant to be recipients of the App as, in other situations they probably would like to say some words about the proposal, the design and the time estimations.

Show the solution

Because of the simplicity of this project, there is not many documents we need to create before starting, so I decided to add a general schema, and screens mockups.

Forecast screen City selection
City help Forecast help

Screen flow schema

Inception Schema

Ask what keep us up at night

  • Changes in the service we decide to use to get the forecast.
  • Excess of API calls that may collapse the service as it is a free service.

Size it up

As we have a project that is going to be published through a blog and a podcast, we are being a little tricky here as we are taking more time than what it should take.

  • 1st Delivery: Inception Deck
  • 2nd Delivery: Develop the model
  • 3rd Delivery: Develop the views
  • 4th Delivery: Develop the controller
  • 5th Delivery: Develop the animations
  • 6th Delivery: Build and upload to App Store

time line

Why Should a Company Develop an App

This is a question asked by many business leaders because of the big amount of apps that are coming to market daily while, also, probably their competitors have an App , with varying degrees of success, but have App.

In a way the Apps are currently experiencing the same boom in the nineties lived web pages. During this period all companies wanted a website, they were unclear why or what for but they wanted web presence. This often ended up being counterproductive for companies since the image or experience offered to your potential customers did not always correspond with the reality of the company.

Therefore I’ll try to explain what are, from my point of view, the reasons that should lead a company to have a App and what should be avoided in order to not end that App causing the opposite effect to that intended to obtain a principle.

Communication with the end Customer

The mechanisms of communication with customers are becoming more vital aspects that the company must seriously consider and that will let one transmit a series of values, brand image and provide a closeness that is currently too expensive, slow or sometimes unapproachable.

A clear advantage that certainly provides a channel of communication with the end customer is the ability to transmit in a fast, clear and direct way those innovations, products, promotions or any specific or special communication that seeks to spread. Keep in mind that this immediacy and ease is often a double-edged sword because the barrier between promotion and spam is very thin and is therefore a mechanism to be used properly and carefully studied.

While communication is important in that sense, we should not forget all communication obtained in the opposite direction, from the customer to the company. To know which are the main time of consumption, acquisition or use of the services is information that can be of great use, not only for its informative trend but for its immediacy, we could say that we get information “in real time” since an App allows users consume the product or service at the moment they want and not when it happens to have a front desk.

Facilitate tasks with Suppliers

If on one hand the company a company has customers, on which they have more dependency than control, on the other has suppliers on which it can possibly have more control or pressure.

One of the big problems with suppliers is the diversity of methods, documents and applications they use for communicate.

In this aspect a App can provide a system by which providers can have a real knowledge of supply needs, a system for receiving orders and a that these should be formulated and introduced in a standardized way for the company.

Customers Loyalty and facilitation of tasks

If the reasons previously commented, perhaps more obvious,were focused on an end customer oriented App, there are many reasons that apply to commercial customers, customers who process the product offered or simply intermediaries. Some of these reasons could apply to retail customers, however I’ve decided include them here because I consider that professional customer will probably claim more for them.

Providing customer App that allows automatic or semiautomatic orders based on parameters, allows the company to better planning. An App that provides a report of changes in stock and could perform based on certain parameters to issue an automatic order through this same App, can be a competitive advantage over other companies by enabling customers greater control about their stocks and even maintain a lower volume of product stored.

At the same time an App can inform at realtime about promotions at the moment of ordering.

All these advantages, that anyone could think that may be present from a desktop terminal, must be considered in a different way as lets the customer to have them without the need of any infrastructure or fixed localization . Equipping the terminal with a bar code reader can even place orders for replacement even more dynamic.

More realistic activity control

As I said before the fact of having an instrument, an extension of the company in the hands of the end user provides endless possibilities of information and “control”. Usage statistics and actual consumption of services and real customer distributions. Customer reactions to the introduction of new products or changes in the products and services offered. An increase in sales through the mobile channel can be detected in an extremely agile way, and connected with an appropriate knowledge management system can to provide real-time information and therefore provide for an adequate reaction time.

At the level of the internal sales force may be more appropriate to give an example to list advantages. Several companies are already using iPads so that your sales force only needs a small device to place orders, check inventory, report activity or business planning daily, weekly or monthly or hot zone maps optimized route suggestions that can be updated as the activity is performed daily.

Increase Client Portfolio

Finally, one of the most important and probably the reason the end of activity, increasing customer base and hence sales. Entering the App Store now means placed at a potential market of over 200 million users worldwide. That’s a big advantage or it can be a big mistake if not done in the right way and rushing the project with the required dedication.

Develop a App or not depends on many more reasons, these are just a few, but it is always one constant is that the company that starts a project should be aware that is his image that will be projected at about 200 million users, and the programmer who develops the App will not be the one to suffer the consequences of poor or inadequate Apps. That is why it is so important deciding to make the development as finding the professional development perform. In future posts I will discuss how to approach the development of App, what are the requirements for a company to develop an App or what is the cost of developing it.

I hope this post has been helpful and I invite you to send comments or suggestions that you may believe as about the post.

Wellcome to My Blog

This is the first post and would like to introduce and present the blog, which is my goal, what will be the frequency with which I will post and how will it be related to the associated podcast.

Lets begin with introductions. I am Guillem Fern├índez and as you can see on my home page, I’ve been in the world of application development for some time. My professional life has taken me in various ways that have given me the opportunity to develop, manage teams, perform business tasks, management, recruitment and a lot of consultancy. Despite having had such different experiences, I have never stopped working as developer, sometimes as primary occupation and some others as a second job done on finish my main occupation.

I have been collecting a lot of knowledge from all my experiences, some from successes and some other from failures, that have shaped me as a professional with experience in diverse areas of knowledge and has given me the opportunity to have a wide overview of technology.

My career has led me to the Apple development environment when about three years ago I discovered the world of iOS. After three years of working in this environment I decided to create this blog to spread and, why not enjoy a little more of my passion.

At this point of my professional life, I’ve found the balance between the three characters that we all have inside as Michael E. Gerber explain in The E-Myth Revisited and think it’s a good time to share my knowledge, enjoy with it and hopefully help to enhance your personal and professional life.

The purpose of this blog is, along with the podcast, to guide, inform and help professionals and companies on those issues and technologies that I’ve been perfecting over the time, providing the necessary information to develop their personal and professional projects.

To do it, the posts will generally consist of two parts, one in which I will review more theoretical or more organizational and functional surrounding the development of iOS applications, although many of these explanations apply to other development environments, mainly mobile, but also desktop or web applications.

The other part of each post will consist of a step by step tutorials on how to develop a complete application. In those tutorials I will try to show the process of developing an App in a comprehensive way, from conception of the idea, the design, testing and finally to the publication in the App Store. All applications developed will be downloadable for free from the App Store and its source code obtained from my GitHub account.

Finally say that the timing of the post will be fortnightly, about two posts a month and two chapters of podcast, but there can be occasions when due to unusual circumstances may have posts in between. In the latter case the structure will probably not be the one I just described.

Well, I have nothing more to say to you except that I hope you find it useful. I will appreciate any feedback and constructive criticism.

See you soon.

Guillem Fernandez