Feed on
Posts
Comments

If you use an Android device, you’re familiar with installing apps. Each app has a set of permissions that it requests. For instance, the screen capture at left shows the permissions required by the Google Maps app. As you can see the list is extensive and some of them might give you pause, like “Services that cost you money” or “Your personal information”.

Before you install an app, all of its requested permissions are listed, along with the short descriptions you see here and you can decide whether or not you want to install the app, thereby granting it those permissions. That’s good because unlike iOS, you can see specifically what it wants access to and at least have some knowledge about what it might do and decide whether or not you want to install it. The app cannot access permission-protected functions in the API without this express approval at installation time.

This is good as far as it goes, but it could be a lot better. First, it’s all or nothing. You either accept all the permissions or you don’t install the app. Second, the terse and generic explanations are frequently not sufficient to determine if you want to grant the permission or not.

Developers could provide application-specific explanations of permission use

It would be great if there were explanations of why the permission is needed in terms of the app’s functions. For instance, an app I’m writing requests the “Phone calls” permission because it needs to know the hardware ID of the phone to do some database functions. But it’s not going to make any phone calls. That would be nice for the user to know before they installed the app.

Google Maps would explain why and when it needs to “directly call phone numbers.” After poking around in Maps a bit, I discovered that the “Places” activity locates things like restaurants and gives you a “Call” button right on the listing. This is the kind of when, why, how information you need that is specific to the application in order to decide if you want to grant the permission.

Android could allow permissions to be individually granted

When installing an app, it would be much better if, coupled with the application-relevant explanation of the permission’s use, you could individually grant or withhold a permission. This would require the app developer to identify which permissions were minimally necessary and which were optional, if any. Further, it would require the app to be gracefully tolerant of missing permissions.

For instance, with Google Maps you might choose to deny access to your contact data. When choosing to deny this permission, you should have full knowledge of what functionality you would be missing by doing so. This would make application development more difficult, but would yield significant benefits to the user.

On Remote Working

Today, Chris Bailey published People Before Tools: Creating a Better Remote Working System, which was a commentary on a previous post, Stop whining and start hiring remote workers, by David Heinemeier Hansson at 37signals. I dropped a comment on both posts because I feel strongly that management inertia and insecurity, not tools or “culture” are the primary reasons companies do not embrace remote working.

As a programmer, I regularly receive queries from contract placement firms with interesting sounding jobs in Boston and New York. Unfortunately, I live on the Connecticut shoreline smack in the middle of the I-95 route between the two cities, way out of commuting distance from either. But remote work is almost never mentioned as a possibility. They say, “Oh, they may allow it a couple days a week after a few months, but basically this is an on-site position.” I always found this ridiculous. “Allow it”? Really, you’re going “allow” me to work the way I think is best? Do they really think I need to be on site to bury my head in my MacBook and write code several hours a day? No, I rather think it’s all about them wanting people where they can “keep an eye on them”. Here’s my comment on Bailey’s post:

I commented on that very post, saying that a lot of what holds back remote workforces, at least in knowledge-based enterprises, is management insecurity and self-justification. But it’s also some curious cause-effect feedback loops in organizations and offices. Offices need to be managed in large part because it’s working together in the same physical space that causes a lot of the problems that need to be managed. If people aren’t in the same physical space, a lot of issues just go away, reducing the need for management oversight.

Also, attempting to centrally plan and perfectly coordinate every person’s contribution so that no time is wasted and no mistakes are ever made is what causes most of the wasted time and mistakes that require yet more planning and coordination to remove. (It’s so ironic that free market corporations internally resemble nothing so much as a centrally-planned communist dictatorship).

Open-source projects have always operated in a distributed, remote fashion and are successful because the people who actually control what code gets into the releases aren’t concerned about “being in charge”, “keeping an eye on people” or “eliminating redundancy”.

So I think all the talk about tools and culture is secondary. The thing that will most encourage remote work is for managers to get over themselves and take a chance.

