Tagged: microsoft windows

EmailTweetor (for Desktop) – the command-line Twitter client released for Linux, Mac and Windows

Like the Android version, it can tweet, reply, delete, favorite and retweet but it cannot alas email.

This terminal-based Twitter client can be operated interactively or automated using command-line parameters. To prevent your bash history from getting cluttered with unsightly tweets, you cannot specify the message in the command line. However, you can do pipe redirection or use a text file. The Twitter client is extremely powerful so I have not documented all of its features in the help.

EmailTweetor was made with Oracle Java version 1.8.0_101. So, ensure that your JVM (Oracle or OpenJDK) is newer or equivalent.

EmailTweetor lets you tweet from the command line.

http://www.vsubhash.com/subhash-email-tweetor-app-for-android.html

Windows 8/8.1 Tips and Tricks

New article has been published on http://www.vsubhash.com.

http://www.vsubhash.com/article.asp?id=127&info=Windows_8_Tips_Trick

I thought I would never have to write this article. A few years back, I had moved to Ubuntu and Gnome 2 desktop. I am quite happy with it. Even at work, I installed Ubuntu 10.10 with the last great Gnome 2 desktop. For my work duties as a technical writer, I have installed Windows VMs on VirtualBox. I never liked Windows 7 but Windows 8 made the earlier version look quite loveable. So far, I have installed Windows 8 five or six times and each time, I had to perform the same hacks all over again. Hence, I created this article where I can find it all in one place.

Microsoft delivers a lemon and names it Windows 8

New PCs not flying off the shelves.
Windows 8 chief Steven Sinofsky has left Microsoft

Windows 8 chief Steven Sinofsky has left Microsoft

Steven Sinofsky, the guy behind the team that built Windows 8, has left Microsoft. The Microsoft press release offered no reason behind the decision. The news spooked everyone because it was just two weeks after the new PC operating system (OS) was released. Microsoft had bet quite a lot on its success. (According to Forbes, Microsoft spent anywhere from $1.5-1.8 billion on just the marketing campaign.) Speculation ranged from how Steve Ballmer was easing out a threat to his CEO position to how Sinofsky was a polarising figure within the company and had to go.

This was in the backdrop of reports suggesting that Windows 8 had more or less bombed on the market. PC manufacturers such as Acer, Asus, HP and Fujitsu reported that demand was weak. Unlike previous Windows releases, demand for Windows PCs fell, continuing a trend seen months before the release of the OS. The much anticipated “holiday season” in the US failed to lift numbers.

So, what happened? Have we really entered the “post-PC era”?

PC Users Shift To Tablets and Internet-Enabled Devices

Most PC users were heavy content consumers. They no longer needed a full-fledged desktop PC or a heavy laptop. A tablet meets their needs – browsing the Net, using e-mail, and even gaming. Unlike a PC, a tablet does not tie them to a desk. A tablet can be used almost anywhere – on the sofa, in the car and (for some people) even in the throne room. In an age when many people think their status update is more important than having a pulse, tablets and smartphones are a godsend.

Microsoft domination is over.

Microsoft domination is over.

When PCs were ruling the roost, tablets did not have power-efficient CPUs. British company ARM Technologies solved that problem. Unlike the PC ecosystem, which run on power-hungry Intel x86 and compatible chips, most of tablets and smartphones today run on extremely power-efficient ARM processors. On the software end, Web technologies such as HTML5, CSS3 and Ajax, and dedicated mobile software platforms such as iOS and Android closed the gap with desktop applications. Wireless technologies solved the mobility problem.

Thus, a majority of of PC users were liberated. One should also note that, for several years now, laptop sales have outstripped desktop sales.

The ASUS eee PC girl who single-handedly launched the netbook revolution.

The ASUS eee PC girl who single-handedly launched the netbook revolution.

Netbook Revolution

