Synap Software Blog

Software Design: Grant Peace of Mind

by Scott on May 31, 2007

I understand about indecision

But I don’t care if I get behind

People living in competition

All I want is to have my peace of mind

- “Peace of Mind”, Boston

Avoid Indecision, Grant Peace of Mind

If you are a software designer, your goal should be to have every page have one purpose. This way you minimize user indecision, you find that the application is easier to explain, and by going through the excercise of this constraint you gain more confidence that your design achieves the primary purpose of the app.

Read more...

Posted in Synap Software: Design Decisions, Programming | 10 trackbacks

[9] comments

 

Google Gears

by Scott on May 30, 2007

Google Gears

Google Gears javascript libraries transparently create and update a local database. Developers simply execute SQL against a local database. Google Gears’ database module takes care of prompting the user for permission, creating the database, and executing the SQL. Google Gears also provides a local server module to cache web content and then serve it locally from the user’s disk. See The Google Gears API Developer’s Guide for details.

Simple Implementation, Complex Problem

The power of SQL calls to a lightweight, transparent, local database combined with ability to server http content locally make it appealing to dive into offline-enabling our web-apps. And Google Gears is open source to boot!

Data synchronization can become a very complex problem. Considerations for conflicts and concurrent updates must be made. Each operation must be tracked and timestamped for proper synchronization to occur.

Still, I predict that robust synchronization libraries for Google Gears will be developed. Google Gears has just been announced and is in “developer beta” now, which means it is intended for developers to start looking at and working with. Though it is not yet intended for production use, Google is using it in their feed reader product from Google Labs.

36 trackbacks

[1] comments

 

Destroy...transform...condense...make it more substantial.

by Scott on May 30, 2007

”When you begin a picture, you often make some pretty discoveries. You must be on guard against these. Destroy the thing, do it over several times. In each destroying of a beautiful discovery the artist does not really suppress it, but rather transforms it, condenses it, makes it more substantial.” – Pablo Picasso

Code that ends up not being used. Design sketches that get tossed. These are not evil things. These are not wasted work. Throwing out work is part of the work. Don’t be afraid to do it. Iterative development is a process of letting go. And letting go can be hard to do.

Read more...

11 trackbacks

[1] comments

 

RailsConf

by Scott on May 22, 2007

I have just returned from three days of RailsConf 2007 in Portlant, Oregon and wanted to share my overall impression of this very well-done event. There were four tracks, so no one could have attended all sessions. So, I won’t be sharing a play-by-play summary of each of the sessions. The guys over at OnRails.org did a good job with play-by-play notes. Also, the RailsConf slides are available here and you can check out others’ comments at the RailsConf wiki.

Thanks

First off, let me put in a “thanks” to Derek Sivers of CD Baby and HostBaby fame for sponsoring the Rails Hacker contest. As a top contributor to Rails during the month of January, Derek and CDBaby graciously awarded RailConf registration and hotel nights and I learned a lot about contributing to Rails along the way. Thank you Derek!

Pictures

I’ve posted some pics here.

Read on for the full review.

Read more...

4 trackbacks

[2] comments

 

Starbucks Everywhere

by Scott on May 17, 2007

In most airports this space between the “up” and “down” escalators would be an unoccupied, dusty corner. Not here at Portland’s airport.

btw I’m here for RailsConf 2007. Full reports on the next three days of geek-speak to follow.

no trackbacks

[0] comments

 

Other posts: 1 2