Pages

Showing posts with label software design. Show all posts
Showing posts with label software design. Show all posts

Sunday, May 12, 2019

Feature Ideas for Spoiler Prevention

The world does not appreciate the anti-spoiler mindset. It is most crucial in sports. I'm only a modest sports watcher, but ever since it became possible not to suffer through timeouts, halftimes, replay holdup, I have been all-in on tape-delayed viewing. I know I am still in the minority in this regard, which itself is a subject for bafflement.

Better spoiler protection for sports is WAY overdue. I would like to see all social media apps include anti-spoiler-walls in their editors. E.g., "click REVEAL to reveal spoiler text". Same goes for professional publications--newspaper websites are often the worst offenders. 

Some of the Youtube.tv ux is just daft. It should be thoughtful enough to consider, if I have set something to record, I don't want to see the score in the thumbnail.

Spoiler prevention is by no means limited to sports. Plot giveaways are the worst. I will say there is more sensitivity there. But my advanced anti-spoilerism extends even beyond that. If you know how many episodes are left in a series, or how much time is left in a show, that has spoiler-ish implications. I would love options to suppress even that info.

Saturday, July 23, 2011

Need Better Hyphenation

Reading is one of my major uses of a smartphone. Obviously, screen real-estate is at a premium. There is no room for waste. Thus, as noted, one feature that is crucial, but often lacking, is full-screen mode. Here's another: better hyphenation. Especially in portrait mode, a huge amount of screen real-estate is lost to whitespace, because words don't get divided.

Friday, May 27, 2011

Small Design Pattern: Status History

Where a table has a field for status lifecycle (e.g., New, In-Process, Pending, Complete, Void). You have a couple of options. One is to keep updating the Status field each time it changes. But if you want an audit trail of that  history, you can have a child table that captures each snapshot of history. It would be nice to have it one-click automated.

Monday, July 05, 2010

Major Facebook Fail: Logging on from Unfamiliar Location

I don't use Facebook often. Maybe 1-2 times/month. While on vacation tonight, I thought I would do a quick status update. After entering my correct User ID and Password, I was dumbfounded to be greeted with a message that said I was logging on from an unfamiliar location, and I had to answer a bunch of questions to authenticate myself. That was bad. Worse, were the questions--they pertained to a bunch of photos of people I didn't recognize. They seemed to be photos of random of my "friends", some of whom are high school people I haven't seen in 25 years, others of which were children of passing acquaintances. I literally couldn't answer ANY of the 7 photo-identification questions.

I am surprised I have not read about this phenomenon. It is unlike anything else I have encountered. I did a little research. Maybe my search-savvy was not tuned in, but this is the only first-30 result I found that was somewhat useful--but no comments or follow-up.

What gives, FB?

Saturday, April 10, 2010

Software Craftsmanship

As Jeff Atwood of Coding Horror says, "In software development, execution is staying on top of all the tiny details that make up your app. If you're not constantly obsessing over every aspect of your application, relentlessly polishing and improving every little part of it -- no matter how trivial -- you're not executing."

A small example of this is how Google tends to treat text pasted into text boxes. For instance, when searching in Google Maps, it is very common to wish to paste in address, scraped from some other web page. Addresses, however, typically have at least two and often three lines--with carraige returns embedded, of course. Most apps just choke on that--they typically truncate everything starting with the first carraige return. Google, on the other hand, elegantly parses the text, and strips out the carraige returns. And it all just work, for the user.

Saturday, February 07, 2009

SharePoint Checkout Model

In VSS, you check out to a folder. VSS remembers that folder. When you have a file checked out, you can manipulate it offline is as you see fit, all VSS knows is the filename. So as long as you check in a file with the same name, VSS is happy.

In SharePoint, the user is not involved in determining where the file is checked out to. Conceptually, it seems like you check the file out to an invisible "stream" (to use ClearCase terminology). One problem is that doesn't let you work offline. There are some good things about it, in that the user doesn't have to think about the check-out location of the doc. So it is less versatile, but simpler for the typical user.

But even that mental model seems broken. Because when you have a file checked out, a mere Save causes it to update the current copy with your work-in-process save. That seems very wrong. You should be able to save, but not have your updated version merged into the mainline stream until you are ready. At which time you would explicitly check it in. But that doesn't seem to be how SP works. As soon as you save, it seems to be checked in.

In fact, unless I am missing something (which seems probable) the only reason that SP needs a check out/check-in would seem to be to reserve the file for future use!

Thursday, September 11, 2008

Chat and other features in Webex

We use Webex a lot at work (daily). The chat feature--which nobody ever seems to use anyway--is dangerously designed, I think. As I have found in teleconference-intensive environments, there is often a fair amount of back-channel conversation ("they are exaggerating the impact of the problem...", "...that's another missed commitment...", etc.). It is natural to use some form of chat for that. Typically, from what I see, the vehicle is instant messaging.

Imagine trying to do that instead through Webex. The default in Webex is to send a message to ALL meeting attendees. WAAAY to easy to open virtual mouth and insert virtual foot. Ouch!

Friday, July 11, 2008

Outlook Message Recall

