Showing posts with label apple. Show all posts
Showing posts with label apple. Show all posts

26 March 2018

Appstores need a Trial Mode

I've been looking for a while for a Windows-native Twitter client that could sync with my other non-Windows devices (aka "supporting TweetMarker"). I've found one that claims to do that, Tweet It!, but there is a problem: it costs £3.5 upfront. That's a relatively high amount of money to throw down a well hoping that my wish will come true. However, because this feature is so rare, if it worked I'd be happy to pay three times as much, no questions asked. I just have no way to find out.

Appstores need a simple Trial Mode. All the current hacks (In-App-Purchases, subscriptions, refunds etc) are just that, clumsy workarounds to this glaring omission, which is why app prices are so squeezed down - to the chagrin of indie developers. Trial Mode would also bring huge collateral benefits like reducing reliance on SaaS services (something that Microsoft in particular should relish) and creating viable alternatives to the free-to-play bubble that has turned online gaming into a socially-accepted form of gambling addiction.

I doubt Apple will ever introduce Trial Mode - they are the dominant player and have little incentive to change the rules; and Android is a far west where the Play Store is almost irrelevant. But Microsoft should experiment with something like this, while the Windows Store is still young and evolving. Both developers and users would love it, they have been asking for something like this for years.

18 December 2016

OWC 12-port Thunderbolt2 dock review

As you probably know, recently the Apple world has been rocked by the release of new MacBookPro models. One of the arguments of contention is the drastic switch to USB-C / Thunderbolt 3. Not by coincidence, I've recently decided to finally splurge for a Thunderbolt dock, although a TB2 one; my 2012 MBPr only supports TB1 (the port that looks like a MiniDisplayPort), so anything more would have been a waste of money. Here is a short review for people who might wonder whether this dock is worth the price.

I've dealt with my fair share of no-name Taiwanese stuff in my life, and I didn't want to risk it this time, so I turned to OWC - a very reliable supplier of Apple accessories. Their 12-port Thunderbolt2 hub got some good press, so I went for that. First impression was slightly disappointing - the unit is well built and feels pretty sturdy, but the one I received was scratched on top, and overall looked a bit like an ex-display or returned model. Let's not be "a typical Apple user", I thought, and see how it works before we knock it.

Sure enough, it works pretty well. I went from having all MBP ports occupied, to using one with even more attached devices than before. This is what I connected:

  • External Thunderbolt drive
  • External USB2 drive
  • 4k display (via HDMI)
  • Ethernet
  • headphones
  • two Amazon Kindle
  • gamepad controller

The hub is independently powered, so it can charge devices even when the laptop is shut down. However, it's not magic; there a few trade-offs you should probably be aware of.

The first is that attached Thunderbolt devices inevitably lose a little bit of performance, since bandwidth is shared. This is probably less noticeable if your laptop supports Thunderbolt2, which supports higher speeds, but it's definitely visible with TB1. My external drive saw a 20% loss of speed, from 360 to 300 MB/sec, which is inevitable: now that we're sharing one TB bus among 8 peripherals, the drive can't max it out on its own. It's still very respectable though, and likely a blip if you use TB2 throughout (i.e. MBPr models from 2013 onwards).

The second issue is more disappointing. Having both an HDMI port and one TB/DisplayPort available (the other is used for the actual connection to the laptop), the hub supposedly supports attaching two screens. I first connected my primary monitor to the hub HDMI port; HDMI is the only way to get 4k on the 2012 MBPr. This worked fine, exactly as it did on the actual laptop port. However, as soon as I attached a second screen to the TB port on the hub, the HDMI connection was downgraded to half the native resolution. This did not happen when I had both screens attached to the laptop, so it doesn't seem to be an issue with OSX; rather, the hub must be doing some internal processing over video streams, and must have some sort of ceiling in the amount of pixels it can push down the wire (or something to that effect). In short, I would recommend to only attach one monitor to the hub, if it is a high-res screen.

A similar behaviour appears if your HDMI screen happens to have speakers. Sound quality degrades so massively, it is simply unusable: lagging, skipping, terrible sound all around. It's weird, because the analog headphone jack works perfectly, so it must have something to do (again) with HDMI stream management.

