Perfect architecture or just enough architecture

Have you ever debated the amount of architecture needed? If you have began your career progression as an architect or a software engineer with the role of architect, you probably have questioned the appropriate level of architecture. Terms will be thrown around like explicit architecture versus intrinsic architecture. Maybe intentional architecture versus organic or emergent architecture. Either way you begin to question what is the right level of architecture for your solution.

If you have experienced things like I have in my career you go through waves where you think you have all the answers to find out they were all the wrong answer. The truth of the matter will become clear at some point that there is not a perfect architecture, there is only the architecture that meets the needs today. Eventually it will get broken. If not by use by time.

I feel the job of the architect whether it is role or whether it is a position is to minimize the risk of change. This means usually putting just enough architecture in place to make it easy to change later. This is more art than science. This is where the engineering brain you may have will beat you up. At some point you have to be able to work in the grey or you will not make it in your career.

I feel like I’ve reached the point in my career where I know how far to go without killing a business or killing the engineers that work on the project but I’m sure others may have different opinions. Either way I’ve learned to get out of the way more and not feel like I need to architect every aspect of the software. At the end of the day no one cares about the architecture except the architects and the engineers that have to change the system, unless you have a very technical product team that understands the trade offs. Your customers whether internal or external do not care as long as the software meets their needs. They will care if they are paying regular though whether you can add additional value and that is where the customer unintentionally will care about the architecture whether they know they do or not.

What are your thoughts? Is there a perfect architecture? Is there ever enough architecture? Does your organization care about architecture? Do they understand the need?

I’d love to have some conversations on this topic with others. Catch me around other meet ups and conferences if you get a chance.

Community Community Community

So I started writing this on the last day of That Conference. Last week I had the opportunity to attend multiple Open Spaces sessions as well as a few topics while volunteering. The one common thing that still astonishes me is the way this community has came together. I missed the last couple years for one reason or another. This year I happened to work the registration desk a few days and time and time again people would turn in things left behind from others. Everything from purses to laptop bags with laptops still in them. It is amazing how well this community looks out for each other. The reactions of the folks picking up their belonging was just amazing.

The open spaces conversations I participated in or saw all were focused on helping each other. This just shows how much this community wants to give back to each other. No one really seems to ever show much of an ego. I was able to ask some first year attendees how their experience was. They were shocked at how much they were getting for their money as well as being able to find tons of content they wanted to see. In fact they stated it was hard to decide what to go too because there were so many good topics.

Clark, Carrie, and the “That Crew” have truly built a great community that I full heartedly expect to grow. It already has quite a bit and the say off season messages that go around show just how much of a community not just a conference they have built. I hope to be able to continue to be part of “That Crew” and help build this thing even bigger.

Stay tuned as I am about to get my blogging back on as well. I feel I have not contributed to the community outside my work in quite a while. I will also be looking to get back into the speaking circuit as well.

Microsoft and Apple Events

My thoughts on the Microsoft and Apple Events this week.

So this week has been full of tech product releases from Microsoft’s Creative Update and Surface Studio to Apple’s MacBook Pro release. I’ve let a few days go by so that I wouldn’t be caught up in the moment toward one product or another.

Microsoft Creative Update

Majority of Microsoft’s event was talking about the creative update. This update comes in the form of some updated apps with the premier one being Paint 3D. Paint 3D is an application which allows users to create art in 3D. I covered this in a previous post. I still believe the play here is to simplify the creation of 3D assets for the holographic platform.

Virtual reality

windows-10-vr-headsets-100689930-orig

Microsoft also announced some virtual reality headsets from their OEM providers. The prices of these start at $299. There also was a demo of what it may look like in the holographic platform using these headsets. Although I was hoping for a tethered version of the HoloLens at a lower cost this might be a good option still. We still don’t know the minimum specs for the computers needed for the platform but my guess is it is lower than the Oculus and HTC Vive.

These headsets do tracking differently than the other headsets on the market. The headset the proposed are doing inside-out tracking vs. outside-in. The Headsets on the market today with room scale utilize cameras placed around the room in stationary locations to track IR markers on the googles or other devices. With inside-out tracking the camera system is typically on the goggles and IR markers are placed in stationary locations. I believe the difference though in Microsoft’s approach is more similar to the HoloLens where it utilizes IR and depth sensors to map the room.

I like this approach much better than any VR solution today. Setup would literally be just scan the room with the headset. This has a lot of potential for the future of both VR and AR.

Augmented Reality

MSHoloLens_MixedRealitySpace_08516_3x2_RGB

