Writing Functional Specifications Document

Joel on Software

Painless Functional Specifications – Part 3: But… How?

by Joel Spolsky

“Since then, program managers at Microsoft gather requirements, figure out what the code is supposed to do, and write the specs. There are usually about 5 programmers for every program manager; these programmers are responsible for implementing in code what the program manager has implemented in the form of a spec. A program manager also needs to coordinate marketing, documentation, testing, localization, and all the other annoying details that programmers shouldn’t spend time on. Finally, program managers at Microsoft are supposed to have the “big picture” of the company in mind, while programmers are free to concentrate on getting their bits of code exactly right.

Program managers are invaluable. If you’ve ever complained about how programmers are more concerned with technical elegance than with marketability, you need a program manager. If you’ve ever complained about how people who can write good code never do a good job of writing good English, you need a program manager. If you’ve ever complained about how your product seems to drift without any clear direction, you need a program manager. ”

Referance: http://www.joelonsoftware.com/articles/fog0000000034.html


Future of Money

Things have changed. Things have changed a lot. Never mind the first civilizations that took place centuries ago, but just consider 1950’s. (I think it is funny for a person born in 1986 to say that :), but let’s admit it, things have changed dramatically in most aspects of life since then.) So did the money, and the way we purchase.

In first civilizations, people used barter. They exchanged livestock or crops that had personal values for them. Then they started using shells for medium of exchange. Later metal coins came into stage. Then the banknotes and then the credit cards appeared.

We are not seeing that much of banknotes going around us in daily life any more. Most of the payments are made by credit cards or transferred digitally via banks. To speak for myself, I only use cash when I use taxi or buy a bottle of water from a store.

The future of money has been a hot topic. Although money’s form has changed a lot, it is expected to be changed more. (I think it is gonna vanish 🙂 ). With the rise of smart phones, tech and finance companies try to use the smart phones as a digital wallet which people can use for their purchases.

These smart mobile phones have been already doing a lot in terms of financial issues. For example, more than one third of smart phone users  in United States have used mobile banking services and 90% of them check account balances and recent transactions, 42% of them transfer funds and 12% of them have made payments such as paying bills online. Also according to a research from comScore 38% of smart phone owners have used their cell phone to make a purchase of some kind, with digital goods (such as music, e-books or movies), clothing and accessories, tickets and daily deals leading the way as the most popular mobile retail categories.1

Although digital wallets or mobile payments are not widespread yet, companies have already proposed some solutions. Google launched Google Wallet in partnership with CitiBank and Mastercard based on near field communication technology (NFC).  Another NFC based payment system called ISIS will be piloting in partnership between Verizon, AT&T, T-Mobile, Visa, American Express, Discover and MasterCard.1 This system works by tapping or taking  the smart phone closer to the point of purchase hardware in collaborated retails. Paypal and square applications offer mobile payment alternatives for retailers by embedding an extra hardware (plug-in) where customers can swipe their credit card and complete the payment. You can watch the videos below to understand how it actually works.

Google Wallet






I think all parties that are involved in mobile payment sector waits for Apple’s move, since they didn’t launch a dramatic application or hardware related to this topic. Since Apple has already credit card information of millions of users because of iTunes, a clever move of theirs can change the rules how this game is played.

Very recently Apple launched an application called Passbook, which collects all your store cards, gift cards and coupons(generated in related iOS apps) in one place, enables localized notifications for already bought tickets or owned loyalty cards and makes Apple approved way purchases available. It is not a digital wallet alternative right now but who knows if it is going to return into one soon? For more information on Passbook you can click here.

In my own opinion these mobile digital wallets have many advantages over the traditional one :). It does collect all your financial information in one place which saves you from carrying multiple cards and cash. It can use your location info for more convenient experience and track and save your purchasing behavior in order to use for customized promotions.

I am eagerly waiting for widespread adoption of mobile payment services. It will be much more comfortable and easy for costumers.



55 Future Jobs that Don’t Exist Today

I just read an article about future jobs by Thomas Fray. Actually he has very broad insights about the future. You can find more information about him and his works from this link.

I totally agree that most of the jobs we see today will not exist in future. We improve technology so fast that i think most of us will witness this dramatic change. Thomas Fray listed 55 future jobs, and I took 10, which i thought was the most interesting.  Below I will detail most of the job titles in my own words, and you can access the original article from this link. For people seeking jobs, investing in one these areas can be a smart thing to do.

1. Augmented Reality Architects: As the online and offline worlds intertwine more than ever, in future most of the physical objects will have augmented reality function.

2. Business Colony Managers: “The average person that turns 30 years old in the U.S. today has worked 11 different jobs. In just 10 years, the average person who turns 30 will have worked 200-300 different projects. Business colonies are an evolving new kind of organizational structure designed around matching talent with pending work projects. ” More information on this link.