Last evening, I exchanged a few tweets with the folks at Janetter (@Janetter_jp), the Twitter client I just installed on my MacBook. Overall, I really like Janetter. It is a big improvement over Tweetdeck, which got bought a few months ago by Twitter, and now appears to have been put in stasis. The folks at Jane, Inc. (based in Osaka, Japan?) have really done a good job building a tool that reflects the way people really use Twitter. But of course, no work of software is ever “done” and as happy as I am with this lovely new program, there are a couple of things I want to suggest that might make it even better.

Edit Tweets after they’ve been posted

For some reason, people often don’t see errors in text they’re editing until the text is posted publicly. I think this has to do with the fact that publishing often changes the line breaks, font, background, foreground text color, formatting or whatever so that the error suddenly becomes apparent.

This happens to me once in a while when using Twitter. In Janetter, the edit box for composing a tweet stretches the text out in one long line. But after being posted and appearing in a stream column, it’s line-broken into 4 or sometimes more lines depending on column widths. Once posted of course, there’s no way to correct the error except by deleting the tweet and re-entering it.

Now, what would be really great is to be able to edit a tweet after you’ve posted it, like you can edit a post on Google+. Twitter doesn’t support this, but Janetter could make it appear that it was simply by putting an “edit” button or link on the posted tweet and letting you edit the tweet (ideally, in place in the column) and then reposting the tweet and deleting the old one, all in one step. The new tweet would appear at the top of the column with its correct, new post time and the old one would disappear, reflecting what was actually done behind the scenes. This doesn’t do anything you can’t do yourself manually, it just makes it more convenient by combining several steps into one and corresponds better to the user’s mental model of “where” the tweet is, so to speak. The picture below attempts to illustrate how I think it could work. Click on it to get the full-size version.

I wouldn’t expect Janetter to try to maintain the conversation links to the old tweet, or anything else that gets deleted along with the old tweet. That would make the problem much more complicated and probably impossible, given the twitter API. The user just gets what they get when they manually delete and repost now.

The people I know on Twitter would love this little convenience feature. How about you?

Enable the ESC key to cancel photos and profile dialogs

This is a consistency and convenience issue. I instinctually hit the ESC key to cancel dialogs and I think it’s always good to give the user the choice of using the keyboard over the mouse when possible. Please note I would add this key response to the current method of clicking outside the dialog and not replace it! It doesn’t have to be an either/or choice. Both can work, right?

Mouse Rollover pauses column update

One of the things that drives me crazy about all auto-updating Twitter clients is that they inevitably update just as I’m about to do something with a tweet. The tweet I’m interested in gets scrolled away, and I end up clicking on the wrong tweet!

Now, I know that clicking on a tweet in a column in Janetter will stop updating in that column, but that’s not exactly what I want. I only want updating to pause while the cursor is over that column and to restart automatically when the cursor moves off, OR when the cursor hasn’t moved for say, a minute. Here’s a simple illustration of how it might work. Again, click on the picture to make it full size.

Janetter has built a really good product. I hope they’ll consider these improvements. I happily offer myself as a development tester.

So, here we are, a full week after I posted the last animation of the restoration of Connecticut’s “Snoctober” electricity disaster, and just 177 of the original 800,000+ CL&P customers remain without power. I have friends around the state on Twitter that were a full 9 days without electricity. Please keep in mind when watching this animation that the steps between frames are by no means even. Many times, it’s a couple of hours, but other times it’s more like 8 hours, due to simply sleeping, or being out of the house away from my computer. As I mentioned in the previous post, sometimes an animation of data reveals things that simple static pictures don’t. Any comments you have would be more than welcome.

CL&P outage map animation

This is a short animation of the Connecticut Light & Power outage map. It begins on Monday, Oct. 31 at about 2 pm and proceeds in very roughly 2 hour increments (except for “sleep time”) until this morning, Thursday, Nov. 3 at about 7am.

