Categories
Apple

Apple Watch as an Heirloom?

When the Apple Watch was announced I saw some pictures on apple.com that gave me hope Apple would make the guts replaceable. (If someone knows of a picture showing an exploded view of the Apple Watch I’d love to hear about it.)

For some crazy reason I thought it could become an heirloom, like the watches my grandfather passed to me. Those watches are very special to me. They’re physical objects that still work and remind me of my grandpa.

When Tim Cook said the Apple Watch was “The most personal device we’ve ever created” I took him at his word. It is a very personal device to me. I have great affection for all of my Apple devices, but they all feel like tools compared to the Apple Watch.

I still really want a device I can wear for the remainder of my life and pass it down to someone else and have it continue to function. This is something Apple could do, if they wanted. I know I’m asking for a lot. But, if I can’t do this it means the Apple Watch is really an expensive throwaway item. Because it does feel so personal, I hate that idea.

I think the first test of this devices longevity is approaching. The battery is not

Muddy Watch

so great. It managed to last for over two years but now dies mid-afternoon. At some point I’ll take it in and hope I can get a replacement battery. I don’t want a new watch, I just want a new battery. When my iPhone 5c’s battery went bad they just replaced the entire device, which was fine with me, but I feel a need to keep my watch. The face and body are scratched and that makes it really unique to me.

If there is no way to replace just the battery from now until I croak I’ll just switch back to one of my many analog watches and keep my Apple Watch Series 0 as an artifact of an interesting time for Apple.

Categories
Apple Mac

MacBook Reviews

Joe Cieplinski: “Here’s the thing about this MacBook: I’m drawn to it. I don’t know if it’s the small size of the thing that just makes it more lovable, but I’m already finding more excuses to use this machine than I ever did with my 13-inch MacBook Pro.”

Casey Liss: “I haven’t regularly handled a full-size iPad since the iPad 3, but the MacBook feels to be roughly the same size in-hand. In actuality, the MacBook is 150% the weight of the iPad 3, but the fact that I’m even making that comparison should indicate how light it feels.”

For these two it pretty much boils down to size. It’s the laptop version of the iPad. Compact, light, easy to carry anywhere. That convenience comes at a small price — it’s not a powerhouse.

If you code for a living and can only afford to purchase one computer make sure you consider a MacBook Pro before pulling the trigger on the MacBook. Read Casey’s piece. He uses this device as a kind of iPad replacement. It’s not meant for serious development work, at least for him.

I’ve heard the MacBook called the ManagerBook. That seems, based on these reviews, to be fairly accurate. It’s a super usable, fun, portable computer that could be a great choice if you have the luxury of owning more than one device.

I could see purchasing one of these for my wife. She’s a full-time iPad Pro 9.7 user and on rare occasion she pulls out her ancient MacBook to do something like rip music to her collection. She doesn’t need a full computer often but the need does arise.

On the flip side of all this praise for the MacBook I have a good friend recently return his MacBook and pick up an older MacBook Air because he couldn’t get past the key travel on the new MacBook keyboard.

You win some, you lose some.

Categories
Apple Development iOS

Scripting iOS

Last week Apple acquired automation workflow application Workflow. Of course there was a nice buzz around it and it was a big topic of conversation on various podcasts and websites.

This, of course, got me thinking about automation. I’ve always been a fan of open API’s and the ability to automate applications. We’ve also seen recently that Omni Group is opening up OmniGraffle to automation via JavaScript.

Back in 2010 x-callback-url was created as a way to allow applications to call into each other and return results so you could chain together calls to build custom workflows. Apps like Launch Center Pro and Workflow took advantage of x-callback-url to let you build those workflows and execute them. Now we have a bonafide standard, without a standard. The app ecosystem found a way to support automation without Apple’s help.

I’ve used Launch Center Pro but until recently I’d never used Workflow, and it’s pretty amazing. The Workflow guys did an amazing job creating a drag and drop UI for building what amounts to a program. Well worth a look.

So, this brings me to what I’ve been thinking about over the past few days. Given x-callback-url and App URL schemes in general it would be extremely cool to use those to create object hierarchies using JavaScript. Why JavaScript? Well, it’s native to iOS and applications can use the runtime. Given the advances made by the Workflow team why not take it one step further?