The fourth issue, and the reason I wouldn't be surprised if it turned out this is indeed a returned model, is that the whole hub suffers something like a crash if you use the "high power USB" ports for more than a couple of hours. All attached devices suddenly stop working, and reconnecting the TB cable makes no difference. The couple of times it happened, I had to power-cycle the unit (which does not have a switch, so I had to unplug the mains cord) after disconnecting all non-essential devices, in order to get it back online. I've isolated the issue to the high-powered USB ports, which I used for two Kindle units: if I detach the cables after 20 or 30 minutes, all is fine, but if I leave them there for a few hours, inevitably I'll get a crash. To be on the safe side, I moved my precious TB drive back to the second TB port on the laptop (I simply cannot afford to corrupt that drive), and mostly stopped used those ports.

The last point is not a real problem, just a little gotcha. The headphone jack is analog, but it's not an automatic passthrough. In order to actually use it, you have to go to System Preferences / Sound / Output, and select "USB audio output" as your output device. Quality seems fine, but I'm not an audiophile so I will refrain from commenting further.

Overall, the hub seems to work more or less fine (bar the power-loss scare), and it's very convenient for my setup. Thunderbolt, even in its first incarnation, is an extremely powerful standard, just on the expensive side. I won't be buying a new MBP anytime soon (new models are just not as powerful as I'd like, the British Pound is moribund, and this 2012 model is still rocking), but if you do, you should find the power of TB3/USB-C outweighs the annoyance of migrating to yet another I/O standard.

16 June 2016

The Nifty Minidrive is a Nifty Hack

I know it's fashionable to hate on the Nifty Minidrive: "overpriced SD adapter!" "I can get an equivalent one for $2!". Truth is, it's an ingenious hack; a well executed, high-quality concept conceived by two local Manchester lads with a Kickstarter campaign. I've tried the cheap alternatives and they just don't compare.

Yesterday I was in Staples (aka Home Depot) for various reasons, and on a whim I picked up a Sandisk 128GB SDXC card to replace the 64GB one I was already using with Nifty. A quick swap, and now I have a grand total of 640 GB of space on my MBPr. That was just too easy!

(This said, I hope Apple hurries up with the MBPr refresh so I can buy a new laptop with 1TB disk. I was really disappointed by the lack of hardware announcements at WWDC; my current MBPr is now 4 years old but I'm not going to drop two grand on a new machine with chips from 2014...)

25 May 2016

Change your login background in OSX

A little something for my long-suffering OSX readers: a simple script to change your login background. Note that images must be in PNG format.

Copypaste the code above, save it as /usr/local/bin/set_login_background.sh, and execute like this (the first line is necessary only on first usage):

sudo chmod a+x /usr/local/bin/set_login_background.sh
sudo set_login_background.sh /path/to/my-new-image.PNG

21 January 2016

OSX Nostalgia

I have to say, I really don’t like the direction the OSX interface is going. All this flatness is tremendously boring. I’ve found myself very nostalgic of the old ”Aqua” interface several times in the last few months.

Unfortunately, Jony Ive’s iron grip is so tight, all theming/customization hooks have been removed from recent OSX releases. There is now no application (that I know of) which could reskin windows, toolbars and scrollbars.

The only avenue left to UI tinkerers is icons. You can still use LiteIcon to override system icons, and of course copy-paste on individual folders. I’m currently using icons from the classic Iconfactory World of Aqua series, and I just love them.

Some programs will thankfully allow you to customize them. There are plenty of Aqua themes for Firefox, I use a slightly cheesy one. iTerm2 has an ”Aqua” option for its tabs.

If you are an app developer — please consider some skinning support. For all the talk about ”consistency” from UI nazis, the first thing people do on a new computer is still to customize the desktop background...

02 November 2014

What to do if Apple Mail becomes invisible in OSX 10.10

Apple Mail is a solid application, but occasionally it can be infuriating.

Today, all of a sudden, when I opened it, the main viewer window would not appear. The program seemed to work fine in the background: I received notification of new emails, the unread count on the icon would get updated, but there was no window. Trying to use Exposé, "Bring all to Front", "Arrange all to front" wouldn't bring any improvement. Right-clicking on the icon and selecting "Show all windows" would show transparent squares with actual window titles, but trying to click on them would make no difference. File -> New Viewer Window seemed to produce new "transparent" windows, so the list under the Window menu would get longer but I still wouldn't see anything. Using Applescript to resize and reposition a window gave very strange results, with the window appearing half-broken (no Preview column, no Mailbox list, missing toolbars etc) and eventually disappearing again.

Out of desperation, I quit Mail and started digging in the filesystem. I eventually managed to fix the problem by doing the following:

cd /Users/your-user/Library/Containers/com.apple.mail/Data/Library
# 'tar' is just for safety, delete the gz file if fix works
tar -czvf ~/Desktop/Preferences.tar.gz Preferences
rm -rf Preferences


When I then launched Mail, the Viewer window finally appeared and worked correctly. It had lost my original layout, so I had to set a couple of preferences again, but apart from that it seemed to work well and it didn't lose any mail or account information. 

19 October 2014

Read this before you upgrade to OSX 10.10 "Yosemite".

A few notes for people looking to upgrade to OS X 10.10 "Yosemite".

  • If you are a homebrew user, you might want to backup your /usr/local directory and then remove or rename it before running the upgrade. This is, reportedly, why my upgrade was stuck on "about a minute remaining" for almost 20 minutes; basically Yosemite will go through that dir and "fix" a lot of your hacks.
  • For the same reason, backup your PostgreSQL data. If you don't, you'll have to fix it as reported on this StackOverflow question, i.e. recreating some dirs under (guess what) /usr/local. 
  • iStatMenus 3.27 was branded "incompatible" and disabled at first boot. After manually launching it, it had to "upgrade some components", but it seems to have been working fine since then. All its configuration was lost though. You might have a better experience with (paid upgrade) iStat Menus 5.
  • IntelliJ PyCharm 3.4 seems to crash on startup. Apparently this is a known problem for all JetBrains products at this time (as commenter Bardia confirms below), due to them using Java 1.6 which is not officially supported on Yosemite. To fix it, I opened /Applications/PyCharm.app/Contents/Info.plist and edited the JVMVersion key from "1.6*" (i.e. "any 1.6 version") to "1.6+" ("any version greater than 1.6"). This found the 1.7 Oracle JVM I had previously installed, and launched successfully. However, it looks like the standard interface fonts now look bad (but not the custom ones used in actual editor tabs, somehow). I'll probably have to read through the relevant thread in the IntelliJ forums at some point.
  • my not-regularly-updated homebrew was broken because it expected Ruby 1.8 to be available, whereas Yosemite ships only 2.0. To fix it, I successfully followed the instructions on this comment, just running the listed commands with sudo (because my homebrew is oldish and sudo-ed and I can't be arsed to reinstall and I'm a bad boy like that).
  • The upgrade freed about 10GB of space, which is nice but makes me slightly nervous about what was removed.
  • "Dark mode" is gorgeous, but the the new system fonts and overall "flatness" just make me sick. Apple Mail now looks sad. Guess I'll have to get used to it for now.
  • Animations feel a bit glitchier than before, on my beefy 2012 MBPr (2.6 i7 with 16GB RAM). It took about 5 minutes before I got the first system crash (pointer still moving but desktop completely unresponsive). Apple must be working hard behind the scenes to sell me a new laptop. EDIT: I've found the way to get pre-upgrade performance -- System Preferences -> Accessibility -> Display -> Reduce Transparency should be ticked. It makes a HUGE difference.
  • The upgrade didn't seem to make much of a difference with my HDMI problems (I have a new external monitor that can do 3840x2160, but it stopped working via HDMI earlier today, well before the upgrade. Hopefully it's a cable issue.)
I will likely update this post in the following days, as I experience more problems.

07 June 2013

iTunes "File Sharing" is a ridiculous pain

There is no way to programmatically access the application-specific "File Sharing" directories on iPhone from OSX. You are forced to start iTunes and manually select the phone, select "Apps", select your app, drag&drop files.

In 2013.

With a unix-based OS talking to another unix-based OS.

This is ridiculous.

No, I will not jailbreak my phone. This is something that Apple should expose in an API, either via iTunes / Scripting Bridge or via direct Obj-C calls. iCloud simply doesn't cover all use-cases (and, reportedly, it's broken anyway).