When the Taiwanese company Asus released their first EEE PC, it marked the beginning of the fall of the PC. The netbook was lightweight and could run Windows. Its battery was good enough for a day’s work. The EEE PC was a big hit and other manufacturers followed suit. Unfortunately for them, netbook sales cannibalized on their desktop and regular laptop sales. It also prepared the market for future tablets.

Intel Ultrabook Campaign

The Ultrabook story is a bit different. When Apple released MacBook Air, people lauded Steve Jobs for the innovative work that went into its making. The “innovative work” in question was really done by CPU manufacturer Intel. In order to retake the credit and also to recover from the overshadowing of PCs by tablets,Intel launched the Ultrabook campaign. These slim laptops were several times costly as regular laptops. Intel marketing dollars for PC manufacturers were also diverted to promote Ultrabooks. Suddenly, laptops vanished from the mindspace of the buying public. People also preferred to spend their hard-earned money on iPhones and iPads, which they perceived as deserving products. Laptops were no longer cool.

The media campaign was indifferent from previous Intel campaigns that people have grown to ignore. The presence of the Ultrabooks in these largely abstract ads was quite minimal. This was quite ironic because the laptops was designed to be quite small!

Intel obscured itself in its advertising.

Intel obscured itself in its advertising.

Self-Inflicted Wounds of Windows 8

Although much of its loyal userbase had bought iOS and Android tablets, there was still demand for Windows PCs. Microsoft had little or no competition here. Unlike content consumers, content creators still needed powerful desktops and laptops. Every home needed to have at least one PC, no matter how many tablets they used. Most people do not have the patience or the ability to create long documents, complex spreadsheets or attractive presentation slides on a tablet. Tablets cannot run Photoshop or Visual Studio. And, how did Microsoft take care of this segment?

It released Windows 8. Windows 8 was targeted at both PC and tablets. Both hardware platforms were given the same touch-based user interface (UI) and the same app store. This was the problem.

The new Windows 8 “Modern” UI (formerly known as Metro) was originally built for a smartphone platform – Windows Phone 7 (WP7). (WP7 was a failure but the UI was not the one to blame. The UI was great.) A touch-enabled interface works great on a smartphone where you need to use your fingers rather than a mouse. A PC screen is much bigger and the UI elements are more complex and much more demanding. Users need something better than fingers to work on that medium.

The Windows app store was the other problem. Windows boasts a global army of independent software vendors (ISVs). All these years, they have been supplying custom-built or commoditized software applications directly to end-users. Now, they have to rewrite a huge chunk of their software portfolio so that it works with the new UI. After that, the software has to go through the Windows app store approval process.

For software programmers, they have to learn to use a whole new set of software development tools and processes. The Windows 8 programming platform offers a small subset of what the old .NET software development platform provided. Vast swaths of programming support have been gutted to suit Windows RT. Windows 8 development platform is more geared to the “Cloud” and Internet-based services. Even within its limited subset, programming support differs widely between Windows 8 (PC version), Windows RT (tablet version) and Windows Phone 8. In other words, not all Windows 8 apps will work on Windows RT. (Not all Windows RT apps will run on Windows Phone 8 too.) This was unlike previous Windows version where change was evolutionary. With Windows 8, change was disruptive. (And, that’s putting it mildly.)