Allow applications to specify a  Scripting Dictionary or Type Library as part of the application bundle, this should allow runtime creation of objects. I know this isn’t rocket science and it’s been done many times over.

Short of adding support to the OS it would be pretty sweet if an App like Workflow, Launch Center Pro, or Pythonista would standardize on a way to parse a URL Scheme into an Object Hierarchy.

I’m going to use Evernote, Bear, Overcast, and Arrgly as examples.

What do you mean by Object Hierarchy?

That’s a good question. Here’s what I’m thinking. Since the Apps mentioned above all support URL Schemes we can derive an Object Hierarchy from them. Basically the beginning of a URI begins with a scheme. The scheme is the name. In the case of Evernote it’s evernote. Pretty simple, right?

Given the scheme name we follow that with a path. In the case of x-callback-url based URL schemes we will skip over that part and move to the second item in the path. This will be the action, or function, or the object we’re going to execute.

evernote://x-callback-url/new-note?type=text&title=EC%203

The above URL will tell Evernote to create a new note of type text with a title of “EC 3”. If we had a way to parse that in a runtime application we could present the user with an Object that has methods that take arguments, like this.

evernote.new-note(type, title)

Let’s do a couple for Bear. First the URL Scheme.

bear://x-callback-url/create?title=My%20Note%20Title&text=First%20line&tags=home,groceries

Now translated into code

bear.create(title, text, tags)

Overcast URL Scheme.

overcast://x-callback-url/add?url=

Code

overcast.add(url)

And finally, my favorite, Arrgly URL Scheme.

arrgly://shorten?url=

Arrgly Code

arrgly.shorten(url)

Pretty simple to turn all of those into objects. When I say you can create a hierarchy it means you could, by convention, lump groups of actions into objects, or like the above examples have a set of actions that all live on a single object.

Here’s what a object might look like as a URL Scheme.

thing://x-callback-url/document/add?title=
thing://x-callback-url/document/delete?id=

That would result in using it like this

thing.document.add(title)
thing.document.delete(id)

Of course this need more fleshing out and it would require app developers to decide on a well known convention to make it work as expected, but it could be done with a bit time and effort. It could be these become an extension of the x-callback-url specification?

Categories
Apple Development Hardware Mac

MacBook Monster

I listen to a podcast called Accidental Tech Podcast. If you’re a Mac or iOS Developer you’ve probably heard of it or you’ve heard of one or more of its hosts. One of their ongoing topics of conversation is Apple’s apparent lack of focus on the Pro market. It’s true Apple has become very focused on more consumer oriented products, like the iPhone. I mean, who wouldn’t? When you look at the numbers it makes total sense.

When Apple announces results sites like Six Colors do a great job breaking down all the numbers and, in Six Colors case, they make really awesome charts! Just look at this one from January of 2015.

Awesome Six Colors Revenue Chart
Awesome Six Colors Revenue Chart

Who can blame Apple for spending most of their time on the iPhone? Look at those numbers. They’re stunning. It’s not to say the Mac or iPad are losers, they’re not. Most companies would give anything to have one product doing so well, Apple has at least four; iPhone, iPad, Mac, and Watch. Most likely someone will write in to let me know I’ve missed one, or I’m wrong about something, but you get the point. Apple is killing it, on multiple fronts.

What about Pros?

Much of the consternation from the ATP guys revolves around the Mac Pro. Who can blame them? Apple hasn’t shipped a new model since 2013. The hardware is now embarrassingly outdated and is due for a much needed refresh.

As a developer I can understand their need for Phenominal Cosmic Power! But they’re stuck with an Ity Bity Living Space. Not fun.

I’d love to see Apple pull together a great new piece of hardware that includes all the latest, greatest, internals and really appease the Professional Apple Workstation crowd. This would include filmmakers, photographers, designers of all kinds, the CAD folks, and, of course, Software Engineers of all kinds. On my list of nice to haves would be a box large enough to hold multiple multiple core processors (say 256 cores, why not? Windows can do it), tons of RAM, and a killer external bus system to allow folks to chain together external GPU’s. That would be a really great computer, don’t you think? Maybe the base configuration is the most popular, but it sure would be nice to be able to take a Mac and macOS to an extreme level.