This is the frustrating side of the Apple ecosystem: sometimes, you'll be prevented from doing something very simple and very obvious, for some obscure reason nobody cares about (except Apple, of course).

17 May 2013

Apple Firewire-related update resulting in USB disk not mounting - fix

Last night Apple pushed a small OSX update, purportedly related to Firmware. It required a reboot and completed successfully. Unfortunately, it also stopped one of my external USB disks from mounting. Others were mounting fine, but this disk (which was mounted the night before, during the upgrade, and removed after shutdown) couldn't be seen.

To say I was scared to death is an understatement: there's always a chance that problems like these are due to hardware issues. Unfortunately, Solid State Device (SSD) disks have a limited life and will eventually fail. This was a 500 GB disk with a lot of very useful stuff on, programs I need every week or so, now-untrovable applications, etc. Before I'd let go of this baby, I wanted to go to the bottom of it.

Almighty Google pointed me to an old post mentioning USBProber but it didn't mention what USBProber is (a debug tool by Apple) nor where I could find it (it's not installed on OSX by default, at least not on 10.8 Mountain Lion). Luckily, another blogger mentioned it, and I could finally get it from the Apple site: you will find USBProber at the Apple Developer Site under the name "IOUSBFamily Log". I got the 10.8 version and installed the package ending in "-Log", as instructed.