Game publishers were most forthcoming among those who expressed their disapproval. (In terms of revenue, the software gaming industry is bigger than Hollywood.) In August last year, John Carmack (of Doom and Quake fame) said that he wished Windows 8 did not exist. Gabe Newell of Valve turned openly hostile because Windows 8 put a monkey wrench in the works. (Valve has confirmed a Linux Steam box for 2`013.)

All of this would not have happened if Windows 8 had not yanked the old Start menu. But Microsoft realized that if the old Start menu continued to remain there, then people would not be using the new UI. (The novelty wore off easily. Telemetry data sent back by the Consumer Preview version of the OS seemed to have confirmed this. The Developer Preview version of Windows 8 came without the Start menu.) If people did not use the new UI, then there would not be enough apps developed for it. If there were not enough Windows 8 apps, Microsoft reasoned, those Windows 8 tablets were not going to fly off the shelves on their own. So, Microsoft panicked and screwed up. One blogger judged Microsoft’s folly rather succinctly.

Would you sacrifice your entire user base in a rich and profitable tier for the sake of a feeble chance that you might hold a small share of a new market segment that has significantly lower profit margins? Sounds like stupidity to me.

Oh, well, move along. Nothing to see here.

Okay. How good was the new UI? People liked the looks but found it difficult to work with. UI design guru Jakob Neilsen felt that Windows 8 “smothers” usability. Apologists went on to say that with any new UI paradigm (they love this word) users will have to acquire new skills. This is exasperating to people who expect a modern UI to be intelligent, intuitive and usable.

Windows 8 got it wrong on many counts. It broke many established industry-standard rules. It was problems galore.

  1. Touchscreens are a problem themselves. They get dirty easily. It is not like your phone, which you can wipe across the seat of your pants if you wanted to clean it. Touchscreens are okay if you use them for short durations, such as in an ATM kiosk. If your work requires you to use a touchscreen PC all day, then your arms will fall off the hinges! (The mouse solved this problem long ago. By making small movements with a mouse, you move the cursor over great distances on the screen. It was a simple solution that worked great for decades.)
  2. The usability of an interactive element on the screen is directly proportional to its size. The old Start menu button was a few centimetres wide. If you wanted to select the Start menu, you could move your mouse towards the Start button with confidence (knowing where it was) and click anywhere on those centimetres of space. In Windows 8, you need to aim for a tiny dot OFF THE SCREEN – one of the four corners to reach the menu. Invariably, you will miss the corner and some other strange menu will pop up instead.
  3. It is easier to find an object if the area to be scanned is not very big. To find a program on the old Start menu, you just needed to focus on a small region on the left side of the screen. In Windows 8, the Start menu is several screens wide. Software professionals for example install over a tens or hundreds of programs. Their Start screens will be several feet long. To find a program, you need scan screens and screens of information. Sinofsky defended this decision by pointing to usage metrics that indicated many people use shortcuts on the taskbar for launching programs. This was a poor decision because the Start did not just contain links to programs but also integrated links to file locations, search, dialogs, settings, and so many other things. Now, the much ballyhooed Start screen supports only part of the functionality provided by the old Start menu. Many important functions are now hidden in various unintuitive locations, often buried under layers of overlapping menus. For example, the Shutdown option and the Log Off option are now in different places. Unlike earlier, now, you need to memorize these locations.
  4. It is easier to find an object in a group, if it is organized logically. The old Start menu was organized logically. The new Start screen is like a dump. If you don’t organize it, Start screens grows into one big unholy mess.
  5. Touchscreens pose serious design challenges for Microsoft’s hardware partners. (It is PC manufacturers, not Microsoft, who provide customer support for Windows.) PC manufacturers have to provide both the tablet and the desktop/laptop experience using the same device. This led to some very awkward design decisions. For example, the Lenovo Yoga pad requires users to rest the tablet on its keyboard. The Sony Vaio Duo 11’s slider design leaves no room for a touchpad and exposes the display to the outside!

    The Sony Vaio Duo 11 laptop looks great but it exposes its screen to the outside. As it has no touchpad, users have to use the touchscreen all the time.

    The Sony Vaio Duo 11 laptop looks great but it exposes its screen to the outside. As it has no touchpad, users have to use the touchscreen all the time.


    In one of its orientations, the Lenovo Ideapad Yoga 13 has to rest on its keyboard.

    In one of its orientations, the Lenovo Ideapad Yoga 13 has to rest on its keyboard.

    Despite looks that resemble playground equipment, the Dell XPS 12 Convertible is the most sensible of all Windows 8 devices. It makes no compromise for users who would want to use it as a regular laptop. The tablet configuration is likely to be too heavy and may not be recommended for prolonged use. No tablet yet is suited for prolonged use anyway.

    Despite looks that resemble playground equipment, the Dell XPS 12 Convertible is the most sensible of all Windows 8 devices. It makes no compromise for users who would want to use it as a regular laptop. The tablet configuration is likely to be too heavy and may not be recommended for prolonged use. No tablet yet is suited for prolonged use anyway.

    Despite looks that resemble playground equipment, the Dell XPS 12 Convertible is the most sensible of all Windows 8 devices. It makes no compromise for users who would want to use it as a regular laptop. The tablet configuration is likely to be too heavy and may not be recommended for prolonged use. No tablet yet is suited for prolonged use anyway.[/caption]

    When Microsoft introduced the Surface tablet as an exclusive hardware product, it rubbed PC manufacturers the wrong way. At least one top PC manufacturer (Acer) has openly expressed displeasure at the Surface product.

  6. Users who wish to bypass the Windows app store and install private apps will have to acquire the most expensive editions of Windows 8 – Pro or Enterprise. Or, they can buy Enterprise side-loading keys in packs of 100 – one for each options. Both options increase the total cost of deployment while offering nothing in real value. Why pay Microsoft to install software that you have already purchased from the software vendor?
  7. The installation process makes users to sign up for an Outlook.com account. The option to use a local account is deceptively hidden. Thus, in addition to the Windows 8 license agreement, users will have to agree to the Outlook.com terms of agreement. This agreement strips users of many legitimate rights of judicial recourse, including class-action suits. All disputes not settled to the satisfaction of Microsoft will be mandatorily referred to expensive and dubious arbitration proceedings outside the judicial system.

Surface RT and Surface Pro

We are nearing the end of the Windows 8 train wreck story… Despite many bold claims and false-starts, Intel was unable to create a really cheap and low-power x86 processor that could compete with ARM chips. After a long period of waiting, Microsoft decided to release a version of Windows that would run on the ARM instruction set. Microsoft programmers slaved for months to port Windows’ guts to ARM. Finally, the Surface tablet was released with Windows RT. It was a commendable effort.

Despite sold-out claims by Microsoft, Surface RT tablets are not moving out of stores.

Despite sold-out claims by Microsoft, Surface RT tablets are not moving out of stores.

The problem with the tablet version was software. People were initially excited at the prospect of getting Windows in the form factor of a tablet device. However, Windows RT did not traditional Windows applications. Instead, it was meant only to run apps downloaded from the Windows 8 Store. The number of apps available on the store was very limited. The apps bundled with the Surface tablet were not convincing enough for people to make the purchase. Windows Explorer, Control Panel and many other applications were not upgraded to use the new “Modern” UI. Many of the installed apps were just staid old Windows applications running under somewhat light Windows 8 makeup. They were of course not touch-friendly. Old Classic-themed dialogs continued pop out every now and then. The bundled Microsoft Office suite was a big big disaster.

Microsoft put such a veil of secrecy around this project that even the Windows RT team did not have enough time to test their applications on it. As a result, Surface RT was released with a half-baked Office 2012 Preview version. (Outlook was not included.) The sluggish performance of the office suite earned quick disapproval from early buyers. Some users reported that they could type faster than Office could display the characters.

Finally, it dawned on Microsoft that ARM was probably not the best choice to run what many call as its bloatware. Microsoft then announced that it will release a new tablet “Surface Pro” running on good old x86 chips from Intel. Of course, the new tablet would be more expensive, bulkier, and provide half the battery life of the original Surface tablet.

Now, where does that leave users who bought Surface RT tablets? Microsoft has announced that it will support Surface RT for another 4 years, that is, until April 2017.

Outside efforts with Windows RT were not successful either. Samsung has cancelled their ATIV Tab release in the US. HP claims it “may” supply RT tablets exclusively to enterprise customers.

Microsoft was also sued for overstating the amount of space that was available on the Surface tablets. Windows RT and pre-installed apps occupied the bulk of the disk space. In the 32-GB version, only 16 GB will be available for user programs and data. In the 64-GB version, 45 GB will be free. What this means is that Surface tablets, RT or Pro, are not something that enterprise customers can migrate to.

Like the Ultrabook campaign, the Surface RT marketing effort was unbelievably idiotic. Some of the corny Microsoft ads seemed to focus on the product’s stand and some unnecessary twitching it seemed to cause in crazy people.

Future?

There is no telling what Microsoft will do. Remember, Steve Ballmer is no Steve Jobs. Ballmer prefers to sit in an ivory tower and orders his minions to come up with magic. When that does not work, he fires those poor blokes. Did Ballmer really expect Apple users to throw away their iPads and queue up outside Microsoft stores? Somebody at Microsoft, somebody at the top there, needs to get a grip on reality.

Ideally, Microsoft should forget about Surface RT. There seems to be some promise in Surface Pro. Surface Pro running on Intel or AMD processors will be able to run the entire gamut of Windows applications and nobody will feel left out. In one or two years, x86 chips will become as good as ARM in terms of power efficiency. For its part, Microsoft should take the lead and rewrite the remaining parts of the OS and Office suite that still use the old UI. On the usability front, Microsoft needs to make massive improvements. It should restore the Start menu so that old users are able to upgrade. Microsoft should also allow users to trade in their Surface RT tablets for the Pro version for free.
Microsoft is not going to beat Apple or Google overnight. Over time, the Windows Store will have enough apps to keep everyone happy. But, first, Microsoft needs to preserve its ecosystem.

How To Add Your Favourite Applications To The IE Toolbar

As usual, the quick and dirty way

Notepad, IrfanView and WordWeb added to IE toolbar

If your work requires that you spend a long time on Internet Explorer (IE), you may have felt the need for quick access to some of your favourite programs like Notepad, IrfanView, etc.

In this article, you will learn about a simple way to customize your IE toolbar. This involves adding a few keys to the Windows registry. Windows registry is the main storehouse of vital information about your Windows installation. Be careful or you may have to install Windows again.

Anyway, here we go. In the first example, I will tell you about how I added a toolbar button for the Notepad application. Select the Start menu button and click on the Run option. Type regedit and click the OK button. The Registry Editor will be displayed. Navigate to the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Extensions key. Here, you might see keys with names like {A5D12C4E-7B4F-11D3-F5C9-0050045C3C96}. The names of these keys are called globally unique identifiers or GUIDs. In my machine, the A5D12C4E-7B4F-11D3-F5C9-0050045C3C96 GUID uniquely represents the toolbar button for Yahoo! Messenger. For every button you try to add to the IE toolbar, you must come up with a new unique GUID.

For Notepad, I created a key at Extensions branch with a brand-new GUID. (Select Extensions, right click, and select New » Key.) The professional way of generating a unique GUID is to use a tool like guidgen.exe or uuidgen.exe. The MSDN says, “Guidgen.exe never produces the same number twice, no matter how many times it is run or how many different machines it runs on.” Because I decided did not have this tool, I decided to take a risk by generating a new GUID myself. I made some random changes to the alphabets and the numbers in GUID used by Yahoo Messenger.

{A5D12C4E-7B4F-11D3-F5C9-0050045C3C96 – Yahoo Messenger key
{A6D12D4E-7B4F-11D3-F5C9-0060046C3E96} – Notepad key

The GUID is in hexadecimal format, which means that it is made up of numbers from 0 to 9 and the alphabets A to F. In other words, the ID cannot have alphabets from G to Z or fancy characters like *,#,/,%,^,&,* and @.

In the right-side pane of the registry editor, I created the following string values: ButtonText, clsid, Default Visible, Exec, HotIcon, Icon, MenuStartBar, and MenuText. (Right click, select New » String Value.) I set ButtonText and MenuText to Notepad. This value was to be displayed as the label below the toolbar button. The value used by MenuStatusBar was to be displayed in the IE status bar when the mouse pointer or the cursor hovers over the corresponding Tools menu option. The clsid value was set to {1FBA04EE-3024-11d2-8F1F-0000F87ABD16}. This value is a set standard and you should include this as is for any toolbar buttons you may create for your browser. The Exec value was set to the path to the Notepad application file (c:\winnt\notepad.exe). The Default Visible value was set to Yes.

IE_toolbar_demo2

In the Icon and HotIcon values, the number after the comma identifies icon group inside the Notepad application file (notepad.exe). An icon from this icon group was to be displayed on the IE toolbar button. To identify the number for the icon group used by notepad.exe, I used a program called Resource Hacker. If you don’t have Resource Hacker, you can use an icon (ICO) file for the toolbar button application and then then set its path as the Icon and HotIcon values. To create an icon file for your toolbar button application, open its exe file in IrfanView. A number of icons inside the application file will be displayed. You can select an icon from that and save it as a 16×16 24bpp icon file.

UPDATE (14/11/05): Apart from adding ordinary applications to the IE toolbar, you can also add useful script-based applets that will work inside the IE window. For this, you need to create a Script string value instead of an Exec value. The Script will point to a HTML file containing Javascript. In this example, I have created buttons that will scroll up and down a page. If you don’t have relevant icon files, make a bitmap file in Paint and then convert it to an ICO (icon) file using IrfanView.

c:\scrollu.htm

 // IE toolbar script for "Scroll Up"
 // By V. Subhash (10 Nov 2005)
 // http://www.vsubhash.com/

 // identify window object
 var pwin = external.menuArguments;

 // identify window height

 var pwin_ht = pwin.document.body.clientHeight;

 // calculate length to scroll
 var scroll_ht = pwin_ht - (pwin_ht/20);

 // scroll up command
 pwin.scrollBy(0,-scroll_ht);

c:\scrolld.htm

// IE toolbar script for "Scroll Down"
// By V. Subhash (10 Nov 2005)
// http://www.vsubhash.com/

// identify window object
var pwin = external.menuArguments;

// identify window height
var pwin_ht = pwin.document.body.clientHeight;

// calculate length to scroll
var scroll_ht = pwin_ht - (pwin_ht/20);

// scroll down command
pwin.scrollBy(0,scroll_ht);      

Reference

Internet Explorer _search Exploit

Today, I discovered an Internet Explorer exploit that can be used to circumwent popup-blocking software. This exploit can be used by websites and online ad agencies to serve popup advertisements.

Popup blockers target the window.open statement to prevent the opening of new windows. The first parameter for the open statement contains the URL of the advertisement. The second parameter contains the user-defined name for the window. The _search exploit involves the use of the second parameter.

When you use _search, Internet Explorer allows you to open URLs inside the search pane rather than in a new window. For this, the second parameter has to be _search. Popup blockers do not block URLs opened in the search pane of Internet Explorer.

To test the exploit, copy* the following code to a HTML page on a site. Open the page in Internet Explorer. Keep the popup-blocking feature of Google Toolbar or Altavista Toolbar or MSN Toolbar on. None of these toolbars block the test site Yahoo.com from being opened in the search pane.

<html>
 <head>
 <body onload="window.open('http://www.example.com', '_search')">
  <p>Website Content</p>
 </body>
</html> 

When you use some other target window, the second parameter becomes a user-defined name for the window. The toolbars then kick into action and block the test site Yahoo.com from being opened.

<html>
 <head>
 <body onload="window.open('http://www.example.com', 'search')">
  <p>Website Content</p>
 </body>
</html> 

Popup killer utilties including IE toolbars don’t check web pages loaded in the search pane. So, advertisers can load web pages in the search pane and make them launch popups.

UPDATE: Microsoft has eliminated the _search hole in an update.