Having said all of that, as a Professional Developer I’d prefer a really great Portable Workstation.  What is that? Well, it’s a desktop replacement in a laptop form. Apple is obsessed with making everything thinner and lighter. I do appreciate that, I really do. My first MacBook Pro was a lovely 17-inch beauty, but it was big. Not only heavy, but it was long enough that it was difficult to find a decent backpack to carry it in. Let’s just look at the weight alone, it was 6.6 pounds.

I remember carrying that thing around my first WWDC in 2011. Early morning to late afternoon. Yes, I got tired of carrying it, but it wasn’t a hardship. I would happily trade a bit of weight for a super powerful MacBook Pro.

I read an article recently on the new Dell Precision 5520 on Windows Central. This thing is a beast.

“Besides the big Core processors, all of which are the last generation “Skylake” variants, there is the big kahuna with the Xeon E3-1505M v6. Introduced this year, this Intel Xeon is a quad-core processor with support for ECC memory, 8MB of cache (up from the usual 6MB in a consumer Core i7), and a slightly higher base clock rate of 3.00 GHz with Turbo up to 4.00 GHz. These specs make it one of the fastest mobile processors around, besting the Core i7-7700HQ found in the XPS 15 (9560) by 200MHz.”

Yes, you read that right. This laptop can be configured with a Xeon processor, not to mention 32GB of RAM. That is professional sized horsepower in a small package. This is what I’d like to see from Apple. A true high-end Portable Workstation. Oh, and do you remember the weight of that old 17-inch MacBook Pro I mentioned above? Yes, 6.6 pounds. This Dell weighs 4.56 pounds. Compare that to the new 15-inch MacBook Pro which weighs 4.02 pounds. It’s not that big a difference.

I’d love to have this kind of power wrapped in Apple’s design ascetic. Oh, it should only come in one color. Black.

Categories
Apple

Apple Professionals Group – Part II

I just saw one of Intel’s new commercials. It claims 98% of the Cloud runs on Intel. I have no reason to doubt that, but it did bring me back to thinking about Apple.

With each passing year Apple introduces newer and faster A-Series processors. They’ve also introduced a new recycling program. When they receive phones, or other devices, through the program they take them apart. Why not use those old processors?

More What Ifs

Hello, Dr. Jones.I know, all I do is ask questions, but it’s fun to ask these types of questions. Why doesn’t Apple go about building servers using older tech? That’s right. Take the components pulled from, say, an iPhone 5s and put them to use in a small blade server that accepts daughter cards with a few A7 chips on them?

Think about running a stripped down version of macOS, or a pumped up version of iOS, on these servers. We know the two OS’es share a common core. Build some experimental hardware that is scalable by adding more cores via daughter cards(blades?) and see how they perform when used as web servers. Could you still serve up expected performance? I don’t know, but I’d imagine most things are I/O bound, network bound, or bound by poorly written software.

I know Apple doesn’t really care about server hardware, and why would they, it would be another fun thought experiment to create something like this. Why not, Apple has the money to spend on some fun and potentially useful technology that is also good for the environment.

Categories
Apple Development

Apple Professionals Group

A wonderful bouquet of flowers.I wrote down some thoughts a couple weeks back and thought I’d throw them up here. It’s mainly a bunch of questions with some ideas. Unlike a small group of Professionals I don’t need the stuff I talk about here. I’m perfectly happy with my work 2014 MacBook Pro and my 2011 MacBook Pro. Both computers are plenty powerful enough for iOS Development. Here are the thoughts.

Why doesn’t Apple create a Professionals Group dedicated to developing a lineup of serious Pro computers and software? Maybe it moves a bit more slowly than the rest of the company? Maybe you get a computer every two to three years, but it’s at the top of the range, always. Maybe the computers are completely upgradable and modular. Something like we’ve never seen Apple create.

Laptops with “bigger” bodies (think late 2014 15in MacBook Pro), with faster processors and lots of RAM. Maybe you can only get one type of laptop? E.G. 15in MacBook Awesome with the newest Core i7, 32GB RAM, and a 1TB drive, plus a discrete graphics card of some kind driving their already awesome Retina Display.