I made this by taking screen shots of the map with my Mac and then simply flipping through the frames with the Preview program while I recorded it with Jing.

Animations can sometimes reveal things you don’t see looking at a static map.  If you come to any such conclusions, please share them in the comments. Thanks!

Enjoy!

On the anniversaries of tragic events, it’s eventually asked what we learned from that event. From 9-11, I hope we have learned the liabilities of faith. The hijackers who piloted the airplanes into the World Trade Center, the Pentagon and into that Pennsylvania field did so because they were sold on the idea that their lives after death would be infinitely better, to the tune of some number of virgin young women, than their actual lives on earth.

This is the liability of faith. When a creed, a set of beliefs, principles and opinions are based on nothing but the imagination, rhetorical talents and salesmanship of its propagators, justifications for anything, including mass murder by suicidal acts are easy to conjure up. All it takes is a little cherry-picking of suitably oracular passages from whatever holy book appropriate, a little cut and paste, and voila, martyrdom is the highest expression of faith, my friend. In a similar way, indoctrination and worship of a living god-emperor was used to fill the ranks of kamikaze suicide pilots in World War II.

The events of 10 years ago today gave us a shocking and tragic lesson in this liability. I think this is why there are increasing numbers of people who have “come out” as atheists. This is why there is a new emphasis on secular and non-theistic thinking and study of religion as a natural phenomenon. At least some of us have realized that it’s not what particular faith you have, but that you have faith, belief without proof, at all. I hope this new Renaissance continues and blossoms, because it is reason, not faith that will keep humans from destroying themselves, their civilizations and much of the life on our little blue planet.

Help me buy a ShelterBox

When the earthquake, tsunami and resulting nuclear reactor situations happened in Japan, people on Twitter sprang into action. Even before the aftershocks tapered off, people were giving to the Red Cross and other charities to help the disaster victims. While money is fine to give, money is not what Japan needs, really. People displaced or made homeless by the disaster need shelter, food and clothing.

A ShelterBox is a literally a cargo box filled with items people need to survive in the elements. Included are a tent that can sleep 10 people, a stove, a water purification system, basic tools, rope, plastic water bags and so on. Box contents are tailored to fit the climate and situation where they’re being shipped. This video is a brief tour of the box contents. It was made during the Haitian disaster, but all the same applies to Japan. There are also lots of other videos on YouTube about them.

I just love this concept, because I can see what I’m giving and see how it can directly help people in need. It’s really a remarkable idea. You can read all about it at the ShelterBoxUSA web site.

I learned about ShelterBoxes today from my Twitter friend, Sarah Diment (@beachmereinn) who owns and operates The Beachmere Inn in Ogunquit, Maine. She donated a whole box on her own, a significant commitment, since each box costs $1000 to donate. But she didn’t stop there. She has committed to buy another whole box on her own if others will buy 10 more boxes.

I am trying to buy one of these boxes by donating $50 and getting 19 of my friends to donate $50. Will  you be one of them? Or would you donate $10 and get 9 friends to each donate $10 and make up 1/20 of our box? There’s no guarantee that our box will go to Japan, but people are in need all over the world and every box we buy helps.

If you’d like to contribute to this very practical endeavor of helping people all around the globe who are victims of disaster, please donate here and forward a copy of your confirmation email to me at joe.cascio.jr [at] gmail.com . Again, here’s the link to the donation page: https://app.etapestry.com/hosted/ShelterBoxUSAInc/OnlineGiving.html

Thanks,

Joe Cascio

I’ve been working on a little SaaS project I call AdTraqr that helps advertisers determine which ad placements are most effective. It employs those darlings of Japan, QR codes, which were invented by a Toyota subsidiary to track parts inventory. Here’s one that points to my About.me profile page:

The way AdTraqr works is that you create a “target” record in the database that contains a URL you want the user to be directed to when they scan the code.

