Author Archive
Things I love and hate about the iPhone
by kelvin.kang on Mar.05, 2010, under TechnoFrazzle
It is a pretty known fact that I LOVE the Windows Mobile platform and consider it the best mobile platform purely from a technology standpoint. However, when I joined Canpages in November, I was given the opportunity to purchase any phone that was available by Rogers. Given that I owned both HTC Android phones and Rogers did not carry any Windows Mobile phones that was worth acquiring, the only real choice left really was to get a 16GB iPhone 3GS. I approached that decision with a lot of mixed feelings. In my initial use of the iPod Touch, I really disliked the experience. However, I only used it for a few hours at a time, I was willing to give it another try. Here are some of my thoughts after almost 4 months of use.
I haven’t tried the Zune yet but I have to say that the iPod is a fantastic music player and the integration to iTunes is quite seamless. I love the fact that it can carry a copy of my favourite music with me any time I want.
The tagline for the iPhone ads is quite true. And at the heart of any smartphone OS, it is really about apps. There’s an application for almost everything that you can think of. Unsurprisingly, I install a lot of applications. Most free and some paid. I am a bit mixed about if they are cheap or not. In comparison, I probably spend as much if not more on apps on the iPhone as there is no concept of trial versions for apps and I’m constantly paying for apps in order to find a few good ones.My must have apps on the iPhone are Newsie (Google Reader integration), Pocket Informant (much more intuitive than the default calendar), Trillian (instant messaging), Tweetdeck (Twitter the way I think about it) and Shoutcast (Internet Radio)
This came as a surprise to me actually but the on-screen is not only adequate but I would classify it as extremely usable. There are so many little things about the implementation of this product that made me not miss my hardware keyboard as much as I thought it would. I love that it predicts my mistyped words at a relatively high accuracy. The only times I would have to go and manually correct words would be when I use words that are common among my friends. I like the fact that it remembers the casing of the word that you’ve corrected so you don’t have to remember what it was before. The one thing downside of the on-screen keyboard and this is common for all on-screen keyboards is that it does take up a lot of screen real estate when it’s activated.
When the iPhone first launched in 2007, it had the best User Interface out there. It’s greatest differentiator – it was understanding that the use of a stylus was an utter failure and reduced the adoption of mobile devices. It kept the user interface simple and to the point. Even then, the user interface wasn’t perfect and it still isn’t. It’s even hard to say if it’s even the best user mobile interface out there. It’s not dramatically worse than anyone out there. This part is more directed to fanboys who claim that this is the most intuitive interface. While there are a slew of frustrating problems, here are three that drive me crazy. The first is difficult for one-handed use. Many apps have buttons on the top left or right of the screen. This actually makes it difficult for one-handed use. I like the fact that for Windows Mobile, the menus are usually on the bottom left or bottom right hand side. Another is the use of the keyboard. Depending on the app, you either have to press a button on the screen or a button on the keyboard to execute a function. Minimizing a keyboard is even more confusing. Sometimes it’s clicking on another part of the screen and sometimes there’s just no way of minimizing the keyboard. In both Windows Mobile and the Android, there’s usually a button that minimizes the keyboard. Last but not least, is the settings of the app. Sometimes you have to configure the settings within the app and sometimes you have to go to the General Settings that is native to the iPhone app to set it and sometimes depending on the function, you have to check both. In both Android and Windows Mobile, they are always within the app unless it’s native to the Operating System.
Although I rarely use the phone functions of my phone today, when I use it, I have certain expectations of it. For one, I am used to using the dial pad to spell out the name of the person. The dial pad is a lot bigger and it is much faster to type through than using the full keyboard. With the iPhone, I first have to click on the phone icon, followed by clicking on the contacts, scroll up to the search bar and then start spelling out the name of the person I’m trying to call. With my Fuze, this same use case is simply press on the phone button, start using the numeric keypad to spell out the name of the person I want to call and it’ll automatically start matching the names of the people that I want to call. The saving grace for the 3GS, however, is that, just like Windows Mobile, the voice command does not need to be pre-programmed and is a relatively quick way to dial someone’s number if you can pronounce the name properly.
Playing with my new toy – Motorola Milestone
by kelvin.kang on Feb.28, 2010, under This-and-That
The one thing that I have really enjoyed about my experience about working at Canpages is that they have been very focused on giving their employees the right equipment to to do their jobs. As soon as Telus announced that they launched the Motorola Milestone which is the GSM version of the Droid, I got my hands on one within the week.
Part of the reason why I wanted to get the Milestone was because it was touted to be the iPhone killer. Realistically speaking, there will be no such thing in 2010 or even 2011. The iPhone will be here for a while. For me, it will be more of the quest to replace my HTC Fuze. My one day’s worth of playing with the Milestone has been mixed but it’s trending positively. I will write more in subsequent entries.
Google Buzz creating too much noise?
by kelvin.kang on Feb.12, 2010, under TechnoFrazzle
There was an interesting Buzz going on started by Louis Grey, one of my favorite bloggers on the web where he’s talking about the noise that cross posting makes. I tried to submit a comment and I couldn’t so I opted to write this thought on my blog instead
Historically speaking, there has been minimal overlap between my Twitter followers and my Facebook followers as I use both quite differently. Buzz is the first time where this problem is about to be an issue. I had originally started this comment with the thought that perhaps the answer is two-way response on Buzz but the solution really is much more intricate than that. It’s got to be automatic aggregation of posts ala Thoora as well. It’d be neat to post something and Buzz automatically recognizes that it already went to other feeds and not post it multiple times but just badge it to say that it was posted on Buzz, Twitter and Facebook for instance. That would make Buzz a much more powerful social tool indeed.
Changes coming to Canadian Maps from Waze
by kelvin.kang on Feb.09, 2010, under Gizmodoodats, TechnoFrazzle
I was quite excited to receive this email from Waze yesterday. Waze has been one of my favorite mobile apps of late. My major complaint was of course that there were very no Canadian maps available. With new Canadian maps, this could very well be a killer navigation tool while still providing real time information that you’d have to pay for from other providers like Tom Tom for instance.
Hello Canadian mappers,
Some great news – we have acquired a base map for all of Canada (thank you Canadian government!) and we will start loading them to the cartouche.
While this change is great, we realize this brings a few concerns to all the hard work you’ve put into creating the waze maps so far, so we wanted to explain how this process will be carried out which is why we’re sending this email.Before we start, you should know that you can take a break for the next 2 days. Any changes made after we start the process will not make it to the final version of the map, and we don’t want you to waste your time. We will also put a big red pop-up on the cartouche itself letting you know once we started our work.The technical descriptions are below (and my apologies for sending such a long email… only read if you’re interested).At the end of the process, Canadian maps will remain on www.waze.com/cartouche, and aerial images should be up and running in the background.Thanks and please feel free to email us if you have any concerns or questionsDror=========Technicalities:
So how will the maps be combined? I will refer to two maps – the GOVT (new base map from the Canadian Government) and USER (existing cartouche maps)
- Since the GOVT has more segments, this will be the base for the new map.
- Each segment from the USER maps will be checked for a matching segment from the GOVT. If there’s a match, the the GOVT segment will keep its shape, but the driving direction, street name and ownership will be changed to match the USER segment.
- If there’s no match, the USER segment will be added to the new map with all characteristics (including shape).
- We will run a process that automatically recognizes highways. This process connects the highways to ramps and opens the driving directions. In this case, any prior info from the USER maps will be kept (info will be added only on new segments).
- We will run all the drives in Canada up to date; this will open driving directions on all segments that were not created until today and create routing connectivity (allowed turns).
- As for connectivity; the GOVT maps come with physical connectivity (nodes and their connection to the segments) but without routing connectivity (allowed turns). Unfortunately, we cannot move the routing connectivity from the existing cartouche when a new segment is involved. The only case where connectivity is kept is where two segments were not recognized completely and copied as is from the USER maps (3rd bullet above).
What should you expect?
- First of all, great new maps that will make it a lot easier for you to complete the work on your area.
- But… also some problems. Most likely you’ll notice a few places where there are duplicates, in case that the USER and GOVT segments were not matched properly, and so both were created in the final map. This is where we will need your help in editing and deleting the extra roads, so if you are not an area manager yet please let us know and we’ll be happy to see if you can join the area managers community.
- Routing might not be optimal; even if you got the routes around your house on a good level, you will notice a decrease. This is because we cannot copy the existing routing connectivity (see last bullet above).
As mentioned before, we will put the pop-up on the cartouche once the work begins (most likely in the next couple of hours or by tomorrow the latest) which will be your cue to take a break. I will also post this on the forums.
–
waze support team
www.twitter.com/waze
alpha@waze.com
Share your experiences on the road with other wazers – waze.com/user_blog
Waze – Twitter for navigation
by kelvin.kang on Jan.08, 2010, under Gizmodoodats, Social-Experiment
Lately I’ve been addicted to a pretty neat application called Waze. It brands itself as a social navigation app and has apps for the iPhone, Android, Windows Mobile and Symbian. I actually played with both the iPhone and Windows Mobile app and both work pretty decently. The app is pretty addictive. You essentially get points for numerous activities such as simply driving around, sharing event such as speed trap, recording new roads and yes, even editing the map. The mobile app works like it’s supposed to although I surprisingly had more problems connecting to the GPS with the iPhone than I did with the Windows Mobile which is quite rare. The web application is simplistic. You have a dashboard that shows you your previous trips and then you can choose to click them to view those trips. You could also choose to use those trips to enhance a current map by filling out roads that are missing and so on. I like the idea of editing my maps but I find the experience quite frustrating at times. Hopefully over time, they will continue to improve on it. The mobile app also integrates with both Twitter and foursquare.
Although maps are pretty sparse in Toronto and thus rendering navigation pretty useless in my area, it is easy to see the use of Waze. Every once in a while, I’ll get an alert stating that segments of the 401 have medium traffic followed by the speed of an anonymous user at the time. People can also report various things such as accidents on the roadways. One of the issues is that it’s technically illegal to operate Waze while driving so it works best when you have another driver in the car with you. For me, I typically just turn on Waze before I start driving and keep on driving. The neat thing about this is outside of giving up some privacy, it typically doesn’t really detract me from doing what I normally do anyway.
To me, what is probably most intriguing about Waze is the social experiment it represents. I’ve always been of the opinion that most people are most interested in controlling their privacy and not so much containing it. Most people are willing to give out information about themselves usually if it benefits them in one way or another. Given its ability to provide real time data to its users, it’s the equivalent of Twitter for navigation
Tweaking my Apple Magic Mouse
by kelvin.kang on Jan.02, 2010, under Gizmodoodats
One of the biggest change in my technology profile after working for Zoocasa is that I’ve now started to become quite a Macbook fan boy. When the Apple Magic Mouse was released, I opted to get one because one of the things that I really like about the new Macbook’s is that I really like the gesture concept on the trackpad. I was hoping that the Apple Magic Mouse would offer the same. However, I was quickly disappointed with the minimal amount of gestures offered by the Magic Mouse out of the box. It really offered no more features than any other mouse in the market.
Enter three handy utilities that extend the functionality of the Magic Mouse: MouseWizard, MagicPrefs and BetterTouchTool (BTT). MouseWizard is not free but it’s relatively cheap to obtain – it’s only $2.50 to purchase it. MouseWizard actually doesn’t come with many additional gesture support – all in all, I count 5 new gestures but the one cool thing it can do which I like is that you could do your whole hand to call the screensaver which I use to lock my Macbook. That is neat. MagicPrefs is free and definitely more extensive at least in terms of available gestures that you could invoke. Unfortunately, I couldn’t get most of them to work for me. My favorite is BetterTouchTool so far because it allows you to not only configure the gestures on your mouse but also on the multitouch touchpad of your Macbook.
For the time being, I have programmed my mouse to activate Spaces on a two-finger tap, Show Desktop on a two-figer swipe up and Application Expose on a two finger swipe down for the mouse. For my mouse, I have the five finger tap setup to show the login screen.
Happy 2010
by kelvin.kang on Jan.01, 2010, under This-and-That
Happy 2010 or specifically, Happy Twenty Ten. Apparently, this is the proper way of calling this year. It IS simpler to say admittedly. 2009 went by really fast but with some major changes in my life both personally and professionally.
Process and Structure
by kelvin.kang on Nov.07, 2009, under People-Engineering, This-and-That
- Understand the business problem and ensure that the process solves the business problem
This really is not very different from developing a technology solution for any business. Like all solutions, they need to resolve a business problems. In this particular case, there were multiple stakeholders and each of their needs were different. The stakeholders comprised of the client’s business management team, the client’s technology management team, Deloitte’s management team and the Deloitte’s support team. The client’s business management team required to receive adequate support in a timely and consistent manner. They had a business to run and their own clients to support. The client’s technology management team required to be able to justify that outsourcing was a viable solution to provide similar levels of support to the business while drastically cutting their ongoing technology costs. The Deloitte management team required to be able to report the support team’s ability to meet the agreed to Service Level Agreement by quantifying quality, identify issues and react to them accordingly. The Deloitte support team required to be able to do their job without being caught up in the process. The process should be a by-product of the support process and should not take up more than 10% of a support resources total day. - Involve the people who are going to participate in the process
This often sounds simple but it often isn’t done well because it is time consuming. We had the luxury of developing and implementing the process in about 3 months. This was reasonable and acceptable to all stakeholders because this was a major change for the client. There was a lot of negotiation between the client business, technical and Deloitte teams to come to a process that was acceptable to all. The solution was compromise for all parties but the reality, like most development projects, is that most good solutions is a result of compromise. What makes them good solutions is that is the solution is acceptable by all parties albeit grudgingly. I had a Project Manager who once taught me that a sign of a good negotiation is when all parties come out as though they have given up more than they should. It means true compromised has happened. - Make conscious effort to improve the process
Knowing that my team was going to find any kind of process burdensome, I entrusted the ownership of improving any processes back to the team. It gave them ownership of something that they found cumbersome but they were also the ones that would be the group that would most likely be able to suggest relevant improvements. Doing this indicated to the team that the promise made at the start of the project that we would be making process improvements more than just lip service. My role in improving these processes was to understand the change, ensure they met the business objectives and then negotiate the changes with the rest of the stakeholders. The key was to make this a living process. The process had to be relevant to all stakeholders. - Accept that documented processes are best used as a communications tool not a problem solving tool.
It is useful to help communicate to new members joining a team what is typically expected of them. It is also useful to communicate expectations of when and where other parties are interacting within the same workflow. I’m a big believer that processes should not solve all problems; they should provide the general guide and not meant to resolve every question or issue that the team will face. You have to trust that the team you have is talented and intelligent and the process has to be flexible enough to allow team members to make appropriate decisions to resolve issues creatively without ignoring the process.. It is much better to replace a resources that isn’t performing than to try modify a process to deal with a small number of members that aren’t performing. - Keep the process simple
The reality of complex processes is that they will fail. Complex processes are cumbersome and are difficult to maintain. A process should enable the team, not restrict them. Complex processes are generally very restrictive.
- It’s difficult to properly handle the growth of more than 8 individuals
This is speaking mostly from personal experience. It’s hard to help mature and grow the talents, skill and professional maturity of any individual. Each individual requires an investment of certain amount of time and energy in order to do it well. And all this has to be done in conjunction to the other responsibilities that you have as a manager. My magic number is 8. This number is derived from me taking about an hour of the morning or afternoon for each individual. 4 days a week allows me to focus on 8 resources leaving Friday to catch up with my own needs or issues. - Democracy is ineffective in team management
Democracy is great in politics but has no place in technology management. I’m personally a believer in hiring the right team and that often means hiring a lot of smart people. The biggest benefit of having a really smart team is that they are going to have a lot of great ideas. The biggest detriment of having a really smart team is that they are going to have really good ideas that are going to contradict each others and chaos typically ensues in a flat structure. Technology decisions should be driven by purpose. You need someone to make the decision that aligns to the technology vision of the company otherwise the result is a fragmented solution that becomes difficult to support and extend over a period of time. - Nobody is an expert in everything
Beyond accountability, there also is the issue of expertise. You want to pick the best solution/technology for the problem on hand. When developers are stuck on an issue, they have the tendency to not want to go for help. Creating functional responsibilities around areas of expertise helps you as a manager. You need to have go-to individuals for expertise when you have to make a decision. The team is no different. The team should have go-to people to accelerate the solution of certain problems. - Roles and Responsibilities are the minimum requirements for individuals
Most people look at formalized roles and responsibilities as limits to what they can do. In most consulting organizations, fulfilling your prescribed roles and responsibilities guarantees that you don’t get fired only in the good years. In lean years, most consulting organizations will look at individual performers and keep anyone who is performing above and beyond what is expected of them. Roles and responsibilities should be used as the MINIMUM requirement for any individual. To be eligible for additional reward, you have to perform above and beyond what is expected of you. - Responsibilities is not a reflection of value
A manager has different responsibility from a developer but it doesn’t in any way reflect the developer is more valuable than the manager. A good manager cultivates that culture by fostering the growth and mutual respect for every member of the team regardless of responsibility and title. In certain organizations, I’ve created lead responsibilities within a team that are meant to rotate from member to member. I’ve also created special teams where in those projects I would function as a business analyst reporting to team members who would otherwise be reporting to me in the overall project.
Sucking down
by kelvin.kang on Oct.12, 2009, under People-Engineering, This-and-That
People Engineering
by kelvin.kang on Oct.11, 2009, under People-Engineering
There have been a number of different events in my life right now that have caused me to start to looking back in my career. One of the biggest changes for me is the switch from having a very technical role to non-technical roles. Looking back, the change wasn’t as revolutionary in my career as I first thought; it was merely evolutionary. The main reason why technology development appealed to me is because it is one of the few ways that I can actually be creative in the way I solve a particular problem. When I first started out in development, much of the problem solving and creativity was isolated in the sense that both the problems and solutions were constrained to technology. The nice thing about technology is that it is binary. Things either work or don’t work for the most part. As my career evolved, my problem solving involved a mixture of business and technology; I was now using technology to focus on solving business problems. The business problems were interesting because the answers were not as concrete. There were a lot more variables to consider. In the past few years, my career has been more about building technology teams by setting up people, process and tools.