Think of a more rectangular Mac Pro. One you could open and add RAM, processors, and drives to, easily. Maybe there is a way to plug “modules” into the front and back to the device without cracking the case? Maybe the case is the size of a Mac Mini, but is stackable so you can add additional units Toolbeltthat extend processing power. E.G. pop off a small cover on the top that exposes a slot that the next “Mini” looking device sits right on top of. Oh, how about extending the iMac using these “modules”? That would give us a 5k display and give Pros the ability to scale it up from the base model. Maybe the primary “motherboard” is just a beautifully designed Apple Bus that allows that. Would it be difficult? I’d image it would, but isn’t that what Apple does? They find unique solutions to difficult problems.

Oh, how about creating a professional level display that is also a touchscreen and is on a swivel like the new Microsoft Surface Studio? Why not make it a standalone display that connects to one of these new Mac Pro bases and could also be used with a MacBook Awesome? Super high end stuff.

Apple has billions in the bank. Why not go out on a limb to advance computing down some crazy road with a small group of dedicated hardware, software, and design professionals targeting professionals?

Look. I’m not the ultimate target of such specialized hardware. It would be professionals making movies and dealing with big honking problems. As an iOS Developer I’m fine with a laptop, but I’d sure like to see Apple strike out to create something truly wonderful. Something that changes the computing game, again. This time in the favor of professionals.

Wouldn’t it be cool if they’ve been doing this all along and they just haven’t finished? That would be awesome.

I know this isn’t the type of thing Apple does, but look at what’s possible.

Here’s the Acer Predator line of gaming laptops. Extreme? You bet. But all the same, super powerful portable computers.

How about Project Valerie?

Beloved Hedwig.I’m sure a lot of the loudest of critics would pick these apart: “Oh, they’re too heavy”, “They’re ugly”, blah, blah, blah. Sure on all points. But they’re high performance devices from people thinking outside of the box. They’re not constrained by “Lighter and thinner” at all costs. Imagine what Apple might be able to do if they were willing to make something a bit heavier. Maybe they could so something really special. I don’t think we’ll ever find out. I have a feeling Apple is going to keep making the Mac thinner and lighter until they are so close to the iPad the Mac no longer matters.

Then Apple will stop selling the Mac.

Categories
App Store Apple Indie iOS

App Stores

A snowflakeEvery once in a while developers drop interesting nuggets of information on Twitter or their weblogs on the state of Apple App Stores and how they relate to their businesses.

In late November longtime Mac and iOS developer, Panic, announced they would discontinue Status Board.

“First, we had hoped to find a sweet spot between consumer and pro users, but the market for Status Board turned out to be almost entirely pro, which limits potential sales on iOS — as we’ve learned the hard way over the past couple of years, there’s not a lot of overlap right now between “pro” and “iOS”.”

Panic is a shop I look to for direction and inspiration. They build solid, beautiful, easy to use applications. Their ratio of Mac to iOS Apps is pretty interesting. Their main Mac applications; Coda and Transmit, are aimed squarely at professionals. If you look at their remaining iOS applications two are complimentary to their Mac counterparts; Coda and Transmit, and the third, Prompt, is most likely built using code and knowledge gained from their other apps. That is not meant as a criticism. It makes total sense. Coda and Transmit are their big dogs, why not make iOS versions of them? I’m looking forward to Panic’s year end report. The last two have been amazing reads.

This morning as I was scrolling through my Twitter timeline, trying to avoid political talk, I noticed an exchange between Michael Love and David Barnard. As suspected, iPhone is the money maker and iPad is not pulling its weight.

Not long after that exchange I saw a nice tweet from James Thomson, of PCalc fame. It looks like the iOS App Store is his primary source of income.

Depending on the podcast I’m listening to, Core Intuition vs. Accidental Tech Podcast, I’m either excited about the state of the Mac or completely bummed about it. Regardless, it feels like Apple is pushing the iPad toward the Prosumer market and keeping the Mac alive for Professionals, mainly those creating iOS Apps (Hey, we need a platform for creating apps, right?)

Having said all that, I’d still like to take a shot at the Mac software market. I don’t need to make millions, but it would be nice to make hundreds. 😀

Categories
Apple Microsoft

Windows 10 is a great alternative

Marco Arment: “Microsoft is boldly experimenting with PC hardware, but Windows and everything around Windows is woefully inferior to macOS and the Mac software ecosystem. Even if Microsoft did everything right, it would take Windows at least a decade to catch up — and they won’t do everything right.”