The alpha test, which just ran in the New London, CT local paper The Day contained a QR code for each of three properties belonging to a realtor friend. These went into a 1/4 page size ad in the real estate supplement that is inserted in the paper on Fridays. To my knowledge, this is the first use of QR codes in advertising in The Day.

Click on the image first to get the full-size version and then try scanning the codes with your smart-phone.

First QR code ad for The Day What you should see is the agency’s property page for the listing you scanned with all details about price, square footage, etc.

The “tracking” part of the service comes in when you place different codes for the same target in multiple papers, real estate flyers, on the property sign or any other place. Each placement for the same target has a different QR code. When someone scans the code, it actually goes to a URL on AdTraqr.com, which increments a count in its database of how many times that particular QR code was scanned, and then redirects the user to the actual target page, in this case a real estate listing. The agent can then look at their account page on AdTraqr and see how many times each placement was scanned. This gives them direct information about the effectiveness of each placement, which can help them decide where their advertising dollars are best spent.

And of course, any business that advertises can use QR codes in this way, not just realtors. A retail store that advertises in a wide area could tell which town produced more customers by putting a different code in each local paper or flyer version that they publish.

There are many ways to use QR codes and AdTraqr. A web-savvy business will create different landing pages for each QR code or target that they produce. Coupons or discounts can be implemented this way or information on new products or services.

The exciting thing about QR codes is that they make print an extension of the internet, and that’s an intriguing concept.

AdTraqr.com is in private alpha right now. I expect to go public in maybe another month, at which time, I’ll update you. Thanks for reading, and go find a QR code to scan!

The following was sent to me by someone with whom I play golf, but also share a great friendship. I know him as Tony, but to his parishioners, he’s Father Dinoto. His uncanny ability to putt has taken many a dollar from my wallet on the golf course, but it’s been worth every penny. Herewith is his musing on his front porch in winter time.

A Front Porch in Winter

A chilling east wind whistles through the lattice at the far end of the front porch on this January afternoon.  It is an empty, almost mournful and desolate place these days, the front porch. Reduced to little more than a rarely used passageway from outdoors to the warmth and welcome within, the front porch in winter seems an apt metaphor for life in the meantime. Yet it is, somehow, an expectant and hopeful place at the same time.  Somehow, there’s a certain aura of stability and authenticity about a front porch, even at this time of year, chilly gusts notwithstanding.  And life goes on in the meantime.

Brittle and browning pine needles littering the battleship gray floorboards are all that remain of the Scotch pine Christmas wreath now dispatched to the compost heap – discarded organic confett of celebrations past.

Two forest greet Adirondack chairs, scuffed and peeling, are pushed to the margins of the porch, empty now, and just in the way.  The same two chairs that provided a site for lively conversation and engagement or for sitting at midnight, listening to the nightly symphony of peep frogs.  The same two chairs where on any given night during baseball season, good natured debates raged between a Red Sox fan and a neighbor, a fan of the despised Yankees; the same two chairs where all of the problems of the world were solved.  But at least there was lively communication and engagement.  That’s one of the wonderful things porches enable friends and neighbors to do, to communicate.

Author Thomas Lynch writes:  “The easier communications become, the easier it becomes not to to communicate.  The more rapidly we travel to the ends of the earth, the more readily we avoid our nearest neighbirs.  The more ‘communing’ we do, the more elusive a sense of community seems.  We are encouraged to make individual choices, to seek personal savioirs, singular experiences, our own particular truth.  We make enemies of strangers and strangers of friends and wonder why we feel alone in the world.”

Porches just by their presence have a way of disarming and diminishing our aloneness and our isolation.  Porches in winter rekindle the memory of those relationships sparked, and friendships fed there.  The armrests of both Adirondack chairs betray traces of burn marks and ash from boodlegged Cuban cigars shared by a friend.  The plumes of smoke, long since dissapated, enveloped those friendly exchanges far into those humid summer nights.  The peeling green paint gives a reminder of why I had planned to store those chairs away in the upper shed for winter, but somehow, now I’m glad I procrastinated.  I’ll bundle up and steal away out here some winter night, light up a cigar, savor a glass of Merlot and toast summers past and the summer that can’t come too soon.