Probably more than you want to know about recalling a message in Outlook. All in all, it is almost too dangerous and unpredictable and probably the world would be a better place if it were removed as a feature.
Recall Message functionality was designed with a passive rather than aggressive system in mind and is dependent on the Outlook clients' background "sniffer" idle process to remove the recalled message from the recipient's inbox. In order for this message to be recalled automatically, the specified criteria must be met. In addition, Outlook clients must also have the Tools, Options, Preferences, E-Mail Options, Tracking Options, "Process requests and responses on arrival" selected. This feature enables the background "sniffer" to run. When it detects an Outlook idle time (generally anywhere from 60-500 seconds) then it will run and process all unread items in the Inbox to see if any of them require its attention such as Meeting Requests, Read Receipt responses, or Message Recalls.

Tuesday, March 18, 2008

Mark Inconsistent Formatting: A Very Annoying New MS-Word Feature

I have used MS Word for Windows for years, almost decades. Just recently, I started very consistently encountering entire documents with wavy blue lines under all the text. Similar to the very-familiar wavy red ones that highlight spelling problems (a brilliant feature), and the wavy green ones that denote possible grammar problems (an okay feature). When I would right-click, the top menu choice was "return formatting to match original" (or something like that).

After a few weeks of being very annoyed by that (I read lots of Word docs online at work) I finally rooted around the Options tabbed mega-dialog, and found where to turn it off. Put that innovation right up there with "Open in Reading Layout".

Friday, December 28, 2007

We Need Better Teleconferencing Software!

Introduction


I work for a very large, very distributed company. For the first time in my career, I find that most of my meeting time is spent in teleconferences, rather than in-person meetings. Although I miss the face-to-face contact, I do think it is clear that teleconferencing will only become more prevalent, driven by various developments: distributed workforces, off-shoring and out-sourcing, and telecommuting.

Considering how critical teleconferencing is to getting work done for the contemporary knowledge-worker, I am rather shocked by the deep mediocrity of the technology. My employer uses AT&T Teleconference Services, which I have used for years at other companies, and it really hasn't improved AT ALL over time. Same old problems: everybody has to introduce themselves, and then hear a repetition of all the other people on the call; if someone puts you on hold, the rest of the conference gets serenaded with their PBX's muzak (I know there is an advanced feature that prevents this--nobody ever uses it); security problems if you have back-to-back calls on the same number, when the early joiners for the next meeting unintentionally "barge" into the meeting that hasn't yet ended. The fact that these old, well-known problems continue to be tolerated--never mind the failure to introduce cool new features--shows me a product category ripe for innovation.