USBProber.app can be found under /DevTools/Hardware. Once launched, it gives you a number of options to track USB activity. I'm not a hardware hacker, I only have a cursory knowledge of Plug and Play mechanics from my old Linux days, so I poked and prodded here and there without much luck. Eventually, what seems to have done the trick was to select "Bus Probe", ticking "Probe suspended devices", and then hitting "Refresh" several times, until the drive appeared in the list. Switching to Finder, I could see that the drive was in fact mounted, and all contents were displayed. Phew.

I hope this is not something I'll have to do over and over. Hopefully I'm not the only one to see this issue, and Apple will eventually push a correction. Meanwhile, USBProbe looks like a nice find to troubleshoot problems like this, and hopefully this post will be useful to people in the same situation.

13 July 2012

MacBook Pro "Retina" Quick Review - Or How I'm Learning To Stop Worrying And Love The Mac

Today I finally picked up my new MacBook Pro "Retina" (2.6Ghz/16GB/512GB). I have to say that it's the first Mac I've ever truly wanted; I've used others in the past (the original "60s-tv" iMac, the white iBook, a few G5s and occasional MBP), but they were bought by other people for other people. So I'm not really a "Mac person": since 2002 I've mostly used Linux at home and Windows at work, and kinda abandoned Linux last year for Windows 7.

The first thing I noticed, and a big reason for the switch to The Land Of Steve, is how thin and light this MBP is. It's roughly half as thick as my Dell Latitude E6510 (which is powerful and packs a nice screen, but by God is it bulky), and probably about 35% lighter.

My second thought was about silence. I don't think I've ever owned a laptop this quiet, let alone one with an i7 CPU on board. You can't really appreciate it in a chaotic Apple Store, but when you're all alone at night, the lack of noise is incredibly refreshing. Note that I live in a quiet residential suburb; for any city-dweller this MBP can be considered completely silent.

Most things you've read elsewhere are also true: it boots faster than a phone, and you don't really need to actually shut it down unless forced by installs/updates; the screen is gorgeous (as long as you stick to updated apps like the Developer branch of Google Chrome, avoiding sucky ones like the official Twitter client) and it feels faster than any laptop I've ever used.

I have to say I couldn't notice any lag on my model until now, although I did feel it was a bit sluggish when I first tried one at the Store. I suspect the 2.3Ghz/8Gb configuration (which is what you get there, and what most reviewers have tried) is not enough to smoothly drive the über-screen; but I don't think I'll regret the choice not to shell out another £200 for the 2.7Ghz model, which comes with a larger cache (8Mb vs 6Mb).

