Tuesday, April 05, 2011

My JSConf ToDo List

With great anticipation, I will attend JSConf and NodeConf. To get the most out of that time, there are a few items I want to brush up on prior to hitching up the wagon and heading West. I've got a list, some big and some small and in no particular order.

  1. Full Sail Ale. jsbeer prep is first on the list.
  2. Eloquent JavaScript. Finish reading especially the object oriented chapter.
  3. jquery mobile alpha4. Convert some code including j360.
  4. Sencha. Run through the tutorials and screencasts.
  5. learn about SASS
  6. jquery plugin. Write a very simple plugin.
  7. outrigger app site. Create landing page about outrigger app.
  8. outrigger app. Finish demo data. Ready phonegap feature.
  9. get new Android phone and install couchdb. Make iphone into an ipad touch for Civ
  10. learn git well enough to be comfortable with github
  11. put j360 into git and write readme
  12. use build.phonegap for j360 and outrigger
  13. colossal caves into github
  14. hours reading nodejs blogs and reinstalling on my laptop
  15. put code into a js module, maybe my search parser
  16. publish regex attribute for input tutorial for Coding JS Apps http://jsapps.posterous.com/
  17. fix raydaly.com and raydaly.org
  18. publish "New Enterprise Network" talking paper
  19. use ace
  20. publish on Coding JS Apps an article on using couchdb as development environmen
  21. new photo for my blogs, twitter, google, quora and facebook
  22. hitch up the wagon
I'll probably add to the list and update this post. As I reread the speakers applications, I'll probably get inspired to do more. This blog or my Coding JS Apps blog will have the results.

Also I need to review what I wrote after last year's JSConf:  a pesky list of ToDos.

Sunday, January 23, 2011

15 Years of WebApps in JavaScript

15 years ago on January 23, 1996, HTMLjive - an HTML editor written in JavaScript was release. It is considered the first serious JavaScript program. In short order, it went viral, was on websites around the world and translated into several languages.

HTMLjive was a simple HTML editor but it incorporated a preview window, three modes of HTML coding and on-screen help. The inline HTML editors, like the one I'm using right now to write this blog, have added features, but HTMLjive had the basic features you take for granted today.

I am often asked, "Did you expected JavaScript application (web apps) to become popular?" Yes. Shortly after HTMLjive was released, I starting writing the book "Using JavaScript" with several co-authors. One of my great memories is giving an author talk called "JavaScript Makes Your Site An Application" at a local book store a few months later. So, absolutely.

The community that supports JavaScript has come a long way since. Brendan Eich, father of JavaScript, has received the recognition he deserves. Douglas Crockford gave us JSON and is the JavaScript evangelist. Ajax pushed the language back into popularity and Google showed what could be done with Google Maps and Gmail. Now the annual JSconf features the greatest advances, technologies and speakers. Most of the people that deserve a mention for their contributions to the community were or are speakers at JSconfs.

JavaScript is no longer just for the browser. My web apps, both mobile and desktop, have JavaScript on both the browser with libraries like jquery and on the server with couchdb and node.js. Thank you to the community. It continues to be a joy to code in JS because of you.


Tuesday, January 11, 2011