Microsoft briefly demoed the HoloLens again showing a creation made in Paint 3D. Another demo showed how looking at a website in Edge could potentially feed you 3D models of real items you could test out in your home to see if you liked them or not. This does show a new way of shopping and that 3D will make its way into our browsers in the future more prolifically then it is today.

I was a little upset to not see more information regarding the HoloLens at the event but I see the direction Microsoft is going and it does look like an interesting future.

Microsoft Surface Studio

Surface-Studio-4

The premier piece of hardware that was displayed during the event was the Surface Studio. This is a 28” all-in-one PC that utilizes the Microsoft Pen and touch to be a massive creative workstations. The hardware looks amazing but comes at a high price point as it is targeted at the creative space.

If you look at other devices on the market that give you this capability you quickly see a high price as well. It is a niche market. The king of drawing tablets Wacom sells monitors and some smaller tablet devices. Wacom’s 27” Cintiq costs $2,799.95. This is a display only no computer so you have to fork out another say $1,000.00 for a decent computer with GPU. You are already up into the price range of the Surface Studio which starts at $2,999.00. Even the high-end model is only $4,199.00. Seems like a deal now…

To me the design is a very premium product. This is one I would personally like to own in the future. I occasionally dabble in videography, photography, and 3D creation.

Microsoft Dial

Surface-Dial-3

The smallest piece of hardware at the event was the Surface Dial. The surface dial shows that Microsoft is looking to innovate. This device allows you to augmented your computing with a physical device. At the end of the day it is a dial which can be setup for different uses in software such as volume control, rotation, and other manipulations. The tricks really come out when paired with the Surface Studio though. When the device is placed on the screen not only does the dial still have a use but you get a contextual menu surrounding the device.

I can see this creating a new experience. Imagine if you could have a couple different Surface Dials programmed for your creative suite to do different interactions. You would grab the one you need for a color palette and place it on the screen. You could grab one for manipulation of objects. This could be an interesting play if Microsoft works that into the product. Today though I believe you can only have one at a time.

Apple TV Update

ATV_Pre-AppStore-FeaturedNBA_PR-PRINT

So on to Apple’s event. Apple started out their event talking to changes to Apple TV. The specific focus was around video content both on-demand as well as live. What Apple has done is created a new app called suspiciously TV. Wait I’m going to launch the TV App on my Apple TV, or is it I’m going to my Apple TV to launch TV… Confusing as this is the basic functionality is some of your content applications are curated into one UI. No more hunting for your next show that could be in Hulu, or HBO Go, or the Showtime App. Interestingly Netflix was no where in their demo and my guess is people have to sign up or develop specifically for it. More details to come on that front.

Apple also had Twitter as a guest showing off a new version of their Live video platform. Besides Twitters approach Apple also showed how you could jump to live events via voice.

All in all not that impressed with where Apple TV is at this moment but in general I’m not happy where any Smart TV or other TV based device is at.

MacBook Pro

MBP13RD-TB-2016-SpGry-Orange_PR_00-0008-052-PRINT

The large part of Apple’s announcement was around their flagship laptops the MacBook Pro line-up. I’ll talk about their new control surface later but overall on the hardware it was bump in the CPU, bump in the GPU, Lower profile keyboard, USB-C everywhere, and goodbye every other port except the headphone jack. We are about to live in a dongle apocalypse until the industry switches over to USB-C. The one nice thing is that any of the ports can be used for charging. I’m not certain I like the fact that MagSafe has been abandoned.

Looking at just the base stats it looks like a nice computer but it doesn’t scream innovation to me. Yay we made it thinner again… Yay it comes in space grey/gray… Yay it has 25% more color…

Touch Bar

So let’s talk about that Touch Bar shall we. Apple’s biggest innovation is putting a bit of iPad in your keyboard? Apple removed the function keys from the top of the keyboard and replaced it with a retina touch display. They showed off a few integrations with applications and the platform which shows how it morphs into different control surfaces based on context.

I think there is potential here but it will take time for developers to fully figure out the right interactions for it. I can see how it could be useful to expose some controls when you are in full screen mode with some applications but I’m lacking a good understanding of how it will improve my life. It actually forces me to look at my keyboard area which I haven’t looked at in years.

Final Thoughts

Before I bust out my final thoughts on either vendor my initial though is that it is good to see Microsoft and Apple going up against each other at some levels. We need healthy competition to push the envelope.

The fact that both of these vendors are pushing the price point up tells us something about the computer industry. It is officially niche. The people that use full functioning PCs is shrinking in the consumer space. Enterprise customers definitely will continue with PCs for some time still as the tablet and mobile market does not meet all the needs of productivity in their current incarnation. The consumer market  on the other hand can live on their Android and iOS devices. The folks that need desktop or even laptop style devices are creatives, engineers, and power users only.