Bringing in the HarvestI doubt Marco will see this, and this is definitely not an attack, this is something I’d say to my friends. In the nicest of ways, to say it would take Windows at least a decade to catch up, is a bit hyperbolic.

I’m a fan of Microsoft’s Windows, I have been for years. It helped me get my start in this industry. I switched to the Mac around 2006 and haven’t looked back, I really do love the experience.

If we’re talking about performance, which seems to be the point of your piece, keep in mind that Windows can run on all kinds of hardware. Windows 10 can support up to 256 cores and 512GB of memory. That’s pretty nice. We know that some high end video production shops are abandoning the Mac in favor of Windows boxes because they need the horse power, another great example of why we need a new Mac Pro. But Windows as a tool of choice is very viable.

The development tools on Windows are quite good. Visual Studio is a great IDE. Microsoft’s .Net has become the standard way to develop for Windows, especially for backend services, but you can create beautiful client applications with it all the same. If you’d like you can still write C++ code to the Windows API, like Photoshop or the Microsoft Office apps.

I’m not sure what Marco’s primary complaint about Windows is? Is it just the general usability? Is it a stylistic thing? Maybe he can’t easily run his favorite tools on the platform? That’s a really big deal. I’d love to hear him go into detail about the issues with the platform.

I tell folks all the time. Microsoft’s NT Kernel is a beautifully designed Kernel. It can, and does, underpin different hardware. When it began life it ran on Dec Alpha, MIPS, x86, and eventually came to the PowerPC. Since that time the other architectures fell out of favor and it mainly became an Intel based platform, but it still powers other architectures.

In the end I’d never attempt to tell someone which platform they should choose, it’s all a matter of personal preference. Apple and Microsoft both provide great solutions in software and hardware form. This is great for us, the customer.

Categories
Apple Microsoft

Swift, on Windows?

Brent Simmons: “What if — and it’s a big if — Microsoft made Swift a peer with C# and provided some good app frameworks?”

When I published What Ifs and Why Nots I hadn’t read Brent’s piece. He’s actually asking the same questions. What would it take to pull Mac developers to Windows? It would take more than Swift, I’m pretty certain. In a Microsoft .Net world where would Swift fit? Would Microsoft just create a version of Swift that works with the .Net garbage collector, or would it be a compiled language? I’d bet on the former given Microsoft’s all-in on .Net and garbage collection.

The bigger questions is Frameworks. Let’s just say Microsoft does a .Net version of Swift. To create a Windows application you’d have to embrace WinRT. You could use your knowledge of Swift, but you’d have to learn a completely new way of writing applications.

Think about all the things Foundation does for you. If you were to move to Windows and Swift on Windows was all .Net based you couldn’t even reuse your non-UI based classes. You could, of course, reimplement your shared classes to use .Net stuff and maintain your interfaces, but you’d have to do a considerable amount of coding to fit on the platform.

Maybe you don’t make Swift a .Net language. Maybe you bring Foundation over to Windows using the Windows API, which is very different from a development standpoint, and not the preferred way to code new apps on Windows. This could also work. You would have a compiled Swift that could natively link to Foundation, which in turn uses Windows API’s to do any platform level stuff. You could then reuse some of your code investment, like those shared non-UI classes and work on creation of a native Windows UI for your application.

Also, of note. Microsoft already has a great set of Frameworks to use, just use them. It would be like coming to the Mac from Windows and saying “Apple needs to provide some good app frameworks.” They already do, you just need to learn to use them to make the best experience for your users. That is the biggest hurdle for any developer.

Learning the new frameworks and a new OS can be quite daunting. When I came to iOS from doing Windows and Linux based UI’s (using Qt mind) I fought with Interface Builder and decided I had to do everything in code because I couldn’t figure it out. Later I made my peace with it. I still think Visual Studio is the better development environment, but Xcode is a very close second, maybe tied, at this point.

Eat your own dog food.I’m kind of a knucklehead. I spent almost 20-years doing native Windows API based applications so I was very comfortable with Visual Studio and that entire ecosystem. If I can learn to write iOS Applications and embrace the tools, then anyone doing Mac or iOS apps could learn to do Windows based stuff today. Just embrace it, don’t try to force your tools into the platform. Now, if you have some code that can easily come over, you might as well use it, but we all know the best apps feel right on the platform. Embrace the platform.