What is needed--beyond a teleconferencing provider who cares enough about their product to continually improve it--is convergence between teleconferencing and web conferencing. In the admittedly limited sample of big companies I have experience with, web conferencing really has not taken off as one would expect. We probably have 10 teleconferences for every 1 web conference. Granted, there may be some discussions that simply do not benefit from any visuals, but as often than not, I find that there is inevitably a point in the teleconference where it would be very convenient to display something.(Maybe I shouldn't complain though--I have a long commute, and when possible, try to combine it with conference calls) In fact, we frequently wind up quickly emailing documents for the participants to review.

There are probably a few reasons for the under-use of web conferencing, but I think one big one is the tedium of scheduling them. I have used both LiveMeeting and Webex, and they both require meetings to be set up in advance, and the meeting URLs have to be distributed to all the participants. Ironically, ease of initiation is the one area where teleconferencing really shines, since there is no setup whatsoever required--just dial in to a well-known, persistent number and access code (unfortunately, there are some security problems associated with that, which we will get to shortly).

If teleconferencing and web conferencing could be tightly integrated, I think all the existing problems of both could be solved, and valuable new features added. An inventory of the improvements I envision is listed below:

Web conferencing is initiated automatically with the teleconference, and vice-versa


Just as employees receive their own, individual access code to the master teleconference number, so would they receive a standing URL for web conferencing.

As a bonus, teleconference/web conference addresses would be discoverable, for authorized individuals (see Security section for more discussion).

See who is currently connected, along with who was invited


Instead of taking an oral roll call, you can see who is connected. I bet introductions and roll-call takes a 5% productivity toll on teleconferencing time. So as mundane as this problem is, solving it would have a big payoff. Bonus feature--you automatically get a log of who was on the call, and even when they were on.

"Ping" invitees who have not signed on (via IM or phone call or email)


Another big time-waster is the need to "ping" the people who were invited but still haven't joined in 5 minutes after the start of call. Integration wouldn't completely make this go away, but it could make it easier--instead of manually adding their names to an IM or email, you could just click-select and invoke the "are you joining us" message. Bonus--an option for pinging could be a phone call with a pre-recorded message.

Display who is currently speaking


This feature would be very nice, though admittedly it would take some real technology, not just more integration. Still, it's value would not be insignificant--it can be very,very challenging in a large conference call to track the identity of the speaker.

Better security


Another thing that surprises me about all the corporations I have been at that use teleconferencing is the obliviousness to the gaping security hole. Since access codes NEVER change, anyone who gets one can join any call at any time. And given the lack of functionality, it can be very difficult to count and track all the beeps (not to mention, with quick-start calls, if the lurker is the first person in, they will be even harder to detect).

I would envision a layered security approach. There would be an option to provide a one-time URL for a given meeting. There would also be integration with network-based identity-management capability.

Bonus feature: for those occasions where the teleconference host won't be able to attend, instead of having to hand out one's standard host access code to a delegate, the ability to generate a one-time access code.

Conference Initiated But On Hold

I have worked in many different companies, and they all suffer, in varying degrees, from the problem of arriving late to meetings. To address this problem, the software needs to allow the conference to be initiatied but placed on hold (this enhances personal productivity, since participants won't feel obliged to engage in small talk while inevitably waiting 5 minutes beyond the appointed meeting time to have a quorum of participants available). The way this differs from current technology is that the leader, and even the participants, will have visibility to who has called in. That way, the leader can determine when a quorum has been reached, and at that point can take everybody off hold and into conference.


As a bonus, participants have the option to "break hold", if they want to talk as a subset. The key point is that everybody knows who is on the call, even if they haven't broken in to introduce themselves, as would be necessary with the current technology.


Auto disconnect web conferencing when done

A security problem I have noticed with web conferencing is that it is easy to forget to disconnect. Integrated software could have pop-up reminders, initiated when the participant terminates the call, if they are still logged in as a presenter on the web conference.


Icing On the Cake

Of course, a modern, integrated conferencing system would not have stupid anti-features, such as:

  • Inadvertently and embarassingly subjecting the rest of the teleconference to music when you put them on hold to take another incoming call.
  • Hanging up when you mean to take yourself off mute (inadvertent hang-up being an anti-feature of almost all current telephones)

Farther Into the Future

  • Development of an applet for mobile phones that provides most or all of the above features.
  • The development of full "telepresence".

CONCLUSION


The current state of teleconferencing reminds me of the state of web search or webmail before Google jumped in: minimally adequate, but long neglected, ripe for innovation and integration. In the short-term, it seems like some of the features I envision would require a highly integrated corporate PBX. In the long term, I hope they could be achieved via off-the-shelf handsets, or at a minimum, via standard cell phones.

Friday, August 10, 2007

Make Sign-In More Convenient w iGoogle

iGoogle requires you to click "Sign In" to get to the sign in screen. As opposed to having the sign in right there, which would definitely be more convenient. Seems to me a rare miss for Google in the useability department.

Tuesday, July 10, 2007

As Outdated as the Floppy Disk: Limiting Search Results to 10 Items

I can't believe this vestigal feature--defaulting the search results to 10 items--is still with us. AFAIK, it is a relic from the dial-up era that should be ditched. At the very least, the default should be set high, at 50, and the handful of dial-up users can set their own poxy default.

Maybe the is a server-side performance benefit is also keeping this alive?

Friday, July 06, 2007

Cringely on Universal UI Platform

Every time I struggle with the UI on a programmable thermostat, automatic sprinkler, or whatever, I think "how much better would it be if all intelligent devices (which is getting to be most devices) could be accessed via a PC interface?" Cringely touches on this in a recent column:

Think about anywhere you see a graphical user interface that isn't attached to a PC -- kiosks, high-end TV remote controls, touchscreens, ATMs, cell phones, digital cameras, VCRs, DVRs, GPS systems, set-top boxes, computer monitors, televisions, elevators, the Toyota Prius, medical equipment, Point of Sale systems, the "cash registers" at McDonalds -- everywhere, really.

In each case, the user interface was probably developed by a specialized team for specific hardware. The team may have limited training in GUI design or usability, the interface may not be portable across new device models, and the development tools may not be very evolved, which would slow the GUI creation process.

Flash potentially solves all those problems AND creates new opportunities.

Flash is well understood, and the development environment is highly evolved and therefore efficient. There are many experienced Flash designers, so the pool of available talent is potentially much larger. GUI design can be done by people who don't require intimately specialized knowledge of the underlying hardware. GUI elements would be portable across device models and even device categories. Think how the right-facing triangle of the "Play" button started on tape recorders, moved to VCRs, and is now on CD players, DVD players, DVRs, iPods, and any hardware or software that records or plays back content.

GUIs would evolve much more quickly and cost less to create. There could be standard interface libraries for all types of uses, and the similar GUIs would lower the learning curve for users. Talented interface designers would be in demand. User interfaces would be potentially upgradeable. More interesting, GUIs could be user-specific: the same cell phone might have a "Grandma interface" for one user, but a very different GUI for teens. And there's no reason why that should stop with cell phones.


Tuesday, April 10, 2007

How Stupid Is Yahoo

I was searching for a Yahoo group, call it somegroup@yahoogroups.com. First I just went to yahoo.com and pasted in somegroup@yahoogroups.com. Nothing found. Okay, I knew that was a bit lazy, so I took the time of going to www.yahoogroups.com and tried again to find somegroup@yahoogroups.com. Nothing. So then I thought "can they really be that stupid?" and dropped the "@yahoogroups.com". Voila!

If Yahoo can't trap a simple, very predictable user "error" like that, they are simply not paying enough attention to detail.