3. Avatar Designers: Soon Avatars will appear as visual beings start to walk around, carry out conversations and stand-in at meetings for us. More info on this link.

4. 3D Food-Printer Engineers: Soon we will be able to create the perfect food for us, 3D food printers are on the way. More info here.

5. Book-to-App Converters: “With both being information products that we interface with differently, we will begin to see a large scale effort to convert existing books and literature into an interactive app, similar to the current effort to convert popular literature from print to audio books.”

6. Social Education Specialists: People learn from each other and it will be more important to create circles of friends, that we heavily rely on for valuable information. It will be important to be in people’s circles.

7. Privacy Managers: If you think you already lost most of your privacy, I would like to tell you that this is just the beginning. Obtaining the perfect privacy-transparency balance will require professional help. More info on this link.

8. Data Hostage Specialists: As more valuable data can be collected by firms/organizations/people, people hostages will be replaced by data hostages. Data-hostage negotiators will rise.

9. Organ Agents: “The demand for transplantable organs is exploding and people who can track down and deliver healthy organs will be in hot demand.”

10. Elevated Tube Transport Engineers: “The next big infrastructure project on planet earth will be a human and cargo transport system designed around a network of vacuum tubes with maglev tracks. Operating at less than 2% of the cost of today’s car, truck, jet, ship, and train systems, this emerging tube transport system will be a massive undertaking that demands talented new-age thinkers for decades to come.” More details here.

Top 10 Forecasts for 2012

I have been into futurism, more than ever before. It is just so exciting to see the latest improvements in technology and its side or direct effects on our daily lives. When I think about the old civilizations that took place thousands of years ago, I cant help but feel grateful for living in 2000ths. By then you would be lucky to live 30 years, finding food was a big issue, and there were a lot of threats to your life. There was no light, no heater, nothing to read and learn. For me it sounds very boring.

When I think about of 50 years ago, still it sounds very boring. By then, it was not that easy to travel to other parts of the world, meeting people from other cultures, listening the music you wanted, watching the movies you liked. Or still if you get a severe disease, you were not very likely to survive easily.

And just think about the moment we live in. You don’t have to wait for the radio to play your favorite song. It is just a few clicks away. Even Youtube can suggest music according to your taste, and you can discover new songs. You can watch your favorite movie online any time you like. You can access a tremendous amount of information anytime. Everything is in abundance. (We hope to use renewable energy more in the future of course, so that we don’t run out of resources)

And when I imagine the future, it gets more and more exciting. Everything will be much easier. Probably there will be no schools, no sick or blind people, no traffic and I imagine there will be no airplane crushes or people dying because of collapsing buildings in earthquakes 🙂 (I am sure they can find a solution to some of the problems we face currently)

I came across this amazing video on internet. It is prepared by World Future Society. I think it is an incredible source. I encourage everyone to follow it.

According to the video;

  1. Learning will become more social and game based, and online social gaming will soon replace textbooks in schools.
  2. Commercial space tourism will grow significantly the coming decade.
  3. Nanotechnology and biomimicry offer hope for restoring sight. (Can you believe this? People will not have to live blind for whole their lives.)
  4. Future buildings may be more responsive to weather fluctuations.
  5. The end of identity as we know it: It will be easier than ever to create a new identity or identities for ourselves.
  6. Robotic earthworms will gobble up our garbage.
  7. Lunar based solar power production may be the best way to meet future energy demands.
  8. Machine vision will become available in the next 5 to 15 years and grow more sophisticated over time.
  9. The dust bowls of 21th century will dwarf those seen in twentieths. (This is not a good news of course)
  10. Advances in fuel cells will enable deep-sea habitation.

You can watch the video below for more details or you can visit Ray Kurzweil website. There are very valuable information.

How to design for iOS based devices

I think User Experience has became one of the most important concepts used in the digital era. Now everybody (software developers & companies) aims at delivering the highest level of user satisfaction via their products. In my view, the importance of user experience has been overwhelmingly recognized after the success of Apple products.

Steve Jobs has shown us that; when it is easy to use a product, people will enjoy using it and resist switching to other brands. You can view a loyalty research made on mobile devices from this link.

So today I wanted to share a few guidelines on designing user interfaces on iOS devices. I have used Apple’s original guidelines document, and it is fully accessible on this link.

1.An app should fit well on the device. You should make sure that your app looks and feels like it was designed expressly for an iOS based device. If it feels like it was designed for a different device or web, people are less likely to value it.

2.People respond to gestures, not clicks. They tap a button to activate it, or pinch open to zoom in on an image. So an app should use the gestures that people know.

