text:
A few follow ups on previous posts, the white iPhone 4 arrives, and more in this week's In the news:
David Pogue of the New York Times has a "wrapping up" of the "Apple location brouhaha."
Pogue also recommends some camera apps for the iPhone.
John Edwards of Law Technology News has advice for lawyers who want to carry gadgets with style.
As Apple itself says it: "Finally." The white iPhone 4, which was announced along with the black iPhone 4 on June 7, 2010, is finally available a mere 10 months and three weeks later.
Ina Fried of the Wall Street Journal interviews Apple executives on why it took so long to bring the white iPhone to market.
I love it when developers create great apps for lawyers. Attorney Dan Friedlander shares some advice in the TechnoLawyer BigLaw newsletter based on his experience writing apps for lawyers (such as Court Days Pro), advice that can help firms with any technology initiatives.
Sam Grobart of the New York Times discusses 16 shortcuts for the iPhone. Even if you only learn one or two new tips, it is worth reading his article.
If you missed the 60 Apps in 60 Minutes session at ABA TECHSHOW, I've previously provided a list of the apps we discussed. The Your ABA newsletter has now posted summaries of the presentations that we made on some of those apps. There are a few errors in the article (for example, Calvetica is for the iPhone not the iPad, and some things that I said are attributed to Reid Trautz or Josh Barrett and vice versa) but the article is still a good read.
Speaking of Josh Barrett, he has an interesting post on Tablet Legal that shows you how to save a webpage as a file on an iPad. I have another solution that is less elegant but more simple: Just press the power and home buttons at the same time to take a screen shot of the webpage when it is open in Safari.
Jason Snell of Macworld writes that if you have an iPad or two, you don't need to spend money on a DVD entertainment system in your car or minivan.
Mark Sullivan of PCWorld wrote a good article on what makes the iPad special.
The official White House Flickr stream includes a picture of the most famous BlackBerry user in the free world — President Obama — walking around holding nothing more than his iPad 2 with a white Apple Smart Cover.
The Courtroom Objections app that I reviewed last June has been updated to include the rules from California, Florida, New York and Texas as well as the Federal Rules.
Curious how your iPhone figures out where you are? Glenn Fleishman explains it in this article for Macworld.
I recently discovered WalkingOffice, a blog for attorneys using the iPad published by Virginia prosecutor Rob Dean.
And finally, I can't decide if this is funny or just creepy — an Israeli comedy sketch about the iBoy. Click the picture below for the link to YouTube:
Apple addresses iPhone location data concerns
The lead item in last week's In the news post here on iPhone J.D. was the controversy arising out of the discovery that there is a file on your computer containing what appeared to be a track of everyplace that you have gone with your iPhone. Because a "bad guy" would need access to your computer to tap into such data — at which point you have much larger concerns — I didn't think it was that big of a deal, and last Friday I linked to articles written by others who felt the same way. But since I wrote that post last week, I heard from a lot of you who had much more concern than me, and Apple has received similar feedback. Thus, Apple took the unusual step yesterday of responding to these concerns in several ways.
First, Apple posted a published a Q and A style press release to address this issue. Apple explained that the data was part of a cache used to quickly determine where you are. When you use location services on your iPhone, it would take up to several minutes to find your location just using the GPS chip, so Apple also stores information that helps the phone to figure out your general vicinity by figuring out which cell towers and WiFi zones are nearby. This is good for users because your iPhone can "know" where you are located much more quickly, but that data was being saved — and for a long period of time — in backups to your computer. Thus, Apple was not really saving a history of where you were, but instead was saving a history of nearby cell towers and WiFi hotspots so that when the iPhone was once again in that vicinity it could quickly figure out its location without waiting for the GPS chip. Apple explains in the Q and A that Apple is not tracking the location of your iPhone and has no plans to ever do so. If you have any questions or concerns about the iPhone location data that has been in the news for the last week, read Apple's full press release right now to get the real story. For example, Apple notes at the end that an upcoming software update will save far less of this data and stop backing it up to iTunes on the computer. [UPDATE 5/4/11: That update is now released: iOS 4.3.3]
Second, three top Apple executives — CEO Steve Jobs and Senior VPs Scott Forstall and Phil Schiller — talked to Ina Fried of the Wall Street Journal and All Things D to set the record straight, resulting in this edited transcript and this article by Ina Fried.
Third, someone from Apple wil soon be headed to Washington to discuss this issue. Congressman such as Sen. Al Franken have asked Apple and others to answer questions on these issues, and Steve Jobs told Ina Friend that "They have asked us to come and we will honor their request, of course." It will be interesting to see who Apple sends to Washington.
Even though I still think that this story was blown way out of proportion, I do respect those who were more concerned than I am. I certainly appreciate the need for privacy, and if you are really concerned about the possibility of someone learning where you are located, you probably shouldn't even carry a cell phone, whether it be an iPhone or something else. My understanding is that the law is unsettled on whether cops even need a search warrant (and thus need probable cause) to get information about your location from your cell carrier. But whever you stand on thie iPhone location data saga, hopefully these answers from Apple will satisfy your concerns.
iPhone and iPad at class certification hearing
Sorry for the lack of posts this week; I had a class certification hearing that consumed my time. The hearing gave me an opportunity to use my iPhone and iPad in court, and as expected they were very useful.
First, I had an occasion to use my iPhone when I objected to an opponent's question. While arguing the issue at the bench, I knew that there was an applicable article in the Louisiana Code of Civil Procedure, but I could not remember the number or the language of the article. Thanks to Matt Miller's La. Code of Civil Procedure app, while I was at the bench and my opponent was arguing, I was able to quickly fire up the app on my iPhone, tap the search button, type the word "expert", scroll through the hits and then find the article applicable to my objection so that when it was my time to respond to my opponent, I could cite and quote chapter and verse of the applicable rule. Apps like this which contain the state and federal rules and statutes are incredibly useful to have in the courtroom.
Second, an issue came up during witness testimony on which I had drafted some questions in the past, but I had deleted them from my cross examination outline because I didn't think it would be an issue. I turned on the Personal Hotspot feature on my iPhone so that it would share the 3G connection with my iPad 2, and then I used the LogMeIn app on my iPad to connect to my computer in my office. I was then able to access my document management system and find the old draft of my outline and e-mail it to myself. Then I just used the Mail app on my iPad to see the questions as a Word attachment and see which exhibits I had previously selected to support that line of questioning. In a perfect world, I would have already had all of this with me in the courtroom, but of course in real life you sometimes realize in court that there is something back in the office that you can use. In the past, I might have tried to send an e-mail to someone back in my office, but it would have been difficult to describe what I was looking for even though I knew exactly how to find it myself. With the iPhone and iPad, I could act just like I was sitting in my office even though I was instead sitting in the courtroom.
Third, an issue came up before court in the morning that required some quick legal research. I used the Fastcase app on my iPad to quickly find the cases so I knew what to cite to the court.
Fourth, I had a ton of important documents in my case stored as PDF files in GoodReader on my iPad. It turned out that I only needed a few of those documents, but of course you want to have all of them with you because you never know which one will be important. With the files in digital format, they don't take up physical space and there is no reason not to have all of them with you. When I needed to quickly view a document or search for text in a deposition, it was a cinch to do so using GoodReader. I have yet to post a formal review of the GoodReader app on the iPad, but it is one of my favorite iPad apps.
I could have done much of this with a laptop computer, but one thing I don't like about using a laptop in court is that when your screen is propped up, it adds a slight barrier between you and the judge/jury, and also opens up the possibility of someone behind you in the audience seeing what you are doing. (I realize that you can use a privacy filter on your screen to reduce this risk, but I don't like how they make the screen darker.) Because the iPad lies flat on the desk (or at a slight angle if I prop it up slightly using the Apple Smart Cover), you don't have any of these problems. Plus the iPad — even with a bluetooth keyboard — is much lighter and thinner than a laptop, taking up less space in my briefcase so I can carry other items.
There are some things that I could have done with my iPhone and iPad but did not do. For example, I often take notes on my iPad using a stylus and the Note Taker HD app, but so far I have only done that when watching a hearing or trial. When I am the one in the hot seat, I still prefer to use a legal pad and a pen. I also didn't use the Keynote app on my iPad 2 to connect to the court's display system and use slides; instead my demonstratives were on traditional boards on a tripod easel, which just made more sense for the demonstratives that I was using.
I'm sure that all of us have used an iPhone in court to check e-mails, but I love that the iPhone and iPad are so powerful that they can become indispensible aids in court that help you to make your case.
In the news -- Issue #100, Special Collector's Edition
I started iPhone J.D. in November of 2008, and a few months later I realized that there was a lot of iPhone news that was worth sharing that did not deserve a long post by me — often because the article itself said everything that I could say, and usually much more. Traffic on iPhone J.D. was usually a little lighter on Fridays anyway, so on Friday, April 10, 2009 I titled my post "In the news" and collected some links of interest from the prior week. The title is a throwback to the 1970s when I was a little kid and my brother and I used to love to wake up as early as possible on Saturday mornings to go downstairs and watch cartoons. In fact, sometimes we would wake up so early that we would catch the TV that came on before the cartoons, reruns of shows like The Munsters and The Three Stooges. There was no cable TV back then so our cartoon choices were limited to the three major networks, and whenever we watched Channel 4 (WWL, the CBS affiliate in New Orleans) I used to enjoy their In The News segments, a two-minute summary of the news of the day, edited for a younger audience by CBS News. (And on ABC, of course, I loved the Schoolhouse Rock segments between cartoons.) If I close my eyes, I can still hear those distinctive tones from the In The News segment ... or I can just click here to hear them again without having to imagine a thing. Two years after my first "In the news" post, here we are with the 100th edition. So with no further ado, here is the news of note from the past week.
One of the biggest stories this week was the announcement by a security research firm that your iPhone is tracking everywhere you go, and all you need to do is download a simple free program on your computer to see a map showing everywhere that your iPhone has ever been. The initial reaction was fiercely negative. Is Apple following us? Then people realized that every cell phone company has the same data on all of its customer's phones — not to mention all the other records that exist of where you go and what you do. Do you use a program like Quicken to keep track of your credit card expenses? That's another record on your computer of where you have been and the places that you have visited. Perhaps the best article that I have seen on this subject is this one by David Pogue of the New York times entitled Your iPhone is Tracking You. So What? I also enjoyed this similar analysis by Dan Moren of Macworld. Having said that, if there is someone who keeps up on technology news like this who has regular access to your computer (such as your spouse) and you are trying to hide the fact that you took that trip to Las Vegas, make sure that you tell iTunes to encrypt your backup file on your computer.
Attorney Tom Mighell discusses giving presentations on an iPad using apps like Keynote on his new site for lawyers using iPads called iPad4Lawyers.
Jim Calloway of the Oklahoma Bar Association discusses attorneys using iPads.
For a contrary view, Seattle attorney Venkat Balasubramani says "bah humbug" to attorneys using iPads.
Dan Moren of Macworld discusses the security of documents stored on Dropbox.
Walt Mossberg of the Wall Street Journal discusses buying a laptop computer and whether you should instead get an iPad.
Edward Albro of PC World considers whether there are any real competitors to the iPad in the tablet market.
According to an article by Tom Huddleston of AmLaw, the 700 lawyer firm Proskauer Rose is giving iPads to its attorneys.
Nick Bilton of the New York Times explores the question of whether you should upgrade from an iPad to an iPad 2.
Similarly, Art of the iPhone explores the speed of the iPad 2 versus the original iPad.
I love my iPad 2, and the Apple Smart Case is great for when I am carrying my iPad around my office or my home. But what about when I travel to and from work every day? I rarely need to take a briefcase anymore since most of my important papers are digital nowadays, but I want something small to carry my iPad and give it some protection. If you know of any good solutions for your iPad 2 (and many cases that hold the iPad will also work with an iPad 2 with a Smart Cover), please let me know.
Here is one example that looks intriguing to me, or at least it would if I was a female. Happy Owl Studios has a product called The Clutch. When you first see it you think it is just a nice clutch purse, but it holds a first generation iPad. A version for the iPad 2 is in development. While women are the target audience for The Clutch, the amusing commercial that they produced for The Clutch seems more aimed at men, although it does certainly answer the question of what would happen if the iPad and a sexy purse got together. This one might be mildly not safe for work, so be careful before you click the link to this commercial and this follow up.
Every time you tap the Safari icon on your iPhone, Safari opens and starts to reload the last page it displayed. Sometimes that takes a little while. If you would instead rather open Safari directly into a blank page, read this tip from Dan Frakes of Macworld.
In addition to watching Saturday morning cartoons as a child in the 1970s, I remember loving the Sesame Street book The Monster At The End of This Book. Now in 2011, it is one of my son's favorite apps on my iPad. Karen Freeman of AppAdvice posts a review.
MG Siegler of TechCrunch predicts that the iPhone will soon be the most popular "camera" for photos on Flickr, and he has the charts to back up his theory.
And finally ... this is usually the part of In the news where I discuss something silly in the world of iPhone or iPad, but here is something that started silly and turned serious. On April 1, 2010, one of the April Fool's Day products on Think Geek was a $150 device that turned an iPad into an arcade machine, and some people wondered if such a product could really be produced. The answer is yes, and a year later, Think Geek is now selling the iCade for $99. Just because it is funny doesn't mean that it can't come true.
Apple 2011 fiscal second quarter -- the iPhone and iPad angle
Yesterday, Apple released the results for its 2011 fiscal second quarter (which ran from December 26, 2010 to March 26, 2011) and held a call with analysts to discuss the results. It was yet another great quarter for Apple, with sales of $24.67 billion and net profit of $5.99 billion. If you want to hear the full call yourself, you can download it from iTunes or you can read the transcript provided by Seeking Alpha. Apple's press release is here. Here are the highlights of the call that I think would be of interest to attorneys who use an iPhone or iPad:
Apple saw $24.7 billion in revenue this quarter, which is $11.2 billion more than Apple saw this time last year. The difference, according to Apple's Peter Oppenheimer: "This tremendous increase of 83% was fueled primarily by record iPhone sales, vey robust demand for iPad and strong growth in Mac sales."
Apple sold a record 18.6 million iPhones this quarter.
One reason for the increase in iPhone sales is that more companies are supporting the iPhone, companies such as Cisco, Prudential, Boston Scientific, General Motors, American Airlines, Deloitte, Yum! Brands and Xerox.
Apple sold 4.7 million iPads during the quarter. A lot of people waited until the very end of this quarter to buy an iPad because they were waiting for the iPad 2, and demand far outstripped supply so many who wanted an iPad were unable to get one by March 26, 2011 when this quarter ended.
One reason for the strong demand for iPads is that more companies are supporting the iPad. Oppenheimer said: "Employee demand for iPad in the corporate environment remains strong and CIOs continue to embrace iPad in an unprecedented rate. In just over a year since its debut, 75% of the Fortune 500 are testing or deploying iPad within their enterprises" such as Xerox, AutoNation, Yum! Brands, ADP, Boston Scientific, Estée Lauder, Disney, Stryker, Prudential Financial, Rite Aid and USAA.
The App Store has over 350,000 apps available and there have been well over 10 billion apps downloaded. Apple has paid over $2 billion to app developers.
When Apple announced the Verizon iPhone, some wondered why the faster 4G LTE network wasn't used. Apple's answer remains the same today as it was then. Tim Cook explained: "I was asked this question or a similar question when we launched the iPhone with Verizon. And what I said then, and I still see it as being the case today, and I think you can see this in the products that have been shipped, is that the first generation of LTE chipsets force a lot of design compromises with the handset, and some of those, we are just not willing to make. And so we are extremely happy with the iPhone 4 and the iPhone 3GS. And hitting 18.6 million units was something much larger than we thought we could do this quarter, and we're happy to have gotten it out to 3 more large carriers." I'm positive that we will see an LTE iPhone at some point in the future, but the technology just isn't there yet to make a great product (for example, battery life is horrible), and Apple wants to wait until it can release a great LTE iPhone.
Tim Cook said that Steve Jobs "is still on medical leave ... but we do see him on a regular basis. And as we previously said, he continues to be involved in major strategic decisions. And I know he wants to be back full-time as soon as he can."
Many of you (like me) probably used your first Apple computer when you were in school. Education continues to be an important market for Apple computers, but Tim Cook noted that as of last quarter, Apple was at "about a 1:1 ratio of iPads to Macs, which is amazing with the short life of the iPad, and really demonstrates what kind of opportunity there probably is there." So Apple is now seling just as many iPads to schools as Macs. That really is pretty amazing.
One analyst noted that for several years now Apple has introduced a new iPhone in June and asked if that would happen again this year. Tim Cook didn't answer, just saying that Apple never comments on upcoming products. (If you want to believe the latest rumors, though, my guess is that we'll probably see the next iPhone in September.)
Yet again, Apple had a fantastic financial quarter. And yet again, the iPhone and iPads were the key to Apple's success.
Apple v. Samsung, No. CV-11-1846 (N.D. Cal.)
iPhone J.D. is a site aimed at helping lawyers use the iPhone so I usually don't talk about lawsuits involving the iPhone. Having said that, Apple filed a lawsuit against Samsung in the Northern District of California this past Friday that may be of interest to any lawyer who appreciates the iPhone. I'm not an IP attorney so I cannot offer an informed analysis of the lawsuit, but Chicago attorney Nilay Patel (who, until very recently, was an editor for Engadget) wrote a comprehensive analysis of the lawsuit that even a nonlawyer can follow. What it really comes down to is Apple claiming that Samsung copied the look of the iPhone and iPad. For example, the complaint itself includes these side-by-side pictures of phones from Apple and Samsung:
And the complaint also includes these comparisons of icons on the iPhone versus a Samsung phone:
Considering that the user interface is such an improtant part of what makes the iPhone so compelling, it will be interesting to see what happens to this lawsuit. Again, read Patel's article if you want to learn more, or if you would rather listen than read, Patel is also on yesterday's edition of the MacBreak Weekly podcast.
Review: Google Authenticator -- two-step verification for your Google Account
Security on the Internet is something for everyone to be aware of, especially attorneys. You can go overboard being worried about security, but whenever there are simple methods that you can undertake to enhance security, that seems like a good thing.
Mississippi attorney Tom Freeland recently wrote me to pass along a security tip to help guard against unauthorized access to your Google accounts such as Gmail. He writes:
Google has a new-ish two step verification process for greatly enhancing the security of Gmail. The easiest way to do it is with an iPhone app called Google Authenticator. As you go through the (roughly 15 minute) process, the website generates a thing that looks like a bar-code. You view that with the iPhone app and then the app generates a verification number. You enter that number into Gmail, it's good for 30 days, and you go from there on using your regular password.
If you have ever used a SecureID fob, then you know what two-step verification is. The idea is that you verify that you are who you say you are using two methods (1) providing some information that only you should know (your password) and (2) using something that only you should have, such as a SecureID fob or in this case your iPhone which is generating a unique password using the Google Authenticator app. Even if a "bad guy" somehow learns or guesses your password, he still could not access your account without the code generated by the iPhone that you have. Tom writes a little more about the process on his blog and you can get even more information in this post by Google.
The whole thing took me far less than 15 minutes, more like five minutes really. Once you have it configured, you can either require the code generated by the app in addition to your password every time that you log in, or you can allow Google to remember your password for 30 days, and then after that you enter the code generated by the iPhone app again for anothe 30 days. For example, when I access the Gmail website on my iPhone, I am first asked to enter my Gmail ID and password, and then I see this screen:
Every time you access a Google service from a new computer (or iPhone or iPad etc.), you need to provide not only your password, but also that code generated by the Google Authenticator app. Thus, even if someone across the world manages to detemine your password, he still cannot access your account from that computer without your iPhone.
Using the Google Authenticator app is easy and relatively painless, and it adds an extra level of security to your Google account and Google services such as Gmail. Consider giving it a try.
Click here to get Google Authenticator (free):
60 Apps in 60 Minutes 2011
One of the great traditions of ABA TECHSHOW is to have sessions with a title of 60 ____ in 60 Minutes. The final session of the conference is the very popular 60 Sites in 60 Minutes, and equally popular is the annual session 60 Tips in 60 Minutes. In that spirit, last week at TECHSHOW 2011, Reid Trautz, Josh Barrett and I presented 60 Apps in 60 Minutes, a collection of notable apps for attorneys using an iPhone or an iPad. It was a great session with a packed and enthusiastic audience, as shown in this picture taken by Ohio attorney Brett Burney. Well, that picture doesn't exactly capture the enthusiasm, but trust me it was there. I liked this tweet during the presentation by Detroit attorney Randall Juip: "@iphonejd is spending all my app money, $1-2 bucks at a time. And I'm loving it!"
Those who attended will be able to download our slides from the ABA TECHSHOW website very soon, but here is a list of the primary apps that we discussed (along with my tiny description of what the app does). The apps are listed in the order that we discussed them, and don't try to find too much rhyme or reason in that; it was a mixture of alphabetical order, who was discussing the app, and in a few cases an effort to group similar apps together. I put links on the names of the apps that have received a formal review here on iPhone J.D. I think that you will find that this is a really good and diverse list of apps for you to explore.
60 Apps in 60 Minutes, 2011 Edition
Black's Law Dictionary - dictionary ($54.99):
Book of Jargon - example of effective law firm marketing in an app (free):
Calvetica Calendar - calendar ($2.99):
Appolicious - app recommendations (free):
Atomic Web Browser - web browser ($0.99):
Berokyo - file manager ($1.99):
Keynote - presentations ($9.99):
Penultimate - notes ($1.99):
iThoughtsHD - mind mapping ($9.99):
Chase Mobile - deposit checks (free):
Citrix Receiver - remote access (free):
LogMeIn Ignition - remote access ($29.99):
Food Truck Fiesta - find food ($0.99):
Google Translate - voice translation (free):
Jibbigo - voice translation ($4.99):
Flipboard - news aggregator (free):
Zite - news aggregator (free):
Instapaper - save web pages to read later ($4.99):
Documents to Go Premium - view and edit Microsoft Office documents ($16.99):
Dragon Dictation - transcribe speech (free):
Eye Glasses - magnifying glass ($2.99):
Google Voice - phone services (free):
HootSuite for Twitter - social media aggregator (free):
iCPR Full - emergency medical (free):
Digits Calculator - calculator ($0.99):
PDF Expert - document editor ($9.99):
Photogene for iPad - photo editor ($2.99):
Fastcase - legal research (free):
GateGuru - airport information (free):
Goodreader for iPad - document editor ($4.99):
Price Check by Amazon - compare prices (free):
Noted - notes (free):
Siri - personal assistant (free):
Infinity Blade - game ($5.99):
Satchel - client for Backpack service ($9.99):
Plaintext - text editor (free):
Court Days Pro - date calculator ($2.99):
Note Taker HD - notes ($4.99):
Prizmo - scan and OCR ($9.99):
Text'nDrive Pro - read text messages and e-mails ($9.99):
Word Lens - translation (free):
iType2Go Pro - text editor + camera viewer ($1.99):
TextExpander - macro utility ($4.99):
TuneIn Radio Pro - listen to and record radio stations ($0.99):
GarageBand - create music ($4.99):
Pro HDR - improved HDR photography ($1.99):
Skype - VOIP calls and video (free):
WordPerfect Viewer - view .wpd files ($4.99):
Groupon - coupons (free):
JotNot Scanner Pro - document scanner ($0.99):
MindMiester for iPad - mind mapping ($7.99):
PhotoSync - transfer photos from iPhone to iPad ($3.99):
Trickle for Twitter - Twitter display ($0.99):
Reeder for iPad - RSS reader ($4.99):
iMovie - edit movies ($4.99):
Localscope - find nearby businesses ($1.99):
Atari's Greatest Hits - game (free):
GoToMyPC - remote access (free):
TrialPad - display and mark up exhibits on external display ($89.99):
Outliner for iPad (by CarbonFin) - organize thoughts ($4.99):
Minimal Folio - presentations ($2.99):
By the way, there are lots of apps on the list that we put together at last year's TECHSHOW that I still use all the time, so click here to read the TECHSHOW 2010 list. A similar list prepared for TECHSHOW 2009 is available here, although that list is starting to get dated.
A popular activity at TECHSHOW was to trade your iPhone or iPad with someone else just to compare apps and learn about new ones. I find that no matter how many apps that you think that you know about, you can always learn about additional good ones when you compare notes with others. With that in mind, I always love it when people send me an e-mail recommending one or more apps that they enjoy using, so please keep those e-mails coming!
News from Apple, news about Apple and its products, fun things to do on your Apple product, and cartoons that make fun of Apple ... all in this week's exciting edition of In the News:
Apple updated the iOS to fix some bugs. The new version is 4.3.2 — unless you are using a Verizon iPhone, in which case the new version is 4.2.7. I presume that Apple will soon have a single update for the AT&T and Verizon iPhone 4, but they are not there yet. Lex Friedman of Macworld has more details on this update, but it is basically just a bunch of bug fixes with no new features added.
When the iPhone 4 was announced last summer, it was supposed to be available in either a black or white model. Apple had problems making the white model and I assumed that we would never see one, but according to Ian Sherr of the Wall Street Journal, Apple has confirmed that we will see a white iPhone 4 in the spring (which ends on June 20).
Spencer Morgan of The Atlantic wrote an article about actor Paul Marcarelli, the Verizon "Can you hear me now?" guy. Marcarelli's full time contract with Verizon ended last September, but he still does some things with Verizon, such as the recent commercial that aired when Verizon got the iPhone.
Sam Glover of The Lawyerist explains why the iPad is an indispensable tool for lawyers.
If you try to access a site with Flash video on an iPhone or iPad, you cannot view the video (unless you use the Skyfire alternative browser, which does not always work). However, Bryan Wolfe of AppAdvice reports on an Adobe announcement that the new Flash Media Server will allow websites to provide an iOS-compatible stream when a site is visited by an iPhone or iPad. I look forward to seeing this in the future. All we need next is for someone to tell all of the restaurants in this country that there is no law that requires them to use Flash on their sites.
Now here is some news that is sort of the reverse of the last item: Alexia Tsotsis of TechCrunch reports that a company called Pieceable can take an iPhone app and turn it into a web page that runs a fully functional version of the app, using Flash. (via Dan Saavedra)
New York attorney Nicole Black recommends iPad apps for lawyers.
Art of the iPhone has a good list of the 50 best games for the iPad.
Speaking of games, if you enjoyed playing the fun computer trivia game You Don't Know Jack in the 1990s, you'll be glad to learn that the game is back and available for the iPhone and iPad. (If you don't know the game, it is a fun and irreverent trivia game with a smart alec host and lots of creative graphics.) There is a free version for both platforms with two "episodes" or you can get the full version which contains 20 "episodes" (which are different from the free ones, so you might as well get the free app first). The gameplay is identical on the iPhone and iPad, you just get a bigger screen for the iPad version — which is nice, but I can't decide if it is worth the extra $2. Unfortunately, one of the best parts of the original trivia game was that it was fun to play with other people, and this game only works with a single player. Especially with the iPad, this could make a great multi-player game. Perhaps that will come in the future; the developer does promise episode and feature updates. Click here for the free version for iPhone and iPad and click here for the full version or iPhone ($2.99) and iPad ($4.99) . There is not much replay version once you have played an episode, but if you tell yourself you are paying a quarter per episode (less on the iPhone) with future updates coming, I suppose the price is fair. The game is fun.
Jonathan Geller writes for BGR about why he switched from an AT&T to a Verizon iPhone and then decided to switch back to AT&T.
Amanda Robert of Chicago Lawyer Magazine writes about law firms using iPhone apps as marketing vehicles.
This week, Cisco killed off the Flip video camera, only two years after the company spent $590 million to buy Flip. I thought that the primary reason had to be a realization that people were going to be using the cameras in their iPhones and other smartphones instead of a Flip, but David Pogue of the New York Times did some digging and reports that isn't the full explanation.
If you (or someone you know) recently purchased an iPad, Macworld has a great, and free, book in the iBookstore called the iPad 2 Starter Guide. You can get it here:
There is a great series of "It gets better" videos on You Tube, videos with LGBT adults sharing their experiences to give courage to gay teens who are the victims of discrimination and abuse, discouraging them from horrible alternatives such as suicide. Some LGBT employees at Apple came up with this video, and like any video that comes out of Apple, it is very compelling. The one that the folks at Pixar made is also very powerful.
If you want to make your iPhone look like the cell phone you used in the 1980s, check out this article by Gregory Schmidt of the New York Times.
And finally, the clever folks at College Humor wondered what would happen if you combined Charlie and the Chocolate Factory with Apple? The result is the video Charlie and the Apple Factory. They turned off embedding for the video, so click here (or click the below picture) to watch it on YouTube:
Thoughts from ABA TECHSHOW 2011
I've spent the last few days in Chicago at ABA TECHSHOW 2011, and it was the best of the three TECHSHOWs that I have attended. The speakers were really good this year, there was so much to learn, and (as always) the people there were wonderful and there were lots of opportunities to socialize. I don't know the official attendance numbers, but it looked to be an incredibly large group this year. The keynote presentation alone must have had over 1,500 people in the room, even though I know many people who skipped the Keynote (their loss; Larry Lessig's presentation was amazing). A special thanks to the folks who joined me and Josh Barrett for our iPhone/iPad dinner on Monday night; we had a blast.
Here are a few iPhone/iPad related thoughts from TECHSHOW 2011:
iPhones were everywhere. To be fair, many of the sessions I attended were perhaps of special interest for people using iPhones (such as some of the cloud computing sessions and the Mac sessions), but it certainly seemed to me that more people were using iPhones than any other smartphone.
A good example of this: during my Smartphone Shootout session this morning. I defended the iPhone, Alex MacDonald defended Android, and Michael Morse was slated to defend the BlackBerry — but since the time that we scheduled this session, he bought a Verizon iPhone. Indeed, I met a lot of new iPhone users who recently switched over from the BlackBerry, many of whom (like Morse) were waiting for the iPhone to come to Verizon.
iPads were very popular. I was especially surprised to see how many people were using an iPad 2 since they are still so hard to get. There were still more people in the audiences using laptops, but every session had a large number of iPads in use by attorneys in the audiences.
I used Keynote on an iPad 2 to run both of my presentations, and it worked like a champ. The presentations looked great on the large screens, and even though I had my iPad 2 turned up to full brightness, with the screen on constantly, and used it for about two and a half hours straight, I only used about a third of the battery life. Very impressive. I was using the Apple VGA cable with the iPad. I know that the new HDMI iPad cable has an extra port so that you can charge the iPad at the same time that it is showing a presentation. I'm sure that would be nice to also have on the VGA cable, but as long as your iPad is fully charged when you start, you can give presentations using Keynote for many hours.
There were lots of iPads in the Expo Hall. Many vendors were touting some iPhone/iPad aspect of their product, and there were quite a few vendors with interesting apps for the iPad. I'll be reviewing some of them in the future. I heard more than one person say that if they had to pick a theme for this year's TECHSHOW, it would be the iPad.
I got a chance to play with BlackBerry's answer to the iPad, the PlayBook, which goes on sale until April 19. There are some things that I liked about it, including some interesting user interface (UI) features that seem to have been borrowed from the Palm Pre such as putting your finger on the frame of the unit and swiping up to get to the home screen and the ability to flick between cards representing the apps that are running. A lot of the UI was copied from the iPad. But the 7" screen is much smaller than the iPad and the unit is thicker than the iPad 2 (and the iPad 2 feels much thinner because of the tapered edges). I can't imagine any circumstance in which I would prefer that size to the iPad. It's not like it is small enough to fit in your pocket (except perhaps for a large coat pocket.) And the PlayBook only makes sense if you use a BlackBerry becasue it tethers to a nearby BlackBerry to provide e-mail, contacts, etc. I think it is safe to say that while a few BlackBerry users will find the PlayBook to be an interesting choice, Apple has nothing to worry about.
For all of you who took the time to talk with me at TECHSHOW about how you are using your iPhone and iPad, thanks for introducing yourself. I hope that you enjoyed TECHSHOW as much as I did. Mark your calendar now: ABA TECHSHOW 2012 is on March 29-31, 2012. I'm sure that there will be lots of iPhone and iPad topics next year, and indeed the chair of next year's program is Reid Trautz, who for the last two years has been a co-presenter with me on the 60 Apps in 60 Minutes sessions, so you know that he appreciates all that you can do with the iOS devices.
Authorized biography of Steve Jobs to be published in early 2012
Last year, the New York Times reported that in 2009, research began on an authorized biography of Steve Jobs, the first book about Steve Jobs written with the full cooperation of Mr. Jobs. The book is to be called iSteve: The Book of Jobs and is being written by Walter Isaacson, a New Orleans native who has previously run Time magazine and CNN. (We both went to the same high school, although he graduated about 17 years before me, and I have not yet had the chance to run either Time or CNN.) Isaacson has published numerous well-reviewed books including biographies of Albert Einstein, Benjamin Franklin, and Henry Kissinger.
Last night, Simon & Schuster announced that the book will be published in early 2012. For some good background on Isaacson and this book, check out this article by Philip Elmer-DeWitt that ran last night in Fortune.
I've had my first full week with the iPad 2, and I really love it. So do others — several other people in my law firm have stopped by my office to show off theirs as well. It's interesting how much varied interest there is. Some folks showing off their shiny new iPad 2's are very tech savvy, and they immediately want to talk about the best new apps that they have found and how many advanced things you can do. But those with little knowledge of tech have been equally enthusiastic about their new gadgets, and those folks have been amazed at how well the iPad 2 handles the core tasks (e-mail, web browsing, photographs, etc.). It is interesting that a single device can be so loved both because it is powerful and versatile and also because it is easy to use and handles important tasks with such ease. [Appropriately enough, as I am in the middle of typing this paragraph on Thursday night, one of the senior partners at my firm just sent me an e-mail to say that he now has an iPad 2 and asking what apps should he get.] But enough about my fun new device, let's get to the news of the week:
The latest issue of Law Practice Magazine is full of articles written by people speaking at, or attending, ABA TECHSHOW next week. You can view the whole March/April 2011 issue online here. A few articles that I recommend to iPhone J.D. readers:
Josh Barrett of Tablet Legal wrote a great article called A Day in the Life of an iPad Lawyer.
Brett Burney wrote Flying Safely in the Cloud.
Simon Chester wrote Thinking About Social Media in Your Law Firm.
And I wrote an article called Must Have iPhone Apps for Lawyers.
If you want to take notes with your iPhone, Dr. Drang wrote a good review and comparison of four of the top apps.
Neil Augenstein of PBS describes how one radio reporter is using an iPhone 4 in place of almost all of his other equipment.
Charles Starrett of iLounge reports on a ChangeWave survey that finds that Verizon iPhone 4 owners report fewer dropped calls than their AT&T counterparts, but both Verizon and AT&T iPhone users are equally satisfied with their phones.
The new CIO at Clorex told the thousands of employees at that company that they could replace their BlackBerries with iPhone, Android or Windows Mobile 7 devices. Lucas Mearian of Computerworld reports that of the 2,000 devices issued so far, 92% were iPhones, 6% were Android and 2% were Windows Mobile 7. I'm sure there is a joke to be made here about cleanliness being next to godliness.
Rick Broida of CNet shares 11 iPhone tips for novices.
Jenna Wortham of the New York Times writes about using an iPhone to take videos that looks like an old Super 8 movie.
Mike Elgan of Cult of Mac writes about how the iPhone and now iPad have gotten people used to not having a physical keyboard.
Apple Store Law & Order #1: man who used computers in an Apple Store in Palo Alto, CA to send threatening e-mails was apprehended by the police, thanks to the folks at the store recognizing a photo shared by police.
Apple Store Law & Order #2: Armed criminals break into the Otay Ranch Apple Store and start shooting employees; a security guard hired by the Apple Store returns fire, shoots one criminal, and the rest are soon apprehended. (Click here for The Daily's take on this story.)
Leander Kaheny shares the video and the story of an iPad-related April's fools joke involving two news anchors. Juvenile? Yes. But still funny to watch? Yes.
And finally, the clever guys at Scoopertino not only wrote a funny fake story about Steve Jobs running for president, they also created a website devoted to the campaign.
I hope to see you at ABA TECHSHOW next week!
This weekend I'm headed to Chicago for ABA TECHSHOW 2011, and I look forward to meeting and catching up with lots of iPhone J.D. readers. I first attended in 2008 when I spoke about preparing a law firm for disasters (something near and dear to those of us in New Orleans who lived through Hurricane Katrina) and about using a Mac to practice law when your law firm uses PCs. In the Spring of 2008, there were very few people using iPhones; they had only been on the market a few months, there were no third party apps, there was no support for Microsoft Exchange e-mail, and the memory on the device was limited. When I next attended TECHSHOW in the Spring of 2010, I was amazed at how many iPhones I saw. To be clear, it seemed that more people were using BlackBerries and other phones, but those with iPhones seemed to use them more often during the conference. This year I expect to see even more people using iPhones.
I'm curious how many iPads there will be. At last year's TECHSHOW, the iPad had been announced but we were a few days away from them going on sale. Since last year's TECHSHOW, not only has the iPad been released but now the iPad 2 is for sale.
You can learn so much about technology at TECHSHOW, but frankly I've most enjoyed TECHSHOW as a way to interact with other attorneys who appreciate technology. If you are going and you see me this year, please say hello. But there are lots of places that one can be during TECHSHOW with up to seven sessions taking place at the same time, not to mention that large Expo floor and the numerous conversations taking place in the halls and around the Concierge Desk. Here are some of my initial thoughts on where I will be during the conference.
Sunday, April 10:
6:30 - 8:00 pm: Welcome Reception.
Monday, April 11:
8:30 - 9:30 am: Technology Adoption: Is Your Firm Ahead of the Curve? by Todd Corham and Josh Poje. There are lots of good sessions to start the conference but this one looks good for people like me who work at large law firms.
9:30 - 10:30 am: This is a break in the schedule, so probably a good time to get a first look at the booths on the Expo floor.
10:30 - 11:30 am: A tough one. I'm curious to go to the Meet the Author session with Tom Mighell to hear about his new book iPad for Lawyers in One Hour. But I'm also think I could get a lot from the Insourcing or Outsourcing E-Discovery session by Dominic Jaar and Browning Marean and the PowerPersuasion session by Craig Ball. So who knows where I'll end up.
12:00 - 1:15 pm: There are several Lunch 'N Learn sessions. LexisNexis is hosting one, and from the schedule it doesn't look like they are planning to show off their Lexis Advance for Associates product that comes out later this year, but if they are, I'll attend that one. Otherwise, I'll probably attend the WestlawNext session.
1:30 - 2:30 pm: Keynote Address: "Code is Law" by Professor Larry Lessig
2:30 - 4:30pm: I'll be "working" at the Concierge Desk. If prior years are any indication, that means that I'll spend a little time helping people find things at the conference, but most of the time will be devoted to talking about iPhones and iPads with anyone who stops by to chat. It's usually the most social spot at the conference.
4:30 - 5:30pm: Mac Power Users by Brett Burney, Finis Price and Ben Stevens. I use a PC at my office, but I use a Mac at home and always enjoy learning more tips and tricks.
5:30 - 7:30 pm: Silver Jubilee Reception. Because this is the 25th year of TECHSHOW, this reception will feature 25 Years of Legal Technology in 25 Minutes, billed as a "fun and interesting retrospective of technology in the legal profession and ABA TECHSHOW."
8:15 - ???: Taste of ABA TECHSHOW dinner. Josh Barrett of the great Tablet Legal site and I are hosting a dinner at Tutto Italiano restaurant to chat about iPhone and iPad topics. Our dinner was one of the first to fill up this year, so hopefully you made your reservation early and can join us!
Tuesday, April 12:
8:00 - 9:00 am: Lots of good sessions, but I think that Define Paperless! by Andy Adkins, Ernie Svenson appeals to me the most. Thanks to the iPhone and iPad, I really have gone mostly paperless in my practice.
9:00 - 10:00 am: Another break time, which might mean I'll be on the Expo floor, or perhaps I'll hang around the Concierge Desk.
10:00 - 11:00 am: I'm leaning towards either Popular Cloud Services for Lawyers by Stephanie Kimbro and Tom Mighell or Logistics of Going Paperless by Debbie Foster and Dave Maxfield.
11:00 am - 1:00 pm: It appears that there will be an Expo break followed by a luncheon of some sort.
1:15 - 2:15 pm: I'll probably attend Safe Flying in the Clouds by Brett Burney, Sharon Nelson and Dan Siegel
2:15 - 3:15 pm: Expo break
3:15 - 4:15 pm: I'm trying to decide between Effective Preparation for Rule 26(f) Conference by Craig Ball, David Chaumette and Hon. David Waxse or Getting the Most Out of PDF Software by Larry Smith and Ernie Svensen.
4:30 - 5:30: 60 Tips in 60 Minutes
5:30 - 6:30: I hear a rumor that Kevin O'Keefe of LexBlog will be hosting one of his famous Beer for Bloggers events.
7:15 - ???: Taste of ABA TECHSHOW dinner. I signed up for the Mac dinner hosted by David Sparks and Victor Medina. Sparks runs the great MacSparky blog and co-hosts the amazing Mac Power Users podcast along with attorney Katie Floyd. I don't know Victor Medina personally, but I look forward to talking with him.
Both of my presentations are back-to-back Wednesday morning.
8:30 - 9:30: I will be presenting the session 2011 Smartphone Shootout along with Michael Morse and Alex MacDonald. We will compare and contrast iPhone, BlackBerry and Android and talk about how to get the most out of your smartphone.
9:45 - 10:45: Josh Barrett, Reid Trautz and I will present the fast-paced session 60 iPhone and iPad Apps in 60 minutes. We have an amazing group of apps to talk about this year, almost all of which are apps that we did not even mention last year. Last year this session was standing room only and a lot of fun, and we have an even better presentation this year.
11:00 - Noon: 60 Sites in 60 Minutes. Like the 60 Apps session that I am doing just before it, the 60 Sites session is always fast-paced and a lot of fun, usually one of the highlights of TECHSHOW.
For those of you going to TECHSHOW, it looks to be a great show this year. For everyone else, the above should give you a taste of what you can get at this conference if you attend next year, March 29-31, 2012.
Review: iAd Gallery -- access all of the Apple iAd commercials
Are you the sort of person who loves movie trailers, who watches the Super Bowl for the commercials, and who loves looking at the advertisements in a magazine just as much as the content? Well then Apple has the app for you, the new iAd Gallery app that was released yesterday.
On April 8, 2010, Apple announced a form of mobile advertising called iAds, and they started to appear on June 21, 2010 when Apple released iOS 4. You may have seen an iAd in an app that you downloaded, especially a free app; they show up as small banners that, when tapped, take over the screen and provide an interactive advertising experience. They tend to be well produced, in part because Apple exercises strict control over what can be in an iAd to keep the quality high.
The iAd Gallery app allows you to view all of the ads that are currently in rotation on the iAd Network. The "New" button at the bottom allow you to view just the latest iAds, and if you really like an iAd you can tap a heart to indicate that you "love" it and it shows up in a list of Loved apps.
You can also browse a list of all of the apps in two different ways. Tap the Search button and you will see an alphabetical list of apps that you can search. Or more fun, tap the Browse button and you will see a carousel of ads that you can spin to select one.
Tapping an ad gives you some basic information about the ad (such as the advertising agency that produced it) and the iAd itself which you can tap to launch.
There have been times when I have heard about an interesting iAd that was available but had trouble viewing it because when I launched an app containing iAds, another iAd would be displayed. Using the iAd Gallery is certainly easier than opening and closing an app over an over again trying to get the right one to launch. Otherwise, I'm not sure how useful it is to have a dedicated app that just lets you view advertisements, although it is interesting that Apple considers its iAds so compelling that it made an app to allow you to do nothing more than view the ads. The app is free, so if you want to check it out, I'm sure that Apple — and its advertising partners — will be glad that you did so.
Click here to get iAd Gallery (free):
Reivew: modulR -- iPad case with many accessories
One problem with trying to pick out the "best" case for an iPad is that you can do so many useful things with an iPad. Sometimes you want an easy way to prop it up to watch a movie. Sometimes you want to hold it in your hands. Sometimes you want to use it in the kitchen. Sometimes you want to type. For the last few weeks I have been trying out an iPad case called the modulR that tries to solve all of these problems at once, and I'm very impressed with the review unit that the company sent me. (I've been using the original iPad to test out modulR, but I'm told that a version for the iPad 2 is in the works.)
The main part of the modulR is a $49 case (with cover) that fits around the back of your iPad. The case is a flexible rubbery plastic that is very easy to put on and to take off of the iPad. It is very thin and adds very little weight, but it does give some added protection to the back of the iPad.
If you want to protect the front, there is a cover that easily snaps on. When attached your iPad is protected from scratches by a hard, thin case.
But the real magic of the modulR is that on the bottom there are four rubbery feet:
With these feet on the iPad you can do all sorts of useful things. If you want to hold the iPad in your hand without fear of it slipping out, you can get the $15 hand strap. You can either attach the strap to two feet on one side, or adjust the strap to go diagonally across the iPad (which is what I find works even better):
There is also a $15 shoulder strap that you attach to two of the feet. With it, you can carry the iPad in its modulR case much like you might carry a small messenger bag. In all candor, when I used the shoulder strap to go home from work one night, I feared that I looked a little silly with an iPad on a strap around my shoulder. But hey, that's just me. Maybe you can pull of the look better than I can.
If you want to prop up your iPad, you can use the $19 Quick Stand, which comes in black, orange, pearl or white. It works in two positions. in one position, the iPad is slightly elevated in the back to make it easier to type. When you flip over the Quick Stand, you can prop up the iPad like this:
I have used lots of different iPad cases to prop up an iPad, and sometimes they are not very sturdy. Just touching the screen can cause the iPad to slip down. The modulR Quick Stand is made of metal and is very strong. Thus, an iPad in a Quick Stand is very sturdy. Note, however, that you can only prop up your iPad in the landscape position; the Quick Stand doesn't give you a way to prop up in the portrait mode.
If you want to place your iPad on a wall like a small flat screen TV, you can purchase the $29 Slim Mount, which also comes in black, orange, pearl or white. This is a strong metal mount that attaches to a wall with four (included) screws. Once the Slim Mount is mounted, you can easily slip your iPad into the Slim Mount using the feet on the back of the modulR and easily slip it back out again. I can imagine someone putting a Slim Mount in their kitchen so that the iPad is on the wall to show recipes or even play a movie or music while the person is cooking.
You can purchase all of these modulR accessories that I've described a la carte, or you can select from several packages such as the Starter Kit 3 for $99 which includes everything that I described above (except that you have a choice of strap; I strongly recommend the hand strap, which I found very useful).
The company plans to add more to the modulR line. As mentioned above, they plan to come out with a new version of the case for the iPad 2. I understand that many people have asked the company to consider a case with a cover attached, instead of the two parts that I reviewed, and the company is considering doing so — perhaps for the iPad 2 case? We'll see. They are also working on a Headrest strap so that you can put the iPad behind your seat for the kids to watch something while you are on a road trip. The company is also working on a swing arm. You can see many of these future products on the modulR website.
If you have a first generation iPad and you are looking for a case with a lot of versatility, I was very impressed with the modulR. You get all of the protection of a standard hard case, plus with the accessories that work with the knob feet you can do a whole lot more. I'm looking forward to seeing what the company comes up with for the iPad 2.
Click here to get the modulR case and related products from the manufacturer's website.
One year ago yesterday, April 3, 2010, the original iPad went on sale. It was a difficult device to define. Was it just a big iPhone? Was it a tablet computer? A netbook competitor? One of the TV commercials that Apple aired in connection with the original iPad was called "What is iPad" and it sought to answer the question of what one might do with an iPad. Here is that commercial, which was narrated by Peter Coyote, a prolific actor with an amazing voice who has been in tons of movies (including E.T.) and television shows (most recently the new Law & Order: Los Angeles):
Now that the iPad has been out for a year, we have a better understanding of what the iPad is. It is a new type of device, a tabula rasa than can do a countless number of different things. In light of the blockbuster iPad sales, other companies are trying to compete by coming out with tablets with different specs. One has a better camera, one has more memory, one has a different size screen, etc. But Apple realizes that the most important aspect of the iPad is to get the hardware out of the way, to be that blank slate on which you can do almost anything. And since Apple has a knack for producing impressive commercials, over this past weekend Apple unveiled a commercial for the iPad 2, again narrated by Peter Coyote, that explains what the iPad is really about:
The videography in the commercial is really beautiful and makes the iPad 2 seem very personal and intimate. When I saw the person playing the virtual guitar in GarageBand, I almost swore that I was watching strings on a real guitar being plucked. But the words are really the star of the commercial. The script is:
This is what we believe.
Technology alone is not enough.
Faster, thinner, lighter ... those are all good things.
But when technology gets out of the way, everything becomes more delightful.
Even magical.
That's when you leap forward.
That's when end up with something like this.
I don't think that this is just commercial hype; I think that this ia how the engineers at Apple really think of the iPad, and this is what makes the iPad such a very special device. This is especially true for the iPad 2. It is noticeably faster than my original iPad, but I notice it not in that particular tasks occur more quickly, but instead in that the entire iPad seems so much responsive to my touch. The technology gets out of the way, and I feel even more like I am directly interacting with the app.
I got an iPad 2 last night (Black, 32GB, Wi-Fi only). They sure are hard to get right now; you have to be lucky to catch an Apple Store when they have one or two in stock. I knew it was going to be thinner and lighter, but I wasn't expecting it to make such a big difference. That is partly because I used a case with my original iPad, and carrying around my original iPad in a case was like carrying a hard cover book. Carrying around the iPad 2 with a Smart Cover is like carrying around a magazine. It is a night and day difference. I'll post more after I have used the iPad 2 for more than just these last few hours, but my inital impression is: wow. Here is the iPhone and iPad news of note from the last week:
I consider my iPhone and my iPad to be an important part of my law practice. I use them both every day. Apparently many doctors are starting to feel the same way, according to a CNBC report that is described by David Winograd of TUAW. I like the article's title: "iPads are becoming as important to doctors as their stethoscopes."
This is really more of a Fourth Amendment issue than an iPhone issue, but Denver attorney Bill Kelly passed along this interesting report by Anita Thompson on the Huffington Post Denver about the Colorado Supreme Court's recent decision that police improperly invaded a man's privacy when they read through the text messages on his lost iPhone and used what they found to get search warrants and ultimately get felony drug charges.
The Paul, Hastings law firm unveiled its iPhone app this week. It is a typical law firm iPhone app with firm bios and news and other information that you would find on its website, but it is nicely done. Click here to download the Paul, Hastings app (free):
On the Lawyer2Laywer podcast that I linked to yesterday, attorney Rick Georges bragged that an advantage of Android is that it is an "open" platform. While I question what difference that really makes for attorneys using smartphones, there was some truth to that when Android debuted. However, Ashlee Vance of Businessweek reports that Google is now retreating from its prior policies of openness.
Also on that podcast, Rick Georges talked about how much he loves his new HTC ThunderBolt phone, especially the fast 4G LTE speeds. If you are interested in learning more about that phone, Jonathan Geller of BGR has a comprehensive review. He concludes that "the sheer thickness and weight" and "the poor battery performance makes it a tough sell," and while the LTE speed is fantastic, "that means nothing if my battery dies after just a few hours of usage."
Tim Chaten of AppAdvice reports on his research into insurance policies that you can purchase for your iPhone and iPad.
David Pogue of the New York Times reports on Amazon's new Cloud Player service. It doesn't work with the iPhone or iPad yet (there are work-arounds, but they are clunky), but many have speculated that Apple is planning to offer a similar service, so it is interesting to see Amazon's approach.
Litigation consultant Ken Broda-Bahm discusses two iPad apps that can help with jury selection, iJuror and Jury Duty.
Attorney Finis Price recently gave a presentation on the use of iPads by lawyers including recommended apps. Ben Stevens of The Mac Lawyer reports on that presentation.
If you would like to read a comprehensive review of the iPad 2, Daniel Eran Dilger wrote one such article for AppleInsider.
I much prefer magazines on the iPad than to reading them on paper. Electronista notes that Popular Science recently announced that it now has over 10,000 iPad subscribers, which sounds like a lot until you realize that they have 1.2 million print subscribers. But hey, you have to start somewhere.
Tom Kaneshige of CIO writes about the use of iPads in large companies.
Debra Cassens Weiss of ABA Journal reports that some federal courts are banning smartphones because of fear that they could be used as bombs. This is unfortunate; I consider my iPhone a critical tool when I am in federal or state court.
Nick Bilton of the New York Times reports that the smartphone market is poised to explode in 2011. Wait... no, he said "soar." Not "explode." Don't tell the federal courts I said "explode."
Last week, I mentioned that Sylvia Hsieh of Lawyers USA interviewed me and other attorneys for her great article on the iPad 2. You can now read that article even if you don't subscribe to Lawyers USA because it was republished by the Wisconsin Law Journal.
Legal consultant (and fellow New Orleanian) Craig Bayer tells me that he is very impressed with miniLaw, a time and expense tracking app for the iPhone that works with the PCLaw accounting software.
The most famous BlackBerry-using attorney in the world — President Obama — confirmed that he owns and uses an iPad, as reported by MacNN. Now that he is using the iPad, can the iPhone be far behind?
If you would like to process credit card payments on your iPhone, you should look into Square. Attorney Jeremy Horwitz of iLounge posts a comprehensive review of the app and hardware accessory.
Attorney Tom Mighell discusses iPads replacing PCs for attorneys on the Attorney at Work blog.
Atorney David Sparks of the MacSparky blog and the MacPowerUsers podcasts discloses the apps on his iPad's home screen in this post at Tablet Legal.
And finally, if you want to keep your iPhone close to you — really close to you — how about underwear that can hold an iPhone? The folks at SCOTTEVEST (the company that makes coats and other apparel with a million pockets to store all of your gadgets) created boxer shorts with a pocket for your iPhone. Get more info here on the company's website, or watch the company's founder and CEO extol the virtues of the product in this video:


text:
Scott McTominay (Lancaster, 1996. december 8.) skót válogatott labdarúgó, az angol Manchester United középpályása.

Pályafutása

Klubcsapatban

Manchester United
McTominay öt évesen lépett be a Manchester United akadémiájába. Pályafutása kezdeti szakaszában csatárt játszott, később Warren Joyce kezdte középpályásként szerepeltetni.  2013 júliusában írta alá első szerződését. A 2013-as és a 2015-ös évek között mindössze hét alkalommal játszott az U18-as csapatban kis termete végett,  majd teljes egészében kihagyta a 2014-15-ös szezont, sérülései miatt. A 2015-16-os szezonban 11 alkalommal szerepelt az U19-es és U21-es csapatokban, a következő szezonban pedig 21 találkozón háromszor volt eredményes.

2017. április 30-án McTominayt nevezték a Swansea City elleni Premier League mérkőzésre. Május 7-én be is mutatkozhatott, csereként állt be az Arsenal elleni bajnokin. Május 21-én, a 2016-17-es szezon utolsó fordulójában kezdőként lépett pályára a Crystal Palace ellen.

A 2017-18-as szezon előtt nevezték a United amerikai turnéjára, július 30-án a Vålerenga Fotball elleni mérkőzésen Paul Pogba helyére állt be az első óra eltelte után, és tíz perccel később csapata harmadik gólját szerezte.

Válogatottban
McTominay Angliában született, de skót származású, és kijelentette, hogy pályafutása során a skót  színeket szeretné képviselni válogatott szinten. A skót ifjúsági válogatottakkal edzőtáborokban vett részt, de még nem lépett pályára egyik korosztályos válogatottban sem. 2018 márciusában bekerült a skót válogatott keretébe, amely Costa Ricával és Magyarországgal játszott felkészülési mérkőzést. Március 23-án Costa Rica ellen bemutatkozott és kezdőként 58 percet játszott.

Statisztika

Klubcsapatban
2023. január 10-én frissítve.

Válogatottban
2022. november 16-án frissítve.

Gólok

Sikerei, díjai
Manchester United
Angol ligakupa: 2022–2023

Egyéni elismerés
 A hónap játékosa (Manchester United):
 2019. szeptember
 2019. október
 Az év játékosa 2019 (Manchester United)

Jegyzetek

Külső hivatkozások
 Profilja a ManUtd.com oldalon

Angol labdarúgók
Skót labdarúgók
Labdarúgó-középpályások
1996-ban született személyek
A Manchester United labdarúgói
A Premier League labdarúgói
A 2020-as Európa-bajnokság labdarúgói
Élő személyek
Angol Ligakupa-győztes labdarúgók

redpajama_set_name: RedPajamaWikipedia


text:
@implementation JWT (VersionThree)
+ (JWTEncodingBuilder *)encodeWithHolders:(NSArray *)holders {
    return [JWTEncodingBuilder createWithHolders:holders];
}
+ (JWTEncodingBuilder *)encodeWithChain:(JWTAlgorithmDataHolderChain *)chain {
    return [JWTEncodingBuilder createWithChain:chain];
}
+ (JWTDecodingBuilder *)decodeWithHolders:(NSArray *)holders {
    return [JWTDecodingBuilder createWithHolders:holders];
}
+ (JWTDecodingBuilder *)decodeWithChain:(JWTAlgorithmDataHolderChain *)chain {
    return [JWTDecodingBuilder createWithChain:chain];
}
@end

@interface JWTCodingBuilder ()
#pragma mark - Internal
@property (strong, nonatomic, readwrite) JWTAlgorithmDataHolderChain *internalChain;
@property (copy, nonatomic, readwrite) NSNumber *internalOptions;

#pragma mark - Fluent
@property (copy, nonatomic, readwrite) JWTCodingBuilder *(^chain)(JWTAlgorithmDataHolderChain *chain);
@property (copy, nonatomic, readwrite) JWTCodingBuilder *(^constructChain)(JWTAlgorithmDataHolderChain *(^block)());
@property (copy, nonatomic, readwrite) JWTCodingBuilder *(^modifyChain)(JWTAlgorithmDataHolderChain *(^block)(JWTAlgorithmDataHolderChain * chain));
@property (copy, nonatomic, readwrite) JWTCodingBuilder *(^options)(NSNumber *options);
@property (copy, nonatomic, readwrite) JWTCodingBuilder *(^addHolder)(id<JWTAlgorithmDataHolderProtocol> holder);
@property (copy, nonatomic, readwrite) JWTCodingBuilder *(^constructHolder)(id<JWTAlgorithmDataHolderProtocol>(^block)(id<JWTAlgorithmDataHolderProtocol> holder));

@end
@interface JWTCodingBuilder (Fluent_Setup)
- (instancetype)chain:(JWTAlgorithmDataHolderChain *)chain;
- (instancetype)options:(NSNumber *)options;
- (instancetype)addHolder:(id<JWTAlgorithmDataHolderProtocol>)holder;
- (void)setupFluent;
@end

@implementation JWTCodingBuilder (Fluent_Setup)
- (instancetype)chain:(JWTAlgorithmDataHolderChain *)chain {
    self.internalChain = chain;
    return self;
}
- (instancetype)options:(NSNumber *)options {
    self.internalOptions = options;
    return self;
}
- (instancetype)addHolder:(id<JWTAlgorithmDataHolderProtocol>)holder {
    self.internalChain = [self.internalChain chainByAppendingHolder:holder];
    return self;
}
- (void)setupFluent {
    __weak typeof(self) weakSelf = self;
    self.chain = ^(JWTAlgorithmDataHolderChain *chain) {
        return [weakSelf chain:chain];
    };

    self.constructChain = ^(JWTAlgorithmDataHolderChain *(^block)()) {
        if (block) {
            JWTAlgorithmDataHolderChain *chain = block();
            return [weakSelf chain:chain];
        }
        return weakSelf;
    };

    self.modifyChain = ^(JWTAlgorithmDataHolderChain *(^block)(JWTAlgorithmDataHolderChain *chain)) {
        if (block) {
            JWTAlgorithmDataHolderChain *chain = block(weakSelf.internalChain);
            return [weakSelf chain:chain];
        }
        return weakSelf;
    };

    self.options = ^(NSNumber *options) {
        return [weakSelf options:options];
    };

    self.addHolder = ^(id<JWTAlgorithmDataHolderProtocol> holder) {
        return [weakSelf addHolder:holder];
    };

    self.constructHolder = ^(id<JWTAlgorithmDataHolderProtocol> (^block)(id<JWTAlgorithmDataHolderProtocol> holder)) {
        if (block) {
            [weakSelf addHolder:block([JWTAlgorithmBaseDataHolder new])];
        }
        return weakSelf;
    };
}
@end

@implementation JWTCodingBuilder
#pragma mark - Getters
// Chain always exists
- (JWTAlgorithmDataHolderChain *)internalChain {
    return _internalChain ?: (_internalChain = [JWTAlgorithmDataHolderChain new], _internalChain);
}
#pragma mark - Create
- (instancetype)initWithChain:(JWTAlgorithmDataHolderChain *)chain {
    if (self = [super init]) {
        self.internalChain = chain;
        [self setupFluent];
    }
    return self;
}
+ (instancetype)createWithHolders:(NSArray *)items {
    return [self createWithChain:[[JWTAlgorithmDataHolderChain alloc] initWithHolders:items]];
}
+ (instancetype)createWithChain:(JWTAlgorithmDataHolderChain *)chain {
    return [[self alloc] initWithChain:chain];
}
+ (instancetype)createWithEmptyChain {
    return [self createWithChain:nil];
}
@end

@implementation JWTCodingBuilder (Sugar)
- (instancetype)and {
    return self;
}
- (instancetype)with {
    return self;
}
@end

@interface JWTEncodingBuilder ()
#pragma mark - Internal
@property (copy, nonatomic, readwrite) NSDictionary *internalPayload;
@property (copy, nonatomic, readwrite) NSDictionary *internalHeaders;
@property (strong, nonatomic, readwrite) JWTClaimsSet *internalClaimsSet;

#pragma mark - Fluent
@property (copy, nonatomic, readwrite) JWTEncodingBuilder *(^payload)(NSDictionary *payload);
@property (copy, nonatomic, readwrite) JWTEncodingBuilder *(^headers)(NSDictionary *headers);
@property (copy, nonatomic, readwrite) JWTEncodingBuilder *(^claimsSet)(JWTClaimsSet *claimsSet);
@end

@interface JWTEncodingBuilder (Fluent_Setup)
- (instancetype)payload:(NSDictionary *)payload;
- (instancetype)headers:(NSDictionary *)headers;
- (instancetype)claimsSet:(JWTClaimsSet *)claimsSet;
@end

@implementation JWTEncodingBuilder (Fluent_Setup)

- (instancetype)payload:(NSDictionary *)payload {
    self.internalPayload = payload;
    return self;
}
- (instancetype)headers:(NSDictionary *)headers {
    self.internalHeaders = headers;
    return self;
}

- (instancetype)claimsSet:(JWTClaimsSet *)claimsSet {
    self.internalClaimsSet = claimsSet;
    return self;
}

- (void)setupFluent {
    [super setupFluent];
    __weak typeof(self) weakSelf = self;
    self.payload = ^(NSDictionary *payload) {
        return [weakSelf payload:payload];
    };
    self.headers = ^(NSDictionary *headers) {
        return [weakSelf headers:headers];
    };
    self.claimsSet = ^(JWTClaimsSet *claimsSet) {
        return [weakSelf claimsSet:claimsSet];
    };
}

@end

@implementation JWTEncodingBuilder
#pragma mark - Getters
- (NSDictionary *)internalPayload {
    return _internalPayload ?: [JWTClaimsSetSerializer dictionaryWithClaimsSet:_internalClaimsSet];
}
#pragma mark - Create
+ (instancetype)encodePayload:(NSDictionary *)payload {
    return ((JWTEncodingBuilder *)[self createWithEmptyChain]).payload(payload);
}
+ (instancetype)encodeClaimsSet:(JWTClaimsSet *)claimsSet {
    return ((JWTEncodingBuilder *)[self createWithEmptyChain]).claimsSet(claimsSet);
}
@end

@implementation JWTEncodingBuilder (Coding)
- (JWTCodingResultType *)encode {

    NSDictionary *headers = self.internalHeaders;
    NSDictionary *payload = self.internalPayload;

    NSString *encodedMessage = nil;
    NSError *error = nil;

    NSArray *holders = self.internalChain.holders;
    // ERROR: HOLDERS ARE EMPTY.
    if (holders.count == 0) {
        error = [JWTErrorDescription errorWithCode:JWTDecodingHoldersChainEmptyError];
    }

    for (id <JWTAlgorithmDataHolderProtocol>holder in holders) {
        id <JWTAlgorithm>algorithm = holder.currentAlgorithm;
        NSData *secretData = holder.currentSecretData;
        encodedMessage = [self encodeWithAlgorithm:algorithm withHeaders:headers withPayload:payload withSecretData:secretData withError:&error];
        if (encodedMessage && (error == nil)) {
            break;
        }
    }

    JWTCodingResultType *result = nil;

    if (error) {
        result = [[JWTCodingResultType alloc] initWithErrorResult:[[JWTCodingResultTypeError alloc] initWithError:error]];
    }
    else if (encodedMessage) {
        result = [[JWTCodingResultType alloc] initWithSuccessResult:[[JWTCodingResultTypeSuccess alloc] initWithEncoded:encodedMessage]];
    }
    else {
        NSLog(@"%@ something went wrong! result is nil!", self.debugDescription);
    }

    return result;
}
- (NSString *)encodeWithAlgorithm:(id<JWTAlgorithm>)theAlgorithm withHeaders:(NSDictionary *)theHeaders withPayload:(NSDictionary *)thePayload withSecretData:(NSData *)theSecretData withError:(NSError *__autoreleasing *)theError {
    // do it!

    if (!theAlgorithm) {
        *theError = [JWTErrorDescription errorWithCode:JWTUnspecifiedAlgorithmError];
        return nil;
    }

    NSString *theAlgorithmName = [theAlgorithm name];

    if (!theAlgorithmName) {
        *theError = [JWTErrorDescription errorWithCode:JWTUnsupportedAlgorithmError];
        return nil;
    }

    NSDictionary *header = @{
                             @"alg": theAlgorithmName,
                             @"typ": @"JWT"
                             };
    NSMutableDictionary *allHeaders = [header mutableCopy];

    if (theHeaders.allKeys.count > 0) {
        [allHeaders addEntriesFromDictionary:theHeaders];
    }

    NSString *headerSegment = [self encodeSegment:[allHeaders copy] withError:nil];

    if (!headerSegment) {
        // encode header segment error
        *theError = [JWTErrorDescription errorWithCode:JWTEncodingHeaderError];
        return nil;
    }

    NSString *payloadSegment = [self encodeSegment:thePayload withError:nil];

    if (!payloadSegment) {
        // encode payment segment error
        *theError = [JWTErrorDescription errorWithCode:JWTEncodingPayloadError];
        return nil;
    }

    NSString *signingInput = [@[headerSegment, payloadSegment] componentsJoinedByString:@"."];

    NSString *signedOutput = nil;

    // this happens somewhere outside.
//    if ([theAlgorithm conformsToProtocol:@protocol(JWTRSAlgorithm)]) {
//        id<JWTRSAlgorithm> jwtRsAlgorithm = (id <JWTRSAlgorithm>) self.jwtAlgorithm;
//        jwtRsAlgorithm.privateKeyCertificatePassphrase = self.jwtPrivateKeyCertificatePassphrase;
//    }

    if (theSecretData && [theAlgorithm respondsToSelector:@selector(encodePayloadData:withSecret:)]) {
        // not sure that it is correct.
        NSData *signedOutputData = [theAlgorithm encodePayloadData:[signingInput dataUsingEncoding:NSUTF8StringEncoding] withSecret:theSecretData];
        signedOutput = [JWTBase64Coder base64UrlEncodedStringWithData:signedOutputData];
    }
    // not used now.
//    else {
//        NSData *signedOutputData = [theAlgorithm encodePayload:signingInput withSecret:self.jwtSecret];
//        signedOutput = [JWTBase64Coder base64UrlEncodedStringWithData:signedOutputData];
//    }

    if (!signedOutput) {
        // Make sure signing worked (e.g. we may have issues extracting the key from the PKCS12 bundle if passphrase is incorrect)
        *theError = [JWTErrorDescription errorWithCode:JWTEncodingSigningError];
        return nil;
    }

    return [@[headerSegment, payloadSegment, signedOutput] componentsJoinedByString:@"."];
}

- (NSString *)encodeSegment:(id)theSegment withError:(NSError *__autoreleasing*)error {
    NSData *encodedSegmentData = nil;

    if (theSegment) {
        encodedSegmentData = [NSJSONSerialization dataWithJSONObject:theSegment options:0 error:error];
    }
    else {
        // error!
        NSError *generatedError = [JWTErrorDescription errorWithCode:JWTInvalidSegmentSerializationError];
        if (error) {
            *error = generatedError;
        }
        NSLog(@"%@ Could not encode segment: %@", self.class, generatedError.localizedDescription);
        return nil;
    }

    NSString *encodedSegment = nil;

    if (encodedSegmentData) {
        encodedSegment = [JWTBase64Coder base64UrlEncodedStringWithData:encodedSegmentData];
    }

    return encodedSegment;
}

- (JWTCodingResultType *)result {
    return self.encode;
}
@end

@interface JWTDecodingBuilder ()
#pragma mark - Internal
@property (copy, nonatomic, readwrite) NSString *internalMessage;
@property (nonatomic, readwrite) JWTClaimsSet *internalClaimsSet;

#pragma mark - Fluent
@property (copy, nonatomic, readwrite) JWTDecodingBuilder *(^message)(NSString *message);
@property (copy, nonatomic, readwrite) JWTDecodingBuilder *(^claimsSet)(JWTClaimsSet *claimsSet);

@end

@interface JWTDecodingBuilder (Fluent_Setup)
- (instancetype)message:(NSString *)message;
- (instancetype)claimsSet:(JWTClaimsSet *)claimsSet;
@end
@implementation JWTDecodingBuilder (Fluent_Setup)
- (instancetype)message:(NSString *)message {
    self.internalMessage = message;
    return self;
}
- (instancetype)claimsSet:(JWTClaimsSet *)claimsSet {
    self.internalClaimsSet = claimsSet;
    return self;
}
- (void)setupFluent {
    [super setupFluent];
    __weak typeof(self) weakSelf = self;
    self.message = ^(NSString *message) {
        return [weakSelf message:message];
    };
    self.claimsSet = ^(JWTClaimsSet *claimsSet) {
        return [weakSelf claimsSet:claimsSet];
    };
}
@end

@implementation JWTDecodingBuilder
#pragma mark - Create
+ (instancetype)decodeMessage:(NSString *)message {
    return ((JWTDecodingBuilder *)[self createWithEmptyChain]).message(message);
}
@end

@implementation JWTDecodingBuilder (Coding)
- (JWTCodingResultType *)decode {
    // do!
    // iterate over items in chain!
    // and return if everything ok!
    // or return error!
    NSError *error = nil;
    NSDictionary *decodedDictionary = nil;
    NSString *message = self.internalMessage;
    NSNumber *options = self.internalOptions;
    NSArray *holders = self.internalChain.holders;
    JWTClaimsSet *claimsSet = self.internalClaimsSet;

    // ERROR: HOLDERS ARE EMPTY.
    if (holders.count == 0) {
        error = [JWTErrorDescription errorWithCode:JWTDecodingHoldersChainEmptyError];
    }

    for (id <JWTAlgorithmDataHolderProtocol>holder in self.internalChain.holders) {
        // try decode!
        id <JWTAlgorithm> algorithm = holder.currentAlgorithm;
        NSData *secretData = holder.currentSecretData;
        // try to retrieve passphrase.
        decodedDictionary = [self decodeMessage:message secretData:secretData algorithm:algorithm options:options error:&error];
        if (decodedDictionary && (error == nil)) {
            break;
        }
    }

    // claimsSet verification.
    JWTCodingResultType *result = nil;
    if (error) {
        return [[JWTCodingResultType alloc] initWithErrorResult:[[JWTCodingResultTypeError alloc] initWithError:error]];
    }

    if (claimsSet) {
        BOOL claimsVerified = [JWTClaimsSetVerifier verifyClaimsSet:[JWTClaimsSetSerializer claimsSetWithDictionary:decodedDictionary[JWTCodingResultPayload]] withTrustedClaimsSet:claimsSet];
        if (!claimsVerified){
            error = [JWTErrorDescription errorWithCode:JWTClaimsSetVerificationFailed];
            return [[JWTCodingResultType alloc] initWithErrorResult:[[JWTCodingResultTypeError alloc] initWithError:error]];
        }
    }

    if (decodedDictionary) {
        NSDictionary *headers = decodedDictionary[JWTCodingResultHeaders];
        NSDictionary *payload = decodedDictionary[JWTCodingResultPayload];
        result = [[JWTCodingResultType alloc] initWithSuccessResult:[[JWTCodingResultTypeSuccess alloc] initWithHeaders:headers withPayload:payload]];
    }
    else {
        NSLog(@"%@ something went wrong! result is nil!", self.debugDescription);
    }

    return result;
}

// Maybe later add algorithmName
- (NSDictionary *)decodeMessage:(NSString *)theMessage secretData:(NSData *)theSecretData algorithm:(id<JWTAlgorithm>)theAlgorithm options:(NSNumber *)theOptions error:(NSError *__autoreleasing *)theError {

    BOOL skipVerification = [theOptions boolValue];
    NSString *theAlgorithmName = [theAlgorithm name];

    NSArray *parts = [theMessage componentsSeparatedByString:@"."];

    if (parts.count < 3) {
        // generate error?
        *theError = [JWTErrorDescription errorWithCode:JWTInvalidFormatError];
        return nil;
    }

    NSString *headerPart = parts[0];
    NSString *payloadPart = parts[1];
    NSString *signedPart = parts[2];

    // decode headerPart
    NSError *jsonError = nil;
    NSData *headerData = [JWTBase64Coder dataWithBase64UrlEncodedString:headerPart];
    id headerJSON = [NSJSONSerialization JSONObjectWithData:headerData
                                                    options:0
                                                      error:&jsonError];
    if (jsonError) {
        *theError = [JWTErrorDescription errorWithCode:JWTDecodingHeaderError];
        return nil;
    }
    NSDictionary *header = (NSDictionary *)headerJSON;
    if (!header) {
        *theError = [JWTErrorDescription errorWithCode:JWTNoHeaderError];
        return nil;
    }

    if (!skipVerification) {
        // find algorithm

        //It is insecure to trust the header's value for the algorithm, since
        //the signature hasn't been verified yet, so an algorithm must be provided
        if (!theAlgorithmName) {
            *theError = [JWTErrorDescription errorWithCode:JWTUnspecifiedAlgorithmError];
            return nil;
        }

        NSString *headerAlgorithmName = header[@"alg"];

        //If the algorithm in the header doesn't match what's expected, verification fails
        if (![theAlgorithmName isEqualToString:headerAlgorithmName]) {
            *theError = [JWTErrorDescription errorWithCode:JWTAlgorithmNameMismatchError];
            return nil;
        }

        id<JWTAlgorithm> algorithm = [JWTAlgorithmFactory algorithmByName:theAlgorithmName];

        if (!algorithm) {
            *theError = [JWTErrorDescription errorWithCode:JWTUnsupportedAlgorithmError];
            return nil;
        }

        // Verify the signed part
        NSString *signingInput = [@[headerPart, payloadPart] componentsJoinedByString:@"."];
        BOOL signatureValid = NO;

        if (theSecretData && [algorithm respondsToSelector:@selector(verifySignedInput:withSignature:verificationKeyData:)]) {
            signatureValid = [algorithm verifySignedInput:signingInput withSignature:signedPart verificationKeyData:theSecretData];

            // Not used now.
//        } else {
//            signatureValid = [algorithm verifySignedInput:signingInput withSignature:signedPart verificationKey:theSecret];
        }

        if (!signatureValid) {
            *theError = [JWTErrorDescription errorWithCode:JWTInvalidSignatureError];
            return nil;
        }
    }

    // and decode payload
    jsonError = nil;
    NSData *payloadData = [JWTBase64Coder dataWithBase64UrlEncodedString:payloadPart];
    id payloadJSON = [NSJSONSerialization JSONObjectWithData:payloadData
                                                     options:0
                                                       error:&jsonError];
    if (jsonError) {
        *theError = [JWTErrorDescription errorWithCode:JWTDecodingPayloadError];
        return nil;
    }
    NSDictionary *payload = (NSDictionary *)payloadJSON;

    if (!payload) {
        *theError = [JWTErrorDescription errorWithCode:JWTNoPayloadError];
        return nil;
    }

    NSDictionary *result = @{
                             JWTCodingResultHeaders : header,
                             JWTCodingResultPayload : payload
                             };

    return result;
}

- (JWTCodingResultType *)result {
    return self.decode;
}
@end

redpajama_set_name: RedPajamaGithub


text:
Contact Us for a Case Evaluation Tap Here To Call Us
24 Hour: 515-966-5291
Articles and Decisions
Published By Law Office of Zachary Margulis-Ohnuma
New York 212-685-0999 24 Hour 515-966-5291
Zachary Margulis-Ohnuma's cases are regularly written about in the New York Times, the Daily News, the New York Post, the Wall Street Journal and other publications. In addition, Mr. Margulis-Ohnuma occasionally publishes articles in the press about legal issues. Judges often write opinions based on our advocacy. The following is a selection of articles and published cases in which we participated or our work is cited. This material is provided to help give a sense of the kind of work we do. Please feel free to contact us if you have questions about any of these cases.
Home Articles Uncategorized Zachary Margulis-Ohnuma and Daniel McGuinness File Lawsuit On Behalf of Mentally Ill Bronx Man Fatally Shot in His Own Apartment By Police
Zachary Margulis-Ohnuma and Daniel McGuinness File Lawsuit On Behalf of Mentally Ill Bronx Man Fatally Shot in His Own Apartment By Police
December 5, 2018 | by Victoria Medley
Family of Bronx Man Shot By Police Sue for Wrongful Death
by Victoria Medley
"I will be absolutely, completely free"
There were 912,643 people on the U.S. Sex Offender Registry last year. Now? Nobody knows.
Book Review of Preet Bharara's Doing Justice Now Available Online
We serve the following localities: New York City including New York County, Bronx County, Kings County, and Queens County; and Westchester County. View More
Copyright © 2020, Law Office of Zachary Margulis-Ohnuma

redpajama_set_name: RedPajamaCommonCrawl


text:
»New York Jets»Jets Name John Idzik General Manager
Jets Name John Idzik General Manager
Posted by Stacy Podelski on January 19, 2013 in New York Jets, New York Sports, NFL
The New York Jets announced on Saturday that John Idzik is now the General Manager of the team. This announcement has been made by Chairman & CEO Woody Johnson.
"After a thorough search in which we met many qualified and outstanding candidates, it was clear to me that John was the right choice," said Johnson. "During his two decades in the NFL, John helped build a Super Bowl championship team in Tampa Bay, an NFC championship team in Arizona and, most recently, a team in Seattle that narrowly missed reaching the NFC championship game. John has seen first-hand what's necessary to construct a winning team and has worked with some of the most innovative and successful coaches in the NFL, including Pete Carroll, Tony Dungy, Dennis Green, Jon Gruden and Mike Holmgren. Drawing on 20 years of NFL experience, John, working with Rex, will get the Jets where all of us want to be."
Idzik has spent the past six seasons as the vice president of football administration with the Seattle Seahawks. There he was actively involved in player evaluations and player negotiations among other responsibilities. Prior to joining the Seahawks, Idzik spent three seasons as Senior Director of Football Operations for the Arizona Cardinals, helping to build an NFC Championship team.
"I am honored and extremely excited to be joining the New York Jets," said Idzik. "It has been very enlightening getting to know Mr. Woody Johnson, Rex Ryan and Neil Glat and I am very grateful for them making me feel very welcomed as a member of the Jets family. I am eager to get started building on the foundation that is already in place."
Tags: Dennis Green, Jets, Jets name new General Manager, John Idzik, New York Jets, NFL, Seattle Seahawks, Woody Johnson Permalink
← New York Rangers vs. Bruins Notes 1/18/13
1495 Sports Photo Gallery: Hofstra WBB Special Olympics Clinic →


text:
Q: PHP input to JSON file and JSON file to PHP output Can anyone please shows me how to get the input of PHP to JSON file (.json) and read data from JSON file and display in PHP (Echo).
for example:
$myObj->name = "John";
$myObj->age= 20;

to result.json
{"name":"John","Age":20}

and retrieve from result.json and display data in PHP as
name=John
Age=20

A: To convert the object to json use this:
$json = json_encode($myObj);

See the json_encode docs.
To return it back to the format you want try this...
$obj = json_decode($json);

$name = $obj->name;  // John
$age = $obj->age; // 20

See the json_decode docs.
To iterate over keys and values do something like this:
foreach($obj as $key=>$value)
{

    echo $key . " = " . $value . "\n";

}

A: json_encode() is used for encoding PHP data into a JSON format and json_decode() is used to decode JSON into a PHP data
json_encode documentation:
http://php.net/manual/en/function.json-encode.php
json_decode documentation
http://php.net/manual/en/function.json-decode.php

A: if you are having an php array you can convert it into json.
$json_string = json_encode($array);

and write this into a json file.
$fp = fopen('results.json', 'w');
fwrite($fp, json_string);
fclose($fp);

now convert your json string which is in results.json to array.
$str = file_get_contents('./results.json');
$array = json_decode($str, true); // decode the JSON into an associative array

redpajama_set_name: RedPajamaStackExchange


text:
Aaron Fa'Aoso in a scene from the documentary TV series Blue Water Empire. ABC-TV
Passion project's long journey to the screen
by Seanna Cronin
26th Jun 2019 3:30 PM
ON THE other side of the world, thousands of kilometres from his family's native lands, Aaron Fa'Aoso had a light-bulb moment.
The actor, best known for his roles in The Straits, East West 101 and Black Comedy, decided to make a documentary series about the unique history and culture of the Torres Straits. Now, six years later, his passion project Blue Water Empire has finally come to the screen.
"It was 2013 and I was filming a series over in Munich, Germany and I was just inspired to write," he says.
"I got this idea to do a documentary on the Torres Straits. There had never been one, and over the course of two to three days I didn't leave the apartment. I wrote the treatment and then I sent it off to the ABC, and they got back to me pretty quickly.
"I don't know what was going on. Something dropped in from the ether and I just went for it."
The three-part drama documentary, which debuted last night, spans the past 300 years from pre-colonial through to contemporary times.
Jeremy Lindsay Taylor as Captain Lewis in a scene from Blue Water Empire. ABC-TV
Key stories told by men and women of the region are brought to life by dramatic re-enactments from an all-star cast including Fa'Aoso, Jimi Bani, Ryan Corr, Damian Walshe-Howling, Roy Billing, Geoff Morrell, Jeremy Lindsay Taylor, Peter Phelps, Merwez Whaleboat, Robert Mammone and Damian de Montemas.
Making the series was a learning experience for Fa'Aoso, a descendant of the Samu and Keodal clans of Saibai Island who grew up in Cairns.
"Unearthing all this history made me realise there was some I'd known about, but when we really immersed ourselves in the events and characters it was just mind blowing," he says.
"It gave me a real sense of pride, and also made me realise why I am the way that I am. My people have always been fighting for social justice, whether it was for better wages, housing or education. We've never stepped back. Being one of Australia's first nations people, it's important for my people to be acknowledged for our history."
Jimi Bani, right, as Kebisu in a scene from Blue Water Empire. ABC-TV
Set to a soundtrack composed by Will Kepa, the series explores how Torres Strait Islanders have sustained their cultural heritage throughout the impact of 200 years of European settlement and kept traditions alive in modern life.
"There's a repatriation of language and culture occurring amongst my generation and the younger generation," Fa'Aoso says. "Those elders who are still alive are passing on the culture and the language, and there is a merger there of the modern and contemporary and the traditional.
"The impact of social media in Western society is indiscriminate, and we have felt the impact of modern society and Western ways. However the fact that we still remain in our own sea country and our own islands - that connection still remains.
"Torres Strait Islanders are natural entrepreneurs - that's all part of growing up on an island. You've got to be able to negotiate, strategise and create alliances. We are natural-born diplomats."
The series will also serve as a record to preserve stories for future generations.
"It's never been about me; it's been about my people and the contribution we've made to this country," he says.
"We could only tell so much over three hours, so my hope is it stimulates and inspires future Torres Strait Islanders and aboriginal filmmakers to tell their own stories and their own history."
Blue Water Empire airs Tuesdays at 8.30pm on ABC-TV.
aaron faaoso abc-tv blue water empire documentary history television torres strait torres strait islander
Crime The man avoided a jail term thanks to one saving feature
News Country University centre on track to open for second semester
News Firearms registry cops criticism for poor service
premium_icon Local renters go without food to stay in homes
News Charity organisation campaigning for housing reform, seeking donations for winter appeal