The new Surface Studio is the first bit of Windows based hardware that has excited me this much about the platform in a very long time. I’d love to work on a new design app for Windows, if I could. Maybe even one that works on both platforms; Windows and Mac. Why not? I mean besides time and money, what else does one need to do something so ambitious? 😀

Categories
Apple Microsoft

What Ifs and Why Nots

Apple announces new MacBooks to the world this week and geeks aren’t overly impressed. It’s OK. My gut reaction wasn’t overly positive, but what the heck did I expect? There were enough leaks in the press to warn us about what to expect.

As a Professional Software Developer I don’t need a thinner, lighter, laptop with an integrated touchscreen on the keyboard, but it also doesn’t cause any damage to have those things. I am definitely more interested in having a great piece of hardware that serves my needs.

My Needs

Will write C/C++ for foodI’m not obsessed with the looks of Apple products. They are beautifully designed. I’m a bit more pragmatic. I want my hardware to be fast and dependable. Apple makes fast and dependable hardware. I will never understand their obsession with “thin and light” but that’s ok. It’s their thing.

In the end I’ve been very happy, and I’m still happy, with my late 2011 15in. MacBook Pro. Work provided me with a 2014 15in. MacBook Pro and I can imagine it will work just fine for years to come. At some point down the road macOS will outgrow the hardware and I’ll upgrade. Until that day, I’m fine with what I have.

What If?

It’s too early to tell but what if Apple is in the middle of a transformation from macOS based devices to completely iOS based device? If we were to base that question solely on this weeks announcements it might be a completely reasonable guess, but what if they’re not done announcing new macOS based devices?

It sounds like, based on recent reporting, that Apple is out of the display business. I know that’s sad for a lot of folks, but for me it adds a ring of truth to the idea of Apple moving away from the desktop. Based on that one rumor I half expect Apple to mothball the Mac Pro, Mac Mini, and iMac. What if they do that? It’s fine, they don’t need to make desktop devices any longer. They’re moving to a completely mobile world driven by iOS and the iPhone. Yes, people do real work using just their iOS devices.

That brings us to this; Apple will continue to push the iPad as a professional device for most people. They concede the desktop to everyone else, including Microsoft (who owns the productivity worker space anyway.) That leaves them with the consumer and prosumer markets, which is a perfect fit for them.

Where does that leave professional developers, designers, illustrators, and artists of all kinds? Like I said before, I don’t need a Mac Pro to do my job, but some people do, or at a minimum believe they do (which by extension means they do.) We’ve seen some cases in the high end video production world where shops have abandoned the Mac in favor of more powerful Windows based computers. Designers, illustrators, and artists have the option of the iPad Pro, MacBook Pro, and Microsoft’s recent entrance into this market with Surface Studio. Will a lack of a Mac desktop offering hurt these professions? In some ways it probably will, in others I honestly believe folks will adapt if the software can meet their needs head on. As far as high end workflows go, I’m not so sure. What do folks at Pixar use? Are they completely tied to their Macs or do they depend on Cintiq’s for their daily workflow? I don’t have the slightest clue, but this is where Apple could really disappoint a professional market. I’d love to hear from someone inside Pixar, ILM, Disney, or DreamWorks to see how this could effect them. Remember, outside of the software development and power user communities, most people see their computers as a carpenter would see their hammer. It’s an essential tool and they may have a preference, but a compute is a means to an end.

Why Not?

AHHHHHH!If Apple decides to abandon the desktop in favor of an iOS world, why not create a hardware specification to allow licensed third-party hardware vendors to sale computers with macOS? At a minimum spec out supported hardware configurations and allow people to buy a macOS license to run on their Hackintosh computers.

Another controversial why not. Why not port Xcode to Windows and offer an alternative, lesser expensive, choice to developers that could also let people buy super fast computers to code with? I know, it’s a crazy idea, but as of this writing I’d prefer a Windows computer over an iPad as my primary development computer if I couldn’t get updated desktop or laptop hardware directly from Apple.

Since Microsoft is moving to LLVM why not get Objective-C and Swift running in that environment and provide the iOS simulator on Windows? This also seems like a decent alternative to an all iPad development environment.

All crazy ideas, I know, but things I think about.

Then again, Apple could surprise us in the spring with a brand new Mac Pro and iMac that blows all these crazy ideas right out of the water.