3.You should provide a beautiful, custom app icon that people will enjoy seeing in app store and home screen.

4.Consistency in interface allows user to transfer their knowledge and skills from one application to another. A consistent application is not a copy of other applications, rather it takes advantage of standards.

5.An application should be consistent within itself too. Text should use uniform terminology and style. Same icons should always mean the same thing.

6.Virtual objects and action in an application are metaphors for real world objects. Using metaphors allows users to quickly grasp how to use the app. The most common example is the folder icon. People put things in a folder, so they do the same on PC.

7.An application should give user the maximum control while preventing dangerous outcomes. User may want to stop an operation that is underway or they should get a chance to confirm their intention to perform a potentially destructive action.

Future of Internet

I just watched the video of Roger McNamee on Ted Talk about the future of internet. I find it valuable to share a few words. If you like to read in Turkish, here is a website you can visit.

Windows is Dying

Mcnamee claims that Windows is dying. He says Microsoft can maintain growth with the other types of products but not desktops. To strengthen his assertion he use statistics. 3-4 Years ago Windows were accounted for 90% of internet connected devices. Today this number has decreased to 50%. And it is all because of smart phones.

Enterprise Software is Dying

According to Mcnamee, along with Windows, enterprise software business (such as SAP) also face a fall. They are the business that will fade away and open way for new industries. When I think how big the enterprise software industry is, I cant help but wonder how such companies will change the way of doing their businesses.

Google is no more the dominant player in internet

He continues by saying Google has lost its position as the dominant player in internet and it is impossible to gain it back. Now we have Wikipedia for information, Twitter for real time news, LinkedIn for professional business (etc.) that we use for search instead of Google’s index search. Another point Mcnamee makes is that, it is hard to do index search on mobiles. One other reason on why Google may be losing its leadership on search.

Web is dead, it is apps’ time

Web is dead, and it is apps’ time. People prefer to use value added, beautifully designed apps over “www”. Steve Jobs’ vision changed the game. Mcnamee says, before it was about keeping the balance between Google’s commoditization and Apple apps, but from now on it will be about keeping the balance between highly sheeted content (html5)  and Apple apps. He truly believes in html5 and thinks the ability to embed interactivity, video, audio (etc) to webpage without the need for flash boxes will make a huge change for internet.

If you do not own an iPad, you can’t understand what is going on

With his next statement Mcnamee caught my heart. I have always been a big supporter of Apple products. I truly believe that the experience it provides is remarkably different and superior than any other product. He is such brave to say “If you dont have an iPad, you can not understand what is going on there.” Tablet market is growing and iPad is still the market leader, and he says he does not see any other significant players in the market.

Social is just a feature

Finally he ends his words on social media. He sees Facebook as the most powerful social platform, and advice “if you gonna do a start up on social world, build it on top of Facebook, but most important piece of advise is; forget social.” He says social is just a side show. It is a feature that you should embed in your product.

“Future will be different, we are going from an elevator type of internet (where we go to different places and lose people) to a control panel type of internet. Finally technology is doing us a favor.”

Near Field Communication (NFC)

Futurist David Passig has shared his thoughts about the coming technologies in near future. The article is based on the the changes we will face from 2012 to 2050, and he asserts many of these technological changes will take place very soon,  such as 2012. The original article can be accessed from this link (It is in Turkish). The article lists 25 foresight, and I decided to write a post about every item in detail.

Today I will talk about Near Field Communication. Basically it is the wireless communication between two devices located very near to each other, like a few centimeters. It enables simple and secure interactions and allows consumers to perform contactless transactions, access digital content and connect electronic devices with a single touch. When compared to Wi-Fi or BlueTooth, it is operating on a very short range and it is much slower than the other two technologies but what is magical about NFC is that when two NFC supported devices come together, they are setting up a connection  immediately, without a need to discovery ( as in Wi-Fi), to pair up or to enter passwords. It can also contact to passive targets, such as stickers or posters, that have chips embedded inside.

I think best way to describe NFC is to give examples from the possible uses of this technology. Altough some of these examples are available currently, I think it will be much more common in the future. It takes some time for consumers to adapt changes.

Possible uses of near field communication;

  • You can transfer the video you are watching from your phone to TV just by bringing close.
  • Peer to Peer interactions, such as playing multi-player games.
  • You can use your phone as your credit card and make purchases.
  • Buy tickets of your favorite concert from it’s NFC enabled poster.
  • Use your phone instead of tickets for public transportation.
  • Use phone as your key to your car and house.
  • Access immediate information on a NFC tagged object.

You can access articles about the examples of  NFC usages from here and here. Also you can watch the videos that demonstrate the possible uses of NFC below.