If I was going to declare a winner of Innovation I would say Microsoft won the battle. I see more promise in their direction at this point of where the future may be. Between Holographic computing and creative solutions to fill the world with content the hardware they are bringing in the PC market seems top notch.

As for Apple I think they own the mobile space with Google on their heels now. Microsoft’s only strategy in mobile is to deploy their applications and cloud services which gives them a piece of that pie.

We are still in a very big transition in the technology space. Only time will tell which group will own the new future of compute in our homes and in hour hands.

Pixel versus iPhone 7 plus – photos

So I decided to take a couple photos today to compare the quality of the images from both the iPhone 7 plus and the Google Pixel XL. The first shot I took was in low light early morning with high contrast.

My opinion is that both cameras did a pretty decent job. These are straight off the phones. The Pixel image is a little bit more rich color wise as far as I’m concerned. If you look in the sky you see the difference.

Lowlight – iPhone

IMG_0280.jpg

Lowlight – Google Pixel

 

IMG_20161025_065023.jpg

The next test I decided to do was to use the “Portrait” mode on iOS 10.1 and the “Blur” effect on Google Pixel. The “Portrait” mode on the iPhone utilizes the two lenses on the iPhone and merges the photos with some magic to create bokeh or as some people are calling it fokeh. The Google Pixel on the other hand has you take a picture and then slowly move the phone upwards, and again uses software to create the effect. In my opinion the Pixel looks better for some reason. One is color. I can say though that it is easy to make a mistake with the Google Pixel version.

Shallow DoF – iPhone 7 Plus

IMG_0284.jpg

Shallow DoF – Google Pixel

IMG_20161025_123903_1.jpg

I think both phones do a great job I’ll do more test shots will update this post with more comparisons via a gallery over the next week.

My google Photo Album: https://goo.gl/photos/PQkXxDCQ9QQPeZ5Z9

 

OK Google Pixel

So today I received my Google pixel XL. My first impressions are that the phone has a decent build quality. Interesting it is much lighter than my iPhone 7 plus. I still have not got used to the fingerprint reader on the back. I’m so used to unlocking my iPhone with the home button. This is the first product I’ve ever recorded an unboxing off too. Although my lighting sucked.

I was able to take a few photos and compare them with my iPhones. I do have to say the camera is pretty Sharp. Here are a couple examples photos taken in from both phones.

Pixel

iPhone

Pixel

IMG_20161021_193856.jpg

iPhone

I did no editing or adjustments. The iPhone seems a little Overexposed in each photo.
There also are a couple Easter eggs in the new OS nougat. One of which I took a video of which was in Google Assistant. If you say “Ok Google I’m feeling lucky” it will launch you into a quiz show.

Another interesting feature I found out about is that it saying “Ok Google” unlocks the device if it determines it is your voice. One problem here is that you can cause your self issues if you watch a video of yourself saying the key words…

So far so good. I’ll post another review in a day or so after I get more time with the device. I’m still waiting on my Daydream VR as well to play with that.

Want to know something about the Google Pixel. Send me a comment and I’ll try to answer them either in the comments or via another blog post.

Bash on Windows is Beta…

So last night I was setting up a machine and playing with a node project. I decided to jump into Bash on Windows to do node development and ran into a weird error. “ERROR in EINVAL: invalid argument, uv_interface_addresses.

image

After doing a little Googling I found some others posting this issue. What the problem stems from is related to iterating over network interfaces. When these scripts do this in Bash it apparently doesn’t work. I was able to switch to my normal command line with node install and run the same application though.

Figured I would share in case anyone else is struggling. We all need to remember this is Beta software and report the issues so they eventually get fixed.

In this case the issue is with os.networkInterfaces() call in the code I’m using.

My nodejs app looks like this and runs on nodejs on windows but fails on bash.

const os = require(‘os’);

var interfaces = os.networkInterfaces();

console.log(interfaces);

Video of issue:

Microsoft Paint in 3D???

Double post day. I must be getting ambitious…

So some videos popped online today regarding a new version of Microsoft Paint.

Why would Microsoft add 3D? Well my thought on this is two fold. How else are normal users going to create 3D content for the HoloLens? Also if rumors are true regarding an all-in-one Surface to be announced on October 26th, 2016 then they need some apps to show off on it. I think both use cases are awesome. The more 3D content creation we can get the better our AR/VR experiences will be. Everyone has to remember that Microsoft has opened their Holographic platform to OEMs so more devices will be coming as well as existing ones that will support that platform over time.

I’m working on figuring out how to get early access to play with it on my Surface Book right now. I’d love to play with it.

NOTE: Microsoft if you are listening give me a preview build to play with and I’ll do some screencasts with it.