And this is all that separates this particular Mac from other Macs out there. But what about differences between OSX and Windows? Obviously there are zillions of flame-threads on this subject, but these are my first thoughts as a switcher:

  • The damn keyboard layout. I must find a way to REMAP ALL THE THINGS!
  • No PgUp/PgDn/Del/PrtScrn (update: for PgUp/Dn use Fn-ArrowUp/ArrowDown). I'm wearing a black armband to mourn them right now.
  • Shortcuts are all fucked up. If you minimize a window and you want to bring it back, you have to Cmd-Tab back to the program, keep Cmd pressed, then press Alt before leaving Cmd. This is just Wrong. To maximize a window without going fullscreen, you have to invoke the "Zoom" feature, which often requires a custom shortcut. And so on and so forth. There is a steep learning curve for keyboard monkeys.
  • Trackpad gestures become necessary to survive. This might not be such a bad thing.
  • Any non-Apple peripheral will require an Internet connection to automatically download a half-decent, probably-uncustomizable driver. But, of course, why would you ever buy anything not Made By Steve?
  • Some DMG files, you launch them and they launch the app right there. Others will show a funny "drag app from this icon to that icon" screen. Others will open a window and expect you to know what to drag where. In comparison, Windows installers look admirably consistent.
  • Many developers (VmWare, Ascendo...) make you pay twice for the same product on a different platform. This is not nice. I should be able to deactivate a product on computer A and activate it on computer B with the same license. I'm still one person using one program.
  • gfxCardStatus, Little Snitch and iTerm2 are lovely. GPlus Tab and Facebook Tab suck.

More to follow in a few weeks; until Mountain Lion is officially out, I'm not going to deploy the full barrage of developer tools -- I'll probably format the disk anyway to install the new OS, so there's no point in wasting time now.

18 January 2010

Nokia Ovi Store Policies on SaaS / subscriptions: fail

(Chances are that nobody will answer this question, like it happened to this developer on forum.nokia.com, but what the hell)

I have an interesting business idea. I'll develop a mobile application with some interesting functionality, and I'll give it away for free. The application will contain an option to upload some data to a remote server, which you will then access from any computer as a regular site. The website will have some advanced features to analyze the data etc etc. The site will operate as SaaS, with a free 30-day trial. Basically, the site will make the real money, in a way similar to what FeedDemon and NewsGator tried a few years ago in a different market.

Now, if I wanted to do that on Nokia platforms, I would try and put my mobile app on the Ovi Store as a free download, right? After all, it will be a useful program in its own right, with the online services being 100% optional. Nokia / Ovi get a free, useful app enriching its (crappy) customer experience, the developer gets a big distribution channel, it's a win-win!

Except that landlords don't like uppity sharecroppers. From the Ovi Terms & Conditions:

4.7. Free Content Restriction

You are prohibited from collecting future charges from end users for Content that those end users were initially allowed to obtain for free. This is not intended to prevent distribution of free trial versions of Your Content with a later upsell option to obtain the full version of the Content. Such free trials for Content are permitted. However, if You want to collect fees after the free trial expires, You must collect all fees for the full version of Your Content through the Program. In this Agreement, "free" means there are no charges or fees of any kind for use of the Content. All fees received by You for Content distributed via the Program must be processed by Nokia.

Now, I can see the motive behind such a "racket clause". Nokia doesn't want Ovi to end up a cesspool of trialware, or to be associated with "click once and pay forever" scams. But the rule is too broad, and it reads like any SaaS scenario is simply out of the question (especially when you consider that Ovi does not support "subscriptions" at the moment, only one-off payments). SaaS is probably the best revenue model in the software world at the moment, and Nokia is telling developers they can't use it.

I honestly do not know if Apple put similar restrictions in place on their store. They probably did (and then some), control-freak as they are, and this is why I wouldn't want to touch the iPhone ecosystem with a barge pole. But Nokia was supposed to be trying hard to regain developer mindshare...

So the question I'd like to ask, before I shell out for the Ovi "publisher" license, is: dear Nokia, my application does something useful on your mobiles. It will then, optionally, send some data to my server, and I will personally collect money to have people access that data on the web, aggregated in various ways. Can I put the app on Ovi?