AlphaPixels Prepros 4 App Review

    A cross platform competitor to Codekit

    (complete with Live Browser Refreshing, Preprocess Compiler, JS minifier, Remote Device Inspect Element and HTTP serving)

    Aug 15 2015 Update:

    I’ve posted a much better written, in-depth,  Prepros 5 review, you can read here. The review below is for Prepros 4. 

    Not long after writing it, I retired Prepros 4 for CodeKit 2/Grunt. It’s filled with typos, crimes against English and edits. Most of the comparisons were to CodeKit 1.0, which wasn’t nearly as flexible as CodeKit 2.0, and before BrowserSync (for Grunt/Gulp). 



    Introduction

    Time for a story… Once upon a time, when you coded the front end of a website, you wrote your CSS and JS in their native format. Today, you have your pick of precompiliers:  SASS, LESS, Haml, Stylus,  Jade,  slim,  CoffeeScript, Livescript

    I have a love/hate relationship with precompiling languages, I’m not always convinced I’m writing better CSS than if by hand but the management capabilities.  (Edit: I lied, I love Sass, vanilla CSS is evil) They do amazing things, with a few simple for loops, I can easily generate an entire responsive grid but they lend themselves to nested tag hell, and encourage over redundant classes. However, this is not about my opinions on SASS.  For the most part, I’m pro-SASS.

    Everyone’s work flow is a little different. I tend to favor GUIs when they empower me more than the command line.  I started with Grunt JS. Grunt JS does its job admirably from the CLI, which makes a utility like Prepros less a necessity than applications for Git management.

    These days my workflow is a combination of Sublime Text 3, Sketch, Photoshop/Illustrator, Tower, Kaleidoscope, Colorsnapper, GifBrewery, ImageOptim, Muir, and Prepros.  I’m not afraid of the Terminal, and still use it do all my config apache setups for OS X but I have a fondness for GUIs, especially ones that make tasks much easier. Prepros is nearly the same level of awesome as Tower is for Git management.  I spent much less time messing with terminal and more time coding, designing and developing. 

    Propros…

    Prepros’s HTTP works even with local devices and devices on separate VPNs.

    Prepros isn’t the first Node JS-wrapper-alternative, that keeps you out of the command line. I tried CodeKit, and I wanted to love Codekit but it never quite fit into my workflow. Ironically while writing this review, Codekit matured to version 2.0, although I was unable to obtain it due to the vague “server error”.

    It worked wonders for simple projects, mostly projects that I could host on my local machine (PHP, Wordpress sites), but was the square peg for a round hole when dealing with legacy coldfusion sites, the lone ASP.NET site and anything that involved complex VMs. CodeKit also seemed to crash more than it should have, and on occasion had some issues with Grunt files. Lastly, CodeKit insisted on reloading the front tab in Safari or Chrome regardless separate if was part of the site I was working on every time I hit save on a HTML/PHP file.  CodeKit wasn’t bad, in fact it was quite good but these quirks were enough to keep me just using the command line running Grunt watch over Codekit.

    The error log is easily the panel you’ll spend the most time with. Failed compiles will appear red, and passing compiles show as green.

    Prepros’s user interface isn’t better than CodeKit but from a strict dev perspective:  its everything I want. It is not the world’s most intuitive app and it looks and feels decidedly like a Metro app. Fortunately, Prepros lives in the background and you’ll rarely be looking at the app outside the error log.  It only took me less than an hour with with Prepros to convert me into a buyer.

    For my test, I used Zurb’s Foundation, installed it via command line for an Expression Engine based project  for a decently budgeted client. After configuring Apache and Expression Engine on my local machine, I fired up Prepros and with a simple drag and drop, and brought the project folder over to Prepros.

    After a few failed compiles, and a few tweaks to the default Foundation file and Prepros, everything was working. Precompiler? Check. JS Concatenation? Check. Live Reload? Check.  

    Window panes present all preprocessing elements

    Victory

    It was that easy. The file output paths were auto detected, my App.js minified properly along with my SCSS files. Editing my import list didn’t cause any troubles.

    The HTTP server worked sharing between VMs, (VMware and Parallels), the iOS simulator, iOS devices (tested on iOS6 and iOS7, iPhone 5, iPad 2, iPad 3), Microsoft’s Surface (RT, running version 8), a Nexus 7, Android Simulator running 4.x and even a lone Windows Phone. The inspect element worked on all the devices, although hiccuped on VMs, and IE tended to complain about console.log errors in the JS for livereload.  My guess is the particular livereload.js isn’t IE9 and below compatible.

    Hitting save on any file will inject the relevant CSS changes or cause the browser to reload for JS, HTML changes.

    Things got even more interesting when I installed Muir for iOS. Muir lets iOS  and Android devices follow the currently open page. Paired with Prepros, you never have to touch your mobile devices. 

    The highest compliment that I can bestow on Prepros is it makes my job easier. 

    Nerd fun: poking around in the innards of Propros shows that Prepros is a Ruby/Node application

    Pros

    • Painless, almost zero problems
    • plays nicely with built-in Apache
    • detects VPNs, and multiple net connections
    • internal HTTP server plays nicely with VMs, simulators and separate hardware
    • Adds inspect-element (lite) to remote devices.

    Cons:

    • No speed increase noticeable over Grunt.js,
    • Lacks many core features that other task managers offer
    • GUI feels un-mac-like
    • Included LiveReload.js can throw up errors in IE
    • Inspect Element can view but not manipulate attributes. 

    Prepros vs Codekit

    So which is better? Prepros or Codekit?

    Prior to CodeKit 2.0’s release, I’d of been able to answer this with absolute certainty, Prepros but that isn’t true anymore. 

    Codekit 2.0 boasts Libsass (a SASS compiler running in C# instead of JS)  and a re-write of most things. CodeKit ventures deeper into management as a Bower wrapper and source mapping. For those who are looking to avoid the OS X terminal at all costs, Codekit is the better choice.   Both applications are best used with locally hosted files.  If you’re looking for , inspect element on remote devices, ftp compatibility and cross platform support, Prepros is your man.  

    Update #1: I purchased CodeKit 2.0 as an upgrade.  My initial impression so far is annoyance as it does not appear to place nice with Apache configs and instead prefers MAMP configurations.   Without re-setting up my current project, I can’t do an easy 1:1 test. Dragging over the project files returned compile errors. It took me a few minutes to discover Sass 3.2.x isn’t compatible for Codekit 2.0. 

    From Codekit 2.0’s release notes:

    If you have Sass 3.2 and/or Compass 0.12 installed on your system, you may see an error about a “superclass mismatch for class Literal” when performing any Compass actions in CodeKit. To resolve this, run gem uninstall compass and gem uninstall sass on the command line to remove earlier versions of these gems from your system.

    I’m not looking to bork my working project near the end, so it might be awhile before I can do a head to head comparison. If you’re free of VM hell and running local MAMP configs, this might be the better route but Codekit hasn’t played nicely with the legacy ColdFusion 8 sites running off a Windows Server 2003 VM using Vbox. Prepros is more akin to using Sublime Text, drag the folder over and just go to work.

    Update #2: Nov 12 2014: I posted a CodeKit 2 review, which covers Prepros vs CodeKit. Prepros 5 has been released since this review originally went live.

    Update #3 Aug 15 2015: The opinions posted here were wantonly out of date and poorly written. This was from my Tublme days when I tried to use Tublme which didn’t have spell check and made editing a huge pain in the ass. I added strike throughs on some lines rather than delete my old opinions as it did represent my thoughts of me, nearly 2 years ago.

    Conclusion:

    Prepros seems more flexible (edit: than Codekit 1.0), especially for VPN/multiple subnets and for anyone using Apache built in to OS X. I’m not a MAMP user so I can’t comment to it’s compatibility in regards to MAMP.

    Its well worth its $24 price tag. Users looking for a cross-platform solution, and wins on default for Windows users.

    Version reviewed: 4.0.1

    Prepros official website

    Cost $24


    Recruiter spam, once flattering… now annoying. Tips and pointers for recruiters

    Hi Greg,

    My name is <redacted>. I am a recruiter at <redacted>, a five billion dollar financial service company.

    To be honest with you, I was emailing you to see if you might be interested in a full time position as a UX Designer.

    <redacted> offers a competitive salary, good benefits, supportive leadership and career growth. If you are interested in promotion, this is the place to be as we value our internal associates and will guide them in their career.

    For more details on the role, please visit <redacted>

    If this is of interest to you, please apply online, indicate you were contacted by a <redacted> recruiter and circle back to me directly.

    We are on a short time line to surface viable candidates for this role and will be setting up interviews this week.

    Best Regards,
    <redacted>

    Alright, I’ll give this recruiter cred for cutting to the chase within three sentences, but leveling with me that you’re trying to woo me with a job when you’re a recruiter is like a car salesman admitting that he/she wants to sell me a vehicle. They get points for naming the company they’re recruting for but if you’re fishing in a fairly popular pond, you have to use better bait to get a bite.  The above e-mail only got me to click the attached URL so I could write this blog post.

    Tips & Pointers for recruiters:

    • Generic corporate speak doesn’t make you sound profressional, it makes you sound bland, boring and stuffy even if you dress it down with causal speak.
    • Using tired lines like “good benefits” is pretty relativistic and reads more like “not full benefits” or “we can’t brag about offering vision or dental”.  You and I may have very different views on “good benefits”. Use quantifiable things how many paid vacation days or flexiable scheduling. People like perks, and they are easy to compare versus one’s current position.
    • Dropping lines about company revenue doesn’t say anything about profitability, culture, or enviroment. In the finance sector, moving around millions of dollars is just another day. My company is only working with a few million in a year but all of us do well. Deep pockets doesn’t mean anything is going to magically trickle down to me.
    • If your job posting only describes the things wanted in a candidate, you’ve already lost me. I’m gainfully employeed at a job I like, in a company that’s kick-ass, with and owner and a boss that cares. There’s plenty of people in my position.  You may get “Joe Candidate” looking to make the next big jump but you’re not going to get any response from me or anyone like me. I can already tell you that I’m likely not a good fit for a financial firm based on previous interviews when job hunting in the past but you might be different and I’d never know. I didn’t even make it to searching Glassdoor.com to see what employees thought of the employer. 
    • Most of us are already are getting plenty of job offers.  Most of us do not want them. Think like a job seeker, and post your jobs to relevant communities. Do you offer remote work? There’s a board for that.  Do a little homework and you won’t have to try and lure people from their current positions.
    • Looking for a particular skill? Have you tried local meetup groups? Usually you’ll find a mix of the happily employed and the ones looking for new opportunities. You probably don’t have to even attend, just e-mail the organizers to see their position on job postings.
    • Do not cold call your candidates. Did you ever get that call from Comcast wanting you to upgrade your cable? Remember how you had to be curt to get out of 3 minute sales pitch? Exactly. Desperation is not an endearing trait. If you must call them, schedule a call.

    Employers who are desperate for talent need to recognize that salary alone isn’t all that matters. Parents with young-ones are going to appreciate the ability to work from home or have flexiable schedules. New home owners probably will love extra vacation days or even optional furlow days to spend time fixing up their house. Sports enthusiasts will love being able to leave early to see the big game. Gamers and night owls will enjoy starting work 10 am.  Think like a human. We all work, but we are people outside of our jobs.  Pay alone won’t land you amazing candidates.


    Unfucking the Internet

    And Americans pay more for these slower wireless speeds than anyone else in the world: in Germany, where customers can freely switch between carriers by swapping SIM cards, T-Mobile customers pay just $1.18 per Mbps of speed. In the US, our mostly incompatible wireless networks lock customers in with expensive handsets they can’t take elsewhere, allowing AT&T and Verizon to charge around $4 per Mbps each and Sprint to clock in at an insane $7.50.

     American politicians love to stand on the edges of important problems by insisting that the market will find a solution. And that’s mostly right; we don’t need the government meddling in places where smart companies can create their own answers. But you can’t depend on the market to do anything when the market doesn’t exist. “We can either have competition, which would solve a lot of these problems, or we can have regulation,” says Aaron. “What Comcast is trying is to have neither.” It’s insanity, and we keep lying to ourselves about it. It’s time to start thinking about ways to actually do something. - The internet is fucked, The Verge

    The Verge puts it pretty eloquently: “The Internet is a utility, just like water and electricity.”

    Its no secret that Comcast is continually rated as one of the worst companies. There’s little question as to whyGoogle announced potential Google Fiber candidates


    Don’t just put a bow on it….

    Youtube videos aren’t my usual fair for this blog but Anita Sarkeesian of Feminist Frequency, knocks it out of the park once again. If you haven’t seen her “Damsels in Distress” series, you’re missing out. 


    Understanding Recycle vs Time Stretch

    I happened to be browsing Printmatic.net, the blog of rapper/beatsmith Blueprint and came across the following quote in quick overview of Reason vs Ableton Live:

    For years I thought that Reason & Recycle had the sample game on smash. I had tried an earlier version of Ableton and didn’t think their sample warping was that strong. Well, it’s strong now. I’m even willing to say that if you’re a guy who samples, taking a week or two to master the warp function in Ableton will completely change how you do music - printmatic.net, Five Differences between Reason and Ableton Live

    I found this statement interesting as Recycle isn’t the same as time stretching (and I’m willing to bet Blueprint knows this and knows it quite well) and its worthy of a blog post in itself.


    The Short and Dirty History of Recycle …and sample time stretching

    image

    Propellerhead Software (best known for Reason) started out originally developing two pieces of software, ReBirth RB-338 (which emulated Roland TB-303 synthesizers, a Roland TR-808, and a Roland TR-909 drum machine in a virtual rack) and Recycle.

    Recycle was developed in the late 90s, a time when CPU power was much more limited, time stretching algorithms weren’t nearly as sophisticated, and real-time stretching of samples was non-existent.

    Loops and loop formats pre-date Recycle, distributed in a variety of ways, such as AKIA sound disks, Audio CDs, WAVs and so forth. The problem was that the loops were locked to the BPM (tempo) of the original source file. Any musician looking to use pre-made loops or create their own loops were limited by the technologies of the time. A loop would simply be a repeating sound file and not easily stretched.

    Clever in the early/mid 90s, producers in the electronic music fields (Hip hop and electronica) often would use hardware (and sometimes software) samplers to cut up a particular sample into slices, and then trigger them manually. The effect allowed digital musicians to trigger samples and create their own arrangements. A drum track could be divided up into individual percussive hits and played back any way the musician saw fit, regardless of BPM. This also allowed clever musicians to cut up a loop and trigger it back in the same order at different BPMs in the same order as the original. 

    Recycle modeled itself cleverly after the slicing techniques, and created a file format based on the slicing techniques that were performed manually often on hardware samplers like the AKIA MPC series.

    Recycle

    image

    Recycle is an audio application with a singular function: convert loops into Recycle (.REX/.RX2) sound files, which can be used with a wide range of DAWs (Digital Audio Workstations) such as Cubase, Logic, Protools, Ableton,  Reason and plenty more.

    Recycle uses a combination of using an assigned BPMs and hit points. The user can manually assign how many beats are in the actual sound file, and then Recycle can calculate the BPM of sample .

    Example: if we know a 5 second clip has 8 beats then:

    5 (seconds) / 8 (beats) =  0.625 (seconds per beat)

    60 (seconds) / .625 (seconds per beat)  = 96 BPM

    This allows for loops to be any beat length such as 1 bar and half bars (6 beats at 4/4 time), and other applications will correctly understand the BPM.

    A user then assigns the hit points, which create slices. The slices are triggered based on the BPM, relative to their position.

    The magic of Recycle

    There’s a few minor algorithm tweaks to make this sound slightly better than if the sound file was simply chopped up into relevant pieces and played back at that speed. If a 120 BPM loop were played back at 100 BPM, you would hear the gaps between each sound and if you were to play a 100 BPM loop at 120 BPM, it might sound very choppy as sounds may overlap each other.

    Recycle uses a bit of trickery to fool your ears. Each slice has a simple delay effect that allows the sound to trail off at slower-than-the-source BPMs. This mild echo effect is only heard when a loop’s playback speed is slower than the original source file. The effect becomes more pronounced the slower the user plays back the sound.  REX has its limitations thus a loop played back too slowly will suffer “gapiness”.  When the BPM is increased (depending on the host’s interpretation of the RX2 file) a quick fadeout may be applied to slice, to give it a smoother sound. Playing back a loop too fast, will often result severe choppiness. 

    Despite its limitations, it was a miracle. in the late 90s, working with single-core sub-1GHz CPUs minuscule  cache, with bus speeds usually 66-133 MHz and limited bandwidth, this sort of “hack” was groundbreaking as it required little CPU overhead and BPM changes could be performed in real time. 

    Even better, Recycle is dead simple to use (and very fast for its time as it would render the waveforms faster than most applications).

    Resampling (The first digital time stretch)

    For clarity’s sake: I’m going to refer to the act of stretching or shrinking an audio file’s length as “Time stretch” regardless if the end result is shorter or longer.

    Time Stretching is exactly what it sounds like, a sound is elastically stretched to a new length, without affecting the pitch.  Back in the days of vinyl and analog tapes, the only way to change a sound’s tempo was to play it back faster or slower which also affected the pitch, thus it became known as pitch shifting. 

    Due to horsepower constraints, digital audio was limited to resampling, which is analogous to the analog pitch shift. Resampling works by changing the sample rate of a digital audio file, then playing it back at the original sample rate. This results in the same behavior as simply playing back an analog source like a vinyl record faster or slower.

    Early hardware samplers (and software packages) often had the ability to resample, even in real time. This allowed real world sampled instruments to be recreated into simplistic midi instruments without having to record every note in a scale being played. In the memory and disk space starved worlds of the 1990s, often a digital instrument featured samples at intervals to save precious space. A piano might have every 3rd key sampled. For example: Pressing the C key on a keyboard  play the C note sample sound file. When the D or C# keys are pressed, the  C key sample, resampled in real time to the D or C# note. Since resampling is literally playing a sound back faster or slower, it altered the length of the sound. Samplers became adept, borrowing from synths the ability to control the volume/length based on keyboard presses such as attack, sustain, decay, release often known as ASDR Envelopes.

    Time Stretching

    Due to the computational limits of computers at the time, the very earliest time stretching algorithms required a significant amount of time to process, and the algorithms were not nearly as sophisticated as they are today. Even a minor  time stretch often resulted in a massively quality drop in the sound file. The first time stretch algorithms started appearing in software apps in the mid/late 90s. These  integrated into the DAWs themselves in the early 2000s. 

    However, even in the early 2000s, time stretching was too CPU intensive to perform in realtime and thus had to be processed before playback, and resulted in destructive edits but the algorithms had significantly improved. Many of the popular DAWs  started offering multiple time stretching algorithms. By 2005 Logic 7, FrutiyLoops, and Cubase all offered variants of real time time stretching.

    Today, even low end laptops pack enough horsepower to time stretch multiple tracks of audio in realtime with pretty convincing results.  Albeton and Cubase both offer audio warping based on hit points allowing users to quantize waveform audio to the BPM of the song.

    Recycle vs Time Stretch

    Since Recycle doesn’t actually alter the sound files themselves, there’s no drop in quality by time changes. The slices can also be imported into most DAWs as individual files, allowing users to rearrange the slices in a loop in any way they see fit. Many apps can direct import the rex loops into samplers and assign the slices to separate midi notes, allowing the users to trigger each slice individually.

    A Recycle loop can easily be imported between wide range of applications and the REX loop will automatically snap to the project’s BPM. If the project BPM changes, the application simply play it back at the proper BPM. 

    Time stretching is more complex as it isn’t a file format but rather a technique or process. This is important to understand as REX/RX2 files contain all the necessary data for an application to play them back properly. Some formats contain meta-data for programs interpret such as Fruity Loops (WAV) or Apple Loops (AIFF) which lets an application know the original loop’s BPM and then can be time stretched appropriately to a new BPM. 

    Time stretching quality and behavior varies widely between the applications. Some applications like Ableton, attempt to detect the root tempo and beats, then assign warp points within file. Cubase makes doesn’t make loop assumptions about audio files but it allows stretch to the song’s time line and snap positions, and assign warp points within. 

    Time stretching is very powerful and allows you to easily warp audio segment by segment. Time stretching allows for considerably flexibility than Recycle.

    So why would anyone use nearly 20 year old Recycle format? Recycle does not alter the sound slices within the loop. This means the sound slices will remain the same quality regardless of BPM. This is very beneficial to percussion loops as time-stretching drums often results in drums that sound “off”.  Also, unlike meta-data loop formats (Apple Loops/Fruity Loops), Recycle loops are pre-sliced which often makes for easy rearrangement.  For these reasons alone, Recycle still remains arguably the most desirable format for percussion loops.

    By no means will Recycle always deliver better results than time stretching for percussion nor will time stretching always deliver better results for melodies. Recycle isn’t inherently inferior either to time stretching. Recycle is a different strategy than time stretching that yields different results. 

    Its another tool the belt of the modern digital musician. Resampling still has it place among modern time stretching techniques and Recycle does to. Recycle still has percussion on smash and apps.


    Tublme, an OS X Tumblr Client Review

    Introduction

    Tublme’s Icon - but what does it mean?

    I’m writing this from Tublme. Its the second time I’ve made a post to Tumblr in my 9 month stint on Tumblr outside of a web browser. For a quick and dirty explanation, Tublme, is Tumblr Client for OS X by newcomer, Raken Studio, giving Tumblr a native OS X experience.

    Tumblr’s WYSIWYG editor for in browser is pretty solid, but always keeps me at an arms length, more often than not, I’m hand writing my posts in HTML. Its probably the reason why I don’t update my blog as much as I’d like to think I do.  I’ve had some interest for some time now about purchasing a Tumblr client, but none of them moved me, that is until I discovered Tublme.

    Browsing

    Browser window is sleek and small

    I use Tumblr differently than most people. I rarely browse and I mostly post. When I was considering a blog platform, I wanted the lowest maintenance blog possible with the best interface. I didn’t want to manage/police comments, I didn’t care to track my visitors. Quite frankly, all I wanted to do is write.

    That said, as a browser, Tublme as almost as good using native iOS Tumblr App or the website itself.  I found myself a little miffed that I couldn’t view separate streams between my two Tumblr user names (Under one account), but instead was presented content in a simultaneous stream. Other than that, browser was fast and quick. New posts are automatically loaded in and even show in Notifications.  For the truly Tumblr browsing addicted, Tublme will keep you more connected than ever and you don’t need to keep Tumblr open in a window.  It even sports an optional menu bar widget  (Thank you devs for making it optional) .

    Tublme is exceptionally good for managing multiple seperate tumblr accounts. Users can easily bounce between seperate logins without much thought, through quick keyboard commands at that. The devs get bonus points for including account icons in the account drop downs. 

    However, notifications don’t have any real options, its either on or off. Those following 100 Tumblr probably will want to turn off the feature after being flooded with new posts constantly. I’d suggest to the developers adding notify only when preferred users post but I understand the hurdles thsi would take.

    Also, even when notifications are disabled within the app, I had the problem of receiving blog updates notifications. The faulty notifications on/off bug can easily be solved in OS X’s prefrences. Simply go to Notifications preference pane in the OS X preferences, locate Tublme in the list and turn off notifictions.

    Posting

    My biggest annoyance with Tumblr is the posting process so I pinned my biggest hopes on Tublme. Tumblr is not a bad site, in fact its quite good, although its best suited for quick under-formatted tools. It can be used as a full blogging platform but lacks formatting tools. Instead, I’m constantly bounching into the HTML editor.

    Tublme as whole, its quite beautiful and easy to use. During the process I accidentally closed my window. Reopening the post item window brought up my incomplete post, something a browser couldn’t do. Tublme also gets bonus points for including Markdown as an option over HTML.  

    I found it easier and much improved over using Tumblr but it had a few glaring omissions.

    • You cannot add images to text posts
    • Previously used tags aren’t recognized
    • Despite enabling check spelling, misspelled words are not highlighted

    It was disappointing, for an app that shows quite a bit of polish in many areas to lack a few essential features. Posting picture posts was simple and fast, drag and drop. Browsing previous posts a was fast, and worked exceptionally well.

    In all regards, I preferred Tublme but was held back by the inability easily spell check and add pictures to a post. To add my screenshots to this post I had to save this post in my queue and add the pictures the post via tumblr.com. It defeats the purpose.

    Interestingly, once the images were inserted into the post, I could edit the image proportions in the WYSIWYG editor. Tiublme has image support but doesn’t let you add images.

    I also encountered an interesting glitch. After a link is inserted, the highlighted text can be click, which will transport the user to the linked page… within Tublme. Without a back button, its impossible to return the post. Closing the Edit window does not seem to rectify the problem as the window opens back up to the linked page regardless of the post loaded. The only fix is to quit the app and reopen. Fortunately, you are still able to save any unsaved work even if its displaying the inccorect page.

    Lastly, uploaded images within text posts are displayed non-retina regardless if the image is scaled or not. This doesn’t affect your tumblr’s content. High resolution images will appear in their full high-rez glory on your Tumblr feed… just not within Tublme. Its purely an aesthetic gripe.

    Suggested Features

    Since Tublme isn’t Tumblr, I’d really have liked to have Headline tags and <small> tags in the formatting bar. Tumblr already has bold, italic, strike, links, ordered and unordered lists, link breaks and quotes.

    I still have to bounce into the HTML editor to add headlines (<h1>, <h2> etc) tags and <small> tags for image captions.

    Alignment could be appended to my wishlist but anything that writes inline styles from a developer’s perspective is less-than-ideal.

    Lastly, from a UX developer’s perspective, I’d suggest the “Edit Text Post” window name be reflected in the Window menu. There’s some dissoance when clicking the window menu reads “new post” and the window you’re looking for is “Edit Text Post”.

    Restrictions

    Tublme faces an uphill battle, according the developers, the limitations of the Tumblr API make it impossible for the developers to add:

    • Messages and questions
    • Changing your Tumblr Account Settings
    • Answers to posts
    • Synchronization of saved searches

    None of these are deal breakers for me but are important to consider before you pull the trigger.  All of the above features can still be accessed via HTTP in your web browser. 

    Final Thoughts

    At $9.99, Tublme provides an exceptionally good interface, fitting of an OS X application with some minor hiccups. If they add the ability to add other media types to Text posts and spell checking, I’ll be a total convert. I’d love to see a few more post formatting options as well.

    Should you buy it? That depends. If you rely on any of the missing features you might find yourself on miffed.

    There are other OS X tumblr blog editors to check out, although Milk appears to be the only full suite application that offers Tublme-like features.

    Tublme succeeds far more than it fails and provides a beautiful front-end interface to Tumblr. Quite frankly, it feels like Pixelmator, and that’s a good thing. It still has a bit of bug squashing before I can whole heartedly recommend it. 

    Raken, if you’re out there listening, keep up the good work. Tublme is almost the killler app for Tumblr.

    Version: 1.0.2

    Tublme: Mac App Store

    January 13th, 2015 Update:

    Tumble Me Has gone through several minor updates, last update in Nov 6th, 2014 and a price drop from $9.99 to $4.99. A few of my biggest gripes have been fixed, most notably the spell check while typing.

    The some of the updates include:

    • Fullscreen mode
    • Two factor password protection 
    • Preview of posts
    • Auto-complete of tags 
    • Notifications bug fixes
    • Spell check while typing (notably, you will have to enable this under Spelling and grammar)
    • Yosemite Support

    Tublme is now cheap enough that its in the impulse buy category. Depending on your Tumblr usage, it might be the app you’re looking for. I’ll be giving a second go around.


    Photosweeper (OS X) Review

    Photosweeper Review

    At this point in time, photo management is the new norm. Quite simply, we take too many photos to keep track of them manually. The tools we have are pretty good, allowing for quick edits, be it color correction, cropping or other (usually) non-destructive edits. Despite the plethora of options„ there’s quite a vacancy in this space: Whatever your poison is, Lightroom, Aperture or even iPhoto, none of these do much in the way of duplicate detection (outside of exact duplicates). 

    To the rescue!

    Photosweeper’s aim is to find and destroy duplicates of photos. Its a one trick pony but it performs this trick exceptionally well. Rather than simply find exact matches, it instead creates thumbnail images for analysis and then identifies near-matches. It doesn’t matter if they’re different formats (JPG vs PNG vs RAW vs PSD), different resolutions, or even separate photos altogether that are remarkably similar. It also doesn’t matter if you use iPhoto, Lightroom or Aperture or any combination of the three, Photosweeper is capable of finding any and every photo. 

    For my test, I used my own Photo library, largely in Lightroom 5 and some free floating files. To add to the mix, I have an out-of-date version of Aperture and iPhoto, each with their own respective databases from years ago. Like many , my library spans many years and many cameras. I had photos ranging from a Powershot A70, Canon 300d, iPhone 3G, 4 and 5, Panasonic GM-6 and some captures from a previous employer’s 7D.

    My pictures folder totaled 129 GBs. Anything shot it the past three years has been managed by Lightroom, before that…. well, most of my “organization” I handled by drag and drop.

    I’ve debated cleaning my Photo library prior but the task never quite made it on my “to-do” list, perpetually on my “Clean one day”. 

    Init Run

    On my first run (in typical user-interface developer fashion) I skipped most of the tutorial screens, eager to see what I could do. It took a moment of confusion as I assumed that I had to import each library one-by-one. I noticed the rather large text suggesting I drag and drop my photos into Photosweeper. I added my Pictures folder and set the scan size to the maximum resolution (128 x 128).

    With years and years of photos (23,000 to be exact), I worried that this process may range into the days. It took roughly 2 hours for it to munch through all the photos on my 2008 Mac Pro (2x 4-core 2.8 GHz, 14 GB of Ram) off my 2 TB HDD.

    The results appear in real time, you don’t have to sit and wait for the process to finish, you can start identifying duplicates  in soon the query makes its first discovery. Photosweeper also works on videos, a nice bonus and worth a mention.

    Elegenance

    When attempting to identify duplicates, Photosweeper lets you set the tolerance level. I went fairly strict, as I wanted to cut out only exact duplicates, and rid myself of lower resolution/lower quality exports. With the tolerance ramped to maximum, only near identicals appeared as duplicates.

    Without much thinking, I adjusted the preview window sizes to maximum and started manually removing duplicates.  As far as user-interfaces go, Photosweeper gets an A. Its familiar, in a good way. It only took seconds to figure out user interactions. Anyone used to using a photo manager can dive in without much trouble.

    Photosweeper offers a suite of logic markers to identify which photos to keep. I tested out the auto duplicate detection, but found that it was a little more liberal than I wanted. I opted instead to manage my photos manaually but this sort of utility could save hours, if not 10s to 100s of hours for busy professionals.  

    Conclusion

    In the end, I only saved 7 GBs by deleting only exact duplicates out of 128 GBs. Still, most of these were iPhoto photos, running in at about 4 megs a file. I ended up removing around 1000 photos from my computer.

    That said, I always have the option go back and review near duplicates, of photos I snapped in rapid succession and the ability to keep my photos under control in the future. 

    The usefulness of Photosweeper largely depends on how avid of a photographer one is. Users with small libraries will only find limited use for Photosweeper. Bigger the library, the more indispensable  Photosweeper will be.

    The only other negative I can forsee is that eventually, Photosweeper’s duplicate detection may make its way into Lightroom or Aperture. That said, its up for debate if a hypothetical duplicate detection will function nearly as well as Photosweeper and it could be years before this feature makes it way into either suite. Only time will tell.

    Personally I can’t recommend it enough, and I’m not alone.  The only other alternative I know of is Gemini - The Duplicate Finder, which aims to detect file duplicates, which can detect duplicate photos but isn’t its primary function.

    Official Website

    Mac App Store Link

    Full disclosure, Gwinno Software, Inc. offered me a free copy of  Photosweeper to play with (no strings attached), they did not offer me any compensation for this review. Prior to any interaction with Gwinno Software, I identified Photosweeper as one of the 53 Mac Only Design & Development Utilities.  


    In the business of destroying jobs

    Until now the jobs most vulnerable to machines were those that involved routine, repetitive tasks. But thanks to the exponential rise in processing power and the ubiquity of digitised information (“big data”), computers are increasingly able to perform complicated tasks more cheaply and effectively than people. Clever industrial robots can quickly “learn” a set of human actions. Services may be even more vulnerable. Computers can already detect intruders in a closed-circuit camera picture more reliably than a human can. By comparing reams of financial or biometric data, they can often diagnose fraud or illness more accurately than any number of accountants or doctors. One recent study by academics at Oxford University suggests that 47% of today’s jobs could be automated in the next two decades.

    - Coming to an office near you, economist.com

    Its only to get bumpier from here..


    A fantastic list of questions to ask a potential employer

    You know that part of the interview where the employer asks you if you have any questions?

    Having been on the other side, asking questions is something that employer is actively encouraging you to do, as its another chance for them to promote their ethos.

    My basic strategy is to spend 20 minutes before each interview I do and pick some appropriate questions from this list. I’ve tried to categorize them a bit. A lot of these are outright stolen from Edward O’Campo-Gooding’s list of questions, as well as from various people at Hacker School. I’d love suggestions for more! - Julia Evans, jvns.ca

    Go read the list that Julia Evans has composed. Here’s a sample of questions. These are primarily tailored to software/web development.

    Quality of life

    • How much vacation do people get? If there’s “unlimited” vacation, how much vacation do people normally take?
    • Is it possible to take sabbaticals or unpaid vacation?
    • How many women work for you? What’s your process for making sure you have diversity in other ways?
    • How many hours do people work in an average week? In your busiest weeks?
    • Is variability tolerated or is everyone expected to be on the same schedule?
    • What time do people normally leave work?
    • Would I need to be on call? How often?
    • How often are there emergencies or times when people have to work extra hours?
    • What is your turnover rate like? How many devs were hired last year and how many left?
    • What’s your retention rate of women over 1.5 years? Do you think you could’ve done anything differently to keep people who left?
    • Do people work on the weekend?
    • Do people check in when they’re on vacation? How often?
    • Is it possible to work from home, say, 1 or 2 days a week? Does anyone do this? (can be a nice option to have)

    A company that discourages you from asking questions about their work environment is likely a company that you may find discouraging.  


    Older Is Wiser - Study Shows Software Developers' Skills Improve Over Time

    Older Is >Wiser: Study Shows Software Developers skills Improve Over Time

    There is a perception in some tech circles that older programmers aren’t able to keep pace with rapidly changing technology, and that they are discriminated against in the software field. But a new study from North Carolina State University indicates that the knowledge and skills of programmers actually improve over time – and that older programmers know as much (or more) than their younger peers when it comes to recent software platforms. - Dr. Emerson Murphy-Hill, NC State University

    This has been making the rounds but don’t get too excited, in our attention deficient summly culture, you might miss the most important part several paragraphs down.

    They found that an individual’s reputation increases with age, at least into a user’s 40s. There wasn’t enough data to draw meaningful conclusions for older programmers.  Dr. Emerson Murphy-Hill, NC State University

    NPR has reported on aging numerous times. Mental dexterity doesn’t seem to utterly vanish, and I’d be curious to see a study following around 50+ year old programmers. While aging and mental abilities seems to be a mixed bag of research, problem solving seems to improve over time.


    Interviewing a Front-End Developer

    Part of my role at Twitter and Stripe involved interviewing front-end engineering candidates. We were given a fair amount of discretion on how we went about interviewing, and I developed a few different sets of questions that I thought would be interesting to share.

    I’d like to prefix all of this with the caveat that hiring is extremely hard, and figuring out if someone is a good fit within 45 minutes is a demanding task. The problem with interviews is that everyone tries to hire themselves. Anybody that aces my interview probably thinks a lot like me, and that’s not necessarily a good thing. As it is, I’ve been pretty hit and miss in my decisions so far. However, I believe this approach to be a good start.

    Ideally the candidate has a really full GitHub 'resume’, and we can just go back through their open source projects together. I usually browse their code and ask them questions about particular design decisions. If the candidate has an excellent track record, then the interview largely moves into whether they’d be a good social fit for the team. Otherwise, I move on to the coding questions. - Alex MacCaw, Interviewing a Front-End Web Developer, sourcing.io

    Alex particularly focuses in on JS questions, which quickly dives into programming fundamentals. 


    iOS 7 JailbreakPutting your money where your mouth is

    iOS 7 hasn’t been jailbroken yet, however there’s a movement to encourage a working Jailbreak.

    It takes severe amounts of time to exploit an OS and develop a deployable hack. Those who do are currently good samaritans who receive little in return for their works.  isios7jailbrokenyet.com has an answer: a crowd funded bounty for a hack, complete with an impressive array of judges, including iFixit.com’s co-founder Kyle Wiens.

    I dropped $5 to the cause. Its easily worth more than that for a working jailbreak. Go to: https://isios7jailbrokenyet.com


    How Google plans to rule the computing world through Chrome

    Are you ready for Google to take over the desktop? You’d better be if you use Chrome. With it, Google is making a play to rule the computing world as a back door to a new app economy.Are you ready for Google to take over the desktop? You’d better be if you use Chrome. With it, Google is making a play to rule the computing world as a back door to a new app economy. - Kevin C. Tofel, gigaom.com

    Seeing as how the PS4 uses WebGL for its system UIX, its easy to see this a conclusion. ComputerWorld thinks Google’s end game is Google+, but really, its likely that Chrome is content delivery system and Google+ is the network which Chrome delivers.


    Linux is mostly on par with Windows 8.1... if you’re willing ignore benchmarks

    Ubuntu Linux Gaming Performance Mostly On Par With Windows 8.1… 

    Given the recent release of Microsoft Windows 8.1, at Phoronix we took 13 different AMD Radeon and NVIDIA GeForce graphics cards and compared the performance between Ubuntu Linux and Windows 8.1 with the same hardware and set of OpenGL games/benchmarks. For AMD and NVIDIA graphics cards with their official drivers, the performance is largely similar between the competing desktop operating systems but there are some performance exceptions.

    phoronix.com

    By exceptions they mean nearly 2x the performance gap on the highest end graphics cards stress tests. Linux wins if you consider OpenArena your game of choice.

    I’m still sold on SteamBox as the future of game consoles but let’s not pretend that Steam’s choice doesn’t have anything to do with licensing Windows, the Windows (app) Store and tailoring a complete living room user-experience.


    Finding the most reliable and fast public CDNs

    CDNperf.com has a list of stats for the fastest and most reliable public CDNs (content delivery networks). If don’t already, you should probably let Google host JQuery.  

    The real surprise is BootstrapCDN leading the way for the latency which makes me wonder if Bootstrap’s CDN happens to be near the same network that CDNpref's 


    Yes, that’s a nice mockup but is it really an improvement?

    iDownloadblog (a generally much more worthwhile read than bandwidth waste, Appleinsider.com) recently ran “This jaw-dropping concept totally reimagines Apple’s dull OS X Messages app” which contained screenshots from behance.net’s Message Concept App

    image

    Behance’s mockups iOS 7ify Messages

    Lately, I’ve seen quite a few mockups of Apple products, a trend that started with hardware renderings. Now with the advent of dribbble and the clamour to beat Apple to its own punch, I’ve seen some interesting-yet-utterly-flawed-iOS 7 mockups that garnered a lot of praise for looking pretty (Slide to unlock at the top of the screen?).

     Now I’m neither a fan of Messages nor a user of messages but as much as the visuals look “good” they are a fundamentally wrong from a user-interface perspective, as scope and functionality should lead design, not the other way around. 

    Rarely is IMing front and center, but rather an activity that compliments web surfing or work or gaming. Its certainly not a full screen activity, nor one that necessitates any more screen real-estate than it takes to deliver an IM.

    Take Adium, the most popular alternative to messages.

    image

    In half the space of the hypothetical Messages redesign, Adium conveys oodles more. Information density isn’t always a good thing, but Adium isn’t presenting an overabundance, and its configured to my personal preferences.

    Pretty it is not, but functional it is.

    While negative space is something to appraised, think about the most beloved desktop interfaces today: Be it Chrome, Pages, Transmit, Aperture, 1password… All of these apps interfaces get out of the way to present the information as clearly and cleanly as possible with often little dressing.  Users aren’t locked into one-app-at-time, and thus shouldn’t be forced into the constraints of mobile user interface design.

    For the would-be designers looking to break into the world of user-interface design, If you’re going to convince me that your user-interface is actually interaction design, show me the actual flows… and for the love of Steve Jobs, don’t hide full window mockups.

    Give me any day a exceptionally well-thought out wireframe than a pretty PSD. The paint can be applied later. Otherwise you’re putting lipstick on a pig….


    How to fanboy - the AppleInsider.com way

    Next-gen USB connector a reversible challenge to Apple’s Thunderbolt & Lightning - Apple Insider

    Nothing beats AppleInisder.com for its lack of journalistic integrity.

    USB 3.0 isn’t a challenge to Lightning Cable. Lightning cable is USB 2.0 with a different connector… with annoying DRM chips.  Thunderbolt and USB are both technologies that Intel shepherds.

    The article itself isn’t as bad, but misses the fundamental point that USB 3.1 isn’t due out until 2016. Thunderbolt 3.0 could easily be on horizon but that time, increasing its bandwidth 2x to 40 Gbps (5 GB per second) or even higher.

    Don’t get your hopes up for PCIe 16x speed in two short years. Its 128 Gbps, bi-directional.


    Stop Freelancing

    I’ve been “freelancing” part time for the better part of the past 4 years and full time for the past 8 months, and if there’s one thing I’ve learned it’s that telling people you freelance will garner responses that manage to combine a jealousy of your freedom and a subtle tone that silently says,

    “A freelancer? That’s cute.”

    So what did I do? I stopped freelancing and started my own company. I came up with a business name[1], filed for a business license, and as of recent finally even got myself a desk with a fancy “Suite” address in a coworking building. - Robert Nealan, robertnealan.com

    I’ve never freelanced, nor am I looking to enter the fray but as someone on the other side of the table who occasionally deals with freelancers/contractors/consultants on projects, I like this strategy. It signifies that your contracting is serious endeavor as opposed to a passing phase in your career.


    ColorSnapper Review - The $5 utility that every interface designer - web designer should have

    image

    ColorSnapper Review

    For many of us, grabbing a single color often mean launching an application, such as Photoshop, selecting the eye dropper tool and then selecting the color, clicking the color tool, and copy and pasting the color HEX value, simply to life a single color value from an image, button, graphic or so forth. Its a cumbersome process, and unnecessary.

    image

    Color Snapper is one of those no brainer utilities that should be part of OS X, as an extension of the OS X color selector. By now you’re probably familiar with the OS X color selection’s magnifying glass. In case you’re not, any application that uses the OS X default color selector includes a magnifying glass tool that lets you easily sample any color on screen (not limited to the current application). Its a useful functionality as you can select a color from a image in a web browser or Preview or even icon or menu, not just your current app.

    Color Snapper extends this behavior to any circumstance. Simply press command-option-c (this can be changed) and you’re presented with magnifying glass cursor that easily lets you select any color on the screen. The color is then copied to your clip board as a HEX value (or RBG, RGBA, HSB etc if you prefer).

    image

    The dropdown menu displays most recent picks

    image

    p>A utility as simple as Color Snapper could have stopped without any preferencces and it’d been a very useful tool but it also includes a host options, such as key-command selection, format copied to clipboard, notification center, menu bar icon, launch-at-startup, last three colors and magnification level.

    Depending on your brand of color values, its easily configged. As a Front-End Developer, (excuse me), User-Interface Engineer, I live in the world of HEX although I’ve configurred my alternate color value to rbga.

    image

    You can easily adjust the magnification level, a nice bonus.

    Its hard not to recommend ColorSnapper, at $5, its everything it should be. The only improvement would be allowing area-average color sampling akin to Photoshop’s color sampler.

    Color Snapper Website

    App Store

    image

    From the Color Snapper website


    Google Profiles

    impressmyself:

    Google played a fun trick this morning. Upon booting chromium(my linux browser of choice), I found I that I had to login. Which is strange, I am normally just logged in. No big deal. I entered my information and hit enter.

    Then I was presented with new terms for picasa.

    “Ah”, I said.

    “New terms to really pillage my data for all the ad’s I’m worth”

    This did not surprise, as it’s the path Google has been on for quite some time. I accepted the new ridiculous terms and figured someone on HN would be telling me how to disable it by lunch time.

    Upon entering gmail I found a surprise. I have new G+ notifications. Why might that be surprising? Because before today my G+ account had been disabled.

    Surprise! We helped you get back on G+ even though you didn’t want to be there.

    Thanks Google! What a fun way to say, “I hope we can squeeze every dime possible out of your tiny little life. “

    Google+ is still weirdly broken, if you’re a Google apps user for work, you need a google+ porfile, nevermind you’ve already been coherenced into it for YouTube or Google Hangouts.

    Google+ couldn’t survive or succeed on its own, so taking a cue from early 2000s shovelweare, Google+ comes with every Google product whether you like it or not.