Although it has yet to snow this winter, two shovels stand at the ready – one a light-as-a-feather number, standing erect in a cobwebbed corner, appearing eager; its counterpart, a rusting antique with a cracked, heavy wooden handle, propped against a window box, a veteran you  might say, content to lean.

Even though both implements are reminders that we’re not out of the woods, the bottle of sunblock tipped on its side on the shelf behind them hints at warmer days to come.  Did I remember to buy rock salt?

And then there’s the window box, both a sad reminder of those robust geraniums, long since gone to seed and a harbinger of spring flowers yet to bloom with new growth.  Dusty puffs of potting soil, crusted and parched and lifeless blow onto the overturned Welcome mat below.

Forrest Gump’s box of chocolates not withstanding, so much of life is like a front porch in Winter:  life in the meantime; anticipation, remembrance; hopefulness, regret; forgivness and new beginnings.  They are all part of the energy that seems to stir within my spirit, standing in the chill of an east wind on a front porch in winter.

The Rev’d Anthony C. Dinoto +

I am trying to find some graphic web design help with a sweat equity project I’m working on. I’m a career software engineer/programmer and I can handle all the programming tasks associated with the project, but it’s the design and CSS/HTML details that challenge me. It seems to be some sort of left-brain/right-brain thing. People who are good at programming tend not to be good at graphic design and vice-versa.

I’ve tried bartering services with graphic designers and offering equity so far to no avail. Several friends have suggested I try finding a student or recent grad looking for work (there are a lot of them, unfortunately) to help me in return for experience working on a real commercial project, something substantive to put on their resume and a personal connection through me to my network of contacts in the business world and in social media.

So I’m posting this primarily as a “virtual intern” position, which is to say people anywhere are eligible. What I do ask though, is not to send your teen-age nephew or your daughter-in-law who “makes web pages”. I’m looking for someone who is serious about a career as a graphic designer/user-experience developer.

Also, if you are already a professional web UX/UI graphic designer who is looking for a joint venture opportunity, I’d like to hear from you. As I said, this is a sweat equity job for me, and I’m more than willing to give equity to the right person if they are willing to commit a few hours to this. I’m not seeking investors at the moment, I’m just trying to build a prototype to show potential customers.

Position: Graphic Design/CSS/HTML for mobile web development

The project is a web application specifically for mobile devices. The server-side software is written in python with the web app framework django. The client-side (what you’ll be working on) will use HTML5, CSS and most likely the new jQueryMobile javascript library. Target operating systems and browsers are Android followed by iOS. This is much more than a simple web site, it is a fairly complex web application program with a significant amount of back-end server software.

You can work from anywhere you have access to the Internet.

You must have a degree or be working towards a degree in graphic design with an emphasis on web design (or be an experienced designer for a joint-venture/equity arrangement).

You should be comfortable and productive with CSS and HTML techniques and patterns. You will be designing and implementing mobile web theme stylesheets, including colors, fonts, icons, etc. and coding HMTL mock-ups which I will then use to create django templates that will generate the real pages with data from the database back end.

Experience with any kind of framework or CMS “theming” is a plus. Examples might be WordPress or Drupal themes. Experience with mobile web design is a big plus but not a requirement.

You should be aware of the necessary hooks to place in the CSS/HTML to allow javascript to modify the page on the fly.

It is required that you have a web site you’ve produced yourself with your portfolio or works-in-progress or course work displayed and in working order.

It is required that you have a recent model Android phone or iPhone that you can test code on and a desktop or laptop computer (preferably a Mac) to develop with. You will also need to have access to your own tools of choice (eg, Photoshop, Illustrator, etc.) for graphics work.

You must be a native English speaker.

If interested, you can contact me at ‘joe.cascio.jr [at] gmail.com’ or on Twitter: @joecascio

Older Posts »