Thursday, January 19, 2012
Reading, Bookmarks and Pads
So as a developer I should probably be asking "Should this event, like pressing a button, trigger a sync that would show up on my other devices?"
BTW: Love Zite on my Touchpad.
Friday, January 13, 2012
How to get a mobile phone developer job - Part 4 #learnmobile
There are several recommended online magazines. When you read a good article, remember to use twitter and post to your blog. In no particular order:
smashingmagazine.com - especially appropriate is the coding tab. Also articles tagged with css. Like several other magazines, they are now publishing ebooks, but they will cost a few dollars.
listapart.com - there are so many articles enjoy exploring. CSS articles are a strength. Also ebooks.
net.tutsplus.com - good source of tutorials both for free and for a fee. They also sell books.
dailyjs.com - generally for the advanced javascript user, but enough articles on learning that you should not ignore.
html5rocks.com - good tutorials about the latest features you can get in a browser. If nothing else, it should give you inspiration for your own apps.
Intro | Part 1 | Part 2 | Part 3 | Part 4
Thursday, January 12, 2012
How to get a mobile phone developer job - Part 3 #learnmobile
eloquentjavascript.net - to this point everything has been fairly easy. Learning JavaScript is the one requirement for any mobile app job. You could buy books or pay for courses, but one of the best books is free: Eloquent JavaScript. And if you use the web version, it is interactive. Highly recommended. (Update: Stackoverflow no longer has other recommendations. This was recommended.)
json - you'll often have to read or store data in your JavaScript apps. Json is the format for data in JavaScript. You should master how to read and create Json. It is fairly simple, but it may take a while to grok it. After you do, you may be struck at the beauty of it. Using json in your early projects is a good way to master it.
css and HTML5 - you'll have to know basic CSS in a mobile job. Few people know CSS very well - you need to know the basics like setting colors. Move on from there to HTML5. 20 sites to help you.
There are lots of different ways to learn how to code. Here are a couple to consider.
codeyear - sign up to get weekly emails to help you learn to code. This is the only service that I have not personally used, but it backed by some high profile organizations. Thousands have signed up.
lifehacker - the learn to code series is short set of articles to teach you the basics. It makes it look less overwhelming than the long books.
jquery - I've recommend jquerymobile without specifically mentioning jquery. It is helpful to learn basic jquery stuff like Ajax and html(), but before learning basic javascript first is required. The jquery website recommend some tutorials.Do a search if you want to find others. Don't concentrate on mastering JavaScript, CSS, HTML for jQuery. These are just tools to help create that weekly web app.
Just keep at it everyday. Everyday use git. Everyday write some code from a tutorial or your own project using git and github. Everyday blog about what tutorials you read, what you coded and what you learned. Everyday tweet about your blog post or highlight a good tutorial. Some days you may have several blog post and tweets. Everyday.
There is a fourth part about recommend daily reading.
Intro | Part 1 | Part 2 | Part 3 | Part 4
Wednesday, January 11, 2012
How to get a mobile phone developer job - Part 2 #learnmobile
- Your mobile resume. Rewrite your resume into jQueryMobile.
- Learnmobile. Rewrite this post into a mobile app.
- Your mobile apps. Link to all of your mobile apps in dropbox. Update weekly.
- Favorite recipes. Make a list of food you make often with pictures or videos.
- Best articles. Instead of just bookmarking resources you like create a mobile app.
- dynamic list - store data in Json, read Json and create list. Convert you mobile apps dynamic.
- add to list - create a list that can be added to and stored in local storage.
- todo - perhaps the most common app people try. Keep it simple.
- rate it - provide a list of items to be rated and resort list after each rating
- #learnmobile tweets - use the tweeter search api to get the latest tweets with the hashtag.
Tuesday, January 10, 2012
How to get a mobile phone developer job - Part 1 #learnmobile
Like most things, you have to show some experience before getting hired. Here are the steps I recommend you take to start gaining experience.
Meetup.com - Get an account and look for meetups in your area related to mobile. Attend some, listen and say hello. At many of the mobile ones that I attend mobile companies are hiring. In the Washington DC area there are probably a couple mobile related meetups per week. Lots of people go with no experience just hoping to learn. You'll figure out in a month which ones are for you.
chrome - I strongly recommend you start using Chrome as your browser. It is the best desktop browser for developing mobile apps. View source on web pages to learn how designers put together some HTML features. Leave the developer tools enabled to see css and javascript. Try changing some css on a live webpage to learn css better.
Git - You are going to need git on your computer. Every time you start a project you use git to create a repository. A repository gives you version control - a safe way to revert to an old version of your code if you need to. This makes it all the easier to experiment with you code. The easiest way to setup and learn git is on help.github.com (see next).
Github.com - If you are going to be a developer, you'll need a github account and get good at using github. Set up a free account. There are over a millions users and even more repositories. Follow a couple and contribute. The great thing is that you don't always have to contribute code. Even documentation is welcomed.
Dropbox.com - Set up a free account and set it up on your laptop. You can also set it up on your phone and tablet, though this is optional. Do NOT develop code in your dropbox folder. Instead use git on your local hard drive and github. What you'll be using dropbox for cheap web hosting of your code. Put a file in the public folder (video) and you'll then be able to access that file from the web. Very handy for testing on phones and tablets or sharing with a friend.
Text editor - If you are coding you'll need a text editor. You can spend lots of money but no need to do that yet. If you want to take the full plunge get the free IDE called Eclipse. But for now, all you probably need is something like NotePad++ for windows.
HTML - Learn very, very simple HTML. To start all you need to know is how to type in a simple page with a title and a couple of paragraphs. HTML5 will come later.
jQueryMobile.com - You can write a mobile app in 4 hours using jQueryMobile. Really. It won't very graphic, but few non-games are. All you need is a web browser and a text editor (not Microsoft Word). The quick start guide should be enough, but there are many tutorials on jQueryMobile. When you have finished writing it, post it to github. Then do one a week (see Part 2).
blog - Any blogging service will do. I use blogger.com and posterous.com. Others use wordpress, typepad or tumblr. Every day - repeat - every day write a short post about what you did to learn mobile apps that day. While not many people may read your blog, you need a place to capture what you are learning and share it with others. Your potential employer will also see that you are serious by working everyday.
twitter.com - You'll need a twitter account. Write up what you are trying to do in the profile. Tweet daily. Point out good tutorials you've found. Highlight good blog posts you've written. Thank people. You'll also find a few people to follow. Use the hashtag #learnmobile so others can follow your tweets - and maybe develop a community of learners.
When you do all of the above, you will start building up some experience. People will know that you are serious about learning how to become a mobile developer. You'll also have your first app published on github. And hopefully, your contribution to another github project was accepted which you now add to your resume.
You should be able to start all of the above within 8 hours. Perhaps 4. And at no cost. You'll be on your way.
Keep at it everyday. Everyday use git. Every day write some code from a tutorial or your own project using git and github. Everyday blog about what tutorials you read, what you coded and what you learned. Everyday tweet about your blog post or highlight a good tutorial. Some days you may have several blog posts and tweets. Everyday.
After you do the above, you are ready for Part 2.
Intro | Part 1 | Part 2 | Part 3 | Part 4
Saturday, May 01, 2010
HP Buys Palm for the slate market runing JS Apps
The world of mobile devices has changed dramatically in the past 12 months, but people for the most part are just getting use to what it was like 12 months ago. Example, everyone thinks App Stores are it.
First big change: App Stores are old school. Native apps are old school. The great new apps will be not be native apps written in Java or Objective-Whatever. They will be HTML5, CSS and JavaScript apps, hereafter called JS Apps. Proof is the NPR app written for iPad using SproutCore as shown at JSConf. The world has changed.
Second, big change: all major phone platforms can run these JS Apps. Blackberry is just getting caught up with the rest of the market on this. So I can now write an JS App and have it run on all phones: iPhone, Android, Palm and Blackberry. Phones are a commodity for the replacement cycle, though consumers don't know that yet.
Third big change: iPad introduced a new form factor. In part, a larger screen and touch area. This is a big deal, maybe. Market may or may not be huge. May or may not kill the laptop. It is a big deal just because it introduces uncertainty into the laptop market.
Now what is HP to do? The laptop market is being nibbled away by mobile phones or maybe being killed. Things that you only use to be able to do on the road with a laptop can now be done on your phone. You still have customers (and a brand) that depend on your products and you have a product gap that maybe huge. You acquire to fill that gap.
But wait, do your customers realize that products are changing (see above)? Not yet. But you'll be ready for them. Immediately, HP can tell customers we sell phones too. Buying number four in the market never works (see GE and Jack Welch). What was HP thinking?
Go back to third big change: new form factor. The large screens are a field HP knows well - take the keyboard off that laptop and you have a slate. How do you enter this new market? How do you become a leader? Do you take the Microsoft operating system, whatever the name is, and compete with Apple that way? Are you crazy? Too late, too old school. Microsoft has not gotten this right in 20 years. Microsoft is no help this time.
What HP does is work with the trend that mobile devices are becoming a commodity. HP knows that business. They build a slate that runs the JS Apps that also run on the iPhone, the iPad. It also runs the JS Apps written for Android and the Blackberry. Palm has an excellent development platform and team for JS Apps.
So HP buys Palm. They slap the Palm (Pilot) name on the new slate that runs these JS Apps. They are instantly number two in the new market where the App Store advantage is losing marketing power.
And besides, Palm is a better name than tongue twister iPad (or was that iPod). And look at what an old brand name (AT&T) did for Cingular. Brand names are important.
HP bought Palm not because of the phone market, but to hedge their bets in the maybe emerging market of the Palm slate. I can not wait to buy one.