Dave's plan to rethink RSS has potential. I've always liked the simple concept of title, link, description (text) and categories. Making a RESTful, JSON API would be great. I've been dabbling towards that with a project I've been working on that started with Zlides.com and OPML combined with JQuery Mobile. So I've been giving this some thought.
Dave likes Twitter. The Twitter API is proven itself and lessons have been learned. Lots of people know it. So my comments below reflect my usage of the Twitter API, particularly the search API.
  1. JSONP. The ReallySimple API should support JSONP. The primary benefit is cross-domain support so I can write browers apps hosted on any site and use the reallysimple.org api. This would make it much easier to write mobile apps using JavaScript, HTML5 and CSS. For an example, look at the Twitter Search wiki and how they support JSONP. Also look a jquery's support for JSONP.
  2. Categories. RSS has always supported categories and I was rather suprised not to see them in the API. Much of web 2.0 worked leveraged categoris and I think it is an important addition.
  3. RESTful. Several people have commented on using the RESTful verbs. I certainly support that for GET and POST but since DELETE and PUT are harder to implement there should be more discussion of that.
  4. Extending Really Simple. RSS supports namespaces and there should be someway to extend the Really Simple api. Steve Moyer commented about having extra fields like _rev in the API. In my view, extra fields would be fine but probably ignored by most clients. It would probably be better to suppress them, but in some implementations there are cases were the extra fields would add a feature. More discussion needed.
  5. getPost. Given an idPost, I would want to get the JSON for just that post. The id could be the permalink. And perhaps, maybe I supply a link and get back an array of posts which could be all of the comments made to a post.
  6. Enclosure. Very encouraged to see it supported. Important in this world of videos, photo blogs and other media files.
  7. OAuth. Twitter and others have moved away from basic authentication for a reason. I would suggest supporting OAuth like twitter.
  8. No date. The format of title, description and link is so powerful that it applies to more than just reverse chronological blogs. The web content management system (CMS) that I wrote had RSS feeds as its foundation. [I'll have to add the ReallySimple API to it.]  And see example of Wikipedia below. However, I would think that this might be an expected field. Or perhaps it is better to ignore it for right now given the discussion that will start about date format.
ReallySimple maps to ReallySimple HTML pages as well. It supports title, link, description and hopefully category. This also maps directly to standard Web 1.0 content web pages where one HTML page contains content on a subject. For example, this Wikipedia page on Daly Languages has a title and obviously a link. The content is inside the body tag, less the navigation, footers and banners. Categories in the metadata and displayed on the page. So I should be able to take the primary content of this page and easily put it into a JSON message using the ReallySimple fields. Lots of features could be built off having an entire page in JSON.

I look forward to using the ReallySimple API with mobile apps and Couchdb apps.

Cross posted from: http://raydaly.posterous.com/really-simple-api-first-comments

Saturday, January 01, 2011

Recommended Beers of 2010

This was a great year for beer in Northern Virginia. Full Sail is now distributed and Great Divide's beers are more widely available. Also, Bob Tupper got back into business after a few years of dryness. Finally, Church Key opened a few block from my office in DC. Hope you have a chance to try some of these beers this year.

Great Divide - Collette   This is a special. Grab as much as you can when you see it. I spent a night driving from store to store buying everything that was left. The focus on this beer is not the hops, but the yeast. It is a different taste. This is a farm house ale with yeast in the bottle. My friends laugh at me because my pours end up with overflowing heads. Great in the spring or summer. We had it the other night with Raclette and it was excellent.

Great Divide - Titan IPA We first discovered this perfect IPA from Great Divide before the Collete. It is great when a brewery makes a beer so good that you want to try everything that they produce. The balance in the IPA between the hops is totally refreshing and not overwhelming like others fighting the hop wars. I'm never disappointed when pulling one of these out of the fridge.

Appalacian - Hoppy Trails IPA  This IPA made me really appreciate the IPA style. It made be go back and try some others again like Full Sail. The semi-high alcohol punch of an IPA has to be balanced with a strong hoppy flavor supported by a robust malt. A regular in my fridge.

Tupper's Hop Pocket Ale  Bob Tupper introduced me to so many different beers at the Brick. I was thrilled when Old Dominion started brewing his Ale because I knew he liked Celebration Ale. This was my friend's favorite until Tupper pulled it from Old Dominion. After a long hiatus, Bob found a brewery and his Ale is back. Dominion did a better job, but still wonderful to have it back.

Schlafly - Christmas Ale Normally this spot would be reserved for Sierra Nevada's Celebration Ale. But this spot opened up this year because of the disastrous change in the recipe. But Schlfly's might have made it anyway. The hint of orange made it a wonderful taste in a full ale for the season. I recommended it to everyone in my annual Christmas Beer tasting this year.

Heavy Seas - Winter Storm I've enjoyed this for the past several Christmas seasons. It is now my favorite Christmas ale with a great Extra Special Bitter flavor. I'll stock up this ale. Nearly a perfect cold night brew to warm your bones. Arrg!

Breckenridge - Extra ESB I love ESBs. My favorite was Fredrick's Red Ale, but that is now defunct. Had another great one in New Orleans about 10 years ago. It is so hard to find a good one, nevertheless a perfect one. Breckenridge's is not perfect but better than good. It is amazingly consistent. ESBs can be so smooth. I keep this one around.

Full Sail - Pale Ale. About 20 years ago at the Brickskeller the bartender introduced me to Full Sail Ale and Red Seal Ale. They were mana from heaven. They would be my first request when walking down those stairs and seeing all the cans. But distribution stopped and I finally gave up the search. I had to visit the brewery when in Oregon but never expected to see it back on the East Coast. This was the great surprise of the year. And try their IPA as well. Both wonderful.

Full Sail - Session Found this at a bar and have stocked up with both the regular and the dark Session. It comes in a Red Stripe like bottle and is a tasty lager with only 4% alcohol.  Often I don't need the full IPA punch so this is a tasty alternative. Expect it to be a regular this summer.

Bell's - Oberon  Our summer beer for the past few summers. I cannot help but think about a warm summer day and the pleasant taste of this wheat beer. You know summer has arrived when Oberon is on the shelves.  Coming again soon.

Friday, December 31, 2010

Recommended Books of 2010

Books of 2010

Probably because of ebook without DRM from O'Reilly, there are substantial more books on this year's list that previous year. However, I don't think I finished as many this year. The range is about the same with fewer home improvement and more technical books. The highly recommended are listed below with a few other notes.

What Technology Wants gets my highest recommendation even though I'm still reading it. It is so good, I'm in no hurry. At first I was very skeptical that I could be convinced the technology ever wants anything, Kelly is persuading me. I compare it to  the books by Jared Diamond like Collapse. Those books are like Ancient History while Kelly's book is like Modern History.

Switch: How to Change When Change Is Hard really changed my perspective of my organization. I believe change is hard at any organization that is larger than 300 or so. This book provides example of how change that transformed large companies. Also, lots of economic and behavioral research. The only pdf about presentation was critical to reshaping the introduction to my major presentation last spring and the concept is now taking hold. The Heath brothers older book, Made To Stick, is also recommended.

Cognitive Surplus deserves the recognition that it has received. For the past several years, since Tipping Point, it has been easier to find so called "economic" books that read more like urban anthropology books. This is the best one along that vein this year. It will be interesting to review after I finish What Technology Wants.

High Performance JavaScript is killer. It really shows how far JavaScript has come as a serious language. In working on a team project that was 98% JavaScript, I constantly refereed to this book. Search the ebook really improved my work. If you are serious about JavaScript this book is in your library.

Start Small, Stay Small was purchased directly from the author online as an ebook just as I had purchased Getting Real from 37 Signals a few years ago. Walling talks about start-ups from the developer viewpoint. He makes an excellent case about marketing from day one and out-sourcing the developer work even though you might be a developer. Much more practical that Rework, which I found tired, but that maybe because I regularly read the 37 Signals blog.

App Savvy and Tapworthy are two excellent books about building and marketing mobile apps. While the focus is on the iphone, the advice works for nearly any mobile device. Maybe this is a factor of being ebooks, but it is hard for me to distinguish between the two. I've referred to both while working on an idea of an app. After the proof of concept, I expect to re-read both as I write up a marketing plan. Finally, O'Reilly's webinar lead me to these books and I recommend watching a few during the coming year.

The Book of Gossage is this year's McLuhan book for me. Gossage was the SanFrancisco ad man that worked with McLuhan to convince the world that McLuhan was important. Included in the book is "Understanding McLuhan" which is an excellent article.

More Not So Big Solutions for Your Home was better than the other kitchen books I either bought or borrowed from the library. Mostly old articles from the defunct Inspired House magazine, it got me unstuck on the redesign of our kitchen - which is next year's project.

Possible additions.There are a few on the list below that I cannot yet recommend. I'm behind on my reading but these look very promising from my reading so far. Where Good Ideas Come From is certain to be read soon and I expect to recommend it. Taming Text's focus on text and not media is refreshing. It may stand the test of time. Business Model Generation looks awesome, but I gave it as a gift, so it maybe a while until I read it.  Buy the print version of this one. Sometime in the future, I'll have to review all of the economic, research books like Sway and Drive.

Good reading to you.

List of 2010 Books
  •   The Investment Answer
  •   Business Model Generation
  •   Sway: The Irresistible Pull of Irrational Behavior
  •   The Food Matters Cookbook
  •   The Book of Gossage
  •   Where Good Ideas Come From
  •   What Technology Wants
  •   McLuhan: A Guide for the Perplexed
  •   The Creation of the Media
  •   More Not So Big Solutions for Your Home
  •   Cognitive Surplus
  •   Rapid Problem Solving with Post-It Notes
  •   Drive: The Surprising Truth About What Motivates Us
  •   Kitchens That Work
  •   Rocket Surgery Made Easy
  •   Rework
  •   Unfolding the Napkin
  •   Switch: How to Change When Change Is Hard
  •   JavaScript Patterns
  •   App Savvy
  •   CSS Cookbook
  •   JavaScript Cookbook
  •   Tapworthy
  •   Regular Expressions Cookbook
  •   Apache Cookbook
  •   Search Patterns
  •   Designing Web Interfaces
  •   Designing Social Interfaces
  •   High Performance JavaScript
  •   RESTful Web Service Cookbook
  •   Start Small, Stay Small
  •  Event Processing In Action
  •  Pragmatic Version Control: Using Git
  •  Algorithms of the Intelligent Web
  •  Web Design for Developers
  •  Taming Text

Saturday, May 01, 2010

HP Buys Palm for the slate market runing JS Apps

Company acquisitions are viewed as potential for the new company. "By acquiring this product the new company can expand into this market of the old company." More often, the acquiring company places value in old company as a defensive move. They don't want to be outflanked in the changing market place.

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.

Tuesday, April 20, 2010

This blog has moved

This blog is now located at http://blog.abcedmindedness.com/. You will be automatically redirected in 30 seconds, or you may click here. For feed subscribers, please update your feed subscriptions to http://blog.abcedmindedness.com/feeds/posts/default.

This blog has moved

This blog is now located at __FTP_MIGRATION_NEW_URL__. You will be automatically redirected in 30 seconds, or you may click here. For feed subscribers, please update your feed subscriptions to __FTP_MIGRATION_FEED_URL__.

Monday, April 19, 2010

ToDo After jsconf

jsconf was even better this year than last. A good part of that is because JavaScript and the JavaScript industry is better than last year. Missed most of the Track B talks and I hope to get caught up by watching videos. But most of my spare time may be taken up by the ToDos I wrote myself during the talks. Thought I'd share those.
  1. node.js Wow - it has simply changed everything. Even if the API is constantly changing, I've got to get it installed and start using it. Needs screencasts.
  2. (fab) - Mindblowing - fab:: more twitter than blogging. Just a completely new way of thinking of things and I have to try it. Also, it shows the impact of node.
  3. Google Chrome Framework - Had not thought about it enough until jsconf. This will be so important to my work project. But everyone should add the meta tag to their JS pages. I have to install it at work asap and on a few other desktops.
  4. yayQuery - Been following on tweeter, now I've got to listen to the podcasts. Clearly the next generation of javascript and funny.
  5. Raphael - Years ago I wanted a visual, historical, problem solving site base on timelines (timeography.com). Now this is the js library to make it happen. Usable for for ANY type of vector graphics and I can not wait to push it. Reminds me of RIP for BBSs.
  6. Progressive Enhancements - Jenn made the most convincing case of any presentation. I will be reading up.
  7. Interface Builders - Ares and Greenhouse demos were good. Of course there is the Mac tool. I need to more take time and look at all of these -- another skill I need.
  8. SproutCore - More than a year ago I was a real fan of SproutCore. I had previously argued at a Ruby meetup that MVC was broken in Rails because of the mix of data with code in the view and that the server should only produce JSON. Now that SproutCore is at 1.0 and gives me MVC on the client - will time allow a deep try? Looks so good too.
  9. CVC - Client View Controller by Kyle Simpson pushes the same anti-MVC argument that I was making but puts the same JavaScript on the client and server. Again an incluence of node. Love the concept and certain that is is how the future will go, but it looks like handlebar.js and bikechain.js need to be more battle tested. Have to test to tell
  10. Couchdb - The talk was on evently, but it is really Couchdb that stills interests me. Two tier solution with JavaScript and JSON. Think this will be the solution for one current project. jquery.couch.js here I come.
  11. xui - prior to jsconf I went to phonegap training and heard about xui again. It would be great if jqtouch could be build on xui.
  12. yql - definitely in my toolbox now
Other sessions were also great and I learned lots. For example, Facebook really showed the importance of refactoring in the browser platform. And see previous post on Socratic. And who can forget Gordon. The above are my ToDo list and possible suggestions for your exploration.

Sunday, April 18, 2010

Socratic and Verbalization: Documenting on both sides

Francisco Tolmasky gave a talk at #jsconf on Socratic: Documentation Done Right. He asked for feedback and he got me thinking about the problem that coders documentation does not even help them when they go back to it. Ever have that happen with your documentation? Go back to your source comments three months later and they don't make much sense?
The process of coding involves variable and method names which are suppose to be meaningful. A convention has evolved where methods should be verbs because they do something and variables are nouns. Roughly.
So I suggested to Francisco that perhaps Socratic could use Verbalization to verify that methods are verbs. Think of Verbalization as a spell check of only verbs. Maybe it could check that "is" methods are boolean and perhaps more. I suppose the Nounization could be done on variables.
One theme at JSCONF is running JavaScript on client and the server. For example, same validation method on both. This got me thinking about the documentation divide. So why not run Verbalization on both Socratic and Textmate or your IDE. As you build out your code check that your method names are verbs. And this gets you a glossary? So a common plug system for both Socratic and IDEs would be good.
Just a thought or two with a lot more to think about.